@claudebernard/therapeutic-alternative-element 2.0.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,10 +2,10 @@ import { BCB_CODE_SYSTEM, PRIOR_PRESCRIPTION_REASON_URL, createBundleEntry, supe
2
2
  export * from "@claudebernard/web-component-fhir-utils";
3
3
  import "@claudebernard/design-system";
4
4
  const designSystemCSS = ".flex-row {\n flex-direction: row !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.justify-content-start {\n justify-content: start !important;\n}\n\n.justify-content-end {\n justify-content: end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: start !important;\n}\n\n.align-items-end {\n align-items: end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n@media (min-width: 0) {\n .d-0-none {\n display: none !important;\n }\n .d-0-inline {\n display: inline !important;\n }\n .d-0-inline-block {\n display: inline-block !important;\n }\n .d-0-block {\n display: block !important;\n }\n .d-0-flex {\n display: flex !important;\n }\n .d-0-inline-flex {\n display: inline-flex !important;\n }\n .d-0-grid {\n display: grid !important;\n }\n}\n@media (min-width: 321px) {\n .d-3xs-none {\n display: none !important;\n }\n .d-3xs-inline {\n display: inline !important;\n }\n .d-3xs-inline-block {\n display: inline-block !important;\n }\n .d-3xs-block {\n display: block !important;\n }\n .d-3xs-flex {\n display: flex !important;\n }\n .d-3xs-inline-flex {\n display: inline-flex !important;\n }\n .d-3xs-grid {\n display: grid !important;\n }\n}\n@media (min-width: 376px) {\n .d-xxs-none {\n display: none !important;\n }\n .d-xxs-inline {\n display: inline !important;\n }\n .d-xxs-inline-block {\n display: inline-block !important;\n }\n .d-xxs-block {\n display: block !important;\n }\n .d-xxs-flex {\n display: flex !important;\n }\n .d-xxs-inline-flex {\n display: inline-flex !important;\n }\n .d-xxs-grid {\n display: grid !important;\n }\n}\n@media (min-width: 426px) {\n .d-xs-none {\n display: none !important;\n }\n .d-xs-inline {\n display: inline !important;\n }\n .d-xs-inline-block {\n display: inline-block !important;\n }\n .d-xs-block {\n display: block !important;\n }\n .d-xs-flex {\n display: flex !important;\n }\n .d-xs-inline-flex {\n display: inline-flex !important;\n }\n .d-xs-grid {\n display: grid !important;\n }\n}\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-none {\n display: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n}\n@media (min-width: 1700px) {\n .d-3xl-none {\n display: none !important;\n }\n .d-3xl-inline {\n display: inline !important;\n }\n .d-3xl-inline-block {\n display: inline-block !important;\n }\n .d-3xl-block {\n display: block !important;\n }\n .d-3xl-flex {\n display: flex !important;\n }\n .d-3xl-inline-flex {\n display: inline-flex !important;\n }\n .d-3xl-grid {\n display: grid !important;\n }\n}\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 0.75rem !important;\n}\n\n.mt-4 {\n margin-top: 1rem !important;\n}\n\n.mt-5 {\n margin-top: 1.25rem !important;\n}\n\n.mt-6 {\n margin-top: 1.75rem !important;\n}\n\n.mt-7 {\n margin-top: 2.5rem !important;\n}\n\n.mt-8 {\n margin-top: 3.125rem !important;\n}\n\n.mt-9 {\n margin-top: 3.75rem !important;\n}\n\n.mt-10 {\n margin-top: 5rem !important;\n}\n\n.mt-11 {\n margin-top: 7.5rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 0.75rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1rem !important;\n}\n\n.mb-5 {\n margin-bottom: 1.25rem !important;\n}\n\n.mb-6 {\n margin-bottom: 1.75rem !important;\n}\n\n.mb-7 {\n margin-bottom: 2.5rem !important;\n}\n\n.mb-8 {\n margin-bottom: 3.125rem !important;\n}\n\n.mb-9 {\n margin-bottom: 3.75rem !important;\n}\n\n.mb-10 {\n margin-bottom: 5rem !important;\n}\n\n.mb-11 {\n margin-bottom: 7.5rem !important;\n}\n\n.ms-1 {\n margin-inline-start: 0.25rem !important;\n}\n\n.ms-2 {\n margin-inline-start: 0.5rem !important;\n}\n\n.ms-3 {\n margin-inline-start: 0.75rem !important;\n}\n\n.ms-4 {\n margin-inline-start: 1rem !important;\n}\n\n.ms-5 {\n margin-inline-start: 1.25rem !important;\n}\n\n.ms-6 {\n margin-inline-start: 1.75rem !important;\n}\n\n.ms-7 {\n margin-inline-start: 2.5rem !important;\n}\n\n.ms-8 {\n margin-inline-start: 3.125rem !important;\n}\n\n.ms-9 {\n margin-inline-start: 3.75rem !important;\n}\n\n.ms-10 {\n margin-inline-start: 5rem !important;\n}\n\n.ms-11 {\n margin-inline-start: 7.5rem !important;\n}\n\n.me-1 {\n margin-inline-end: 0.25rem !important;\n}\n\n.me-2 {\n margin-inline-end: 0.5rem !important;\n}\n\n.me-3 {\n margin-inline-end: 0.75rem !important;\n}\n\n.me-4 {\n margin-inline-end: 1rem !important;\n}\n\n.me-5 {\n margin-inline-end: 1.25rem !important;\n}\n\n.me-6 {\n margin-inline-end: 1.75rem !important;\n}\n\n.me-7 {\n margin-inline-end: 2.5rem !important;\n}\n\n.me-8 {\n margin-inline-end: 3.125rem !important;\n}\n\n.me-9 {\n margin-inline-end: 3.75rem !important;\n}\n\n.me-10 {\n margin-inline-end: 5rem !important;\n}\n\n.me-11 {\n margin-inline-end: 7.5rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 0.75rem !important;\n}\n\n.ml-4 {\n margin-left: 1rem !important;\n}\n\n.ml-5 {\n margin-left: 1.25rem !important;\n}\n\n.ml-6 {\n margin-left: 1.75rem !important;\n}\n\n.ml-7 {\n margin-left: 2.5rem !important;\n}\n\n.ml-8 {\n margin-left: 3.125rem !important;\n}\n\n.ml-9 {\n margin-left: 3.75rem !important;\n}\n\n.ml-10 {\n margin-left: 5rem !important;\n}\n\n.ml-11 {\n margin-left: 7.5rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 0.75rem !important;\n}\n\n.mr-4 {\n margin-right: 1rem !important;\n}\n\n.mr-5 {\n margin-right: 1.25rem !important;\n}\n\n.mr-6 {\n margin-right: 1.75rem !important;\n}\n\n.mr-7 {\n margin-right: 2.5rem !important;\n}\n\n.mr-8 {\n margin-right: 3.125rem !important;\n}\n\n.mr-9 {\n margin-right: 3.75rem !important;\n}\n\n.mr-10 {\n margin-right: 5rem !important;\n}\n\n.mr-11 {\n margin-right: 7.5rem !important;\n}\n\n.mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.mx-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n}\n\n.mx-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.mx-5 {\n margin-left: 1.25rem !important;\n margin-right: 1.25rem !important;\n}\n\n.mx-6 {\n margin-left: 1.75rem !important;\n margin-right: 1.75rem !important;\n}\n\n.mx-7 {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n}\n\n.mx-8 {\n margin-left: 3.125rem !important;\n margin-right: 3.125rem !important;\n}\n\n.mx-9 {\n margin-left: 3.75rem !important;\n margin-right: 3.75rem !important;\n}\n\n.mx-10 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n}\n\n.mx-11 {\n margin-left: 7.5rem !important;\n margin-right: 7.5rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n}\n\n.my-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-5 {\n margin-top: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n}\n\n.my-6 {\n margin-top: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n}\n\n.my-7 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n}\n\n.my-8 {\n margin-top: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n}\n\n.my-9 {\n margin-top: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n}\n\n.my-10 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n}\n\n.my-11 {\n margin-top: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n}\n\n.ma-1 {\n margin-top: 0.25rem !important;\n margin-right: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.ma-2 {\n margin-top: 0.5rem !important;\n margin-right: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.ma-3 {\n margin-top: 0.75rem !important;\n margin-right: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n margin-left: 0.75rem !important;\n}\n\n.ma-4 {\n margin-top: 1rem !important;\n margin-right: 1rem !important;\n margin-bottom: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.ma-5 {\n margin-top: 1.25rem !important;\n margin-right: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n margin-left: 1.25rem !important;\n}\n\n.ma-6 {\n margin-top: 1.75rem !important;\n margin-right: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n margin-left: 1.75rem !important;\n}\n\n.ma-7 {\n margin-top: 2.5rem !important;\n margin-right: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n margin-left: 2.5rem !important;\n}\n\n.ma-8 {\n margin-top: 3.125rem !important;\n margin-right: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n margin-left: 3.125rem !important;\n}\n\n.ma-9 {\n margin-top: 3.75rem !important;\n margin-right: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n margin-left: 3.75rem !important;\n}\n\n.ma-10 {\n margin-top: 5rem !important;\n margin-right: 5rem !important;\n margin-bottom: 5rem !important;\n margin-left: 5rem !important;\n}\n\n.ma-11 {\n margin-top: 7.5rem !important;\n margin-right: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n margin-left: 7.5rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 0.75rem !important;\n}\n\n.pt-4 {\n padding-top: 1rem !important;\n}\n\n.pt-5 {\n padding-top: 1.25rem !important;\n}\n\n.pt-6 {\n padding-top: 1.75rem !important;\n}\n\n.pt-7 {\n padding-top: 2.5rem !important;\n}\n\n.pt-8 {\n padding-top: 3.125rem !important;\n}\n\n.pt-9 {\n padding-top: 3.75rem !important;\n}\n\n.pt-10 {\n padding-top: 5rem !important;\n}\n\n.pt-11 {\n padding-top: 7.5rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 0.75rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1rem !important;\n}\n\n.pb-5 {\n padding-bottom: 1.25rem !important;\n}\n\n.pb-6 {\n padding-bottom: 1.75rem !important;\n}\n\n.pb-7 {\n padding-bottom: 2.5rem !important;\n}\n\n.pb-8 {\n padding-bottom: 3.125rem !important;\n}\n\n.pb-9 {\n padding-bottom: 3.75rem !important;\n}\n\n.pb-10 {\n padding-bottom: 5rem !important;\n}\n\n.pb-11 {\n padding-bottom: 7.5rem !important;\n}\n\n.ps-1 {\n padding-inline-start: 0.25rem !important;\n}\n\n.ps-2 {\n padding-inline-start: 0.5rem !important;\n}\n\n.ps-3 {\n padding-inline-start: 0.75rem !important;\n}\n\n.ps-4 {\n padding-inline-start: 1rem !important;\n}\n\n.ps-5 {\n padding-inline-start: 1.25rem !important;\n}\n\n.ps-6 {\n padding-inline-start: 1.75rem !important;\n}\n\n.ps-7 {\n padding-inline-start: 2.5rem !important;\n}\n\n.ps-8 {\n padding-inline-start: 3.125rem !important;\n}\n\n.ps-9 {\n padding-inline-start: 3.75rem !important;\n}\n\n.ps-10 {\n padding-inline-start: 5rem !important;\n}\n\n.ps-11 {\n padding-inline-start: 7.5rem !important;\n}\n\n.pe-1 {\n padding-inline-end: 0.25rem !important;\n}\n\n.pe-2 {\n padding-inline-end: 0.5rem !important;\n}\n\n.pe-3 {\n padding-inline-end: 0.75rem !important;\n}\n\n.pe-4 {\n padding-inline-end: 1rem !important;\n}\n\n.pe-5 {\n padding-inline-end: 1.25rem !important;\n}\n\n.pe-6 {\n padding-inline-end: 1.75rem !important;\n}\n\n.pe-7 {\n padding-inline-end: 2.5rem !important;\n}\n\n.pe-8 {\n padding-inline-end: 3.125rem !important;\n}\n\n.pe-9 {\n padding-inline-end: 3.75rem !important;\n}\n\n.pe-10 {\n padding-inline-end: 5rem !important;\n}\n\n.pe-11 {\n padding-inline-end: 7.5rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 0.75rem !important;\n}\n\n.pl-4 {\n padding-left: 1rem !important;\n}\n\n.pl-5 {\n padding-left: 1.25rem !important;\n}\n\n.pl-6 {\n padding-left: 1.75rem !important;\n}\n\n.pl-7 {\n padding-left: 2.5rem !important;\n}\n\n.pl-8 {\n padding-left: 3.125rem !important;\n}\n\n.pl-9 {\n padding-left: 3.75rem !important;\n}\n\n.pl-10 {\n padding-left: 5rem !important;\n}\n\n.pl-11 {\n padding-left: 7.5rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 0.75rem !important;\n}\n\n.pr-4 {\n padding-right: 1rem !important;\n}\n\n.pr-5 {\n padding-right: 1.25rem !important;\n}\n\n.pr-6 {\n padding-right: 1.75rem !important;\n}\n\n.pr-7 {\n padding-right: 2.5rem !important;\n}\n\n.pr-8 {\n padding-right: 3.125rem !important;\n}\n\n.pr-9 {\n padding-right: 3.75rem !important;\n}\n\n.pr-10 {\n padding-right: 5rem !important;\n}\n\n.pr-11 {\n padding-right: 7.5rem !important;\n}\n\n.px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.px-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n}\n\n.px-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.px-5 {\n padding-left: 1.25rem !important;\n padding-right: 1.25rem !important;\n}\n\n.px-6 {\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n}\n\n.px-7 {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n}\n\n.px-8 {\n padding-left: 3.125rem !important;\n padding-right: 3.125rem !important;\n}\n\n.px-9 {\n padding-left: 3.75rem !important;\n padding-right: 3.75rem !important;\n}\n\n.px-10 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n}\n\n.px-11 {\n padding-left: 7.5rem !important;\n padding-right: 7.5rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n}\n\n.py-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-5 {\n padding-top: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n}\n\n.py-6 {\n padding-top: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n}\n\n.py-7 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n}\n\n.py-8 {\n padding-top: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n}\n\n.py-9 {\n padding-top: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n}\n\n.py-10 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n}\n\n.py-11 {\n padding-top: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n}\n\n.pa-1 {\n padding-top: 0.25rem !important;\n padding-right: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.pa-2 {\n padding-top: 0.5rem !important;\n padding-right: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.pa-3 {\n padding-top: 0.75rem !important;\n padding-right: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n padding-left: 0.75rem !important;\n}\n\n.pa-4 {\n padding-top: 1rem !important;\n padding-right: 1rem !important;\n padding-bottom: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.pa-5 {\n padding-top: 1.25rem !important;\n padding-right: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n padding-left: 1.25rem !important;\n}\n\n.pa-6 {\n padding-top: 1.75rem !important;\n padding-right: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n padding-left: 1.75rem !important;\n}\n\n.pa-7 {\n padding-top: 2.5rem !important;\n padding-right: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n padding-left: 2.5rem !important;\n}\n\n.pa-8 {\n padding-top: 3.125rem !important;\n padding-right: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n padding-left: 3.125rem !important;\n}\n\n.pa-9 {\n padding-top: 3.75rem !important;\n padding-right: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n padding-left: 3.75rem !important;\n}\n\n.pa-10 {\n padding-top: 5rem !important;\n padding-right: 5rem !important;\n padding-bottom: 5rem !important;\n padding-left: 5rem !important;\n}\n\n.pa-11 {\n padding-top: 7.5rem !important;\n padding-right: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n padding-left: 7.5rem !important;\n}\n\n@media (min-width: 0) {\n .mt-0-1 {\n margin-top: 0.25rem !important;\n }\n .mt-0-2 {\n margin-top: 0.5rem !important;\n }\n .mt-0-3 {\n margin-top: 0.75rem !important;\n }\n .mt-0-4 {\n margin-top: 1rem !important;\n }\n .mt-0-5 {\n margin-top: 1.25rem !important;\n }\n .mt-0-6 {\n margin-top: 1.75rem !important;\n }\n .mt-0-7 {\n margin-top: 2.5rem !important;\n }\n .mt-0-8 {\n margin-top: 3.125rem !important;\n }\n .mt-0-9 {\n margin-top: 3.75rem !important;\n }\n .mt-0-10 {\n margin-top: 5rem !important;\n }\n .mt-0-11 {\n margin-top: 7.5rem !important;\n }\n .mb-0-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-0-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-0-3 {\n margin-bottom: 0.75rem !important;\n }\n .mb-0-4 {\n margin-bottom: 1rem !important;\n }\n .mb-0-5 {\n margin-bottom: 1.25rem !important;\n }\n .mb-0-6 {\n margin-bottom: 1.75rem !important;\n }\n .mb-0-7 {\n margin-bottom: 2.5rem !important;\n }\n .mb-0-8 {\n margin-bottom: 3.125rem !important;\n }\n .mb-0-9 {\n margin-bottom: 3.75rem !important;\n }\n .mb-0-10 {\n margin-bottom: 5rem !important;\n }\n .mb-0-11 {\n margin-bottom: 7.5rem !important;\n }\n .ms-0-1 {\n margin-inline-start: 0.25rem !important;\n }\n .ms-0-2 {\n margin-inline-start: 0.5rem !important;\n }\n .ms-0-3 {\n margin-inline-start: 0.75rem !important;\n }\n .ms-0-4 {\n margin-inline-start: 1rem !important;\n }\n .ms-0-5 {\n margin-inline-start: 1.25rem !important;\n }\n .ms-0-6 {\n margin-inline-start: 1.75rem !important;\n }\n .ms-0-7 {\n margin-inline-start: 2.5rem !important;\n }\n .ms-0-8 {\n margin-inline-start: 3.125rem !important;\n }\n .ms-0-9 {\n margin-inline-start: 3.75rem !important;\n }\n .ms-0-10 {\n margin-inline-start: 5rem !important;\n }\n .ms-0-11 {\n margin-inline-start: 7.5rem !important;\n }\n .me-0-1 {\n margin-inline-end: 0.25rem !important;\n }\n .me-0-2 {\n margin-inline-end: 0.5rem !important;\n }\n .me-0-3 {\n margin-inline-end: 0.75rem !important;\n }\n .me-0-4 {\n margin-inline-end: 1rem !important;\n }\n .me-0-5 {\n margin-inline-end: 1.25rem !important;\n }\n .me-0-6 {\n margin-inline-end: 1.75rem !important;\n }\n .me-0-7 {\n margin-inline-end: 2.5rem !important;\n }\n .me-0-8 {\n margin-inline-end: 3.125rem !important;\n }\n .me-0-9 {\n margin-inline-end: 3.75rem !important;\n }\n .me-0-10 {\n margin-inline-end: 5rem !important;\n }\n .me-0-11 {\n margin-inline-end: 7.5rem !important;\n }\n .ml-0-1 {\n margin-left: 0.25rem !important;\n }\n .ml-0-2 {\n margin-left: 0.5rem !important;\n }\n .ml-0-3 {\n margin-left: 0.75rem !important;\n }\n .ml-0-4 {\n margin-left: 1rem !important;\n }\n .ml-0-5 {\n margin-left: 1.25rem !important;\n }\n .ml-0-6 {\n margin-left: 1.75rem !important;\n }\n .ml-0-7 {\n margin-left: 2.5rem !important;\n }\n .ml-0-8 {\n margin-left: 3.125rem !important;\n }\n .ml-0-9 {\n margin-left: 3.75rem !important;\n }\n .ml-0-10 {\n margin-left: 5rem !important;\n }\n .ml-0-11 {\n margin-left: 7.5rem !important;\n }\n .mr-0-1 {\n margin-right: 0.25rem !important;\n }\n .mr-0-2 {\n margin-right: 0.5rem !important;\n }\n .mr-0-3 {\n margin-right: 0.75rem !important;\n }\n .mr-0-4 {\n margin-right: 1rem !important;\n }\n .mr-0-5 {\n margin-right: 1.25rem !important;\n }\n .mr-0-6 {\n margin-right: 1.75rem !important;\n }\n .mr-0-7 {\n margin-right: 2.5rem !important;\n }\n .mr-0-8 {\n margin-right: 3.125rem !important;\n }\n .mr-0-9 {\n margin-right: 3.75rem !important;\n }\n .mr-0-10 {\n margin-right: 5rem !important;\n }\n .mr-0-11 {\n margin-right: 7.5rem !important;\n }\n .mx-0-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-0-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-0-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n }\n .mx-0-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-0-5 {\n margin-left: 1.25rem !important;\n margin-right: 1.25rem !important;\n }\n .mx-0-6 {\n margin-left: 1.75rem !important;\n margin-right: 1.75rem !important;\n }\n .mx-0-7 {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n }\n .mx-0-8 {\n margin-left: 3.125rem !important;\n margin-right: 3.125rem !important;\n }\n .mx-0-9 {\n margin-left: 3.75rem !important;\n margin-right: 3.75rem !important;\n }\n .mx-0-10 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n .mx-0-11 {\n margin-left: 7.5rem !important;\n margin-right: 7.5rem !important;\n }\n .my-0-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-0-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-0-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n }\n .my-0-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-0-5 {\n margin-top: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n }\n .my-0-6 {\n margin-top: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n }\n .my-0-7 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-0-8 {\n margin-top: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n }\n .my-0-9 {\n margin-top: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n }\n .my-0-10 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-0-11 {\n margin-top: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n }\n .ma-0-1 {\n margin-top: 0.25rem !important;\n margin-right: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .ma-0-2 {\n margin-top: 0.5rem !important;\n margin-right: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .ma-0-3 {\n margin-top: 0.75rem !important;\n margin-right: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n margin-left: 0.75rem !important;\n }\n .ma-0-4 {\n margin-top: 1rem !important;\n margin-right: 1rem !important;\n margin-bottom: 1rem !important;\n margin-left: 1rem !important;\n }\n .ma-0-5 {\n margin-top: 1.25rem !important;\n margin-right: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n margin-left: 1.25rem !important;\n }\n .ma-0-6 {\n margin-top: 1.75rem !important;\n margin-right: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n margin-left: 1.75rem !important;\n }\n .ma-0-7 {\n margin-top: 2.5rem !important;\n margin-right: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .ma-0-8 {\n margin-top: 3.125rem !important;\n margin-right: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n margin-left: 3.125rem !important;\n }\n .ma-0-9 {\n margin-top: 3.75rem !important;\n margin-right: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n margin-left: 3.75rem !important;\n }\n .ma-0-10 {\n margin-top: 5rem !important;\n margin-right: 5rem !important;\n margin-bottom: 5rem !important;\n margin-left: 5rem !important;\n }\n .ma-0-11 {\n margin-top: 7.5rem !important;\n margin-right: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n margin-left: 7.5rem !important;\n }\n .pt-0-1 {\n padding-top: 0.25rem !important;\n }\n .pt-0-2 {\n padding-top: 0.5rem !important;\n }\n .pt-0-3 {\n padding-top: 0.75rem !important;\n }\n .pt-0-4 {\n padding-top: 1rem !important;\n }\n .pt-0-5 {\n padding-top: 1.25rem !important;\n }\n .pt-0-6 {\n padding-top: 1.75rem !important;\n }\n .pt-0-7 {\n padding-top: 2.5rem !important;\n }\n .pt-0-8 {\n padding-top: 3.125rem !important;\n }\n .pt-0-9 {\n padding-top: 3.75rem !important;\n }\n .pt-0-10 {\n padding-top: 5rem !important;\n }\n .pt-0-11 {\n padding-top: 7.5rem !important;\n }\n .pb-0-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-0-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-0-3 {\n padding-bottom: 0.75rem !important;\n }\n .pb-0-4 {\n padding-bottom: 1rem !important;\n }\n .pb-0-5 {\n padding-bottom: 1.25rem !important;\n }\n .pb-0-6 {\n padding-bottom: 1.75rem !important;\n }\n .pb-0-7 {\n padding-bottom: 2.5rem !important;\n }\n .pb-0-8 {\n padding-bottom: 3.125rem !important;\n }\n .pb-0-9 {\n padding-bottom: 3.75rem !important;\n }\n .pb-0-10 {\n padding-bottom: 5rem !important;\n }\n .pb-0-11 {\n padding-bottom: 7.5rem !important;\n }\n .ps-0-1 {\n padding-inline-start: 0.25rem !important;\n }\n .ps-0-2 {\n padding-inline-start: 0.5rem !important;\n }\n .ps-0-3 {\n padding-inline-start: 0.75rem !important;\n }\n .ps-0-4 {\n padding-inline-start: 1rem !important;\n }\n .ps-0-5 {\n padding-inline-start: 1.25rem !important;\n }\n .ps-0-6 {\n padding-inline-start: 1.75rem !important;\n }\n .ps-0-7 {\n padding-inline-start: 2.5rem !important;\n }\n .ps-0-8 {\n padding-inline-start: 3.125rem !important;\n }\n .ps-0-9 {\n padding-inline-start: 3.75rem !important;\n }\n .ps-0-10 {\n padding-inline-start: 5rem !important;\n }\n .ps-0-11 {\n padding-inline-start: 7.5rem !important;\n }\n .pe-0-1 {\n padding-inline-end: 0.25rem !important;\n }\n .pe-0-2 {\n padding-inline-end: 0.5rem !important;\n }\n .pe-0-3 {\n padding-inline-end: 0.75rem !important;\n }\n .pe-0-4 {\n padding-inline-end: 1rem !important;\n }\n .pe-0-5 {\n padding-inline-end: 1.25rem !important;\n }\n .pe-0-6 {\n padding-inline-end: 1.75rem !important;\n }\n .pe-0-7 {\n padding-inline-end: 2.5rem !important;\n }\n .pe-0-8 {\n padding-inline-end: 3.125rem !important;\n }\n .pe-0-9 {\n padding-inline-end: 3.75rem !important;\n }\n .pe-0-10 {\n padding-inline-end: 5rem !important;\n }\n .pe-0-11 {\n padding-inline-end: 7.5rem !important;\n }\n .pl-0-1 {\n padding-left: 0.25rem !important;\n }\n .pl-0-2 {\n padding-left: 0.5rem !important;\n }\n .pl-0-3 {\n padding-left: 0.75rem !important;\n }\n .pl-0-4 {\n padding-left: 1rem !important;\n }\n .pl-0-5 {\n padding-left: 1.25rem !important;\n }\n .pl-0-6 {\n padding-left: 1.75rem !important;\n }\n .pl-0-7 {\n padding-left: 2.5rem !important;\n }\n .pl-0-8 {\n padding-left: 3.125rem !important;\n }\n .pl-0-9 {\n padding-left: 3.75rem !important;\n }\n .pl-0-10 {\n padding-left: 5rem !important;\n }\n .pl-0-11 {\n padding-left: 7.5rem !important;\n }\n .pr-0-1 {\n padding-right: 0.25rem !important;\n }\n .pr-0-2 {\n padding-right: 0.5rem !important;\n }\n .pr-0-3 {\n padding-right: 0.75rem !important;\n }\n .pr-0-4 {\n padding-right: 1rem !important;\n }\n .pr-0-5 {\n padding-right: 1.25rem !important;\n }\n .pr-0-6 {\n padding-right: 1.75rem !important;\n }\n .pr-0-7 {\n padding-right: 2.5rem !important;\n }\n .pr-0-8 {\n padding-right: 3.125rem !important;\n }\n .pr-0-9 {\n padding-right: 3.75rem !important;\n }\n .pr-0-10 {\n padding-right: 5rem !important;\n }\n .pr-0-11 {\n padding-right: 7.5rem !important;\n }\n .px-0-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-0-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-0-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n }\n .px-0-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-0-5 {\n padding-left: 1.25rem !important;\n padding-right: 1.25rem !important;\n }\n .px-0-6 {\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n }\n .px-0-7 {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n }\n .px-0-8 {\n padding-left: 3.125rem !important;\n padding-right: 3.125rem !important;\n }\n .px-0-9 {\n padding-left: 3.75rem !important;\n padding-right: 3.75rem !important;\n }\n .px-0-10 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n .px-0-11 {\n padding-left: 7.5rem !important;\n padding-right: 7.5rem !important;\n }\n .py-0-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-0-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-0-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n }\n .py-0-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-0-5 {\n padding-top: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n }\n .py-0-6 {\n padding-top: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n }\n .py-0-7 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .py-0-8 {\n padding-top: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n }\n .py-0-9 {\n padding-top: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n }\n .py-0-10 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-0-11 {\n padding-top: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n }\n .pa-0-1 {\n padding-top: 0.25rem !important;\n padding-right: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .pa-0-2 {\n padding-top: 0.5rem !important;\n padding-right: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .pa-0-3 {\n padding-top: 0.75rem !important;\n padding-right: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n padding-left: 0.75rem !important;\n }\n .pa-0-4 {\n padding-top: 1rem !important;\n padding-right: 1rem !important;\n padding-bottom: 1rem !important;\n padding-left: 1rem !important;\n }\n .pa-0-5 {\n padding-top: 1.25rem !important;\n padding-right: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n padding-left: 1.25rem !important;\n }\n .pa-0-6 {\n padding-top: 1.75rem !important;\n padding-right: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n padding-left: 1.75rem !important;\n }\n .pa-0-7 {\n padding-top: 2.5rem !important;\n padding-right: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .pa-0-8 {\n padding-top: 3.125rem !important;\n padding-right: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n padding-left: 3.125rem !important;\n }\n .pa-0-9 {\n padding-top: 3.75rem !important;\n padding-right: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n padding-left: 3.75rem !important;\n }\n .pa-0-10 {\n padding-top: 5rem !important;\n padding-right: 5rem !important;\n padding-bottom: 5rem !important;\n padding-left: 5rem !important;\n }\n .pa-0-11 {\n padding-top: 7.5rem !important;\n padding-right: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n padding-left: 7.5rem !important;\n }\n}\n@media (min-width: 321px) {\n .mt-3xs-1 {\n margin-top: 0.25rem !important;\n }\n .mt-3xs-2 {\n margin-top: 0.5rem !important;\n }\n .mt-3xs-3 {\n margin-top: 0.75rem !important;\n }\n .mt-3xs-4 {\n margin-top: 1rem !important;\n }\n .mt-3xs-5 {\n margin-top: 1.25rem !important;\n }\n .mt-3xs-6 {\n margin-top: 1.75rem !important;\n }\n .mt-3xs-7 {\n margin-top: 2.5rem !important;\n }\n .mt-3xs-8 {\n margin-top: 3.125rem !important;\n }\n .mt-3xs-9 {\n margin-top: 3.75rem !important;\n }\n .mt-3xs-10 {\n margin-top: 5rem !important;\n }\n .mt-3xs-11 {\n margin-top: 7.5rem !important;\n }\n .mb-3xs-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-3xs-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-3xs-3 {\n margin-bottom: 0.75rem !important;\n }\n .mb-3xs-4 {\n margin-bottom: 1rem !important;\n }\n .mb-3xs-5 {\n margin-bottom: 1.25rem !important;\n }\n .mb-3xs-6 {\n margin-bottom: 1.75rem !important;\n }\n .mb-3xs-7 {\n margin-bottom: 2.5rem !important;\n }\n .mb-3xs-8 {\n margin-bottom: 3.125rem !important;\n }\n .mb-3xs-9 {\n margin-bottom: 3.75rem !important;\n }\n .mb-3xs-10 {\n margin-bottom: 5rem !important;\n }\n .mb-3xs-11 {\n margin-bottom: 7.5rem !important;\n }\n .ms-3xs-1 {\n margin-inline-start: 0.25rem !important;\n }\n .ms-3xs-2 {\n margin-inline-start: 0.5rem !important;\n }\n .ms-3xs-3 {\n margin-inline-start: 0.75rem !important;\n }\n .ms-3xs-4 {\n margin-inline-start: 1rem !important;\n }\n .ms-3xs-5 {\n margin-inline-start: 1.25rem !important;\n }\n .ms-3xs-6 {\n margin-inline-start: 1.75rem !important;\n }\n .ms-3xs-7 {\n margin-inline-start: 2.5rem !important;\n }\n .ms-3xs-8 {\n margin-inline-start: 3.125rem !important;\n }\n .ms-3xs-9 {\n margin-inline-start: 3.75rem !important;\n }\n .ms-3xs-10 {\n margin-inline-start: 5rem !important;\n }\n .ms-3xs-11 {\n margin-inline-start: 7.5rem !important;\n }\n .me-3xs-1 {\n margin-inline-end: 0.25rem !important;\n }\n .me-3xs-2 {\n margin-inline-end: 0.5rem !important;\n }\n .me-3xs-3 {\n margin-inline-end: 0.75rem !important;\n }\n .me-3xs-4 {\n margin-inline-end: 1rem !important;\n }\n .me-3xs-5 {\n margin-inline-end: 1.25rem !important;\n }\n .me-3xs-6 {\n margin-inline-end: 1.75rem !important;\n }\n .me-3xs-7 {\n margin-inline-end: 2.5rem !important;\n }\n .me-3xs-8 {\n margin-inline-end: 3.125rem !important;\n }\n .me-3xs-9 {\n margin-inline-end: 3.75rem !important;\n }\n .me-3xs-10 {\n margin-inline-end: 5rem !important;\n }\n .me-3xs-11 {\n margin-inline-end: 7.5rem !important;\n }\n .ml-3xs-1 {\n margin-left: 0.25rem !important;\n }\n .ml-3xs-2 {\n margin-left: 0.5rem !important;\n }\n .ml-3xs-3 {\n margin-left: 0.75rem !important;\n }\n .ml-3xs-4 {\n margin-left: 1rem !important;\n }\n .ml-3xs-5 {\n margin-left: 1.25rem !important;\n }\n .ml-3xs-6 {\n margin-left: 1.75rem !important;\n }\n .ml-3xs-7 {\n margin-left: 2.5rem !important;\n }\n .ml-3xs-8 {\n margin-left: 3.125rem !important;\n }\n .ml-3xs-9 {\n margin-left: 3.75rem !important;\n }\n .ml-3xs-10 {\n margin-left: 5rem !important;\n }\n .ml-3xs-11 {\n margin-left: 7.5rem !important;\n }\n .mr-3xs-1 {\n margin-right: 0.25rem !important;\n }\n .mr-3xs-2 {\n margin-right: 0.5rem !important;\n }\n .mr-3xs-3 {\n margin-right: 0.75rem !important;\n }\n .mr-3xs-4 {\n margin-right: 1rem !important;\n }\n .mr-3xs-5 {\n margin-right: 1.25rem !important;\n }\n .mr-3xs-6 {\n margin-right: 1.75rem !important;\n }\n .mr-3xs-7 {\n margin-right: 2.5rem !important;\n }\n .mr-3xs-8 {\n margin-right: 3.125rem !important;\n }\n .mr-3xs-9 {\n margin-right: 3.75rem !important;\n }\n .mr-3xs-10 {\n margin-right: 5rem !important;\n }\n .mr-3xs-11 {\n margin-right: 7.5rem !important;\n }\n .mx-3xs-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-3xs-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-3xs-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n }\n .mx-3xs-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-3xs-5 {\n margin-left: 1.25rem !important;\n margin-right: 1.25rem !important;\n }\n .mx-3xs-6 {\n margin-left: 1.75rem !important;\n margin-right: 1.75rem !important;\n }\n .mx-3xs-7 {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n }\n .mx-3xs-8 {\n margin-left: 3.125rem !important;\n margin-right: 3.125rem !important;\n }\n .mx-3xs-9 {\n margin-left: 3.75rem !important;\n margin-right: 3.75rem !important;\n }\n .mx-3xs-10 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n .mx-3xs-11 {\n margin-left: 7.5rem !important;\n margin-right: 7.5rem !important;\n }\n .my-3xs-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-3xs-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-3xs-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n }\n .my-3xs-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-3xs-5 {\n margin-top: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n }\n .my-3xs-6 {\n margin-top: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n }\n .my-3xs-7 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-3xs-8 {\n margin-top: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n }\n .my-3xs-9 {\n margin-top: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n }\n .my-3xs-10 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-3xs-11 {\n margin-top: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n }\n .ma-3xs-1 {\n margin-top: 0.25rem !important;\n margin-right: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .ma-3xs-2 {\n margin-top: 0.5rem !important;\n margin-right: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .ma-3xs-3 {\n margin-top: 0.75rem !important;\n margin-right: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n margin-left: 0.75rem !important;\n }\n .ma-3xs-4 {\n margin-top: 1rem !important;\n margin-right: 1rem !important;\n margin-bottom: 1rem !important;\n margin-left: 1rem !important;\n }\n .ma-3xs-5 {\n margin-top: 1.25rem !important;\n margin-right: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n margin-left: 1.25rem !important;\n }\n .ma-3xs-6 {\n margin-top: 1.75rem !important;\n margin-right: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n margin-left: 1.75rem !important;\n }\n .ma-3xs-7 {\n margin-top: 2.5rem !important;\n margin-right: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .ma-3xs-8 {\n margin-top: 3.125rem !important;\n margin-right: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n margin-left: 3.125rem !important;\n }\n .ma-3xs-9 {\n margin-top: 3.75rem !important;\n margin-right: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n margin-left: 3.75rem !important;\n }\n .ma-3xs-10 {\n margin-top: 5rem !important;\n margin-right: 5rem !important;\n margin-bottom: 5rem !important;\n margin-left: 5rem !important;\n }\n .ma-3xs-11 {\n margin-top: 7.5rem !important;\n margin-right: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n margin-left: 7.5rem !important;\n }\n .pt-3xs-1 {\n padding-top: 0.25rem !important;\n }\n .pt-3xs-2 {\n padding-top: 0.5rem !important;\n }\n .pt-3xs-3 {\n padding-top: 0.75rem !important;\n }\n .pt-3xs-4 {\n padding-top: 1rem !important;\n }\n .pt-3xs-5 {\n padding-top: 1.25rem !important;\n }\n .pt-3xs-6 {\n padding-top: 1.75rem !important;\n }\n .pt-3xs-7 {\n padding-top: 2.5rem !important;\n }\n .pt-3xs-8 {\n padding-top: 3.125rem !important;\n }\n .pt-3xs-9 {\n padding-top: 3.75rem !important;\n }\n .pt-3xs-10 {\n padding-top: 5rem !important;\n }\n .pt-3xs-11 {\n padding-top: 7.5rem !important;\n }\n .pb-3xs-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-3xs-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-3xs-3 {\n padding-bottom: 0.75rem !important;\n }\n .pb-3xs-4 {\n padding-bottom: 1rem !important;\n }\n .pb-3xs-5 {\n padding-bottom: 1.25rem !important;\n }\n .pb-3xs-6 {\n padding-bottom: 1.75rem !important;\n }\n .pb-3xs-7 {\n padding-bottom: 2.5rem !important;\n }\n .pb-3xs-8 {\n padding-bottom: 3.125rem !important;\n }\n .pb-3xs-9 {\n padding-bottom: 3.75rem !important;\n }\n .pb-3xs-10 {\n padding-bottom: 5rem !important;\n }\n .pb-3xs-11 {\n padding-bottom: 7.5rem !important;\n }\n .ps-3xs-1 {\n padding-inline-start: 0.25rem !important;\n }\n .ps-3xs-2 {\n padding-inline-start: 0.5rem !important;\n }\n .ps-3xs-3 {\n padding-inline-start: 0.75rem !important;\n }\n .ps-3xs-4 {\n padding-inline-start: 1rem !important;\n }\n .ps-3xs-5 {\n padding-inline-start: 1.25rem !important;\n }\n .ps-3xs-6 {\n padding-inline-start: 1.75rem !important;\n }\n .ps-3xs-7 {\n padding-inline-start: 2.5rem !important;\n }\n .ps-3xs-8 {\n padding-inline-start: 3.125rem !important;\n }\n .ps-3xs-9 {\n padding-inline-start: 3.75rem !important;\n }\n .ps-3xs-10 {\n padding-inline-start: 5rem !important;\n }\n .ps-3xs-11 {\n padding-inline-start: 7.5rem !important;\n }\n .pe-3xs-1 {\n padding-inline-end: 0.25rem !important;\n }\n .pe-3xs-2 {\n padding-inline-end: 0.5rem !important;\n }\n .pe-3xs-3 {\n padding-inline-end: 0.75rem !important;\n }\n .pe-3xs-4 {\n padding-inline-end: 1rem !important;\n }\n .pe-3xs-5 {\n padding-inline-end: 1.25rem !important;\n }\n .pe-3xs-6 {\n padding-inline-end: 1.75rem !important;\n }\n .pe-3xs-7 {\n padding-inline-end: 2.5rem !important;\n }\n .pe-3xs-8 {\n padding-inline-end: 3.125rem !important;\n }\n .pe-3xs-9 {\n padding-inline-end: 3.75rem !important;\n }\n .pe-3xs-10 {\n padding-inline-end: 5rem !important;\n }\n .pe-3xs-11 {\n padding-inline-end: 7.5rem !important;\n }\n .pl-3xs-1 {\n padding-left: 0.25rem !important;\n }\n .pl-3xs-2 {\n padding-left: 0.5rem !important;\n }\n .pl-3xs-3 {\n padding-left: 0.75rem !important;\n }\n .pl-3xs-4 {\n padding-left: 1rem !important;\n }\n .pl-3xs-5 {\n padding-left: 1.25rem !important;\n }\n .pl-3xs-6 {\n padding-left: 1.75rem !important;\n }\n .pl-3xs-7 {\n padding-left: 2.5rem !important;\n }\n .pl-3xs-8 {\n padding-left: 3.125rem !important;\n }\n .pl-3xs-9 {\n padding-left: 3.75rem !important;\n }\n .pl-3xs-10 {\n padding-left: 5rem !important;\n }\n .pl-3xs-11 {\n padding-left: 7.5rem !important;\n }\n .pr-3xs-1 {\n padding-right: 0.25rem !important;\n }\n .pr-3xs-2 {\n padding-right: 0.5rem !important;\n }\n .pr-3xs-3 {\n padding-right: 0.75rem !important;\n }\n .pr-3xs-4 {\n padding-right: 1rem !important;\n }\n .pr-3xs-5 {\n padding-right: 1.25rem !important;\n }\n .pr-3xs-6 {\n padding-right: 1.75rem !important;\n }\n .pr-3xs-7 {\n padding-right: 2.5rem !important;\n }\n .pr-3xs-8 {\n padding-right: 3.125rem !important;\n }\n .pr-3xs-9 {\n padding-right: 3.75rem !important;\n }\n .pr-3xs-10 {\n padding-right: 5rem !important;\n }\n .pr-3xs-11 {\n padding-right: 7.5rem !important;\n }\n .px-3xs-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-3xs-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-3xs-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n }\n .px-3xs-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-3xs-5 {\n padding-left: 1.25rem !important;\n padding-right: 1.25rem !important;\n }\n .px-3xs-6 {\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n }\n .px-3xs-7 {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n }\n .px-3xs-8 {\n padding-left: 3.125rem !important;\n padding-right: 3.125rem !important;\n }\n .px-3xs-9 {\n padding-left: 3.75rem !important;\n padding-right: 3.75rem !important;\n }\n .px-3xs-10 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n .px-3xs-11 {\n padding-left: 7.5rem !important;\n padding-right: 7.5rem !important;\n }\n .py-3xs-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-3xs-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-3xs-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n }\n .py-3xs-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-3xs-5 {\n padding-top: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n }\n .py-3xs-6 {\n padding-top: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n }\n .py-3xs-7 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .py-3xs-8 {\n padding-top: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n }\n .py-3xs-9 {\n padding-top: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n }\n .py-3xs-10 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-3xs-11 {\n padding-top: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n }\n .pa-3xs-1 {\n padding-top: 0.25rem !important;\n padding-right: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .pa-3xs-2 {\n padding-top: 0.5rem !important;\n padding-right: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .pa-3xs-3 {\n padding-top: 0.75rem !important;\n padding-right: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n padding-left: 0.75rem !important;\n }\n .pa-3xs-4 {\n padding-top: 1rem !important;\n padding-right: 1rem !important;\n padding-bottom: 1rem !important;\n padding-left: 1rem !important;\n }\n .pa-3xs-5 {\n padding-top: 1.25rem !important;\n padding-right: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n padding-left: 1.25rem !important;\n }\n .pa-3xs-6 {\n padding-top: 1.75rem !important;\n padding-right: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n padding-left: 1.75rem !important;\n }\n .pa-3xs-7 {\n padding-top: 2.5rem !important;\n padding-right: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .pa-3xs-8 {\n padding-top: 3.125rem !important;\n padding-right: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n padding-left: 3.125rem !important;\n }\n .pa-3xs-9 {\n padding-top: 3.75rem !important;\n padding-right: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n padding-left: 3.75rem !important;\n }\n .pa-3xs-10 {\n padding-top: 5rem !important;\n padding-right: 5rem !important;\n padding-bottom: 5rem !important;\n padding-left: 5rem !important;\n }\n .pa-3xs-11 {\n padding-top: 7.5rem !important;\n padding-right: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n padding-left: 7.5rem !important;\n }\n}\n@media (min-width: 376px) {\n .mt-xxs-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxs-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxs-3 {\n margin-top: 0.75rem !important;\n }\n .mt-xxs-4 {\n margin-top: 1rem !important;\n }\n .mt-xxs-5 {\n margin-top: 1.25rem !important;\n }\n .mt-xxs-6 {\n margin-top: 1.75rem !important;\n }\n .mt-xxs-7 {\n margin-top: 2.5rem !important;\n }\n .mt-xxs-8 {\n margin-top: 3.125rem !important;\n }\n .mt-xxs-9 {\n margin-top: 3.75rem !important;\n }\n .mt-xxs-10 {\n margin-top: 5rem !important;\n }\n .mt-xxs-11 {\n margin-top: 7.5rem !important;\n }\n .mb-xxs-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxs-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxs-3 {\n margin-bottom: 0.75rem !important;\n }\n .mb-xxs-4 {\n margin-bottom: 1rem !important;\n }\n .mb-xxs-5 {\n margin-bottom: 1.25rem !important;\n }\n .mb-xxs-6 {\n margin-bottom: 1.75rem !important;\n }\n .mb-xxs-7 {\n margin-bottom: 2.5rem !important;\n }\n .mb-xxs-8 {\n margin-bottom: 3.125rem !important;\n }\n .mb-xxs-9 {\n margin-bottom: 3.75rem !important;\n }\n .mb-xxs-10 {\n margin-bottom: 5rem !important;\n }\n .mb-xxs-11 {\n margin-bottom: 7.5rem !important;\n }\n .ms-xxs-1 {\n margin-inline-start: 0.25rem !important;\n }\n .ms-xxs-2 {\n margin-inline-start: 0.5rem !important;\n }\n .ms-xxs-3 {\n margin-inline-start: 0.75rem !important;\n }\n .ms-xxs-4 {\n margin-inline-start: 1rem !important;\n }\n .ms-xxs-5 {\n margin-inline-start: 1.25rem !important;\n }\n .ms-xxs-6 {\n margin-inline-start: 1.75rem !important;\n }\n .ms-xxs-7 {\n margin-inline-start: 2.5rem !important;\n }\n .ms-xxs-8 {\n margin-inline-start: 3.125rem !important;\n }\n .ms-xxs-9 {\n margin-inline-start: 3.75rem !important;\n }\n .ms-xxs-10 {\n margin-inline-start: 5rem !important;\n }\n .ms-xxs-11 {\n margin-inline-start: 7.5rem !important;\n }\n .me-xxs-1 {\n margin-inline-end: 0.25rem !important;\n }\n .me-xxs-2 {\n margin-inline-end: 0.5rem !important;\n }\n .me-xxs-3 {\n margin-inline-end: 0.75rem !important;\n }\n .me-xxs-4 {\n margin-inline-end: 1rem !important;\n }\n .me-xxs-5 {\n margin-inline-end: 1.25rem !important;\n }\n .me-xxs-6 {\n margin-inline-end: 1.75rem !important;\n }\n .me-xxs-7 {\n margin-inline-end: 2.5rem !important;\n }\n .me-xxs-8 {\n margin-inline-end: 3.125rem !important;\n }\n .me-xxs-9 {\n margin-inline-end: 3.75rem !important;\n }\n .me-xxs-10 {\n margin-inline-end: 5rem !important;\n }\n .me-xxs-11 {\n margin-inline-end: 7.5rem !important;\n }\n .ml-xxs-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxs-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxs-3 {\n margin-left: 0.75rem !important;\n }\n .ml-xxs-4 {\n margin-left: 1rem !important;\n }\n .ml-xxs-5 {\n margin-left: 1.25rem !important;\n }\n .ml-xxs-6 {\n margin-left: 1.75rem !important;\n }\n .ml-xxs-7 {\n margin-left: 2.5rem !important;\n }\n .ml-xxs-8 {\n margin-left: 3.125rem !important;\n }\n .ml-xxs-9 {\n margin-left: 3.75rem !important;\n }\n .ml-xxs-10 {\n margin-left: 5rem !important;\n }\n .ml-xxs-11 {\n margin-left: 7.5rem !important;\n }\n .mr-xxs-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxs-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxs-3 {\n margin-right: 0.75rem !important;\n }\n .mr-xxs-4 {\n margin-right: 1rem !important;\n }\n .mr-xxs-5 {\n margin-right: 1.25rem !important;\n }\n .mr-xxs-6 {\n margin-right: 1.75rem !important;\n }\n .mr-xxs-7 {\n margin-right: 2.5rem !important;\n }\n .mr-xxs-8 {\n margin-right: 3.125rem !important;\n }\n .mr-xxs-9 {\n margin-right: 3.75rem !important;\n }\n .mr-xxs-10 {\n margin-right: 5rem !important;\n }\n .mr-xxs-11 {\n margin-right: 7.5rem !important;\n }\n .mx-xxs-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xxs-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xxs-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n }\n .mx-xxs-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xxs-5 {\n margin-left: 1.25rem !important;\n margin-right: 1.25rem !important;\n }\n .mx-xxs-6 {\n margin-left: 1.75rem !important;\n margin-right: 1.75rem !important;\n }\n .mx-xxs-7 {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n }\n .mx-xxs-8 {\n margin-left: 3.125rem !important;\n margin-right: 3.125rem !important;\n }\n .mx-xxs-9 {\n margin-left: 3.75rem !important;\n margin-right: 3.75rem !important;\n }\n .mx-xxs-10 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n .mx-xxs-11 {\n margin-left: 7.5rem !important;\n margin-right: 7.5rem !important;\n }\n .my-xxs-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxs-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxs-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n }\n .my-xxs-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxs-5 {\n margin-top: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n }\n .my-xxs-6 {\n margin-top: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n }\n .my-xxs-7 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-xxs-8 {\n margin-top: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n }\n .my-xxs-9 {\n margin-top: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n }\n .my-xxs-10 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-xxs-11 {\n margin-top: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n }\n .ma-xxs-1 {\n margin-top: 0.25rem !important;\n margin-right: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .ma-xxs-2 {\n margin-top: 0.5rem !important;\n margin-right: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .ma-xxs-3 {\n margin-top: 0.75rem !important;\n margin-right: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n margin-left: 0.75rem !important;\n }\n .ma-xxs-4 {\n margin-top: 1rem !important;\n margin-right: 1rem !important;\n margin-bottom: 1rem !important;\n margin-left: 1rem !important;\n }\n .ma-xxs-5 {\n margin-top: 1.25rem !important;\n margin-right: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n margin-left: 1.25rem !important;\n }\n .ma-xxs-6 {\n margin-top: 1.75rem !important;\n margin-right: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n margin-left: 1.75rem !important;\n }\n .ma-xxs-7 {\n margin-top: 2.5rem !important;\n margin-right: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .ma-xxs-8 {\n margin-top: 3.125rem !important;\n margin-right: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n margin-left: 3.125rem !important;\n }\n .ma-xxs-9 {\n margin-top: 3.75rem !important;\n margin-right: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n margin-left: 3.75rem !important;\n }\n .ma-xxs-10 {\n margin-top: 5rem !important;\n margin-right: 5rem !important;\n margin-bottom: 5rem !important;\n margin-left: 5rem !important;\n }\n .ma-xxs-11 {\n margin-top: 7.5rem !important;\n margin-right: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n margin-left: 7.5rem !important;\n }\n .pt-xxs-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxs-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxs-3 {\n padding-top: 0.75rem !important;\n }\n .pt-xxs-4 {\n padding-top: 1rem !important;\n }\n .pt-xxs-5 {\n padding-top: 1.25rem !important;\n }\n .pt-xxs-6 {\n padding-top: 1.75rem !important;\n }\n .pt-xxs-7 {\n padding-top: 2.5rem !important;\n }\n .pt-xxs-8 {\n padding-top: 3.125rem !important;\n }\n .pt-xxs-9 {\n padding-top: 3.75rem !important;\n }\n .pt-xxs-10 {\n padding-top: 5rem !important;\n }\n .pt-xxs-11 {\n padding-top: 7.5rem !important;\n }\n .pb-xxs-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxs-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxs-3 {\n padding-bottom: 0.75rem !important;\n }\n .pb-xxs-4 {\n padding-bottom: 1rem !important;\n }\n .pb-xxs-5 {\n padding-bottom: 1.25rem !important;\n }\n .pb-xxs-6 {\n padding-bottom: 1.75rem !important;\n }\n .pb-xxs-7 {\n padding-bottom: 2.5rem !important;\n }\n .pb-xxs-8 {\n padding-bottom: 3.125rem !important;\n }\n .pb-xxs-9 {\n padding-bottom: 3.75rem !important;\n }\n .pb-xxs-10 {\n padding-bottom: 5rem !important;\n }\n .pb-xxs-11 {\n padding-bottom: 7.5rem !important;\n }\n .ps-xxs-1 {\n padding-inline-start: 0.25rem !important;\n }\n .ps-xxs-2 {\n padding-inline-start: 0.5rem !important;\n }\n .ps-xxs-3 {\n padding-inline-start: 0.75rem !important;\n }\n .ps-xxs-4 {\n padding-inline-start: 1rem !important;\n }\n .ps-xxs-5 {\n padding-inline-start: 1.25rem !important;\n }\n .ps-xxs-6 {\n padding-inline-start: 1.75rem !important;\n }\n .ps-xxs-7 {\n padding-inline-start: 2.5rem !important;\n }\n .ps-xxs-8 {\n padding-inline-start: 3.125rem !important;\n }\n .ps-xxs-9 {\n padding-inline-start: 3.75rem !important;\n }\n .ps-xxs-10 {\n padding-inline-start: 5rem !important;\n }\n .ps-xxs-11 {\n padding-inline-start: 7.5rem !important;\n }\n .pe-xxs-1 {\n padding-inline-end: 0.25rem !important;\n }\n .pe-xxs-2 {\n padding-inline-end: 0.5rem !important;\n }\n .pe-xxs-3 {\n padding-inline-end: 0.75rem !important;\n }\n .pe-xxs-4 {\n padding-inline-end: 1rem !important;\n }\n .pe-xxs-5 {\n padding-inline-end: 1.25rem !important;\n }\n .pe-xxs-6 {\n padding-inline-end: 1.75rem !important;\n }\n .pe-xxs-7 {\n padding-inline-end: 2.5rem !important;\n }\n .pe-xxs-8 {\n padding-inline-end: 3.125rem !important;\n }\n .pe-xxs-9 {\n padding-inline-end: 3.75rem !important;\n }\n .pe-xxs-10 {\n padding-inline-end: 5rem !important;\n }\n .pe-xxs-11 {\n padding-inline-end: 7.5rem !important;\n }\n .pl-xxs-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxs-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxs-3 {\n padding-left: 0.75rem !important;\n }\n .pl-xxs-4 {\n padding-left: 1rem !important;\n }\n .pl-xxs-5 {\n padding-left: 1.25rem !important;\n }\n .pl-xxs-6 {\n padding-left: 1.75rem !important;\n }\n .pl-xxs-7 {\n padding-left: 2.5rem !important;\n }\n .pl-xxs-8 {\n padding-left: 3.125rem !important;\n }\n .pl-xxs-9 {\n padding-left: 3.75rem !important;\n }\n .pl-xxs-10 {\n padding-left: 5rem !important;\n }\n .pl-xxs-11 {\n padding-left: 7.5rem !important;\n }\n .pr-xxs-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxs-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxs-3 {\n padding-right: 0.75rem !important;\n }\n .pr-xxs-4 {\n padding-right: 1rem !important;\n }\n .pr-xxs-5 {\n padding-right: 1.25rem !important;\n }\n .pr-xxs-6 {\n padding-right: 1.75rem !important;\n }\n .pr-xxs-7 {\n padding-right: 2.5rem !important;\n }\n .pr-xxs-8 {\n padding-right: 3.125rem !important;\n }\n .pr-xxs-9 {\n padding-right: 3.75rem !important;\n }\n .pr-xxs-10 {\n padding-right: 5rem !important;\n }\n .pr-xxs-11 {\n padding-right: 7.5rem !important;\n }\n .px-xxs-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xxs-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xxs-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n }\n .px-xxs-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xxs-5 {\n padding-left: 1.25rem !important;\n padding-right: 1.25rem !important;\n }\n .px-xxs-6 {\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n }\n .px-xxs-7 {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n }\n .px-xxs-8 {\n padding-left: 3.125rem !important;\n padding-right: 3.125rem !important;\n }\n .px-xxs-9 {\n padding-left: 3.75rem !important;\n padding-right: 3.75rem !important;\n }\n .px-xxs-10 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n .px-xxs-11 {\n padding-left: 7.5rem !important;\n padding-right: 7.5rem !important;\n }\n .py-xxs-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxs-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxs-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n }\n .py-xxs-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxs-5 {\n padding-top: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n }\n .py-xxs-6 {\n padding-top: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n }\n .py-xxs-7 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .py-xxs-8 {\n padding-top: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n }\n .py-xxs-9 {\n padding-top: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n }\n .py-xxs-10 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-xxs-11 {\n padding-top: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n }\n .pa-xxs-1 {\n padding-top: 0.25rem !important;\n padding-right: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .pa-xxs-2 {\n padding-top: 0.5rem !important;\n padding-right: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .pa-xxs-3 {\n padding-top: 0.75rem !important;\n padding-right: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n padding-left: 0.75rem !important;\n }\n .pa-xxs-4 {\n padding-top: 1rem !important;\n padding-right: 1rem !important;\n padding-bottom: 1rem !important;\n padding-left: 1rem !important;\n }\n .pa-xxs-5 {\n padding-top: 1.25rem !important;\n padding-right: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n padding-left: 1.25rem !important;\n }\n .pa-xxs-6 {\n padding-top: 1.75rem !important;\n padding-right: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n padding-left: 1.75rem !important;\n }\n .pa-xxs-7 {\n padding-top: 2.5rem !important;\n padding-right: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .pa-xxs-8 {\n padding-top: 3.125rem !important;\n padding-right: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n padding-left: 3.125rem !important;\n }\n .pa-xxs-9 {\n padding-top: 3.75rem !important;\n padding-right: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n padding-left: 3.75rem !important;\n }\n .pa-xxs-10 {\n padding-top: 5rem !important;\n padding-right: 5rem !important;\n padding-bottom: 5rem !important;\n padding-left: 5rem !important;\n }\n .pa-xxs-11 {\n padding-top: 7.5rem !important;\n padding-right: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n padding-left: 7.5rem !important;\n }\n}\n@media (min-width: 426px) {\n .mt-xs-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xs-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xs-3 {\n margin-top: 0.75rem !important;\n }\n .mt-xs-4 {\n margin-top: 1rem !important;\n }\n .mt-xs-5 {\n margin-top: 1.25rem !important;\n }\n .mt-xs-6 {\n margin-top: 1.75rem !important;\n }\n .mt-xs-7 {\n margin-top: 2.5rem !important;\n }\n .mt-xs-8 {\n margin-top: 3.125rem !important;\n }\n .mt-xs-9 {\n margin-top: 3.75rem !important;\n }\n .mt-xs-10 {\n margin-top: 5rem !important;\n }\n .mt-xs-11 {\n margin-top: 7.5rem !important;\n }\n .mb-xs-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xs-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xs-3 {\n margin-bottom: 0.75rem !important;\n }\n .mb-xs-4 {\n margin-bottom: 1rem !important;\n }\n .mb-xs-5 {\n margin-bottom: 1.25rem !important;\n }\n .mb-xs-6 {\n margin-bottom: 1.75rem !important;\n }\n .mb-xs-7 {\n margin-bottom: 2.5rem !important;\n }\n .mb-xs-8 {\n margin-bottom: 3.125rem !important;\n }\n .mb-xs-9 {\n margin-bottom: 3.75rem !important;\n }\n .mb-xs-10 {\n margin-bottom: 5rem !important;\n }\n .mb-xs-11 {\n margin-bottom: 7.5rem !important;\n }\n .ms-xs-1 {\n margin-inline-start: 0.25rem !important;\n }\n .ms-xs-2 {\n margin-inline-start: 0.5rem !important;\n }\n .ms-xs-3 {\n margin-inline-start: 0.75rem !important;\n }\n .ms-xs-4 {\n margin-inline-start: 1rem !important;\n }\n .ms-xs-5 {\n margin-inline-start: 1.25rem !important;\n }\n .ms-xs-6 {\n margin-inline-start: 1.75rem !important;\n }\n .ms-xs-7 {\n margin-inline-start: 2.5rem !important;\n }\n .ms-xs-8 {\n margin-inline-start: 3.125rem !important;\n }\n .ms-xs-9 {\n margin-inline-start: 3.75rem !important;\n }\n .ms-xs-10 {\n margin-inline-start: 5rem !important;\n }\n .ms-xs-11 {\n margin-inline-start: 7.5rem !important;\n }\n .me-xs-1 {\n margin-inline-end: 0.25rem !important;\n }\n .me-xs-2 {\n margin-inline-end: 0.5rem !important;\n }\n .me-xs-3 {\n margin-inline-end: 0.75rem !important;\n }\n .me-xs-4 {\n margin-inline-end: 1rem !important;\n }\n .me-xs-5 {\n margin-inline-end: 1.25rem !important;\n }\n .me-xs-6 {\n margin-inline-end: 1.75rem !important;\n }\n .me-xs-7 {\n margin-inline-end: 2.5rem !important;\n }\n .me-xs-8 {\n margin-inline-end: 3.125rem !important;\n }\n .me-xs-9 {\n margin-inline-end: 3.75rem !important;\n }\n .me-xs-10 {\n margin-inline-end: 5rem !important;\n }\n .me-xs-11 {\n margin-inline-end: 7.5rem !important;\n }\n .ml-xs-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xs-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xs-3 {\n margin-left: 0.75rem !important;\n }\n .ml-xs-4 {\n margin-left: 1rem !important;\n }\n .ml-xs-5 {\n margin-left: 1.25rem !important;\n }\n .ml-xs-6 {\n margin-left: 1.75rem !important;\n }\n .ml-xs-7 {\n margin-left: 2.5rem !important;\n }\n .ml-xs-8 {\n margin-left: 3.125rem !important;\n }\n .ml-xs-9 {\n margin-left: 3.75rem !important;\n }\n .ml-xs-10 {\n margin-left: 5rem !important;\n }\n .ml-xs-11 {\n margin-left: 7.5rem !important;\n }\n .mr-xs-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xs-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xs-3 {\n margin-right: 0.75rem !important;\n }\n .mr-xs-4 {\n margin-right: 1rem !important;\n }\n .mr-xs-5 {\n margin-right: 1.25rem !important;\n }\n .mr-xs-6 {\n margin-right: 1.75rem !important;\n }\n .mr-xs-7 {\n margin-right: 2.5rem !important;\n }\n .mr-xs-8 {\n margin-right: 3.125rem !important;\n }\n .mr-xs-9 {\n margin-right: 3.75rem !important;\n }\n .mr-xs-10 {\n margin-right: 5rem !important;\n }\n .mr-xs-11 {\n margin-right: 7.5rem !important;\n }\n .mx-xs-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xs-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xs-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n }\n .mx-xs-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xs-5 {\n margin-left: 1.25rem !important;\n margin-right: 1.25rem !important;\n }\n .mx-xs-6 {\n margin-left: 1.75rem !important;\n margin-right: 1.75rem !important;\n }\n .mx-xs-7 {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n }\n .mx-xs-8 {\n margin-left: 3.125rem !important;\n margin-right: 3.125rem !important;\n }\n .mx-xs-9 {\n margin-left: 3.75rem !important;\n margin-right: 3.75rem !important;\n }\n .mx-xs-10 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n .mx-xs-11 {\n margin-left: 7.5rem !important;\n margin-right: 7.5rem !important;\n }\n .my-xs-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xs-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xs-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n }\n .my-xs-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xs-5 {\n margin-top: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n }\n .my-xs-6 {\n margin-top: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n }\n .my-xs-7 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-xs-8 {\n margin-top: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n }\n .my-xs-9 {\n margin-top: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n }\n .my-xs-10 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-xs-11 {\n margin-top: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n }\n .ma-xs-1 {\n margin-top: 0.25rem !important;\n margin-right: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .ma-xs-2 {\n margin-top: 0.5rem !important;\n margin-right: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .ma-xs-3 {\n margin-top: 0.75rem !important;\n margin-right: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n margin-left: 0.75rem !important;\n }\n .ma-xs-4 {\n margin-top: 1rem !important;\n margin-right: 1rem !important;\n margin-bottom: 1rem !important;\n margin-left: 1rem !important;\n }\n .ma-xs-5 {\n margin-top: 1.25rem !important;\n margin-right: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n margin-left: 1.25rem !important;\n }\n .ma-xs-6 {\n margin-top: 1.75rem !important;\n margin-right: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n margin-left: 1.75rem !important;\n }\n .ma-xs-7 {\n margin-top: 2.5rem !important;\n margin-right: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .ma-xs-8 {\n margin-top: 3.125rem !important;\n margin-right: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n margin-left: 3.125rem !important;\n }\n .ma-xs-9 {\n margin-top: 3.75rem !important;\n margin-right: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n margin-left: 3.75rem !important;\n }\n .ma-xs-10 {\n margin-top: 5rem !important;\n margin-right: 5rem !important;\n margin-bottom: 5rem !important;\n margin-left: 5rem !important;\n }\n .ma-xs-11 {\n margin-top: 7.5rem !important;\n margin-right: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n margin-left: 7.5rem !important;\n }\n .pt-xs-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xs-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xs-3 {\n padding-top: 0.75rem !important;\n }\n .pt-xs-4 {\n padding-top: 1rem !important;\n }\n .pt-xs-5 {\n padding-top: 1.25rem !important;\n }\n .pt-xs-6 {\n padding-top: 1.75rem !important;\n }\n .pt-xs-7 {\n padding-top: 2.5rem !important;\n }\n .pt-xs-8 {\n padding-top: 3.125rem !important;\n }\n .pt-xs-9 {\n padding-top: 3.75rem !important;\n }\n .pt-xs-10 {\n padding-top: 5rem !important;\n }\n .pt-xs-11 {\n padding-top: 7.5rem !important;\n }\n .pb-xs-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xs-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xs-3 {\n padding-bottom: 0.75rem !important;\n }\n .pb-xs-4 {\n padding-bottom: 1rem !important;\n }\n .pb-xs-5 {\n padding-bottom: 1.25rem !important;\n }\n .pb-xs-6 {\n padding-bottom: 1.75rem !important;\n }\n .pb-xs-7 {\n padding-bottom: 2.5rem !important;\n }\n .pb-xs-8 {\n padding-bottom: 3.125rem !important;\n }\n .pb-xs-9 {\n padding-bottom: 3.75rem !important;\n }\n .pb-xs-10 {\n padding-bottom: 5rem !important;\n }\n .pb-xs-11 {\n padding-bottom: 7.5rem !important;\n }\n .ps-xs-1 {\n padding-inline-start: 0.25rem !important;\n }\n .ps-xs-2 {\n padding-inline-start: 0.5rem !important;\n }\n .ps-xs-3 {\n padding-inline-start: 0.75rem !important;\n }\n .ps-xs-4 {\n padding-inline-start: 1rem !important;\n }\n .ps-xs-5 {\n padding-inline-start: 1.25rem !important;\n }\n .ps-xs-6 {\n padding-inline-start: 1.75rem !important;\n }\n .ps-xs-7 {\n padding-inline-start: 2.5rem !important;\n }\n .ps-xs-8 {\n padding-inline-start: 3.125rem !important;\n }\n .ps-xs-9 {\n padding-inline-start: 3.75rem !important;\n }\n .ps-xs-10 {\n padding-inline-start: 5rem !important;\n }\n .ps-xs-11 {\n padding-inline-start: 7.5rem !important;\n }\n .pe-xs-1 {\n padding-inline-end: 0.25rem !important;\n }\n .pe-xs-2 {\n padding-inline-end: 0.5rem !important;\n }\n .pe-xs-3 {\n padding-inline-end: 0.75rem !important;\n }\n .pe-xs-4 {\n padding-inline-end: 1rem !important;\n }\n .pe-xs-5 {\n padding-inline-end: 1.25rem !important;\n }\n .pe-xs-6 {\n padding-inline-end: 1.75rem !important;\n }\n .pe-xs-7 {\n padding-inline-end: 2.5rem !important;\n }\n .pe-xs-8 {\n padding-inline-end: 3.125rem !important;\n }\n .pe-xs-9 {\n padding-inline-end: 3.75rem !important;\n }\n .pe-xs-10 {\n padding-inline-end: 5rem !important;\n }\n .pe-xs-11 {\n padding-inline-end: 7.5rem !important;\n }\n .pl-xs-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xs-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xs-3 {\n padding-left: 0.75rem !important;\n }\n .pl-xs-4 {\n padding-left: 1rem !important;\n }\n .pl-xs-5 {\n padding-left: 1.25rem !important;\n }\n .pl-xs-6 {\n padding-left: 1.75rem !important;\n }\n .pl-xs-7 {\n padding-left: 2.5rem !important;\n }\n .pl-xs-8 {\n padding-left: 3.125rem !important;\n }\n .pl-xs-9 {\n padding-left: 3.75rem !important;\n }\n .pl-xs-10 {\n padding-left: 5rem !important;\n }\n .pl-xs-11 {\n padding-left: 7.5rem !important;\n }\n .pr-xs-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xs-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xs-3 {\n padding-right: 0.75rem !important;\n }\n .pr-xs-4 {\n padding-right: 1rem !important;\n }\n .pr-xs-5 {\n padding-right: 1.25rem !important;\n }\n .pr-xs-6 {\n padding-right: 1.75rem !important;\n }\n .pr-xs-7 {\n padding-right: 2.5rem !important;\n }\n .pr-xs-8 {\n padding-right: 3.125rem !important;\n }\n .pr-xs-9 {\n padding-right: 3.75rem !important;\n }\n .pr-xs-10 {\n padding-right: 5rem !important;\n }\n .pr-xs-11 {\n padding-right: 7.5rem !important;\n }\n .px-xs-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xs-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xs-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n }\n .px-xs-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xs-5 {\n padding-left: 1.25rem !important;\n padding-right: 1.25rem !important;\n }\n .px-xs-6 {\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n }\n .px-xs-7 {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n }\n .px-xs-8 {\n padding-left: 3.125rem !important;\n padding-right: 3.125rem !important;\n }\n .px-xs-9 {\n padding-left: 3.75rem !important;\n padding-right: 3.75rem !important;\n }\n .px-xs-10 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n .px-xs-11 {\n padding-left: 7.5rem !important;\n padding-right: 7.5rem !important;\n }\n .py-xs-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xs-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xs-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n }\n .py-xs-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xs-5 {\n padding-top: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n }\n .py-xs-6 {\n padding-top: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n }\n .py-xs-7 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .py-xs-8 {\n padding-top: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n }\n .py-xs-9 {\n padding-top: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n }\n .py-xs-10 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-xs-11 {\n padding-top: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n }\n .pa-xs-1 {\n padding-top: 0.25rem !important;\n padding-right: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .pa-xs-2 {\n padding-top: 0.5rem !important;\n padding-right: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .pa-xs-3 {\n padding-top: 0.75rem !important;\n padding-right: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n padding-left: 0.75rem !important;\n }\n .pa-xs-4 {\n padding-top: 1rem !important;\n padding-right: 1rem !important;\n padding-bottom: 1rem !important;\n padding-left: 1rem !important;\n }\n .pa-xs-5 {\n padding-top: 1.25rem !important;\n padding-right: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n padding-left: 1.25rem !important;\n }\n .pa-xs-6 {\n padding-top: 1.75rem !important;\n padding-right: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n padding-left: 1.75rem !important;\n }\n .pa-xs-7 {\n padding-top: 2.5rem !important;\n padding-right: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .pa-xs-8 {\n padding-top: 3.125rem !important;\n padding-right: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n padding-left: 3.125rem !important;\n }\n .pa-xs-9 {\n padding-top: 3.75rem !important;\n padding-right: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n padding-left: 3.75rem !important;\n }\n .pa-xs-10 {\n padding-top: 5rem !important;\n padding-right: 5rem !important;\n padding-bottom: 5rem !important;\n padding-left: 5rem !important;\n }\n .pa-xs-11 {\n padding-top: 7.5rem !important;\n padding-right: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n padding-left: 7.5rem !important;\n }\n}\n@media (min-width: 576px) {\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 0.75rem !important;\n }\n .mt-sm-4 {\n margin-top: 1rem !important;\n }\n .mt-sm-5 {\n margin-top: 1.25rem !important;\n }\n .mt-sm-6 {\n margin-top: 1.75rem !important;\n }\n .mt-sm-7 {\n margin-top: 2.5rem !important;\n }\n .mt-sm-8 {\n margin-top: 3.125rem !important;\n }\n .mt-sm-9 {\n margin-top: 3.75rem !important;\n }\n .mt-sm-10 {\n margin-top: 5rem !important;\n }\n .mt-sm-11 {\n margin-top: 7.5rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 0.75rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 1.25rem !important;\n }\n .mb-sm-6 {\n margin-bottom: 1.75rem !important;\n }\n .mb-sm-7 {\n margin-bottom: 2.5rem !important;\n }\n .mb-sm-8 {\n margin-bottom: 3.125rem !important;\n }\n .mb-sm-9 {\n margin-bottom: 3.75rem !important;\n }\n .mb-sm-10 {\n margin-bottom: 5rem !important;\n }\n .mb-sm-11 {\n margin-bottom: 7.5rem !important;\n }\n .ms-sm-1 {\n margin-inline-start: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-inline-start: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-inline-start: 0.75rem !important;\n }\n .ms-sm-4 {\n margin-inline-start: 1rem !important;\n }\n .ms-sm-5 {\n margin-inline-start: 1.25rem !important;\n }\n .ms-sm-6 {\n margin-inline-start: 1.75rem !important;\n }\n .ms-sm-7 {\n margin-inline-start: 2.5rem !important;\n }\n .ms-sm-8 {\n margin-inline-start: 3.125rem !important;\n }\n .ms-sm-9 {\n margin-inline-start: 3.75rem !important;\n }\n .ms-sm-10 {\n margin-inline-start: 5rem !important;\n }\n .ms-sm-11 {\n margin-inline-start: 7.5rem !important;\n }\n .me-sm-1 {\n margin-inline-end: 0.25rem !important;\n }\n .me-sm-2 {\n margin-inline-end: 0.5rem !important;\n }\n .me-sm-3 {\n margin-inline-end: 0.75rem !important;\n }\n .me-sm-4 {\n margin-inline-end: 1rem !important;\n }\n .me-sm-5 {\n margin-inline-end: 1.25rem !important;\n }\n .me-sm-6 {\n margin-inline-end: 1.75rem !important;\n }\n .me-sm-7 {\n margin-inline-end: 2.5rem !important;\n }\n .me-sm-8 {\n margin-inline-end: 3.125rem !important;\n }\n .me-sm-9 {\n margin-inline-end: 3.75rem !important;\n }\n .me-sm-10 {\n margin-inline-end: 5rem !important;\n }\n .me-sm-11 {\n margin-inline-end: 7.5rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 0.75rem !important;\n }\n .ml-sm-4 {\n margin-left: 1rem !important;\n }\n .ml-sm-5 {\n margin-left: 1.25rem !important;\n }\n .ml-sm-6 {\n margin-left: 1.75rem !important;\n }\n .ml-sm-7 {\n margin-left: 2.5rem !important;\n }\n .ml-sm-8 {\n margin-left: 3.125rem !important;\n }\n .ml-sm-9 {\n margin-left: 3.75rem !important;\n }\n .ml-sm-10 {\n margin-left: 5rem !important;\n }\n .ml-sm-11 {\n margin-left: 7.5rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 0.75rem !important;\n }\n .mr-sm-4 {\n margin-right: 1rem !important;\n }\n .mr-sm-5 {\n margin-right: 1.25rem !important;\n }\n .mr-sm-6 {\n margin-right: 1.75rem !important;\n }\n .mr-sm-7 {\n margin-right: 2.5rem !important;\n }\n .mr-sm-8 {\n margin-right: 3.125rem !important;\n }\n .mr-sm-9 {\n margin-right: 3.75rem !important;\n }\n .mr-sm-10 {\n margin-right: 5rem !important;\n }\n .mr-sm-11 {\n margin-right: 7.5rem !important;\n }\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n }\n .mx-sm-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-sm-5 {\n margin-left: 1.25rem !important;\n margin-right: 1.25rem !important;\n }\n .mx-sm-6 {\n margin-left: 1.75rem !important;\n margin-right: 1.75rem !important;\n }\n .mx-sm-7 {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n }\n .mx-sm-8 {\n margin-left: 3.125rem !important;\n margin-right: 3.125rem !important;\n }\n .mx-sm-9 {\n margin-left: 3.75rem !important;\n margin-right: 3.75rem !important;\n }\n .mx-sm-10 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n .mx-sm-11 {\n margin-left: 7.5rem !important;\n margin-right: 7.5rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n }\n .my-sm-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-5 {\n margin-top: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n }\n .my-sm-6 {\n margin-top: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n }\n .my-sm-7 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-sm-8 {\n margin-top: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n }\n .my-sm-9 {\n margin-top: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n }\n .my-sm-10 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-sm-11 {\n margin-top: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n }\n .ma-sm-1 {\n margin-top: 0.25rem !important;\n margin-right: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .ma-sm-2 {\n margin-top: 0.5rem !important;\n margin-right: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .ma-sm-3 {\n margin-top: 0.75rem !important;\n margin-right: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n margin-left: 0.75rem !important;\n }\n .ma-sm-4 {\n margin-top: 1rem !important;\n margin-right: 1rem !important;\n margin-bottom: 1rem !important;\n margin-left: 1rem !important;\n }\n .ma-sm-5 {\n margin-top: 1.25rem !important;\n margin-right: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n margin-left: 1.25rem !important;\n }\n .ma-sm-6 {\n margin-top: 1.75rem !important;\n margin-right: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n margin-left: 1.75rem !important;\n }\n .ma-sm-7 {\n margin-top: 2.5rem !important;\n margin-right: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .ma-sm-8 {\n margin-top: 3.125rem !important;\n margin-right: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n margin-left: 3.125rem !important;\n }\n .ma-sm-9 {\n margin-top: 3.75rem !important;\n margin-right: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n margin-left: 3.75rem !important;\n }\n .ma-sm-10 {\n margin-top: 5rem !important;\n margin-right: 5rem !important;\n margin-bottom: 5rem !important;\n margin-left: 5rem !important;\n }\n .ma-sm-11 {\n margin-top: 7.5rem !important;\n margin-right: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n margin-left: 7.5rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 0.75rem !important;\n }\n .pt-sm-4 {\n padding-top: 1rem !important;\n }\n .pt-sm-5 {\n padding-top: 1.25rem !important;\n }\n .pt-sm-6 {\n padding-top: 1.75rem !important;\n }\n .pt-sm-7 {\n padding-top: 2.5rem !important;\n }\n .pt-sm-8 {\n padding-top: 3.125rem !important;\n }\n .pt-sm-9 {\n padding-top: 3.75rem !important;\n }\n .pt-sm-10 {\n padding-top: 5rem !important;\n }\n .pt-sm-11 {\n padding-top: 7.5rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 0.75rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 1.25rem !important;\n }\n .pb-sm-6 {\n padding-bottom: 1.75rem !important;\n }\n .pb-sm-7 {\n padding-bottom: 2.5rem !important;\n }\n .pb-sm-8 {\n padding-bottom: 3.125rem !important;\n }\n .pb-sm-9 {\n padding-bottom: 3.75rem !important;\n }\n .pb-sm-10 {\n padding-bottom: 5rem !important;\n }\n .pb-sm-11 {\n padding-bottom: 7.5rem !important;\n }\n .ps-sm-1 {\n padding-inline-start: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-inline-start: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-inline-start: 0.75rem !important;\n }\n .ps-sm-4 {\n padding-inline-start: 1rem !important;\n }\n .ps-sm-5 {\n padding-inline-start: 1.25rem !important;\n }\n .ps-sm-6 {\n padding-inline-start: 1.75rem !important;\n }\n .ps-sm-7 {\n padding-inline-start: 2.5rem !important;\n }\n .ps-sm-8 {\n padding-inline-start: 3.125rem !important;\n }\n .ps-sm-9 {\n padding-inline-start: 3.75rem !important;\n }\n .ps-sm-10 {\n padding-inline-start: 5rem !important;\n }\n .ps-sm-11 {\n padding-inline-start: 7.5rem !important;\n }\n .pe-sm-1 {\n padding-inline-end: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-inline-end: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-inline-end: 0.75rem !important;\n }\n .pe-sm-4 {\n padding-inline-end: 1rem !important;\n }\n .pe-sm-5 {\n padding-inline-end: 1.25rem !important;\n }\n .pe-sm-6 {\n padding-inline-end: 1.75rem !important;\n }\n .pe-sm-7 {\n padding-inline-end: 2.5rem !important;\n }\n .pe-sm-8 {\n padding-inline-end: 3.125rem !important;\n }\n .pe-sm-9 {\n padding-inline-end: 3.75rem !important;\n }\n .pe-sm-10 {\n padding-inline-end: 5rem !important;\n }\n .pe-sm-11 {\n padding-inline-end: 7.5rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 0.75rem !important;\n }\n .pl-sm-4 {\n padding-left: 1rem !important;\n }\n .pl-sm-5 {\n padding-left: 1.25rem !important;\n }\n .pl-sm-6 {\n padding-left: 1.75rem !important;\n }\n .pl-sm-7 {\n padding-left: 2.5rem !important;\n }\n .pl-sm-8 {\n padding-left: 3.125rem !important;\n }\n .pl-sm-9 {\n padding-left: 3.75rem !important;\n }\n .pl-sm-10 {\n padding-left: 5rem !important;\n }\n .pl-sm-11 {\n padding-left: 7.5rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 0.75rem !important;\n }\n .pr-sm-4 {\n padding-right: 1rem !important;\n }\n .pr-sm-5 {\n padding-right: 1.25rem !important;\n }\n .pr-sm-6 {\n padding-right: 1.75rem !important;\n }\n .pr-sm-7 {\n padding-right: 2.5rem !important;\n }\n .pr-sm-8 {\n padding-right: 3.125rem !important;\n }\n .pr-sm-9 {\n padding-right: 3.75rem !important;\n }\n .pr-sm-10 {\n padding-right: 5rem !important;\n }\n .pr-sm-11 {\n padding-right: 7.5rem !important;\n }\n .px-sm-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-sm-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-sm-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n }\n .px-sm-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-sm-5 {\n padding-left: 1.25rem !important;\n padding-right: 1.25rem !important;\n }\n .px-sm-6 {\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n }\n .px-sm-7 {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n }\n .px-sm-8 {\n padding-left: 3.125rem !important;\n padding-right: 3.125rem !important;\n }\n .px-sm-9 {\n padding-left: 3.75rem !important;\n padding-right: 3.75rem !important;\n }\n .px-sm-10 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n .px-sm-11 {\n padding-left: 7.5rem !important;\n padding-right: 7.5rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n }\n .py-sm-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-5 {\n padding-top: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n }\n .py-sm-6 {\n padding-top: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n }\n .py-sm-7 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .py-sm-8 {\n padding-top: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n }\n .py-sm-9 {\n padding-top: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n }\n .py-sm-10 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-sm-11 {\n padding-top: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n }\n .pa-sm-1 {\n padding-top: 0.25rem !important;\n padding-right: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .pa-sm-2 {\n padding-top: 0.5rem !important;\n padding-right: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .pa-sm-3 {\n padding-top: 0.75rem !important;\n padding-right: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n padding-left: 0.75rem !important;\n }\n .pa-sm-4 {\n padding-top: 1rem !important;\n padding-right: 1rem !important;\n padding-bottom: 1rem !important;\n padding-left: 1rem !important;\n }\n .pa-sm-5 {\n padding-top: 1.25rem !important;\n padding-right: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n padding-left: 1.25rem !important;\n }\n .pa-sm-6 {\n padding-top: 1.75rem !important;\n padding-right: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n padding-left: 1.75rem !important;\n }\n .pa-sm-7 {\n padding-top: 2.5rem !important;\n padding-right: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .pa-sm-8 {\n padding-top: 3.125rem !important;\n padding-right: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n padding-left: 3.125rem !important;\n }\n .pa-sm-9 {\n padding-top: 3.75rem !important;\n padding-right: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n padding-left: 3.75rem !important;\n }\n .pa-sm-10 {\n padding-top: 5rem !important;\n padding-right: 5rem !important;\n padding-bottom: 5rem !important;\n padding-left: 5rem !important;\n }\n .pa-sm-11 {\n padding-top: 7.5rem !important;\n padding-right: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n padding-left: 7.5rem !important;\n }\n}\n@media (min-width: 768px) {\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 0.75rem !important;\n }\n .mt-md-4 {\n margin-top: 1rem !important;\n }\n .mt-md-5 {\n margin-top: 1.25rem !important;\n }\n .mt-md-6 {\n margin-top: 1.75rem !important;\n }\n .mt-md-7 {\n margin-top: 2.5rem !important;\n }\n .mt-md-8 {\n margin-top: 3.125rem !important;\n }\n .mt-md-9 {\n margin-top: 3.75rem !important;\n }\n .mt-md-10 {\n margin-top: 5rem !important;\n }\n .mt-md-11 {\n margin-top: 7.5rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 0.75rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1rem !important;\n }\n .mb-md-5 {\n margin-bottom: 1.25rem !important;\n }\n .mb-md-6 {\n margin-bottom: 1.75rem !important;\n }\n .mb-md-7 {\n margin-bottom: 2.5rem !important;\n }\n .mb-md-8 {\n margin-bottom: 3.125rem !important;\n }\n .mb-md-9 {\n margin-bottom: 3.75rem !important;\n }\n .mb-md-10 {\n margin-bottom: 5rem !important;\n }\n .mb-md-11 {\n margin-bottom: 7.5rem !important;\n }\n .ms-md-1 {\n margin-inline-start: 0.25rem !important;\n }\n .ms-md-2 {\n margin-inline-start: 0.5rem !important;\n }\n .ms-md-3 {\n margin-inline-start: 0.75rem !important;\n }\n .ms-md-4 {\n margin-inline-start: 1rem !important;\n }\n .ms-md-5 {\n margin-inline-start: 1.25rem !important;\n }\n .ms-md-6 {\n margin-inline-start: 1.75rem !important;\n }\n .ms-md-7 {\n margin-inline-start: 2.5rem !important;\n }\n .ms-md-8 {\n margin-inline-start: 3.125rem !important;\n }\n .ms-md-9 {\n margin-inline-start: 3.75rem !important;\n }\n .ms-md-10 {\n margin-inline-start: 5rem !important;\n }\n .ms-md-11 {\n margin-inline-start: 7.5rem !important;\n }\n .me-md-1 {\n margin-inline-end: 0.25rem !important;\n }\n .me-md-2 {\n margin-inline-end: 0.5rem !important;\n }\n .me-md-3 {\n margin-inline-end: 0.75rem !important;\n }\n .me-md-4 {\n margin-inline-end: 1rem !important;\n }\n .me-md-5 {\n margin-inline-end: 1.25rem !important;\n }\n .me-md-6 {\n margin-inline-end: 1.75rem !important;\n }\n .me-md-7 {\n margin-inline-end: 2.5rem !important;\n }\n .me-md-8 {\n margin-inline-end: 3.125rem !important;\n }\n .me-md-9 {\n margin-inline-end: 3.75rem !important;\n }\n .me-md-10 {\n margin-inline-end: 5rem !important;\n }\n .me-md-11 {\n margin-inline-end: 7.5rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 0.75rem !important;\n }\n .ml-md-4 {\n margin-left: 1rem !important;\n }\n .ml-md-5 {\n margin-left: 1.25rem !important;\n }\n .ml-md-6 {\n margin-left: 1.75rem !important;\n }\n .ml-md-7 {\n margin-left: 2.5rem !important;\n }\n .ml-md-8 {\n margin-left: 3.125rem !important;\n }\n .ml-md-9 {\n margin-left: 3.75rem !important;\n }\n .ml-md-10 {\n margin-left: 5rem !important;\n }\n .ml-md-11 {\n margin-left: 7.5rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 0.75rem !important;\n }\n .mr-md-4 {\n margin-right: 1rem !important;\n }\n .mr-md-5 {\n margin-right: 1.25rem !important;\n }\n .mr-md-6 {\n margin-right: 1.75rem !important;\n }\n .mr-md-7 {\n margin-right: 2.5rem !important;\n }\n .mr-md-8 {\n margin-right: 3.125rem !important;\n }\n .mr-md-9 {\n margin-right: 3.75rem !important;\n }\n .mr-md-10 {\n margin-right: 5rem !important;\n }\n .mr-md-11 {\n margin-right: 7.5rem !important;\n }\n .mx-md-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-md-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-md-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n }\n .mx-md-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-md-5 {\n margin-left: 1.25rem !important;\n margin-right: 1.25rem !important;\n }\n .mx-md-6 {\n margin-left: 1.75rem !important;\n margin-right: 1.75rem !important;\n }\n .mx-md-7 {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n }\n .mx-md-8 {\n margin-left: 3.125rem !important;\n margin-right: 3.125rem !important;\n }\n .mx-md-9 {\n margin-left: 3.75rem !important;\n margin-right: 3.75rem !important;\n }\n .mx-md-10 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n .mx-md-11 {\n margin-left: 7.5rem !important;\n margin-right: 7.5rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n }\n .my-md-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-5 {\n margin-top: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n }\n .my-md-6 {\n margin-top: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n }\n .my-md-7 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-md-8 {\n margin-top: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n }\n .my-md-9 {\n margin-top: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n }\n .my-md-10 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-md-11 {\n margin-top: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n }\n .ma-md-1 {\n margin-top: 0.25rem !important;\n margin-right: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .ma-md-2 {\n margin-top: 0.5rem !important;\n margin-right: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .ma-md-3 {\n margin-top: 0.75rem !important;\n margin-right: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n margin-left: 0.75rem !important;\n }\n .ma-md-4 {\n margin-top: 1rem !important;\n margin-right: 1rem !important;\n margin-bottom: 1rem !important;\n margin-left: 1rem !important;\n }\n .ma-md-5 {\n margin-top: 1.25rem !important;\n margin-right: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n margin-left: 1.25rem !important;\n }\n .ma-md-6 {\n margin-top: 1.75rem !important;\n margin-right: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n margin-left: 1.75rem !important;\n }\n .ma-md-7 {\n margin-top: 2.5rem !important;\n margin-right: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .ma-md-8 {\n margin-top: 3.125rem !important;\n margin-right: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n margin-left: 3.125rem !important;\n }\n .ma-md-9 {\n margin-top: 3.75rem !important;\n margin-right: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n margin-left: 3.75rem !important;\n }\n .ma-md-10 {\n margin-top: 5rem !important;\n margin-right: 5rem !important;\n margin-bottom: 5rem !important;\n margin-left: 5rem !important;\n }\n .ma-md-11 {\n margin-top: 7.5rem !important;\n margin-right: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n margin-left: 7.5rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 0.75rem !important;\n }\n .pt-md-4 {\n padding-top: 1rem !important;\n }\n .pt-md-5 {\n padding-top: 1.25rem !important;\n }\n .pt-md-6 {\n padding-top: 1.75rem !important;\n }\n .pt-md-7 {\n padding-top: 2.5rem !important;\n }\n .pt-md-8 {\n padding-top: 3.125rem !important;\n }\n .pt-md-9 {\n padding-top: 3.75rem !important;\n }\n .pt-md-10 {\n padding-top: 5rem !important;\n }\n .pt-md-11 {\n padding-top: 7.5rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 0.75rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1rem !important;\n }\n .pb-md-5 {\n padding-bottom: 1.25rem !important;\n }\n .pb-md-6 {\n padding-bottom: 1.75rem !important;\n }\n .pb-md-7 {\n padding-bottom: 2.5rem !important;\n }\n .pb-md-8 {\n padding-bottom: 3.125rem !important;\n }\n .pb-md-9 {\n padding-bottom: 3.75rem !important;\n }\n .pb-md-10 {\n padding-bottom: 5rem !important;\n }\n .pb-md-11 {\n padding-bottom: 7.5rem !important;\n }\n .ps-md-1 {\n padding-inline-start: 0.25rem !important;\n }\n .ps-md-2 {\n padding-inline-start: 0.5rem !important;\n }\n .ps-md-3 {\n padding-inline-start: 0.75rem !important;\n }\n .ps-md-4 {\n padding-inline-start: 1rem !important;\n }\n .ps-md-5 {\n padding-inline-start: 1.25rem !important;\n }\n .ps-md-6 {\n padding-inline-start: 1.75rem !important;\n }\n .ps-md-7 {\n padding-inline-start: 2.5rem !important;\n }\n .ps-md-8 {\n padding-inline-start: 3.125rem !important;\n }\n .ps-md-9 {\n padding-inline-start: 3.75rem !important;\n }\n .ps-md-10 {\n padding-inline-start: 5rem !important;\n }\n .ps-md-11 {\n padding-inline-start: 7.5rem !important;\n }\n .pe-md-1 {\n padding-inline-end: 0.25rem !important;\n }\n .pe-md-2 {\n padding-inline-end: 0.5rem !important;\n }\n .pe-md-3 {\n padding-inline-end: 0.75rem !important;\n }\n .pe-md-4 {\n padding-inline-end: 1rem !important;\n }\n .pe-md-5 {\n padding-inline-end: 1.25rem !important;\n }\n .pe-md-6 {\n padding-inline-end: 1.75rem !important;\n }\n .pe-md-7 {\n padding-inline-end: 2.5rem !important;\n }\n .pe-md-8 {\n padding-inline-end: 3.125rem !important;\n }\n .pe-md-9 {\n padding-inline-end: 3.75rem !important;\n }\n .pe-md-10 {\n padding-inline-end: 5rem !important;\n }\n .pe-md-11 {\n padding-inline-end: 7.5rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 0.75rem !important;\n }\n .pl-md-4 {\n padding-left: 1rem !important;\n }\n .pl-md-5 {\n padding-left: 1.25rem !important;\n }\n .pl-md-6 {\n padding-left: 1.75rem !important;\n }\n .pl-md-7 {\n padding-left: 2.5rem !important;\n }\n .pl-md-8 {\n padding-left: 3.125rem !important;\n }\n .pl-md-9 {\n padding-left: 3.75rem !important;\n }\n .pl-md-10 {\n padding-left: 5rem !important;\n }\n .pl-md-11 {\n padding-left: 7.5rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 0.75rem !important;\n }\n .pr-md-4 {\n padding-right: 1rem !important;\n }\n .pr-md-5 {\n padding-right: 1.25rem !important;\n }\n .pr-md-6 {\n padding-right: 1.75rem !important;\n }\n .pr-md-7 {\n padding-right: 2.5rem !important;\n }\n .pr-md-8 {\n padding-right: 3.125rem !important;\n }\n .pr-md-9 {\n padding-right: 3.75rem !important;\n }\n .pr-md-10 {\n padding-right: 5rem !important;\n }\n .pr-md-11 {\n padding-right: 7.5rem !important;\n }\n .px-md-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-md-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-md-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n }\n .px-md-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-md-5 {\n padding-left: 1.25rem !important;\n padding-right: 1.25rem !important;\n }\n .px-md-6 {\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n }\n .px-md-7 {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n }\n .px-md-8 {\n padding-left: 3.125rem !important;\n padding-right: 3.125rem !important;\n }\n .px-md-9 {\n padding-left: 3.75rem !important;\n padding-right: 3.75rem !important;\n }\n .px-md-10 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n .px-md-11 {\n padding-left: 7.5rem !important;\n padding-right: 7.5rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n }\n .py-md-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-5 {\n padding-top: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n }\n .py-md-6 {\n padding-top: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n }\n .py-md-7 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .py-md-8 {\n padding-top: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n }\n .py-md-9 {\n padding-top: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n }\n .py-md-10 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-md-11 {\n padding-top: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n }\n .pa-md-1 {\n padding-top: 0.25rem !important;\n padding-right: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .pa-md-2 {\n padding-top: 0.5rem !important;\n padding-right: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .pa-md-3 {\n padding-top: 0.75rem !important;\n padding-right: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n padding-left: 0.75rem !important;\n }\n .pa-md-4 {\n padding-top: 1rem !important;\n padding-right: 1rem !important;\n padding-bottom: 1rem !important;\n padding-left: 1rem !important;\n }\n .pa-md-5 {\n padding-top: 1.25rem !important;\n padding-right: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n padding-left: 1.25rem !important;\n }\n .pa-md-6 {\n padding-top: 1.75rem !important;\n padding-right: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n padding-left: 1.75rem !important;\n }\n .pa-md-7 {\n padding-top: 2.5rem !important;\n padding-right: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .pa-md-8 {\n padding-top: 3.125rem !important;\n padding-right: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n padding-left: 3.125rem !important;\n }\n .pa-md-9 {\n padding-top: 3.75rem !important;\n padding-right: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n padding-left: 3.75rem !important;\n }\n .pa-md-10 {\n padding-top: 5rem !important;\n padding-right: 5rem !important;\n padding-bottom: 5rem !important;\n padding-left: 5rem !important;\n }\n .pa-md-11 {\n padding-top: 7.5rem !important;\n padding-right: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n padding-left: 7.5rem !important;\n }\n}\n@media (min-width: 992px) {\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 0.75rem !important;\n }\n .mt-lg-4 {\n margin-top: 1rem !important;\n }\n .mt-lg-5 {\n margin-top: 1.25rem !important;\n }\n .mt-lg-6 {\n margin-top: 1.75rem !important;\n }\n .mt-lg-7 {\n margin-top: 2.5rem !important;\n }\n .mt-lg-8 {\n margin-top: 3.125rem !important;\n }\n .mt-lg-9 {\n margin-top: 3.75rem !important;\n }\n .mt-lg-10 {\n margin-top: 5rem !important;\n }\n .mt-lg-11 {\n margin-top: 7.5rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 0.75rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 1.25rem !important;\n }\n .mb-lg-6 {\n margin-bottom: 1.75rem !important;\n }\n .mb-lg-7 {\n margin-bottom: 2.5rem !important;\n }\n .mb-lg-8 {\n margin-bottom: 3.125rem !important;\n }\n .mb-lg-9 {\n margin-bottom: 3.75rem !important;\n }\n .mb-lg-10 {\n margin-bottom: 5rem !important;\n }\n .mb-lg-11 {\n margin-bottom: 7.5rem !important;\n }\n .ms-lg-1 {\n margin-inline-start: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-inline-start: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-inline-start: 0.75rem !important;\n }\n .ms-lg-4 {\n margin-inline-start: 1rem !important;\n }\n .ms-lg-5 {\n margin-inline-start: 1.25rem !important;\n }\n .ms-lg-6 {\n margin-inline-start: 1.75rem !important;\n }\n .ms-lg-7 {\n margin-inline-start: 2.5rem !important;\n }\n .ms-lg-8 {\n margin-inline-start: 3.125rem !important;\n }\n .ms-lg-9 {\n margin-inline-start: 3.75rem !important;\n }\n .ms-lg-10 {\n margin-inline-start: 5rem !important;\n }\n .ms-lg-11 {\n margin-inline-start: 7.5rem !important;\n }\n .me-lg-1 {\n margin-inline-end: 0.25rem !important;\n }\n .me-lg-2 {\n margin-inline-end: 0.5rem !important;\n }\n .me-lg-3 {\n margin-inline-end: 0.75rem !important;\n }\n .me-lg-4 {\n margin-inline-end: 1rem !important;\n }\n .me-lg-5 {\n margin-inline-end: 1.25rem !important;\n }\n .me-lg-6 {\n margin-inline-end: 1.75rem !important;\n }\n .me-lg-7 {\n margin-inline-end: 2.5rem !important;\n }\n .me-lg-8 {\n margin-inline-end: 3.125rem !important;\n }\n .me-lg-9 {\n margin-inline-end: 3.75rem !important;\n }\n .me-lg-10 {\n margin-inline-end: 5rem !important;\n }\n .me-lg-11 {\n margin-inline-end: 7.5rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 0.75rem !important;\n }\n .ml-lg-4 {\n margin-left: 1rem !important;\n }\n .ml-lg-5 {\n margin-left: 1.25rem !important;\n }\n .ml-lg-6 {\n margin-left: 1.75rem !important;\n }\n .ml-lg-7 {\n margin-left: 2.5rem !important;\n }\n .ml-lg-8 {\n margin-left: 3.125rem !important;\n }\n .ml-lg-9 {\n margin-left: 3.75rem !important;\n }\n .ml-lg-10 {\n margin-left: 5rem !important;\n }\n .ml-lg-11 {\n margin-left: 7.5rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 0.75rem !important;\n }\n .mr-lg-4 {\n margin-right: 1rem !important;\n }\n .mr-lg-5 {\n margin-right: 1.25rem !important;\n }\n .mr-lg-6 {\n margin-right: 1.75rem !important;\n }\n .mr-lg-7 {\n margin-right: 2.5rem !important;\n }\n .mr-lg-8 {\n margin-right: 3.125rem !important;\n }\n .mr-lg-9 {\n margin-right: 3.75rem !important;\n }\n .mr-lg-10 {\n margin-right: 5rem !important;\n }\n .mr-lg-11 {\n margin-right: 7.5rem !important;\n }\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n }\n .mx-lg-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-lg-5 {\n margin-left: 1.25rem !important;\n margin-right: 1.25rem !important;\n }\n .mx-lg-6 {\n margin-left: 1.75rem !important;\n margin-right: 1.75rem !important;\n }\n .mx-lg-7 {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n }\n .mx-lg-8 {\n margin-left: 3.125rem !important;\n margin-right: 3.125rem !important;\n }\n .mx-lg-9 {\n margin-left: 3.75rem !important;\n margin-right: 3.75rem !important;\n }\n .mx-lg-10 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n .mx-lg-11 {\n margin-left: 7.5rem !important;\n margin-right: 7.5rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n }\n .my-lg-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-5 {\n margin-top: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n }\n .my-lg-6 {\n margin-top: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n }\n .my-lg-7 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-lg-8 {\n margin-top: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n }\n .my-lg-9 {\n margin-top: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n }\n .my-lg-10 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-lg-11 {\n margin-top: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n }\n .ma-lg-1 {\n margin-top: 0.25rem !important;\n margin-right: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .ma-lg-2 {\n margin-top: 0.5rem !important;\n margin-right: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .ma-lg-3 {\n margin-top: 0.75rem !important;\n margin-right: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n margin-left: 0.75rem !important;\n }\n .ma-lg-4 {\n margin-top: 1rem !important;\n margin-right: 1rem !important;\n margin-bottom: 1rem !important;\n margin-left: 1rem !important;\n }\n .ma-lg-5 {\n margin-top: 1.25rem !important;\n margin-right: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n margin-left: 1.25rem !important;\n }\n .ma-lg-6 {\n margin-top: 1.75rem !important;\n margin-right: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n margin-left: 1.75rem !important;\n }\n .ma-lg-7 {\n margin-top: 2.5rem !important;\n margin-right: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .ma-lg-8 {\n margin-top: 3.125rem !important;\n margin-right: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n margin-left: 3.125rem !important;\n }\n .ma-lg-9 {\n margin-top: 3.75rem !important;\n margin-right: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n margin-left: 3.75rem !important;\n }\n .ma-lg-10 {\n margin-top: 5rem !important;\n margin-right: 5rem !important;\n margin-bottom: 5rem !important;\n margin-left: 5rem !important;\n }\n .ma-lg-11 {\n margin-top: 7.5rem !important;\n margin-right: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n margin-left: 7.5rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 0.75rem !important;\n }\n .pt-lg-4 {\n padding-top: 1rem !important;\n }\n .pt-lg-5 {\n padding-top: 1.25rem !important;\n }\n .pt-lg-6 {\n padding-top: 1.75rem !important;\n }\n .pt-lg-7 {\n padding-top: 2.5rem !important;\n }\n .pt-lg-8 {\n padding-top: 3.125rem !important;\n }\n .pt-lg-9 {\n padding-top: 3.75rem !important;\n }\n .pt-lg-10 {\n padding-top: 5rem !important;\n }\n .pt-lg-11 {\n padding-top: 7.5rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 0.75rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 1.25rem !important;\n }\n .pb-lg-6 {\n padding-bottom: 1.75rem !important;\n }\n .pb-lg-7 {\n padding-bottom: 2.5rem !important;\n }\n .pb-lg-8 {\n padding-bottom: 3.125rem !important;\n }\n .pb-lg-9 {\n padding-bottom: 3.75rem !important;\n }\n .pb-lg-10 {\n padding-bottom: 5rem !important;\n }\n .pb-lg-11 {\n padding-bottom: 7.5rem !important;\n }\n .ps-lg-1 {\n padding-inline-start: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-inline-start: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-inline-start: 0.75rem !important;\n }\n .ps-lg-4 {\n padding-inline-start: 1rem !important;\n }\n .ps-lg-5 {\n padding-inline-start: 1.25rem !important;\n }\n .ps-lg-6 {\n padding-inline-start: 1.75rem !important;\n }\n .ps-lg-7 {\n padding-inline-start: 2.5rem !important;\n }\n .ps-lg-8 {\n padding-inline-start: 3.125rem !important;\n }\n .ps-lg-9 {\n padding-inline-start: 3.75rem !important;\n }\n .ps-lg-10 {\n padding-inline-start: 5rem !important;\n }\n .ps-lg-11 {\n padding-inline-start: 7.5rem !important;\n }\n .pe-lg-1 {\n padding-inline-end: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-inline-end: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-inline-end: 0.75rem !important;\n }\n .pe-lg-4 {\n padding-inline-end: 1rem !important;\n }\n .pe-lg-5 {\n padding-inline-end: 1.25rem !important;\n }\n .pe-lg-6 {\n padding-inline-end: 1.75rem !important;\n }\n .pe-lg-7 {\n padding-inline-end: 2.5rem !important;\n }\n .pe-lg-8 {\n padding-inline-end: 3.125rem !important;\n }\n .pe-lg-9 {\n padding-inline-end: 3.75rem !important;\n }\n .pe-lg-10 {\n padding-inline-end: 5rem !important;\n }\n .pe-lg-11 {\n padding-inline-end: 7.5rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 0.75rem !important;\n }\n .pl-lg-4 {\n padding-left: 1rem !important;\n }\n .pl-lg-5 {\n padding-left: 1.25rem !important;\n }\n .pl-lg-6 {\n padding-left: 1.75rem !important;\n }\n .pl-lg-7 {\n padding-left: 2.5rem !important;\n }\n .pl-lg-8 {\n padding-left: 3.125rem !important;\n }\n .pl-lg-9 {\n padding-left: 3.75rem !important;\n }\n .pl-lg-10 {\n padding-left: 5rem !important;\n }\n .pl-lg-11 {\n padding-left: 7.5rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 0.75rem !important;\n }\n .pr-lg-4 {\n padding-right: 1rem !important;\n }\n .pr-lg-5 {\n padding-right: 1.25rem !important;\n }\n .pr-lg-6 {\n padding-right: 1.75rem !important;\n }\n .pr-lg-7 {\n padding-right: 2.5rem !important;\n }\n .pr-lg-8 {\n padding-right: 3.125rem !important;\n }\n .pr-lg-9 {\n padding-right: 3.75rem !important;\n }\n .pr-lg-10 {\n padding-right: 5rem !important;\n }\n .pr-lg-11 {\n padding-right: 7.5rem !important;\n }\n .px-lg-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-lg-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-lg-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n }\n .px-lg-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-lg-5 {\n padding-left: 1.25rem !important;\n padding-right: 1.25rem !important;\n }\n .px-lg-6 {\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n }\n .px-lg-7 {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n }\n .px-lg-8 {\n padding-left: 3.125rem !important;\n padding-right: 3.125rem !important;\n }\n .px-lg-9 {\n padding-left: 3.75rem !important;\n padding-right: 3.75rem !important;\n }\n .px-lg-10 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n .px-lg-11 {\n padding-left: 7.5rem !important;\n padding-right: 7.5rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n }\n .py-lg-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-5 {\n padding-top: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n }\n .py-lg-6 {\n padding-top: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n }\n .py-lg-7 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .py-lg-8 {\n padding-top: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n }\n .py-lg-9 {\n padding-top: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n }\n .py-lg-10 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-lg-11 {\n padding-top: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n }\n .pa-lg-1 {\n padding-top: 0.25rem !important;\n padding-right: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .pa-lg-2 {\n padding-top: 0.5rem !important;\n padding-right: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .pa-lg-3 {\n padding-top: 0.75rem !important;\n padding-right: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n padding-left: 0.75rem !important;\n }\n .pa-lg-4 {\n padding-top: 1rem !important;\n padding-right: 1rem !important;\n padding-bottom: 1rem !important;\n padding-left: 1rem !important;\n }\n .pa-lg-5 {\n padding-top: 1.25rem !important;\n padding-right: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n padding-left: 1.25rem !important;\n }\n .pa-lg-6 {\n padding-top: 1.75rem !important;\n padding-right: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n padding-left: 1.75rem !important;\n }\n .pa-lg-7 {\n padding-top: 2.5rem !important;\n padding-right: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .pa-lg-8 {\n padding-top: 3.125rem !important;\n padding-right: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n padding-left: 3.125rem !important;\n }\n .pa-lg-9 {\n padding-top: 3.75rem !important;\n padding-right: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n padding-left: 3.75rem !important;\n }\n .pa-lg-10 {\n padding-top: 5rem !important;\n padding-right: 5rem !important;\n padding-bottom: 5rem !important;\n padding-left: 5rem !important;\n }\n .pa-lg-11 {\n padding-top: 7.5rem !important;\n padding-right: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n padding-left: 7.5rem !important;\n }\n}\n@media (min-width: 1200px) {\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 0.75rem !important;\n }\n .mt-xl-4 {\n margin-top: 1rem !important;\n }\n .mt-xl-5 {\n margin-top: 1.25rem !important;\n }\n .mt-xl-6 {\n margin-top: 1.75rem !important;\n }\n .mt-xl-7 {\n margin-top: 2.5rem !important;\n }\n .mt-xl-8 {\n margin-top: 3.125rem !important;\n }\n .mt-xl-9 {\n margin-top: 3.75rem !important;\n }\n .mt-xl-10 {\n margin-top: 5rem !important;\n }\n .mt-xl-11 {\n margin-top: 7.5rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 0.75rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 1.25rem !important;\n }\n .mb-xl-6 {\n margin-bottom: 1.75rem !important;\n }\n .mb-xl-7 {\n margin-bottom: 2.5rem !important;\n }\n .mb-xl-8 {\n margin-bottom: 3.125rem !important;\n }\n .mb-xl-9 {\n margin-bottom: 3.75rem !important;\n }\n .mb-xl-10 {\n margin-bottom: 5rem !important;\n }\n .mb-xl-11 {\n margin-bottom: 7.5rem !important;\n }\n .ms-xl-1 {\n margin-inline-start: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-inline-start: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-inline-start: 0.75rem !important;\n }\n .ms-xl-4 {\n margin-inline-start: 1rem !important;\n }\n .ms-xl-5 {\n margin-inline-start: 1.25rem !important;\n }\n .ms-xl-6 {\n margin-inline-start: 1.75rem !important;\n }\n .ms-xl-7 {\n margin-inline-start: 2.5rem !important;\n }\n .ms-xl-8 {\n margin-inline-start: 3.125rem !important;\n }\n .ms-xl-9 {\n margin-inline-start: 3.75rem !important;\n }\n .ms-xl-10 {\n margin-inline-start: 5rem !important;\n }\n .ms-xl-11 {\n margin-inline-start: 7.5rem !important;\n }\n .me-xl-1 {\n margin-inline-end: 0.25rem !important;\n }\n .me-xl-2 {\n margin-inline-end: 0.5rem !important;\n }\n .me-xl-3 {\n margin-inline-end: 0.75rem !important;\n }\n .me-xl-4 {\n margin-inline-end: 1rem !important;\n }\n .me-xl-5 {\n margin-inline-end: 1.25rem !important;\n }\n .me-xl-6 {\n margin-inline-end: 1.75rem !important;\n }\n .me-xl-7 {\n margin-inline-end: 2.5rem !important;\n }\n .me-xl-8 {\n margin-inline-end: 3.125rem !important;\n }\n .me-xl-9 {\n margin-inline-end: 3.75rem !important;\n }\n .me-xl-10 {\n margin-inline-end: 5rem !important;\n }\n .me-xl-11 {\n margin-inline-end: 7.5rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 0.75rem !important;\n }\n .ml-xl-4 {\n margin-left: 1rem !important;\n }\n .ml-xl-5 {\n margin-left: 1.25rem !important;\n }\n .ml-xl-6 {\n margin-left: 1.75rem !important;\n }\n .ml-xl-7 {\n margin-left: 2.5rem !important;\n }\n .ml-xl-8 {\n margin-left: 3.125rem !important;\n }\n .ml-xl-9 {\n margin-left: 3.75rem !important;\n }\n .ml-xl-10 {\n margin-left: 5rem !important;\n }\n .ml-xl-11 {\n margin-left: 7.5rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 0.75rem !important;\n }\n .mr-xl-4 {\n margin-right: 1rem !important;\n }\n .mr-xl-5 {\n margin-right: 1.25rem !important;\n }\n .mr-xl-6 {\n margin-right: 1.75rem !important;\n }\n .mr-xl-7 {\n margin-right: 2.5rem !important;\n }\n .mr-xl-8 {\n margin-right: 3.125rem !important;\n }\n .mr-xl-9 {\n margin-right: 3.75rem !important;\n }\n .mr-xl-10 {\n margin-right: 5rem !important;\n }\n .mr-xl-11 {\n margin-right: 7.5rem !important;\n }\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n }\n .mx-xl-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xl-5 {\n margin-left: 1.25rem !important;\n margin-right: 1.25rem !important;\n }\n .mx-xl-6 {\n margin-left: 1.75rem !important;\n margin-right: 1.75rem !important;\n }\n .mx-xl-7 {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n }\n .mx-xl-8 {\n margin-left: 3.125rem !important;\n margin-right: 3.125rem !important;\n }\n .mx-xl-9 {\n margin-left: 3.75rem !important;\n margin-right: 3.75rem !important;\n }\n .mx-xl-10 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n .mx-xl-11 {\n margin-left: 7.5rem !important;\n margin-right: 7.5rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n }\n .my-xl-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-5 {\n margin-top: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n }\n .my-xl-6 {\n margin-top: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n }\n .my-xl-7 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-xl-8 {\n margin-top: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n }\n .my-xl-9 {\n margin-top: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n }\n .my-xl-10 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-xl-11 {\n margin-top: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n }\n .ma-xl-1 {\n margin-top: 0.25rem !important;\n margin-right: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .ma-xl-2 {\n margin-top: 0.5rem !important;\n margin-right: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .ma-xl-3 {\n margin-top: 0.75rem !important;\n margin-right: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n margin-left: 0.75rem !important;\n }\n .ma-xl-4 {\n margin-top: 1rem !important;\n margin-right: 1rem !important;\n margin-bottom: 1rem !important;\n margin-left: 1rem !important;\n }\n .ma-xl-5 {\n margin-top: 1.25rem !important;\n margin-right: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n margin-left: 1.25rem !important;\n }\n .ma-xl-6 {\n margin-top: 1.75rem !important;\n margin-right: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n margin-left: 1.75rem !important;\n }\n .ma-xl-7 {\n margin-top: 2.5rem !important;\n margin-right: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .ma-xl-8 {\n margin-top: 3.125rem !important;\n margin-right: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n margin-left: 3.125rem !important;\n }\n .ma-xl-9 {\n margin-top: 3.75rem !important;\n margin-right: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n margin-left: 3.75rem !important;\n }\n .ma-xl-10 {\n margin-top: 5rem !important;\n margin-right: 5rem !important;\n margin-bottom: 5rem !important;\n margin-left: 5rem !important;\n }\n .ma-xl-11 {\n margin-top: 7.5rem !important;\n margin-right: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n margin-left: 7.5rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 0.75rem !important;\n }\n .pt-xl-4 {\n padding-top: 1rem !important;\n }\n .pt-xl-5 {\n padding-top: 1.25rem !important;\n }\n .pt-xl-6 {\n padding-top: 1.75rem !important;\n }\n .pt-xl-7 {\n padding-top: 2.5rem !important;\n }\n .pt-xl-8 {\n padding-top: 3.125rem !important;\n }\n .pt-xl-9 {\n padding-top: 3.75rem !important;\n }\n .pt-xl-10 {\n padding-top: 5rem !important;\n }\n .pt-xl-11 {\n padding-top: 7.5rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 0.75rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 1.25rem !important;\n }\n .pb-xl-6 {\n padding-bottom: 1.75rem !important;\n }\n .pb-xl-7 {\n padding-bottom: 2.5rem !important;\n }\n .pb-xl-8 {\n padding-bottom: 3.125rem !important;\n }\n .pb-xl-9 {\n padding-bottom: 3.75rem !important;\n }\n .pb-xl-10 {\n padding-bottom: 5rem !important;\n }\n .pb-xl-11 {\n padding-bottom: 7.5rem !important;\n }\n .ps-xl-1 {\n padding-inline-start: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-inline-start: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-inline-start: 0.75rem !important;\n }\n .ps-xl-4 {\n padding-inline-start: 1rem !important;\n }\n .ps-xl-5 {\n padding-inline-start: 1.25rem !important;\n }\n .ps-xl-6 {\n padding-inline-start: 1.75rem !important;\n }\n .ps-xl-7 {\n padding-inline-start: 2.5rem !important;\n }\n .ps-xl-8 {\n padding-inline-start: 3.125rem !important;\n }\n .ps-xl-9 {\n padding-inline-start: 3.75rem !important;\n }\n .ps-xl-10 {\n padding-inline-start: 5rem !important;\n }\n .ps-xl-11 {\n padding-inline-start: 7.5rem !important;\n }\n .pe-xl-1 {\n padding-inline-end: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-inline-end: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-inline-end: 0.75rem !important;\n }\n .pe-xl-4 {\n padding-inline-end: 1rem !important;\n }\n .pe-xl-5 {\n padding-inline-end: 1.25rem !important;\n }\n .pe-xl-6 {\n padding-inline-end: 1.75rem !important;\n }\n .pe-xl-7 {\n padding-inline-end: 2.5rem !important;\n }\n .pe-xl-8 {\n padding-inline-end: 3.125rem !important;\n }\n .pe-xl-9 {\n padding-inline-end: 3.75rem !important;\n }\n .pe-xl-10 {\n padding-inline-end: 5rem !important;\n }\n .pe-xl-11 {\n padding-inline-end: 7.5rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 0.75rem !important;\n }\n .pl-xl-4 {\n padding-left: 1rem !important;\n }\n .pl-xl-5 {\n padding-left: 1.25rem !important;\n }\n .pl-xl-6 {\n padding-left: 1.75rem !important;\n }\n .pl-xl-7 {\n padding-left: 2.5rem !important;\n }\n .pl-xl-8 {\n padding-left: 3.125rem !important;\n }\n .pl-xl-9 {\n padding-left: 3.75rem !important;\n }\n .pl-xl-10 {\n padding-left: 5rem !important;\n }\n .pl-xl-11 {\n padding-left: 7.5rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 0.75rem !important;\n }\n .pr-xl-4 {\n padding-right: 1rem !important;\n }\n .pr-xl-5 {\n padding-right: 1.25rem !important;\n }\n .pr-xl-6 {\n padding-right: 1.75rem !important;\n }\n .pr-xl-7 {\n padding-right: 2.5rem !important;\n }\n .pr-xl-8 {\n padding-right: 3.125rem !important;\n }\n .pr-xl-9 {\n padding-right: 3.75rem !important;\n }\n .pr-xl-10 {\n padding-right: 5rem !important;\n }\n .pr-xl-11 {\n padding-right: 7.5rem !important;\n }\n .px-xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xl-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n }\n .px-xl-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xl-5 {\n padding-left: 1.25rem !important;\n padding-right: 1.25rem !important;\n }\n .px-xl-6 {\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n }\n .px-xl-7 {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n }\n .px-xl-8 {\n padding-left: 3.125rem !important;\n padding-right: 3.125rem !important;\n }\n .px-xl-9 {\n padding-left: 3.75rem !important;\n padding-right: 3.75rem !important;\n }\n .px-xl-10 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n .px-xl-11 {\n padding-left: 7.5rem !important;\n padding-right: 7.5rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n }\n .py-xl-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-5 {\n padding-top: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n }\n .py-xl-6 {\n padding-top: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n }\n .py-xl-7 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .py-xl-8 {\n padding-top: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n }\n .py-xl-9 {\n padding-top: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n }\n .py-xl-10 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-xl-11 {\n padding-top: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n }\n .pa-xl-1 {\n padding-top: 0.25rem !important;\n padding-right: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .pa-xl-2 {\n padding-top: 0.5rem !important;\n padding-right: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .pa-xl-3 {\n padding-top: 0.75rem !important;\n padding-right: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n padding-left: 0.75rem !important;\n }\n .pa-xl-4 {\n padding-top: 1rem !important;\n padding-right: 1rem !important;\n padding-bottom: 1rem !important;\n padding-left: 1rem !important;\n }\n .pa-xl-5 {\n padding-top: 1.25rem !important;\n padding-right: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n padding-left: 1.25rem !important;\n }\n .pa-xl-6 {\n padding-top: 1.75rem !important;\n padding-right: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n padding-left: 1.75rem !important;\n }\n .pa-xl-7 {\n padding-top: 2.5rem !important;\n padding-right: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .pa-xl-8 {\n padding-top: 3.125rem !important;\n padding-right: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n padding-left: 3.125rem !important;\n }\n .pa-xl-9 {\n padding-top: 3.75rem !important;\n padding-right: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n padding-left: 3.75rem !important;\n }\n .pa-xl-10 {\n padding-top: 5rem !important;\n padding-right: 5rem !important;\n padding-bottom: 5rem !important;\n padding-left: 5rem !important;\n }\n .pa-xl-11 {\n padding-top: 7.5rem !important;\n padding-right: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n padding-left: 7.5rem !important;\n }\n}\n@media (min-width: 1400px) {\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 0.75rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1rem !important;\n }\n .mt-xxl-5 {\n margin-top: 1.25rem !important;\n }\n .mt-xxl-6 {\n margin-top: 1.75rem !important;\n }\n .mt-xxl-7 {\n margin-top: 2.5rem !important;\n }\n .mt-xxl-8 {\n margin-top: 3.125rem !important;\n }\n .mt-xxl-9 {\n margin-top: 3.75rem !important;\n }\n .mt-xxl-10 {\n margin-top: 5rem !important;\n }\n .mt-xxl-11 {\n margin-top: 7.5rem !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 0.75rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 1.25rem !important;\n }\n .mb-xxl-6 {\n margin-bottom: 1.75rem !important;\n }\n .mb-xxl-7 {\n margin-bottom: 2.5rem !important;\n }\n .mb-xxl-8 {\n margin-bottom: 3.125rem !important;\n }\n .mb-xxl-9 {\n margin-bottom: 3.75rem !important;\n }\n .mb-xxl-10 {\n margin-bottom: 5rem !important;\n }\n .mb-xxl-11 {\n margin-bottom: 7.5rem !important;\n }\n .ms-xxl-1 {\n margin-inline-start: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-inline-start: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-inline-start: 0.75rem !important;\n }\n .ms-xxl-4 {\n margin-inline-start: 1rem !important;\n }\n .ms-xxl-5 {\n margin-inline-start: 1.25rem !important;\n }\n .ms-xxl-6 {\n margin-inline-start: 1.75rem !important;\n }\n .ms-xxl-7 {\n margin-inline-start: 2.5rem !important;\n }\n .ms-xxl-8 {\n margin-inline-start: 3.125rem !important;\n }\n .ms-xxl-9 {\n margin-inline-start: 3.75rem !important;\n }\n .ms-xxl-10 {\n margin-inline-start: 5rem !important;\n }\n .ms-xxl-11 {\n margin-inline-start: 7.5rem !important;\n }\n .me-xxl-1 {\n margin-inline-end: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-inline-end: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-inline-end: 0.75rem !important;\n }\n .me-xxl-4 {\n margin-inline-end: 1rem !important;\n }\n .me-xxl-5 {\n margin-inline-end: 1.25rem !important;\n }\n .me-xxl-6 {\n margin-inline-end: 1.75rem !important;\n }\n .me-xxl-7 {\n margin-inline-end: 2.5rem !important;\n }\n .me-xxl-8 {\n margin-inline-end: 3.125rem !important;\n }\n .me-xxl-9 {\n margin-inline-end: 3.75rem !important;\n }\n .me-xxl-10 {\n margin-inline-end: 5rem !important;\n }\n .me-xxl-11 {\n margin-inline-end: 7.5rem !important;\n }\n .ml-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xxl-3 {\n margin-left: 0.75rem !important;\n }\n .ml-xxl-4 {\n margin-left: 1rem !important;\n }\n .ml-xxl-5 {\n margin-left: 1.25rem !important;\n }\n .ml-xxl-6 {\n margin-left: 1.75rem !important;\n }\n .ml-xxl-7 {\n margin-left: 2.5rem !important;\n }\n .ml-xxl-8 {\n margin-left: 3.125rem !important;\n }\n .ml-xxl-9 {\n margin-left: 3.75rem !important;\n }\n .ml-xxl-10 {\n margin-left: 5rem !important;\n }\n .ml-xxl-11 {\n margin-left: 7.5rem !important;\n }\n .mr-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xxl-3 {\n margin-right: 0.75rem !important;\n }\n .mr-xxl-4 {\n margin-right: 1rem !important;\n }\n .mr-xxl-5 {\n margin-right: 1.25rem !important;\n }\n .mr-xxl-6 {\n margin-right: 1.75rem !important;\n }\n .mr-xxl-7 {\n margin-right: 2.5rem !important;\n }\n .mr-xxl-8 {\n margin-right: 3.125rem !important;\n }\n .mr-xxl-9 {\n margin-right: 3.75rem !important;\n }\n .mr-xxl-10 {\n margin-right: 5rem !important;\n }\n .mr-xxl-11 {\n margin-right: 7.5rem !important;\n }\n .mx-xxl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n }\n .mx-xxl-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-xxl-5 {\n margin-left: 1.25rem !important;\n margin-right: 1.25rem !important;\n }\n .mx-xxl-6 {\n margin-left: 1.75rem !important;\n margin-right: 1.75rem !important;\n }\n .mx-xxl-7 {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n }\n .mx-xxl-8 {\n margin-left: 3.125rem !important;\n margin-right: 3.125rem !important;\n }\n .mx-xxl-9 {\n margin-left: 3.75rem !important;\n margin-right: 3.75rem !important;\n }\n .mx-xxl-10 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n .mx-xxl-11 {\n margin-left: 7.5rem !important;\n margin-right: 7.5rem !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n }\n .my-xxl-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-5 {\n margin-top: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n }\n .my-xxl-6 {\n margin-top: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n }\n .my-xxl-7 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-xxl-8 {\n margin-top: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n }\n .my-xxl-9 {\n margin-top: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n }\n .my-xxl-10 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-xxl-11 {\n margin-top: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n }\n .ma-xxl-1 {\n margin-top: 0.25rem !important;\n margin-right: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .ma-xxl-2 {\n margin-top: 0.5rem !important;\n margin-right: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .ma-xxl-3 {\n margin-top: 0.75rem !important;\n margin-right: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n margin-left: 0.75rem !important;\n }\n .ma-xxl-4 {\n margin-top: 1rem !important;\n margin-right: 1rem !important;\n margin-bottom: 1rem !important;\n margin-left: 1rem !important;\n }\n .ma-xxl-5 {\n margin-top: 1.25rem !important;\n margin-right: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n margin-left: 1.25rem !important;\n }\n .ma-xxl-6 {\n margin-top: 1.75rem !important;\n margin-right: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n margin-left: 1.75rem !important;\n }\n .ma-xxl-7 {\n margin-top: 2.5rem !important;\n margin-right: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .ma-xxl-8 {\n margin-top: 3.125rem !important;\n margin-right: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n margin-left: 3.125rem !important;\n }\n .ma-xxl-9 {\n margin-top: 3.75rem !important;\n margin-right: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n margin-left: 3.75rem !important;\n }\n .ma-xxl-10 {\n margin-top: 5rem !important;\n margin-right: 5rem !important;\n margin-bottom: 5rem !important;\n margin-left: 5rem !important;\n }\n .ma-xxl-11 {\n margin-top: 7.5rem !important;\n margin-right: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n margin-left: 7.5rem !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 0.75rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1rem !important;\n }\n .pt-xxl-5 {\n padding-top: 1.25rem !important;\n }\n .pt-xxl-6 {\n padding-top: 1.75rem !important;\n }\n .pt-xxl-7 {\n padding-top: 2.5rem !important;\n }\n .pt-xxl-8 {\n padding-top: 3.125rem !important;\n }\n .pt-xxl-9 {\n padding-top: 3.75rem !important;\n }\n .pt-xxl-10 {\n padding-top: 5rem !important;\n }\n .pt-xxl-11 {\n padding-top: 7.5rem !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 0.75rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 1.25rem !important;\n }\n .pb-xxl-6 {\n padding-bottom: 1.75rem !important;\n }\n .pb-xxl-7 {\n padding-bottom: 2.5rem !important;\n }\n .pb-xxl-8 {\n padding-bottom: 3.125rem !important;\n }\n .pb-xxl-9 {\n padding-bottom: 3.75rem !important;\n }\n .pb-xxl-10 {\n padding-bottom: 5rem !important;\n }\n .pb-xxl-11 {\n padding-bottom: 7.5rem !important;\n }\n .ps-xxl-1 {\n padding-inline-start: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-inline-start: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-inline-start: 0.75rem !important;\n }\n .ps-xxl-4 {\n padding-inline-start: 1rem !important;\n }\n .ps-xxl-5 {\n padding-inline-start: 1.25rem !important;\n }\n .ps-xxl-6 {\n padding-inline-start: 1.75rem !important;\n }\n .ps-xxl-7 {\n padding-inline-start: 2.5rem !important;\n }\n .ps-xxl-8 {\n padding-inline-start: 3.125rem !important;\n }\n .ps-xxl-9 {\n padding-inline-start: 3.75rem !important;\n }\n .ps-xxl-10 {\n padding-inline-start: 5rem !important;\n }\n .ps-xxl-11 {\n padding-inline-start: 7.5rem !important;\n }\n .pe-xxl-1 {\n padding-inline-end: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-inline-end: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-inline-end: 0.75rem !important;\n }\n .pe-xxl-4 {\n padding-inline-end: 1rem !important;\n }\n .pe-xxl-5 {\n padding-inline-end: 1.25rem !important;\n }\n .pe-xxl-6 {\n padding-inline-end: 1.75rem !important;\n }\n .pe-xxl-7 {\n padding-inline-end: 2.5rem !important;\n }\n .pe-xxl-8 {\n padding-inline-end: 3.125rem !important;\n }\n .pe-xxl-9 {\n padding-inline-end: 3.75rem !important;\n }\n .pe-xxl-10 {\n padding-inline-end: 5rem !important;\n }\n .pe-xxl-11 {\n padding-inline-end: 7.5rem !important;\n }\n .pl-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xxl-3 {\n padding-left: 0.75rem !important;\n }\n .pl-xxl-4 {\n padding-left: 1rem !important;\n }\n .pl-xxl-5 {\n padding-left: 1.25rem !important;\n }\n .pl-xxl-6 {\n padding-left: 1.75rem !important;\n }\n .pl-xxl-7 {\n padding-left: 2.5rem !important;\n }\n .pl-xxl-8 {\n padding-left: 3.125rem !important;\n }\n .pl-xxl-9 {\n padding-left: 3.75rem !important;\n }\n .pl-xxl-10 {\n padding-left: 5rem !important;\n }\n .pl-xxl-11 {\n padding-left: 7.5rem !important;\n }\n .pr-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xxl-3 {\n padding-right: 0.75rem !important;\n }\n .pr-xxl-4 {\n padding-right: 1rem !important;\n }\n .pr-xxl-5 {\n padding-right: 1.25rem !important;\n }\n .pr-xxl-6 {\n padding-right: 1.75rem !important;\n }\n .pr-xxl-7 {\n padding-right: 2.5rem !important;\n }\n .pr-xxl-8 {\n padding-right: 3.125rem !important;\n }\n .pr-xxl-9 {\n padding-right: 3.75rem !important;\n }\n .pr-xxl-10 {\n padding-right: 5rem !important;\n }\n .pr-xxl-11 {\n padding-right: 7.5rem !important;\n }\n .px-xxl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n }\n .px-xxl-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-xxl-5 {\n padding-left: 1.25rem !important;\n padding-right: 1.25rem !important;\n }\n .px-xxl-6 {\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n }\n .px-xxl-7 {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n }\n .px-xxl-8 {\n padding-left: 3.125rem !important;\n padding-right: 3.125rem !important;\n }\n .px-xxl-9 {\n padding-left: 3.75rem !important;\n padding-right: 3.75rem !important;\n }\n .px-xxl-10 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n .px-xxl-11 {\n padding-left: 7.5rem !important;\n padding-right: 7.5rem !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n }\n .py-xxl-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-5 {\n padding-top: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n }\n .py-xxl-6 {\n padding-top: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n }\n .py-xxl-7 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .py-xxl-8 {\n padding-top: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n }\n .py-xxl-9 {\n padding-top: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n }\n .py-xxl-10 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-xxl-11 {\n padding-top: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n }\n .pa-xxl-1 {\n padding-top: 0.25rem !important;\n padding-right: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .pa-xxl-2 {\n padding-top: 0.5rem !important;\n padding-right: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .pa-xxl-3 {\n padding-top: 0.75rem !important;\n padding-right: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n padding-left: 0.75rem !important;\n }\n .pa-xxl-4 {\n padding-top: 1rem !important;\n padding-right: 1rem !important;\n padding-bottom: 1rem !important;\n padding-left: 1rem !important;\n }\n .pa-xxl-5 {\n padding-top: 1.25rem !important;\n padding-right: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n padding-left: 1.25rem !important;\n }\n .pa-xxl-6 {\n padding-top: 1.75rem !important;\n padding-right: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n padding-left: 1.75rem !important;\n }\n .pa-xxl-7 {\n padding-top: 2.5rem !important;\n padding-right: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .pa-xxl-8 {\n padding-top: 3.125rem !important;\n padding-right: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n padding-left: 3.125rem !important;\n }\n .pa-xxl-9 {\n padding-top: 3.75rem !important;\n padding-right: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n padding-left: 3.75rem !important;\n }\n .pa-xxl-10 {\n padding-top: 5rem !important;\n padding-right: 5rem !important;\n padding-bottom: 5rem !important;\n padding-left: 5rem !important;\n }\n .pa-xxl-11 {\n padding-top: 7.5rem !important;\n padding-right: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n padding-left: 7.5rem !important;\n }\n}\n@media (min-width: 1700px) {\n .mt-3xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-3xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-3xl-3 {\n margin-top: 0.75rem !important;\n }\n .mt-3xl-4 {\n margin-top: 1rem !important;\n }\n .mt-3xl-5 {\n margin-top: 1.25rem !important;\n }\n .mt-3xl-6 {\n margin-top: 1.75rem !important;\n }\n .mt-3xl-7 {\n margin-top: 2.5rem !important;\n }\n .mt-3xl-8 {\n margin-top: 3.125rem !important;\n }\n .mt-3xl-9 {\n margin-top: 3.75rem !important;\n }\n .mt-3xl-10 {\n margin-top: 5rem !important;\n }\n .mt-3xl-11 {\n margin-top: 7.5rem !important;\n }\n .mb-3xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-3xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-3xl-3 {\n margin-bottom: 0.75rem !important;\n }\n .mb-3xl-4 {\n margin-bottom: 1rem !important;\n }\n .mb-3xl-5 {\n margin-bottom: 1.25rem !important;\n }\n .mb-3xl-6 {\n margin-bottom: 1.75rem !important;\n }\n .mb-3xl-7 {\n margin-bottom: 2.5rem !important;\n }\n .mb-3xl-8 {\n margin-bottom: 3.125rem !important;\n }\n .mb-3xl-9 {\n margin-bottom: 3.75rem !important;\n }\n .mb-3xl-10 {\n margin-bottom: 5rem !important;\n }\n .mb-3xl-11 {\n margin-bottom: 7.5rem !important;\n }\n .ms-3xl-1 {\n margin-inline-start: 0.25rem !important;\n }\n .ms-3xl-2 {\n margin-inline-start: 0.5rem !important;\n }\n .ms-3xl-3 {\n margin-inline-start: 0.75rem !important;\n }\n .ms-3xl-4 {\n margin-inline-start: 1rem !important;\n }\n .ms-3xl-5 {\n margin-inline-start: 1.25rem !important;\n }\n .ms-3xl-6 {\n margin-inline-start: 1.75rem !important;\n }\n .ms-3xl-7 {\n margin-inline-start: 2.5rem !important;\n }\n .ms-3xl-8 {\n margin-inline-start: 3.125rem !important;\n }\n .ms-3xl-9 {\n margin-inline-start: 3.75rem !important;\n }\n .ms-3xl-10 {\n margin-inline-start: 5rem !important;\n }\n .ms-3xl-11 {\n margin-inline-start: 7.5rem !important;\n }\n .me-3xl-1 {\n margin-inline-end: 0.25rem !important;\n }\n .me-3xl-2 {\n margin-inline-end: 0.5rem !important;\n }\n .me-3xl-3 {\n margin-inline-end: 0.75rem !important;\n }\n .me-3xl-4 {\n margin-inline-end: 1rem !important;\n }\n .me-3xl-5 {\n margin-inline-end: 1.25rem !important;\n }\n .me-3xl-6 {\n margin-inline-end: 1.75rem !important;\n }\n .me-3xl-7 {\n margin-inline-end: 2.5rem !important;\n }\n .me-3xl-8 {\n margin-inline-end: 3.125rem !important;\n }\n .me-3xl-9 {\n margin-inline-end: 3.75rem !important;\n }\n .me-3xl-10 {\n margin-inline-end: 5rem !important;\n }\n .me-3xl-11 {\n margin-inline-end: 7.5rem !important;\n }\n .ml-3xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-3xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-3xl-3 {\n margin-left: 0.75rem !important;\n }\n .ml-3xl-4 {\n margin-left: 1rem !important;\n }\n .ml-3xl-5 {\n margin-left: 1.25rem !important;\n }\n .ml-3xl-6 {\n margin-left: 1.75rem !important;\n }\n .ml-3xl-7 {\n margin-left: 2.5rem !important;\n }\n .ml-3xl-8 {\n margin-left: 3.125rem !important;\n }\n .ml-3xl-9 {\n margin-left: 3.75rem !important;\n }\n .ml-3xl-10 {\n margin-left: 5rem !important;\n }\n .ml-3xl-11 {\n margin-left: 7.5rem !important;\n }\n .mr-3xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-3xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-3xl-3 {\n margin-right: 0.75rem !important;\n }\n .mr-3xl-4 {\n margin-right: 1rem !important;\n }\n .mr-3xl-5 {\n margin-right: 1.25rem !important;\n }\n .mr-3xl-6 {\n margin-right: 1.75rem !important;\n }\n .mr-3xl-7 {\n margin-right: 2.5rem !important;\n }\n .mr-3xl-8 {\n margin-right: 3.125rem !important;\n }\n .mr-3xl-9 {\n margin-right: 3.75rem !important;\n }\n .mr-3xl-10 {\n margin-right: 5rem !important;\n }\n .mr-3xl-11 {\n margin-right: 7.5rem !important;\n }\n .mx-3xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .mx-3xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .mx-3xl-3 {\n margin-left: 0.75rem !important;\n margin-right: 0.75rem !important;\n }\n .mx-3xl-4 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .mx-3xl-5 {\n margin-left: 1.25rem !important;\n margin-right: 1.25rem !important;\n }\n .mx-3xl-6 {\n margin-left: 1.75rem !important;\n margin-right: 1.75rem !important;\n }\n .mx-3xl-7 {\n margin-left: 2.5rem !important;\n margin-right: 2.5rem !important;\n }\n .mx-3xl-8 {\n margin-left: 3.125rem !important;\n margin-right: 3.125rem !important;\n }\n .mx-3xl-9 {\n margin-left: 3.75rem !important;\n margin-right: 3.75rem !important;\n }\n .mx-3xl-10 {\n margin-left: 5rem !important;\n margin-right: 5rem !important;\n }\n .mx-3xl-11 {\n margin-left: 7.5rem !important;\n margin-right: 7.5rem !important;\n }\n .my-3xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-3xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-3xl-3 {\n margin-top: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n }\n .my-3xl-4 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-3xl-5 {\n margin-top: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n }\n .my-3xl-6 {\n margin-top: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n }\n .my-3xl-7 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-3xl-8 {\n margin-top: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n }\n .my-3xl-9 {\n margin-top: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n }\n .my-3xl-10 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-3xl-11 {\n margin-top: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n }\n .ma-3xl-1 {\n margin-top: 0.25rem !important;\n margin-right: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .ma-3xl-2 {\n margin-top: 0.5rem !important;\n margin-right: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .ma-3xl-3 {\n margin-top: 0.75rem !important;\n margin-right: 0.75rem !important;\n margin-bottom: 0.75rem !important;\n margin-left: 0.75rem !important;\n }\n .ma-3xl-4 {\n margin-top: 1rem !important;\n margin-right: 1rem !important;\n margin-bottom: 1rem !important;\n margin-left: 1rem !important;\n }\n .ma-3xl-5 {\n margin-top: 1.25rem !important;\n margin-right: 1.25rem !important;\n margin-bottom: 1.25rem !important;\n margin-left: 1.25rem !important;\n }\n .ma-3xl-6 {\n margin-top: 1.75rem !important;\n margin-right: 1.75rem !important;\n margin-bottom: 1.75rem !important;\n margin-left: 1.75rem !important;\n }\n .ma-3xl-7 {\n margin-top: 2.5rem !important;\n margin-right: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .ma-3xl-8 {\n margin-top: 3.125rem !important;\n margin-right: 3.125rem !important;\n margin-bottom: 3.125rem !important;\n margin-left: 3.125rem !important;\n }\n .ma-3xl-9 {\n margin-top: 3.75rem !important;\n margin-right: 3.75rem !important;\n margin-bottom: 3.75rem !important;\n margin-left: 3.75rem !important;\n }\n .ma-3xl-10 {\n margin-top: 5rem !important;\n margin-right: 5rem !important;\n margin-bottom: 5rem !important;\n margin-left: 5rem !important;\n }\n .ma-3xl-11 {\n margin-top: 7.5rem !important;\n margin-right: 7.5rem !important;\n margin-bottom: 7.5rem !important;\n margin-left: 7.5rem !important;\n }\n .pt-3xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-3xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-3xl-3 {\n padding-top: 0.75rem !important;\n }\n .pt-3xl-4 {\n padding-top: 1rem !important;\n }\n .pt-3xl-5 {\n padding-top: 1.25rem !important;\n }\n .pt-3xl-6 {\n padding-top: 1.75rem !important;\n }\n .pt-3xl-7 {\n padding-top: 2.5rem !important;\n }\n .pt-3xl-8 {\n padding-top: 3.125rem !important;\n }\n .pt-3xl-9 {\n padding-top: 3.75rem !important;\n }\n .pt-3xl-10 {\n padding-top: 5rem !important;\n }\n .pt-3xl-11 {\n padding-top: 7.5rem !important;\n }\n .pb-3xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-3xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-3xl-3 {\n padding-bottom: 0.75rem !important;\n }\n .pb-3xl-4 {\n padding-bottom: 1rem !important;\n }\n .pb-3xl-5 {\n padding-bottom: 1.25rem !important;\n }\n .pb-3xl-6 {\n padding-bottom: 1.75rem !important;\n }\n .pb-3xl-7 {\n padding-bottom: 2.5rem !important;\n }\n .pb-3xl-8 {\n padding-bottom: 3.125rem !important;\n }\n .pb-3xl-9 {\n padding-bottom: 3.75rem !important;\n }\n .pb-3xl-10 {\n padding-bottom: 5rem !important;\n }\n .pb-3xl-11 {\n padding-bottom: 7.5rem !important;\n }\n .ps-3xl-1 {\n padding-inline-start: 0.25rem !important;\n }\n .ps-3xl-2 {\n padding-inline-start: 0.5rem !important;\n }\n .ps-3xl-3 {\n padding-inline-start: 0.75rem !important;\n }\n .ps-3xl-4 {\n padding-inline-start: 1rem !important;\n }\n .ps-3xl-5 {\n padding-inline-start: 1.25rem !important;\n }\n .ps-3xl-6 {\n padding-inline-start: 1.75rem !important;\n }\n .ps-3xl-7 {\n padding-inline-start: 2.5rem !important;\n }\n .ps-3xl-8 {\n padding-inline-start: 3.125rem !important;\n }\n .ps-3xl-9 {\n padding-inline-start: 3.75rem !important;\n }\n .ps-3xl-10 {\n padding-inline-start: 5rem !important;\n }\n .ps-3xl-11 {\n padding-inline-start: 7.5rem !important;\n }\n .pe-3xl-1 {\n padding-inline-end: 0.25rem !important;\n }\n .pe-3xl-2 {\n padding-inline-end: 0.5rem !important;\n }\n .pe-3xl-3 {\n padding-inline-end: 0.75rem !important;\n }\n .pe-3xl-4 {\n padding-inline-end: 1rem !important;\n }\n .pe-3xl-5 {\n padding-inline-end: 1.25rem !important;\n }\n .pe-3xl-6 {\n padding-inline-end: 1.75rem !important;\n }\n .pe-3xl-7 {\n padding-inline-end: 2.5rem !important;\n }\n .pe-3xl-8 {\n padding-inline-end: 3.125rem !important;\n }\n .pe-3xl-9 {\n padding-inline-end: 3.75rem !important;\n }\n .pe-3xl-10 {\n padding-inline-end: 5rem !important;\n }\n .pe-3xl-11 {\n padding-inline-end: 7.5rem !important;\n }\n .pl-3xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-3xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-3xl-3 {\n padding-left: 0.75rem !important;\n }\n .pl-3xl-4 {\n padding-left: 1rem !important;\n }\n .pl-3xl-5 {\n padding-left: 1.25rem !important;\n }\n .pl-3xl-6 {\n padding-left: 1.75rem !important;\n }\n .pl-3xl-7 {\n padding-left: 2.5rem !important;\n }\n .pl-3xl-8 {\n padding-left: 3.125rem !important;\n }\n .pl-3xl-9 {\n padding-left: 3.75rem !important;\n }\n .pl-3xl-10 {\n padding-left: 5rem !important;\n }\n .pl-3xl-11 {\n padding-left: 7.5rem !important;\n }\n .pr-3xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-3xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-3xl-3 {\n padding-right: 0.75rem !important;\n }\n .pr-3xl-4 {\n padding-right: 1rem !important;\n }\n .pr-3xl-5 {\n padding-right: 1.25rem !important;\n }\n .pr-3xl-6 {\n padding-right: 1.75rem !important;\n }\n .pr-3xl-7 {\n padding-right: 2.5rem !important;\n }\n .pr-3xl-8 {\n padding-right: 3.125rem !important;\n }\n .pr-3xl-9 {\n padding-right: 3.75rem !important;\n }\n .pr-3xl-10 {\n padding-right: 5rem !important;\n }\n .pr-3xl-11 {\n padding-right: 7.5rem !important;\n }\n .px-3xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .px-3xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .px-3xl-3 {\n padding-left: 0.75rem !important;\n padding-right: 0.75rem !important;\n }\n .px-3xl-4 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .px-3xl-5 {\n padding-left: 1.25rem !important;\n padding-right: 1.25rem !important;\n }\n .px-3xl-6 {\n padding-left: 1.75rem !important;\n padding-right: 1.75rem !important;\n }\n .px-3xl-7 {\n padding-left: 2.5rem !important;\n padding-right: 2.5rem !important;\n }\n .px-3xl-8 {\n padding-left: 3.125rem !important;\n padding-right: 3.125rem !important;\n }\n .px-3xl-9 {\n padding-left: 3.75rem !important;\n padding-right: 3.75rem !important;\n }\n .px-3xl-10 {\n padding-left: 5rem !important;\n padding-right: 5rem !important;\n }\n .px-3xl-11 {\n padding-left: 7.5rem !important;\n padding-right: 7.5rem !important;\n }\n .py-3xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-3xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-3xl-3 {\n padding-top: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n }\n .py-3xl-4 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-3xl-5 {\n padding-top: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n }\n .py-3xl-6 {\n padding-top: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n }\n .py-3xl-7 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .py-3xl-8 {\n padding-top: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n }\n .py-3xl-9 {\n padding-top: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n }\n .py-3xl-10 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-3xl-11 {\n padding-top: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n }\n .pa-3xl-1 {\n padding-top: 0.25rem !important;\n padding-right: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .pa-3xl-2 {\n padding-top: 0.5rem !important;\n padding-right: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .pa-3xl-3 {\n padding-top: 0.75rem !important;\n padding-right: 0.75rem !important;\n padding-bottom: 0.75rem !important;\n padding-left: 0.75rem !important;\n }\n .pa-3xl-4 {\n padding-top: 1rem !important;\n padding-right: 1rem !important;\n padding-bottom: 1rem !important;\n padding-left: 1rem !important;\n }\n .pa-3xl-5 {\n padding-top: 1.25rem !important;\n padding-right: 1.25rem !important;\n padding-bottom: 1.25rem !important;\n padding-left: 1.25rem !important;\n }\n .pa-3xl-6 {\n padding-top: 1.75rem !important;\n padding-right: 1.75rem !important;\n padding-bottom: 1.75rem !important;\n padding-left: 1.75rem !important;\n }\n .pa-3xl-7 {\n padding-top: 2.5rem !important;\n padding-right: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .pa-3xl-8 {\n padding-top: 3.125rem !important;\n padding-right: 3.125rem !important;\n padding-bottom: 3.125rem !important;\n padding-left: 3.125rem !important;\n }\n .pa-3xl-9 {\n padding-top: 3.75rem !important;\n padding-right: 3.75rem !important;\n padding-bottom: 3.75rem !important;\n padding-left: 3.75rem !important;\n }\n .pa-3xl-10 {\n padding-top: 5rem !important;\n padding-right: 5rem !important;\n padding-bottom: 5rem !important;\n padding-left: 5rem !important;\n }\n .pa-3xl-11 {\n padding-top: 7.5rem !important;\n padding-right: 7.5rem !important;\n padding-bottom: 7.5rem !important;\n padding-left: 7.5rem !important;\n }\n}\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25rem !important;\n}\n\n.gap-2 {\n gap: 0.5rem !important;\n}\n\n.gap-3 {\n gap: 1rem !important;\n}\n\n.gap-4 {\n gap: 1.5rem !important;\n}\n\n.gap-5 {\n gap: 2rem !important;\n}\n\n.row-gap-0 {\n row-gap: 0 !important;\n}\n\n.row-gap-1 {\n row-gap: 0.25rem !important;\n}\n\n.row-gap-2 {\n row-gap: 0.5rem !important;\n}\n\n.row-gap-3 {\n row-gap: 1rem !important;\n}\n\n.row-gap-4 {\n row-gap: 1.5rem !important;\n}\n\n.row-gap-5 {\n row-gap: 2rem !important;\n}\n\n.column-gap-0 {\n column-gap: 0 !important;\n}\n\n.column-gap-1 {\n column-gap: 0.25rem !important;\n}\n\n.column-gap-2 {\n column-gap: 0.5rem !important;\n}\n\n.column-gap-3 {\n column-gap: 1rem !important;\n}\n\n.column-gap-4 {\n column-gap: 1.5rem !important;\n}\n\n.column-gap-5 {\n column-gap: 2rem !important;\n}\n\n.text-start {\n text-align: start !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-end {\n text-align: end !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.fw-100 {\n font-weight: 100 !important;\n}\n\n.fw-200 {\n font-weight: 200 !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-regular {\n font-weight: 400 !important;\n}\n\n.fw-medium {\n font-weight: 500 !important;\n}\n\n.fw-semi-bold {\n font-weight: 600 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-800 {\n font-weight: 800 !important;\n}\n\n.fw-900 {\n font-weight: 900 !important;\n}\n\n.fs-1 {\n font-size: 0.75rem !important;\n}\n\n.fs-2 {\n font-size: 0.875rem !important;\n}\n\n.fs-3 {\n font-size: 1rem !important;\n}\n\n.fs-4 {\n font-size: 1.25rem !important;\n}\n\n.fs-5 {\n font-size: 1.5rem !important;\n}\n\n.fs-6 {\n font-size: 2rem !important;\n}\n\n.text-primary {\n color: var(--bcbd-primary-color) !important;\n}\n\n.text-secondary {\n color: var(--bcbd-secondary-color) !important;\n}\n\n.text-black {\n color: var(--bcbd-black-color) !important;\n}\n\n.text-white {\n color: var(--bcbd-white-color) !important;\n}\n\n.text-success {\n color: var(--bcbd-success-color) !important;\n}\n\n.text-info {\n color: var(--bcbd-info-color) !important;\n}\n\n.text-warning {\n color: var(--bcbd-warning-color) !important;\n}\n\n.text-danger {\n color: var(--bcbd-danger-color) !important;\n}\n\n.text-orange {\n color: var(--bcbd-orange-color) !important;\n}\n\n.text-pink {\n color: var(--bcbd-pink-color) !important;\n}\n\n.text-yellow {\n color: var(--bcbd-yellow-color) !important;\n}\n\n.text-cyan {\n color: var(--bcbd-cyan-color) !important;\n}\n\n.text-lime {\n color: var(--bcbd-lime-color) !important;\n}\n\n.text-shadow {\n color: var(--bcbd-shadow-default-color) !important;\n}\n\n@media (min-width: 0) {\n .text-0-start {\n text-align: start !important;\n }\n .text-0-center {\n text-align: center !important;\n }\n .text-0-end {\n text-align: end !important;\n }\n .text-0-justify {\n text-align: justify !important;\n }\n}\n@media (min-width: 321px) {\n .text-3xs-start {\n text-align: start !important;\n }\n .text-3xs-center {\n text-align: center !important;\n }\n .text-3xs-end {\n text-align: end !important;\n }\n .text-3xs-justify {\n text-align: justify !important;\n }\n}\n@media (min-width: 376px) {\n .text-xxs-start {\n text-align: start !important;\n }\n .text-xxs-center {\n text-align: center !important;\n }\n .text-xxs-end {\n text-align: end !important;\n }\n .text-xxs-justify {\n text-align: justify !important;\n }\n}\n@media (min-width: 426px) {\n .text-xs-start {\n text-align: start !important;\n }\n .text-xs-center {\n text-align: center !important;\n }\n .text-xs-end {\n text-align: end !important;\n }\n .text-xs-justify {\n text-align: justify !important;\n }\n}\n@media (min-width: 576px) {\n .text-sm-start {\n text-align: start !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-end {\n text-align: end !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n@media (min-width: 768px) {\n .text-md-start {\n text-align: start !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-end {\n text-align: end !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n@media (min-width: 992px) {\n .text-lg-start {\n text-align: start !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-end {\n text-align: end !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n@media (min-width: 1200px) {\n .text-xl-start {\n text-align: start !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-end {\n text-align: end !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n@media (min-width: 1400px) {\n .text-xxl-start {\n text-align: start !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n .text-xxl-end {\n text-align: end !important;\n }\n .text-xxl-justify {\n text-align: justify !important;\n }\n}\n@media (min-width: 1700px) {\n .text-3xl-start {\n text-align: start !important;\n }\n .text-3xl-center {\n text-align: center !important;\n }\n .text-3xl-end {\n text-align: end !important;\n }\n .text-3xl-justify {\n text-align: justify !important;\n }\n}\n.shadow {\n box-shadow: 0 1px 2px var(--bcbd-shadow-default-color, rgba(27, 42, 50, 0.0588235294)), 0 6px 18px var(--bcbd-shadow-default-color, rgba(27, 42, 50, 0.0588235294)) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}";
5
- const jsonBodySerializer$2 = {
5
+ const jsonBodySerializer$1 = {
6
6
  bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value)
7
7
  };
8
- const createSseClient$2 = ({
8
+ function createSseClient$1({
9
9
  onRequest,
10
10
  onSseError,
11
11
  onSseEvent,
@@ -17,7 +17,7 @@ const createSseClient$2 = ({
17
17
  sseSleepFn,
18
18
  url,
19
19
  ...options
20
- }) => {
20
+ }) {
21
21
  let lastEventId;
22
22
  const sleep = sseSleepFn ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
23
23
  const createStream = async function* () {
@@ -61,7 +61,7 @@ const createSseClient$2 = ({
61
61
  const { done, value } = await reader.read();
62
62
  if (done) break;
63
63
  buffer += value;
64
- buffer = buffer.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
64
+ buffer = buffer.replace(/\r\n?/g, "\n");
65
65
  const chunks = buffer.split("\n\n");
66
66
  buffer = chunks.pop() ?? "";
67
67
  for (const chunk of chunks) {
@@ -129,8 +129,8 @@ const createSseClient$2 = ({
129
129
  };
130
130
  const stream = createStream();
131
131
  return { stream };
132
- };
133
- const separatorArrayExplode$2 = (style) => {
132
+ }
133
+ const separatorArrayExplode$1 = (style) => {
134
134
  switch (style) {
135
135
  case "label":
136
136
  return ".";
@@ -142,7 +142,7 @@ const separatorArrayExplode$2 = (style) => {
142
142
  return "&";
143
143
  }
144
144
  };
145
- const separatorArrayNoExplode$2 = (style) => {
145
+ const separatorArrayNoExplode$1 = (style) => {
146
146
  switch (style) {
147
147
  case "form":
148
148
  return ",";
@@ -154,7 +154,7 @@ const separatorArrayNoExplode$2 = (style) => {
154
154
  return ",";
155
155
  }
156
156
  };
157
- const separatorObjectExplode$2 = (style) => {
157
+ const separatorObjectExplode$1 = (style) => {
158
158
  switch (style) {
159
159
  case "label":
160
160
  return ".";
@@ -166,7 +166,7 @@ const separatorObjectExplode$2 = (style) => {
166
166
  return "&";
167
167
  }
168
168
  };
169
- const serializeArrayParam$2 = ({
169
+ const serializeArrayParam$1 = ({
170
170
  allowReserved,
171
171
  explode,
172
172
  name,
@@ -174,7 +174,7 @@ const serializeArrayParam$2 = ({
174
174
  value
175
175
  }) => {
176
176
  if (!explode) {
177
- const joinedValues2 = (allowReserved ? value : value.map((v2) => encodeURIComponent(v2))).join(separatorArrayNoExplode$2(style));
177
+ const joinedValues2 = (allowReserved ? value : value.map((v2) => encodeURIComponent(v2))).join(separatorArrayNoExplode$1(style));
178
178
  switch (style) {
179
179
  case "label":
180
180
  return `.${joinedValues2}`;
@@ -186,12 +186,12 @@ const serializeArrayParam$2 = ({
186
186
  return `${name}=${joinedValues2}`;
187
187
  }
188
188
  }
189
- const separator = separatorArrayExplode$2(style);
189
+ const separator = separatorArrayExplode$1(style);
190
190
  const joinedValues = value.map((v2) => {
191
191
  if (style === "label" || style === "simple") {
192
192
  return allowReserved ? v2 : encodeURIComponent(v2);
193
193
  }
194
- return serializePrimitiveParam$2({
194
+ return serializePrimitiveParam$1({
195
195
  allowReserved,
196
196
  name,
197
197
  value: v2
@@ -199,7 +199,7 @@ const serializeArrayParam$2 = ({
199
199
  }).join(separator);
200
200
  return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
201
201
  };
202
- const serializePrimitiveParam$2 = ({
202
+ const serializePrimitiveParam$1 = ({
203
203
  allowReserved,
204
204
  name,
205
205
  value
@@ -214,7 +214,7 @@ const serializePrimitiveParam$2 = ({
214
214
  }
215
215
  return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;
216
216
  };
217
- const serializeObjectParam$2 = ({
217
+ const serializeObjectParam$1 = ({
218
218
  allowReserved,
219
219
  explode,
220
220
  name,
@@ -242,9 +242,9 @@ const serializeObjectParam$2 = ({
242
242
  return joinedValues2;
243
243
  }
244
244
  }
245
- const separator = separatorObjectExplode$2(style);
245
+ const separator = separatorObjectExplode$1(style);
246
246
  const joinedValues = Object.entries(value).map(
247
- ([key, v2]) => serializePrimitiveParam$2({
247
+ ([key, v2]) => serializePrimitiveParam$1({
248
248
  allowReserved,
249
249
  name: style === "deepObject" ? `${name}[${key}]` : key,
250
250
  value: v2
@@ -252,10 +252,10 @@ const serializeObjectParam$2 = ({
252
252
  ).join(separator);
253
253
  return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
254
254
  };
255
- const PATH_PARAM_RE$2 = /\{[^{}]+\}/g;
256
- const defaultPathSerializer$2 = ({ path, url: _url }) => {
255
+ const PATH_PARAM_RE$1 = /\{[^{}]+\}/g;
256
+ const defaultPathSerializer$1 = ({ path, url: _url }) => {
257
257
  let url = _url;
258
- const matches = _url.match(PATH_PARAM_RE$2);
258
+ const matches = _url.match(PATH_PARAM_RE$1);
259
259
  if (matches) {
260
260
  for (const match of matches) {
261
261
  let explode = false;
@@ -277,13 +277,13 @@ const defaultPathSerializer$2 = ({ path, url: _url }) => {
277
277
  continue;
278
278
  }
279
279
  if (Array.isArray(value)) {
280
- url = url.replace(match, serializeArrayParam$2({ explode, name, style, value }));
280
+ url = url.replace(match, serializeArrayParam$1({ explode, name, style, value }));
281
281
  continue;
282
282
  }
283
283
  if (typeof value === "object") {
284
284
  url = url.replace(
285
285
  match,
286
- serializeObjectParam$2({
286
+ serializeObjectParam$1({
287
287
  explode,
288
288
  name,
289
289
  style,
@@ -296,7 +296,7 @@ const defaultPathSerializer$2 = ({ path, url: _url }) => {
296
296
  if (style === "matrix") {
297
297
  url = url.replace(
298
298
  match,
299
- `;${serializePrimitiveParam$2({
299
+ `;${serializePrimitiveParam$1({
300
300
  name,
301
301
  value
302
302
  })}`
@@ -311,7 +311,7 @@ const defaultPathSerializer$2 = ({ path, url: _url }) => {
311
311
  }
312
312
  return url;
313
313
  };
314
- const getUrl$2 = ({
314
+ const getUrl$1 = ({
315
315
  baseUrl,
316
316
  path,
317
317
  query,
@@ -321,7 +321,7 @@ const getUrl$2 = ({
321
321
  const pathUrl = _url.startsWith("/") ? _url : `/${_url}`;
322
322
  let url = (baseUrl ?? "") + pathUrl;
323
323
  if (path) {
324
- url = defaultPathSerializer$2({ path, url });
324
+ url = defaultPathSerializer$1({ path, url });
325
325
  }
326
326
  let search = query ? querySerializer(query) : "";
327
327
  if (search.startsWith("?")) {
@@ -332,7 +332,7 @@ const getUrl$2 = ({
332
332
  }
333
333
  return url;
334
334
  };
335
- function getValidRequestBody$2(options) {
335
+ function getValidRequestBody$1(options) {
336
336
  const hasBody = options.body !== void 0;
337
337
  const isSerializedBody = hasBody && options.bodySerializer;
338
338
  if (isSerializedBody) {
@@ -347,7 +347,7 @@ function getValidRequestBody$2(options) {
347
347
  }
348
348
  return void 0;
349
349
  }
350
- const getAuthToken$2 = async (auth, callback) => {
350
+ const getAuthToken$1 = async (auth, callback) => {
351
351
  const token = typeof callback === "function" ? await callback(auth) : callback;
352
352
  if (!token) {
353
353
  return;
@@ -360,7 +360,7 @@ const getAuthToken$2 = async (auth, callback) => {
360
360
  }
361
361
  return token;
362
362
  };
363
- const createQuerySerializer$2 = ({
363
+ const createQuerySerializer$1 = ({
364
364
  parameters = {},
365
365
  ...args
366
366
  } = {}) => {
@@ -374,7 +374,7 @@ const createQuerySerializer$2 = ({
374
374
  }
375
375
  const options = parameters[name] || args;
376
376
  if (Array.isArray(value)) {
377
- const serializedArray = serializeArrayParam$2({
377
+ const serializedArray = serializeArrayParam$1({
378
378
  allowReserved: options.allowReserved,
379
379
  explode: true,
380
380
  name,
@@ -384,7 +384,7 @@ const createQuerySerializer$2 = ({
384
384
  });
385
385
  if (serializedArray) search.push(serializedArray);
386
386
  } else if (typeof value === "object") {
387
- const serializedObject = serializeObjectParam$2({
387
+ const serializedObject = serializeObjectParam$1({
388
388
  allowReserved: options.allowReserved,
389
389
  explode: true,
390
390
  name,
@@ -394,7 +394,7 @@ const createQuerySerializer$2 = ({
394
394
  });
395
395
  if (serializedObject) search.push(serializedObject);
396
396
  } else {
397
- const serializedPrimitive = serializePrimitiveParam$2({
397
+ const serializedPrimitive = serializePrimitiveParam$1({
398
398
  allowReserved: options.allowReserved,
399
399
  name,
400
400
  value
@@ -407,7 +407,7 @@ const createQuerySerializer$2 = ({
407
407
  };
408
408
  return querySerializer;
409
409
  };
410
- const getParseAs$2 = (contentType) => {
410
+ const getParseAs$1 = (contentType) => {
411
411
  if (!contentType) {
412
412
  return "stream";
413
413
  }
@@ -429,7 +429,7 @@ const getParseAs$2 = (contentType) => {
429
429
  }
430
430
  return;
431
431
  };
432
- const checkForExistence$2 = (options, name) => {
432
+ const checkForExistence$1 = (options, name) => {
433
433
  if (!name) {
434
434
  return false;
435
435
  }
@@ -438,15 +438,12 @@ const checkForExistence$2 = (options, name) => {
438
438
  }
439
439
  return false;
440
440
  };
441
- const setAuthParams$2 = async ({
442
- security,
443
- ...options
444
- }) => {
445
- for (const auth of security) {
446
- if (checkForExistence$2(options, auth.name)) {
441
+ async function setAuthParams$1(options) {
442
+ for (const auth of options.security ?? []) {
443
+ if (checkForExistence$1(options, auth.name)) {
447
444
  continue;
448
445
  }
449
- const token = await getAuthToken$2(auth, options.auth);
446
+ const token = await getAuthToken$1(auth, options.auth);
450
447
  if (!token) {
451
448
  continue;
452
449
  }
@@ -467,36 +464,36 @@ const setAuthParams$2 = async ({
467
464
  break;
468
465
  }
469
466
  }
470
- };
471
- const buildUrl$2 = (options) => getUrl$2({
467
+ }
468
+ const buildUrl$1 = (options) => getUrl$1({
472
469
  baseUrl: options.baseUrl,
473
470
  path: options.path,
474
471
  query: options.query,
475
- querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer$2(options.querySerializer),
472
+ querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer$1(options.querySerializer),
476
473
  url: options.url
477
474
  });
478
- const mergeConfigs$2 = (a2, b2) => {
475
+ const mergeConfigs$1 = (a2, b2) => {
479
476
  const config = { ...a2, ...b2 };
480
477
  if (config.baseUrl?.endsWith("/")) {
481
478
  config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);
482
479
  }
483
- config.headers = mergeHeaders$2(a2.headers, b2.headers);
480
+ config.headers = mergeHeaders$1(a2.headers, b2.headers);
484
481
  return config;
485
482
  };
486
- const headersEntries$2 = (headers) => {
483
+ const headersEntries$1 = (headers) => {
487
484
  const entries = [];
488
485
  headers.forEach((value, key) => {
489
486
  entries.push([key, value]);
490
487
  });
491
488
  return entries;
492
489
  };
493
- const mergeHeaders$2 = (...headers) => {
490
+ const mergeHeaders$1 = (...headers) => {
494
491
  const mergedHeaders = new Headers();
495
492
  for (const header of headers) {
496
493
  if (!header) {
497
494
  continue;
498
495
  }
499
- const iterator = header instanceof Headers ? headersEntries$2(header) : Object.entries(header);
496
+ const iterator = header instanceof Headers ? headersEntries$1(header) : Object.entries(header);
500
497
  for (const [key, value] of iterator) {
501
498
  if (value === null) {
502
499
  mergedHeaders.delete(key);
@@ -514,7 +511,7 @@ const mergeHeaders$2 = (...headers) => {
514
511
  }
515
512
  return mergedHeaders;
516
513
  };
517
- let Interceptors$2 = class Interceptors {
514
+ let Interceptors$1 = class Interceptors {
518
515
  constructor() {
519
516
  this.fns = [];
520
517
  }
@@ -550,12 +547,12 @@ let Interceptors$2 = class Interceptors {
550
547
  return this.fns.length - 1;
551
548
  }
552
549
  };
553
- const createInterceptors$2 = () => ({
554
- error: new Interceptors$2(),
555
- request: new Interceptors$2(),
556
- response: new Interceptors$2()
550
+ const createInterceptors$1 = () => ({
551
+ error: new Interceptors$1(),
552
+ request: new Interceptors$1(),
553
+ response: new Interceptors$1()
557
554
  });
558
- const defaultQuerySerializer$2 = createQuerySerializer$2({
555
+ const defaultQuerySerializer$1 = createQuerySerializer$1({
559
556
  allowReserved: false,
560
557
  array: {
561
558
  explode: true,
@@ -566,37 +563,34 @@ const defaultQuerySerializer$2 = createQuerySerializer$2({
566
563
  style: "deepObject"
567
564
  }
568
565
  });
569
- const defaultHeaders$2 = {
566
+ const defaultHeaders$1 = {
570
567
  "Content-Type": "application/json"
571
568
  };
572
- const createConfig$2 = (override = {}) => ({
573
- ...jsonBodySerializer$2,
574
- headers: defaultHeaders$2,
569
+ const createConfig$1 = (override = {}) => ({
570
+ ...jsonBodySerializer$1,
571
+ headers: defaultHeaders$1,
575
572
  parseAs: "auto",
576
- querySerializer: defaultQuerySerializer$2,
573
+ querySerializer: defaultQuerySerializer$1,
577
574
  ...override
578
575
  });
579
- const createClient$2 = (config = {}) => {
580
- let _config = mergeConfigs$2(createConfig$2(), config);
576
+ const createClient$1 = (config = {}) => {
577
+ let _config = mergeConfigs$1(createConfig$1(), config);
581
578
  const getConfig = () => ({ ..._config });
582
579
  const setConfig = (config2) => {
583
- _config = mergeConfigs$2(_config, config2);
580
+ _config = mergeConfigs$1(_config, config2);
584
581
  return getConfig();
585
582
  };
586
- const interceptors = createInterceptors$2();
583
+ const interceptors = createInterceptors$1();
587
584
  const beforeRequest = async (options) => {
588
585
  const opts = {
589
586
  ..._config,
590
587
  ...options,
591
588
  fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
592
- headers: mergeHeaders$2(_config.headers, options.headers),
589
+ headers: mergeHeaders$1(_config.headers, options.headers),
593
590
  serializedBody: void 0
594
591
  };
595
592
  if (opts.security) {
596
- await setAuthParams$2({
597
- ...opts,
598
- security: opts.security
599
- });
593
+ await setAuthParams$1(opts);
600
594
  }
601
595
  if (opts.requestValidator) {
602
596
  await opts.requestValidator(opts);
@@ -607,139 +601,128 @@ const createClient$2 = (config = {}) => {
607
601
  if (opts.body === void 0 || opts.serializedBody === "") {
608
602
  opts.headers.delete("Content-Type");
609
603
  }
610
- const url = buildUrl$2(opts);
611
- return { opts, url };
604
+ const resolvedOpts = opts;
605
+ const url = buildUrl$1(resolvedOpts);
606
+ return { opts: resolvedOpts, url };
612
607
  };
613
608
  const request = async (options) => {
614
- const { opts, url } = await beforeRequest(options);
615
- const requestInit = {
616
- redirect: "follow",
617
- ...opts,
618
- body: getValidRequestBody$2(opts)
619
- };
620
- let request2 = new Request(url, requestInit);
621
- for (const fn of interceptors.request.fns) {
622
- if (fn) {
623
- request2 = await fn(request2, opts);
624
- }
625
- }
626
- const _fetch = opts.fetch;
609
+ const throwOnError = options.throwOnError ?? _config.throwOnError;
610
+ const responseStyle = options.responseStyle ?? _config.responseStyle;
611
+ let request2;
627
612
  let response;
628
613
  try {
629
- response = await _fetch(request2);
630
- } catch (error2) {
631
- let finalError2 = error2;
632
- for (const fn of interceptors.error.fns) {
614
+ const { opts, url } = await beforeRequest(options);
615
+ const requestInit = {
616
+ redirect: "follow",
617
+ ...opts,
618
+ body: getValidRequestBody$1(opts)
619
+ };
620
+ request2 = new Request(url, requestInit);
621
+ for (const fn of interceptors.request.fns) {
633
622
  if (fn) {
634
- finalError2 = await fn(error2, void 0, request2, opts);
623
+ request2 = await fn(request2, opts);
635
624
  }
636
625
  }
637
- finalError2 = finalError2 || {};
638
- if (opts.throwOnError) {
639
- throw finalError2;
626
+ const _fetch = opts.fetch;
627
+ response = await _fetch(request2);
628
+ for (const fn of interceptors.response.fns) {
629
+ if (fn) {
630
+ response = await fn(response, request2, opts);
631
+ }
640
632
  }
641
- return opts.responseStyle === "data" ? void 0 : {
642
- error: finalError2,
633
+ const result = {
643
634
  request: request2,
644
- response: void 0
635
+ response
645
636
  };
646
- }
647
- for (const fn of interceptors.response.fns) {
648
- if (fn) {
649
- response = await fn(response, request2, opts);
650
- }
651
- }
652
- const result = {
653
- request: request2,
654
- response
655
- };
656
- if (response.ok) {
657
- const parseAs = (opts.parseAs === "auto" ? getParseAs$2(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
658
- if (response.status === 204 || response.headers.get("Content-Length") === "0") {
659
- let emptyData;
637
+ if (response.ok) {
638
+ const parseAs = (opts.parseAs === "auto" ? getParseAs$1(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
639
+ if (response.status === 204 || response.headers.get("Content-Length") === "0") {
640
+ let emptyData;
641
+ switch (parseAs) {
642
+ case "arrayBuffer":
643
+ case "blob":
644
+ case "text":
645
+ emptyData = await response[parseAs]();
646
+ break;
647
+ case "formData":
648
+ emptyData = new FormData();
649
+ break;
650
+ case "stream":
651
+ emptyData = response.body;
652
+ break;
653
+ case "json":
654
+ default:
655
+ emptyData = {};
656
+ break;
657
+ }
658
+ return opts.responseStyle === "data" ? emptyData : {
659
+ data: emptyData,
660
+ ...result
661
+ };
662
+ }
663
+ let data;
660
664
  switch (parseAs) {
661
665
  case "arrayBuffer":
662
666
  case "blob":
667
+ case "formData":
663
668
  case "text":
664
- emptyData = await response[parseAs]();
669
+ data = await response[parseAs]();
665
670
  break;
666
- case "formData":
667
- emptyData = new FormData();
671
+ case "json": {
672
+ const text = await response.text();
673
+ data = text ? JSON.parse(text) : {};
668
674
  break;
675
+ }
669
676
  case "stream":
670
- emptyData = response.body;
671
- break;
672
- case "json":
673
- default:
674
- emptyData = {};
675
- break;
677
+ return opts.responseStyle === "data" ? response.body : {
678
+ data: response.body,
679
+ ...result
680
+ };
681
+ }
682
+ if (parseAs === "json") {
683
+ if (opts.responseValidator) {
684
+ await opts.responseValidator(data);
685
+ }
686
+ if (opts.responseTransformer) {
687
+ data = await opts.responseTransformer(data);
688
+ }
676
689
  }
677
- return opts.responseStyle === "data" ? emptyData : {
678
- data: emptyData,
690
+ return opts.responseStyle === "data" ? data : {
691
+ data,
679
692
  ...result
680
693
  };
681
694
  }
682
- let data;
683
- switch (parseAs) {
684
- case "arrayBuffer":
685
- case "blob":
686
- case "formData":
687
- case "text":
688
- data = await response[parseAs]();
689
- break;
690
- case "json": {
691
- const text = await response.text();
692
- data = text ? JSON.parse(text) : {};
693
- break;
694
- }
695
- case "stream":
696
- return opts.responseStyle === "data" ? response.body : {
697
- data: response.body,
698
- ...result
699
- };
695
+ const textError = await response.text();
696
+ let jsonError;
697
+ try {
698
+ jsonError = JSON.parse(textError);
699
+ } catch {
700
700
  }
701
- if (parseAs === "json") {
702
- if (opts.responseValidator) {
703
- await opts.responseValidator(data);
704
- }
705
- if (opts.responseTransformer) {
706
- data = await opts.responseTransformer(data);
701
+ throw jsonError ?? textError;
702
+ } catch (error) {
703
+ let finalError = error;
704
+ for (const fn of interceptors.error.fns) {
705
+ if (fn) {
706
+ finalError = await fn(finalError, response, request2, options);
707
707
  }
708
708
  }
709
- return opts.responseStyle === "data" ? data : {
710
- data,
711
- ...result
712
- };
713
- }
714
- const textError = await response.text();
715
- let jsonError;
716
- try {
717
- jsonError = JSON.parse(textError);
718
- } catch {
719
- }
720
- const error = jsonError ?? textError;
721
- let finalError = error;
722
- for (const fn of interceptors.error.fns) {
723
- if (fn) {
724
- finalError = await fn(error, response, request2, opts);
709
+ finalError = finalError || {};
710
+ if (throwOnError) {
711
+ throw finalError;
725
712
  }
713
+ return responseStyle === "data" ? void 0 : {
714
+ error: finalError,
715
+ request: request2,
716
+ response
717
+ };
726
718
  }
727
- finalError = finalError || {};
728
- if (opts.throwOnError) {
729
- throw finalError;
730
- }
731
- return opts.responseStyle === "data" ? void 0 : {
732
- error: finalError,
733
- ...result
734
- };
735
719
  };
736
720
  const makeMethodFn = (method) => (options) => request({ ...options, method });
737
721
  const makeSseFn = (method) => async (options) => {
738
722
  const { opts, url } = await beforeRequest(options);
739
- return createSseClient$2({
723
+ return createSseClient$1({
740
724
  ...opts,
741
725
  body: opts.body,
742
- headers: opts.headers,
743
726
  method,
744
727
  onRequest: async (url2, init) => {
745
728
  let request2 = new Request(url2, init);
@@ -750,12 +733,13 @@ const createClient$2 = (config = {}) => {
750
733
  }
751
734
  return request2;
752
735
  },
753
- serializedBody: getValidRequestBody$2(opts),
736
+ serializedBody: getValidRequestBody$1(opts),
754
737
  url
755
738
  });
756
739
  };
740
+ const _buildUrl = (options) => buildUrl$1({ ..._config, ...options });
757
741
  return {
758
- buildUrl: buildUrl$2,
742
+ buildUrl: _buildUrl,
759
743
  connect: makeMethodFn("CONNECT"),
760
744
  delete: makeMethodFn("DELETE"),
761
745
  get: makeMethodFn("GET"),
@@ -782,15 +766,22 @@ const createClient$2 = (config = {}) => {
782
766
  trace: makeMethodFn("TRACE")
783
767
  };
784
768
  };
785
- const client$2 = createClient$2(createConfig$2({ baseUrl: "https://api-dev.claudebernard.fr/infos", throwOnError: true }));
786
- const searchKeywordByProductIdAndCode = (options) => (options.client ?? client$2).get({ url: "/products/{productIds}/keywords", ...options });
787
- const infoApi = {
788
- searchKeywordByProductIdAndCode
769
+ const client$1 = createClient$1(createConfig$1({ baseUrl: "https://api-dev.claudebernard.fr/prescription", throwOnError: true }));
770
+ const getFhirPosologies = (options) => (options?.client ?? client$1).post({
771
+ url: "/posologies/fhir",
772
+ ...options,
773
+ headers: {
774
+ "Content-Type": "application/json",
775
+ ...options?.headers
776
+ }
777
+ });
778
+ const prescriptionApi = {
779
+ getFhirPosologies
789
780
  };
790
- const jsonBodySerializer$1 = {
781
+ const jsonBodySerializer = {
791
782
  bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value)
792
783
  };
793
- function createSseClient$1({
784
+ function createSseClient({
794
785
  onRequest,
795
786
  onSseError,
796
787
  onSseEvent,
@@ -915,7 +906,7 @@ function createSseClient$1({
915
906
  const stream = createStream();
916
907
  return { stream };
917
908
  }
918
- const separatorArrayExplode$1 = (style) => {
909
+ const separatorArrayExplode = (style) => {
919
910
  switch (style) {
920
911
  case "label":
921
912
  return ".";
@@ -927,7 +918,7 @@ const separatorArrayExplode$1 = (style) => {
927
918
  return "&";
928
919
  }
929
920
  };
930
- const separatorArrayNoExplode$1 = (style) => {
921
+ const separatorArrayNoExplode = (style) => {
931
922
  switch (style) {
932
923
  case "form":
933
924
  return ",";
@@ -939,7 +930,7 @@ const separatorArrayNoExplode$1 = (style) => {
939
930
  return ",";
940
931
  }
941
932
  };
942
- const separatorObjectExplode$1 = (style) => {
933
+ const separatorObjectExplode = (style) => {
943
934
  switch (style) {
944
935
  case "label":
945
936
  return ".";
@@ -951,7 +942,7 @@ const separatorObjectExplode$1 = (style) => {
951
942
  return "&";
952
943
  }
953
944
  };
954
- const serializeArrayParam$1 = ({
945
+ const serializeArrayParam = ({
955
946
  allowReserved,
956
947
  explode,
957
948
  name,
@@ -959,7 +950,7 @@ const serializeArrayParam$1 = ({
959
950
  value
960
951
  }) => {
961
952
  if (!explode) {
962
- const joinedValues2 = (allowReserved ? value : value.map((v2) => encodeURIComponent(v2))).join(separatorArrayNoExplode$1(style));
953
+ const joinedValues2 = (allowReserved ? value : value.map((v2) => encodeURIComponent(v2))).join(separatorArrayNoExplode(style));
963
954
  switch (style) {
964
955
  case "label":
965
956
  return `.${joinedValues2}`;
@@ -971,12 +962,12 @@ const serializeArrayParam$1 = ({
971
962
  return `${name}=${joinedValues2}`;
972
963
  }
973
964
  }
974
- const separator = separatorArrayExplode$1(style);
965
+ const separator = separatorArrayExplode(style);
975
966
  const joinedValues = value.map((v2) => {
976
967
  if (style === "label" || style === "simple") {
977
968
  return allowReserved ? v2 : encodeURIComponent(v2);
978
969
  }
979
- return serializePrimitiveParam$1({
970
+ return serializePrimitiveParam({
980
971
  allowReserved,
981
972
  name,
982
973
  value: v2
@@ -984,7 +975,7 @@ const serializeArrayParam$1 = ({
984
975
  }).join(separator);
985
976
  return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
986
977
  };
987
- const serializePrimitiveParam$1 = ({
978
+ const serializePrimitiveParam = ({
988
979
  allowReserved,
989
980
  name,
990
981
  value
@@ -999,7 +990,7 @@ const serializePrimitiveParam$1 = ({
999
990
  }
1000
991
  return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;
1001
992
  };
1002
- const serializeObjectParam$1 = ({
993
+ const serializeObjectParam = ({
1003
994
  allowReserved,
1004
995
  explode,
1005
996
  name,
@@ -1027,9 +1018,9 @@ const serializeObjectParam$1 = ({
1027
1018
  return joinedValues2;
1028
1019
  }
1029
1020
  }
1030
- const separator = separatorObjectExplode$1(style);
1021
+ const separator = separatorObjectExplode(style);
1031
1022
  const joinedValues = Object.entries(value).map(
1032
- ([key, v2]) => serializePrimitiveParam$1({
1023
+ ([key, v2]) => serializePrimitiveParam({
1033
1024
  allowReserved,
1034
1025
  name: style === "deepObject" ? `${name}[${key}]` : key,
1035
1026
  value: v2
@@ -1037,10 +1028,10 @@ const serializeObjectParam$1 = ({
1037
1028
  ).join(separator);
1038
1029
  return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
1039
1030
  };
1040
- const PATH_PARAM_RE$1 = /\{[^{}]+\}/g;
1041
- const defaultPathSerializer$1 = ({ path, url: _url }) => {
1031
+ const PATH_PARAM_RE = /\{[^{}]+\}/g;
1032
+ const defaultPathSerializer = ({ path, url: _url }) => {
1042
1033
  let url = _url;
1043
- const matches = _url.match(PATH_PARAM_RE$1);
1034
+ const matches = _url.match(PATH_PARAM_RE);
1044
1035
  if (matches) {
1045
1036
  for (const match of matches) {
1046
1037
  let explode = false;
@@ -1062,13 +1053,13 @@ const defaultPathSerializer$1 = ({ path, url: _url }) => {
1062
1053
  continue;
1063
1054
  }
1064
1055
  if (Array.isArray(value)) {
1065
- url = url.replace(match, serializeArrayParam$1({ explode, name, style, value }));
1056
+ url = url.replace(match, serializeArrayParam({ explode, name, style, value }));
1066
1057
  continue;
1067
1058
  }
1068
1059
  if (typeof value === "object") {
1069
1060
  url = url.replace(
1070
1061
  match,
1071
- serializeObjectParam$1({
1062
+ serializeObjectParam({
1072
1063
  explode,
1073
1064
  name,
1074
1065
  style,
@@ -1081,7 +1072,7 @@ const defaultPathSerializer$1 = ({ path, url: _url }) => {
1081
1072
  if (style === "matrix") {
1082
1073
  url = url.replace(
1083
1074
  match,
1084
- `;${serializePrimitiveParam$1({
1075
+ `;${serializePrimitiveParam({
1085
1076
  name,
1086
1077
  value
1087
1078
  })}`
@@ -1096,7 +1087,7 @@ const defaultPathSerializer$1 = ({ path, url: _url }) => {
1096
1087
  }
1097
1088
  return url;
1098
1089
  };
1099
- const getUrl$1 = ({
1090
+ const getUrl = ({
1100
1091
  baseUrl,
1101
1092
  path,
1102
1093
  query,
@@ -1106,7 +1097,7 @@ const getUrl$1 = ({
1106
1097
  const pathUrl = _url.startsWith("/") ? _url : `/${_url}`;
1107
1098
  let url = (baseUrl ?? "") + pathUrl;
1108
1099
  if (path) {
1109
- url = defaultPathSerializer$1({ path, url });
1100
+ url = defaultPathSerializer({ path, url });
1110
1101
  }
1111
1102
  let search = query ? querySerializer(query) : "";
1112
1103
  if (search.startsWith("?")) {
@@ -1117,7 +1108,7 @@ const getUrl$1 = ({
1117
1108
  }
1118
1109
  return url;
1119
1110
  };
1120
- function getValidRequestBody$1(options) {
1111
+ function getValidRequestBody(options) {
1121
1112
  const hasBody = options.body !== void 0;
1122
1113
  const isSerializedBody = hasBody && options.bodySerializer;
1123
1114
  if (isSerializedBody) {
@@ -1132,7 +1123,7 @@ function getValidRequestBody$1(options) {
1132
1123
  }
1133
1124
  return void 0;
1134
1125
  }
1135
- const getAuthToken$1 = async (auth, callback) => {
1126
+ const getAuthToken = async (auth, callback) => {
1136
1127
  const token = typeof callback === "function" ? await callback(auth) : callback;
1137
1128
  if (!token) {
1138
1129
  return;
@@ -1145,7 +1136,7 @@ const getAuthToken$1 = async (auth, callback) => {
1145
1136
  }
1146
1137
  return token;
1147
1138
  };
1148
- const createQuerySerializer$1 = ({
1139
+ const createQuerySerializer = ({
1149
1140
  parameters = {},
1150
1141
  ...args
1151
1142
  } = {}) => {
@@ -1159,7 +1150,7 @@ const createQuerySerializer$1 = ({
1159
1150
  }
1160
1151
  const options = parameters[name] || args;
1161
1152
  if (Array.isArray(value)) {
1162
- const serializedArray = serializeArrayParam$1({
1153
+ const serializedArray = serializeArrayParam({
1163
1154
  allowReserved: options.allowReserved,
1164
1155
  explode: true,
1165
1156
  name,
@@ -1169,7 +1160,7 @@ const createQuerySerializer$1 = ({
1169
1160
  });
1170
1161
  if (serializedArray) search.push(serializedArray);
1171
1162
  } else if (typeof value === "object") {
1172
- const serializedObject = serializeObjectParam$1({
1163
+ const serializedObject = serializeObjectParam({
1173
1164
  allowReserved: options.allowReserved,
1174
1165
  explode: true,
1175
1166
  name,
@@ -1179,7 +1170,7 @@ const createQuerySerializer$1 = ({
1179
1170
  });
1180
1171
  if (serializedObject) search.push(serializedObject);
1181
1172
  } else {
1182
- const serializedPrimitive = serializePrimitiveParam$1({
1173
+ const serializedPrimitive = serializePrimitiveParam({
1183
1174
  allowReserved: options.allowReserved,
1184
1175
  name,
1185
1176
  value
@@ -1192,7 +1183,7 @@ const createQuerySerializer$1 = ({
1192
1183
  };
1193
1184
  return querySerializer;
1194
1185
  };
1195
- const getParseAs$1 = (contentType) => {
1186
+ const getParseAs = (contentType) => {
1196
1187
  if (!contentType) {
1197
1188
  return "stream";
1198
1189
  }
@@ -1214,7 +1205,7 @@ const getParseAs$1 = (contentType) => {
1214
1205
  }
1215
1206
  return;
1216
1207
  };
1217
- const checkForExistence$1 = (options, name) => {
1208
+ const checkForExistence = (options, name) => {
1218
1209
  if (!name) {
1219
1210
  return false;
1220
1211
  }
@@ -1223,788 +1214,9 @@ const checkForExistence$1 = (options, name) => {
1223
1214
  }
1224
1215
  return false;
1225
1216
  };
1226
- async function setAuthParams$1(options) {
1217
+ async function setAuthParams(options) {
1227
1218
  for (const auth of options.security ?? []) {
1228
- if (checkForExistence$1(options, auth.name)) {
1229
- continue;
1230
- }
1231
- const token = await getAuthToken$1(auth, options.auth);
1232
- if (!token) {
1233
- continue;
1234
- }
1235
- const name = auth.name ?? "Authorization";
1236
- switch (auth.in) {
1237
- case "query":
1238
- if (!options.query) {
1239
- options.query = {};
1240
- }
1241
- options.query[name] = token;
1242
- break;
1243
- case "cookie":
1244
- options.headers.append("Cookie", `${name}=${token}`);
1245
- break;
1246
- case "header":
1247
- default:
1248
- options.headers.set(name, token);
1249
- break;
1250
- }
1251
- }
1252
- }
1253
- const buildUrl$1 = (options) => getUrl$1({
1254
- baseUrl: options.baseUrl,
1255
- path: options.path,
1256
- query: options.query,
1257
- querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer$1(options.querySerializer),
1258
- url: options.url
1259
- });
1260
- const mergeConfigs$1 = (a2, b2) => {
1261
- const config = { ...a2, ...b2 };
1262
- if (config.baseUrl?.endsWith("/")) {
1263
- config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);
1264
- }
1265
- config.headers = mergeHeaders$1(a2.headers, b2.headers);
1266
- return config;
1267
- };
1268
- const headersEntries$1 = (headers) => {
1269
- const entries = [];
1270
- headers.forEach((value, key) => {
1271
- entries.push([key, value]);
1272
- });
1273
- return entries;
1274
- };
1275
- const mergeHeaders$1 = (...headers) => {
1276
- const mergedHeaders = new Headers();
1277
- for (const header of headers) {
1278
- if (!header) {
1279
- continue;
1280
- }
1281
- const iterator = header instanceof Headers ? headersEntries$1(header) : Object.entries(header);
1282
- for (const [key, value] of iterator) {
1283
- if (value === null) {
1284
- mergedHeaders.delete(key);
1285
- } else if (Array.isArray(value)) {
1286
- for (const v2 of value) {
1287
- mergedHeaders.append(key, v2);
1288
- }
1289
- } else if (value !== void 0) {
1290
- mergedHeaders.set(
1291
- key,
1292
- typeof value === "object" ? JSON.stringify(value) : value
1293
- );
1294
- }
1295
- }
1296
- }
1297
- return mergedHeaders;
1298
- };
1299
- let Interceptors$1 = class Interceptors2 {
1300
- constructor() {
1301
- this.fns = [];
1302
- }
1303
- clear() {
1304
- this.fns = [];
1305
- }
1306
- eject(id) {
1307
- const index = this.getInterceptorIndex(id);
1308
- if (this.fns[index]) {
1309
- this.fns[index] = null;
1310
- }
1311
- }
1312
- exists(id) {
1313
- const index = this.getInterceptorIndex(id);
1314
- return Boolean(this.fns[index]);
1315
- }
1316
- getInterceptorIndex(id) {
1317
- if (typeof id === "number") {
1318
- return this.fns[id] ? id : -1;
1319
- }
1320
- return this.fns.indexOf(id);
1321
- }
1322
- update(id, fn) {
1323
- const index = this.getInterceptorIndex(id);
1324
- if (this.fns[index]) {
1325
- this.fns[index] = fn;
1326
- return id;
1327
- }
1328
- return false;
1329
- }
1330
- use(fn) {
1331
- this.fns.push(fn);
1332
- return this.fns.length - 1;
1333
- }
1334
- };
1335
- const createInterceptors$1 = () => ({
1336
- error: new Interceptors$1(),
1337
- request: new Interceptors$1(),
1338
- response: new Interceptors$1()
1339
- });
1340
- const defaultQuerySerializer$1 = createQuerySerializer$1({
1341
- allowReserved: false,
1342
- array: {
1343
- explode: true,
1344
- style: "form"
1345
- },
1346
- object: {
1347
- explode: true,
1348
- style: "deepObject"
1349
- }
1350
- });
1351
- const defaultHeaders$1 = {
1352
- "Content-Type": "application/json"
1353
- };
1354
- const createConfig$1 = (override = {}) => ({
1355
- ...jsonBodySerializer$1,
1356
- headers: defaultHeaders$1,
1357
- parseAs: "auto",
1358
- querySerializer: defaultQuerySerializer$1,
1359
- ...override
1360
- });
1361
- const createClient$1 = (config = {}) => {
1362
- let _config = mergeConfigs$1(createConfig$1(), config);
1363
- const getConfig = () => ({ ..._config });
1364
- const setConfig = (config2) => {
1365
- _config = mergeConfigs$1(_config, config2);
1366
- return getConfig();
1367
- };
1368
- const interceptors = createInterceptors$1();
1369
- const beforeRequest = async (options) => {
1370
- const opts = {
1371
- ..._config,
1372
- ...options,
1373
- fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
1374
- headers: mergeHeaders$1(_config.headers, options.headers),
1375
- serializedBody: void 0
1376
- };
1377
- if (opts.security) {
1378
- await setAuthParams$1(opts);
1379
- }
1380
- if (opts.requestValidator) {
1381
- await opts.requestValidator(opts);
1382
- }
1383
- if (opts.body !== void 0 && opts.bodySerializer) {
1384
- opts.serializedBody = opts.bodySerializer(opts.body);
1385
- }
1386
- if (opts.body === void 0 || opts.serializedBody === "") {
1387
- opts.headers.delete("Content-Type");
1388
- }
1389
- const resolvedOpts = opts;
1390
- const url = buildUrl$1(resolvedOpts);
1391
- return { opts: resolvedOpts, url };
1392
- };
1393
- const request = async (options) => {
1394
- const throwOnError = options.throwOnError ?? _config.throwOnError;
1395
- const responseStyle = options.responseStyle ?? _config.responseStyle;
1396
- let request2;
1397
- let response;
1398
- try {
1399
- const { opts, url } = await beforeRequest(options);
1400
- const requestInit = {
1401
- redirect: "follow",
1402
- ...opts,
1403
- body: getValidRequestBody$1(opts)
1404
- };
1405
- request2 = new Request(url, requestInit);
1406
- for (const fn of interceptors.request.fns) {
1407
- if (fn) {
1408
- request2 = await fn(request2, opts);
1409
- }
1410
- }
1411
- const _fetch = opts.fetch;
1412
- response = await _fetch(request2);
1413
- for (const fn of interceptors.response.fns) {
1414
- if (fn) {
1415
- response = await fn(response, request2, opts);
1416
- }
1417
- }
1418
- const result = {
1419
- request: request2,
1420
- response
1421
- };
1422
- if (response.ok) {
1423
- const parseAs = (opts.parseAs === "auto" ? getParseAs$1(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
1424
- if (response.status === 204 || response.headers.get("Content-Length") === "0") {
1425
- let emptyData;
1426
- switch (parseAs) {
1427
- case "arrayBuffer":
1428
- case "blob":
1429
- case "text":
1430
- emptyData = await response[parseAs]();
1431
- break;
1432
- case "formData":
1433
- emptyData = new FormData();
1434
- break;
1435
- case "stream":
1436
- emptyData = response.body;
1437
- break;
1438
- case "json":
1439
- default:
1440
- emptyData = {};
1441
- break;
1442
- }
1443
- return opts.responseStyle === "data" ? emptyData : {
1444
- data: emptyData,
1445
- ...result
1446
- };
1447
- }
1448
- let data;
1449
- switch (parseAs) {
1450
- case "arrayBuffer":
1451
- case "blob":
1452
- case "formData":
1453
- case "text":
1454
- data = await response[parseAs]();
1455
- break;
1456
- case "json": {
1457
- const text = await response.text();
1458
- data = text ? JSON.parse(text) : {};
1459
- break;
1460
- }
1461
- case "stream":
1462
- return opts.responseStyle === "data" ? response.body : {
1463
- data: response.body,
1464
- ...result
1465
- };
1466
- }
1467
- if (parseAs === "json") {
1468
- if (opts.responseValidator) {
1469
- await opts.responseValidator(data);
1470
- }
1471
- if (opts.responseTransformer) {
1472
- data = await opts.responseTransformer(data);
1473
- }
1474
- }
1475
- return opts.responseStyle === "data" ? data : {
1476
- data,
1477
- ...result
1478
- };
1479
- }
1480
- const textError = await response.text();
1481
- let jsonError;
1482
- try {
1483
- jsonError = JSON.parse(textError);
1484
- } catch {
1485
- }
1486
- throw jsonError ?? textError;
1487
- } catch (error) {
1488
- let finalError = error;
1489
- for (const fn of interceptors.error.fns) {
1490
- if (fn) {
1491
- finalError = await fn(finalError, response, request2, options);
1492
- }
1493
- }
1494
- finalError = finalError || {};
1495
- if (throwOnError) {
1496
- throw finalError;
1497
- }
1498
- return responseStyle === "data" ? void 0 : {
1499
- error: finalError,
1500
- request: request2,
1501
- response
1502
- };
1503
- }
1504
- };
1505
- const makeMethodFn = (method) => (options) => request({ ...options, method });
1506
- const makeSseFn = (method) => async (options) => {
1507
- const { opts, url } = await beforeRequest(options);
1508
- return createSseClient$1({
1509
- ...opts,
1510
- body: opts.body,
1511
- method,
1512
- onRequest: async (url2, init) => {
1513
- let request2 = new Request(url2, init);
1514
- for (const fn of interceptors.request.fns) {
1515
- if (fn) {
1516
- request2 = await fn(request2, opts);
1517
- }
1518
- }
1519
- return request2;
1520
- },
1521
- serializedBody: getValidRequestBody$1(opts),
1522
- url
1523
- });
1524
- };
1525
- const _buildUrl = (options) => buildUrl$1({ ..._config, ...options });
1526
- return {
1527
- buildUrl: _buildUrl,
1528
- connect: makeMethodFn("CONNECT"),
1529
- delete: makeMethodFn("DELETE"),
1530
- get: makeMethodFn("GET"),
1531
- getConfig,
1532
- head: makeMethodFn("HEAD"),
1533
- interceptors,
1534
- options: makeMethodFn("OPTIONS"),
1535
- patch: makeMethodFn("PATCH"),
1536
- post: makeMethodFn("POST"),
1537
- put: makeMethodFn("PUT"),
1538
- request,
1539
- setConfig,
1540
- sse: {
1541
- connect: makeSseFn("CONNECT"),
1542
- delete: makeSseFn("DELETE"),
1543
- get: makeSseFn("GET"),
1544
- head: makeSseFn("HEAD"),
1545
- options: makeSseFn("OPTIONS"),
1546
- patch: makeSseFn("PATCH"),
1547
- post: makeSseFn("POST"),
1548
- put: makeSseFn("PUT"),
1549
- trace: makeSseFn("TRACE")
1550
- },
1551
- trace: makeMethodFn("TRACE")
1552
- };
1553
- };
1554
- const client$1 = createClient$1(createConfig$1({ baseUrl: "https://api-dev.claudebernard.fr/prescription", throwOnError: true }));
1555
- const getFhirPosologies = (options) => (options?.client ?? client$1).post({
1556
- url: "/posologies/fhir",
1557
- ...options,
1558
- headers: {
1559
- "Content-Type": "application/json",
1560
- ...options?.headers
1561
- }
1562
- });
1563
- const prescriptionApi = {
1564
- getFhirPosologies
1565
- };
1566
- const jsonBodySerializer = {
1567
- bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value)
1568
- };
1569
- const createSseClient = ({
1570
- onRequest,
1571
- onSseError,
1572
- onSseEvent,
1573
- responseTransformer,
1574
- responseValidator,
1575
- sseDefaultRetryDelay,
1576
- sseMaxRetryAttempts,
1577
- sseMaxRetryDelay,
1578
- sseSleepFn,
1579
- url,
1580
- ...options
1581
- }) => {
1582
- let lastEventId;
1583
- const sleep = sseSleepFn ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
1584
- const createStream = async function* () {
1585
- let retryDelay = sseDefaultRetryDelay ?? 3e3;
1586
- let attempt = 0;
1587
- const signal = options.signal ?? new AbortController().signal;
1588
- while (true) {
1589
- if (signal.aborted) break;
1590
- attempt++;
1591
- const headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers);
1592
- if (lastEventId !== void 0) {
1593
- headers.set("Last-Event-ID", lastEventId);
1594
- }
1595
- try {
1596
- const requestInit = {
1597
- redirect: "follow",
1598
- ...options,
1599
- body: options.serializedBody,
1600
- headers,
1601
- signal
1602
- };
1603
- let request = new Request(url, requestInit);
1604
- if (onRequest) {
1605
- request = await onRequest(url, requestInit);
1606
- }
1607
- const _fetch = options.fetch ?? globalThis.fetch;
1608
- const response = await _fetch(request);
1609
- if (!response.ok) throw new Error(`SSE failed: ${response.status} ${response.statusText}`);
1610
- if (!response.body) throw new Error("No body in SSE response");
1611
- const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
1612
- let buffer = "";
1613
- const abortHandler = () => {
1614
- try {
1615
- reader.cancel();
1616
- } catch {
1617
- }
1618
- };
1619
- signal.addEventListener("abort", abortHandler);
1620
- try {
1621
- while (true) {
1622
- const { done, value } = await reader.read();
1623
- if (done) break;
1624
- buffer += value;
1625
- buffer = buffer.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
1626
- const chunks = buffer.split("\n\n");
1627
- buffer = chunks.pop() ?? "";
1628
- for (const chunk of chunks) {
1629
- const lines = chunk.split("\n");
1630
- const dataLines = [];
1631
- let eventName;
1632
- for (const line of lines) {
1633
- if (line.startsWith("data:")) {
1634
- dataLines.push(line.replace(/^data:\s*/, ""));
1635
- } else if (line.startsWith("event:")) {
1636
- eventName = line.replace(/^event:\s*/, "");
1637
- } else if (line.startsWith("id:")) {
1638
- lastEventId = line.replace(/^id:\s*/, "");
1639
- } else if (line.startsWith("retry:")) {
1640
- const parsed = Number.parseInt(line.replace(/^retry:\s*/, ""), 10);
1641
- if (!Number.isNaN(parsed)) {
1642
- retryDelay = parsed;
1643
- }
1644
- }
1645
- }
1646
- let data;
1647
- let parsedJson = false;
1648
- if (dataLines.length) {
1649
- const rawData = dataLines.join("\n");
1650
- try {
1651
- data = JSON.parse(rawData);
1652
- parsedJson = true;
1653
- } catch {
1654
- data = rawData;
1655
- }
1656
- }
1657
- if (parsedJson) {
1658
- if (responseValidator) {
1659
- await responseValidator(data);
1660
- }
1661
- if (responseTransformer) {
1662
- data = await responseTransformer(data);
1663
- }
1664
- }
1665
- onSseEvent?.({
1666
- data,
1667
- event: eventName,
1668
- id: lastEventId,
1669
- retry: retryDelay
1670
- });
1671
- if (dataLines.length) {
1672
- yield data;
1673
- }
1674
- }
1675
- }
1676
- } finally {
1677
- signal.removeEventListener("abort", abortHandler);
1678
- reader.releaseLock();
1679
- }
1680
- break;
1681
- } catch (error) {
1682
- onSseError?.(error);
1683
- if (sseMaxRetryAttempts !== void 0 && attempt >= sseMaxRetryAttempts) {
1684
- break;
1685
- }
1686
- const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 3e4);
1687
- await sleep(backoff);
1688
- }
1689
- }
1690
- };
1691
- const stream = createStream();
1692
- return { stream };
1693
- };
1694
- const separatorArrayExplode = (style) => {
1695
- switch (style) {
1696
- case "label":
1697
- return ".";
1698
- case "matrix":
1699
- return ";";
1700
- case "simple":
1701
- return ",";
1702
- default:
1703
- return "&";
1704
- }
1705
- };
1706
- const separatorArrayNoExplode = (style) => {
1707
- switch (style) {
1708
- case "form":
1709
- return ",";
1710
- case "pipeDelimited":
1711
- return "|";
1712
- case "spaceDelimited":
1713
- return "%20";
1714
- default:
1715
- return ",";
1716
- }
1717
- };
1718
- const separatorObjectExplode = (style) => {
1719
- switch (style) {
1720
- case "label":
1721
- return ".";
1722
- case "matrix":
1723
- return ";";
1724
- case "simple":
1725
- return ",";
1726
- default:
1727
- return "&";
1728
- }
1729
- };
1730
- const serializeArrayParam = ({
1731
- allowReserved,
1732
- explode,
1733
- name,
1734
- style,
1735
- value
1736
- }) => {
1737
- if (!explode) {
1738
- const joinedValues2 = (allowReserved ? value : value.map((v2) => encodeURIComponent(v2))).join(separatorArrayNoExplode(style));
1739
- switch (style) {
1740
- case "label":
1741
- return `.${joinedValues2}`;
1742
- case "matrix":
1743
- return `;${name}=${joinedValues2}`;
1744
- case "simple":
1745
- return joinedValues2;
1746
- default:
1747
- return `${name}=${joinedValues2}`;
1748
- }
1749
- }
1750
- const separator = separatorArrayExplode(style);
1751
- const joinedValues = value.map((v2) => {
1752
- if (style === "label" || style === "simple") {
1753
- return allowReserved ? v2 : encodeURIComponent(v2);
1754
- }
1755
- return serializePrimitiveParam({
1756
- allowReserved,
1757
- name,
1758
- value: v2
1759
- });
1760
- }).join(separator);
1761
- return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
1762
- };
1763
- const serializePrimitiveParam = ({
1764
- allowReserved,
1765
- name,
1766
- value
1767
- }) => {
1768
- if (value === void 0 || value === null) {
1769
- return "";
1770
- }
1771
- if (typeof value === "object") {
1772
- throw new Error(
1773
- "Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these."
1774
- );
1775
- }
1776
- return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;
1777
- };
1778
- const serializeObjectParam = ({
1779
- allowReserved,
1780
- explode,
1781
- name,
1782
- style,
1783
- value,
1784
- valueOnly
1785
- }) => {
1786
- if (value instanceof Date) {
1787
- return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;
1788
- }
1789
- if (style !== "deepObject" && !explode) {
1790
- let values = [];
1791
- Object.entries(value).forEach(([key, v2]) => {
1792
- values = [...values, key, allowReserved ? v2 : encodeURIComponent(v2)];
1793
- });
1794
- const joinedValues2 = values.join(",");
1795
- switch (style) {
1796
- case "form":
1797
- return `${name}=${joinedValues2}`;
1798
- case "label":
1799
- return `.${joinedValues2}`;
1800
- case "matrix":
1801
- return `;${name}=${joinedValues2}`;
1802
- default:
1803
- return joinedValues2;
1804
- }
1805
- }
1806
- const separator = separatorObjectExplode(style);
1807
- const joinedValues = Object.entries(value).map(
1808
- ([key, v2]) => serializePrimitiveParam({
1809
- allowReserved,
1810
- name: style === "deepObject" ? `${name}[${key}]` : key,
1811
- value: v2
1812
- })
1813
- ).join(separator);
1814
- return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
1815
- };
1816
- const PATH_PARAM_RE = /\{[^{}]+\}/g;
1817
- const defaultPathSerializer = ({ path, url: _url }) => {
1818
- let url = _url;
1819
- const matches = _url.match(PATH_PARAM_RE);
1820
- if (matches) {
1821
- for (const match of matches) {
1822
- let explode = false;
1823
- let name = match.substring(1, match.length - 1);
1824
- let style = "simple";
1825
- if (name.endsWith("*")) {
1826
- explode = true;
1827
- name = name.substring(0, name.length - 1);
1828
- }
1829
- if (name.startsWith(".")) {
1830
- name = name.substring(1);
1831
- style = "label";
1832
- } else if (name.startsWith(";")) {
1833
- name = name.substring(1);
1834
- style = "matrix";
1835
- }
1836
- const value = path[name];
1837
- if (value === void 0 || value === null) {
1838
- continue;
1839
- }
1840
- if (Array.isArray(value)) {
1841
- url = url.replace(match, serializeArrayParam({ explode, name, style, value }));
1842
- continue;
1843
- }
1844
- if (typeof value === "object") {
1845
- url = url.replace(
1846
- match,
1847
- serializeObjectParam({
1848
- explode,
1849
- name,
1850
- style,
1851
- value,
1852
- valueOnly: true
1853
- })
1854
- );
1855
- continue;
1856
- }
1857
- if (style === "matrix") {
1858
- url = url.replace(
1859
- match,
1860
- `;${serializePrimitiveParam({
1861
- name,
1862
- value
1863
- })}`
1864
- );
1865
- continue;
1866
- }
1867
- const replaceValue = encodeURIComponent(
1868
- style === "label" ? `.${value}` : value
1869
- );
1870
- url = url.replace(match, replaceValue);
1871
- }
1872
- }
1873
- return url;
1874
- };
1875
- const getUrl = ({
1876
- baseUrl,
1877
- path,
1878
- query,
1879
- querySerializer,
1880
- url: _url
1881
- }) => {
1882
- const pathUrl = _url.startsWith("/") ? _url : `/${_url}`;
1883
- let url = (baseUrl ?? "") + pathUrl;
1884
- if (path) {
1885
- url = defaultPathSerializer({ path, url });
1886
- }
1887
- let search = query ? querySerializer(query) : "";
1888
- if (search.startsWith("?")) {
1889
- search = search.substring(1);
1890
- }
1891
- if (search) {
1892
- url += `?${search}`;
1893
- }
1894
- return url;
1895
- };
1896
- function getValidRequestBody(options) {
1897
- const hasBody = options.body !== void 0;
1898
- const isSerializedBody = hasBody && options.bodySerializer;
1899
- if (isSerializedBody) {
1900
- if ("serializedBody" in options) {
1901
- const hasSerializedBody = options.serializedBody !== void 0 && options.serializedBody !== "";
1902
- return hasSerializedBody ? options.serializedBody : null;
1903
- }
1904
- return options.body !== "" ? options.body : null;
1905
- }
1906
- if (hasBody) {
1907
- return options.body;
1908
- }
1909
- return void 0;
1910
- }
1911
- const getAuthToken = async (auth, callback) => {
1912
- const token = typeof callback === "function" ? await callback(auth) : callback;
1913
- if (!token) {
1914
- return;
1915
- }
1916
- if (auth.scheme === "bearer") {
1917
- return `Bearer ${token}`;
1918
- }
1919
- if (auth.scheme === "basic") {
1920
- return `Basic ${btoa(token)}`;
1921
- }
1922
- return token;
1923
- };
1924
- const createQuerySerializer = ({
1925
- parameters = {},
1926
- ...args
1927
- } = {}) => {
1928
- const querySerializer = (queryParams) => {
1929
- const search = [];
1930
- if (queryParams && typeof queryParams === "object") {
1931
- for (const name in queryParams) {
1932
- const value = queryParams[name];
1933
- if (value === void 0 || value === null) {
1934
- continue;
1935
- }
1936
- const options = parameters[name] || args;
1937
- if (Array.isArray(value)) {
1938
- const serializedArray = serializeArrayParam({
1939
- allowReserved: options.allowReserved,
1940
- explode: true,
1941
- name,
1942
- style: "form",
1943
- value,
1944
- ...options.array
1945
- });
1946
- if (serializedArray) search.push(serializedArray);
1947
- } else if (typeof value === "object") {
1948
- const serializedObject = serializeObjectParam({
1949
- allowReserved: options.allowReserved,
1950
- explode: true,
1951
- name,
1952
- style: "deepObject",
1953
- value,
1954
- ...options.object
1955
- });
1956
- if (serializedObject) search.push(serializedObject);
1957
- } else {
1958
- const serializedPrimitive = serializePrimitiveParam({
1959
- allowReserved: options.allowReserved,
1960
- name,
1961
- value
1962
- });
1963
- if (serializedPrimitive) search.push(serializedPrimitive);
1964
- }
1965
- }
1966
- }
1967
- return search.join("&");
1968
- };
1969
- return querySerializer;
1970
- };
1971
- const getParseAs = (contentType) => {
1972
- if (!contentType) {
1973
- return "stream";
1974
- }
1975
- const cleanContent = contentType.split(";")[0]?.trim();
1976
- if (!cleanContent) {
1977
- return;
1978
- }
1979
- if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) {
1980
- return "json";
1981
- }
1982
- if (cleanContent === "multipart/form-data") {
1983
- return "formData";
1984
- }
1985
- if (["application/", "audio/", "image/", "video/"].some((type) => cleanContent.startsWith(type))) {
1986
- return "blob";
1987
- }
1988
- if (cleanContent.startsWith("text/")) {
1989
- return "text";
1990
- }
1991
- return;
1992
- };
1993
- const checkForExistence = (options, name) => {
1994
- if (!name) {
1995
- return false;
1996
- }
1997
- if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) {
1998
- return true;
1999
- }
2000
- return false;
2001
- };
2002
- const setAuthParams = async ({
2003
- security,
2004
- ...options
2005
- }) => {
2006
- for (const auth of security) {
2007
- if (checkForExistence(options, auth.name)) {
1219
+ if (checkForExistence(options, auth.name)) {
2008
1220
  continue;
2009
1221
  }
2010
1222
  const token = await getAuthToken(auth, options.auth);
@@ -2028,7 +1240,7 @@ const setAuthParams = async ({
2028
1240
  break;
2029
1241
  }
2030
1242
  }
2031
- };
1243
+ }
2032
1244
  const buildUrl = (options) => getUrl({
2033
1245
  baseUrl: options.baseUrl,
2034
1246
  path: options.path,
@@ -2075,7 +1287,7 @@ const mergeHeaders = (...headers) => {
2075
1287
  }
2076
1288
  return mergedHeaders;
2077
1289
  };
2078
- class Interceptors3 {
1290
+ class Interceptors2 {
2079
1291
  constructor() {
2080
1292
  this.fns = [];
2081
1293
  }
@@ -2112,9 +1324,9 @@ class Interceptors3 {
2112
1324
  }
2113
1325
  }
2114
1326
  const createInterceptors = () => ({
2115
- error: new Interceptors3(),
2116
- request: new Interceptors3(),
2117
- response: new Interceptors3()
1327
+ error: new Interceptors2(),
1328
+ request: new Interceptors2(),
1329
+ response: new Interceptors2()
2118
1330
  });
2119
1331
  const defaultQuerySerializer = createQuerySerializer({
2120
1332
  allowReserved: false,
@@ -2154,10 +1366,7 @@ const createClient = (config = {}) => {
2154
1366
  serializedBody: void 0
2155
1367
  };
2156
1368
  if (opts.security) {
2157
- await setAuthParams({
2158
- ...opts,
2159
- security: opts.security
2160
- });
1369
+ await setAuthParams(opts);
2161
1370
  }
2162
1371
  if (opts.requestValidator) {
2163
1372
  await opts.requestValidator(opts);
@@ -2168,131 +1377,121 @@ const createClient = (config = {}) => {
2168
1377
  if (opts.body === void 0 || opts.serializedBody === "") {
2169
1378
  opts.headers.delete("Content-Type");
2170
1379
  }
2171
- const url = buildUrl(opts);
2172
- return { opts, url };
1380
+ const resolvedOpts = opts;
1381
+ const url = buildUrl(resolvedOpts);
1382
+ return { opts: resolvedOpts, url };
2173
1383
  };
2174
1384
  const request = async (options) => {
2175
- const { opts, url } = await beforeRequest(options);
2176
- const requestInit = {
2177
- redirect: "follow",
2178
- ...opts,
2179
- body: getValidRequestBody(opts)
2180
- };
2181
- let request2 = new Request(url, requestInit);
2182
- for (const fn of interceptors.request.fns) {
2183
- if (fn) {
2184
- request2 = await fn(request2, opts);
1385
+ const throwOnError = options.throwOnError ?? _config.throwOnError;
1386
+ const responseStyle = options.responseStyle ?? _config.responseStyle;
1387
+ let request2;
1388
+ let response;
1389
+ try {
1390
+ const { opts, url } = await beforeRequest(options);
1391
+ const requestInit = {
1392
+ redirect: "follow",
1393
+ ...opts,
1394
+ body: getValidRequestBody(opts)
1395
+ };
1396
+ request2 = new Request(url, requestInit);
1397
+ for (const fn of interceptors.request.fns) {
1398
+ if (fn) {
1399
+ request2 = await fn(request2, opts);
1400
+ }
2185
1401
  }
2186
- }
2187
- const _fetch = opts.fetch;
2188
- let response;
2189
- try {
1402
+ const _fetch = opts.fetch;
2190
1403
  response = await _fetch(request2);
2191
- } catch (error2) {
2192
- let finalError2 = error2;
2193
- for (const fn of interceptors.error.fns) {
1404
+ for (const fn of interceptors.response.fns) {
2194
1405
  if (fn) {
2195
- finalError2 = await fn(error2, void 0, request2, opts);
1406
+ response = await fn(response, request2, opts);
2196
1407
  }
2197
1408
  }
2198
- finalError2 = finalError2 || {};
2199
- if (opts.throwOnError) {
2200
- throw finalError2;
2201
- }
2202
- return opts.responseStyle === "data" ? void 0 : {
2203
- error: finalError2,
1409
+ const result = {
2204
1410
  request: request2,
2205
- response: void 0
1411
+ response
2206
1412
  };
2207
- }
2208
- for (const fn of interceptors.response.fns) {
2209
- if (fn) {
2210
- response = await fn(response, request2, opts);
2211
- }
2212
- }
2213
- const result = {
2214
- request: request2,
2215
- response
2216
- };
2217
- if (response.ok) {
2218
- const parseAs = (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
2219
- if (response.status === 204 || response.headers.get("Content-Length") === "0") {
2220
- let emptyData;
1413
+ if (response.ok) {
1414
+ const parseAs = (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
1415
+ if (response.status === 204 || response.headers.get("Content-Length") === "0") {
1416
+ let emptyData;
1417
+ switch (parseAs) {
1418
+ case "arrayBuffer":
1419
+ case "blob":
1420
+ case "text":
1421
+ emptyData = await response[parseAs]();
1422
+ break;
1423
+ case "formData":
1424
+ emptyData = new FormData();
1425
+ break;
1426
+ case "stream":
1427
+ emptyData = response.body;
1428
+ break;
1429
+ case "json":
1430
+ default:
1431
+ emptyData = {};
1432
+ break;
1433
+ }
1434
+ return opts.responseStyle === "data" ? emptyData : {
1435
+ data: emptyData,
1436
+ ...result
1437
+ };
1438
+ }
1439
+ let data;
2221
1440
  switch (parseAs) {
2222
1441
  case "arrayBuffer":
2223
1442
  case "blob":
1443
+ case "formData":
2224
1444
  case "text":
2225
- emptyData = await response[parseAs]();
1445
+ data = await response[parseAs]();
2226
1446
  break;
2227
- case "formData":
2228
- emptyData = new FormData();
1447
+ case "json": {
1448
+ const text = await response.text();
1449
+ data = text ? JSON.parse(text) : {};
2229
1450
  break;
1451
+ }
2230
1452
  case "stream":
2231
- emptyData = response.body;
2232
- break;
2233
- case "json":
2234
- default:
2235
- emptyData = {};
2236
- break;
1453
+ return opts.responseStyle === "data" ? response.body : {
1454
+ data: response.body,
1455
+ ...result
1456
+ };
1457
+ }
1458
+ if (parseAs === "json") {
1459
+ if (opts.responseValidator) {
1460
+ await opts.responseValidator(data);
1461
+ }
1462
+ if (opts.responseTransformer) {
1463
+ data = await opts.responseTransformer(data);
1464
+ }
2237
1465
  }
2238
- return opts.responseStyle === "data" ? emptyData : {
2239
- data: emptyData,
1466
+ return opts.responseStyle === "data" ? data : {
1467
+ data,
2240
1468
  ...result
2241
1469
  };
2242
1470
  }
2243
- let data;
2244
- switch (parseAs) {
2245
- case "arrayBuffer":
2246
- case "blob":
2247
- case "formData":
2248
- case "text":
2249
- data = await response[parseAs]();
2250
- break;
2251
- case "json": {
2252
- const text = await response.text();
2253
- data = text ? JSON.parse(text) : {};
2254
- break;
2255
- }
2256
- case "stream":
2257
- return opts.responseStyle === "data" ? response.body : {
2258
- data: response.body,
2259
- ...result
2260
- };
1471
+ const textError = await response.text();
1472
+ let jsonError;
1473
+ try {
1474
+ jsonError = JSON.parse(textError);
1475
+ } catch {
2261
1476
  }
2262
- if (parseAs === "json") {
2263
- if (opts.responseValidator) {
2264
- await opts.responseValidator(data);
2265
- }
2266
- if (opts.responseTransformer) {
2267
- data = await opts.responseTransformer(data);
1477
+ throw jsonError ?? textError;
1478
+ } catch (error) {
1479
+ let finalError = error;
1480
+ for (const fn of interceptors.error.fns) {
1481
+ if (fn) {
1482
+ finalError = await fn(finalError, response, request2, options);
2268
1483
  }
2269
1484
  }
2270
- return opts.responseStyle === "data" ? data : {
2271
- data,
2272
- ...result
2273
- };
2274
- }
2275
- const textError = await response.text();
2276
- let jsonError;
2277
- try {
2278
- jsonError = JSON.parse(textError);
2279
- } catch {
2280
- }
2281
- const error = jsonError ?? textError;
2282
- let finalError = error;
2283
- for (const fn of interceptors.error.fns) {
2284
- if (fn) {
2285
- finalError = await fn(error, response, request2, opts);
1485
+ finalError = finalError || {};
1486
+ if (throwOnError) {
1487
+ throw finalError;
2286
1488
  }
1489
+ return responseStyle === "data" ? void 0 : {
1490
+ error: finalError,
1491
+ request: request2,
1492
+ response
1493
+ };
2287
1494
  }
2288
- finalError = finalError || {};
2289
- if (opts.throwOnError) {
2290
- throw finalError;
2291
- }
2292
- return opts.responseStyle === "data" ? void 0 : {
2293
- error: finalError,
2294
- ...result
2295
- };
2296
1495
  };
2297
1496
  const makeMethodFn = (method) => (options) => request({ ...options, method });
2298
1497
  const makeSseFn = (method) => async (options) => {
@@ -2300,7 +1499,6 @@ const createClient = (config = {}) => {
2300
1499
  return createSseClient({
2301
1500
  ...opts,
2302
1501
  body: opts.body,
2303
- headers: opts.headers,
2304
1502
  method,
2305
1503
  onRequest: async (url2, init) => {
2306
1504
  let request2 = new Request(url2, init);
@@ -2315,8 +1513,9 @@ const createClient = (config = {}) => {
2315
1513
  url
2316
1514
  });
2317
1515
  };
1516
+ const _buildUrl = (options) => buildUrl({ ..._config, ...options });
2318
1517
  return {
2319
- buildUrl,
1518
+ buildUrl: _buildUrl,
2320
1519
  connect: makeMethodFn("CONNECT"),
2321
1520
  delete: makeMethodFn("DELETE"),
2322
1521
  get: makeMethodFn("GET"),
@@ -2344,7 +1543,15 @@ const createClient = (config = {}) => {
2344
1543
  };
2345
1544
  };
2346
1545
  const client = createClient(createConfig({ baseUrl: "https://api-dev.claudebernard.fr/search", throwOnError: true }));
2347
- const searchProductsByIndication = (options) => (options.client ?? client).post({
1546
+ const searchAlternative = (options) => (options.client ?? client).post({
1547
+ url: "/products/{productId}/alternative",
1548
+ ...options,
1549
+ headers: {
1550
+ "Content-Type": "application/json",
1551
+ ...options.headers
1552
+ }
1553
+ });
1554
+ const searchProductsById7 = (options) => (options.client ?? client).post({
2348
1555
  url: "/indications/{id}/products",
2349
1556
  ...options,
2350
1557
  headers: {
@@ -2353,63 +1560,11 @@ const searchProductsByIndication = (options) => (options.client ?? client).post(
2353
1560
  }
2354
1561
  });
2355
1562
  const searchApi = {
2356
- searchProductsByIndication
1563
+ searchProductsByIndication: searchProductsById7,
1564
+ searchAlternative
2357
1565
  };
2358
1566
  const PREFIX = "claudebernard";
2359
1567
  const numberOfResults = 10;
2360
- const allCategories = {
2361
- products: true,
2362
- speciality: false,
2363
- brands: false,
2364
- ranges: false,
2365
- genericGroups: false,
2366
- genericAccessoriesGroups: false,
2367
- biosimilarGroups: false,
2368
- companies: false,
2369
- commonNames: true,
2370
- molecules: false,
2371
- indications: false,
2372
- segments: false,
2373
- atcclass: false,
2374
- bcbclass: false,
2375
- sideEffects: false,
2376
- universes: true,
2377
- hybridGroups: true
2378
- };
2379
- const defaultFilters = {
2380
- dopingProducts: true,
2381
- deletedProducts: false,
2382
- hospitalProducts: true,
2383
- homeoProducts: true,
2384
- dermatoProducts: true,
2385
- dieteticProducts: true,
2386
- horsAmmProducts: true,
2387
- veterinarProducts: true,
2388
- medicalDevicesProducts: true,
2389
- genericProducts: true,
2390
- accessoriesProducts: true,
2391
- genericAccessoriesProducts: true,
2392
- specialityProducts: false,
2393
- biosimilarsProducts: true
2394
- };
2395
- const defaultOptions = {
2396
- patientPriorityResult: false,
2397
- prescriptionPriorityResult: false,
2398
- typeOfProducts: 0,
2399
- internal: false,
2400
- withFieldFilters: true,
2401
- withPrecautionsForUse: true,
2402
- maxMonthsDeletedProducts: 0,
2403
- facilityCode: 0
2404
- };
2405
- const defaultRequestBody = {
2406
- pageNumber: 0,
2407
- pageSize: numberOfResults,
2408
- filters: { ...defaultFilters },
2409
- categories: { ...allCategories },
2410
- order: { type: "relevance" },
2411
- options: { ...defaultOptions }
2412
- };
2413
1568
  const ATC_CODE_SYSTEM = "http://www.whocc.no/atc";
2414
1569
  function findMedicationInBundle(bundle) {
2415
1570
  return bundle?.entry?.find((entry) => entry.resource?.resourceType === "Medication")?.resource ?? null;
@@ -3022,7 +2177,6 @@ function n2(t2) {
3022
2177
  function r(r2) {
3023
2178
  return n2({ ...r2, state: true, attribute: false });
3024
2179
  }
3025
- const therapeuticAlternativeCSS = '.claudebernard-therapeutic-alternative {\n font-family: var(--custom-font-family, "Ubuntu"), sans-serif;\n padding: 1rem;\n}\n.claudebernard-therapeutic-alternative-without-title {\n padding-top: 0;\n max-width: 70vw;\n width: 60vw;\n max-height: 70vh;\n}\n.claudebernard-therapeutic-alternative-title {\n font-size: 1.5rem;\n margin-bottom: 1rem;\n color: var(--bcbd-secondary-color, #4A0C8A);\n}\n.claudebernard-therapeutic-alternative__choice-fieldset {\n border: 1px solid var(--bcbd-border-gray-color, #CBD5E1);\n margin-inline: 0;\n margin-top: 1rem;\n border-radius: 4px;\n padding: 16px;\n display: flex;\n flex-direction: column;\n font-size: 1.1rem;\n}\n.claudebernard-therapeutic-alternative__choice-fieldset-without-title {\n margin-top: 0;\n}\n.claudebernard-therapeutic-alternative__choice-buttons {\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 0.8rem;\n}\n.claudebernard-therapeutic-alternative__choice-text {\n margin-bottom: 0.8rem;\n font-size: 0.9rem;\n}\n.claudebernard-therapeutic-alternative__choice bcbd-radio-button {\n --bcbd-radio-button-font-size: .8rem;\n}\n.claudebernard-therapeutic-alternative__loading {\n width: 100%;\n height: 30%;\n padding-top: 2rem;\n display: flex;\n justify-content: center;\n}\n.claudebernard-therapeutic-alternative__results {\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n.claudebernard-therapeutic-alternative__results-number {\n font-size: 0.8rem;\n}\n.claudebernard-therapeutic-alternative__results-list {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n.claudebernard-therapeutic-alternative__no-medication {\n padding: 1.25rem;\n}';
3026
2180
  const t = { CHILD: 2 }, e$1 = (t2) => (...e2) => ({ _$litDirective$: t2, values: e2 });
3027
2181
  class i2 {
3028
2182
  constructor(t2) {
@@ -3056,7 +2210,7 @@ class e extends i2 {
3056
2210
  }
3057
2211
  e.directiveName = "unsafeHTML", e.resultType = 1;
3058
2212
  const o = e$1(e);
3059
- const productCardCSS = ".claudebernard-product-card-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n gap: 0.5rem;\n border: 1px solid var(--bcbd-border-gray-color, #CBD5E1);\n border-radius: 10px;\n padding: 0.75rem 1rem;\n}\n.claudebernard-product-card-container__button-div {\n display: flex;\n gap: 1rem;\n}\n.claudebernard-product-card-container__title {\n font-size: 1rem;\n text-decoration: none;\n cursor: pointer;\n color: var(--bcbd-primary-color, #0C75AD);\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.claudebernard-product-card-container-information {\n display: flex;\n width: 100%;\n gap: 0.8rem;\n flex-wrap: nowrap;\n align-items: center;\n}\n.claudebernard-product-card-container-name {\n max-width: 75%;\n}\n.claudebernard-product-card-container__tag-label {\n display: block;\n max-width: 180px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}";
2213
+ const productCardCSS = ".claudebernard-product-card-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n gap: 0.5rem;\n height: 2.625rem;\n border: 1px solid var(--bcbd-result-row-border-color, #7FB4D2);\n border-radius: 0.5rem;\n padding: 0 0.5rem 0 0.875rem;\n}\n.claudebernard-product-card-container__button-div {\n display: flex;\n gap: 0.375rem;\n flex-shrink: 0;\n}\n.claudebernard-product-card-container__title {\n font-size: 0.875rem;\n text-decoration: none;\n cursor: pointer;\n color: var(--bcbd-primary-color, #0C75AD);\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.claudebernard-product-card-container-information {\n display: flex;\n width: 100%;\n min-width: 0;\n gap: 0.8rem;\n flex-wrap: nowrap;\n align-items: center;\n}\n.claudebernard-product-card-container-name {\n max-width: 100%;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n.claudebernard-product-card-container-name .claudebernard-product-card-container__title-tooltip {\n min-width: 0;\n flex: 1;\n}\n.claudebernard-product-card-container__match-reasons {\n flex-shrink: 0;\n margin-right: 0.125rem;\n color: var(--bcbd-gray-400-color, #94A3B8);\n cursor: help;\n}";
3060
2214
  var __defProp$1 = Object.defineProperty;
3061
2215
  var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
3062
2216
  var __decorateClass$1 = (decorators, target, key, kind) => {
@@ -3067,18 +2221,27 @@ var __decorateClass$1 = (decorators, target, key, kind) => {
3067
2221
  if (kind && result) __defProp$1(target, key, result);
3068
2222
  return result;
3069
2223
  };
2224
+ const MATCH_REASONS_TOOLTIP_TITLE = "Pourquoi ce résultat ?";
3070
2225
  let ProductCard = class extends i$1 {
3071
2226
  constructor() {
3072
2227
  super(...arguments);
3073
- this.product = {};
2228
+ this.result = {};
2229
+ this.disabled = false;
2230
+ this.matchReasonLabels = [];
3074
2231
  }
3075
- goToProductSheet() {
3076
- const productCode = this.product.code;
3077
- if (productCode) {
3078
- window.open(`https://claudebernard.fr/fiche-medicament/${productCode}`, "_blank");
2232
+ get product() {
2233
+ return this.result.product ?? {};
2234
+ }
2235
+ viewProductDetail() {
2236
+ if (!this.product.code) {
2237
+ return;
3079
2238
  }
2239
+ window.open(`https://claudebernard.fr/fiche-medicament/${this.product.code}`, "_blank");
3080
2240
  }
3081
2241
  replaceProduct() {
2242
+ if (this.disabled) {
2243
+ return;
2244
+ }
3082
2245
  const event = new CustomEvent("product-choose", {
3083
2246
  detail: this.product,
3084
2247
  bubbles: true,
@@ -3086,43 +2249,34 @@ let ProductCard = class extends i$1 {
3086
2249
  });
3087
2250
  this.dispatchEvent(event);
3088
2251
  }
3089
- decodeHtml(html2) {
3090
- if (!html2) {
3091
- return "";
3092
- }
3093
- const textarea = document.createElement("textarea");
3094
- textarea.innerHTML = html2;
3095
- return textarea.value;
3096
- }
3097
- displayIndicationSynonym() {
3098
- if (this.product?.searchProperties?.match?.label) {
3099
- return b`<bcbd-tag icon="" background-color="primary" outlined>
3100
- <bcbd-tooltip content="Indication approchante: ${this.decodeHtml(this.product.searchProperties.match.label)}">
3101
- <span class="${PREFIX}-product-card-container__tag-label">${this.decodeHtml(this.product.searchProperties.match.label)}</span>
3102
- </bcbd-tooltip>
3103
- </bcbd-tag>`;
3104
- }
3105
- return A;
3106
- }
3107
2252
  render() {
3108
2253
  return b`
3109
2254
  <div class="${PREFIX}-product-card-container">
3110
2255
  <div class="${PREFIX}-product-card-container-information">
3111
2256
  <div class="${PREFIX}-product-card-container-name">
3112
- <bcbd-tooltip placement="top" .content=${this.decodeHtml(this.product.labelHtml)}>
3113
- <span class="${PREFIX}-product-card-container__title" @click=${this.goToProductSheet} data-test-id="product-card-title">
2257
+ ${this.matchReasonLabels.length > 0 ? b`
2258
+ <!-- placement="right", not "top": bcbd-tooltip has no viewport collision
2259
+ detection and "top" centers horizontally on the trigger -- now that this
2260
+ icon leads the card (near the result list's left edge), a centered
2261
+ tooltip could overflow past the viewport's left edge. Same fix as the
2262
+ checklist count badges, mirrored (they sit at the row's right edge). -->
2263
+ <bcbd-tooltip placement="right" content=${[MATCH_REASONS_TOOLTIP_TITLE, ...this.matchReasonLabels].join("\n")} data-test-id="product-card-match-reasons-tooltip">
2264
+ <bcbd-icon icon="circle-info" size="medium" color="secondary" class="${PREFIX}-product-card-container__match-reasons"></bcbd-icon>
2265
+ </bcbd-tooltip>
2266
+ ` : ""}
2267
+ <bcbd-tooltip class="${PREFIX}-product-card-container__title-tooltip" placement="top" .content=${decodeHtml(this.product.labelHtml)}>
2268
+ <span class="${PREFIX}-product-card-container__title" @click=${this.viewProductDetail} data-test-id="product-card-title">
3114
2269
  ${o(this.product.labelHtml)}
3115
2270
  </span>
3116
2271
  </bcbd-tooltip>
3117
2272
  </div>
3118
- ${this.displayIndicationSynonym()}
3119
2273
  </div>
3120
2274
  <div class="${PREFIX}-product-card-container__button-div">
3121
2275
  <bcbd-tooltip placement="top" content="Voir la fiche du médicament" data-test-id="product-card-product-sheet-tooltip">
3122
- <bcbd-button icon="eye" size="small" background-color="primary" outlined @click=${this.goToProductSheet} data-test-id="product-card-product-sheet-button"></bcbd-button>
2276
+ <bcbd-button icon="eye" size="small" background-color="primary" outlined @click=${this.viewProductDetail} data-test-id="product-card-product-sheet-button"></bcbd-button>
3123
2277
  </bcbd-tooltip>
3124
2278
  <bcbd-tooltip placement="left" content="Remplacer le produit dans la prescription" data-test-id="product-card-replace-tooltip">
3125
- <bcbd-button icon="shuffle" size="small" background-color="primary" data-test-id="product-card-replace-button" @click=${this.replaceProduct}></bcbd-button>
2279
+ <bcbd-button icon="shuffle" size="small" background-color="primary" ?disabled=${this.disabled} @click=${this.replaceProduct} data-test-id="product-card-replace-button"></bcbd-button>
3126
2280
  </bcbd-tooltip>
3127
2281
  </div>
3128
2282
  </div>`;
@@ -3131,10 +2285,96 @@ let ProductCard = class extends i$1 {
3131
2285
  ProductCard.styles = i$4`${r$4([productCardCSS, designSystemCSS])}`;
3132
2286
  __decorateClass$1([
3133
2287
  n2({ type: Object })
3134
- ], ProductCard.prototype, "product", 2);
2288
+ ], ProductCard.prototype, "result", 2);
2289
+ __decorateClass$1([
2290
+ n2({ type: Boolean })
2291
+ ], ProductCard.prototype, "disabled", 2);
2292
+ __decorateClass$1([
2293
+ n2({ type: Array, attribute: false })
2294
+ ], ProductCard.prototype, "matchReasonLabels", 2);
3135
2295
  ProductCard = __decorateClass$1([
3136
2296
  t$1("bcb-product-card")
3137
2297
  ], ProductCard);
2298
+ const REFETCH_DEBOUNCE_MS = 300;
2299
+ const CHECKLIST_SEARCH_THRESHOLD = 30;
2300
+ const INCLUSION_GROUPS = [
2301
+ { key: "indications", idsField: "indicationIds", label: "Indications" },
2302
+ { key: "activeSubstances", idsField: "activeSubstanceIds", label: "Principes actifs" },
2303
+ { key: "atcClasses", idsField: "atcClassIds", label: "Classe thérapeutique" }
2304
+ ];
2305
+ const EXCLUSION_GROUPS = [
2306
+ { key: "activeSubstances", idsField: "activeSubstanceIds", label: "Principes actifs" },
2307
+ { key: "notableExcipients", idsField: "notableExcipientIds", label: "Excipients à effet notoire" },
2308
+ { key: "excipients", idsField: "excipientIds", label: "Excipients" },
2309
+ { key: "contraindications", idsField: "contraindicationIds", label: "Utilisation contre-indiquée" },
2310
+ { key: "cautions", idsField: "cautionIds", label: "Mises en garde" },
2311
+ { key: "precautions", idsField: "precautionIds", label: "Précaution d'emploi" }
2312
+ ];
2313
+ const QUICK_FILTERS = [
2314
+ { key: "sameGalenicForm", label: "Même forme galénique" },
2315
+ { key: "sameDosage", label: "Même dosage" },
2316
+ { key: "sameRouteOfAdministration", label: "Même voie d'administration" }
2317
+ ];
2318
+ const INCLUDE_COUNT_TOOLTIP = "Nombre de résultats restants avec cette valeur";
2319
+ const EXCLUDE_COUNT_TOOLTIP = "Nombre de résultats retirés avec cette valeur";
2320
+ const MATCH_REASON_VERB_BY_DIMENSION = {
2321
+ indication: "indiqué pour",
2322
+ activeSubstance: "contient"
2323
+ };
2324
+ const therapeuticAlternativeCSS = '.claudebernard-therapeutic-alternative {\n font-family: var(--custom-font-family, "Ubuntu"), sans-serif;\n padding: 1rem;\n}\n.claudebernard-therapeutic-alternative-without-title {\n padding-top: 0;\n max-width: 70vw;\n width: 60vw;\n max-height: 70vh;\n}\n.claudebernard-therapeutic-alternative-title {\n font-size: 0.75rem;\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--bcbd-gray-500-color, #64748B);\n margin-bottom: 0.375rem;\n display: block;\n}\n.claudebernard-therapeutic-alternative__source {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n flex-wrap: wrap;\n}\n.claudebernard-therapeutic-alternative__disclaimer {\n margin-bottom: 1rem;\n}\n.claudebernard-therapeutic-alternative__loading {\n width: 100%;\n height: 30%;\n padding-top: 2rem;\n display: flex;\n justify-content: center;\n}\n.claudebernard-therapeutic-alternative__section {\n border: 1px solid var(--bcbd-border-gray-color, #CBD5E1);\n border-radius: 0.625rem;\n padding: 0.75rem 0.875rem;\n margin-bottom: 1rem;\n}\n.claudebernard-therapeutic-alternative__section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n cursor: pointer;\n background: none;\n border: none;\n padding: 0;\n margin-bottom: 0.625rem;\n font-family: inherit;\n line-height: 1;\n}\n.claudebernard-therapeutic-alternative__section-header span:first-child {\n font-size: 0.75rem;\n font-weight: 700;\n color: var(--bcbd-gray-500-color, #64748B);\n text-transform: uppercase;\n letter-spacing: 0.03em;\n}\n.claudebernard-therapeutic-alternative__chevron {\n font-size: 0.75rem;\n color: var(--bcbd-gray-400-color, #94A3B8);\n transition: transform 0.15s ease-out;\n display: inline-flex;\n}\n.claudebernard-therapeutic-alternative__chevron--expanded {\n transform: rotate(180deg);\n}\n.claudebernard-therapeutic-alternative__pills {\n display: flex;\n gap: 0.5rem;\n flex-wrap: wrap;\n}\n.claudebernard-therapeutic-alternative__pill {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n border: 1px solid var(--bcbd-border-gray-color, #CBD5E1);\n background: #fff;\n color: var(--bcbd-gray-600-color, #475569);\n border-radius: 6.25rem;\n padding: 0.375rem 0.75rem;\n font-size: 0.8125rem;\n font-family: inherit;\n font-weight: 400;\n white-space: nowrap;\n cursor: pointer;\n line-height: 1;\n}\n.claudebernard-therapeutic-alternative__pill--active {\n border-color: var(--bcbd-primary-color, #0C75AD);\n background: color-mix(in srgb, var(--bcbd-primary-color, #0C75AD) 10%, transparent);\n color: var(--bcbd-primary-color, #0C75AD);\n font-weight: 700;\n}\n.claudebernard-therapeutic-alternative__panel {\n border-top: 1px solid var(--bcbd-border-color-200, #E2E8F0);\n margin-top: 0.75rem;\n padding-top: 0.75rem;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n.claudebernard-therapeutic-alternative__panel-rows {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n max-height: 16.25rem;\n overflow-y: auto;\n padding: 0.25rem 0.125rem;\n}\n.claudebernard-therapeutic-alternative__panel-empty {\n display: block;\n margin-top: 0.75rem;\n font-size: 0.875rem;\n color: var(--bcbd-gray-500-color, #64748B);\n}\n.claudebernard-therapeutic-alternative__panel-expand {\n align-self: flex-start;\n background: none;\n border: none;\n padding: 0.25rem 0 0;\n font-family: inherit;\n font-size: 0.8125rem;\n font-weight: 700;\n color: var(--bcbd-primary-color, #0C75AD);\n cursor: pointer;\n}\n.claudebernard-therapeutic-alternative__panel-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 0.375rem;\n --bcbd-checkbox-font-size: 0.875rem;\n --bcbd-checkbox-size: 0.9375rem;\n}\n.claudebernard-therapeutic-alternative__panel-row--pending {\n background: var(--bcbd-gray-100-color, #F1F5F9);\n padding: 0.25rem 0.375rem;\n margin: -0.25rem -0.375rem;\n}\n.claudebernard-therapeutic-alternative__count-badge {\n font-size: 0.75rem;\n color: var(--bcbd-white-color, #fff);\n background: var(--bcbd-primary-color, #0C75AD);\n border-radius: 0.25rem;\n padding: 0.125rem 0.375rem;\n flex-shrink: 0;\n}\n.claudebernard-therapeutic-alternative__selected-chips {\n display: flex;\n gap: 0.375rem;\n flex-wrap: wrap;\n margin-top: 0.5rem;\n}\n.claudebernard-therapeutic-alternative__chips {\n display: flex;\n gap: 0.5rem;\n flex-wrap: wrap;\n}\n.claudebernard-therapeutic-alternative__chip {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n border: 1px solid var(--bcbd-border-gray-color, #CBD5E1);\n background: #fff;\n color: var(--bcbd-gray-500-color, #64748B);\n border-radius: 6.25rem;\n padding: 0.375rem 0.75rem;\n font-size: 0.8125rem;\n font-family: inherit;\n font-weight: 400;\n white-space: nowrap;\n cursor: pointer;\n line-height: 1;\n}\n.claudebernard-therapeutic-alternative__chip--active {\n border-color: var(--bcbd-primary-color, #0C75AD);\n background: color-mix(in srgb, var(--bcbd-primary-color, #0C75AD) 10%, transparent);\n color: var(--bcbd-primary-color, #0C75AD);\n font-weight: 700;\n}\n.claudebernard-therapeutic-alternative__results {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n.claudebernard-therapeutic-alternative__results-header {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n margin-bottom: 0.625rem;\n}\n.claudebernard-therapeutic-alternative__results-badge {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n background: color-mix(in srgb, var(--bcbd-primary-color, #0C75AD) 10%, transparent);\n color: var(--bcbd-primary-color, #0C75AD);\n border-radius: 6.25rem;\n padding: 0.3125rem 0.75rem;\n font-size: 0.8125rem;\n font-weight: 700;\n line-height: 1;\n}\n.claudebernard-therapeutic-alternative__results-list {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n.claudebernard-therapeutic-alternative__no-results {\n text-align: center;\n padding: 1.5rem 1rem;\n color: var(--bcbd-gray-500-color, #64748B);\n font-size: 0.875rem;\n}\n.claudebernard-therapeutic-alternative__no-medication {\n padding: 1.25rem;\n}';
2325
+ function emptyIncludeCriteria() {
2326
+ return { indicationIds: [], activeSubstanceIds: [], atcClassIds: [] };
2327
+ }
2328
+ function emptyExcludeCriteria() {
2329
+ return {
2330
+ activeSubstanceIds: [],
2331
+ notableExcipientIds: [],
2332
+ excipientIds: [],
2333
+ contraindicationIds: [],
2334
+ cautionIds: [],
2335
+ precautionIds: []
2336
+ };
2337
+ }
2338
+ function emptyQuickFilters() {
2339
+ return { sameGalenicForm: false, sameDosage: false, sameRouteOfAdministration: false };
2340
+ }
2341
+ function emptyIncludeFacets() {
2342
+ return { indications: [], activeSubstances: [], atcClasses: [] };
2343
+ }
2344
+ function emptyExcludeFacets() {
2345
+ return {
2346
+ activeSubstances: [],
2347
+ notableExcipients: [],
2348
+ excipients: [],
2349
+ contraindications: [],
2350
+ cautions: [],
2351
+ precautions: []
2352
+ };
2353
+ }
2354
+ function emptyIncludeLabels() {
2355
+ return { indications: {}, activeSubstances: {}, atcClasses: {} };
2356
+ }
2357
+ function labelsForIds(ids, values) {
2358
+ const labelById = new Map(values.filter((v2) => v2.id).map((v2) => [v2.id, v2.label ?? v2.id]));
2359
+ const result = {};
2360
+ for (const id of ids) {
2361
+ const label = labelById.get(id);
2362
+ if (label) {
2363
+ result[id] = label;
2364
+ }
2365
+ }
2366
+ return result;
2367
+ }
2368
+ function emptyExcludeLabels() {
2369
+ return {
2370
+ activeSubstances: {},
2371
+ notableExcipients: {},
2372
+ excipients: {},
2373
+ contraindications: {},
2374
+ cautions: {},
2375
+ precautions: {}
2376
+ };
2377
+ }
3138
2378
  var __defProp = Object.defineProperty;
3139
2379
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3140
2380
  var __decorateClass = (decorators, target, key, kind) => {
@@ -3152,18 +2392,32 @@ let TherapeuticAlternative = class extends i$1 {
3152
2392
  this.medication = null;
3153
2393
  this.patientProfile = null;
3154
2394
  this.apiUrl = "https://api-dev.claudebernard.fr";
3155
- this.indicationSelected = void 0;
3156
- this.indicationsList = [];
3157
- this.apiInfoError = null;
2395
+ this.sourceProduct = null;
2396
+ this.results = [];
2397
+ this.totalElements = 0;
2398
+ this.lastRequestHadNoSelectedCriteria = true;
2399
+ this.currentPage = 1;
2400
+ this.include = emptyIncludeCriteria();
2401
+ this.exclude = emptyExcludeCriteria();
2402
+ this.quickFilters = emptyQuickFilters();
2403
+ this.includeFacets = emptyIncludeFacets();
2404
+ this.excludeFacets = emptyExcludeFacets();
2405
+ this.truncatedGroups = [];
2406
+ this.expandFacetGroupKey = null;
2407
+ this.includeLabels = emptyIncludeLabels();
2408
+ this.excludeLabels = emptyExcludeLabels();
2409
+ this.openInclusionGroup = null;
2410
+ this.openExclusionGroup = null;
2411
+ this.checklistSearchTerm = "";
2412
+ this.sectionCollapsed = { inclusion: false, exclusion: false, quickFilters: false };
3158
2413
  this.apiSearchError = null;
3159
2414
  this.apiSearchLoading = false;
3160
- this.apiInfoLoading = false;
2415
+ this.pendingToggleIds = /* @__PURE__ */ new Set();
3161
2416
  this.apiReplaceError = null;
3162
2417
  this.apiReplaceLoading = false;
3163
2418
  this.missingPrescriptionError = null;
3164
- this.numberTotalOfResults = null;
3165
- this.currentPage = 1;
3166
- this.productsList = [];
2419
+ this.hasAppliedInitialInclude = false;
2420
+ this.requestSeq = 0;
3167
2421
  }
3168
2422
  get currentMedication() {
3169
2423
  return findMedicationInBundle(this.medication);
@@ -3171,11 +2425,12 @@ let TherapeuticAlternative = class extends i$1 {
3171
2425
  get currentMedicationRequest() {
3172
2426
  return findMedicationRequestInBundle(this.medication);
3173
2427
  }
2428
+ get sourceProductId() {
2429
+ const bcbCoding = this.currentMedication?.code?.coding?.find((coding) => coding.system === "https://platform.claudebernard.fr/fhir/CodeSystem/bcb-code");
2430
+ return bcbCoding?.code ?? null;
2431
+ }
3174
2432
  updated(changedProperties) {
3175
2433
  if (changedProperties.has("apiUrl")) {
3176
- client$2.setConfig({
3177
- baseUrl: `${this.apiUrl}/infos`
3178
- });
3179
2434
  client.setConfig({
3180
2435
  baseUrl: `${this.apiUrl}/search`
3181
2436
  });
@@ -3184,58 +2439,197 @@ let TherapeuticAlternative = class extends i$1 {
3184
2439
  });
3185
2440
  }
3186
2441
  if (changedProperties.has("medication") && this.currentMedication) {
3187
- this.indicationsList = [];
3188
- this.productsList = [];
3189
- this.indicationSelected = void 0;
3190
- this.getIndicationsListForMedication();
2442
+ this.clearScheduledRefetch();
2443
+ this.include = emptyIncludeCriteria();
2444
+ this.exclude = emptyExcludeCriteria();
2445
+ this.includeLabels = emptyIncludeLabels();
2446
+ this.excludeLabels = emptyExcludeLabels();
2447
+ this.quickFilters = emptyQuickFilters();
2448
+ this.openInclusionGroup = null;
2449
+ this.openExclusionGroup = null;
2450
+ this.expandFacetGroupKey = null;
2451
+ this.currentPage = 1;
2452
+ this.hasAppliedInitialInclude = false;
2453
+ this.fetchAlternatives();
3191
2454
  }
3192
2455
  }
3193
- selectIndication(event) {
3194
- this.indicationSelected = this.indicationsList.find((option) => option.code === event.detail);
3195
- this.currentPage = 1;
3196
- this.searchTherapeuticAlternative();
3197
- }
3198
- getIndicationsListForMedication() {
3199
- const medicationBcbId = this.currentMedication?.code?.coding?.find((option) => option.system === "https://platform.claudebernard.fr/fhir/CodeSystem/bcb-code")?.code || "";
3200
- if (medicationBcbId !== "") {
3201
- this.apiInfoLoading = true;
3202
- infoApi.searchKeywordByProductIdAndCode({ path: { productIds: [medicationBcbId] }, query: { type: "INDICATIONS" } }).then((response) => {
3203
- const indications = response?.data?.[0]?.extendedProperties?.keywords?.indicationsKeywords || [];
3204
- this.indicationsList = indications.map((indication) => {
3205
- return { code: indication.code, label: indication.label };
3206
- });
3207
- }).catch((error) => {
3208
- this.apiInfoError = "Impossible de récupérer les indications pour le médicament sélectionné.";
3209
- console.error("Erreur lors de la récupération des indications pour le médicament:", error);
3210
- }).finally(() => {
3211
- this.apiInfoLoading = false;
3212
- });
2456
+ disconnectedCallback() {
2457
+ super.disconnectedCallback();
2458
+ this.clearScheduledRefetch();
2459
+ }
2460
+ clearScheduledRefetch() {
2461
+ if (this.refetchTimer) {
2462
+ clearTimeout(this.refetchTimer);
2463
+ this.refetchTimer = void 0;
3213
2464
  }
3214
2465
  }
3215
- searchTherapeuticAlternative() {
3216
- if (!this.indicationSelected) {
2466
+ scheduleRefetch() {
2467
+ this.currentPage = 1;
2468
+ this.clearScheduledRefetch();
2469
+ this.refetchTimer = setTimeout(() => this.fetchAlternatives(), REFETCH_DEBOUNCE_MS);
2470
+ }
2471
+ // Mirrors the backend's own hasNoSelectedCriteria(request) -- must be evaluated against
2472
+ // whatever's about to be SENT, not read back later, see lastRequestHadNoSelectedCriteria.
2473
+ hasNoSelectedCriteria() {
2474
+ const anyInclude = this.include.indicationIds.length > 0 || this.include.activeSubstanceIds.length > 0 || this.include.atcClassIds.length > 0;
2475
+ const anyExclude = Object.values(this.exclude).some((ids) => ids.length > 0);
2476
+ const anyQuickFilter = this.quickFilters.sameGalenicForm || this.quickFilters.sameDosage || this.quickFilters.sameRouteOfAdministration;
2477
+ return !anyInclude && !anyExclude && !anyQuickFilter;
2478
+ }
2479
+ fetchAlternatives() {
2480
+ const productId = this.sourceProductId;
2481
+ if (!productId) {
3217
2482
  return;
3218
2483
  }
3219
- const params = { ...defaultRequestBody };
3220
- params.pageNumber = this.currentPage - 1;
3221
- params.patient = this.patientProfile;
2484
+ const seq = ++this.requestSeq;
3222
2485
  this.apiSearchLoading = true;
3223
- searchApi.searchProductsByIndication({ body: params, path: { id: this.indicationSelected.code } }).then((response) => {
3224
- this.productsList = response.data.search.content || [];
3225
- this.numberTotalOfResults = response.data.search.totalElements;
2486
+ this.apiSearchError = null;
2487
+ this.lastRequestHadNoSelectedCriteria = this.hasNoSelectedCriteria();
2488
+ const body = {
2489
+ include: this.include,
2490
+ exclude: this.exclude,
2491
+ quickFilters: this.quickFilters,
2492
+ pageNumber: this.currentPage - 1,
2493
+ pageSize: numberOfResults,
2494
+ ...this.expandFacetGroupKey ? { expandFacetGroup: this.expandFacetGroupKey } : {}
2495
+ };
2496
+ searchApi.searchAlternative({ body, path: { productId } }).then((response) => {
2497
+ if (seq !== this.requestSeq) {
2498
+ return;
2499
+ }
2500
+ this.applyResponse(response.data);
3226
2501
  }).catch((error) => {
3227
- this.apiSearchError = "Impossible de récupérer les produits liées à l'indication sélectionnée.";
3228
- console.error("Erreur lors de la récupération des médicaments via l'indication:", error);
2502
+ if (seq !== this.requestSeq) {
2503
+ return;
2504
+ }
2505
+ this.apiSearchError = "Impossible de récupérer les alternatives thérapeutiques pour ce produit.";
2506
+ console.error("Erreur lors de la recherche d'alternatives thérapeutiques:", error);
3229
2507
  }).finally(() => {
3230
- this.apiSearchLoading = false;
2508
+ if (seq === this.requestSeq) {
2509
+ this.apiSearchLoading = false;
2510
+ this.pendingToggleIds = /* @__PURE__ */ new Set();
2511
+ }
3231
2512
  });
3232
2513
  }
2514
+ applyResponse(data) {
2515
+ this.sourceProduct = data.sourceProduct ?? null;
2516
+ this.results = data.results?.content ?? [];
2517
+ this.totalElements = data.results?.totalElements ?? 0;
2518
+ this.includeFacets = TherapeuticAlternative.buildIncludeFacets(data);
2519
+ this.excludeFacets = TherapeuticAlternative.buildExcludeFacets(data);
2520
+ this.truncatedGroups = data.facets?.truncatedGroups ?? [];
2521
+ if (!this.hasAppliedInitialInclude) {
2522
+ this.hasAppliedInitialInclude = true;
2523
+ this.include = TherapeuticAlternative.deriveInitialInclude(this.sourceProduct);
2524
+ this.includeLabels = {
2525
+ indications: labelsForIds(this.include.indicationIds, this.includeFacets.indications),
2526
+ activeSubstances: labelsForIds(this.include.activeSubstanceIds, this.includeFacets.activeSubstances),
2527
+ atcClasses: labelsForIds(this.include.atcClassIds, this.includeFacets.atcClasses)
2528
+ };
2529
+ }
2530
+ }
2531
+ static buildIncludeFacets(data) {
2532
+ return {
2533
+ indications: data.facets?.include?.indications ?? [],
2534
+ activeSubstances: data.facets?.include?.activeSubstances ?? [],
2535
+ atcClasses: data.facets?.include?.atcClasses ?? []
2536
+ };
2537
+ }
2538
+ static buildExcludeFacets(data) {
2539
+ return {
2540
+ activeSubstances: data.facets?.exclude?.activeSubstances ?? [],
2541
+ notableExcipients: data.facets?.exclude?.notableExcipients ?? [],
2542
+ excipients: data.facets?.exclude?.excipients ?? [],
2543
+ contraindications: data.facets?.exclude?.contraindications ?? [],
2544
+ cautions: data.facets?.exclude?.cautions ?? [],
2545
+ precautions: data.facets?.exclude?.precautions ?? []
2546
+ };
2547
+ }
2548
+ static deriveInitialInclude(sourceProduct) {
2549
+ const codesOf = (list) => (list ?? []).map((item) => item.code).filter((code) => !!code);
2550
+ return {
2551
+ indicationIds: codesOf(sourceProduct?.extendedProperties?.keywords?.indicationsKeywords),
2552
+ activeSubstanceIds: codesOf(sourceProduct?.extendedProperties?.composition?.activeSubstances),
2553
+ // Contrairement à indications/activeSubstances (des listes plates de valeurs propres au
2554
+ // produit), sourceProduct.properties.atcClasses est un fil d'Ariane hiérarchique (classe >
2555
+ // sous-classe > ... > code le plus spécifique, ex: M, M01, M01A, M01AX, M01AX02) — les
2556
+ // mapper tous comme ids cochés n'a pas de sens (5 "sélections" pour UNE seule classification),
2557
+ // et envoie en plus des codes ancêtres bien trop larges (ex: "M" = tout le système
2558
+ // musculo-squelettique) dans la requête, invisibles dans l'UI puisque sans label correspondant
2559
+ // dans includeFacets.atcClasses. Rien n'est pré-coché pour ce groupe : le backend applique déjà
2560
+ // son propre défaut sur atcClassIds vide (voir le commentaire plus haut sur fetchAlternatives).
2561
+ atcClassIds: []
2562
+ };
2563
+ }
2564
+ // label n'est utilisé que sur la branche "coche" (pour alimenter includeLabels/excludeLabels —
2565
+ // voir emptyIncludeLabels) ; sur la branche "décoche" l'id est simplement retiré des deux côtés,
2566
+ // que l'appelant soit une checkbox du panel (qui a le label sous la main) ou un chip de rappel
2567
+ // (qui décoche un id dont le panel courant n'a peut-être même plus trace).
2568
+ toggleInclude(group, id, label) {
2569
+ const current = this.include[group.idsField] ?? [];
2570
+ const checking = !current.includes(id);
2571
+ const next = checking ? [...current, id] : current.filter((existing) => existing !== id);
2572
+ this.include = { ...this.include, [group.idsField]: next };
2573
+ const nextLabels = { ...this.includeLabels[group.key] };
2574
+ if (checking) {
2575
+ nextLabels[id] = label;
2576
+ } else {
2577
+ delete nextLabels[id];
2578
+ }
2579
+ this.includeLabels = { ...this.includeLabels, [group.key]: nextLabels };
2580
+ this.pendingToggleIds = new Set(this.pendingToggleIds).add(id);
2581
+ this.scheduleRefetch();
2582
+ }
2583
+ toggleExclude(group, id, label) {
2584
+ const current = this.exclude[group.idsField] ?? [];
2585
+ const checking = !current.includes(id);
2586
+ const next = checking ? [...current, id] : current.filter((existing) => existing !== id);
2587
+ this.exclude = { ...this.exclude, [group.idsField]: next };
2588
+ const nextLabels = { ...this.excludeLabels[group.key] };
2589
+ if (checking) {
2590
+ nextLabels[id] = label;
2591
+ } else {
2592
+ delete nextLabels[id];
2593
+ }
2594
+ this.excludeLabels = { ...this.excludeLabels, [group.key]: nextLabels };
2595
+ this.pendingToggleIds = new Set(this.pendingToggleIds).add(id);
2596
+ this.scheduleRefetch();
2597
+ }
2598
+ toggleQuickFilter(key) {
2599
+ this.quickFilters = { ...this.quickFilters, [key]: !this.quickFilters[key] };
2600
+ this.scheduleRefetch();
2601
+ }
2602
+ // The exclude "activeSubstances" group's own backend/truncatedGroups key is
2603
+ // "excludeActiveSubstances" (see SearchCustomService.assignFacetValues) -- distinct from the
2604
+ // inclusion dimension of the same frontend name, so it can't reuse ExcludeGroupKey as-is.
2605
+ // Every other exclude group's backend key matches its frontend key 1:1.
2606
+ exclusionTruncatedGroupKey(key) {
2607
+ return key === "activeSubstances" ? "excludeActiveSubstances" : key;
2608
+ }
2609
+ toggleInclusionPanel(key) {
2610
+ this.openInclusionGroup = this.openInclusionGroup === key ? null : key;
2611
+ this.checklistSearchTerm = "";
2612
+ }
2613
+ toggleExclusionPanel(key) {
2614
+ this.openExclusionGroup = this.openExclusionGroup === key ? null : key;
2615
+ this.checklistSearchTerm = "";
2616
+ }
2617
+ // "Afficher plus" for one truncated group's checklist -- see expandFacetGroupKey. Triggers an
2618
+ // immediate refetch (unlike opening/closing a panel) since this is the one action that actually
2619
+ // needs a new response to have an effect.
2620
+ requestMoreFacetValues(groupKey) {
2621
+ this.expandFacetGroupKey = groupKey;
2622
+ this.scheduleRefetch();
2623
+ }
2624
+ toggleSection(section) {
2625
+ this.sectionCollapsed = { ...this.sectionCollapsed, [section]: !this.sectionCollapsed[section] };
2626
+ }
3233
2627
  cancelAlternative() {
3234
2628
  this.dispatchEvent(new CustomEvent("close"));
3235
2629
  }
3236
2630
  handlePageChange(event) {
3237
2631
  this.currentPage = event.detail;
3238
- this.searchTherapeuticAlternative();
2632
+ this.fetchAlternatives();
3239
2633
  }
3240
2634
  async emitReplacedProduct(event) {
3241
2635
  const product = event.detail;
@@ -3249,6 +2643,7 @@ let TherapeuticAlternative = class extends i$1 {
3249
2643
  const orphanedMedicationId = getReferencedMedicationId(originalMedicationRequest);
3250
2644
  this.apiReplaceError = null;
3251
2645
  this.apiReplaceLoading = true;
2646
+ let newMedicationRequest;
3252
2647
  try {
3253
2648
  const response = await prescriptionApi.getFhirPosologies({
3254
2649
  body: {
@@ -3259,7 +2654,13 @@ let TherapeuticAlternative = class extends i$1 {
3259
2654
  }
3260
2655
  });
3261
2656
  const responseBundle = response.data;
3262
- const newMedicationRequest = findMostAdequateMedicationRequest(responseBundle.entry ?? []) ?? buildCustomMedicationRequest(newMedication.id, originalMedicationRequest.subject);
2657
+ newMedicationRequest = findMostAdequateMedicationRequest(responseBundle.entry ?? []) ?? buildCustomMedicationRequest(newMedication.id, originalMedicationRequest.subject);
2658
+ } catch (error) {
2659
+ this.apiReplaceError = "Impossible de récupérer la posologie pour le produit sélectionné : remplacement effectué sans données de posologie.";
2660
+ console.error("Erreur lors de la récupération de la posologie:", error);
2661
+ newMedicationRequest = buildCustomMedicationRequest(newMedication.id, originalMedicationRequest.subject);
2662
+ }
2663
+ try {
3263
2664
  let entries;
3264
2665
  if (!originalMedicationRequest.priorPrescription) {
3265
2666
  entries = [
@@ -3286,64 +2687,339 @@ let TherapeuticAlternative = class extends i$1 {
3286
2687
  composed: true
3287
2688
  }));
3288
2689
  this.cancelAlternative();
3289
- } catch (error) {
3290
- this.apiReplaceError = "Impossible de récupérer la posologie pour le produit sélectionné.";
3291
- console.error("Erreur lors du remplacement du produit:", error);
3292
2690
  } finally {
3293
2691
  this.apiReplaceLoading = false;
3294
2692
  }
3295
2693
  }
3296
- displayResult() {
3297
- const products = this.productsList.map((product) => b`
3298
- <bcb-product-card .product=${product} @product-choose=${this.emitReplacedProduct}></bcb-product-card>
2694
+ renderChecklistPanel(items, selectedIds, showCount, countTooltip, onToggle, testIdPrefix, showCode = false, truncated = false, onExpand) {
2695
+ const visibleItems = items.filter((item) => {
2696
+ if (item.id !== void 0 && this.pendingToggleIds.has(item.id)) {
2697
+ return true;
2698
+ }
2699
+ if (item.id !== void 0 && selectedIds.includes(item.id)) {
2700
+ return false;
2701
+ }
2702
+ return !showCount || (item.count ?? 0) > 0;
2703
+ });
2704
+ if (visibleItems.length === 0) {
2705
+ return b`<span class="${PREFIX}-therapeutic-alternative__panel-empty">Aucune valeur disponible.</span>`;
2706
+ }
2707
+ const showSearch = visibleItems.length >= CHECKLIST_SEARCH_THRESHOLD;
2708
+ const searchTerm = showSearch ? this.checklistSearchTerm.trim().toLowerCase() : "";
2709
+ const searchedItems = searchTerm ? visibleItems.filter((item) => {
2710
+ const label = (item.label ?? "").toLowerCase();
2711
+ const code = showCode ? (item.id ?? "").toLowerCase() : "";
2712
+ return label.includes(searchTerm) || code.includes(searchTerm);
2713
+ }) : visibleItems;
2714
+ const rows = searchedItems.length === 0 ? b`<span class="${PREFIX}-therapeutic-alternative__panel-empty">Aucun résultat pour cette recherche.</span>` : searchedItems.map((item) => {
2715
+ if (!item.id) {
2716
+ return A;
2717
+ }
2718
+ const pending = this.pendingToggleIds.has(item.id);
2719
+ const rowClasses = [
2720
+ `${PREFIX}-therapeutic-alternative__panel-row`,
2721
+ pending ? `${PREFIX}-therapeutic-alternative__panel-row--pending` : ""
2722
+ ].join(" ");
2723
+ return b`
2724
+ <div class=${rowClasses}>
2725
+ <bcbd-checkbox
2726
+ id=${`${testIdPrefix}-${item.id}`}
2727
+ label=${showCode ? `${item.id} : ${item.label ?? ""}` : item.label ?? ""}
2728
+ ?checked=${selectedIds.includes(item.id)}
2729
+ color="primary"
2730
+ @change=${() => onToggle(item.id, item.label ?? item.id)}
2731
+ data-test-id=${`${testIdPrefix}-checkbox-${item.id}`}>
2732
+ </bcbd-checkbox>
2733
+ ${pending ? b`
2734
+ <!-- The count itself IS stale right now (a refetch is in flight) -- a loader here is
2735
+ honest about that, whereas the checkbox/label stay put so checking a second box
2736
+ doesn't look like it undid the first (see MR !70 review). -->
2737
+ <bcbd-loader theme="standard" size="18" data-test-id=${`${testIdPrefix}-loader-${item.id}`}></bcbd-loader>
2738
+ ` : showCount && item.count !== void 0 ? b`
2739
+ <!-- placement="left": bcbd-tooltip has no viewport collision detection (see its scss --
2740
+ "top" centers on the trigger via left: 50%), and the count badge sits at the row's
2741
+ right edge (justify-content: space-between), so a centered tooltip overflowed past
2742
+ the component/viewport edge. Growing left instead stays over the row's own label,
2743
+ which has the room. -->
2744
+ <bcbd-tooltip placement="left" content=${countTooltip} data-test-id=${`${testIdPrefix}-count-tooltip-${item.id}`}>
2745
+ <span class="${PREFIX}-therapeutic-alternative__count-badge" data-test-id=${`${testIdPrefix}-count-${item.id}`}>${item.count}</span>
2746
+ </bcbd-tooltip>
2747
+ ` : A}
2748
+ </div>
2749
+ `;
2750
+ });
2751
+ return b`
2752
+ <div class="${PREFIX}-therapeutic-alternative__panel" data-test-id=${`${testIdPrefix}-panel`}>
2753
+ ${showSearch ? this.renderChecklistSearch(testIdPrefix) : A}
2754
+ <div class="${PREFIX}-therapeutic-alternative__panel-rows">
2755
+ ${rows}
2756
+ </div>
2757
+ ${truncated && onExpand ? b`
2758
+ <button type="button" class="${PREFIX}-therapeutic-alternative__panel-expand" @click=${onExpand} data-test-id=${`${testIdPrefix}-expand`}>
2759
+ Afficher plus de valeurs
2760
+ </button>
2761
+ ` : A}
2762
+ </div>
2763
+ `;
2764
+ }
2765
+ // Only rendered past CHECKLIST_SEARCH_THRESHOLD (see renderChecklistPanel) -- below that, typing
2766
+ // is slower than just scanning the list by eye. checklistSearchTerm is reset whenever a different
2767
+ // group/section opens (toggleInclusionPanel/toggleExclusionPanel) so a leftover term from a
2768
+ // previous panel can't silently hide everything in the next one.
2769
+ renderChecklistSearch(testIdPrefix) {
2770
+ return b`
2771
+ <bcbd-input
2772
+ type="text"
2773
+ placeholder="Rechercher..."
2774
+ .value=${this.checklistSearchTerm}
2775
+ @change=${(e2) => {
2776
+ this.checklistSearchTerm = e2.detail.value;
2777
+ }}
2778
+ data-test-id=${`${testIdPrefix}-search`}>
2779
+ </bcbd-input>
2780
+ `;
2781
+ }
2782
+ // Rappel des valeurs actuellement cochées pour TOUTE la section (tous ses groupes confondus),
2783
+ // toujours affiché dès qu'il y en a — indépendamment de quel panel est ouvert, voire qu'aucun ne
2784
+ // le soit. C'est la vue "source de vérité" (includeLabels/excludeLabels) plutôt que le panel
2785
+ // ouvert : une valeur cochée reste visible et décochable ici même si un refetch a fait disparaître
2786
+ // sa ligne du panel courant (voir emptyIncludeLabels).
2787
+ renderSelectedChips(labelsByGroup, onRemove, testIdPrefix) {
2788
+ const entries = [];
2789
+ for (const [groupKey, labels] of Object.entries(labelsByGroup)) {
2790
+ for (const [id, label] of Object.entries(labels)) {
2791
+ entries.push({ groupKey, id, label });
2792
+ }
2793
+ }
2794
+ if (entries.length === 0) {
2795
+ return A;
2796
+ }
2797
+ const chips = entries.map((entry) => b`
2798
+ <bcbd-badge
2799
+ background-color="light-gray"
2800
+ font-size="small"
2801
+ clearable
2802
+ label=${entry.label}
2803
+ data-value=${entry.id}
2804
+ data-test-id=${`${testIdPrefix}-selected-${entry.groupKey}-${entry.id}`}
2805
+ @clear=${() => onRemove(entry.groupKey, entry.id)}>
2806
+ </bcbd-badge>
2807
+ `);
2808
+ return b`
2809
+ <div class="${PREFIX}-therapeutic-alternative__selected-chips" data-test-id=${`${testIdPrefix}-selected-chips`}>
2810
+ ${chips}
2811
+ </div>
2812
+ `;
2813
+ }
2814
+ // Le pill "actif" (bleu) reflète uniquement groupHasSelection (au moins un item coché dans ce
2815
+ // groupe) — indépendant de isOpen, qui ne pilote que la rotation du chevron. Ouvrir un groupe
2816
+ // vide ne doit pas colorer le pill ; le fermer ne doit pas décolorer un pill qui a une sélection.
2817
+ renderPill(label, isActive, isOpen, onClick, testId) {
2818
+ const pillClasses = [
2819
+ `${PREFIX}-therapeutic-alternative__pill`,
2820
+ isActive ? `${PREFIX}-therapeutic-alternative__pill--active` : ""
2821
+ ].join(" ");
2822
+ const chevronClasses = [
2823
+ `${PREFIX}-therapeutic-alternative__chevron`,
2824
+ isOpen ? `${PREFIX}-therapeutic-alternative__chevron--expanded` : ""
2825
+ ].join(" ");
2826
+ return b`
2827
+ <button type="button" class=${pillClasses} @click=${onClick} data-test-id=${testId}>
2828
+ ${label}
2829
+ <bcbd-icon class=${chevronClasses} icon="chevron-down" size="extra-small"></bcbd-icon>
2830
+ </button>
2831
+ `;
2832
+ }
2833
+ renderInclusionSection() {
2834
+ const chips = this.renderSelectedChips(this.includeLabels, (groupKey, id) => {
2835
+ const group = INCLUSION_GROUPS.find((g2) => g2.key === groupKey);
2836
+ if (group) {
2837
+ this.toggleInclude(group, id, "");
2838
+ }
2839
+ }, "inclusion");
2840
+ if (this.sectionCollapsed.inclusion) {
2841
+ return chips;
2842
+ }
2843
+ const openGroup = INCLUSION_GROUPS.find((group) => group.key === this.openInclusionGroup);
2844
+ const pills = INCLUSION_GROUPS.map((group) => this.renderPill(
2845
+ group.label,
2846
+ this.include[group.idsField].length > 0,
2847
+ group.key === this.openInclusionGroup,
2848
+ () => this.toggleInclusionPanel(group.key),
2849
+ `inclusion-pill-${group.key}`
2850
+ ));
2851
+ return b`
2852
+ <div class="${PREFIX}-therapeutic-alternative__pills" data-test-id="inclusion-pills">
2853
+ ${pills}
2854
+ </div>
2855
+ ${chips}
2856
+ ${openGroup ? this.renderChecklistPanel(
2857
+ this.includeFacets[openGroup.key],
2858
+ this.include[openGroup.idsField],
2859
+ true,
2860
+ INCLUDE_COUNT_TOOLTIP,
2861
+ (id, label) => this.toggleInclude(openGroup, id, label),
2862
+ `inclusion-${openGroup.key}`,
2863
+ openGroup.key === "atcClasses",
2864
+ // Already expanded == clicking again would send the exact same expandFacetGroup and get
2865
+ // the exact same (still truncated, if it's a group with more than FACET_VALUES_EXPANDED_SIZE
2866
+ // distinct values) response back -- there's no third, even-larger tier to escalate to, so
2867
+ // showing the button again would just be a no-op click.
2868
+ openGroup.key === "atcClasses" && this.truncatedGroups.includes("atcClasses") && this.expandFacetGroupKey !== "atcClasses",
2869
+ () => this.requestMoreFacetValues("atcClasses")
2870
+ ) : A}
2871
+ `;
2872
+ }
2873
+ renderExclusionSection() {
2874
+ const chips = this.renderSelectedChips(this.excludeLabels, (groupKey, id) => {
2875
+ const group = EXCLUSION_GROUPS.find((g2) => g2.key === groupKey);
2876
+ if (group) {
2877
+ this.toggleExclude(group, id, "");
2878
+ }
2879
+ }, "exclusion");
2880
+ if (this.sectionCollapsed.exclusion) {
2881
+ return chips;
2882
+ }
2883
+ const openGroup = EXCLUSION_GROUPS.find((group) => group.key === this.openExclusionGroup);
2884
+ const pills = EXCLUSION_GROUPS.map((group) => this.renderPill(
2885
+ group.label,
2886
+ this.exclude[group.idsField].length > 0,
2887
+ group.key === this.openExclusionGroup,
2888
+ () => this.toggleExclusionPanel(group.key),
2889
+ `exclusion-pill-${group.key}`
2890
+ ));
2891
+ const truncatedGroupKey = openGroup ? this.exclusionTruncatedGroupKey(openGroup.key) : null;
2892
+ const canExpand = truncatedGroupKey !== null && this.truncatedGroups.includes(truncatedGroupKey) && this.expandFacetGroupKey !== truncatedGroupKey;
2893
+ return b`
2894
+ <div class="${PREFIX}-therapeutic-alternative__pills" data-test-id="exclusion-pills">
2895
+ ${pills}
2896
+ </div>
2897
+ ${chips}
2898
+ ${openGroup ? this.renderChecklistPanel(
2899
+ this.excludeFacets[openGroup.key],
2900
+ this.exclude[openGroup.idsField],
2901
+ true,
2902
+ EXCLUDE_COUNT_TOOLTIP,
2903
+ (id, label) => this.toggleExclude(openGroup, id, label),
2904
+ `exclusion-${openGroup.key}`,
2905
+ false,
2906
+ canExpand,
2907
+ () => this.requestMoreFacetValues(truncatedGroupKey)
2908
+ ) : A}
2909
+ `;
2910
+ }
2911
+ renderQuickFiltersSection() {
2912
+ if (this.sectionCollapsed.quickFilters) {
2913
+ return A;
2914
+ }
2915
+ const chips = QUICK_FILTERS.map((filter) => {
2916
+ const active = this.quickFilters[filter.key];
2917
+ const chipClasses = [
2918
+ `${PREFIX}-therapeutic-alternative__chip`,
2919
+ active ? `${PREFIX}-therapeutic-alternative__chip--active` : ""
2920
+ ].join(" ");
2921
+ return b`
2922
+ <button type="button" class=${chipClasses} @click=${() => this.toggleQuickFilter(filter.key)} data-test-id=${`quick-filter-${filter.key}`}>
2923
+ ${active ? b`<bcbd-icon icon="check" size="extra-small"></bcbd-icon>` : A}
2924
+ ${filter.label}
2925
+ </button>
2926
+ `;
2927
+ });
2928
+ return b`
2929
+ <div class="${PREFIX}-therapeutic-alternative__chips" data-test-id="quick-filters-chips">
2930
+ ${chips}
2931
+ </div>
2932
+ `;
2933
+ }
2934
+ renderSectionHeader(title, section) {
2935
+ const collapsed = this.sectionCollapsed[section];
2936
+ const chevronClasses = [
2937
+ `${PREFIX}-therapeutic-alternative__chevron`,
2938
+ collapsed ? "" : `${PREFIX}-therapeutic-alternative__chevron--expanded`
2939
+ ].join(" ");
2940
+ return b`
2941
+ <button
2942
+ type="button"
2943
+ class="${PREFIX}-therapeutic-alternative__section-header"
2944
+ @click=${() => this.toggleSection(section)}
2945
+ data-test-id=${`section-header-${section}`}
2946
+ aria-expanded=${collapsed ? "false" : "true"}>
2947
+ <span>${title}</span>
2948
+ <bcbd-icon class=${chevronClasses} icon="chevron-down" size="extra-small" data-test-id=${`section-chevron-${section}`}></bcbd-icon>
2949
+ </button>
2950
+ `;
2951
+ }
2952
+ // Turns a result's raw matchReasons into short bullet lines, e.g. "- indiqué pour Arthrose" or
2953
+ // "- contient Bisoprolol (synonyme de Métoprolol)" -- label/synonymLabel come straight from the
2954
+ // backend (resolved from the source/matching product's own documents), not looked up in
2955
+ // includeFacets: that only ever covers the request's criterion codes, never synonymCode, which
2956
+ // is a code found on this specific result product, not a criterion at all.
2957
+ matchReasonLabels(result) {
2958
+ const labels = (result.matchReasons ?? []).map((reason) => {
2959
+ const dimension = reason.dimension ?? "";
2960
+ const label = reason.label ?? reason.code;
2961
+ if (!label) {
2962
+ return "";
2963
+ }
2964
+ if (dimension === "atcClass") {
2965
+ return `- appartient à la classe ATC ${label}`;
2966
+ }
2967
+ const verb = MATCH_REASON_VERB_BY_DIMENSION[dimension];
2968
+ if (!verb) {
2969
+ return "";
2970
+ }
2971
+ if (reason.matchType === "synonym") {
2972
+ const synonymLabel = reason.synonymLabel ?? reason.synonymCode;
2973
+ return synonymLabel ? `- ${verb} ${synonymLabel} (synonyme de ${label})` : `- ${verb} ${label}`;
2974
+ }
2975
+ return `- ${verb} ${label}`;
2976
+ }).filter((label) => label.length > 0);
2977
+ return [...new Set(labels)];
2978
+ }
2979
+ renderResults() {
2980
+ if (this.apiSearchError) {
2981
+ return b`
2982
+ <bcbd-alert title-message="Problème d'API" description-message=${this.apiSearchError} type="error"></bcbd-alert>
2983
+ `;
2984
+ }
2985
+ if (this.lastRequestHadNoSelectedCriteria && this.results.length === 0) {
2986
+ return A;
2987
+ }
2988
+ const numberOfPages = this.totalElements ? Math.ceil(this.totalElements / numberOfResults) : 0;
2989
+ const resultLabel = `${this.totalElements} résultat${this.totalElements > 1 ? "s" : ""}`;
2990
+ const resultCards = this.results.map((result) => b`
2991
+ <bcb-product-card .result=${result} .matchReasonLabels=${this.matchReasonLabels(result)}
2992
+ ?disabled=${this.apiReplaceLoading}
2993
+ @product-choose=${this.emitReplacedProduct}></bcb-product-card>
3299
2994
  `);
3300
- const numberOfPages = this.numberTotalOfResults ? Math.ceil(this.numberTotalOfResults / numberOfResults) : 0;
3301
- return this.apiSearchError ? b`
3302
- <bcbd-alert title-message="Problème d'API" description-message=${this.apiSearchError} type="error">
3303
- </bcbd-alert>` : b`
3304
- <span class="${PREFIX}-therapeutic-alternative__results-number">Résultats: ${this.numberTotalOfResults ? this.numberTotalOfResults : "??"} produits</span>
3305
- <span data-test-id="result-indication-summary">Produits indiqués pour l'indication: ${this.indicationSelected?.label ?? ""}</span>
3306
- <bcbd-alert description-message="Cette recherche par indication ne tient pas compte du profil du patient (allergies, contre-indications, antécédents). Vérifiez les alertes du contrôle d'ordonnance après tout ajout ou remplacement de produit."
3307
- type="info">
3308
- </bcbd-alert>
3309
- <bcbd-button size="small" background-color="primary" outlined
3310
- @click=${this.cancelAlternative} data-test-id="cancel-alternative-button">
3311
- Retour au contrôle d'ordonnance
3312
- </bcbd-button>
3313
- ${this.apiReplaceError ? b`
3314
- <bcbd-alert title-message="Problème d'API" description-message=${this.apiReplaceError} type="error" data-test-id="replace-error-alert">
3315
- </bcbd-alert>` : ""}
3316
- ${this.missingPrescriptionError ? b`
3317
- <bcbd-alert title-message="Remplacement impossible" description-message=${this.missingPrescriptionError} type="error" data-test-id="missing-prescription-error-alert">
3318
- </bcbd-alert>` : ""}
3319
- ${this.apiSearchLoading || this.apiReplaceLoading ? b`
3320
- <div class="${PREFIX}-therapeutic-alternative__loading">
3321
- <bcbd-loader theme="standard"></bcbd-loader>
3322
- </div>` : b`<div class="${PREFIX}-therapeutic-alternative__results-list">
3323
- ${products}
3324
- </div>
3325
- <bcbd-pagination class="mb-4" number-pages=${numberOfPages} current-page=${this.currentPage}
3326
- color="secondary" size="small" display-max-button-page="7"
3327
- @change=${this.handlePageChange}>
3328
- </bcbd-pagination>`}`;
3329
- }
3330
- displayRadioButtons() {
3331
- const radioButtons = this.indicationsList.map((option) => b`
3332
- <bcbd-radio-button
3333
- @change=${this.selectIndication}
3334
- id=${option.code}
3335
- name="indication-choice"
3336
- label=${option.label}
3337
- value=${option.code}
3338
- color="primary"
3339
- data-test-id="radio-button-${option.code}">
3340
- </bcbd-radio-button>
3341
- `);
3342
2995
  return b`
3343
- ${this.apiInfoLoading ? b`
3344
- <div class="${PREFIX}-therapeutic-alternative__loading">
3345
- <bcbd-loader theme="standard"></bcbd-loader>
3346
- </div>` : b`<div class="${PREFIX}-therapeutic-alternative__choice-buttons">${radioButtons}</div>`}
2996
+ <div class="${PREFIX}-therapeutic-alternative__results-header">
2997
+ <span class="${PREFIX}-therapeutic-alternative__results-badge" data-test-id="results-count-badge">
2998
+ <bcbd-icon icon="clipboard-list-check" size="small"></bcbd-icon>
2999
+ ${resultLabel}
3000
+ </span>
3001
+ </div>
3002
+
3003
+ ${this.apiSearchLoading ? b`
3004
+ <div class="${PREFIX}-therapeutic-alternative__loading">
3005
+ <bcbd-loader theme="standard"></bcbd-loader>
3006
+ </div>
3007
+ ` : this.totalElements === 0 ? b`
3008
+ <!-- Distinct from the empty-criteria skip-path above: this is a REAL search that genuinely
3009
+ matched nothing, so the "0 résultat" badge above stays accurate and visible -- only the
3010
+ list/pager are pointless here (nothing to page through), replaced by this explicit
3011
+ message instead of an empty list + a pager stuck at "page 1 of 0". -->
3012
+ <div class="${PREFIX}-therapeutic-alternative__no-results" data-test-id="no-results-message">
3013
+ Aucun résultat avec les valeurs sélectionnées, veuillez modifier votre recherche.
3014
+ </div>
3015
+ ` : b`
3016
+ <div class="${PREFIX}-therapeutic-alternative__results-list">
3017
+ ${resultCards}
3018
+ </div>
3019
+ <bcbd-pagination class="mb-4" number-pages=${numberOfPages} current-page=${this.currentPage}
3020
+ color="secondary" size="small" display-max-button-page="7"
3021
+ @change=${this.handlePageChange}>
3022
+ </bcbd-pagination>`}
3347
3023
  `;
3348
3024
  }
3349
3025
  render() {
@@ -3351,41 +3027,62 @@ let TherapeuticAlternative = class extends i$1 {
3351
3027
  `${PREFIX}-therapeutic-alternative`,
3352
3028
  this.hasTitle ? "" : `${PREFIX}-therapeutic-alternative-without-title`
3353
3029
  ].join(" ");
3354
- const fieldsetClasses = [
3355
- `${PREFIX}-therapeutic-alternative__choice-fieldset`,
3356
- this.hasTitle ? "" : `${PREFIX}-therapeutic-alternative__choice-fieldset-without-title`
3357
- ].join(" ");
3358
3030
  const medicationTitle = getMedicationTitle(this.currentMedication);
3359
3031
  return b`
3360
3032
  <div class=${containerClasses} data-test-id="therapeutic-alternative-container">
3361
- ${this.hasTitle ? b`<span class="${PREFIX}-therapeutic-alternative-title">Substitution de produit : Recherche par indication</span>` : ""}
3362
- ${this.currentMedication ? b`
3363
- <div class="${PREFIX}-therapeutic-alternative__choice mb-5">
3364
- <fieldset class=${fieldsetClasses} data-test-id="choice-fieldset">
3365
- <legend class="${PREFIX}-therapeutic-alternative__choice-legend" data-test-id="choice-legend">
3366
- Produit sélectionné:
3367
- <span class="text-primary">${medicationTitle !== "" ? decodeHtml(medicationTitle) : "Inconnu"} </span>
3368
- </legend>
3369
- <span class="text-primary mb-3 fs-2" data-test-id="choice-text">
3370
- POUR QUELLE INDICATION CHERCHEZ-VOUS UNE ALTERNATIVE THÉRAPEUTIQUE ?
3371
- </span>
3033
+ ${this.hasTitle ? b`<span class="${PREFIX}-therapeutic-alternative-title">Alternative thérapeutique</span>` : ""}
3034
+ ${this.currentMedication ? b`
3035
+ <div class="${PREFIX}-therapeutic-alternative__source mb-3" data-test-id="source-product">
3036
+ <span data-test-id="source-product-label">
3037
+ Produit sélectionné : <span class="text-primary">${medicationTitle !== "" ? decodeHtml(medicationTitle) : "Inconnu"}</span>
3038
+ </span>
3039
+ <bcbd-button size="small" background-color="primary" outlined
3040
+ @click=${this.cancelAlternative} data-test-id="cancel-alternative-button">
3041
+ Retour au contrôle d'ordonnance
3042
+ </bcbd-button>
3043
+ </div>
3372
3044
 
3373
- ${!this.apiInfoError ? b`${this.displayRadioButtons()}` : b`
3374
- <bcbd-alert title-message="Problème d'API" description-message=${this.apiInfoError} type="error">
3375
- </bcbd-alert>
3376
- `}
3377
- </fieldset>
3378
- </div>
3379
- ${this.indicationSelected?.label ? b`
3380
- <div class="${PREFIX}-therapeutic-alternative__results" data-test-id="results-container">
3381
- ${this.displayResult()}
3382
- </div>` : ""}` : b`
3383
- <div class="${PREFIX}-therapeutic-alternative__no-medication" data-test-id="no-medication-container">
3384
- <bcbd-alert title-message="Pas de médicament sélectionné"
3385
- description-message="Un problème est survenu au moment de sélectionner le produit"
3386
- type="warning">
3387
- </bcbd-alert>
3388
- </div>`}
3045
+ <div class="${PREFIX}-therapeutic-alternative__disclaimer">
3046
+ <bcbd-alert description-message="Cette recherche d'alternative ne tient pas compte du profil du patient (allergies, contre-indications, antécédents). Vérifiez les alertes du contrôle d'ordonnance après tout ajout ou remplacement de produit."
3047
+ type="info">
3048
+ </bcbd-alert>
3049
+ </div>
3050
+
3051
+ ${this.apiReplaceError ? b`
3052
+ <div class="${PREFIX}-therapeutic-alternative__disclaimer">
3053
+ <bcbd-alert title-message="Problème d'API" description-message=${this.apiReplaceError} type="error" data-test-id="replace-error-alert">
3054
+ </bcbd-alert>
3055
+ </div>` : ""}
3056
+ ${this.missingPrescriptionError ? b`
3057
+ <div class="${PREFIX}-therapeutic-alternative__disclaimer">
3058
+ <bcbd-alert title-message="Remplacement impossible" description-message=${this.missingPrescriptionError} type="error" data-test-id="missing-prescription-error-alert">
3059
+ </bcbd-alert>
3060
+ </div>` : ""}
3061
+
3062
+ <div class="${PREFIX}-therapeutic-alternative__section" data-test-id="inclusion-section">
3063
+ ${this.renderSectionHeader("Rechercher une alternative", "inclusion")}
3064
+ ${this.renderInclusionSection()}
3065
+ </div>
3066
+
3067
+ <div class="${PREFIX}-therapeutic-alternative__section" data-test-id="exclusion-section">
3068
+ ${this.renderSectionHeader("Affiner (exclure des critères)", "exclusion")}
3069
+ ${this.renderExclusionSection()}
3070
+ </div>
3071
+
3072
+ <div class="${PREFIX}-therapeutic-alternative__section" data-test-id="quick-filters-section">
3073
+ ${this.renderSectionHeader("Filtres rapides", "quickFilters")}
3074
+ ${this.renderQuickFiltersSection()}
3075
+ </div>
3076
+
3077
+ <div class="${PREFIX}-therapeutic-alternative__results" data-test-id="results-container">
3078
+ ${this.renderResults()}
3079
+ </div>` : b`
3080
+ <div class="${PREFIX}-therapeutic-alternative__no-medication" data-test-id="no-medication-container">
3081
+ <bcbd-alert title-message="Pas de médicament sélectionné"
3082
+ description-message="Un problème est survenu au moment de sélectionner le produit"
3083
+ type="warning">
3084
+ </bcbd-alert>
3085
+ </div>`}
3389
3086
  </div>
3390
3087
  `;
3391
3088
  }
@@ -3408,40 +3105,76 @@ __decorateClass([
3408
3105
  ], TherapeuticAlternative.prototype, "apiKey", 2);
3409
3106
  __decorateClass([
3410
3107
  r()
3411
- ], TherapeuticAlternative.prototype, "indicationSelected", 2);
3108
+ ], TherapeuticAlternative.prototype, "sourceProduct", 2);
3412
3109
  __decorateClass([
3413
3110
  r()
3414
- ], TherapeuticAlternative.prototype, "indicationsList", 2);
3111
+ ], TherapeuticAlternative.prototype, "results", 2);
3415
3112
  __decorateClass([
3416
3113
  r()
3417
- ], TherapeuticAlternative.prototype, "apiInfoError", 2);
3114
+ ], TherapeuticAlternative.prototype, "totalElements", 2);
3418
3115
  __decorateClass([
3419
3116
  r()
3420
- ], TherapeuticAlternative.prototype, "apiSearchError", 2);
3117
+ ], TherapeuticAlternative.prototype, "lastRequestHadNoSelectedCriteria", 2);
3421
3118
  __decorateClass([
3422
3119
  r()
3423
- ], TherapeuticAlternative.prototype, "apiSearchLoading", 2);
3120
+ ], TherapeuticAlternative.prototype, "currentPage", 2);
3424
3121
  __decorateClass([
3425
3122
  r()
3426
- ], TherapeuticAlternative.prototype, "apiInfoLoading", 2);
3123
+ ], TherapeuticAlternative.prototype, "include", 2);
3427
3124
  __decorateClass([
3428
3125
  r()
3429
- ], TherapeuticAlternative.prototype, "apiReplaceError", 2);
3126
+ ], TherapeuticAlternative.prototype, "exclude", 2);
3430
3127
  __decorateClass([
3431
3128
  r()
3432
- ], TherapeuticAlternative.prototype, "apiReplaceLoading", 2);
3129
+ ], TherapeuticAlternative.prototype, "quickFilters", 2);
3433
3130
  __decorateClass([
3434
3131
  r()
3435
- ], TherapeuticAlternative.prototype, "missingPrescriptionError", 2);
3132
+ ], TherapeuticAlternative.prototype, "includeFacets", 2);
3436
3133
  __decorateClass([
3437
3134
  r()
3438
- ], TherapeuticAlternative.prototype, "numberTotalOfResults", 2);
3135
+ ], TherapeuticAlternative.prototype, "excludeFacets", 2);
3439
3136
  __decorateClass([
3440
3137
  r()
3441
- ], TherapeuticAlternative.prototype, "currentPage", 2);
3138
+ ], TherapeuticAlternative.prototype, "truncatedGroups", 2);
3139
+ __decorateClass([
3140
+ r()
3141
+ ], TherapeuticAlternative.prototype, "expandFacetGroupKey", 2);
3142
+ __decorateClass([
3143
+ r()
3144
+ ], TherapeuticAlternative.prototype, "includeLabels", 2);
3145
+ __decorateClass([
3146
+ r()
3147
+ ], TherapeuticAlternative.prototype, "excludeLabels", 2);
3148
+ __decorateClass([
3149
+ r()
3150
+ ], TherapeuticAlternative.prototype, "openInclusionGroup", 2);
3151
+ __decorateClass([
3152
+ r()
3153
+ ], TherapeuticAlternative.prototype, "openExclusionGroup", 2);
3154
+ __decorateClass([
3155
+ r()
3156
+ ], TherapeuticAlternative.prototype, "checklistSearchTerm", 2);
3157
+ __decorateClass([
3158
+ r()
3159
+ ], TherapeuticAlternative.prototype, "sectionCollapsed", 2);
3160
+ __decorateClass([
3161
+ r()
3162
+ ], TherapeuticAlternative.prototype, "apiSearchError", 2);
3163
+ __decorateClass([
3164
+ r()
3165
+ ], TherapeuticAlternative.prototype, "apiSearchLoading", 2);
3166
+ __decorateClass([
3167
+ r()
3168
+ ], TherapeuticAlternative.prototype, "pendingToggleIds", 2);
3169
+ __decorateClass([
3170
+ r()
3171
+ ], TherapeuticAlternative.prototype, "apiReplaceError", 2);
3442
3172
  __decorateClass([
3443
3173
  r()
3444
- ], TherapeuticAlternative.prototype, "productsList", 2);
3174
+ ], TherapeuticAlternative.prototype, "apiReplaceLoading", 2);
3175
+ __decorateClass([
3176
+ r()
3177
+ ], TherapeuticAlternative.prototype, "missingPrescriptionError", 2);
3445
3178
  TherapeuticAlternative = __decorateClass([
3446
3179
  t$1("bcb-therapeutic-alternative")
3447
3180
  ], TherapeuticAlternative);