From 01200ee0f2688ab669edef0f1822edbade5a72ea Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Mon, 5 Jan 2026 22:58:32 -0800 Subject: [PATCH] Run dist while here --- dist/css/bootstrap-grid.css | 26 +- dist/css/bootstrap-grid.css.map | 2 +- dist/css/bootstrap-grid.min.css | 2 +- dist/css/bootstrap-grid.min.css.map | 2 +- dist/css/bootstrap-reboot.css | 51 +- dist/css/bootstrap-reboot.css.map | 2 +- dist/css/bootstrap-reboot.min.css | 2 +- dist/css/bootstrap-reboot.min.css.map | 2 +- dist/css/bootstrap-utilities.css | 219 +-- dist/css/bootstrap-utilities.css.map | 2 +- dist/css/bootstrap-utilities.min.css | 2 +- dist/css/bootstrap-utilities.min.css.map | 2 +- dist/css/bootstrap.css | 1494 ++++++++++----- dist/css/bootstrap.css.map | 2 +- dist/css/bootstrap.min.css | 2 +- dist/css/bootstrap.min.css.map | 2 +- dist/js/bootstrap.bundle.js | 1972 +++++++++++++++++--- dist/js/bootstrap.bundle.js.map | 2 +- dist/js/bootstrap.bundle.min.js | 6 +- dist/js/bootstrap.bundle.min.js.map | 2 +- dist/js/bootstrap.esm.js | 2142 +++++++++++++++++---- dist/js/bootstrap.esm.js.map | 2 +- dist/js/bootstrap.esm.min.js | 4 +- dist/js/bootstrap.esm.min.js.map | 2 +- dist/js/bootstrap.js | 2151 ++++++++++++++++++---- dist/js/bootstrap.js.map | 2 +- dist/js/bootstrap.min.js | 4 +- dist/js/bootstrap.min.js.map | 2 +- js/dist/alert.js | 2 +- js/dist/base-component.js | 2 +- js/dist/button.js | 2 +- js/dist/carousel.js | 2 +- js/dist/collapse.js | 2 +- js/dist/datepicker.js | 443 +++++ js/dist/datepicker.js.map | 1 + js/dist/dialog.js | 2 +- js/dist/dom/data.js | 2 +- js/dist/dom/event-handler.js | 2 +- js/dist/dom/manipulator.js | 2 +- js/dist/dom/selector-engine.js | 2 +- js/dist/dropdown.js | 521 +++++- js/dist/dropdown.js.map | 2 +- js/dist/offcanvas.js | 2 +- js/dist/otp-input.js | 238 +++ js/dist/otp-input.js.map | 1 + js/dist/popover.js | 2 +- js/dist/scrollspy.js | 2 +- js/dist/strength.js | 245 +++ js/dist/strength.js.map | 1 + js/dist/tab.js | 2 +- js/dist/toast.js | 2 +- js/dist/toggler.js | 98 + js/dist/toggler.js.map | 1 + js/dist/tooltip.js | 2 +- js/dist/util/backdrop.js | 2 +- js/dist/util/component-functions.js | 31 +- js/dist/util/component-functions.js.map | 2 +- js/dist/util/config.js | 2 +- js/dist/util/floating-ui.js | 2 +- js/dist/util/focustrap.js | 2 +- js/dist/util/index.js | 2 +- js/dist/util/sanitizer.js | 2 +- js/dist/util/scrollbar.js | 2 +- js/dist/util/swipe.js | 2 +- js/dist/util/template-factory.js | 2 +- 65 files changed, 8001 insertions(+), 1738 deletions(-) create mode 100644 js/dist/datepicker.js create mode 100644 js/dist/datepicker.js.map create mode 100644 js/dist/otp-input.js create mode 100644 js/dist/otp-input.js.map create mode 100644 js/dist/strength.js create mode 100644 js/dist/strength.js.map create mode 100644 js/dist/toggler.js create mode 100644 js/dist/toggler.js.map diff --git a/dist/css/bootstrap-grid.css b/dist/css/bootstrap-grid.css index e3066ca086..6570187087 100644 --- a/dist/css/bootstrap-grid.css +++ b/dist/css/bootstrap-grid.css @@ -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)); diff --git a/dist/css/bootstrap-grid.css.map b/dist/css/bootstrap-grid.css.map index 303027c4a9..155c6035be 100644 --- a/dist/css/bootstrap-grid.css.map +++ b/dist/css/bootstrap-grid.css.map @@ -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 diff --git a/dist/css/bootstrap-grid.min.css b/dist/css/bootstrap-grid.min.css index e372790091..2a8dd70614 100644 --- a/dist/css/bootstrap-grid.min.css +++ b/dist/css/bootstrap-grid.min.css @@ -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 diff --git a/dist/css/bootstrap-grid.min.css.map b/dist/css/bootstrap-grid.min.css.map index bfb9c5ee8b..1f2a102c24 100644 --- a/dist/css/bootstrap-grid.min.css.map +++ b/dist/css/bootstrap-grid.min.css.map @@ -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":"AAEA;;;;ACuCA,MAEI,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,uBACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDAZA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,uBACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDAZA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,uBACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDAZA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,uBACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDAZA,cAAA,kDACA,cAAA,kDACA,cAAA,kDACA,cAAA,kDACA,cAAA,kDACA,cAAA,kDACA,cAAA,qBACA,cAAA,kDACA,cAAA,kDACA,cAAA,kDACA,cAAA,kDACA,cAAA,kDACA,cAAA,kDAZA,aAAA,mDACA,aAAA,mDACA,aAAA,mDACA,aAAA,mDACA,aAAA,mDACA,aAAA,mDACA,aAAA,sBACA,aAAA,mDACA,aAAA,mDACA,aAAA,mDACA,aAAA,mDACA,aAAA,mDACA,aAAA,mDAZA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,sBACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDAZA,eAAA,kDACA,eAAA,kDACA,eAAA,kDACA,eAAA,kDACA,eAAA,kDACA,eAAA,kDACA,eAAA,qBACA,eAAA,kDACA,eAAA,kDACA,eAAA,kDACA,eAAA,kDACA,eAAA,kDACA,eAAA,kDAZA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,sBACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDACA,gBAAA,mDAZA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,uBACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDAZA,eAAA,oDACA,eAAA,oDACA,eAAA,oDACA,eAAA,oDACA,eAAA,oDACA,eAAA,oDACA,eAAA,uBACA,eAAA,oDACA,eAAA,oDACA,eAAA,oDACA,eAAA,oDACA,eAAA,oDACA,eAAA,oDAZA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,uBACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDAZA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,uBACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDAZA,eAAA,mDACA,eAAA,mDACA,eAAA,mDACA,eAAA,mDACA,eAAA,mDACA,eAAA,mDACA,eAAA,sBACA,eAAA,mDACA,eAAA,mDACA,eAAA,mDACA,eAAA,mDACA,eAAA,mDACA,eAAA,mDAZA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,uBACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDACA,cAAA,oDAZA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,uBACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDACA,gBAAA,oDCjBA,eAEI,gBAAA,uBAAA,gBAAA,uBAAA,yBAAA,gCAAA,cAAA,qBAAA,qBAAA,4BAAA,oBAAA,2BAAA,kBAAA,yBAAA,sBAAA,6BAAA,oBAAA,2BAFJ,cAEI,gBAAA,sBAAA,gBAAA,sBAAA,yBAAA,+BAAA,cAAA,oBAAA,qBAAA,2BAAA,oBAAA,0BAAA,kBAAA,wBAAA,sBAAA,4BAAA,oBAAA,0BAFJ,eAEI,gBAAA,uBAAA,gBAAA,uBAAA,yBAAA,gCAAA,cAAA,qBAAA,qBAAA,4BAAA,oBAAA,2BAAA,kBAAA,yBAAA,sBAAA,6BAAA,oBAAA,2BAFJ,cAEI,gBAAA,sBAAA,gBAAA,sBAAA,yBAAA,+BAAA,cAAA,oBAAA,qBAAA,2BAAA,oBAAA,0BAAA,kBAAA,wBAAA,sBAAA,4BAAA,oBAAA,0BAFJ,eAEI,gBAAA,uBAAA,gBAAA,uBAAA,yBAAA,gCAAA,cAAA,qBAAA,qBAAA,4BAAA,oBAAA,2BAAA,kBAAA,yBAAA,sBAAA,6BAAA,oBAAA,2BAFJ,YAEI,gBAAA,oBAAA,gBAAA,oBAAA,yBAAA,6BAAA,cAAA,kBAAA,qBAAA,yBAAA,oBAAA,wBAAA,kBAAA,sBAAA,sBAAA,0BAAA,oBAAA,wBAFJ,eAEI,gBAAA,uBAAA,gBAAA,uBAAA,yBAAA,gCAAA,cAAA,qBAAA,qBAAA,4BAAA,oBAAA,2BAAA,kBAAA,yBAAA,sBAAA,6BAAA,oBAAA,2BAFJ,iBAEI,gBAAA,yBAAA,gBAAA,yBAAA,yBAAA,kCAAA,cAAA,uBAAA,qBAAA,8BAAA,oBAAA,6BAAA,kBAAA,2BAAA,sBAAA,+BAAA,oBAAA,6BCxBR,cAGI,WCwSF,eADA,iBAGA,cACA,cACA,cAHA,cDnTA,cAAA,OACA,cAAA,EACA,MAAA,KACA,eAAA,+BACA,cAAA,KEuDE,wBFpCI,WAAA,cACE,UAAA,OEmCN,wBFpCI,WAAA,cAAA,cACE,UAAA,OEmCN,yBFpCI,WAAA,cAAA,cAAA,cACE,UAAA,OEmCN,yBFpCI,WAAA,cAAA,cAAA,cAAA,cACE,UAAA,QEmCN,yBFpCI,WAAA,eAAA,cAAA,cAAA,cAAA,cACE,UAAA,SGzBV,MAEI,mBAAA,EAAA,mBAAA,MAAA,mBAAA,MAAA,mBAAA,OAAA,mBAAA,OAAA,oBAAA,OAIJ,cAEI,KCLF,cAAA,OACA,cAAA,EACA,QAAA,KACA,UAAA,KAEA,cAAA,gCACA,WAAA,8BDEI,OCOJ,YAAA,EACA,MAAA,KACA,UAAA,KACA,eAAA,+BACA,WAAA,mBA+CI,KACE,KAAA,EAAA,EAAA,EAGF,iBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,cACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,UAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,cA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,QAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,QAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,QAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,UAxDV,oBAAA,cAwDU,UAxDV,oBAAA,eAwDU,UAxDV,oBAAA,IAwDU,UAxDV,oBAAA,eAwDU,UAxDV,oBAAA,eAwDU,UAxDV,oBAAA,IAwDU,UAxDV,oBAAA,eAwDU,UAxDV,oBAAA,eAwDU,UAxDV,oBAAA,IAwDU,WAxDV,oBAAA,eAwDU,WAxDV,oBAAA,eAmEM,KHwXN,MGtXQ,cAAA,EAGF,KHuXN,MGrXQ,cAAA,EAPF,KHgYN,MG9XQ,cAAA,QAGF,KH+XN,MG7XQ,cAAA,QAPF,KHwYN,MGtYQ,cAAA,OAGF,KHuYN,MGrYQ,cAAA,OAPF,KHgZN,MG9YQ,cAAA,KAGF,KH+YN,MG7YQ,cAAA,KAPF,KHwZN,MGtZQ,cAAA,OAGF,KHuZN,MGrZQ,cAAA,OAPF,KHgaN,MG9ZQ,cAAA,KAGF,KH+ZN,MG7ZQ,cAAA,KFzDN,wBESE,QACE,KAAA,EAAA,EAAA,EAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,cA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,oBAAA,EAwDU,aAxDV,oBAAA,cAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,cAxDV,oBAAA,eAwDU,cAxDV,oBAAA,eAmEM,QHgiBJ,SG9hBM,cAAA,EAGF,QH+hBJ,SG7hBM,cAAA,EAPF,QHwiBJ,SGtiBM,cAAA,QAGF,QHuiBJ,SGriBM,cAAA,QAPF,QHgjBJ,SG9iBM,cAAA,OAGF,QH+iBJ,SG7iBM,cAAA,OAPF,QHwjBJ,SGtjBM,cAAA,KAGF,QHujBJ,SGrjBM,cAAA,KAPF,QHgkBJ,SG9jBM,cAAA,OAGF,QH+jBJ,SG7jBM,cAAA,OAPF,QHwkBJ,SGtkBM,cAAA,KAGF,QHukBJ,SGrkBM,cAAA,MFzDN,wBESE,QACE,KAAA,EAAA,EAAA,EAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,cA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,oBAAA,EAwDU,aAxDV,oBAAA,cAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,cAxDV,oBAAA,eAwDU,cAxDV,oBAAA,eAmEM,QHysBJ,SGvsBM,cAAA,EAGF,QHwsBJ,SGtsBM,cAAA,EAPF,QHitBJ,SG/sBM,cAAA,QAGF,QHgtBJ,SG9sBM,cAAA,QAPF,QHytBJ,SGvtBM,cAAA,OAGF,QHwtBJ,SGttBM,cAAA,OAPF,QHiuBJ,SG/tBM,cAAA,KAGF,QHguBJ,SG9tBM,cAAA,KAPF,QHyuBJ,SGvuBM,cAAA,OAGF,QHwuBJ,SGtuBM,cAAA,OAPF,QHivBJ,SG/uBM,cAAA,KAGF,QHgvBJ,SG9uBM,cAAA,MFzDN,yBESE,QACE,KAAA,EAAA,EAAA,EAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,cA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,oBAAA,EAwDU,aAxDV,oBAAA,cAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,cAxDV,oBAAA,eAwDU,cAxDV,oBAAA,eAmEM,QHk3BJ,SGh3BM,cAAA,EAGF,QHi3BJ,SG/2BM,cAAA,EAPF,QH03BJ,SGx3BM,cAAA,QAGF,QHy3BJ,SGv3BM,cAAA,QAPF,QHk4BJ,SGh4BM,cAAA,OAGF,QHi4BJ,SG/3BM,cAAA,OAPF,QH04BJ,SGx4BM,cAAA,KAGF,QHy4BJ,SGv4BM,cAAA,KAPF,QHk5BJ,SGh5BM,cAAA,OAGF,QHi5BJ,SG/4BM,cAAA,OAPF,QH05BJ,SGx5BM,cAAA,KAGF,QHy5BJ,SGv5BM,cAAA,MFzDN,yBESE,QACE,KAAA,EAAA,EAAA,EAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,cA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,oBAAA,EAwDU,aAxDV,oBAAA,cAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,eAwDU,aAxDV,oBAAA,IAwDU,cAxDV,oBAAA,eAwDU,cAxDV,oBAAA,eAmEM,QH2hCJ,SGzhCM,cAAA,EAGF,QH0hCJ,SGxhCM,cAAA,EAPF,QHmiCJ,SGjiCM,cAAA,QAGF,QHkiCJ,SGhiCM,cAAA,QAPF,QH2iCJ,SGziCM,cAAA,OAGF,QH0iCJ,SGxiCM,cAAA,OAPF,QHmjCJ,SGjjCM,cAAA,KAGF,QHkjCJ,SGhjCM,cAAA,KAPF,QH2jCJ,SGzjCM,cAAA,OAGF,QH0jCJ,SGxjCM,cAAA,OAPF,QHmkCJ,SGjkCM,cAAA,KAGF,QHkkCJ,SGhkCM,cAAA,MFzDN,yBESE,SACE,KAAA,EAAA,EAAA,EAGF,qBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,cAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,cA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,YAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,YAhEN,KAAA,EAAA,EAAA,KACA,MAAA,eA+DM,YAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,cAxDV,oBAAA,EAwDU,cAxDV,oBAAA,cAwDU,cAxDV,oBAAA,eAwDU,cAxDV,oBAAA,IAwDU,cAxDV,oBAAA,eAwDU,cAxDV,oBAAA,eAwDU,cAxDV,oBAAA,IAwDU,cAxDV,oBAAA,eAwDU,cAxDV,oBAAA,eAwDU,cAxDV,oBAAA,IAwDU,eAxDV,oBAAA,eAwDU,eAxDV,oBAAA,eAmEM,SHosCJ,UGlsCM,cAAA,EAGF,SHmsCJ,UGjsCM,cAAA,EAPF,SH4sCJ,UG1sCM,cAAA,QAGF,SH2sCJ,UGzsCM,cAAA,QAPF,SHotCJ,UGltCM,cAAA,OAGF,SHmtCJ,UGjtCM,cAAA,OAPF,SH4tCJ,UG1tCM,cAAA,KAGF,SH2tCJ,UGztCM,cAAA,KAPF,SHouCJ,UGluCM,cAAA,OAGF,SHmuCJ,UGjuCM,cAAA,OAPF,SH4uCJ,UG1uCM,cAAA,KAGF,SH2uCJ,UGzuCM,cAAA,MDjGN,MACE,aAAA,GACA,UAAA,EACA,SAAA,OAEA,QAAA,KACA,mBAAA,2BACA,sBAAA,8BACA,IAAA,cCuGI,SACE,YAAA,IAAA,CAAA,KAAA,EADF,SACE,YAAA,IAAA,CAAA,KAAA,EADF,SACE,YAAA,IAAA,CAAA,KAAA,EADF,SACE,YAAA,IAAA,CAAA,KAAA,EADF,SACE,YAAA,IAAA,CAAA,KAAA,EADF,SACE,YAAA,IAAA,CAAA,KAAA,EADF,SACE,YAAA,IAAA,CAAA,KAAA,EADF,SACE,YAAA,IAAA,CAAA,KAAA,EADF,SACE,YAAA,IAAA,CAAA,KAAA,EADF,UACE,YAAA,IAAA,CAAA,KAAA,GADF,UACE,YAAA,IAAA,CAAA,KAAA,GADF,UACE,YAAA,IAAA,CAAA,KAAA,GAOF,WACE,kBAAA,EADF,WACE,kBAAA,EADF,WACE,kBAAA,EADF,WACE,kBAAA,EADF,WACE,kBAAA,EADF,WACE,kBAAA,EADF,WACE,kBAAA,EADF,WACE,kBAAA,EADF,WACE,kBAAA,EADF,YACE,kBAAA,GADF,YACE,kBAAA,GFhFR,wBEuEM,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,GADF,aACE,YAAA,IAAA,CAAA,KAAA,GADF,aACE,YAAA,IAAA,CAAA,KAAA,GAOF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,eACE,kBAAA,GADF,eACE,kBAAA,IFhFR,wBEuEM,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,GADF,aACE,YAAA,IAAA,CAAA,KAAA,GADF,aACE,YAAA,IAAA,CAAA,KAAA,GAOF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,eACE,kBAAA,GADF,eACE,kBAAA,IFhFR,yBEuEM,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,GADF,aACE,YAAA,IAAA,CAAA,KAAA,GADF,aACE,YAAA,IAAA,CAAA,KAAA,GAOF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,eACE,kBAAA,GADF,eACE,kBAAA,IFhFR,yBEuEM,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,YACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,GADF,aACE,YAAA,IAAA,CAAA,KAAA,GADF,aACE,YAAA,IAAA,CAAA,KAAA,GAOF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,cACE,kBAAA,EADF,eACE,kBAAA,GADF,eACE,kBAAA,IFhFR,yBEuEM,aACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,EADF,aACE,YAAA,IAAA,CAAA,KAAA,EADF,cACE,YAAA,IAAA,CAAA,KAAA,GADF,cACE,YAAA,IAAA,CAAA,KAAA,GADF,cACE,YAAA,IAAA,CAAA,KAAA,GAOF,eACE,kBAAA,EADF,eACE,kBAAA,EADF,eACE,kBAAA,EADF,eACE,kBAAA,EADF,eACE,kBAAA,EADF,eACE,kBAAA,EADF,eACE,kBAAA,EADF,eACE,kBAAA,EADF,eACE,kBAAA,EADF,gBACE,kBAAA,GADF,gBACE,kBAAA,IDxGV,mBACE,sBAAA,QAGF,WACE,SAAA,OAEA,QAAA,KACA,sBAAA,+BACA,eAAA,IACA,IAAA,eE9CJ,iBC0JI,UApFI,QAAA,OAoFJ,gBApFI,QAAA,aAoFJ,SApFI,QAAA,MAoFJ,QApFI,QAAA,KAoFJ,eApFI,QAAA,YAoFJ,SApFI,QAAA,MAoFJ,aApFI,QAAA,UAoFJ,cApFI,QAAA,WAoFJ,QApFI,QAAA,KAoFJ,eApFI,QAAA,YAoFJ,YApFI,QAAA,SAoFJ,aApFI,QAAA,UAoFJ,QApFI,QAAA,KAoFJ,WApFI,KAAA,EAAA,EAAA,KAoFJ,UApFI,eAAA,IAoFJ,aApFI,eAAA,OAoFJ,kBApFI,eAAA,YAoFJ,qBApFI,eAAA,eAoFJ,aApFI,UAAA,EAoFJ,aApFI,UAAA,EAoFJ,eApFI,YAAA,EAoFJ,eApFI,YAAA,EAoFJ,WApFI,UAAA,KAoFJ,aApFI,UAAA,OAoFJ,mBApFI,UAAA,aAoFJ,uBApFI,gBAAA,WAoFJ,qBApFI,gBAAA,SAoFJ,wBApFI,gBAAA,OAoFJ,yBApFI,gBAAA,cAoFJ,wBApFI,gBAAA,aAoFJ,wBApFI,gBAAA,aAoFJ,qBApFI,cAAA,MAoFJ,mBApFI,cAAA,IAoFJ,sBApFI,cAAA,OAoFJ,uBApFI,cAAA,QAoFJ,mBApFI,YAAA,WAoFJ,iBApFI,YAAA,SAoFJ,oBApFI,YAAA,OAoFJ,sBApFI,YAAA,SAoFJ,qBApFI,YAAA,QAoFJ,qBApFI,cAAA,WAoFJ,mBApFI,cAAA,SAoFJ,sBApFI,cAAA,OAoFJ,uBApFI,cAAA,cAoFJ,sBApFI,cAAA,aAoFJ,uBApFI,cAAA,QAoFJ,iBApFI,WAAA,KAoFJ,kBApFI,WAAA,WAoFJ,gBApFI,WAAA,SAoFJ,mBApFI,WAAA,OAoFJ,qBApFI,WAAA,SAoFJ,oBApFI,WAAA,QAoFJ,mBApFI,YAAA,MAoFJ,iBApFI,YAAA,IAoFJ,oBApFI,YAAA,OAoFJ,qBApFI,YAAA,QAoFJ,aApFI,MAAA,GAoFJ,SApFI,MAAA,EAoFJ,SApFI,MAAA,EAoFJ,SApFI,MAAA,EAoFJ,SApFI,MAAA,EAoFJ,SApFI,MAAA,EAoFJ,SApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,KApFI,OAAA,EAoFJ,KApFI,OAAA,OAoFJ,KApFI,OAAA,MAoFJ,KApFI,OAAA,KAoFJ,KApFI,OAAA,OAoFJ,KApFI,OAAA,KAoFJ,QApFI,OAAA,KAoFJ,MApFI,cAAA,EAoFJ,MApFI,cAAA,QAoFJ,MApFI,cAAA,OAoFJ,MApFI,cAAA,KAoFJ,MApFI,cAAA,OAoFJ,MApFI,cAAA,KAoFJ,SApFI,cAAA,KAoFJ,MApFI,aAAA,EAoFJ,MApFI,aAAA,QAoFJ,MApFI,aAAA,OAoFJ,MApFI,aAAA,KAoFJ,MApFI,aAAA,OAoFJ,MApFI,aAAA,KAoFJ,SApFI,aAAA,KAoFJ,MApFI,mBAAA,EAoFJ,MApFI,mBAAA,QAoFJ,MApFI,mBAAA,OAoFJ,MApFI,mBAAA,KAoFJ,MApFI,mBAAA,OAoFJ,MApFI,mBAAA,KAoFJ,SApFI,mBAAA,KAoFJ,MApFI,kBAAA,EAoFJ,MApFI,kBAAA,OAoFJ,MApFI,kBAAA,MAoFJ,MApFI,kBAAA,KAoFJ,MApFI,kBAAA,OAoFJ,MApFI,kBAAA,KAoFJ,SApFI,kBAAA,KAoFJ,MApFI,iBAAA,EAoFJ,MApFI,iBAAA,QAoFJ,MApFI,iBAAA,OAoFJ,MApFI,iBAAA,KAoFJ,MApFI,iBAAA,OAoFJ,MApFI,iBAAA,KAoFJ,SApFI,iBAAA,KAoFJ,MApFI,oBAAA,EAoFJ,MApFI,oBAAA,OAoFJ,MApFI,oBAAA,MAoFJ,MApFI,oBAAA,KAoFJ,MApFI,oBAAA,OAoFJ,MApFI,oBAAA,KAoFJ,SApFI,oBAAA,KAoFJ,KApFI,QAAA,EAoFJ,KApFI,QAAA,OAoFJ,KApFI,QAAA,MAoFJ,KApFI,QAAA,KAoFJ,KApFI,QAAA,OAoFJ,KApFI,QAAA,KAoFJ,MApFI,eAAA,EAoFJ,MApFI,eAAA,QAoFJ,MApFI,eAAA,OAoFJ,MApFI,eAAA,KAoFJ,MApFI,eAAA,OAoFJ,MApFI,eAAA,KAoFJ,MApFI,cAAA,EAoFJ,MApFI,cAAA,QAoFJ,MApFI,cAAA,OAoFJ,MApFI,cAAA,KAoFJ,MApFI,cAAA,OAoFJ,MApFI,cAAA,KAoFJ,MApFI,oBAAA,EAoFJ,MApFI,oBAAA,QAoFJ,MApFI,oBAAA,OAoFJ,MApFI,oBAAA,KAoFJ,MApFI,oBAAA,OAoFJ,MApFI,oBAAA,KAoFJ,MApFI,mBAAA,EAoFJ,MApFI,mBAAA,QAoFJ,MApFI,mBAAA,OAoFJ,MApFI,mBAAA,KAoFJ,MApFI,mBAAA,OAoFJ,MApFI,mBAAA,KAoFJ,MApFI,kBAAA,EAoFJ,MApFI,kBAAA,QAoFJ,MApFI,kBAAA,OAoFJ,MApFI,kBAAA,KAoFJ,MApFI,kBAAA,OAoFJ,MApFI,kBAAA,KAoFJ,MApFI,qBAAA,EAoFJ,MApFI,qBAAA,QAoFJ,MApFI,qBAAA,OAoFJ,MApFI,qBAAA,KAoFJ,MApFI,qBAAA,OAoFJ,MApFI,qBAAA,KJVJ,wBI8FA,aApFI,QAAA,OAoFJ,mBApFI,QAAA,aAoFJ,YApFI,QAAA,MAoFJ,WApFI,QAAA,KAoFJ,kBApFI,QAAA,YAoFJ,YApFI,QAAA,MAoFJ,gBApFI,QAAA,UAoFJ,iBApFI,QAAA,WAoFJ,WApFI,QAAA,KAoFJ,kBApFI,QAAA,YAoFJ,eApFI,QAAA,SAoFJ,gBApFI,QAAA,UAoFJ,WApFI,QAAA,KAoFJ,cApFI,KAAA,EAAA,EAAA,KAoFJ,aApFI,eAAA,IAoFJ,gBApFI,eAAA,OAoFJ,qBApFI,eAAA,YAoFJ,wBApFI,eAAA,eAoFJ,gBApFI,UAAA,EAoFJ,gBApFI,UAAA,EAoFJ,kBApFI,YAAA,EAoFJ,kBApFI,YAAA,EAoFJ,cApFI,UAAA,KAoFJ,gBApFI,UAAA,OAoFJ,sBApFI,UAAA,aAoFJ,0BApFI,gBAAA,WAoFJ,wBApFI,gBAAA,SAoFJ,2BApFI,gBAAA,OAoFJ,4BApFI,gBAAA,cAoFJ,2BApFI,gBAAA,aAoFJ,2BApFI,gBAAA,aAoFJ,wBApFI,cAAA,MAoFJ,sBApFI,cAAA,IAoFJ,yBApFI,cAAA,OAoFJ,0BApFI,cAAA,QAoFJ,sBApFI,YAAA,WAoFJ,oBApFI,YAAA,SAoFJ,uBApFI,YAAA,OAoFJ,yBApFI,YAAA,SAoFJ,wBApFI,YAAA,QAoFJ,wBApFI,cAAA,WAoFJ,sBApFI,cAAA,SAoFJ,yBApFI,cAAA,OAoFJ,0BApFI,cAAA,cAoFJ,yBApFI,cAAA,aAoFJ,0BApFI,cAAA,QAoFJ,oBApFI,WAAA,KAoFJ,qBApFI,WAAA,WAoFJ,mBApFI,WAAA,SAoFJ,sBApFI,WAAA,OAoFJ,wBApFI,WAAA,SAoFJ,uBApFI,WAAA,QAoFJ,sBApFI,YAAA,MAoFJ,oBApFI,YAAA,IAoFJ,uBApFI,YAAA,OAoFJ,wBApFI,YAAA,QAoFJ,gBApFI,MAAA,GAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,eApFI,MAAA,EAoFJ,QApFI,OAAA,EAoFJ,QApFI,OAAA,OAoFJ,QApFI,OAAA,MAoFJ,QApFI,OAAA,KAoFJ,QApFI,OAAA,OAoFJ,QApFI,OAAA,KAoFJ,WApFI,OAAA,KAoFJ,SApFI,cAAA,EAoFJ,SApFI,cAAA,QAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,YApFI,cAAA,KAoFJ,SApFI,aAAA,EAoFJ,SApFI,aAAA,QAoFJ,SApFI,aAAA,OAoFJ,SApFI,aAAA,KAoFJ,SApFI,aAAA,OAoFJ,SApFI,aAAA,KAoFJ,YApFI,aAAA,KAoFJ,SApFI,mBAAA,EAoFJ,SApFI,mBAAA,QAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,YApFI,mBAAA,KAoFJ,SApFI,kBAAA,EAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,MAoFJ,SApFI,kBAAA,KAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,YApFI,kBAAA,KAoFJ,SApFI,iBAAA,EAoFJ,SApFI,iBAAA,QAoFJ,SApFI,iBAAA,OAoFJ,SApFI,iBAAA,KAoFJ,SApFI,iBAAA,OAoFJ,SApFI,iBAAA,KAoFJ,YApFI,iBAAA,KAoFJ,SApFI,oBAAA,EAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,MAoFJ,SApFI,oBAAA,KAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,YApFI,oBAAA,KAoFJ,QApFI,QAAA,EAoFJ,QApFI,QAAA,OAoFJ,QApFI,QAAA,MAoFJ,QApFI,QAAA,KAoFJ,QApFI,QAAA,OAoFJ,QApFI,QAAA,KAoFJ,SApFI,eAAA,EAoFJ,SApFI,eAAA,QAoFJ,SApFI,eAAA,OAoFJ,SApFI,eAAA,KAoFJ,SApFI,eAAA,OAoFJ,SApFI,eAAA,KAoFJ,SApFI,cAAA,EAoFJ,SApFI,cAAA,QAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,oBAAA,EAoFJ,SApFI,oBAAA,QAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,SApFI,mBAAA,EAoFJ,SApFI,mBAAA,QAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,kBAAA,EAoFJ,SApFI,kBAAA,QAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,SApFI,qBAAA,EAoFJ,SApFI,qBAAA,QAoFJ,SApFI,qBAAA,OAoFJ,SApFI,qBAAA,KAoFJ,SApFI,qBAAA,OAoFJ,SApFI,qBAAA,MJVJ,wBI8FA,aApFI,QAAA,OAoFJ,mBApFI,QAAA,aAoFJ,YApFI,QAAA,MAoFJ,WApFI,QAAA,KAoFJ,kBApFI,QAAA,YAoFJ,YApFI,QAAA,MAoFJ,gBApFI,QAAA,UAoFJ,iBApFI,QAAA,WAoFJ,WApFI,QAAA,KAoFJ,kBApFI,QAAA,YAoFJ,eApFI,QAAA,SAoFJ,gBApFI,QAAA,UAoFJ,WApFI,QAAA,KAoFJ,cApFI,KAAA,EAAA,EAAA,KAoFJ,aApFI,eAAA,IAoFJ,gBApFI,eAAA,OAoFJ,qBApFI,eAAA,YAoFJ,wBApFI,eAAA,eAoFJ,gBApFI,UAAA,EAoFJ,gBApFI,UAAA,EAoFJ,kBApFI,YAAA,EAoFJ,kBApFI,YAAA,EAoFJ,cApFI,UAAA,KAoFJ,gBApFI,UAAA,OAoFJ,sBApFI,UAAA,aAoFJ,0BApFI,gBAAA,WAoFJ,wBApFI,gBAAA,SAoFJ,2BApFI,gBAAA,OAoFJ,4BApFI,gBAAA,cAoFJ,2BApFI,gBAAA,aAoFJ,2BApFI,gBAAA,aAoFJ,wBApFI,cAAA,MAoFJ,sBApFI,cAAA,IAoFJ,yBApFI,cAAA,OAoFJ,0BApFI,cAAA,QAoFJ,sBApFI,YAAA,WAoFJ,oBApFI,YAAA,SAoFJ,uBApFI,YAAA,OAoFJ,yBApFI,YAAA,SAoFJ,wBApFI,YAAA,QAoFJ,wBApFI,cAAA,WAoFJ,sBApFI,cAAA,SAoFJ,yBApFI,cAAA,OAoFJ,0BApFI,cAAA,cAoFJ,yBApFI,cAAA,aAoFJ,0BApFI,cAAA,QAoFJ,oBApFI,WAAA,KAoFJ,qBApFI,WAAA,WAoFJ,mBApFI,WAAA,SAoFJ,sBApFI,WAAA,OAoFJ,wBApFI,WAAA,SAoFJ,uBApFI,WAAA,QAoFJ,sBApFI,YAAA,MAoFJ,oBApFI,YAAA,IAoFJ,uBApFI,YAAA,OAoFJ,wBApFI,YAAA,QAoFJ,gBApFI,MAAA,GAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,eApFI,MAAA,EAoFJ,QApFI,OAAA,EAoFJ,QApFI,OAAA,OAoFJ,QApFI,OAAA,MAoFJ,QApFI,OAAA,KAoFJ,QApFI,OAAA,OAoFJ,QApFI,OAAA,KAoFJ,WApFI,OAAA,KAoFJ,SApFI,cAAA,EAoFJ,SApFI,cAAA,QAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,YApFI,cAAA,KAoFJ,SApFI,aAAA,EAoFJ,SApFI,aAAA,QAoFJ,SApFI,aAAA,OAoFJ,SApFI,aAAA,KAoFJ,SApFI,aAAA,OAoFJ,SApFI,aAAA,KAoFJ,YApFI,aAAA,KAoFJ,SApFI,mBAAA,EAoFJ,SApFI,mBAAA,QAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,YApFI,mBAAA,KAoFJ,SApFI,kBAAA,EAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,MAoFJ,SApFI,kBAAA,KAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,YApFI,kBAAA,KAoFJ,SApFI,iBAAA,EAoFJ,SApFI,iBAAA,QAoFJ,SApFI,iBAAA,OAoFJ,SApFI,iBAAA,KAoFJ,SApFI,iBAAA,OAoFJ,SApFI,iBAAA,KAoFJ,YApFI,iBAAA,KAoFJ,SApFI,oBAAA,EAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,MAoFJ,SApFI,oBAAA,KAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,YApFI,oBAAA,KAoFJ,QApFI,QAAA,EAoFJ,QApFI,QAAA,OAoFJ,QApFI,QAAA,MAoFJ,QApFI,QAAA,KAoFJ,QApFI,QAAA,OAoFJ,QApFI,QAAA,KAoFJ,SApFI,eAAA,EAoFJ,SApFI,eAAA,QAoFJ,SApFI,eAAA,OAoFJ,SApFI,eAAA,KAoFJ,SApFI,eAAA,OAoFJ,SApFI,eAAA,KAoFJ,SApFI,cAAA,EAoFJ,SApFI,cAAA,QAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,oBAAA,EAoFJ,SApFI,oBAAA,QAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,SApFI,mBAAA,EAoFJ,SApFI,mBAAA,QAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,kBAAA,EAoFJ,SApFI,kBAAA,QAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,SApFI,qBAAA,EAoFJ,SApFI,qBAAA,QAoFJ,SApFI,qBAAA,OAoFJ,SApFI,qBAAA,KAoFJ,SApFI,qBAAA,OAoFJ,SApFI,qBAAA,MJVJ,yBI8FA,aApFI,QAAA,OAoFJ,mBApFI,QAAA,aAoFJ,YApFI,QAAA,MAoFJ,WApFI,QAAA,KAoFJ,kBApFI,QAAA,YAoFJ,YApFI,QAAA,MAoFJ,gBApFI,QAAA,UAoFJ,iBApFI,QAAA,WAoFJ,WApFI,QAAA,KAoFJ,kBApFI,QAAA,YAoFJ,eApFI,QAAA,SAoFJ,gBApFI,QAAA,UAoFJ,WApFI,QAAA,KAoFJ,cApFI,KAAA,EAAA,EAAA,KAoFJ,aApFI,eAAA,IAoFJ,gBApFI,eAAA,OAoFJ,qBApFI,eAAA,YAoFJ,wBApFI,eAAA,eAoFJ,gBApFI,UAAA,EAoFJ,gBApFI,UAAA,EAoFJ,kBApFI,YAAA,EAoFJ,kBApFI,YAAA,EAoFJ,cApFI,UAAA,KAoFJ,gBApFI,UAAA,OAoFJ,sBApFI,UAAA,aAoFJ,0BApFI,gBAAA,WAoFJ,wBApFI,gBAAA,SAoFJ,2BApFI,gBAAA,OAoFJ,4BApFI,gBAAA,cAoFJ,2BApFI,gBAAA,aAoFJ,2BApFI,gBAAA,aAoFJ,wBApFI,cAAA,MAoFJ,sBApFI,cAAA,IAoFJ,yBApFI,cAAA,OAoFJ,0BApFI,cAAA,QAoFJ,sBApFI,YAAA,WAoFJ,oBApFI,YAAA,SAoFJ,uBApFI,YAAA,OAoFJ,yBApFI,YAAA,SAoFJ,wBApFI,YAAA,QAoFJ,wBApFI,cAAA,WAoFJ,sBApFI,cAAA,SAoFJ,yBApFI,cAAA,OAoFJ,0BApFI,cAAA,cAoFJ,yBApFI,cAAA,aAoFJ,0BApFI,cAAA,QAoFJ,oBApFI,WAAA,KAoFJ,qBApFI,WAAA,WAoFJ,mBApFI,WAAA,SAoFJ,sBApFI,WAAA,OAoFJ,wBApFI,WAAA,SAoFJ,uBApFI,WAAA,QAoFJ,sBApFI,YAAA,MAoFJ,oBApFI,YAAA,IAoFJ,uBApFI,YAAA,OAoFJ,wBApFI,YAAA,QAoFJ,gBApFI,MAAA,GAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,eApFI,MAAA,EAoFJ,QApFI,OAAA,EAoFJ,QApFI,OAAA,OAoFJ,QApFI,OAAA,MAoFJ,QApFI,OAAA,KAoFJ,QApFI,OAAA,OAoFJ,QApFI,OAAA,KAoFJ,WApFI,OAAA,KAoFJ,SApFI,cAAA,EAoFJ,SApFI,cAAA,QAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,YApFI,cAAA,KAoFJ,SApFI,aAAA,EAoFJ,SApFI,aAAA,QAoFJ,SApFI,aAAA,OAoFJ,SApFI,aAAA,KAoFJ,SApFI,aAAA,OAoFJ,SApFI,aAAA,KAoFJ,YApFI,aAAA,KAoFJ,SApFI,mBAAA,EAoFJ,SApFI,mBAAA,QAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,YApFI,mBAAA,KAoFJ,SApFI,kBAAA,EAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,MAoFJ,SApFI,kBAAA,KAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,YApFI,kBAAA,KAoFJ,SApFI,iBAAA,EAoFJ,SApFI,iBAAA,QAoFJ,SApFI,iBAAA,OAoFJ,SApFI,iBAAA,KAoFJ,SApFI,iBAAA,OAoFJ,SApFI,iBAAA,KAoFJ,YApFI,iBAAA,KAoFJ,SApFI,oBAAA,EAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,MAoFJ,SApFI,oBAAA,KAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,YApFI,oBAAA,KAoFJ,QApFI,QAAA,EAoFJ,QApFI,QAAA,OAoFJ,QApFI,QAAA,MAoFJ,QApFI,QAAA,KAoFJ,QApFI,QAAA,OAoFJ,QApFI,QAAA,KAoFJ,SApFI,eAAA,EAoFJ,SApFI,eAAA,QAoFJ,SApFI,eAAA,OAoFJ,SApFI,eAAA,KAoFJ,SApFI,eAAA,OAoFJ,SApFI,eAAA,KAoFJ,SApFI,cAAA,EAoFJ,SApFI,cAAA,QAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,oBAAA,EAoFJ,SApFI,oBAAA,QAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,SApFI,mBAAA,EAoFJ,SApFI,mBAAA,QAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,kBAAA,EAoFJ,SApFI,kBAAA,QAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,SApFI,qBAAA,EAoFJ,SApFI,qBAAA,QAoFJ,SApFI,qBAAA,OAoFJ,SApFI,qBAAA,KAoFJ,SApFI,qBAAA,OAoFJ,SApFI,qBAAA,MJVJ,yBI8FA,aApFI,QAAA,OAoFJ,mBApFI,QAAA,aAoFJ,YApFI,QAAA,MAoFJ,WApFI,QAAA,KAoFJ,kBApFI,QAAA,YAoFJ,YApFI,QAAA,MAoFJ,gBApFI,QAAA,UAoFJ,iBApFI,QAAA,WAoFJ,WApFI,QAAA,KAoFJ,kBApFI,QAAA,YAoFJ,eApFI,QAAA,SAoFJ,gBApFI,QAAA,UAoFJ,WApFI,QAAA,KAoFJ,cApFI,KAAA,EAAA,EAAA,KAoFJ,aApFI,eAAA,IAoFJ,gBApFI,eAAA,OAoFJ,qBApFI,eAAA,YAoFJ,wBApFI,eAAA,eAoFJ,gBApFI,UAAA,EAoFJ,gBApFI,UAAA,EAoFJ,kBApFI,YAAA,EAoFJ,kBApFI,YAAA,EAoFJ,cApFI,UAAA,KAoFJ,gBApFI,UAAA,OAoFJ,sBApFI,UAAA,aAoFJ,0BApFI,gBAAA,WAoFJ,wBApFI,gBAAA,SAoFJ,2BApFI,gBAAA,OAoFJ,4BApFI,gBAAA,cAoFJ,2BApFI,gBAAA,aAoFJ,2BApFI,gBAAA,aAoFJ,wBApFI,cAAA,MAoFJ,sBApFI,cAAA,IAoFJ,yBApFI,cAAA,OAoFJ,0BApFI,cAAA,QAoFJ,sBApFI,YAAA,WAoFJ,oBApFI,YAAA,SAoFJ,uBApFI,YAAA,OAoFJ,yBApFI,YAAA,SAoFJ,wBApFI,YAAA,QAoFJ,wBApFI,cAAA,WAoFJ,sBApFI,cAAA,SAoFJ,yBApFI,cAAA,OAoFJ,0BApFI,cAAA,cAoFJ,yBApFI,cAAA,aAoFJ,0BApFI,cAAA,QAoFJ,oBApFI,WAAA,KAoFJ,qBApFI,WAAA,WAoFJ,mBApFI,WAAA,SAoFJ,sBApFI,WAAA,OAoFJ,wBApFI,WAAA,SAoFJ,uBApFI,WAAA,QAoFJ,sBApFI,YAAA,MAoFJ,oBApFI,YAAA,IAoFJ,uBApFI,YAAA,OAoFJ,wBApFI,YAAA,QAoFJ,gBApFI,MAAA,GAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,YApFI,MAAA,EAoFJ,eApFI,MAAA,EAoFJ,QApFI,OAAA,EAoFJ,QApFI,OAAA,OAoFJ,QApFI,OAAA,MAoFJ,QApFI,OAAA,KAoFJ,QApFI,OAAA,OAoFJ,QApFI,OAAA,KAoFJ,WApFI,OAAA,KAoFJ,SApFI,cAAA,EAoFJ,SApFI,cAAA,QAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,YApFI,cAAA,KAoFJ,SApFI,aAAA,EAoFJ,SApFI,aAAA,QAoFJ,SApFI,aAAA,OAoFJ,SApFI,aAAA,KAoFJ,SApFI,aAAA,OAoFJ,SApFI,aAAA,KAoFJ,YApFI,aAAA,KAoFJ,SApFI,mBAAA,EAoFJ,SApFI,mBAAA,QAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,YApFI,mBAAA,KAoFJ,SApFI,kBAAA,EAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,MAoFJ,SApFI,kBAAA,KAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,YApFI,kBAAA,KAoFJ,SApFI,iBAAA,EAoFJ,SApFI,iBAAA,QAoFJ,SApFI,iBAAA,OAoFJ,SApFI,iBAAA,KAoFJ,SApFI,iBAAA,OAoFJ,SApFI,iBAAA,KAoFJ,YApFI,iBAAA,KAoFJ,SApFI,oBAAA,EAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,MAoFJ,SApFI,oBAAA,KAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,YApFI,oBAAA,KAoFJ,QApFI,QAAA,EAoFJ,QApFI,QAAA,OAoFJ,QApFI,QAAA,MAoFJ,QApFI,QAAA,KAoFJ,QApFI,QAAA,OAoFJ,QApFI,QAAA,KAoFJ,SApFI,eAAA,EAoFJ,SApFI,eAAA,QAoFJ,SApFI,eAAA,OAoFJ,SApFI,eAAA,KAoFJ,SApFI,eAAA,OAoFJ,SApFI,eAAA,KAoFJ,SApFI,cAAA,EAoFJ,SApFI,cAAA,QAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,cAAA,OAoFJ,SApFI,cAAA,KAoFJ,SApFI,oBAAA,EAoFJ,SApFI,oBAAA,QAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,SApFI,oBAAA,OAoFJ,SApFI,oBAAA,KAoFJ,SApFI,mBAAA,EAoFJ,SApFI,mBAAA,QAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,mBAAA,OAoFJ,SApFI,mBAAA,KAoFJ,SApFI,kBAAA,EAoFJ,SApFI,kBAAA,QAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,SApFI,kBAAA,OAoFJ,SApFI,kBAAA,KAoFJ,SApFI,qBAAA,EAoFJ,SApFI,qBAAA,QAoFJ,SApFI,qBAAA,OAoFJ,SApFI,qBAAA,KAoFJ,SApFI,qBAAA,OAoFJ,SApFI,qBAAA,MJVJ,yBI8FA,cApFI,QAAA,OAoFJ,oBApFI,QAAA,aAoFJ,aApFI,QAAA,MAoFJ,YApFI,QAAA,KAoFJ,mBApFI,QAAA,YAoFJ,aApFI,QAAA,MAoFJ,iBApFI,QAAA,UAoFJ,kBApFI,QAAA,WAoFJ,YApFI,QAAA,KAoFJ,mBApFI,QAAA,YAoFJ,gBApFI,QAAA,SAoFJ,iBApFI,QAAA,UAoFJ,YApFI,QAAA,KAoFJ,eApFI,KAAA,EAAA,EAAA,KAoFJ,cApFI,eAAA,IAoFJ,iBApFI,eAAA,OAoFJ,sBApFI,eAAA,YAoFJ,yBApFI,eAAA,eAoFJ,iBApFI,UAAA,EAoFJ,iBApFI,UAAA,EAoFJ,mBApFI,YAAA,EAoFJ,mBApFI,YAAA,EAoFJ,eApFI,UAAA,KAoFJ,iBApFI,UAAA,OAoFJ,uBApFI,UAAA,aAoFJ,2BApFI,gBAAA,WAoFJ,yBApFI,gBAAA,SAoFJ,4BApFI,gBAAA,OAoFJ,6BApFI,gBAAA,cAoFJ,4BApFI,gBAAA,aAoFJ,4BApFI,gBAAA,aAoFJ,yBApFI,cAAA,MAoFJ,uBApFI,cAAA,IAoFJ,0BApFI,cAAA,OAoFJ,2BApFI,cAAA,QAoFJ,uBApFI,YAAA,WAoFJ,qBApFI,YAAA,SAoFJ,wBApFI,YAAA,OAoFJ,0BApFI,YAAA,SAoFJ,yBApFI,YAAA,QAoFJ,yBApFI,cAAA,WAoFJ,uBApFI,cAAA,SAoFJ,0BApFI,cAAA,OAoFJ,2BApFI,cAAA,cAoFJ,0BApFI,cAAA,aAoFJ,2BApFI,cAAA,QAoFJ,qBApFI,WAAA,KAoFJ,sBApFI,WAAA,WAoFJ,oBApFI,WAAA,SAoFJ,uBApFI,WAAA,OAoFJ,yBApFI,WAAA,SAoFJ,wBApFI,WAAA,QAoFJ,uBApFI,YAAA,MAoFJ,qBApFI,YAAA,IAoFJ,wBApFI,YAAA,OAoFJ,yBApFI,YAAA,QAoFJ,iBApFI,MAAA,GAoFJ,aApFI,MAAA,EAoFJ,aApFI,MAAA,EAoFJ,aApFI,MAAA,EAoFJ,aApFI,MAAA,EAoFJ,aApFI,MAAA,EAoFJ,aApFI,MAAA,EAoFJ,gBApFI,MAAA,EAoFJ,SApFI,OAAA,EAoFJ,SApFI,OAAA,OAoFJ,SApFI,OAAA,MAoFJ,SApFI,OAAA,KAoFJ,SApFI,OAAA,OAoFJ,SApFI,OAAA,KAoFJ,YApFI,OAAA,KAoFJ,UApFI,cAAA,EAoFJ,UApFI,cAAA,QAoFJ,UApFI,cAAA,OAoFJ,UApFI,cAAA,KAoFJ,UApFI,cAAA,OAoFJ,UApFI,cAAA,KAoFJ,aApFI,cAAA,KAoFJ,UApFI,aAAA,EAoFJ,UApFI,aAAA,QAoFJ,UApFI,aAAA,OAoFJ,UApFI,aAAA,KAoFJ,UApFI,aAAA,OAoFJ,UApFI,aAAA,KAoFJ,aApFI,aAAA,KAoFJ,UApFI,mBAAA,EAoFJ,UApFI,mBAAA,QAoFJ,UApFI,mBAAA,OAoFJ,UApFI,mBAAA,KAoFJ,UApFI,mBAAA,OAoFJ,UApFI,mBAAA,KAoFJ,aApFI,mBAAA,KAoFJ,UApFI,kBAAA,EAoFJ,UApFI,kBAAA,OAoFJ,UApFI,kBAAA,MAoFJ,UApFI,kBAAA,KAoFJ,UApFI,kBAAA,OAoFJ,UApFI,kBAAA,KAoFJ,aApFI,kBAAA,KAoFJ,UApFI,iBAAA,EAoFJ,UApFI,iBAAA,QAoFJ,UApFI,iBAAA,OAoFJ,UApFI,iBAAA,KAoFJ,UApFI,iBAAA,OAoFJ,UApFI,iBAAA,KAoFJ,aApFI,iBAAA,KAoFJ,UApFI,oBAAA,EAoFJ,UApFI,oBAAA,OAoFJ,UApFI,oBAAA,MAoFJ,UApFI,oBAAA,KAoFJ,UApFI,oBAAA,OAoFJ,UApFI,oBAAA,KAoFJ,aApFI,oBAAA,KAoFJ,SApFI,QAAA,EAoFJ,SApFI,QAAA,OAoFJ,SApFI,QAAA,MAoFJ,SApFI,QAAA,KAoFJ,SApFI,QAAA,OAoFJ,SApFI,QAAA,KAoFJ,UApFI,eAAA,EAoFJ,UApFI,eAAA,QAoFJ,UApFI,eAAA,OAoFJ,UApFI,eAAA,KAoFJ,UApFI,eAAA,OAoFJ,UApFI,eAAA,KAoFJ,UApFI,cAAA,EAoFJ,UApFI,cAAA,QAoFJ,UApFI,cAAA,OAoFJ,UApFI,cAAA,KAoFJ,UApFI,cAAA,OAoFJ,UApFI,cAAA,KAoFJ,UApFI,oBAAA,EAoFJ,UApFI,oBAAA,QAoFJ,UApFI,oBAAA,OAoFJ,UApFI,oBAAA,KAoFJ,UApFI,oBAAA,OAoFJ,UApFI,oBAAA,KAoFJ,UApFI,mBAAA,EAoFJ,UApFI,mBAAA,QAoFJ,UApFI,mBAAA,OAoFJ,UApFI,mBAAA,KAoFJ,UApFI,mBAAA,OAoFJ,UApFI,mBAAA,KAoFJ,UApFI,kBAAA,EAoFJ,UApFI,kBAAA,QAoFJ,UApFI,kBAAA,OAoFJ,UApFI,kBAAA,KAoFJ,UApFI,kBAAA,OAoFJ,UApFI,kBAAA,KAoFJ,UApFI,qBAAA,EAoFJ,UApFI,qBAAA,QAoFJ,UApFI,qBAAA,OAoFJ,UApFI,qBAAA,KAoFJ,UApFI,qBAAA,OAoFJ,UApFI,qBAAA","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 diff --git a/dist/css/bootstrap-reboot.css b/dist/css/bootstrap-reboot.css index 057a42c51f..321bb62fa6 100644 --- a/dist/css/bootstrap-reboot.css +++ b/dist/css/bootstrap-reboot.css @@ -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)); @@ -312,7 +312,8 @@ @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)); @@ -409,19 +410,16 @@ --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; @@ -450,6 +448,7 @@ --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); @@ -471,17 +470,18 @@ --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; @@ -491,6 +491,7 @@ --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 { @@ -521,10 +522,8 @@ } 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, @@ -633,13 +632,13 @@ 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)); } @@ -678,7 +677,7 @@ 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 { diff --git a/dist/css/bootstrap-reboot.css.map b/dist/css/bootstrap-reboot.css.map index 064adfcf8d..1d9cf0b318 100644 --- a/dist/css/bootstrap-reboot.css.map +++ b/dist/css/bootstrap-reboot.css.map @@ -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":"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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 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, `

`-`

` 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 `

`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 `` 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-``,ArrowPrev=(e,t)=>``,ControlTime=e=>e.selectionTimeMode?`

`:"",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`
`:"",Dates=e=>`
`,Month=e=>``,Months=e=>`
`,Week=e=>`
`,WeekNumbers=e=>e.enableWeekNumbers?`
`:"",Year=e=>``,Years=e=>`
`,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()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=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 \n`,TimeRange=(e,t,n,a,l,o,s)=>`\n \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
\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,``):""}\n
\n
\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
\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;tgetDate(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;ahaveListener.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{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{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.selectedMonthl.getMonth()-o+s&&n>=l.getFullYear(),c=nl.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=as.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)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(){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{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 @@ -1551,29 +2010,29 @@ * 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' @@ -1592,13 +2051,13 @@ // 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 @@ -1645,7 +2104,7 @@ 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() { @@ -1727,7 +2186,7 @@ * 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(); @@ -3506,49 +3965,80 @@ * 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' }; /** @@ -3565,22 +4055,30 @@ 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 @@ -3610,9 +4108,10 @@ } } 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() { @@ -3627,6 +4126,8 @@ dispose() { this._disposeFloating(); this._disposeMediaQueryListeners(); + this._closeAllSubmenus(); + this._clearAllSubmenuTimeouts(); super.dispose(); } update() { @@ -3642,6 +4143,9 @@ 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) { @@ -3652,6 +4156,7 @@ 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'); @@ -3661,7 +4166,7 @@ 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; } @@ -3686,8 +4191,7 @@ 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) { @@ -3704,37 +4208,17 @@ 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); @@ -3756,18 +4240,18 @@ } _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 @@ -3775,7 +4259,7 @@ return result; }; } - return offset; + return offsetConfig; } _getFloatingMiddleware() { const offsetValue = this._getOffset(); @@ -3833,11 +4317,296 @@ 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; } @@ -3846,6 +4615,89 @@ // 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; @@ -3876,32 +4728,62 @@ } } 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(); } @@ -3912,11 +4794,11 @@ * 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(); }); @@ -3933,11 +4815,11 @@ * 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, @@ -3945,7 +4827,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', @@ -3967,13 +4849,13 @@ // 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 @@ -4057,19 +4939,19 @@ * 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' }; @@ -4088,13 +4970,13 @@ // 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 @@ -4105,7 +4987,7 @@ 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; @@ -4115,7 +4997,7 @@ return; } this._isActive = false; - EventHandler.off(document, EVENT_KEY$4); + EventHandler.off(document, EVENT_KEY$7); } // Private @@ -4253,32 +5135,32 @@ * 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' @@ -4299,13 +5181,13 @@ // 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 @@ -4415,7 +5297,7 @@ * 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(); @@ -4452,6 +5334,459 @@ }); 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 @@ -4559,8 +5894,8 @@ * Constants */ - const NAME$5 = 'TemplateFactory'; - const Default$4 = { + const NAME$6 = 'TemplateFactory'; + const Default$5 = { allowList: DefaultAllowlist, content: {}, // { selector : text , selector2 : text2 , } @@ -4570,7 +5905,7 @@ sanitizeFn: null, template: '
' }; - const DefaultType$4 = { + const DefaultType$5 = { allowList: 'object', content: 'object', extraClass: '(string|function)', @@ -4596,13 +5931,13 @@ // 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 @@ -4695,14 +6030,14 @@ * 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'; @@ -4713,7 +6048,7 @@ 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'; @@ -4725,7 +6060,7 @@ BOTTOM: 'bottom', LEFT: isRTL$1() ? 'right' : 'left' }; - const Default$3 = { + const Default$4 = { allowList: DefaultAllowlist, animation: true, boundary: 'clippingParents', @@ -4744,7 +6079,7 @@ title: '', trigger: 'hover focus' }; - const DefaultType$3 = { + const DefaultType$4 = { allowList: 'object', animation: 'boolean', boundary: '(string|element)', @@ -4797,13 +6132,13 @@ // 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 @@ -5151,7 +6486,7 @@ 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(); @@ -5283,7 +6618,7 @@ */ const initTooltip = event => { - const target = event.target.closest(SELECTOR_DATA_TOGGLE$2); + const target = event.target.closest(SELECTOR_DATA_TOGGLE$3); if (!target) { return; } @@ -5297,8 +6632,8 @@ 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); /** * -------------------------------------------------------------------------- @@ -5312,14 +6647,14 @@ * 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], @@ -5327,7 +6662,7 @@ template: '', trigger: 'click' }; - const DefaultType$2 = { + const DefaultType$3 = { ...Tooltip.DefaultType, content: '(null|string|element|function)' }; @@ -5339,13 +6674,13 @@ 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 @@ -5370,7 +6705,7 @@ */ const initPopover = event => { - const target = event.target.closest(SELECTOR_DATA_TOGGLE$1); + const target = event.target.closest(SELECTOR_DATA_TOGGLE$2); if (!target) { return; } @@ -5393,9 +6728,9 @@ }; // 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); /** * -------------------------------------------------------------------------- @@ -5409,13 +6744,13 @@ * 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"]'; @@ -5427,7 +6762,7 @@ 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%', @@ -5435,7 +6770,7 @@ 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', @@ -5467,13 +6802,13 @@ // 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 @@ -5512,8 +6847,8 @@ } // 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(); @@ -5649,16 +6984,16 @@ * 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'; @@ -5675,8 +7010,8 @@ 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"]`; /** @@ -5700,7 +7035,7 @@ // Getters static get NAME() { - return NAME$1; + return NAME$2; } // Public @@ -5869,7 +7204,7 @@ * 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(); } @@ -5900,27 +7235,27 @@ * 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 @@ -5941,13 +7276,13 @@ // 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 @@ -6052,6 +7387,89 @@ 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 @@ -6064,13 +7482,17 @@ Button, Carousel, Collapse, + Datepicker, Dialog, Dropdown, Offcanvas, + Strength, + OtpInput, Popover, ScrollSpy, Tab, Toast, + Toggler, Tooltip }; diff --git a/dist/js/bootstrap.bundle.js.map b/dist/js/bootstrap.bundle.js.map index f04ad3cfb1..0a26ca3cdf 100644 --- a/dist/js/bootstrap.bundle.js.map +++ b/dist/js/bootstrap.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/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
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 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 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 `` and `` 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 // `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the 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 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 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 element as the offsetParent if it's non-static,\n // while Chrome and Safari return the element. The element must\n // be used to perform the correct calculations even if the 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