@justifi/webcomponents 4.16.0 → 4.18.0

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.
Files changed (445) hide show
  1. package/dist/cjs/{Analytics-423b2bb5.js → Analytics-d4aa8c07.js} +1 -1
  2. package/dist/cjs/{SubAccount-4f4fac22.js → SubAccount-135ff8c8.js} +1 -1
  3. package/dist/cjs/additional-questions-details_5.cjs.entry.js +13 -13
  4. package/dist/cjs/{business-additional-questions-schema-606d1292.js → business-additional-questions-schema-cf545610.js} +2 -2
  5. package/dist/cjs/business-details-core.cjs.entry.js +6 -9
  6. package/dist/cjs/form-alert_5.cjs.entry.js +3 -3
  7. package/dist/cjs/form-control-checkbox_5.cjs.entry.js +10 -13
  8. package/dist/cjs/form-control-date.cjs.entry.js +43 -0
  9. package/dist/cjs/form-control-error-text_2.cjs.entry.js +36 -0
  10. package/dist/cjs/form-control-file.cjs.entry.js +2 -2
  11. package/dist/cjs/form-control-monetary.cjs.entry.js +2 -2
  12. package/dist/cjs/{form-control-date_3.cjs.entry.js → form-control-number-masked_2.cjs.entry.js} +3 -40
  13. package/dist/cjs/form-control-number.cjs.entry.js +2 -2
  14. package/dist/cjs/{form-control-error-text_4.cjs.entry.js → form-control-select_2.cjs.entry.js} +3 -33
  15. package/dist/cjs/get-payout-csv-e4e4771a.js +48 -0
  16. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +5 -5
  17. package/dist/cjs/{index-b4498996.js → index-fb499e95.js} +15 -3
  18. package/dist/cjs/{insurance-state-3f044af7.js → insurance-state-80e24caf.js} +1 -1
  19. package/dist/cjs/justifi-additional-questions-form-step_10.cjs.entry.js +9 -12
  20. package/dist/cjs/justifi-bank-account-form.cjs.entry.js +3 -3
  21. package/dist/cjs/justifi-billing-form_2.cjs.entry.js +16 -1680
  22. package/dist/cjs/justifi-business-details.cjs.entry.js +4 -4
  23. package/dist/cjs/justifi-business-form.cjs.entry.js +9 -8
  24. package/dist/cjs/justifi-business-list.cjs.entry.js +4 -7
  25. package/dist/cjs/justifi-card-form.cjs.entry.js +3 -3
  26. package/dist/cjs/justifi-checkout-core.cjs.entry.js +21 -9
  27. package/dist/cjs/justifi-checkout.cjs.entry.js +12 -4
  28. package/dist/cjs/justifi-details.cjs.entry.js +4 -7
  29. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +4 -4
  30. package/dist/cjs/justifi-new-payment-method_4.cjs.entry.js +73 -28
  31. package/dist/cjs/justifi-payment-balance-transactions.cjs.entry.js +4 -7
  32. package/dist/cjs/justifi-payment-details.cjs.entry.js +4 -4
  33. package/dist/cjs/justifi-payment-form.cjs.entry.js +9 -8
  34. package/dist/cjs/justifi-payment-method-form.cjs.entry.js +1688 -0
  35. package/dist/cjs/justifi-payment-method-selector.cjs.entry.js +3 -3
  36. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +7 -2
  37. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +4 -8
  38. package/dist/cjs/justifi-payments-list.cjs.entry.js +4 -4
  39. package/dist/cjs/justifi-payout-details.cjs.entry.js +15 -10
  40. package/dist/cjs/justifi-payouts-list.cjs.entry.js +15 -12
  41. package/dist/cjs/justifi-proceeds-list.cjs.entry.js +4 -7
  42. package/dist/cjs/justifi-refund-form.cjs.entry.js +4 -3
  43. package/dist/cjs/justifi-season-interruption-insurance-core.cjs.entry.js +14 -9
  44. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +2 -3
  45. package/dist/cjs/justifi-skeleton.cjs.entry.js +3 -3
  46. package/dist/cjs/justifi-subaccount-details.cjs.entry.js +6 -9
  47. package/dist/cjs/justifi-subaccounts-list.cjs.entry.js +4 -4
  48. package/dist/cjs/justifi-table_2.cjs.entry.js +8 -12
  49. package/dist/cjs/loader.cjs.js +2 -2
  50. package/dist/cjs/{package-b40227dd.js → package-5fee1ffb.js} +1 -1
  51. package/dist/cjs/{payload-parsers-6e4cf5d7.js → payload-parsers-1cbc3b57.js} +3 -1
  52. package/dist/cjs/payment-details-core.cjs.entry.js +11 -14
  53. package/dist/cjs/payments-list-core.cjs.entry.js +7 -7
  54. package/dist/cjs/payout-details-core.cjs.entry.js +19 -8
  55. package/dist/cjs/payouts-list-core.cjs.entry.js +29 -8
  56. package/dist/cjs/{schema-validations-9668fd79.js → schema-validations-2733de42.js} +3 -4
  57. package/dist/cjs/styled-host-b8bed12a.js +14 -0
  58. package/dist/cjs/subaccount-account-details_4.cjs.entry.js +7 -23
  59. package/dist/cjs/subaccount-bank-details.cjs.entry.js +3 -7
  60. package/dist/cjs/subaccount-terms-details.cjs.entry.js +3 -7
  61. package/dist/cjs/{utils-17869710.js → utils-80191fbe.js} +6 -0
  62. package/dist/cjs/{utils-fd644316.js → utils-8c3bf659.js} +13 -4
  63. package/dist/cjs/{utils-0c3168ef.js → utils-c1d2e426.js} +1 -1
  64. package/dist/cjs/webcomponents.cjs.js +2 -2
  65. package/dist/collection/api/Checkout.js +0 -1
  66. package/dist/collection/api/services/payout.service.js +5 -0
  67. package/dist/collection/assets/download-icon.js +2 -0
  68. package/dist/collection/collection-manifest.json +1 -0
  69. package/dist/collection/components/billing-form/billing-form.css +2 -8162
  70. package/dist/collection/components/billing-form/billing-form.js +5 -4
  71. package/dist/collection/components/business-details/additional-questions-details/additional-questions-details.js +2 -3
  72. package/dist/collection/components/business-details/business-details-core.js +5 -14
  73. package/dist/collection/components/business-details/generic-info-details/generic-info-details.js +2 -3
  74. package/dist/collection/components/business-details/legal-address-details/legal-address-details.js +2 -3
  75. package/dist/collection/components/business-details/owner-details/owner-details.js +2 -3
  76. package/dist/collection/components/business-details/representative-details/representative-details.js +2 -3
  77. package/dist/collection/components/business-details/shared-business-details.css +3 -0
  78. package/dist/collection/components/business-forms/business-form/additional-questions/additional-questions.js +1 -1
  79. package/dist/collection/components/business-forms/business-form/business-form.css +5 -8768
  80. package/dist/collection/components/business-forms/business-form/business-form.js +4 -3
  81. package/dist/collection/components/business-forms/owner-form/owner-form.js +2 -5
  82. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.js +1 -1
  83. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.js +3 -2
  84. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.js +1 -4
  85. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-core.js +14 -2
  86. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning.css +4 -9155
  87. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning.js +1 -12
  88. package/dist/collection/components/business-forms/payment-provisioning/terms-and-conditions/business-terms-conditions-text.css +5 -763
  89. package/dist/collection/components/business-forms/payment-provisioning/terms-and-conditions/business-terms-conditions-text.js +2 -2
  90. package/dist/collection/components/business-forms/schemas/business-core-info-schema.js +1 -1
  91. package/dist/collection/components/business-forms/schemas/schema-helpers.js +0 -1
  92. package/dist/collection/components/business-forms/schemas/schema-validations.js +4 -4
  93. package/dist/collection/components/business-forms/utils/payload-parsers.js +2 -0
  94. package/dist/collection/components/business-list/business-list.js +3 -12
  95. package/dist/collection/components/checkout/checkout-core.css +3 -8147
  96. package/dist/collection/components/checkout/checkout-core.js +68 -8
  97. package/dist/collection/components/checkout/checkout.js +59 -1
  98. package/dist/collection/components/checkout/form-check-input.css +20 -0
  99. package/dist/collection/components/checkout/header.css +4 -0
  100. package/dist/collection/components/checkout/new-payment-method.js +95 -15
  101. package/dist/collection/components/checkout/payment-method-option-utils.js +2 -0
  102. package/dist/collection/components/checkout/payment-method-options.css +1 -7080
  103. package/dist/collection/components/checkout/payment-method-options.js +101 -17
  104. package/dist/collection/components/checkout/save-new-payment-method.js +38 -0
  105. package/dist/collection/components/checkout/saved-payment-method.js +12 -5
  106. package/dist/collection/components/checkout/sezzle-payment-method.js +12 -5
  107. package/dist/collection/components/details/details.js +3 -12
  108. package/dist/collection/components/form/form-control-checkbox.js +1 -1
  109. package/dist/collection/components/form/form-control-date.js +1 -1
  110. package/dist/collection/components/form/form-control-file.js +1 -1
  111. package/dist/collection/components/form/form-control-monetary.js +1 -1
  112. package/dist/collection/components/form/form-control-number-masked.js +1 -1
  113. package/dist/collection/components/form/form-control-number.js +1 -1
  114. package/dist/collection/components/form/form-control-select.js +1 -1
  115. package/dist/collection/components/form/form-control-text.js +1 -1
  116. package/dist/collection/components/form/utils.js +12 -3
  117. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +2 -2
  118. package/dist/collection/components/gross-payment-chart/gross-payment-chart.css +1 -573
  119. package/dist/collection/components/insurance/season-interruption/season-interruption-insurance-core.css +6 -8183
  120. package/dist/collection/components/insurance/season-interruption/season-interruption-insurance-core.js +6 -7
  121. package/dist/collection/components/insurance/season-interruption/season-interruption-insurance.js +1 -2
  122. package/dist/collection/components/pagination-menu/pagination-menu.js +3 -14
  123. package/dist/collection/components/payment-balance-transactions/payment-balance-transactions.js +3 -13
  124. package/dist/collection/components/payment-details/payment-details-core.js +9 -18
  125. package/dist/collection/components/payment-form/payment-form.css +3 -2513
  126. package/dist/collection/components/payment-form/payment-form.js +6 -5
  127. package/dist/collection/components/payment-form/payment-method-selector.css +5 -1881
  128. package/dist/collection/components/payment-form/payment-method-selector.js +2 -3
  129. package/dist/collection/components/payments-list/payments-list-core.js +6 -12
  130. package/dist/collection/components/payments-list/payments-list.js +3 -0
  131. package/dist/collection/components/payout-details/get-payout-csv.js +19 -0
  132. package/dist/collection/components/payout-details/payout-details-core.js +37 -12
  133. package/dist/collection/components/payout-details/payout-details.js +11 -4
  134. package/dist/collection/components/payouts-list/payouts-list-core.js +45 -14
  135. package/dist/collection/components/payouts-list/payouts-list.js +14 -6
  136. package/dist/collection/components/proceeds-list/proceeds-list.js +3 -12
  137. package/dist/collection/components/refund-form/refund-form.css +1 -7737
  138. package/dist/collection/components/refund-form/refund-form.js +4 -3
  139. package/dist/collection/components/skeleton/skeleton.css +1 -573
  140. package/dist/collection/components/skeleton/skeleton.js +2 -2
  141. package/dist/collection/components/subaccount-details/subaccount-account-details/subaccount-account-details.js +1 -12
  142. package/dist/collection/components/subaccount-details/subaccount-bank-details/subaccount-bank-details.js +1 -12
  143. package/dist/collection/components/subaccount-details/subaccount-details.js +3 -12
  144. package/dist/collection/components/subaccount-details/subaccount-merchant-details/subaccount-merchant-details.js +1 -12
  145. package/dist/collection/components/subaccount-details/subaccount-owners-details/subaccount-owners-details.js +1 -12
  146. package/dist/collection/components/subaccount-details/subaccount-representative-details/subaccount-representative-details.js +1 -12
  147. package/dist/collection/components/subaccount-details/subaccount-terms-details/subaccount-terms-details.js +1 -12
  148. package/dist/collection/components/subaccounts-list/subaccounts-list.js +1 -1
  149. package/dist/collection/components/table/table.css +0 -8085
  150. package/dist/collection/components/table/table.js +3 -4
  151. package/dist/collection/utils/styled-host/styled-host.js +6 -0
  152. package/dist/collection/utils/utils.js +5 -0
  153. package/dist/docs.json +546 -64
  154. package/dist/esm/{Analytics-17c33e9e.js → Analytics-29fac206.js} +1 -1
  155. package/dist/esm/{SubAccount-8bf9cb0c.js → SubAccount-7fcb1450.js} +1 -1
  156. package/dist/esm/additional-questions-details_5.entry.js +13 -13
  157. package/dist/esm/{business-additional-questions-schema-b00a73ba.js → business-additional-questions-schema-956e3caf.js} +2 -2
  158. package/dist/esm/business-details-core.entry.js +6 -9
  159. package/dist/esm/form-alert_5.entry.js +3 -3
  160. package/dist/esm/form-control-checkbox_5.entry.js +10 -13
  161. package/dist/esm/form-control-date.entry.js +39 -0
  162. package/dist/esm/form-control-error-text_2.entry.js +31 -0
  163. package/dist/esm/form-control-file.entry.js +2 -2
  164. package/dist/esm/form-control-monetary.entry.js +2 -2
  165. package/dist/esm/{form-control-date_3.entry.js → form-control-number-masked_2.entry.js} +4 -40
  166. package/dist/esm/form-control-number.entry.js +2 -2
  167. package/dist/esm/{form-control-error-text_4.entry.js → form-control-select_2.entry.js} +4 -32
  168. package/dist/esm/get-payout-csv-9b4aaada.js +45 -0
  169. package/dist/esm/gross-payment-chart-core.entry.js +5 -5
  170. package/dist/esm/{index-4bd1eae9.js → index-57431c24.js} +15 -3
  171. package/dist/esm/{insurance-state-09754ab9.js → insurance-state-8ce01e59.js} +1 -1
  172. package/dist/esm/justifi-additional-questions-form-step_10.entry.js +10 -13
  173. package/dist/esm/justifi-bank-account-form.entry.js +3 -3
  174. package/dist/esm/justifi-billing-form_2.entry.js +16 -1680
  175. package/dist/esm/justifi-business-details.entry.js +4 -4
  176. package/dist/esm/justifi-business-form.entry.js +9 -8
  177. package/dist/esm/justifi-business-list.entry.js +4 -7
  178. package/dist/esm/justifi-card-form.entry.js +3 -3
  179. package/dist/esm/justifi-checkout-core.entry.js +21 -9
  180. package/dist/esm/justifi-checkout.entry.js +12 -4
  181. package/dist/esm/justifi-details.entry.js +4 -7
  182. package/dist/esm/justifi-gross-payment-chart.entry.js +4 -4
  183. package/dist/esm/justifi-new-payment-method_4.entry.js +73 -28
  184. package/dist/esm/justifi-payment-balance-transactions.entry.js +4 -7
  185. package/dist/esm/justifi-payment-details.entry.js +4 -4
  186. package/dist/esm/justifi-payment-form.entry.js +9 -8
  187. package/dist/esm/justifi-payment-method-form.entry.js +1684 -0
  188. package/dist/esm/justifi-payment-method-selector.entry.js +3 -3
  189. package/dist/esm/justifi-payment-provisioning-core.entry.js +7 -2
  190. package/dist/esm/justifi-payment-provisioning.entry.js +4 -8
  191. package/dist/esm/justifi-payments-list.entry.js +4 -4
  192. package/dist/esm/justifi-payout-details.entry.js +14 -9
  193. package/dist/esm/justifi-payouts-list.entry.js +14 -11
  194. package/dist/esm/justifi-proceeds-list.entry.js +4 -7
  195. package/dist/esm/justifi-refund-form.entry.js +4 -3
  196. package/dist/esm/justifi-season-interruption-insurance-core.entry.js +14 -9
  197. package/dist/esm/justifi-season-interruption-insurance.entry.js +2 -3
  198. package/dist/esm/justifi-skeleton.entry.js +3 -3
  199. package/dist/esm/justifi-subaccount-details.entry.js +6 -9
  200. package/dist/esm/justifi-subaccounts-list.entry.js +4 -4
  201. package/dist/esm/justifi-table_2.entry.js +8 -12
  202. package/dist/esm/loader.js +3 -3
  203. package/dist/esm/{package-02a6e473.js → package-1123f528.js} +1 -1
  204. package/dist/esm/{payload-parsers-a9e8f8cc.js → payload-parsers-acb719d1.js} +3 -1
  205. package/dist/esm/payment-details-core.entry.js +11 -14
  206. package/dist/esm/payments-list-core.entry.js +7 -7
  207. package/dist/esm/payout-details-core.entry.js +19 -8
  208. package/dist/esm/payouts-list-core.entry.js +29 -8
  209. package/dist/esm/{schema-validations-770bdf3e.js → schema-validations-a83ff220.js} +3 -4
  210. package/dist/esm/styled-host-57aae7fa.js +12 -0
  211. package/dist/esm/subaccount-account-details_4.entry.js +7 -23
  212. package/dist/esm/subaccount-bank-details.entry.js +3 -7
  213. package/dist/esm/subaccount-terms-details.entry.js +3 -7
  214. package/dist/esm/{utils-1e583166.js → utils-56719d07.js} +1 -1
  215. package/dist/esm/{utils-61a21dea.js → utils-5f4c4faa.js} +6 -1
  216. package/dist/esm/{utils-8de964da.js → utils-f4c4ba7d.js} +13 -4
  217. package/dist/esm/webcomponents.js +3 -3
  218. package/dist/module/SubAccount.js +1 -1
  219. package/dist/module/additional-questions-details2.js +3 -4
  220. package/dist/module/additional-questions.js +1 -1
  221. package/dist/module/billing-form.js +5 -4
  222. package/dist/module/business-additional-questions-form-step.js +1 -1
  223. package/dist/module/business-core-info-form-step.js +3 -2
  224. package/dist/module/business-core-info-schema.js +1 -1
  225. package/dist/module/business-details-core2.js +5 -8
  226. package/dist/module/business-representative-form-step.js +1 -4
  227. package/dist/module/business-terms-conditions-text.js +2 -2
  228. package/dist/module/checkout-core.js +44 -24
  229. package/dist/module/details.js +3 -6
  230. package/dist/module/form-control-checkbox2.js +1 -1
  231. package/dist/module/form-control-date2.js +1 -1
  232. package/dist/module/form-control-file2.js +1 -1
  233. package/dist/module/form-control-monetary2.js +1 -1
  234. package/dist/module/form-control-number-masked2.js +1 -1
  235. package/dist/module/form-control-number.js +1 -1
  236. package/dist/module/form-control-select2.js +1 -1
  237. package/dist/module/form-control-text2.js +1 -1
  238. package/dist/module/generic-info-details2.js +3 -4
  239. package/dist/module/get-payout-csv.js +45 -0
  240. package/dist/module/gross-payment-chart-core2.js +2 -2
  241. package/dist/module/justifi-business-form.js +4 -3
  242. package/dist/module/justifi-business-list.js +3 -6
  243. package/dist/module/justifi-checkout.js +35 -20
  244. package/dist/module/justifi-payment-balance-transactions.js +5 -9
  245. package/dist/module/justifi-payment-form.js +6 -5
  246. package/dist/module/justifi-payment-provisioning.js +2 -7
  247. package/dist/module/justifi-payments-list.js +19 -1
  248. package/dist/module/justifi-payout-details.js +11 -5
  249. package/dist/module/justifi-payouts-list.js +30 -8
  250. package/dist/module/justifi-proceeds-list.js +3 -6
  251. package/dist/module/justifi-refund-form.js +4 -3
  252. package/dist/module/justifi-save-new-payment-method.d.ts +11 -0
  253. package/dist/module/justifi-save-new-payment-method.js +6 -0
  254. package/dist/module/justifi-season-interruption-insurance.js +1 -2
  255. package/dist/module/justifi-subaccount-details.js +4 -7
  256. package/dist/module/justifi-subaccounts-list.js +2 -2
  257. package/dist/module/legal-address-details2.js +3 -4
  258. package/dist/module/new-payment-method.js +52 -24
  259. package/dist/module/owner-details2.js +3 -4
  260. package/dist/module/owner-form.js +2 -5
  261. package/dist/module/package.js +1 -1
  262. package/dist/module/pagination-menu2.js +4 -9
  263. package/dist/module/payload-parsers.js +2 -0
  264. package/dist/module/payment-details-core2.js +10 -13
  265. package/dist/module/payment-method-options.js +56 -28
  266. package/dist/module/payment-method-selector.js +3 -4
  267. package/dist/module/payment-provisioning-core.js +9 -3
  268. package/dist/module/payments-list-core2.js +26 -8
  269. package/dist/module/payout-details-core2.js +19 -7
  270. package/dist/module/payouts-list-core2.js +49 -9
  271. package/dist/module/representative-details2.js +3 -4
  272. package/dist/module/save-new-payment-method.js +36 -0
  273. package/dist/module/saved-payment-method.js +7 -2
  274. package/dist/module/schema-validations.js +3 -4
  275. package/dist/module/season-interruption-insurance-core.js +12 -7
  276. package/dist/module/sezzle-payment-method.js +5 -2
  277. package/dist/module/skeleton.js +2 -2
  278. package/dist/module/styled-host.js +12 -0
  279. package/dist/module/subaccount-account-details2.js +2 -7
  280. package/dist/module/subaccount-bank-details.js +2 -7
  281. package/dist/module/subaccount-merchant-details2.js +3 -8
  282. package/dist/module/subaccount-owners-details2.js +2 -7
  283. package/dist/module/subaccount-representative-details2.js +2 -7
  284. package/dist/module/subaccount-terms-details.js +2 -7
  285. package/dist/module/table.js +4 -5
  286. package/dist/module/utils2.js +6 -1
  287. package/dist/module/utils3.js +12 -3
  288. package/dist/types/api/Checkout.d.ts +6 -0
  289. package/dist/types/api/services/payout.service.d.ts +2 -0
  290. package/dist/types/assets/download-icon.d.ts +1 -0
  291. package/dist/types/components/business-forms/owner-form/owner-form.d.ts +0 -1
  292. package/dist/types/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.d.ts +0 -1
  293. package/dist/types/components/business-forms/schemas/schema-helpers.d.ts +0 -1
  294. package/dist/types/components/checkout/checkout-core.d.ts +5 -1
  295. package/dist/types/components/checkout/checkout.d.ts +5 -0
  296. package/dist/types/components/checkout/new-payment-method.d.ts +8 -2
  297. package/dist/types/components/checkout/payment-method-option-utils.d.ts +1 -0
  298. package/dist/types/components/checkout/payment-method-options.d.ts +6 -2
  299. package/dist/types/components/checkout/payment-method-payload.d.ts +1 -0
  300. package/dist/types/components/checkout/save-new-payment-method.d.ts +7 -0
  301. package/dist/types/components/checkout/saved-payment-method.d.ts +1 -1
  302. package/dist/types/components/checkout/sezzle-payment-method.d.ts +1 -1
  303. package/dist/types/components/form/utils.d.ts +1 -1
  304. package/dist/types/components/payment-method-form/payment-method-responses.d.ts +6 -4
  305. package/dist/types/components/payments-list/payments-list-core.d.ts +1 -0
  306. package/dist/types/components/payments-list/payments-list.d.ts +3 -0
  307. package/dist/types/components/payout-details/get-payout-csv.d.ts +7 -0
  308. package/dist/types/components/payout-details/payout-details-core.d.ts +2 -0
  309. package/dist/types/components/payout-details/payout-details.d.ts +2 -1
  310. package/dist/types/components/payouts-list/payouts-list-core.d.ts +3 -0
  311. package/dist/types/components/payouts-list/payouts-list.d.ts +5 -1
  312. package/dist/types/components.d.ts +83 -12
  313. package/dist/types/utils/styled-host/styled-host.d.ts +3 -0
  314. package/dist/types/utils/utils.d.ts +1 -0
  315. package/dist/webcomponents/{p-851e57f4.js → p-092e080c.js} +1 -1
  316. package/dist/webcomponents/p-09affce4.entry.js +1 -0
  317. package/dist/webcomponents/p-0a4a9ccd.entry.js +1 -0
  318. package/dist/webcomponents/{p-7c28a80d.entry.js → p-0dca0770.entry.js} +1 -1
  319. package/dist/webcomponents/p-0e4a54c8.entry.js +1 -0
  320. package/dist/webcomponents/p-0ed3c1d2.entry.js +1 -0
  321. package/dist/webcomponents/p-10b57ac6.entry.js +1 -0
  322. package/dist/webcomponents/p-1737f6bf.entry.js +1 -0
  323. package/dist/webcomponents/{p-ebce7b2f.entry.js → p-2244e679.entry.js} +1 -1
  324. package/dist/webcomponents/p-2306d44d.entry.js +1 -0
  325. package/dist/webcomponents/{p-f7b6dcc4.js → p-2338affa.js} +1 -1
  326. package/dist/webcomponents/p-2af3672b.entry.js +1 -0
  327. package/dist/webcomponents/p-3294856b.entry.js +1 -0
  328. package/dist/webcomponents/p-3514b616.entry.js +1 -0
  329. package/dist/webcomponents/p-390157c9.entry.js +1 -0
  330. package/dist/webcomponents/p-3fd13ca3.js +1 -0
  331. package/dist/webcomponents/p-412c7a22.entry.js +1 -0
  332. package/dist/webcomponents/p-464e4dfe.entry.js +1 -0
  333. package/dist/webcomponents/p-49b8e112.js +1 -0
  334. package/dist/webcomponents/{p-808c8988.entry.js → p-4b9587ec.entry.js} +1 -1
  335. package/dist/webcomponents/p-531d873a.entry.js +1 -0
  336. package/dist/webcomponents/p-54287db6.entry.js +1 -0
  337. package/dist/webcomponents/p-547a2cd0.entry.js +1 -0
  338. package/dist/webcomponents/p-571d7f1a.entry.js +1 -0
  339. package/dist/webcomponents/p-5963bcdc.entry.js +1 -0
  340. package/dist/webcomponents/p-5b1451e7.entry.js +1 -0
  341. package/dist/webcomponents/p-66758365.entry.js +1 -0
  342. package/dist/webcomponents/{p-3394ff6c.js → p-667a5aa8.js} +1 -1
  343. package/dist/webcomponents/p-67e497aa.entry.js +1 -0
  344. package/dist/webcomponents/p-68fd8283.js +1 -0
  345. package/dist/webcomponents/p-6bcf621a.entry.js +1 -0
  346. package/dist/webcomponents/p-6bd5d569.entry.js +1 -0
  347. package/dist/webcomponents/p-76180bb4.entry.js +1 -0
  348. package/dist/webcomponents/p-77dc159c.entry.js +1 -0
  349. package/dist/webcomponents/{p-3a7e0753.entry.js → p-7a346c0b.entry.js} +1 -1
  350. package/dist/webcomponents/p-7d6aba64.entry.js +1 -0
  351. package/dist/webcomponents/p-81d3eda6.entry.js +1 -0
  352. package/dist/webcomponents/p-85fc69e5.js +1 -0
  353. package/dist/webcomponents/p-87932e16.js +1 -0
  354. package/dist/webcomponents/p-88c7ef46.entry.js +1 -0
  355. package/dist/webcomponents/p-89887332.js +1 -0
  356. package/dist/webcomponents/p-8cc7a418.entry.js +1 -0
  357. package/dist/webcomponents/p-8dd22c8d.entry.js +1 -0
  358. package/dist/webcomponents/p-959b478a.entry.js +19 -0
  359. package/dist/webcomponents/{p-3f06ce2f.entry.js → p-9631b768.entry.js} +1 -1
  360. package/dist/webcomponents/p-9e7c3231.entry.js +1 -0
  361. package/dist/webcomponents/{p-9601cf9d.entry.js → p-bb32b91c.entry.js} +1 -1
  362. package/dist/webcomponents/p-bbc18b9f.entry.js +1 -0
  363. package/dist/webcomponents/{p-4b4fc43d.js → p-c4264aaf.js} +1 -1
  364. package/dist/webcomponents/p-cb9ee476.entry.js +1 -0
  365. package/dist/webcomponents/p-d083a342.entry.js +1 -0
  366. package/dist/webcomponents/{p-288c95b3.entry.js → p-d5612f35.entry.js} +1 -1
  367. package/dist/webcomponents/p-debeefbb.entry.js +1 -0
  368. package/dist/webcomponents/{p-e3a31451.entry.js → p-df38dd21.entry.js} +1 -1
  369. package/dist/webcomponents/p-e0bcfdb5.entry.js +1 -0
  370. package/dist/webcomponents/{p-cb68e8fa.js → p-e1651130.js} +1 -1
  371. package/dist/webcomponents/p-e46929a1.entry.js +1 -0
  372. package/dist/webcomponents/{p-fee616cf.entry.js → p-e85ef4af.entry.js} +1 -1
  373. package/dist/webcomponents/{p-fb53112b.js → p-e8c651b8.js} +1 -1
  374. package/dist/webcomponents/p-ea7c77a3.entry.js +1 -0
  375. package/dist/webcomponents/{p-2451611d.entry.js → p-f3555f0b.entry.js} +1 -1
  376. package/dist/webcomponents/p-fad19d75.js +2 -0
  377. package/dist/webcomponents/webcomponents.css +1 -1
  378. package/dist/webcomponents/webcomponents.esm.js +1 -1
  379. package/package.json +1 -1
  380. package/dist/cjs/payout.service-eec372aa.js +0 -22
  381. package/dist/collection/components/business-details/additional-questions-details/additional-questions-details.css +0 -7348
  382. package/dist/collection/components/business-details/business-details.css +0 -6446
  383. package/dist/collection/components/business-details/generic-info-details/generic-info-details.css +0 -7348
  384. package/dist/collection/components/business-details/legal-address-details/legal-address-details.css +0 -7348
  385. package/dist/collection/components/business-details/owner-details/owner-details.css +0 -7348
  386. package/dist/collection/components/business-details/representative-details/representative-details.css +0 -7348
  387. package/dist/collection/components/business-list/business-list.css +0 -579
  388. package/dist/collection/components/details/details.css +0 -7993
  389. package/dist/collection/components/payment-balance-transactions/payment-balance-transactions.css +0 -0
  390. package/dist/collection/components/payment-details/payment-details.css +0 -7993
  391. package/dist/collection/components/payments-list/payments-list.css +0 -579
  392. package/dist/collection/components/payout-details/payout-details.css +0 -7993
  393. package/dist/collection/components/payouts-list/payouts-list.css +0 -579
  394. package/dist/collection/components/proceeds-list/proceeds-list.css +0 -579
  395. package/dist/collection/components/subaccount-details/subaccount-account-details/subaccount-account-details.css +0 -7352
  396. package/dist/collection/components/subaccount-details/subaccount-bank-details/subaccount-bank-details.css +0 -7352
  397. package/dist/collection/components/subaccount-details/subaccount-details.css +0 -7993
  398. package/dist/collection/components/subaccount-details/subaccount-merchant-details/subaccount-merchant-details.css +0 -7352
  399. package/dist/collection/components/subaccount-details/subaccount-owners-details/subaccount-owners-details.css +0 -7352
  400. package/dist/collection/components/subaccount-details/subaccount-representative-details/subaccount-representative-details.css +0 -7352
  401. package/dist/collection/components/subaccount-details/subaccount-terms-details/subaccount-terms-details.css +0 -7352
  402. package/dist/esm/payout.service-28b9594f.js +0 -20
  403. package/dist/module/payout.service.js +0 -20
  404. package/dist/webcomponents/p-023fe908.entry.js +0 -1
  405. package/dist/webcomponents/p-038fb958.entry.js +0 -1
  406. package/dist/webcomponents/p-06baf263.entry.js +0 -1
  407. package/dist/webcomponents/p-0f10316f.entry.js +0 -1
  408. package/dist/webcomponents/p-144e4bda.js +0 -1
  409. package/dist/webcomponents/p-1e53021d.entry.js +0 -1
  410. package/dist/webcomponents/p-1feebf9c.entry.js +0 -1
  411. package/dist/webcomponents/p-26779944.entry.js +0 -1
  412. package/dist/webcomponents/p-306aea52.entry.js +0 -1
  413. package/dist/webcomponents/p-31031d15.entry.js +0 -1
  414. package/dist/webcomponents/p-4791c1f2.entry.js +0 -1
  415. package/dist/webcomponents/p-4b260a52.entry.js +0 -1
  416. package/dist/webcomponents/p-56275f64.entry.js +0 -1
  417. package/dist/webcomponents/p-64d1aeb8.entry.js +0 -1
  418. package/dist/webcomponents/p-65969627.entry.js +0 -19
  419. package/dist/webcomponents/p-68f3a7b0.entry.js +0 -1
  420. package/dist/webcomponents/p-6b05f357.entry.js +0 -1
  421. package/dist/webcomponents/p-6ce586e0.entry.js +0 -1
  422. package/dist/webcomponents/p-71800e4c.js +0 -1
  423. package/dist/webcomponents/p-7ae2d26f.entry.js +0 -1
  424. package/dist/webcomponents/p-88d68804.entry.js +0 -1
  425. package/dist/webcomponents/p-8a6049ed.js +0 -1
  426. package/dist/webcomponents/p-8e8f5033.entry.js +0 -1
  427. package/dist/webcomponents/p-9228912b.entry.js +0 -1
  428. package/dist/webcomponents/p-923c37a2.entry.js +0 -1
  429. package/dist/webcomponents/p-9b1e7f5e.entry.js +0 -1
  430. package/dist/webcomponents/p-9c00adf1.entry.js +0 -1
  431. package/dist/webcomponents/p-9e5d765c.js +0 -1
  432. package/dist/webcomponents/p-a33c3e1c.entry.js +0 -1
  433. package/dist/webcomponents/p-a63a6fb9.js +0 -2
  434. package/dist/webcomponents/p-b01c0120.entry.js +0 -1
  435. package/dist/webcomponents/p-b94bf537.entry.js +0 -1
  436. package/dist/webcomponents/p-bacd9d6e.entry.js +0 -1
  437. package/dist/webcomponents/p-c85fb952.entry.js +0 -1
  438. package/dist/webcomponents/p-ca39c89f.js +0 -1
  439. package/dist/webcomponents/p-d42e284d.entry.js +0 -1
  440. package/dist/webcomponents/p-e673e681.entry.js +0 -1
  441. package/dist/webcomponents/p-eefe2f29.entry.js +0 -1
  442. package/dist/webcomponents/p-f14db665.entry.js +0 -1
  443. package/dist/webcomponents/p-f18e63c3.entry.js +0 -1
  444. package/dist/webcomponents/p-f3ae3cb6.entry.js +0 -1
  445. package/dist/webcomponents/p-fa9773c0.entry.js +0 -1
@@ -2,13 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-b4498996.js');
5
+ const index = require('./index-fb499e95.js');
6
6
  const index_esm = require('./index.esm-52757963.js');
7
- const schemaValidations = require('./schema-validations-9668fd79.js');
7
+ const schemaValidations = require('./schema-validations-2733de42.js');
8
8
  const stateOptions = require('./state-options-4fbcb48a.js');
9
- const utils = require('./utils-fd644316.js');
10
- const _package = require('./package-b40227dd.js');
11
- const utils$1 = require('./utils-17869710.js');
9
+ const utils = require('./utils-8c3bf659.js');
10
+ const styledHost = require('./styled-host-b8bed12a.js');
12
11
  require('./business-form-options-582467fe.js');
13
12
  require('./Business-aacbe893.js');
14
13
  require('./helpers-602962eb.js');
@@ -22,7 +21,7 @@ const BillingFormSchema = index_esm.create$3({
22
21
  address_postal_code: schemaValidations.postalValidation.required('Enter postal code'),
23
22
  });
24
23
 
25
- const billingFormCss = ":root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13, 110, 253;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:25, 135, 84;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 193, 7;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255, 255, 255;--bs-black-rgb:0, 0, 0;--bs-font-sans-serif:system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33, 37, 41;--bs-body-bg:#fff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13, 110, 253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10, 88, 202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) }}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.clearfix::after{display:block;clear:both;content:\"\"}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:0.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:0.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:0.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:\"\"}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:\"\"}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:0.25}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:0.25}h6,h5,h4,h3,h2,h1{margin-top:0;margin-bottom:0.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + 0.9vw)}@media (min-width: 1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + 0.6vw)}@media (min-width: 1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + 0.3vw)}@media (min-width: 1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:0.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:0.875em}mark{padding:0.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:0.1875rem 0.375rem;font-size:0.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:0.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:0.5rem;padding-bottom:0.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:0.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-0.5 * var(--bs-gutter-x));margin-left:calc(-0.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.form-label{margin-bottom:0.5rem}.col-form-label{padding-top:calc(0.375rem + var(--bs-border-width));padding-bottom:calc(0.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + var(--bs-border-width));padding-bottom:calc(0.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + var(--bs-border-width));padding-bottom:calc(0.25rem + var(--bs-border-width));font-size:0.875rem}.form-text{margin-top:0.25rem;font-size:0.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:0.375rem 0.75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:0.375rem 0.75rem;margin:-0.375rem -0.75rem;margin-inline-end:0.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:0.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));padding:0.25rem 0.5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:0.25rem 0.5rem;margin:-0.25rem -0.5rem;margin-inline-end:0.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:0.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:0.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));padding:0.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");display:block;width:100%;padding:0.375rem 2.25rem 0.375rem 0.75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right 0.75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25)}.form-select[multiple],.form-select[size]:not([size=\"1\"]){padding-right:0.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:0.25rem;padding-bottom:0.25rem;padding-left:0.5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:0.5rem;padding-bottom:0.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:0.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:0.25em;vertical-align:top;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:0.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:0.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:0.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:0.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e\")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:0.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:0.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem 0.75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity 0.1s ease-in-out, transform 0.1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem 0.75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:0.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:0.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:0.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:\"\";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:0.375rem 0.75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:0.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:0.25rem 0.5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:0.25rem;font-size:0.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:0.25rem 0.5rem;margin-top:0.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + 0.75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size=\"1\"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size=\"1\"]{--bs-form-select-bg-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");padding-right:4.125rem;background-position:right 0.75rem center, center right 2.25rem;background-size:16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:0.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:0.25rem;font-size:0.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:0.25rem 0.5rem;margin-top:0.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + 0.75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size=\"1\"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size=\"1\"]{--bs-form-select-bg-icon:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");padding-right:4.125rem;background-position:right 0.75rem center, center right 2.25rem;background-size:16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:0.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}/*!\n * Bootstrap Utilities v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13, 110, 253;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:25, 135, 84;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 193, 7;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255, 255, 255;--bs-black-rgb:0, 0, 0;--bs-font-sans-serif:system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33, 37, 41;--bs-body-bg:#fff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13, 110, 253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10, 88, 202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}.clearfix::after{display:block;clear:both;content:\"\"}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:0.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:0.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:0.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:\"\"}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:\"\"}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:0.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:0.25 !important}.opacity-50{opacity:0.5 !important}.opacity-75{opacity:0.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:var(--bs-box-shadow) !important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm) !important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg) !important}.shadow-none{box-shadow:none !important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:0.25rem !important}.m-2{margin:0.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:0.25rem !important}.mt-2{margin-top:0.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:0.25rem !important}.me-2{margin-right:0.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:0.25rem !important}.mb-2{margin-bottom:0.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:0.25rem !important}.ms-2{margin-left:0.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:0.25rem !important}.p-2{padding:0.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:0.25rem !important}.pt-2{padding-top:0.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:0.25rem !important}.pe-2{padding-right:0.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:0.25rem !important}.pb-2{padding-bottom:0.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:0.25rem !important}.ps-2{padding-left:0.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:0.25rem !important}.gap-2{gap:0.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:0.25rem !important}.row-gap-2{row-gap:0.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{column-gap:0 !important}.column-gap-1{column-gap:0.25rem !important}.column-gap-2{column-gap:0.5rem !important}.column-gap-3{column-gap:1rem !important}.column-gap-4{column-gap:1.5rem !important}.column-gap-5{column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + 0.9vw) !important}.fs-3{font-size:calc(1.3rem + 0.6vw) !important}.fs-4{font-size:calc(1.275rem + 0.3vw) !important}.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity:1;color:rgba(0, 0, 0, 0.5) !important}.text-white-50{--bs-text-opacity:1;color:rgba(255, 255, 255, 0.5) !important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity:1;color:inherit !important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em !important}.link-offset-1-hover:hover{text-underline-offset:0.125em !important}.link-offset-2{text-underline-offset:0.25em !important}.link-offset-2-hover:hover{text-underline-offset:0.25em !important}.link-offset-3{text-underline-offset:0.375em !important}.link-offset-3-hover:hover{text-underline-offset:0.375em !important}.link-underline-primary{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent !important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}@media (min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:0.25rem !important}.m-sm-2{margin:0.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-sm-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-sm-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:0.25rem !important}.mt-sm-2{margin-top:0.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:0.25rem !important}.me-sm-2{margin-right:0.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:0.25rem !important}.mb-sm-2{margin-bottom:0.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:0.25rem !important}.ms-sm-2{margin-left:0.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:0.25rem !important}.p-sm-2{padding:0.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-sm-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-sm-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:0.25rem !important}.pt-sm-2{padding-top:0.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:0.25rem !important}.pe-sm-2{padding-right:0.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:0.25rem !important}.pb-sm-2{padding-bottom:0.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:0.25rem !important}.ps-sm-2{padding-left:0.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:0.25rem !important}.gap-sm-2{gap:0.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:0.25rem !important}.row-gap-sm-2{row-gap:0.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{column-gap:0 !important}.column-gap-sm-1{column-gap:0.25rem !important}.column-gap-sm-2{column-gap:0.5rem !important}.column-gap-sm-3{column-gap:1rem !important}.column-gap-sm-4{column-gap:1.5rem !important}.column-gap-sm-5{column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:0.25rem !important}.m-md-2{margin:0.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-md-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-md-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:0.25rem !important}.mt-md-2{margin-top:0.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:0.25rem !important}.me-md-2{margin-right:0.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:0.25rem !important}.mb-md-2{margin-bottom:0.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:0.25rem !important}.ms-md-2{margin-left:0.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:0.25rem !important}.p-md-2{padding:0.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-md-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-md-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:0.25rem !important}.pt-md-2{padding-top:0.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:0.25rem !important}.pe-md-2{padding-right:0.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:0.25rem !important}.pb-md-2{padding-bottom:0.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:0.25rem !important}.ps-md-2{padding-left:0.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:0.25rem !important}.gap-md-2{gap:0.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:0.25rem !important}.row-gap-md-2{row-gap:0.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{column-gap:0 !important}.column-gap-md-1{column-gap:0.25rem !important}.column-gap-md-2{column-gap:0.5rem !important}.column-gap-md-3{column-gap:1rem !important}.column-gap-md-4{column-gap:1.5rem !important}.column-gap-md-5{column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:0.25rem !important}.m-lg-2{margin:0.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-lg-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-lg-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:0.25rem !important}.mt-lg-2{margin-top:0.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:0.25rem !important}.me-lg-2{margin-right:0.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:0.25rem !important}.mb-lg-2{margin-bottom:0.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:0.25rem !important}.ms-lg-2{margin-left:0.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:0.25rem !important}.p-lg-2{padding:0.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-lg-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-lg-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:0.25rem !important}.pt-lg-2{padding-top:0.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:0.25rem !important}.pe-lg-2{padding-right:0.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:0.25rem !important}.pb-lg-2{padding-bottom:0.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:0.25rem !important}.ps-lg-2{padding-left:0.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:0.25rem !important}.gap-lg-2{gap:0.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:0.25rem !important}.row-gap-lg-2{row-gap:0.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{column-gap:0 !important}.column-gap-lg-1{column-gap:0.25rem !important}.column-gap-lg-2{column-gap:0.5rem !important}.column-gap-lg-3{column-gap:1rem !important}.column-gap-lg-4{column-gap:1.5rem !important}.column-gap-lg-5{column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:0.25rem !important}.m-xl-2{margin:0.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-xl-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-xl-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:0.25rem !important}.mt-xl-2{margin-top:0.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:0.25rem !important}.me-xl-2{margin-right:0.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:0.25rem !important}.mb-xl-2{margin-bottom:0.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:0.25rem !important}.ms-xl-2{margin-left:0.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:0.25rem !important}.p-xl-2{padding:0.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-xl-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-xl-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:0.25rem !important}.pt-xl-2{padding-top:0.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:0.25rem !important}.pe-xl-2{padding-right:0.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:0.25rem !important}.pb-xl-2{padding-bottom:0.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:0.25rem !important}.ps-xl-2{padding-left:0.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:0.25rem !important}.gap-xl-2{gap:0.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:0.25rem !important}.row-gap-xl-2{row-gap:0.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{column-gap:0 !important}.column-gap-xl-1{column-gap:0.25rem !important}.column-gap-xl-2{column-gap:0.5rem !important}.column-gap-xl-3{column-gap:1rem !important}.column-gap-xl-4{column-gap:1.5rem !important}.column-gap-xl-5{column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:0.25rem !important}.m-xxl-2{margin:0.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:0.25rem !important;margin-left:0.25rem !important}.mx-xxl-2{margin-right:0.5rem !important;margin-left:0.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:0.25rem !important;margin-bottom:0.25rem !important}.my-xxl-2{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:0.25rem !important}.mt-xxl-2{margin-top:0.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:0.25rem !important}.me-xxl-2{margin-right:0.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:0.25rem !important}.mb-xxl-2{margin-bottom:0.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:0.25rem !important}.ms-xxl-2{margin-left:0.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:0.25rem !important}.p-xxl-2{padding:0.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:0.25rem !important;padding-left:0.25rem !important}.px-xxl-2{padding-right:0.5rem !important;padding-left:0.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:0.25rem !important;padding-bottom:0.25rem !important}.py-xxl-2{padding-top:0.5rem !important;padding-bottom:0.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:0.25rem !important}.pt-xxl-2{padding-top:0.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:0.25rem !important}.pe-xxl-2{padding-right:0.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:0.25rem !important}.pb-xxl-2{padding-bottom:0.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:0.25rem !important}.ps-xxl-2{padding-left:0.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:0.25rem !important}.gap-xxl-2{gap:0.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:0.25rem !important}.row-gap-xxl-2{row-gap:0.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{column-gap:0 !important}.column-gap-xxl-1{column-gap:0.25rem !important}.column-gap-xxl-2{column-gap:0.5rem !important}.column-gap-xxl-3{column-gap:1rem !important}.column-gap-xxl-4{column-gap:1.5rem !important}.column-gap-xxl-5{column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}:host{font-family:system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;display:block}justifi-billing-form{margin-left:calc(var(--jfi-layout-padding) * -1);margin-right:calc(var(--jfi-layout-padding) * -1)}*::part(label){color:var(--jfi-form-label-color);font-family:var(--jfi-form-label-font-family);font-weight:var(--jfi-form-label-font-weight);font-size:var(--jfi-form-label-font-size);margin:var(--jfi-form-label-margin)}*::part(input){background-color:var(--jfi-form-control-background-color);border-color:var(--jfi-form-control-border-color);border-width:var(--jfi-form-control-border-width);border-bottom-width:var(--jfi-form-control-border-bottom-width);border-left-width:var(--jfi-form-control-border-left-width);border-right-width:var(--jfi-form-control-border-right-width);border-top-width:var(--jfi-form-control-border-top-width);border-radius:var(--jfi-form-control-border-radius);border-style:var(--jfi-form-control-border-style);box-shadow:var(--jfi-form-control-box-shadow);color:var(--jfi-form-control-color);font-size:var(--jfi-form-control-font-size);font-weight:var(--jfi-form-control-font-weight);line-height:var(--jfi-form-control-line-height);margin:var(--jfi-form-control-margin);padding:var(--jfi-form-control-padding)}*::part(input):focus{color:var(--jfi-form-control-color-focus);border-color:var(--jfi-form-control-border-color-focus);box-shadow:var(--jfi-form-control-box-shadow-focus)}*::part(input-invalid){border-color:var(--jfi-form-control-border-color-error);box-shadow:var(--jfi-form-control-box-shadow-error)}*::part(input-invalid):focus{border-color:var(--jfi-form-control-border-color-error);box-shadow:var(--jfi-form-control-box-shadow-error-focus)}";
24
+ const billingFormCss = ":host{display:block}justifi-billing-form{margin-left:calc(var(--jfi-layout-padding) * -1);margin-right:calc(var(--jfi-layout-padding) * -1)}*::part(label){color:var(--jfi-form-label-color);font-family:var(--jfi-form-label-font-family);font-weight:var(--jfi-form-label-font-weight);font-size:var(--jfi-form-label-font-size);margin:var(--jfi-form-label-margin)}*::part(input){background-color:var(--jfi-form-control-background-color);border-color:var(--jfi-form-control-border-color);border-width:var(--jfi-form-control-border-width);border-bottom-width:var(--jfi-form-control-border-bottom-width);border-left-width:var(--jfi-form-control-border-left-width);border-right-width:var(--jfi-form-control-border-right-width);border-top-width:var(--jfi-form-control-border-top-width);border-radius:var(--jfi-form-control-border-radius);border-style:var(--jfi-form-control-border-style);box-shadow:var(--jfi-form-control-box-shadow);color:var(--jfi-form-control-color);font-size:var(--jfi-form-control-font-size);font-weight:var(--jfi-form-control-font-weight);line-height:var(--jfi-form-control-line-height);margin:var(--jfi-form-control-margin);padding:var(--jfi-form-control-padding)}*::part(input):focus{color:var(--jfi-form-control-color-focus);border-color:var(--jfi-form-control-border-color-focus);box-shadow:var(--jfi-form-control-box-shadow-focus)}*::part(input-invalid){border-color:var(--jfi-form-control-border-color-error);box-shadow:var(--jfi-form-control-box-shadow-error)}*::part(input-invalid):focus{border-color:var(--jfi-form-control-border-color-error);box-shadow:var(--jfi-form-control-box-shadow-error-focus)}";
26
25
  const JustifiBillingFormStyle0 = billingFormCss;
27
26
 
28
27
  const BillingForm = class {
@@ -49,7 +48,7 @@ const BillingForm = class {
49
48
  return this.formController.values.getValue();
50
49
  }
51
50
  async fill(fields) {
52
- this.formController.setValues(fields);
51
+ this.formController.setInitialValues(fields);
53
52
  }
54
53
  async validate() {
55
54
  let isValid = await this.formController.validate();
@@ -57,1689 +56,26 @@ const BillingForm = class {
57
56
  }
58
57
  render() {
59
58
  const billingFormDefaultValue = this.formController.getInitialValues();
60
- return (index.h(index.Host, { key: '394ccc8799078a3c6d0deb96d6b96553c0268d40', exportparts: "label,input,input-invalid" }, index.h("form", { key: 'a4796aa2ddc184bf881b9ca620ccdf54cb4ea9d5' }, index.h("fieldset", { key: '437d9d75bb9614349520b477e0b9f69c400fee8b' }, this.legend && index.h("legend", { key: '7f5c1078da38049ee2dc486b9c7eccff10a3698b' }, this.legend), index.h("div", { key: 'f8624c6ed26e5f052675ba6c40d98a1d7da02e86', class: "row gy-3" }, index.h("div", { key: '9aa4fb17b220bacaad519949a7686968e43a5d2d', class: "col-12" }, index.h("form-control-text", { key: 'f46a938e7ccb2f390675cc95adea78de91b7746b', name: 'name', label: 'Full Name', defaultValue: billingFormDefaultValue.name, errorText: this.errors.name, inputHandler: this.inputHandler })), index.h("div", { key: '2c725e13c99d39ff1d583bdfadc8353e71df9a49', class: "col-12" }, index.h("form-control-text", { key: '893a63193b8be1172140a9475d552e16f2281c4e', name: 'address_line1', label: 'Street Address', defaultValue: billingFormDefaultValue.address_line1, errorText: this.errors.address_line1, inputHandler: this.inputHandler })), index.h("div", { key: '327ecba6bd968e4a24055446a45cdb2fdb51aa7b', class: "col-12" }, index.h("form-control-text", { key: '13524570e96720e0b2fcdc75e170bd52d77a1f78', name: 'address_line2', label: "Apartment, Suite, etc. (optional)", defaultValue: billingFormDefaultValue.address_line2, errorText: this.errors.address_line2, inputHandler: this.inputHandler })), index.h("div", { key: '894c40be08af53aca60a549c12d60e98038b0388', class: "col-12" }, index.h("form-control-text", { key: 'ed13196ca464b162805bed6bb4c0e1ebbe20f028', name: 'address_city', label: "City", defaultValue: billingFormDefaultValue.address_city, errorText: this.errors.address_city, inputHandler: this.inputHandler })), index.h("div", { key: '56aedf85b8c85ba0bda37fa5de223598ab38c950', class: "col-12" }, index.h("form-control-select", { key: 'c8fdf53bcff9ce6b5caeb5e06f15ff47b1ec633e', name: 'address_state', label: 'State', options: stateOptions.StateOptions, defaultValue: billingFormDefaultValue.address_state, errorText: this.errors.address_state, inputHandler: this.inputHandler })), index.h("div", { key: 'cdb3b5406da9d459fada4e59080bd94bd2d9b621', class: "col-12" }, index.h("form-control-text", { key: '67c0ca310493470e79866e11959edb91a77883e8', name: 'address_postal_code', label: "ZIP", defaultValue: billingFormDefaultValue.address_postal_code, errorText: this.errors.address_postal_code, inputHandler: this.inputHandler, maxLength: 5, keyDownHandler: utils.numberOnlyHandler })))))));
59
+ return (index.h(styledHost.StyledHost, { key: '8104e81c71bc567bfa5e0375cd33e9faca89d011', exportparts: "label,input,input-invalid" }, index.h("form", { key: 'c6cc67debae73514e2615f95c2bf864b912a73cb' }, index.h("fieldset", { key: '9a7c04e44a7428748dad4c303e69a138ddb9101d' }, this.legend && index.h("legend", { key: '7aff51cff0b829134b99179d05c8184ee434258e' }, this.legend), index.h("div", { key: '53ed47c893e7f8348a0ab1f637175e7b456e1992', class: "row gy-3" }, index.h("div", { key: '4b93bf1abd9be0735560cd2db646be68fc1a6916', class: "col-12" }, index.h("form-control-text", { key: '18f7be54e35cac629a0122b7ff040e424b39dcea', name: 'name', label: 'Full Name', defaultValue: billingFormDefaultValue.name, errorText: this.errors.name, inputHandler: this.inputHandler })), index.h("div", { key: '5358865082c4158083f0232441255622f339105a', class: "col-12" }, index.h("form-control-text", { key: '8ba417bede5bde2c6d7a99869caab780e0887b9b', name: 'address_line1', label: 'Street Address', defaultValue: billingFormDefaultValue.address_line1, errorText: this.errors.address_line1, inputHandler: this.inputHandler })), index.h("div", { key: 'ffadcbe419b78f4e96283c3366141e20e2f157d3', class: "col-12" }, index.h("form-control-text", { key: '14ca2064c4651405c443d75961c8937d7136a95d', name: 'address_line2', label: "Apartment, Suite, etc. (optional)", defaultValue: billingFormDefaultValue.address_line2, errorText: this.errors.address_line2, inputHandler: this.inputHandler })), index.h("div", { key: '52cd79784b86d18cc35c80ae5f4006e8e25337f7', class: "col-12" }, index.h("form-control-text", { key: '741129396330fb3d7e40143391ab3422d648c997', name: 'address_city', label: "City", defaultValue: billingFormDefaultValue.address_city, errorText: this.errors.address_city, inputHandler: this.inputHandler })), index.h("div", { key: 'ec80e7986f8189d4a08df9924d9cbecab512ae3d', class: "col-12" }, index.h("form-control-select", { key: '0cea8474f7f72ebb2591f48bd85ea4e008f65d94', name: 'address_state', label: 'State', options: stateOptions.StateOptions, defaultValue: billingFormDefaultValue.address_state, errorText: this.errors.address_state, inputHandler: this.inputHandler })), index.h("div", { key: '59935a8aaf2b91df9e33c284132ca1372591d797', class: "col-12" }, index.h("form-control-text", { key: '9316b7c2aec054c251eb9eba7641f239b43f3714', name: 'address_postal_code', label: "ZIP", defaultValue: billingFormDefaultValue.address_postal_code, errorText: this.errors.address_postal_code, inputHandler: this.inputHandler, maxLength: 5, keyDownHandler: utils.numberOnlyHandler })))))));
61
60
  }
62
61
  };
63
62
  BillingForm.style = JustifiBillingFormStyle0;
64
63
 
65
- var iframeResizer = {exports: {}};
66
-
67
- /*
68
- * File: iframeResizer.js
69
- * Desc: Force iframes to size to content.
70
- * Requires: iframeResizer.contentWindow.js to be loaded into the target frame.
71
- * Doc: https://iframe-resizer.com
72
- * Author: David J. Bradshaw - info@iframe-resizer.com
73
- */
74
-
75
- (function (module) {
76
- console.info(`
77
- IFRAME-RESIZER
78
-
79
- Iframe-Resizer 5 is now available via the following two packages:
80
-
81
- * @iframe-resizer/parent
82
- * @iframe-resizer/child
83
-
84
- Additionally their are also new versions of iframe-resizer for React, Vue, and jQuery.
85
-
86
- Version 5 of iframe-resizer has been extensively rewritten to use modern browser APIs, which has enabled significantly better performance and greater accuracy in the detection of content resizing events.
87
-
88
- Please see https://iframe-resizer.com/upgrade for more details.
89
- `)
90
-
91
- // eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names
92
- ;(function (undefined$1) {
93
- if (typeof window === 'undefined') return // don't run for server side render
94
-
95
- // var VERSION = '4.3.11'
96
-
97
- var count = 0,
98
- destroyObserver,
99
- logEnabled = false,
100
- hiddenCheckEnabled = false,
101
- msgHeader = 'message',
102
- msgHeaderLen = msgHeader.length,
103
- msgId = '[iFrameSizer]', // Must match iframe msg ID
104
- msgIdLen = msgId.length,
105
- pagePosition = null,
106
- requestAnimationFrame = window.requestAnimationFrame,
107
- resetRequiredMethods = Object.freeze({
108
- max: 1,
109
- scroll: 1,
110
- bodyScroll: 1,
111
- documentElementScroll: 1
112
- }),
113
- settings = {},
114
- timer = null,
115
- defaults = Object.freeze({
116
- autoResize: true,
117
- bodyBackground: null,
118
- bodyMargin: null,
119
- bodyMarginV1: 8,
120
- bodyPadding: null,
121
- checkOrigin: true,
122
- inPageLinks: false,
123
- enablePublicMethods: true,
124
- heightCalculationMethod: 'bodyOffset',
125
- id: 'iFrameResizer',
126
- interval: 32,
127
- license: '1jqr0si6pnt',
128
- log: false,
129
- maxHeight: Infinity,
130
- maxWidth: Infinity,
131
- minHeight: 0,
132
- minWidth: 0,
133
- mouseEvents: true,
134
- resizeFrom: 'parent',
135
- scrolling: false,
136
- sizeHeight: true,
137
- sizeWidth: false,
138
- warningTimeout: 5000,
139
- tolerance: 0,
140
- widthCalculationMethod: 'scroll',
141
- onClose: function () {
142
- return true
143
- },
144
- onClosed: function () {},
145
- onInit: function () {},
146
- onMessage: function () {
147
- warn('onMessage function not defined');
148
- },
149
- onMouseEnter: function () {},
150
- onMouseLeave: function () {},
151
- onResized: function () {},
152
- onScroll: function () {
153
- return true
154
- }
155
- });
156
-
157
- function getMutationObserver() {
158
- return (
159
- window.MutationObserver ||
160
- window.WebKitMutationObserver ||
161
- window.MozMutationObserver
162
- )
163
- }
164
-
165
- function addEventListener(el, evt, func) {
166
- el.addEventListener(evt, func, false);
167
- }
168
-
169
- function removeEventListener(el, evt, func) {
170
- el.removeEventListener(evt, func, false);
171
- }
172
-
173
- function setupRequestAnimationFrame() {
174
- var vendors = ['moz', 'webkit', 'o', 'ms'];
175
- var x;
176
-
177
- // Remove vendor prefixing if prefixed and break early if not
178
- for (x = 0; x < vendors.length && !requestAnimationFrame; x += 1) {
179
- requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
180
- }
181
-
182
- if (requestAnimationFrame) {
183
- // Firefox extension content-scripts have a globalThis object that is not the same as window.
184
- // Binding `requestAnimationFrame` to window allows the function to work and prevents errors
185
- // being thrown when run in that context, and should be a no-op in every other context.
186
- requestAnimationFrame = requestAnimationFrame.bind(window);
187
- } else {
188
- log('setup', 'RequestAnimationFrame not supported');
189
- }
190
- }
191
-
192
- function getMyID(iframeId) {
193
- var retStr = 'Host page: ' + iframeId;
194
-
195
- if (window.top !== window.self) {
196
- retStr =
197
- window.parentIFrame && window.parentIFrame.getId
198
- ? window.parentIFrame.getId() + ': ' + iframeId
199
- : 'Nested host page: ' + iframeId;
200
- }
201
-
202
- return retStr
203
- }
204
-
205
- function formatLogHeader(iframeId) {
206
- return msgId + '[' + getMyID(iframeId) + ']'
207
- }
208
-
209
- function isLogEnabled(iframeId) {
210
- return settings[iframeId] ? settings[iframeId].log : logEnabled
211
- }
212
-
213
- function log(iframeId, msg) {
214
- output('log', iframeId, msg, isLogEnabled(iframeId));
215
- }
216
-
217
- function info(iframeId, msg) {
218
- output('info', iframeId, msg, isLogEnabled(iframeId));
219
- }
220
-
221
- function warn(iframeId, msg) {
222
- output('warn', iframeId, msg, true);
223
- }
224
-
225
- function output(type, iframeId, msg, enabled) {
226
- if (true === enabled && 'object' === typeof window.console) {
227
- // eslint-disable-next-line no-console
228
- console[type](formatLogHeader(iframeId), msg);
229
- }
230
- }
231
-
232
- function iFrameListener(event) {
233
- function resizeIFrame() {
234
- function resize() {
235
- setSize(messageData);
236
- setPagePosition(iframeId);
237
- on('onResized', messageData);
238
- }
239
-
240
- ensureInRange('Height');
241
- ensureInRange('Width');
242
-
243
- syncResize(resize, messageData, 'init');
244
- }
245
-
246
- function processMsg() {
247
- var data = msg.slice(msgIdLen).split(':');
248
- var height = data[1] ? parseInt(data[1], 10) : 0;
249
- var iframe = settings[data[0]] && settings[data[0]].iframe;
250
- var compStyle = getComputedStyle(iframe);
251
-
252
- return {
253
- iframe: iframe,
254
- id: data[0],
255
- height: height + getPaddingEnds(compStyle) + getBorderEnds(compStyle),
256
- width: data[2],
257
- type: data[3]
258
- }
259
- }
260
-
261
- function getPaddingEnds(compStyle) {
262
- if (compStyle.boxSizing !== 'border-box') {
263
- return 0
264
- }
265
- var top = compStyle.paddingTop ? parseInt(compStyle.paddingTop, 10) : 0;
266
- var bot = compStyle.paddingBottom
267
- ? parseInt(compStyle.paddingBottom, 10)
268
- : 0;
269
- return top + bot
270
- }
271
-
272
- function getBorderEnds(compStyle) {
273
- if (compStyle.boxSizing !== 'border-box') {
274
- return 0
275
- }
276
- var top = compStyle.borderTopWidth
277
- ? parseInt(compStyle.borderTopWidth, 10)
278
- : 0;
279
- var bot = compStyle.borderBottomWidth
280
- ? parseInt(compStyle.borderBottomWidth, 10)
281
- : 0;
282
- return top + bot
283
- }
284
-
285
- function ensureInRange(Dimension) {
286
- var max = Number(settings[iframeId]['max' + Dimension]),
287
- min = Number(settings[iframeId]['min' + Dimension]),
288
- dimension = Dimension.toLowerCase(),
289
- size = Number(messageData[dimension]);
290
-
291
- log(iframeId, 'Checking ' + dimension + ' is in range ' + min + '-' + max);
292
-
293
- if (size < min) {
294
- size = min;
295
- log(iframeId, 'Set ' + dimension + ' to min value');
296
- }
297
-
298
- if (size > max) {
299
- size = max;
300
- log(iframeId, 'Set ' + dimension + ' to max value');
301
- }
302
-
303
- messageData[dimension] = '' + size;
304
- }
305
-
306
- function isMessageFromIFrame() {
307
- function checkAllowedOrigin() {
308
- function checkList() {
309
- var i = 0,
310
- retCode = false;
311
-
312
- log(
313
- iframeId,
314
- 'Checking connection is from allowed list of origins: ' +
315
- checkOrigin
316
- );
317
-
318
- for (; i < checkOrigin.length; i++) {
319
- if (checkOrigin[i] === origin) {
320
- retCode = true;
321
- break
322
- }
323
- }
324
- return retCode
325
- }
326
-
327
- function checkSingle() {
328
- var remoteHost = settings[iframeId] && settings[iframeId].remoteHost;
329
- log(iframeId, 'Checking connection is from: ' + remoteHost);
330
- return origin === remoteHost
331
- }
332
-
333
- return checkOrigin.constructor === Array ? checkList() : checkSingle()
334
- }
335
-
336
- var origin = event.origin,
337
- checkOrigin = settings[iframeId] && settings[iframeId].checkOrigin;
338
-
339
- if (checkOrigin && '' + origin !== 'null' && !checkAllowedOrigin()) {
340
- throw new Error(
341
- 'Unexpected message received from: ' +
342
- origin +
343
- ' for ' +
344
- messageData.iframe.id +
345
- '. Message was: ' +
346
- event.data +
347
- '. This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.'
348
- )
349
- }
350
-
351
- return true
352
- }
353
-
354
- function isMessageForUs() {
355
- return (
356
- msgId === ('' + msg).slice(0, msgIdLen) &&
357
- msg.slice(msgIdLen).split(':')[0] in settings
358
- ) // ''+Protects against non-string msg
359
- }
360
-
361
- function isMessageFromMetaParent() {
362
- // Test if this message is from a parent above us. This is an ugly test, however, updating
363
- // the message format would break backwards compatibility.
364
- var retCode = messageData.type in { true: 1, false: 1, undefined: 1 };
365
-
366
- if (retCode) {
367
- log(iframeId, 'Ignoring init message from meta parent page');
368
- }
369
-
370
- return retCode
371
- }
372
-
373
- function getMsgBody(offset) {
374
- return msg.slice(msg.indexOf(':') + msgHeaderLen + offset)
375
- }
376
-
377
- function forwardMsgFromIFrame(msgBody) {
378
- log(
379
- iframeId,
380
- 'onMessage passed: {iframe: ' +
381
- messageData.iframe.id +
382
- ', message: ' +
383
- msgBody +
384
- '}'
385
- );
386
-
387
- on('onMessage', {
388
- iframe: messageData.iframe,
389
- message: JSON.parse(msgBody)
390
- });
391
-
392
- log(iframeId, '--');
393
- }
394
-
395
- function getPageInfo() {
396
- var bodyPosition = document.body.getBoundingClientRect(),
397
- iFramePosition = messageData.iframe.getBoundingClientRect();
398
-
399
- return JSON.stringify({
400
- iframeHeight: iFramePosition.height,
401
- iframeWidth: iFramePosition.width,
402
- clientHeight: Math.max(
403
- document.documentElement.clientHeight,
404
- window.innerHeight || 0
405
- ),
406
- clientWidth: Math.max(
407
- document.documentElement.clientWidth,
408
- window.innerWidth || 0
409
- ),
410
- offsetTop: parseInt(iFramePosition.top - bodyPosition.top, 10),
411
- offsetLeft: parseInt(iFramePosition.left - bodyPosition.left, 10),
412
- scrollTop: window.pageYOffset,
413
- scrollLeft: window.pageXOffset,
414
- documentHeight: document.documentElement.clientHeight,
415
- documentWidth: document.documentElement.clientWidth,
416
- windowHeight: window.innerHeight,
417
- windowWidth: window.innerWidth
418
- })
419
- }
420
-
421
- function sendPageInfoToIframe(iframe, iframeId) {
422
- function debouncedTrigger() {
423
- trigger('Send Page Info', 'pageInfo:' + getPageInfo(), iframe, iframeId);
424
- }
425
- debounceFrameEvents(debouncedTrigger, 32, iframeId);
426
- }
427
-
428
- function startPageInfoMonitor() {
429
- function setListener(type, func) {
430
- function sendPageInfo() {
431
- if (settings[id]) {
432
- sendPageInfoToIframe(settings[id].iframe, id);
433
- } else {
434
- stop();
435
- }
436
- }
437
- ['scroll', 'resize'].forEach(function (evt) {
438
- log(id, type + evt + ' listener for sendPageInfo');
439
- func(window, evt, sendPageInfo);
440
- });
441
- }
442
-
443
- function stop() {
444
- setListener('Remove ', removeEventListener);
445
- }
446
-
447
- function start() {
448
- setListener('Add ', addEventListener);
449
- }
450
-
451
- var id = iframeId; // Create locally scoped copy of iFrame ID
452
-
453
- start();
454
-
455
- if (settings[id]) {
456
- settings[id].stopPageInfo = stop;
457
- }
458
- }
459
-
460
- function stopPageInfoMonitor() {
461
- if (settings[iframeId] && settings[iframeId].stopPageInfo) {
462
- settings[iframeId].stopPageInfo();
463
- delete settings[iframeId].stopPageInfo;
464
- }
465
- }
466
-
467
- function checkIFrameExists() {
468
- var retBool = true;
469
-
470
- if (null === messageData.iframe) {
471
- warn(iframeId, 'IFrame (' + messageData.id + ') not found');
472
- retBool = false;
473
- }
474
- return retBool
475
- }
476
-
477
- function getElementPosition(target) {
478
- var iFramePosition = target.getBoundingClientRect();
479
-
480
- getPagePosition(iframeId);
481
-
482
- return {
483
- x: Math.floor(Number(iFramePosition.left) + Number(pagePosition.x)),
484
- y: Math.floor(Number(iFramePosition.top) + Number(pagePosition.y))
485
- }
486
- }
487
-
488
- function scrollRequestFromChild(addOffset) {
489
- /* istanbul ignore next */ // Not testable in Karma
490
- function reposition() {
491
- pagePosition = newPosition;
492
- scrollTo();
493
- log(iframeId, '--');
494
- }
495
-
496
- function calcOffset() {
497
- return {
498
- x: Number(messageData.width) + offset.x,
499
- y: Number(messageData.height) + offset.y
500
- }
501
- }
502
-
503
- function scrollParent() {
504
- if (window.parentIFrame) {
505
- window.parentIFrame['scrollTo' + (addOffset ? 'Offset' : '')](
506
- newPosition.x,
507
- newPosition.y
508
- );
509
- } else {
510
- warn(
511
- iframeId,
512
- 'Unable to scroll to requested position, window.parentIFrame not found'
513
- );
514
- }
515
- }
516
-
517
- var offset = addOffset
518
- ? getElementPosition(messageData.iframe)
519
- : { x: 0, y: 0 },
520
- newPosition = calcOffset();
521
-
522
- log(
523
- iframeId,
524
- 'Reposition requested from iFrame (offset x:' +
525
- offset.x +
526
- ' y:' +
527
- offset.y +
528
- ')'
529
- );
530
-
531
- if (window.top === window.self) {
532
- reposition();
533
- } else {
534
- scrollParent();
535
- }
536
- }
537
-
538
- function scrollTo() {
539
- if (false === on('onScroll', pagePosition)) {
540
- unsetPagePosition();
541
- } else {
542
- setPagePosition(iframeId);
543
- }
544
- }
545
-
546
- function findTarget(location) {
547
- function jumpToTarget() {
548
- var jumpPosition = getElementPosition(target);
549
-
550
- log(
551
- iframeId,
552
- 'Moving to in page link (#' +
553
- hash +
554
- ') at x: ' +
555
- jumpPosition.x +
556
- ' y: ' +
557
- jumpPosition.y
558
- );
559
- pagePosition = {
560
- x: jumpPosition.x,
561
- y: jumpPosition.y
562
- };
563
-
564
- scrollTo();
565
- log(iframeId, '--');
566
- }
567
-
568
- function jumpToParent() {
569
- if (window.parentIFrame) {
570
- window.parentIFrame.moveToAnchor(hash);
571
- } else {
572
- log(
573
- iframeId,
574
- 'In page link #' +
575
- hash +
576
- ' not found and window.parentIFrame not found'
577
- );
578
- }
579
- }
580
-
581
- var hash = location.split('#')[1] || '',
582
- hashData = decodeURIComponent(hash),
583
- target =
584
- document.getElementById(hashData) ||
585
- document.getElementsByName(hashData)[0];
586
-
587
- if (target) {
588
- jumpToTarget();
589
- } else if (window.top === window.self) {
590
- log(iframeId, 'In page link #' + hash + ' not found');
591
- } else {
592
- jumpToParent();
593
- }
594
- }
595
-
596
- function onMouse(event) {
597
- var mousePos = {};
598
-
599
- if (Number(messageData.width) === 0 && Number(messageData.height) === 0) {
600
- var data = getMsgBody(9).split(':');
601
- mousePos = {
602
- x: data[1],
603
- y: data[0]
604
- };
605
- } else {
606
- mousePos = {
607
- x: messageData.width,
608
- y: messageData.height
609
- };
610
- }
611
-
612
- on(event, {
613
- iframe: messageData.iframe,
614
- screenX: Number(mousePos.x),
615
- screenY: Number(mousePos.y),
616
- type: messageData.type
617
- });
618
- }
619
-
620
- function on(funcName, val) {
621
- return chkEvent(iframeId, funcName, val)
622
- }
623
-
624
- function actionMsg() {
625
- if (settings[iframeId] && settings[iframeId].firstRun) firstRun();
626
-
627
- switch (messageData.type) {
628
- case 'close': {
629
- closeIFrame(messageData.iframe);
630
- break
631
- }
632
-
633
- case 'message': {
634
- forwardMsgFromIFrame(getMsgBody(6));
635
- break
636
- }
637
-
638
- case 'mouseenter': {
639
- onMouse('onMouseEnter');
640
- break
641
- }
642
-
643
- case 'mouseleave': {
644
- onMouse('onMouseLeave');
645
- break
646
- }
647
-
648
- case 'autoResize': {
649
- settings[iframeId].autoResize = JSON.parse(getMsgBody(9));
650
- break
651
- }
652
-
653
- case 'scrollTo': {
654
- scrollRequestFromChild(false);
655
- break
656
- }
657
-
658
- case 'scrollToOffset': {
659
- scrollRequestFromChild(true);
660
- break
661
- }
662
-
663
- case 'pageInfo': {
664
- sendPageInfoToIframe(
665
- settings[iframeId] && settings[iframeId].iframe,
666
- iframeId
667
- );
668
- startPageInfoMonitor();
669
- break
670
- }
671
-
672
- case 'pageInfoStop': {
673
- stopPageInfoMonitor();
674
- break
675
- }
676
-
677
- case 'inPageLink': {
678
- findTarget(getMsgBody(9));
679
- break
680
- }
681
-
682
- case 'reset': {
683
- resetIFrame(messageData);
684
- break
685
- }
686
-
687
- case 'init': {
688
- resizeIFrame();
689
- on('onInit', messageData.iframe);
690
- break
691
- }
692
-
693
- default: {
694
- if (
695
- Number(messageData.width) === 0 &&
696
- Number(messageData.height) === 0
697
- ) {
698
- warn(
699
- 'Unsupported message received (' +
700
- messageData.type +
701
- '), this is likely due to the iframe containing a later ' +
702
- 'version of iframe-resizer than the parent page'
703
- );
704
- } else {
705
- resizeIFrame();
706
- }
707
- }
708
- }
709
- }
710
-
711
- function hasSettings(iframeId) {
712
- var retBool = true;
713
-
714
- if (!settings[iframeId]) {
715
- retBool = false;
716
- warn(
717
- messageData.type +
718
- ' No settings for ' +
719
- iframeId +
720
- '. Message was: ' +
721
- msg
722
- );
723
- }
724
-
725
- return retBool
726
- }
727
-
728
- function iFrameReadyMsgReceived() {
729
- // eslint-disable-next-line no-restricted-syntax, guard-for-in
730
- for (var iframeId in settings) {
731
- trigger(
732
- 'iFrame requested init',
733
- createOutgoingMsg(iframeId),
734
- settings[iframeId].iframe,
735
- iframeId
736
- );
737
- }
738
- }
739
-
740
- function firstRun() {
741
- if (settings[iframeId]) {
742
- settings[iframeId].firstRun = false;
743
- }
744
- }
745
-
746
- var msg = event.data,
747
- messageData = {},
748
- iframeId = null;
749
-
750
- if ('[iFrameResizerChild]Ready' === msg) {
751
- iFrameReadyMsgReceived();
752
- } else if (isMessageForUs()) {
753
- messageData = processMsg();
754
- iframeId = messageData.id;
755
- if (settings[iframeId]) {
756
- settings[iframeId].loaded = true;
757
- }
758
-
759
- if (!isMessageFromMetaParent() && hasSettings(iframeId)) {
760
- log(iframeId, 'Received: ' + msg);
761
-
762
- if (checkIFrameExists() && isMessageFromIFrame()) {
763
- actionMsg();
764
- }
765
- }
766
- } else {
767
- info(iframeId, 'Ignored: ' + msg);
768
- }
769
- }
770
-
771
- function chkEvent(iframeId, funcName, val) {
772
- var func = null,
773
- retVal = null;
774
-
775
- if (settings[iframeId]) {
776
- func = settings[iframeId][funcName];
777
-
778
- if ('function' === typeof func) {
779
- retVal = func(val);
780
- } else {
781
- throw new TypeError(
782
- funcName + ' on iFrame[' + iframeId + '] is not a function'
783
- )
784
- }
785
- }
786
-
787
- return retVal
788
- }
789
-
790
- function removeIframeListeners(iframe) {
791
- var iframeId = iframe.id;
792
- delete settings[iframeId];
793
- }
794
-
795
- function closeIFrame(iframe) {
796
- var iframeId = iframe.id;
797
- if (chkEvent(iframeId, 'onClose', iframeId) === false) {
798
- log(iframeId, 'Close iframe cancelled by onClose event');
799
- return
800
- }
801
- log(iframeId, 'Removing iFrame: ' + iframeId);
802
-
803
- try {
804
- // Catch race condition error with React
805
- if (iframe.parentNode) {
806
- iframe.parentNode.removeChild(iframe);
807
- }
808
- } catch (error) {
809
- warn(error);
810
- }
811
-
812
- chkEvent(iframeId, 'onClosed', iframeId);
813
- log(iframeId, '--');
814
- removeIframeListeners(iframe);
815
- if (destroyObserver) {
816
- destroyObserver.disconnect();
817
- destroyObserver = null;
818
- }
819
- }
820
-
821
- function getPagePosition(iframeId) {
822
- if (null === pagePosition) {
823
- pagePosition = {
824
- x:
825
- window.pageXOffset === undefined$1
826
- ? document.documentElement.scrollLeft
827
- : window.pageXOffset,
828
- y:
829
- window.pageYOffset === undefined$1
830
- ? document.documentElement.scrollTop
831
- : window.pageYOffset
832
- };
833
- log(
834
- iframeId,
835
- 'Get page position: ' + pagePosition.x + ',' + pagePosition.y
836
- );
837
- }
838
- }
839
-
840
- function setPagePosition(iframeId) {
841
- if (null !== pagePosition) {
842
- window.scrollTo(pagePosition.x, pagePosition.y);
843
- log(
844
- iframeId,
845
- 'Set page position: ' + pagePosition.x + ',' + pagePosition.y
846
- );
847
- unsetPagePosition();
848
- }
849
- }
850
-
851
- function unsetPagePosition() {
852
- pagePosition = null;
853
- }
854
-
855
- function resetIFrame(messageData) {
856
- function reset() {
857
- setSize(messageData);
858
- trigger('reset', 'reset', messageData.iframe, messageData.id);
859
- }
860
-
861
- log(
862
- messageData.id,
863
- 'Size reset requested by ' +
864
- ('init' === messageData.type ? 'host page' : 'iFrame')
865
- );
866
- getPagePosition(messageData.id);
867
- syncResize(reset, messageData, 'reset');
868
- }
869
-
870
- function setSize(messageData) {
871
- function setDimension(dimension) {
872
- if (!messageData.id) {
873
- log('undefined', 'messageData id not set');
874
- return
875
- }
876
- messageData.iframe.style[dimension] = messageData[dimension] + 'px';
877
- log(
878
- messageData.id,
879
- 'IFrame (' +
880
- iframeId +
881
- ') ' +
882
- dimension +
883
- ' set to ' +
884
- messageData[dimension] +
885
- 'px'
886
- );
887
- }
888
-
889
- function chkZero(dimension) {
890
- // FireFox sets dimension of hidden iFrames to zero.
891
- // So if we detect that set up an event to check for
892
- // when iFrame becomes visible.
893
-
894
- /* istanbul ignore next */ // Not testable in PhantomJS
895
- if (!hiddenCheckEnabled && '0' === messageData[dimension]) {
896
- hiddenCheckEnabled = true;
897
- log(iframeId, 'Hidden iFrame detected, creating visibility listener');
898
- fixHiddenIFrames();
899
- }
900
- }
901
-
902
- function processDimension(dimension) {
903
- setDimension(dimension);
904
- chkZero(dimension);
905
- }
906
-
907
- var iframeId = messageData.iframe.id;
908
-
909
- if (settings[iframeId]) {
910
- if (settings[iframeId].sizeHeight) {
911
- processDimension('height');
912
- }
913
- if (settings[iframeId].sizeWidth) {
914
- processDimension('width');
915
- }
916
- }
917
- }
918
-
919
- function syncResize(func, messageData, doNotSync) {
920
- /* istanbul ignore if */ // Not testable in PhantomJS
921
- if (
922
- doNotSync !== messageData.type &&
923
- requestAnimationFrame &&
924
- // including check for jasmine because had trouble getting spy to work in unit test using requestAnimationFrame
925
- !window.jasmine
926
- ) {
927
- log(messageData.id, 'Requesting animation frame');
928
- requestAnimationFrame(func);
929
- } else {
930
- func();
931
- }
932
- }
933
-
934
- function trigger(calleeMsg, msg, iframe, id, noResponseWarning) {
935
- function postMessageToIFrame() {
936
- var target = settings[id] && settings[id].targetOrigin;
937
- log(
938
- id,
939
- '[' +
940
- calleeMsg +
941
- '] Sending msg to iframe[' +
942
- id +
943
- '] (' +
944
- msg +
945
- ') targetOrigin: ' +
946
- target
947
- );
948
- iframe.contentWindow.postMessage(msgId + msg, target);
949
- }
950
-
951
- function iFrameNotFound() {
952
- warn(id, '[' + calleeMsg + '] IFrame(' + id + ') not found');
953
- }
954
-
955
- function chkAndSend() {
956
- if (
957
- iframe &&
958
- 'contentWindow' in iframe &&
959
- null !== iframe.contentWindow
960
- ) {
961
- // Null test for PhantomJS
962
- postMessageToIFrame();
963
- } else {
964
- iFrameNotFound();
965
- }
966
- }
967
-
968
- function warnOnNoResponse() {
969
- function warning() {
970
- if (settings[id] && !settings[id].loaded && !errorShown) {
971
- errorShown = true;
972
- warn(
973
- id,
974
- 'IFrame has not responded within ' +
975
- settings[id].warningTimeout / 1000 +
976
- ' seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning.'
977
- );
978
- }
979
- }
980
-
981
- if (
982
- !!noResponseWarning &&
983
- settings[id] &&
984
- !!settings[id].warningTimeout
985
- ) {
986
- settings[id].msgTimeout = setTimeout(
987
- warning,
988
- settings[id].warningTimeout
989
- );
990
- }
991
- }
992
-
993
- var errorShown = false;
994
-
995
- id = id || iframe.id;
996
-
997
- if (settings[id]) {
998
- chkAndSend();
999
- warnOnNoResponse();
1000
- }
1001
- }
1002
-
1003
- function createOutgoingMsg(iframeId) {
1004
- return (
1005
- iframeId +
1006
- ':' +
1007
- settings[iframeId].bodyMarginV1 +
1008
- ':' +
1009
- settings[iframeId].sizeWidth +
1010
- ':' +
1011
- settings[iframeId].log +
1012
- ':' +
1013
- settings[iframeId].interval +
1014
- ':' +
1015
- settings[iframeId].enablePublicMethods +
1016
- ':' +
1017
- settings[iframeId].autoResize +
1018
- ':' +
1019
- settings[iframeId].bodyMargin +
1020
- ':' +
1021
- settings[iframeId].heightCalculationMethod +
1022
- ':' +
1023
- settings[iframeId].bodyBackground +
1024
- ':' +
1025
- settings[iframeId].bodyPadding +
1026
- ':' +
1027
- settings[iframeId].tolerance +
1028
- ':' +
1029
- settings[iframeId].inPageLinks +
1030
- ':' +
1031
- settings[iframeId].resizeFrom +
1032
- ':' +
1033
- settings[iframeId].widthCalculationMethod +
1034
- ':' +
1035
- settings[iframeId].mouseEvents
1036
- )
1037
- }
1038
-
1039
- function isNumber(value) {
1040
- return typeof value === 'number'
1041
- }
1042
-
1043
- function setupIFrame(iframe, options) {
1044
- function setLimits() {
1045
- function addStyle(style) {
1046
- var styleValue = settings[iframeId][style];
1047
- if (Infinity !== styleValue && 0 !== styleValue) {
1048
- iframe.style[style] = isNumber(styleValue)
1049
- ? styleValue + 'px'
1050
- : styleValue;
1051
- log(iframeId, 'Set ' + style + ' = ' + iframe.style[style]);
1052
- }
1053
- }
1054
-
1055
- function chkMinMax(dimension) {
1056
- if (
1057
- settings[iframeId]['min' + dimension] >
1058
- settings[iframeId]['max' + dimension]
1059
- ) {
1060
- throw new Error(
1061
- 'Value for min' +
1062
- dimension +
1063
- ' can not be greater than max' +
1064
- dimension
1065
- )
1066
- }
1067
- }
1068
-
1069
- chkMinMax('Height');
1070
- chkMinMax('Width');
1071
-
1072
- addStyle('maxHeight');
1073
- addStyle('minHeight');
1074
- addStyle('maxWidth');
1075
- addStyle('minWidth');
1076
- }
1077
-
1078
- function newId() {
1079
- var id = (options && options.id) || defaults.id + count++;
1080
- if (null !== document.getElementById(id)) {
1081
- id += count++;
1082
- }
1083
- return id
1084
- }
1085
-
1086
- function ensureHasId(iframeId) {
1087
- if (typeof iframeId !== 'string') {
1088
- throw new TypeError('Invaild id for iFrame. Expected String')
1089
- }
1090
-
1091
- if ('' === iframeId) {
1092
- // eslint-disable-next-line no-multi-assign
1093
- iframe.id = iframeId = newId();
1094
- logEnabled = (options || {}).log;
1095
- log(
1096
- iframeId,
1097
- 'Added missing iframe ID: ' + iframeId + ' (' + iframe.src + ')'
1098
- );
1099
- }
1100
-
1101
- return iframeId
1102
- }
1103
-
1104
- function setScrolling() {
1105
- log(
1106
- iframeId,
1107
- 'IFrame scrolling ' +
1108
- (settings[iframeId] && settings[iframeId].scrolling
1109
- ? 'enabled'
1110
- : 'disabled') +
1111
- ' for ' +
1112
- iframeId
1113
- );
1114
- iframe.style.overflow =
1115
- false === (settings[iframeId] && settings[iframeId].scrolling)
1116
- ? 'hidden'
1117
- : 'auto';
1118
- switch (settings[iframeId] && settings[iframeId].scrolling) {
1119
- case 'omit': {
1120
- break
1121
- }
1122
-
1123
- case true: {
1124
- iframe.scrolling = 'yes';
1125
- break
1126
- }
1127
-
1128
- case false: {
1129
- iframe.scrolling = 'no';
1130
- break
1131
- }
1132
-
1133
- default: {
1134
- iframe.scrolling = settings[iframeId]
1135
- ? settings[iframeId].scrolling
1136
- : 'no';
1137
- }
1138
- }
1139
- }
1140
-
1141
- // The V1 iFrame script expects an int, where as in V2 expects a CSS
1142
- // string value such as '1px 3em', so if we have an int for V2, set V1=V2
1143
- // and then convert V2 to a string PX value.
1144
- function setupBodyMarginValues() {
1145
- if (
1146
- 'number' ===
1147
- typeof (settings[iframeId] && settings[iframeId].bodyMargin) ||
1148
- '0' === (settings[iframeId] && settings[iframeId].bodyMargin)
1149
- ) {
1150
- settings[iframeId].bodyMarginV1 = settings[iframeId].bodyMargin;
1151
- settings[iframeId].bodyMargin =
1152
- '' + settings[iframeId].bodyMargin + 'px';
1153
- }
1154
- }
1155
-
1156
- function checkReset() {
1157
- // Reduce scope of firstRun to function, because IE8's JS execution
1158
- // context stack is borked and this value gets externally
1159
- // changed midway through running this function!!!
1160
- var firstRun = settings[iframeId] && settings[iframeId].firstRun,
1161
- resetRequertMethod =
1162
- settings[iframeId] &&
1163
- settings[iframeId].heightCalculationMethod in resetRequiredMethods;
1164
-
1165
- if (!firstRun && resetRequertMethod) {
1166
- resetIFrame({ iframe: iframe, height: 0, width: 0, type: 'init' });
1167
- }
1168
- }
1169
-
1170
- function setupIFrameObject() {
1171
- if (settings[iframeId]) {
1172
- settings[iframeId].iframe.iFrameResizer = {
1173
- close: closeIFrame.bind(null, settings[iframeId].iframe),
1174
-
1175
- removeListeners: removeIframeListeners.bind(
1176
- null,
1177
- settings[iframeId].iframe
1178
- ),
1179
-
1180
- resize: trigger.bind(
1181
- null,
1182
- 'Window resize',
1183
- 'resize',
1184
- settings[iframeId].iframe
1185
- ),
1186
-
1187
- moveToAnchor: function (anchor) {
1188
- trigger(
1189
- 'Move to anchor',
1190
- 'moveToAnchor:' + anchor,
1191
- settings[iframeId].iframe,
1192
- iframeId
1193
- );
1194
- },
1195
-
1196
- sendMessage: function (message) {
1197
- message = JSON.stringify(message);
1198
- trigger(
1199
- 'Send Message',
1200
- 'message:' + message,
1201
- settings[iframeId].iframe,
1202
- iframeId
1203
- );
1204
- }
1205
- };
1206
- }
1207
- }
1208
-
1209
- // We have to call trigger twice, as we can not be sure if all
1210
- // iframes have completed loading when this code runs. The
1211
- // event listener also catches the page changing in the iFrame.
1212
- function init(msg) {
1213
- function iFrameLoaded() {
1214
- trigger('iFrame.onload', msg, iframe, undefined$1, true);
1215
- checkReset();
1216
- }
1217
-
1218
- function createDestroyObserver(MutationObserver) {
1219
- if (!iframe.parentNode) {
1220
- return null
1221
- }
1222
-
1223
- var destroyObserver = new MutationObserver(function (mutations) {
1224
- mutations.forEach(function (mutation) {
1225
- var removedNodes = Array.prototype.slice.call(mutation.removedNodes); // Transform NodeList into an Array
1226
- removedNodes.forEach(function (removedNode) {
1227
- if (removedNode === iframe) {
1228
- closeIFrame(iframe);
1229
- }
1230
- });
1231
- });
1232
- });
1233
- destroyObserver.observe(iframe.parentNode, {
1234
- childList: true
1235
- });
1236
- return destroyObserver
1237
- }
1238
-
1239
- var MutationObserver = getMutationObserver();
1240
- if (MutationObserver) {
1241
- destroyObserver = createDestroyObserver(MutationObserver);
1242
- }
1243
-
1244
- addEventListener(iframe, 'load', iFrameLoaded);
1245
- trigger('init', msg, iframe, undefined$1, true);
1246
- }
1247
-
1248
- function checkOptions(options) {
1249
- if ('object' !== typeof options) {
1250
- throw new TypeError('Options is not an object')
1251
- }
1252
- }
1253
-
1254
- function copyOptions(options) {
1255
- // eslint-disable-next-line no-restricted-syntax
1256
- for (var option in defaults) {
1257
- if (Object.prototype.hasOwnProperty.call(defaults, option)) {
1258
- settings[iframeId][option] = Object.prototype.hasOwnProperty.call(
1259
- options,
1260
- option
1261
- )
1262
- ? options[option]
1263
- : defaults[option];
1264
- }
1265
- }
1266
- }
1267
-
1268
- function getTargetOrigin(remoteHost) {
1269
- return '' === remoteHost ||
1270
- null !== remoteHost.match(/^(about:blank|javascript:|file:\/\/)/)
1271
- ? '*'
1272
- : remoteHost
1273
- }
1274
-
1275
- function depricate(key) {
1276
- var splitName = key.split('Callback');
1277
-
1278
- if (splitName.length === 2) {
1279
- var name =
1280
- 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1);
1281
- this[name] = this[key];
1282
- delete this[key];
1283
- warn(
1284
- iframeId,
1285
- "Deprecated: '" +
1286
- key +
1287
- "' has been renamed '" +
1288
- name +
1289
- "'. The old method will be removed in the next major version."
1290
- );
1291
- }
1292
- }
1293
-
1294
- function processOptions(options) {
1295
- options = options || {};
1296
-
1297
- settings[iframeId] = Object.create(null); // Protect against prototype attacks
1298
- settings[iframeId].iframe = iframe;
1299
- settings[iframeId].firstRun = true;
1300
- settings[iframeId].remoteHost =
1301
- iframe.src && iframe.src.split('/').slice(0, 3).join('/');
1302
-
1303
- checkOptions(options);
1304
- Object.keys(options).forEach(depricate, options);
1305
- copyOptions(options);
1306
-
1307
- if (settings[iframeId]) {
1308
- settings[iframeId].targetOrigin =
1309
- true === settings[iframeId].checkOrigin
1310
- ? getTargetOrigin(settings[iframeId].remoteHost)
1311
- : '*';
1312
- }
1313
- }
1314
-
1315
- function beenHere() {
1316
- return iframeId in settings && 'iFrameResizer' in iframe
1317
- }
1318
-
1319
- var iframeId = ensureHasId(iframe.id);
1320
-
1321
- if (beenHere()) {
1322
- warn(iframeId, 'Ignored iFrame, already setup.');
1323
- } else {
1324
- processOptions(options);
1325
- setScrolling();
1326
- setLimits();
1327
- setupBodyMarginValues();
1328
- init(createOutgoingMsg(iframeId));
1329
- setupIFrameObject();
1330
- }
1331
- }
1332
-
1333
- function debouce(fn, time) {
1334
- if (null === timer) {
1335
- timer = setTimeout(function () {
1336
- timer = null;
1337
- fn();
1338
- }, time);
1339
- }
1340
- }
1341
-
1342
- var frameTimer = {};
1343
- function debounceFrameEvents(fn, time, frameId) {
1344
- if (!frameTimer[frameId]) {
1345
- frameTimer[frameId] = setTimeout(function () {
1346
- frameTimer[frameId] = null;
1347
- fn();
1348
- }, time);
1349
- }
1350
- }
1351
-
1352
- // Not testable in PhantomJS
1353
- /* istanbul ignore next */
1354
-
1355
- function fixHiddenIFrames() {
1356
- function checkIFrames() {
1357
- function checkIFrame(settingId) {
1358
- function chkDimension(dimension) {
1359
- return (
1360
- '0px' ===
1361
- (settings[settingId] && settings[settingId].iframe.style[dimension])
1362
- )
1363
- }
1364
-
1365
- function isVisible(el) {
1366
- return null !== el.offsetParent
1367
- }
1368
-
1369
- if (
1370
- settings[settingId] &&
1371
- isVisible(settings[settingId].iframe) &&
1372
- (chkDimension('height') || chkDimension('width'))
1373
- ) {
1374
- trigger(
1375
- 'Visibility change',
1376
- 'resize',
1377
- settings[settingId].iframe,
1378
- settingId
1379
- );
1380
- }
1381
- }
1382
-
1383
- Object.keys(settings).forEach(function (key) {
1384
- checkIFrame(key);
1385
- });
1386
- }
1387
-
1388
- function mutationObserved(mutations) {
1389
- log(
1390
- 'window',
1391
- 'Mutation observed: ' + mutations[0].target + ' ' + mutations[0].type
1392
- );
1393
- debouce(checkIFrames, 16);
1394
- }
1395
-
1396
- function createMutationObserver() {
1397
- var target = document.querySelector('body'),
1398
- config = {
1399
- attributes: true,
1400
- attributeOldValue: false,
1401
- characterData: true,
1402
- characterDataOldValue: false,
1403
- childList: true,
1404
- subtree: true
1405
- },
1406
- observer = new MutationObserver(mutationObserved);
1407
-
1408
- observer.observe(target, config);
1409
- }
1410
-
1411
- var MutationObserver = getMutationObserver();
1412
- if (MutationObserver) {
1413
- createMutationObserver();
1414
- }
1415
- }
1416
-
1417
- function resizeIFrames(event) {
1418
- function resize() {
1419
- sendTriggerMsg('Window ' + event, 'resize');
1420
- }
1421
-
1422
- log('window', 'Trigger event: ' + event);
1423
- debouce(resize, 16);
1424
- }
1425
-
1426
- // Not testable in PhantomJS
1427
- /* istanbul ignore next */
1428
- function tabVisible() {
1429
- function resize() {
1430
- sendTriggerMsg('Tab Visible', 'resize');
1431
- }
1432
-
1433
- if ('hidden' !== document.visibilityState) {
1434
- log('document', 'Trigger event: Visibility change');
1435
- debouce(resize, 16);
1436
- }
1437
- }
1438
-
1439
- function sendTriggerMsg(eventName, event) {
1440
- function isIFrameResizeEnabled(iframeId) {
1441
- return (
1442
- settings[iframeId] &&
1443
- 'parent' === settings[iframeId].resizeFrom &&
1444
- settings[iframeId].autoResize &&
1445
- !settings[iframeId].firstRun
1446
- )
1447
- }
1448
-
1449
- Object.keys(settings).forEach(function (iframeId) {
1450
- if (isIFrameResizeEnabled(iframeId)) {
1451
- trigger(eventName, event, settings[iframeId].iframe, iframeId);
1452
- }
1453
- });
1454
- }
1455
-
1456
- function setupEventListeners() {
1457
- addEventListener(window, 'message', iFrameListener);
1458
-
1459
- addEventListener(window, 'resize', function () {
1460
- resizeIFrames('resize');
1461
- });
1462
-
1463
- addEventListener(document, 'visibilitychange', tabVisible);
1464
-
1465
- addEventListener(document, '-webkit-visibilitychange', tabVisible);
1466
- }
1467
-
1468
- function factory() {
1469
- function init(options, element) {
1470
- function chkType() {
1471
- if (!element.tagName) {
1472
- throw new TypeError('Object is not a valid DOM element')
1473
- } else if ('IFRAME' !== element.tagName.toUpperCase()) {
1474
- throw new TypeError(
1475
- 'Expected <IFRAME> tag, found <' + element.tagName + '>'
1476
- )
1477
- }
1478
- }
1479
-
1480
- if (element) {
1481
- chkType();
1482
- setupIFrame(element, options);
1483
- iFrames.push(element);
1484
- }
1485
- }
1486
-
1487
- function warnDeprecatedOptions(options) {
1488
- if (options && options.enablePublicMethods) {
1489
- warn(
1490
- 'enablePublicMethods option has been removed, public methods are now always available in the iFrame'
1491
- );
1492
- }
1493
- }
1494
-
1495
- var iFrames;
1496
-
1497
- setupRequestAnimationFrame();
1498
- setupEventListeners();
1499
-
1500
- return function iFrameResizeF(options, target) {
1501
- iFrames = []; // Only return iFrames past in on this call
1502
-
1503
- warnDeprecatedOptions(options);
1504
-
1505
- switch (typeof target) {
1506
- case 'undefined':
1507
- case 'string': {
1508
- Array.prototype.forEach.call(
1509
- document.querySelectorAll(target || 'iframe'),
1510
- init.bind(undefined$1, options)
1511
- );
1512
- break
1513
- }
1514
-
1515
- case 'object': {
1516
- init(options, target);
1517
- break
1518
- }
1519
-
1520
- default: {
1521
- throw new TypeError('Unexpected data type (' + typeof target + ')')
1522
- }
1523
- }
1524
-
1525
- return iFrames
1526
- }
1527
- }
1528
-
1529
- function createJQueryPublicMethod($) {
1530
- if (!$.fn) {
1531
- info('', 'Unable to bind to jQuery, it is not fully loaded.');
1532
- } else if (!$.fn.iFrameResize) {
1533
- $.fn.iFrameResize = function $iFrameResizeF(options) {
1534
- function init(index, element) {
1535
- setupIFrame(element, options);
1536
- }
1537
-
1538
- return this.filter('iframe').each(init).end()
1539
- };
1540
- }
1541
- }
1542
-
1543
- if (window.jQuery !== undefined$1) {
1544
- createJQueryPublicMethod(window.jQuery);
1545
- }
1546
-
1547
- if (typeof undefined$1 === 'function' && undefined$1.amd) {
1548
- undefined$1([], factory);
1549
- } else {
1550
- // Node for browserfy
1551
- module.exports = factory();
1552
- }
1553
- window.iFrameResize = window.iFrameResize || factory();
1554
- })();
1555
- }(iframeResizer));
1556
-
1557
- const iFrameResize = iframeResizer.exports;
1558
-
1559
- const MessageEventType = {
1560
- card: {
1561
- ready: 'justifi.card.ready',
1562
- tokenize: 'justifi.card.tokenize',
1563
- validate: 'justifi.card.validate',
1564
- resize: 'justifi.card.resize',
1565
- styleOverrides: 'justifi.card.styleOverrides',
1566
- },
1567
- bankAccount: {
1568
- ready: 'justifi.bankAccount.ready',
1569
- tokenize: 'justifi.bankAccount.tokenize',
1570
- validate: 'justifi.bankAccount.validate',
1571
- resize: 'justifi.bankAccount.resize',
1572
- styleOverrides: 'justifi.bankAccount.styleOverrides',
1573
- },
1574
- };
1575
-
1576
- const getComputedTheme = () => {
1577
- const computedStyles = getComputedStyle(document.body);
1578
- const computedTheme = {
1579
- loadGoogleFont: computedStyles.getPropertyValue('--jfi-load-google-font'),
1580
- layout: {
1581
- fontFamily: computedStyles.getPropertyValue('--jfi-layout-font-family'),
1582
- padding: computedStyles.getPropertyValue('--jfi-layout-padding'),
1583
- formControlSpacingHorizontal: computedStyles.getPropertyValue('--jfi-layout-form-control-spacing-x'),
1584
- formControlSpacingVertical: computedStyles.getPropertyValue('--jfi-layout-form-control-spacing-y'),
1585
- },
1586
- formControl: {
1587
- backgroundColor: computedStyles.getPropertyValue('--jfi-form-control-background-color'),
1588
- borderColor: computedStyles.getPropertyValue('--jfi-form-control-border-color'),
1589
- borderColorFocus: computedStyles.getPropertyValue('--jfi-form-control-border-color-focus'),
1590
- borderColorError: computedStyles.getPropertyValue('--jfi-form-control-border-color-error'),
1591
- borderWidth: computedStyles.getPropertyValue('--jfi-form-control-border-width'),
1592
- borderBottomWidth: computedStyles.getPropertyValue('--jfi-form-control-border-bottom-width'),
1593
- borderLeftWidth: computedStyles.getPropertyValue('--jfi-form-control-border-left-width'),
1594
- borderRightWidth: computedStyles.getPropertyValue('--jfi-form-control-border-right-width'),
1595
- borderTopWidth: computedStyles.getPropertyValue('--jfi-form-control-border-top-width'),
1596
- borderRadius: computedStyles.getPropertyValue('--jfi-form-control-border-radius'),
1597
- borderStyle: computedStyles.getPropertyValue('--jfi-form-control-border-style'),
1598
- boxShadow: computedStyles.getPropertyValue('--jfi-form-control-box-shadow'),
1599
- boxShadowError: computedStyles.getPropertyValue('--jfi-form-control-box-shadow-error'),
1600
- boxShadowErrorFocus: computedStyles.getPropertyValue('--jfi-form-control-box-shadow-error-focus'),
1601
- boxShadowFocus: computedStyles.getPropertyValue('--jfi-form-control-box-shadow-focus'),
1602
- color: computedStyles.getPropertyValue('--jfi-form-control-color'),
1603
- colorFocus: computedStyles.getPropertyValue('--jfi-form-control-color-focus'),
1604
- fontSize: computedStyles.getPropertyValue('--jfi-form-control-font-size'),
1605
- fontWeight: computedStyles.getPropertyValue('--jfi-form-control-font-weight'),
1606
- lineHeight: computedStyles.getPropertyValue('--jfi-form-control-line-height'),
1607
- margin: computedStyles.getPropertyValue('--jfi-form-control-margin'),
1608
- padding: computedStyles.getPropertyValue('--jfi-form-control-padding'),
1609
- },
1610
- formLabel: {
1611
- color: computedStyles.getPropertyValue('--jfi-form-label-color'),
1612
- fontFamily: computedStyles.getPropertyValue('--jfi-form-label-font-family'),
1613
- fontSize: computedStyles.getPropertyValue('--jfi-form-label-font-size'),
1614
- fontWeight: computedStyles.getPropertyValue('--jfi-form-label-font-weight'),
1615
- margin: computedStyles.getPropertyValue('--jfi-form-label-margin'),
1616
- },
1617
- errorMessage: {
1618
- color: computedStyles.getPropertyValue('--jfi-error-message-color'),
1619
- margin: computedStyles.getPropertyValue('--jfi-error-message-margin'),
1620
- fontSize: computedStyles.getPropertyValue('--jfi-error-message-font-size'),
1621
- },
1622
- };
1623
- return computedTheme;
1624
- };
1625
-
1626
- /**
1627
- * This approach decouples the communication logic from PaymentMethodForm component,
1628
- * making it cleaner, more maintainable, and easier to test
1629
- */
1630
- class FrameCommunicationService {
1631
- constructor(iframe, iframeOrigin) {
1632
- this.iframe = iframe;
1633
- this.iframeOrigin = iframeOrigin;
1634
- }
1635
- postMessage(eventType, payload) {
1636
- const message = Object.assign({ eventType }, payload);
1637
- this.iframe.contentWindow.postMessage(message, this.iframeOrigin);
1638
- }
1639
- addMessageListener(callback) {
1640
- window.addEventListener('message', callback);
1641
- }
1642
- removeMessageListener(callback) {
1643
- window.removeEventListener('message', callback);
1644
- }
1645
- postMessageWithResponseListener(eventType, payload) {
1646
- return new Promise((resolve) => {
1647
- const responseListener = (event) => {
1648
- if (event.data.eventType !== eventType)
1649
- return;
1650
- window.removeEventListener('message', responseListener);
1651
- resolve(event.data.data);
1652
- };
1653
- window.addEventListener('message', responseListener);
1654
- this.postMessage(eventType, payload);
1655
- });
1656
- }
1657
- }
1658
-
1659
- const paymentMethodFormCss = ":host{display:block}justifi-payment-method-form iframe{border:none;width:100%}iframe{width:1px;min-width:100%}";
1660
- const JustifiPaymentMethodFormStyle0 = paymentMethodFormCss;
1661
-
1662
- const PaymentMethodForm = class {
64
+ const SaveNewPaymentMethod = class {
1663
65
  constructor(hostRef) {
1664
66
  index.registerInstance(this, hostRef);
1665
- this.paymentMethodFormReady = index.createEvent(this, "paymentMethodFormReady", 7);
1666
- this.paymentMethodFormValidated = index.createEvent(this, "paymentMethodFormValidated", 7);
1667
- this.paymentMethodFormTokenized = index.createEvent(this, "paymentMethodFormTokenized", 7);
1668
- this.computedTheme = getComputedTheme();
1669
- this.dispatchMessageEvent = (messageEvent) => {
1670
- const { eventType, data } = messageEvent.data;
1671
- const eventTypeMessage = MessageEventType[this.paymentMethodFormType];
1672
- if (eventType === eventTypeMessage.ready) {
1673
- this.paymentMethodFormReady.emit(data);
1674
- }
1675
- else if (eventType === eventTypeMessage.tokenize) {
1676
- this.paymentMethodFormTokenized.emit(data);
1677
- }
1678
- else if (eventType === eventTypeMessage.validate) {
1679
- this.paymentMethodFormValidated.emit(data);
1680
- }
1681
- };
1682
- this.postMessage = (eventType, payload) => {
1683
- this.frameService.postMessage(eventType, payload);
1684
- };
1685
- this.paymentMethodFormType = undefined;
1686
- this.paymentMethodFormValidationMode = undefined;
1687
- this.iframeOrigin = undefined;
1688
- this.singleLine = undefined;
1689
- }
1690
- disconnectedCallback() {
1691
- this.frameService.removeMessageListener(this.dispatchMessageEvent);
1692
- }
1693
- async resize() {
1694
- this.postMessage(MessageEventType[this.paymentMethodFormType].resize);
1695
- }
1696
- async tokenize(clientId, paymentMethodMetadata, account) {
1697
- const eventType = MessageEventType[this.paymentMethodFormType].tokenize;
1698
- return this.frameService.postMessageWithResponseListener(eventType, {
1699
- clientId,
1700
- paymentMethodMetadata,
1701
- account,
1702
- componentVersion: _package.packageJson.version,
1703
- });
1704
- }
1705
- async validate() {
1706
- const eventType = MessageEventType[this.paymentMethodFormType].validate;
1707
- return this.frameService.postMessageWithResponseListener(eventType);
1708
- }
1709
- sendStyleOverrides() {
1710
- if (this.computedTheme) {
1711
- this.postMessage(MessageEventType[this.paymentMethodFormType].styleOverrides, { styleOverrides: this.computedTheme });
1712
- }
1713
- }
1714
- getIframeSrc() {
1715
- let paramsList = [];
1716
- if (this.paymentMethodFormValidationMode) {
1717
- paramsList.push(`validationMode=${this.paymentMethodFormValidationMode}`);
1718
- }
1719
- if (this.singleLine) {
1720
- paramsList.push(`singleLine=${this.singleLine}`);
1721
- }
1722
- let iframeSrc = `${this.iframeOrigin}/${this.paymentMethodFormType}${utils$1.composeQueryParams(paramsList)}`;
1723
- return iframeSrc;
67
+ this.checkboxChanged = index.createEvent(this, "checkboxChanged", 7);
68
+ this.isChecked = false;
1724
69
  }
1725
- initializeFrameCommunicationService() {
1726
- var _a;
1727
- this.frameService = new FrameCommunicationService(this.iframeElement, this.iframeOrigin);
1728
- (_a = this.frameService) === null || _a === void 0 ? void 0 : _a.addMessageListener(this.dispatchMessageEvent);
70
+ handleCheckboxChange(event) {
71
+ const target = event.target;
72
+ this.isChecked = target.checked;
73
+ this.checkboxChanged.emit(this.isChecked);
1729
74
  }
1730
75
  render() {
1731
- return (index.h(index.Host, { key: '91a69ce3f918c98248d6bb5df6dc5ec0dffe3c26' }, index.h("iframe", { key: '99c06be5a78a3849e687f7f95f8fe3382cc2c4cd', id: `justifi-payment-method-form-${this.paymentMethodFormType}`, src: this.getIframeSrc(), ref: el => {
1732
- this.iframeElement = el;
1733
- this.initializeFrameCommunicationService();
1734
- }, onLoad: () => {
1735
- iFrameResize({
1736
- scrollbars: false,
1737
- }, this.iframeElement);
1738
- this.sendStyleOverrides();
1739
- } })));
76
+ return (index.h("div", { key: '9492361a8c6d1b0cc29638811ddf41fb2e0e4a8c', class: "mt-4 form-check" }, index.h("input", { key: 'ef0b68d5daf26ec3c273839d79a66c03a6ae2af7', type: "checkbox", checked: this.isChecked, onChange: (event) => this.handleCheckboxChange(event), class: "form-check-input" }), index.h("label", { key: '4dbd3b1501c8de8feedf738d73eb6e3e7fa2ad3a', class: "form-check-label" }, "Save new payment method")));
1740
77
  }
1741
78
  };
1742
- PaymentMethodForm.style = JustifiPaymentMethodFormStyle0;
1743
79
 
1744
80
  exports.justifi_billing_form = BillingForm;
1745
- exports.justifi_payment_method_form = PaymentMethodForm;
81
+ exports.justifi_save_new_payment_method = SaveNewPaymentMethod;