@swisspost/internet-header 1.7.1 → 1.7.3-beta.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 (315) hide show
  1. package/dist/cjs/{index-92e9d4f8.js → index-0f01e1a4.js} +4 -3
  2. package/dist/cjs/index-0f01e1a4.js.map +1 -0
  3. package/dist/cjs/{klp-widget.controller-5d5afa10.js → klp-widget.controller-413d85e1.js} +785 -1049
  4. package/dist/cjs/klp-widget.controller-413d85e1.js.map +1 -0
  5. package/dist/cjs/{language.service-56d68ec3.js → language.service-4954855f.js} +17 -2
  6. package/dist/cjs/language.service-4954855f.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/loader.cjs.js.map +1 -1
  9. package/dist/cjs/post-klp-login-widget.cjs.entry.js +5 -5
  10. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
  11. package/dist/cjs/post-language-switch.cjs.entry.js +9 -10
  12. package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
  13. package/dist/cjs/post-logo.cjs.entry.js +3 -3
  14. package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
  15. package/dist/cjs/post-main-navigation.cjs.entry.js +31 -32
  16. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  17. package/dist/cjs/post-meta-navigation.cjs.entry.js +6 -6
  18. package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
  19. package/dist/cjs/post-search.cjs.entry.js +63 -38
  20. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  21. package/dist/cjs/post-skiplinks.cjs.entry.js +6 -6
  22. package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
  23. package/dist/cjs/{store-638313d5.js → store-9d562808.js} +2 -2
  24. package/dist/cjs/{store-638313d5.js.map → store-9d562808.js.map} +1 -1
  25. package/dist/cjs/{svg-icon.component-f07628a9.js → svg-icon.component-f4cd45b0.js} +2 -2
  26. package/dist/cjs/{svg-icon.component-f07628a9.js.map → svg-icon.component-f4cd45b0.js.map} +1 -1
  27. package/dist/cjs/{svg-sprite.component-dc8e2e95.js → svg-sprite.component-e4b163ae.js} +2 -2
  28. package/dist/cjs/{svg-sprite.component-dc8e2e95.js.map → svg-sprite.component-e4b163ae.js.map} +1 -1
  29. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +9 -9
  30. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  31. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +4 -4
  32. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
  33. package/dist/cjs/swisspost-internet-header.cjs.entry.js +32 -24
  34. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  35. package/dist/cjs/swisspost-internet-header.cjs.js +2 -2
  36. package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
  37. package/dist/collection/assets/i18n/translations.js +15 -0
  38. package/dist/collection/assets/i18n/translations.js.map +1 -1
  39. package/dist/collection/assets/js/klp-login-widget.js +1 -2
  40. package/dist/collection/collection-manifest.json +2 -2
  41. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +1 -1
  42. package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +1 -1
  43. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +113 -58
  44. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +1 -1
  45. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  46. package/dist/collection/components/post-internet-footer/post-internet-footer.css +78 -44
  47. package/dist/collection/components/post-internet-header/post-internet-header.css +68 -44
  48. package/dist/collection/components/post-internet-header/post-internet-header.js +2 -1
  49. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  50. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +68 -46
  51. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +2 -2
  52. package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -1
  53. package/dist/collection/components/post-language-switch/post-language-switch.css +79 -53
  54. package/dist/collection/components/post-logo/post-logo.css +68 -44
  55. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +2 -1
  56. package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +1 -1
  57. package/dist/collection/components/post-main-navigation/post-main-navigation.css +73 -48
  58. package/dist/collection/components/post-main-navigation/post-main-navigation.js +25 -27
  59. package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
  60. package/dist/collection/components/post-meta-navigation/post-meta-navigation.css +72 -48
  61. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +3 -3
  62. package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -1
  63. package/dist/collection/components/post-search/post-search.css +162 -90
  64. package/dist/collection/components/post-search/post-search.js +2 -2
  65. package/dist/collection/components/post-search/post-search.js.map +1 -1
  66. package/dist/collection/components/post-skiplinks/post-skiplinks.css +1 -0
  67. package/dist/collection/components/post-skiplinks/post-skiplinks.js +1 -1
  68. package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
  69. package/dist/collection/services/config.service.spec.js +274 -0
  70. package/dist/collection/services/config.service.spec.js.map +1 -0
  71. package/dist/collection/services/route.service.js +11 -3
  72. package/dist/collection/services/route.service.js.map +1 -1
  73. package/dist/collection/services/route.service.spec.js +109 -0
  74. package/dist/collection/services/route.service.spec.js.map +1 -0
  75. package/dist/collection/services/search/coveo.service.js +18 -10
  76. package/dist/collection/services/search/coveo.service.js.map +1 -1
  77. package/dist/collection/services/search/parcel.service.js +18 -8
  78. package/dist/collection/services/search/parcel.service.js.map +1 -1
  79. package/dist/collection/services/search/places.service.js +20 -13
  80. package/dist/collection/services/search/places.service.js.map +1 -1
  81. package/dist/collection/services/search/search.service.spec.js +49 -0
  82. package/dist/collection/services/search/search.service.spec.js.map +1 -0
  83. package/dist/collection/utils/utils.spec.js +11 -0
  84. package/dist/collection/utils/utils.spec.js.map +1 -0
  85. package/dist/components/klp-widget.controller.js +784 -1048
  86. package/dist/components/klp-widget.controller.js.map +1 -1
  87. package/dist/components/language.service.js +15 -0
  88. package/dist/components/language.service.js.map +1 -1
  89. package/dist/components/post-klp-login-widget2.js +1 -1
  90. package/dist/components/post-klp-login-widget2.js.map +1 -1
  91. package/dist/components/post-language-switch2.js +4 -5
  92. package/dist/components/post-language-switch2.js.map +1 -1
  93. package/dist/components/post-logo2.js +1 -1
  94. package/dist/components/post-logo2.js.map +1 -1
  95. package/dist/components/post-main-navigation2.js +27 -28
  96. package/dist/components/post-main-navigation2.js.map +1 -1
  97. package/dist/components/post-meta-navigation2.js +4 -4
  98. package/dist/components/post-meta-navigation2.js.map +1 -1
  99. package/dist/components/post-search2.js +59 -34
  100. package/dist/components/post-search2.js.map +1 -1
  101. package/dist/components/post-skiplinks2.js +2 -2
  102. package/dist/components/post-skiplinks2.js.map +1 -1
  103. package/dist/components/store.js.map +1 -1
  104. package/dist/components/swisspost-internet-breadcrumbs.js +4 -4
  105. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  106. package/dist/components/swisspost-internet-footer.js +1 -1
  107. package/dist/components/swisspost-internet-footer.js.map +1 -1
  108. package/dist/components/swisspost-internet-header.js +28 -20
  109. package/dist/components/swisspost-internet-header.js.map +1 -1
  110. package/dist/esm/{index-35186c69.js → index-2aa4bc9f.js} +4 -3
  111. package/dist/esm/index-2aa4bc9f.js.map +1 -0
  112. package/dist/esm/{klp-widget.controller-9f7e3c54.js → klp-widget.controller-1b2db6e7.js} +785 -1049
  113. package/dist/esm/klp-widget.controller-1b2db6e7.js.map +1 -0
  114. package/dist/esm/{language.service-74bc1f43.js → language.service-c0f81273.js} +17 -2
  115. package/dist/esm/language.service-c0f81273.js.map +1 -0
  116. package/dist/esm/loader.js +3 -3
  117. package/dist/esm/loader.js.map +1 -1
  118. package/dist/esm/polyfills/core-js.js +0 -0
  119. package/dist/esm/polyfills/dom.js +0 -0
  120. package/dist/esm/polyfills/es5-html-element.js +0 -0
  121. package/dist/esm/polyfills/index.js +0 -0
  122. package/dist/esm/polyfills/system.js +0 -0
  123. package/dist/esm/post-klp-login-widget.entry.js +5 -5
  124. package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
  125. package/dist/esm/post-language-switch.entry.js +9 -10
  126. package/dist/esm/post-language-switch.entry.js.map +1 -1
  127. package/dist/esm/post-logo.entry.js +3 -3
  128. package/dist/esm/post-logo.entry.js.map +1 -1
  129. package/dist/esm/post-main-navigation.entry.js +31 -32
  130. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  131. package/dist/esm/post-meta-navigation.entry.js +6 -6
  132. package/dist/esm/post-meta-navigation.entry.js.map +1 -1
  133. package/dist/esm/post-search.entry.js +63 -38
  134. package/dist/esm/post-search.entry.js.map +1 -1
  135. package/dist/esm/post-skiplinks.entry.js +6 -6
  136. package/dist/esm/post-skiplinks.entry.js.map +1 -1
  137. package/dist/esm/{store-b78e2d3b.js → store-d5165a8f.js} +2 -2
  138. package/dist/esm/{store-b78e2d3b.js.map → store-d5165a8f.js.map} +1 -1
  139. package/dist/esm/{svg-icon.component-7bac7397.js → svg-icon.component-02f233c7.js} +2 -2
  140. package/dist/esm/{svg-icon.component-7bac7397.js.map → svg-icon.component-02f233c7.js.map} +1 -1
  141. package/dist/esm/{svg-sprite.component-f319da57.js → svg-sprite.component-1f13a769.js} +2 -2
  142. package/dist/esm/{svg-sprite.component-f319da57.js.map → svg-sprite.component-1f13a769.js.map} +1 -1
  143. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +9 -9
  144. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  145. package/dist/esm/swisspost-internet-footer.entry.js +4 -4
  146. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
  147. package/dist/esm/swisspost-internet-header.entry.js +32 -24
  148. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  149. package/dist/esm/swisspost-internet-header.js +3 -3
  150. package/dist/esm/swisspost-internet-header.js.map +1 -1
  151. package/dist/esm-es5/{index-35186c69.js → index-2aa4bc9f.js} +2 -2
  152. package/dist/esm-es5/index-2aa4bc9f.js.map +1 -0
  153. package/dist/esm-es5/klp-widget.controller-1b2db6e7.js +13 -0
  154. package/dist/esm-es5/klp-widget.controller-1b2db6e7.js.map +1 -0
  155. package/dist/esm-es5/language.service-c0f81273.js +2 -0
  156. package/dist/esm-es5/language.service-c0f81273.js.map +1 -0
  157. package/dist/esm-es5/loader.js +1 -1
  158. package/dist/esm-es5/loader.js.map +1 -1
  159. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  160. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
  161. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  162. package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
  163. package/dist/esm-es5/post-logo.entry.js +1 -1
  164. package/dist/esm-es5/post-logo.entry.js.map +1 -1
  165. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  166. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  167. package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
  168. package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
  169. package/dist/esm-es5/post-search.entry.js +1 -1
  170. package/dist/esm-es5/post-search.entry.js.map +1 -1
  171. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  172. package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
  173. package/dist/esm-es5/{store-b78e2d3b.js → store-d5165a8f.js} +2 -2
  174. package/dist/esm-es5/{store-b78e2d3b.js.map → store-d5165a8f.js.map} +1 -1
  175. package/dist/esm-es5/svg-icon.component-02f233c7.js +2 -0
  176. package/dist/esm-es5/{svg-sprite.component-f319da57.js → svg-sprite.component-1f13a769.js} +2 -2
  177. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +3 -3
  178. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  179. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  180. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
  181. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  182. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  183. package/dist/esm-es5/swisspost-internet-header.js +1 -1
  184. package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
  185. package/dist/swisspost-internet-header/p-04cf4eeb.system.entry.js +2 -0
  186. package/dist/swisspost-internet-header/{p-055f51f2.system.entry.js.map → p-04cf4eeb.system.entry.js.map} +1 -1
  187. package/dist/swisspost-internet-header/p-0af4e3e8.entry.js +2 -0
  188. package/dist/swisspost-internet-header/{p-6a22a9c3.entry.js.map → p-0af4e3e8.entry.js.map} +1 -1
  189. package/dist/swisspost-internet-header/p-18a3b952.system.entry.js +2 -0
  190. package/dist/swisspost-internet-header/p-18a3b952.system.entry.js.map +1 -0
  191. package/dist/swisspost-internet-header/p-1a2a0045.system.entry.js +2 -0
  192. package/dist/swisspost-internet-header/p-1a2a0045.system.entry.js.map +1 -0
  193. package/dist/swisspost-internet-header/p-25872a84.system.entry.js +2 -0
  194. package/dist/swisspost-internet-header/{p-02bb40cf.system.entry.js.map → p-25872a84.system.entry.js.map} +1 -1
  195. package/dist/swisspost-internet-header/p-2824a296.entry.js +7 -0
  196. package/dist/swisspost-internet-header/{p-3f72b002.entry.js.map → p-2824a296.entry.js.map} +1 -1
  197. package/dist/swisspost-internet-header/p-30592816.system.js +13 -0
  198. package/dist/swisspost-internet-header/p-30592816.system.js.map +1 -0
  199. package/dist/swisspost-internet-header/p-34205e78.entry.js +2 -0
  200. package/dist/swisspost-internet-header/p-34205e78.entry.js.map +1 -0
  201. package/dist/swisspost-internet-header/p-47b1ef62.entry.js +2 -0
  202. package/dist/swisspost-internet-header/{p-5e5d587a.entry.js.map → p-47b1ef62.entry.js.map} +1 -1
  203. package/dist/swisspost-internet-header/p-5ecd4ac6.entry.js +2 -0
  204. package/dist/swisspost-internet-header/p-5ecd4ac6.entry.js.map +1 -0
  205. package/dist/swisspost-internet-header/p-6492c505.js +13 -0
  206. package/dist/swisspost-internet-header/p-6492c505.js.map +1 -0
  207. package/dist/swisspost-internet-header/{p-3819c4ce.system.js → p-65e18d30.system.js} +2 -2
  208. package/dist/swisspost-internet-header/{p-3819c4ce.system.js.map → p-65e18d30.system.js.map} +1 -1
  209. package/dist/swisspost-internet-header/{p-4d015bfc.system.js → p-70805f8f.system.js} +2 -2
  210. package/dist/swisspost-internet-header/{p-91035a2a.system.js → p-77394e93.system.js} +2 -2
  211. package/dist/swisspost-internet-header/p-7d4ecdb6.entry.js +2 -0
  212. package/dist/swisspost-internet-header/p-7d4ecdb6.entry.js.map +1 -0
  213. package/dist/swisspost-internet-header/p-809e69c8.entry.js +2 -0
  214. package/dist/swisspost-internet-header/{p-b9bcb22a.entry.js.map → p-809e69c8.entry.js.map} +1 -1
  215. package/dist/swisspost-internet-header/p-94d45cc5.system.entry.js +2 -0
  216. package/dist/swisspost-internet-header/{p-996a552e.system.entry.js.map → p-94d45cc5.system.entry.js.map} +1 -1
  217. package/dist/swisspost-internet-header/p-97793474.entry.js +2 -0
  218. package/dist/swisspost-internet-header/p-97793474.entry.js.map +1 -0
  219. package/dist/swisspost-internet-header/p-99eafc12.js +2 -0
  220. package/dist/swisspost-internet-header/p-99eafc12.js.map +1 -0
  221. package/dist/swisspost-internet-header/{p-e2db30e1.js → p-9a8f9281.js} +2 -2
  222. package/dist/swisspost-internet-header/{p-22e64bf2.js → p-b7feee8d.js} +2 -2
  223. package/dist/swisspost-internet-header/{p-22e64bf2.js.map → p-b7feee8d.js.map} +1 -1
  224. package/dist/swisspost-internet-header/p-bad10ea9.system.entry.js +7 -0
  225. package/dist/swisspost-internet-header/{p-8f34abed.system.entry.js.map → p-bad10ea9.system.entry.js.map} +1 -1
  226. package/dist/swisspost-internet-header/p-bf3dac2f.system.entry.js +2 -0
  227. package/dist/swisspost-internet-header/p-bf3dac2f.system.entry.js.map +1 -0
  228. package/dist/swisspost-internet-header/p-c72e824c.entry.js +2 -0
  229. package/dist/swisspost-internet-header/p-c72e824c.entry.js.map +1 -0
  230. package/dist/swisspost-internet-header/p-c96ad7d6.entry.js +2 -0
  231. package/dist/swisspost-internet-header/p-c96ad7d6.entry.js.map +1 -0
  232. package/dist/swisspost-internet-header/p-c9cf2e49.system.entry.js +2 -0
  233. package/dist/swisspost-internet-header/p-c9cf2e49.system.entry.js.map +1 -0
  234. package/dist/swisspost-internet-header/p-ce02164e.system.js +2 -0
  235. package/dist/swisspost-internet-header/p-ce02164e.system.js.map +1 -0
  236. package/dist/swisspost-internet-header/{p-2945db6c.js → p-d8b954a1.js} +3 -3
  237. package/dist/swisspost-internet-header/p-d8b954a1.js.map +1 -0
  238. package/dist/swisspost-internet-header/p-e415699e.system.entry.js +2 -0
  239. package/dist/swisspost-internet-header/p-e415699e.system.entry.js.map +1 -0
  240. package/dist/swisspost-internet-header/p-e75bba89.js +2 -0
  241. package/dist/swisspost-internet-header/p-eef407b0.system.entry.js +2 -0
  242. package/dist/swisspost-internet-header/p-eef407b0.system.entry.js.map +1 -0
  243. package/dist/swisspost-internet-header/{p-5e9ba287.system.js → p-f5935384.system.js} +2 -2
  244. package/dist/swisspost-internet-header/p-f5935384.system.js.map +1 -0
  245. package/dist/swisspost-internet-header/{p-49fe20ff.system.js → p-f70ab166.system.js} +2 -2
  246. package/dist/swisspost-internet-header/{p-49fe20ff.system.js.map → p-f70ab166.system.js.map} +1 -1
  247. package/dist/swisspost-internet-header/swisspost-internet-header.css +1 -1
  248. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  249. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
  250. package/dist/swisspost-internet-header/swisspost-internet-header.js +1 -1
  251. package/dist/types/assets/i18n/translations.d.ts +15 -0
  252. package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +2 -8
  253. package/dist/types/services/language.service.d.ts +19 -1
  254. package/package.json +29 -29
  255. package/dist/cjs/index-92e9d4f8.js.map +0 -1
  256. package/dist/cjs/klp-widget.controller-5d5afa10.js.map +0 -1
  257. package/dist/cjs/language.service-56d68ec3.js.map +0 -1
  258. package/dist/esm/index-35186c69.js.map +0 -1
  259. package/dist/esm/klp-widget.controller-9f7e3c54.js.map +0 -1
  260. package/dist/esm/language.service-74bc1f43.js.map +0 -1
  261. package/dist/esm-es5/index-35186c69.js.map +0 -1
  262. package/dist/esm-es5/klp-widget.controller-9f7e3c54.js +0 -27
  263. package/dist/esm-es5/klp-widget.controller-9f7e3c54.js.map +0 -1
  264. package/dist/esm-es5/language.service-74bc1f43.js +0 -2
  265. package/dist/esm-es5/language.service-74bc1f43.js.map +0 -1
  266. package/dist/esm-es5/svg-icon.component-7bac7397.js +0 -2
  267. package/dist/swisspost-internet-header/p-02bb40cf.system.entry.js +0 -2
  268. package/dist/swisspost-internet-header/p-055f51f2.system.entry.js +0 -2
  269. package/dist/swisspost-internet-header/p-21ef11a4.entry.js +0 -2
  270. package/dist/swisspost-internet-header/p-21ef11a4.entry.js.map +0 -1
  271. package/dist/swisspost-internet-header/p-2945db6c.js.map +0 -1
  272. package/dist/swisspost-internet-header/p-2fd2c574.system.entry.js +0 -2
  273. package/dist/swisspost-internet-header/p-2fd2c574.system.entry.js.map +0 -1
  274. package/dist/swisspost-internet-header/p-30335ce0.system.entry.js +0 -2
  275. package/dist/swisspost-internet-header/p-30335ce0.system.entry.js.map +0 -1
  276. package/dist/swisspost-internet-header/p-32fe68f0.js +0 -2
  277. package/dist/swisspost-internet-header/p-3f72b002.entry.js +0 -7
  278. package/dist/swisspost-internet-header/p-5e5d587a.entry.js +0 -2
  279. package/dist/swisspost-internet-header/p-5e9ba287.system.js.map +0 -1
  280. package/dist/swisspost-internet-header/p-6032d37e.entry.js +0 -2
  281. package/dist/swisspost-internet-header/p-6032d37e.entry.js.map +0 -1
  282. package/dist/swisspost-internet-header/p-6a22a9c3.entry.js +0 -2
  283. package/dist/swisspost-internet-header/p-6df0c486.entry.js +0 -2
  284. package/dist/swisspost-internet-header/p-6df0c486.entry.js.map +0 -1
  285. package/dist/swisspost-internet-header/p-73b6ce0d.system.entry.js +0 -2
  286. package/dist/swisspost-internet-header/p-73b6ce0d.system.entry.js.map +0 -1
  287. package/dist/swisspost-internet-header/p-8bd39c64.js +0 -2
  288. package/dist/swisspost-internet-header/p-8bd39c64.js.map +0 -1
  289. package/dist/swisspost-internet-header/p-8f34abed.system.entry.js +0 -7
  290. package/dist/swisspost-internet-header/p-996a552e.system.entry.js +0 -2
  291. package/dist/swisspost-internet-header/p-9efee6d6.system.entry.js +0 -2
  292. package/dist/swisspost-internet-header/p-9efee6d6.system.entry.js.map +0 -1
  293. package/dist/swisspost-internet-header/p-ad7071ea.system.js +0 -27
  294. package/dist/swisspost-internet-header/p-ad7071ea.system.js.map +0 -1
  295. package/dist/swisspost-internet-header/p-b9bcb22a.entry.js +0 -2
  296. package/dist/swisspost-internet-header/p-c24585eb.entry.js +0 -2
  297. package/dist/swisspost-internet-header/p-c24585eb.entry.js.map +0 -1
  298. package/dist/swisspost-internet-header/p-c435e138.entry.js +0 -2
  299. package/dist/swisspost-internet-header/p-c435e138.entry.js.map +0 -1
  300. package/dist/swisspost-internet-header/p-cce32859.entry.js +0 -2
  301. package/dist/swisspost-internet-header/p-cce32859.entry.js.map +0 -1
  302. package/dist/swisspost-internet-header/p-f0396178.system.entry.js +0 -2
  303. package/dist/swisspost-internet-header/p-f0396178.system.entry.js.map +0 -1
  304. package/dist/swisspost-internet-header/p-f4f5ca86.system.js +0 -2
  305. package/dist/swisspost-internet-header/p-f4f5ca86.system.js.map +0 -1
  306. package/dist/swisspost-internet-header/p-f62f50ce.system.entry.js +0 -2
  307. package/dist/swisspost-internet-header/p-f62f50ce.system.entry.js.map +0 -1
  308. package/dist/swisspost-internet-header/p-fefa1082.js +0 -27
  309. package/dist/swisspost-internet-header/p-fefa1082.js.map +0 -1
  310. /package/dist/esm-es5/{svg-icon.component-7bac7397.js.map → svg-icon.component-02f233c7.js.map} +0 -0
  311. /package/dist/esm-es5/{svg-sprite.component-f319da57.js.map → svg-sprite.component-1f13a769.js.map} +0 -0
  312. /package/dist/swisspost-internet-header/{p-4d015bfc.system.js.map → p-70805f8f.system.js.map} +0 -0
  313. /package/dist/swisspost-internet-header/{p-91035a2a.system.js.map → p-77394e93.system.js.map} +0 -0
  314. /package/dist/swisspost-internet-header/{p-e2db30e1.js.map → p-9a8f9281.js.map} +0 -0
  315. /package/dist/swisspost-internet-header/{p-32fe68f0.js.map → p-e75bba89.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["translations","de","fr","it","getUserLang","exports","supportedLanguages","implementorPreferredLanguage","localStorageKey","cookieKey","length","undefined","url","URL","window","location","href","languagesSet","searchParams","get","pathname","split","find","segment","includes","localStorage","getItem","getCookie","document","documentElement","lang","getPreferredLanguageFromBrowser","state","currentLanguage","filter","language","Error","concat","persistLanguageChoice","setItem","setCookie","name","_a","cookie","match","pop","key","value","encodeURIComponent","navigator","extractLanguage","indexOf","languages","_i","_d","l","substring","toLowerCase","translate","translationObject","_b","_c"],"sources":["src/assets/i18n/translations.ts","src/services/language.service.ts"],"sourcesContent":["export const translations = {\n 'Close overlay': {\n de: 'Overlay Schliessen',\n fr: 'Fermer la superposition',\n it: 'Chiudi sovrapposizione',\n },\n 'Current language is English': {\n de: 'Die aktuelle Sprache ist Deutsch',\n fr: 'La langue actuelle est le français',\n it: \"La lingua corrente è l'italiano\",\n },\n 'Change language': {\n de: 'Sprache wechseln',\n fr: 'Changer de langue',\n it: 'Cambia lingua',\n },\n 'Go to main content': {\n de: 'Zum Hauptinhalt springen',\n fr: 'Aller au contenu principal',\n it: 'Vai al contenuto principale',\n },\n 'Go to search': {\n de: 'Zur Suche springen',\n fr: 'Aller à la recherche',\n it: 'Vai alla ricerca',\n },\n 'Go to login': {\n de: 'Zum Login springen',\n fr: 'Aller au login',\n it: 'Vai al login',\n },\n 'Open menu': {\n de: 'Menü öffnen',\n fr: 'Ouvrir le menu',\n it: 'Apri il menu',\n },\n 'Navigate on post.ch': {\n de: 'Navigieren auf post.ch',\n fr: 'Naviguer sur post.ch',\n it: 'Navigate su post.ch',\n },\n};\n","import { translations } from '../assets/i18n/translations';\nimport { state } from '../data/store';\n\nexport const getUserLang = (\n supportedLanguages: string[],\n implementorPreferredLanguage?: string,\n localStorageKey?: string,\n cookieKey?: string,\n) => {\n // If there are no supported languages, well...\n if (supportedLanguages.length === 0) {\n return undefined;\n }\n\n // If there is only one language in the config, use this\n if (supportedLanguages.length === 1) {\n return supportedLanguages[0];\n }\n\n const url = new URL(window.location.href);\n\n /**\n * Build array of possible language definitions in order of importance.\n * At the end is a filter function that will weed out any undefined or null entries.\n */\n let languagesSet: Array<string> = [\n // Check if implementor overrides lang config\n implementorPreferredLanguage,\n\n // Check query string param\n url.searchParams.get('lang'),\n\n // Check url pathname\n url.pathname.split('/').find(segment => supportedLanguages.includes(segment)),\n\n // Check local storage with the key provided\n localStorageKey !== undefined ? window.localStorage.getItem(localStorageKey) : null,\n\n // Check cookies\n getCookie('language'),\n getCookie('lang'),\n cookieKey !== undefined ? getCookie(cookieKey) : null,\n\n // Check document language\n document.documentElement.lang,\n\n // Check browser preferred language\n getPreferredLanguageFromBrowser(supportedLanguages),\n\n // Check the state\n state.currentLanguage,\n ].filter((lang): lang is string => !!lang);\n\n // Check the set of languages to see if it matches\n // any of the supported languages. Return the first\n // supported language if there is none set\n const lang =\n languagesSet.find(language => supportedLanguages.includes(language)) || supportedLanguages[0];\n\n if (!lang || lang.length !== 2) {\n throw new Error(\n `Current language could not be determined from settings or the language provided (${lang}) is not supported by the Header API.`,\n );\n }\n\n return lang;\n};\n\n/**\n * Persist chosen language to local storage\n * @param lang Currently chose language, two char string\n */\nexport const persistLanguageChoice = (\n lang: string,\n cookieKey?: string,\n localStorageKey?: string,\n) => {\n if (localStorageKey !== undefined) {\n window.localStorage.setItem(localStorageKey, lang);\n }\n\n if (cookieKey !== undefined) {\n setCookie(cookieKey, lang);\n }\n\n state.currentLanguage = lang;\n};\n\n/**\n * Read a cookie by name\n * https://stackoverflow.com/questions/5639346/what-is-the-shortest-function-for-reading-a-cookie-by-name-in-javascript?rq=1\n * @param name Cookie name\n * @returns Cookie value or an empty string\n */\nexport const getCookie = (name: string) => {\n return document.cookie.match('(^|;)\\\\s*' + name + '\\\\s*=\\\\s*([^;]+)')?.pop() || '';\n};\n\n/**\n * Write a new cookie\n * https://developer.mozilla.org/en-US/docs/Web/API/document/cookie#A_little_framework.3A_a_complete_cookies_reader.2Fwriter_with_full_unicode_support\n * @param key\n * @param value\n */\nexport const setCookie = (key: string, value: string) => {\n document.cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n};\n\nconst getPreferredLanguageFromBrowser = (supportedLanguages: string[]): string | null => {\n // IE & Chrome\n if (navigator.language) {\n const lang = extractLanguage(navigator.language);\n if (supportedLanguages.indexOf(lang) !== -1) {\n return lang;\n }\n }\n\n // Chrome supports a list of preferred languages: if the preferred is not supported, we go down the list.\n if (navigator.languages) {\n for (const l of navigator.languages) {\n const lang = extractLanguage(l);\n if (supportedLanguages.indexOf(lang) !== -1) {\n return lang;\n }\n }\n }\n\n return null;\n};\n\nconst extractLanguage = (language: string): string => language.substring(0, 2).toLowerCase();\n\n/**\n * Simple translate function for general header UI strings\n *\n * @param key Translation key\n * @param lang Force a language\n * @param translationObject Optionally provide translations\n * @returns Translated string or the key\n */\nexport const translate = (key: string, lang?: string, translationObject = translations) =>\n translationObject[key]?.[lang ?? state.currentLanguage ?? ''] ?? key;\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(o,t,e,r){function i(o){return o instanceof e?o:new e((function(t){t(o)}))}return new(e||(e=Promise))((function(e,n){function a(o){try{s(r.next(o))}catch(o){n(o)}}function l(o){try{s(r["throw"](o))}catch(o){n(o)}}function s(o){o.done?e(o.value):i(o.value).then(a,l)}s((r=r.apply(o,t||[])).next())}))};var __generator=this&&this.__generator||function(o,t){var e={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},r,i,n,a;return a={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function l(o){return function(t){return s([o,t])}}function s(l){if(r)throw new TypeError("Generator is already executing.");while(a&&(a=0,l[0]&&(e=0)),e)try{if(r=1,i&&(n=l[0]&2?i["return"]:l[0]?i["throw"]||((n=i["return"])&&n.call(i),0):i.next)&&!(n=n.call(i,l[1])).done)return n;if(i=0,n)l=[l[0]&2,n.value];switch(l[0]){case 0:case 1:n=l;break;case 4:e.label++;return{value:l[1],done:false};case 5:e.label++;i=l[1];l=[0];continue;case 7:l=e.ops.pop();e.trys.pop();continue;default:if(!(n=e.trys,n=n.length>0&&n[n.length-1])&&(l[0]===6||l[0]===2)){e=0;continue}if(l[0]===3&&(!n||l[1]>n[0]&&l[1]<n[3])){e.label=l[1];break}if(l[0]===6&&e.label<n[1]){e.label=n[1];n=l;break}if(n&&e.label<n[2]){e.label=n[2];e.ops.push(l);break}if(n[2])e.ops.pop();e.trys.pop();continue}l=t.call(o,e)}catch(o){l=[6,o];i=0}finally{r=n=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};System.register(["./p-5e9ba287.system.js","./p-9b4d5e90.system.js","./p-b3014611.system.js","./p-3819c4ce.system.js","./p-88aac12c.system.js","./p-4d015bfc.system.js","./p-91035a2a.system.js","./p-edb2802d.system.js"],(function(o){"use strict";var t,e,r,i,n,a,l,s,c,d,m,f,g,u,h;return{setters:[function(o){t=o.h;e=o.r;r=o.c;i=o.H;n=o.g},function(o){a=o.t},function(o){l=o.c;s=o.d;c=o.e},function(o){d=o.s},function(o){m=o.e;f=o.u},function(o){g=o.S},function(o){u=o.S},function(o){h=o.I}],execute:function(){var p=this;var x=function(o){var t=d.currentLanguage;return"https://www.post.ch/".concat(t,"/api/trackandtrace?id=").concat(encodeURIComponent(o))};var b=function(o,t){var e=t.packageTrackingRedirectUrl;return e.replace("{trackingNumber}",encodeURIComponent(o))};var w=function(o,t){return __awaiter(p,void 0,void 0,(function(){var e;return __generator(this,(function(r){switch(r.label){case 0:return[4,v(o,t)];case 1:e=r.sent();return[2,e.ok]}}))}))};var v=function(o,t){var e=t.redirectPattern;return __awaiter(p,void 0,void 0,(function(){var t,r,i,n;return __generator(this,(function(a){switch(a.label){case 0:t=new RegExp(e);if(!t.test(o))return[3,5];a.label=1;case 1:a.trys.push([1,4,,5]);return[4,fetch(x(o))];case 2:r=a.sent();return[4,r.json()];case 3:i=a.sent();return[2,Object.assign(Object.assign({},i),{ok:i.ok==="true"})];case 4:n=a.sent();console.warn("Could not check track and trace API due to error: ".concat(n.message));return[3,5];case 5:return[2,{ok:false,timestamp:(new Date).toDateString()}]}}))}))};var k=function(o,t){return __awaiter(p,void 0,void 0,(function(){var e;return __generator(this,(function(r){switch(r.label){case 0:return[4,v(o,t)];case 1:e=r.sent();return[2,e.ok?Object.assign(Object.assign({},e),{url:b(o,t)}):null]}}))}))};var y=function(o,t){return __awaiter(p,void 0,void 0,(function(){var e;return __generator(this,(function(r){switch(r.label){case 0:return[4,w(o,t)];case 1:e=r.sent();return[2,e?b(o,t):z(o)]}}))}))};var z=function(o){var t;if(((t=d.localizedConfig)===null||t===void 0?void 0:t.header.search)===undefined){return}var e=d.localizedConfig.header.search.searchPageUrl;var r="#q=".concat(encodeURIComponent(o));return"".concat(e).concat(r,"&t=AllTab")};var E=function(o,t,e){if(e===void 0){e=7}var r=o.slice(0,Math.max(e/2,e-t.length));return[r,t.slice(0,e-r.length)]};var C={url:"https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest",environment:{prod:{organisation:"postchagprod6ef4sbet",token:"xx5b629890-23b9-4fbe-b601-0e8719186969"},int01:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},int02:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},dev01:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},dev02:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},devs1:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},test:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"}}};var S=function(o){return __awaiter(p,void 0,void 0,(function(){var t,e,r,i,n,a,l,s,c,m,f;return __generator(this,(function(g){switch(g.label){case 0:if(((e=(t=d.localizedConfig)===null||t===void 0?void 0:t.header)===null||e===void 0?void 0:e.search)===undefined)return[2,[]];r=d.localizedConfig.header.search;i=C.environment[d.environment],n=i.token,a=i.organisation;l="".concat(C.url,"?q=").concat(o,"&locale=").concat(d.currentLanguage,"&searchHub=").concat(r.searchHubName,"&pipeline=").concat(r.searchPipelineName,"&organizationId=").concat(a);g.label=1;case 1:g.trys.push([1,4,,5]);return[4,fetch(l,{method:"GET",headers:{Authorization:"Bearer ".concat(n)}})];case 2:c=g.sent();return[4,c.json()];case 3:m=g.sent();s=m.completions.map((function(o){return Object.assign(Object.assign({},o),{redirectUrl:z(o.expression)})}));return[3,5];case 4:f=g.sent();console.error('Connection to coveo failed. Did you add "*.coveo.com" to your connect-src content security policy and tried turning off your adblocker?');return[3,5];case 5:return[2,s===undefined?[]:s]}}))}))};var L="https://places.post.ch/StandortSuche/StaoCacheService";var T="https://places.post.ch";var F=function(o){return o.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"")};var O=function(o){return __awaiter(p,void 0,void 0,(function(){var t,e,r,i,n;return __generator(this,(function(a){switch(a.label){case 0:if(o.length===0){return[2,[]]}t=Object.entries({query:encodeURIComponent(o),lang:d.currentLanguage,limit:7}).reduce((function(o,t,e){var r=t[0],i=t[1];return"".concat(o).concat(e===0?"?":"&").concat(r,"=").concat(i)}),"");e="".concat(L,"/Geocode").concat(t);a.label=1;case 1:a.trys.push([1,4,,5]);return[4,fetch(e)];case 2:r=a.sent();return[4,r.json()];case 3:i=a.sent();if(!i.ok){throw new Error(i.info)}return[2,i.locations];case 4:n=a.sent();console.error('Fetching places failed. Did you add "places.post.ch" to your connect-src content security policy?');throw n;case 5:return[2]}}))}))};var R=function(o,t){if(o===undefined)return t;var e=F(t);var r=F(o);var i=e.indexOf(r);if(i<0){return t}return"".concat(t.substring(0,i),"{").concat(t.substring(i,i+o.length),"}").concat(t.substring(i+o.length,t.length))};var I=function(o){var t;if(o.id){t="".concat(T,"/").concat(d.currentLanguage,"/").concat(o.id,"/detail")}else{t="".concat(T,"?preselecttext=").concat(encodeURIComponent(o.name))}return t};var _=function(o){var e;var r=(e=o.highlightClass)!==null&&e!==void 0?e:"bold";var i=o.text.replace(/[{(]/g,'<span class="'.concat(r,'">')).replace(/[})]/g,"</span>").replace(/[\[\]]/g,"");return t("span",{innerHTML:i})};var B="/*!\n * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n\n * The MIT License (MIT)\n\n * Copyright (c) 2011-2020 Twitter, Inc.\n * Copyright (c) 2011-2020 The Bootstrap Authors\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */.form-label{margin-bottom:0.5rem;color:rgba(var(--post-contrast-color-rgb), 0.8)}.col-form-label{padding-top:calc(0.875rem + 2px);padding-bottom:calc(0.875rem + 2px);margin-bottom:0;font-size:inherit;line-height:1.5;color:rgba(var(--post-contrast-color-rgb), 0.8)}.col-form-label-lg{padding-top:calc(1.25rem + 2px);padding-bottom:calc(1.25rem + 2px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.375rem + 2px);padding-bottom:calc(0.375rem + 2px);font-size:0.875rem}.form-text{margin-top:0.25rem;font-size:0.8125rem;color:var(--post-contrast-color)}.form-control{display:block;width:100%;padding:0.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;background-color:#fff;background-clip:padding-box;border:2px solid hsl(0, 0%, 40%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;-webkit-transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{-webkit-transition:none;transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#000;background-color:#fff;border-color:#000;outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-input-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control::-moz-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control:-ms-input-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control::-ms-input-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control::placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control:disabled{color:hsl(0, 0%, 40%);background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border-color:hsl(0, 0%, 80%);opacity:1}.form-control::-webkit-file-upload-button{padding:0.875rem 1.125rem;margin:-0.875rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#000;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:2px;border-radius:0;-webkit-transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms}.form-control::file-selector-button{padding:0.875rem 1.125rem;margin:-0.875rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#000;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:2px;border-radius:0;-webkit-transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#fff}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#fff}.form-control-plaintext{display:block;width:100%;padding:0.875rem 0;margin-bottom:0;line-height:1.5;color:var(--post-contrast-color);background-color:transparent;border:solid transparent;border-width:2px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg,.form-floating>.form-control-plaintext.form-control,.form-floating>.form-control-plaintext.form-select{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.96875rem + 4px);padding:0.375rem 0.875rem;font-size:0.875rem;border-radius:0}.form-control-sm::-webkit-file-upload-button{padding:0.375rem 0.875rem;margin:-0.375rem -0.875rem;-webkit-margin-end:0.875rem;margin-inline-end:0.875rem}.form-control-sm::file-selector-button{padding:0.375rem 0.875rem;margin:-0.375rem -0.875rem;-webkit-margin-end:0.875rem;margin-inline-end:0.875rem}.form-control-lg,.form-floating>.form-control,.form-floating>.form-select{min-height:calc(4.375rem + 4px);padding:1.25rem 1.375rem;font-size:1.25rem;border-radius:0}.form-control-lg::-webkit-file-upload-button,.form-floating>.form-control::-webkit-file-upload-button,.form-floating>.form-select::-webkit-file-upload-button{padding:1.25rem 1.375rem;margin:-1.25rem -1.375rem;-webkit-margin-end:1.375rem;margin-inline-end:1.375rem}.form-control-lg::file-selector-button,.form-floating>.form-control::file-selector-button,.form-floating>.form-select::file-selector-button{padding:1.25rem 1.375rem;margin:-1.25rem -1.375rem;-webkit-margin-end:1.375rem;margin-inline-end:1.375rem}textarea.form-control{min-height:calc(3.25rem + 4px)}textarea.form-control-sm{min-height:calc(1.96875rem + 4px)}textarea.form-control-lg,.form-floating>textarea.form-control,.form-floating>textarea.form-select{min-height:calc(4.375rem + 4px)}.form-control-color{width:3rem;height:calc(3.25rem + 4px);padding:0.875rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:0}.form-control-color::-webkit-color-swatch{border-radius:0}.form-control-color.form-control-sm{height:calc(1.96875rem + 4px)}.form-control-color.form-control-lg,.form-floating>.form-control-color.form-control,.form-floating>.form-control-color.form-select{height:calc(4.375rem + 4px)}.form-select{display:block;width:100%;padding:0.875rem 3.375rem 0.875rem 1.125rem;-moz-padding-start:calc(1.125rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#000;background-color:#fff;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M27.6 10.667l-11.6 11.6-11.467-11.6-1.067 1.067 12.533 12.4 12.533-12.4z'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 1.125rem center;background-size:14px 14px;border:2px solid hsl(0, 0%, 40%);border-radius:0;-webkit-transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-select{-webkit-transition:none;transition:none}}.form-select:focus{border-color:#000;outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25)}.form-select[multiple],.form-select[size]:not([size=\"1\"]){padding-right:1.125rem;background-image:none}.form-select:disabled{color:hsl(0, 0%, 40%);background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border-color:hsl(0, 0%, 80%)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.form-select-sm{padding-top:0.375rem;padding-bottom:0.375rem;padding-left:0.875rem;font-size:0.875rem;border-radius:0}.form-select-lg{padding-top:1.25rem;padding-bottom:1.25rem;padding-left:1.375rem;font-size:1.25rem;border-radius:0}.form-check{display:block;min-height:1.5rem;padding-left:0;margin-bottom:1rem}.form-check .form-check-input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input{width:1.5rem;height:1.5rem;margin-top:0rem;vertical-align:top;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain;border:2px solid hsl(0, 0%, 40%);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:0}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{-webkit-filter:none;filter:none}.form-check-input:focus{border-color:#000;outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(0, 0, 0, 0.25);box-shadow:0 0 0 0.125rem rgba(0, 0, 0, 0.25)}.form-check-input:checked{background-color:transparent;border-color:#000}.form-check-input:checked[type=checkbox]{background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M12.667 23.6l-7.2-7.067 1.067-1.067 6.133 6.267 12.8-12.933 1.067 1.067z'%3E%3C/path%3E%3C/svg%3E\")}.form-check-input:checked[type=radio]{background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 6 6'%3E%3Ccircle opacity='1' fill='%23000000' r='2'%3E%3C/circle%3E%3C/svg%3E\")}.form-check-input[type=checkbox]:indeterminate{background-color:transparent;border-color:#000;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M5.333 16.010l20-0.021 0.001 1.333-20 0.021-0.001-1.333z'%3E%3C/path%3E%3C/svg%3E\")}.form-check-input:disabled{pointer-events:none;-webkit-filter: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-check-label{color:rgba(var(--post-contrast-color-rgb), 0.8);cursor:pointer}.form-switch{padding-left:0}.form-switch .form-check-input{width:4rem;margin-left:0;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-16 -16 32 32'%3e%3ccircle r='15' stroke='hsl%280, 0%, 40%%29' stroke-width='2' fill='%23fff'/%3e%3c/svg%3e\");background-position:left center;border-radius:4rem;-webkit-transition:background-position 250ms cubic-bezier(0.4, 0, 0.2, 1), background-color 250ms;transition:background-position 250ms cubic-bezier(0.4, 0, 0.2, 1), background-color 250ms}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{-webkit-transition:none;transition:none}}.form-switch .form-check-input:focus{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-16 -16 32 32'%3e%3ccircle r='15' stroke='%23000' stroke-width='2' fill='%23fff'/%3e%3c/svg%3e\")}.form-switch .form-check-input:checked{background-position:right center;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-16 -16 32 32'%3e%3ccircle r='15' stroke='%23000' stroke-width='2' fill='%23fff'/%3e%3c/svg%3e\")}.form-switch.form-check-reverse{padding-right:0;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:0;margin-left:0}.form-check-inline{display:inline-block;margin-right:1.5rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;-webkit-filter:none;filter:none;opacity:0.4}.form-range{width:100%;height:2.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px #000, 0 0 0 0.2rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 1px #000, 0 0 0 0.2rem rgba(51, 51, 51, 0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #000, 0 0 0 0.2rem rgba(51, 51, 51, 0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:2rem;height:2rem;margin-top:-0.9rem;background-color:#fff;border:2px solid #000;border-radius:1rem;-webkit-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#fff}.form-range::-webkit-slider-runnable-track{width:100%;height:0.2rem;color:transparent;cursor:pointer;background-color:hsl(0, 0%, 80%);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:2rem;height:2rem;background-color:#fff;border:2px solid #000;border-radius:1rem;-moz-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#fff}.form-range::-moz-range-track{width:100%;height:0.2rem;color:transparent;cursor:pointer;background-color:hsl(0, 0%, 80%);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#fff}.form-range:disabled::-moz-range-thumb{background-color:#fff}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(4.375rem + 4px);line-height:1.5}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1.25rem 1.375rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:2px solid transparent;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1)}@media (prefers-reduced-motion: reduce){.form-floating>label{-webkit-transition:none;transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1.25rem 1.375rem}.form-floating>.form-control::-webkit-input-placeholder,.form-floating>.form-control-plaintext::-webkit-input-placeholder{color:transparent}.form-floating>.form-control::-moz-placeholder,.form-floating>.form-control-plaintext::-moz-placeholder{color:transparent}.form-floating>.form-control:-ms-input-placeholder,.form-floating>.form-control-plaintext:-ms-input-placeholder{color:transparent}.form-floating>.form-control::-ms-input-placeholder,.form-floating>.form-control-plaintext::-ms-input-placeholder{color:transparent}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown),.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-ms-input-placeholder),.form-floating>.form-control-plaintext:not(:-ms-input-placeholder){padding-top:1.5rem;padding-bottom:0}.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.5rem;padding-bottom:0}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:1;transform:scale(0.7647058824)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{opacity:1;transform:scale(0.7647058824)}.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{opacity:1;-webkit-transform:scale(0.7647058824);transform:scale(0.7647058824)}.form-floating>.form-control:-webkit-autofill~label{opacity:1;-webkit-transform:scale(0.7647058824);transform:scale(0.7647058824)}.form-floating>.form-control-plaintext~label{border-width:2px 0}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;-ms-flex:1 1 auto;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;text-align:center;white-space:nowrap;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border:2px solid hsl(0, 0%, 40%);border-radius:0}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:1.25rem 1.375rem;font-size:1.25rem;border-radius:0}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:0.375rem 0.875rem;font-size:0.875rem;border-radius:0}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:4.5rem}.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:-2px;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;font-size:1rem;color:hsl(0, 0%, 40%)}.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:1rem;color:#fff;background-color:#666666;border-radius:0}.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:hsl(0, 0%, 40%);padding-right:3.25rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%280%25,50.588235%25,22.745098%25%29;fill-opacity:1;' d='M 9.5 18.398438 L 3.800781 12.699219 L 5.199219 11.300781 L 9.5 15.597656 L 18.800781 6.300781 L 20.199219 7.699219 Z M 9.5 18.398438 '/%3E%3C/g%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.4375rem) center;background-size:calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:hsl(0, 0%, 40%);-webkit-box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25);box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:3.25rem;background-position:top calc(0.375em + 0.4375rem) right calc(0.375em + 0.4375rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:hsl(0, 0%, 40%)}.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\"]{padding-right:6.1875rem;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M27.6 10.667l-11.6 11.6-11.467-11.6-1.067 1.067 12.533 12.4 12.533-12.4z'%3E%3C/path%3E%3C/svg%3E\"), url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%280%25,50.588235%25,22.745098%25%29;fill-opacity:1;' d='M 9.5 18.398438 L 3.800781 12.699219 L 5.199219 11.300781 L 9.5 15.597656 L 18.800781 6.300781 L 20.199219 7.699219 Z M 9.5 18.398438 '/%3E%3C/g%3E%3C/svg%3E%0A\");background-position:right 1.125rem center, center right 3.375rem;background-size:14px 14px, calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:hsl(0, 0%, 40%);-webkit-box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25);box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:6.25rem}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:hsl(0, 0%, 40%)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:hsl(0, 0%, 40%)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{-webkit-box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25);box-shadow:0 0 0 0.125rem rgba(102, 102, 102, 0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:hsl(0, 0%, 40%)}.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;font-size:1rem;color:#a51728}.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:1rem;color:#fff;background-color:#a51728;border-radius:0}.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:#a51728;padding-right:3.25rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 3 L 13 3 L 13 17 L 11 17 Z M 11 3 '/%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 19 L 13 19 L 13 21 L 11 21 Z M 11 19 '/%3E%3C/g%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.4375rem) center;background-size:calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#a51728;-webkit-box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25);box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:3.25rem;background-position:top calc(0.375em + 0.4375rem) right calc(0.375em + 0.4375rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#a51728}.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\"]{padding-right:6.1875rem;background-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M27.6 10.667l-11.6 11.6-11.467-11.6-1.067 1.067 12.533 12.4 12.533-12.4z'%3E%3C/path%3E%3C/svg%3E\"), url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 3 L 13 3 L 13 17 L 11 17 Z M 11 3 '/%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 19 L 13 19 L 13 21 L 11 21 Z M 11 19 '/%3E%3C/g%3E%3C/svg%3E%0A\");background-position:right 1.125rem center, center right 3.375rem;background-size:14px 14px, calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#a51728;-webkit-box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25);box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:6.25rem}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#a51728}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#a51728}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{-webkit-box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25);box-shadow:0 0 0 0.125rem rgba(165, 23, 40, 0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#a51728}.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}.form-control-rg{height:calc(2.75rem + 4px);padding:0.625rem 0.875rem;font-size:1rem;line-height:1.5}select.form-control-rg:not([size]):not([multiple]){height:calc(2.75rem + 4px)}.form-control{position:relative}.form-control:disabled{color:hsl(0, 0%, 40%)}.form-control[readonly]:not(:disabled){border-color:hsl(0, 0%, 40%);background-color:#fff}.form-control[type=file]{position:relative;min-height:calc(3.25rem + 4px)}.form-control[type=file]::-webkit-file-upload-button{display:block;position:absolute;top:0;bottom:0;right:0;margin-inline:0;height:auto;background-color:inherit;border-right:0 none;border-left:inherit}.form-control[type=file]::file-selector-button{display:block;position:absolute;top:0;bottom:0;right:0;margin-inline:0;height:auto;background-color:inherit;border-right:0 none;border-left:inherit}.form-control[type=file].form-control-sm{min-height:calc(2.25rem + 4px)}.form-control[type=file].form-control-rg{min-height:calc(2.75rem + 4px)}.form-control[type=file].form-control-lg{min-height:calc(4rem + 4px)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.form-control:hover:not(:disabled),.form-control:focus:not(:disabled){border-color:Highlight}.form-control:hover:not(:disabled)::-webkit-file-upload-button,.form-control:focus:not(:disabled)::-webkit-file-upload-button{border-left-color:Highlight}.form-control:hover:not(:disabled)::file-selector-button,.form-control:focus:not(:disabled)::file-selector-button{border-left-color:Highlight}}.form-floating>label{display:block;top:2px;left:2px;margin:0;padding-inline:1.375rem;padding-block:calc(\n 2px + 2.1875rem - 0.796875rem\n );height:4.375rem;border:0;color:hsl(0, 0%, 40%);font-size:1.0625rem;width:auto;max-width:calc(100% - 4px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transform-origin:1.375rem 0;transform-origin:1.375rem 0;-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms linear;transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms linear}.form-floating>.form-control{}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-ms-input-placeholder){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{padding-top:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-moz-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{padding-top:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-ms-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label{padding-top:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control[type=file]:not(:-moz-placeholder-shown){padding-top:1.995rem}.form-floating>.form-control[type=file]:not(:-ms-input-placeholder){padding-top:1.995rem}.form-floating>.form-control[type=file]:focus,.form-floating>.form-control[type=file]:not(:placeholder-shown){padding-top:1.995rem}.form-floating>.form-select{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select~label{padding-top:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-select:empty{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select:empty~label{padding-top:1.25rem;max-width:calc(100% - 4px);-webkit-transform:none;transform:none}.form-floating>.form-select[multiple]{padding-top:2.25rem;padding-bottom:0;height:auto}.form-floating>.form-select[multiple]~label{padding-top:0.9558823529rem;padding-bottom:0;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);height:auto;background:#fff}.form-floating>.form-select[multiple]:empty~label{padding-top:1.25rem;padding-bottom:1.25rem;width:calc(100% - 4px - 1.375rem);height:4.375rem}.form-floating>textarea.form-control{padding-top:1.875rem;padding-bottom:1.25rem;height:auto}.form-floating>textarea.form-control~label{padding-bottom:0;width:calc(100% - 4px);max-width:none;height:unset}.form-floating>textarea.form-control:not(:-moz-placeholder-shown){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:not(:-ms-input-placeholder){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:focus,.form-floating>textarea.form-control:not(:placeholder-shown){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:not(:-moz-placeholder-shown)~label{padding-top:0.9558823529rem;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);max-width:none;background:#fff}.form-floating>textarea.form-control:not(:-ms-input-placeholder)~label{padding-top:0.9558823529rem;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);max-width:none;background:#fff}.form-floating>textarea.form-control:focus~label,.form-floating>textarea.form-control:not(:placeholder-shown)~label{padding-top:0.9558823529rem;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);max-width:none;background:#fff}.form-floating>textarea.form-control:is(.is-valid,.is-invalid)~label{width:calc(100% - 4px - 1.375rem - 0.5rem - 2rem)}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-moz-placeholder-shown)~label{width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem)}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-ms-input-placeholder)~label{width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem)}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):focus~label,.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:placeholder-shown)~label{width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.form-floating>input,.form-floating>textarea{}.form-floating>input::-webkit-input-placeholder,.form-floating>textarea::-webkit-input-placeholder{opacity:0}.form-floating>input::-moz-placeholder,.form-floating>textarea::-moz-placeholder{opacity:0}.form-floating>input:-ms-input-placeholder,.form-floating>textarea:-ms-input-placeholder{opacity:0}.form-floating>input::-ms-input-placeholder,.form-floating>textarea::-ms-input-placeholder{opacity:0}.form-floating>input::placeholder,.form-floating>textarea::placeholder{opacity:0}.form-floating>input::input-placeholder,.form-floating>textarea::input-placeholder{opacity:0}}.row{--bs-gutter-x:30px;--bs-gutter-y:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;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>*{-ms-flex-negative:0;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{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-12{-ms-flex:0 0 auto;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: 400px){.col-sm{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-sm-12{-ms-flex:0 0 auto;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: 600px){.col-rg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-rg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-rg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-rg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-rg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-rg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-rg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-rg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-rg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-rg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-rg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-rg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-rg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-rg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-rg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-rg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-rg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-rg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-rg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-rg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-rg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-rg-0{margin-left:0}.offset-rg-1{margin-left:8.33333333%}.offset-rg-2{margin-left:16.66666667%}.offset-rg-3{margin-left:25%}.offset-rg-4{margin-left:33.33333333%}.offset-rg-5{margin-left:41.66666667%}.offset-rg-6{margin-left:50%}.offset-rg-7{margin-left:58.33333333%}.offset-rg-8{margin-left:66.66666667%}.offset-rg-9{margin-left:75%}.offset-rg-10{margin-left:83.33333333%}.offset-rg-11{margin-left:91.66666667%}.g-rg-0,.gx-rg-0{--bs-gutter-x:0}.g-rg-0,.gy-rg-0{--bs-gutter-y:0}.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}.g-rg-1,.gy-rg-1{--bs-gutter-y:0.25rem}.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}.g-rg-2,.gy-rg-2{--bs-gutter-y:0.5rem}.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}.g-rg-3,.gy-rg-3{--bs-gutter-y:1rem}.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}.g-rg-4,.gy-rg-4{--bs-gutter-y:1.5rem}.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}.g-rg-5,.gy-rg-5{--bs-gutter-y:3rem}}@media (min-width: 780px){.col-md{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-md-12{-ms-flex:0 0 auto;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: 1024px){.col-lg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-lg-12{-ms-flex:0 0 auto;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: 1280px){.col-xl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xl-12{-ms-flex:0 0 auto;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: 1441px){.col-xxl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xxl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xxl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xxl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xxl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xxl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xxl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xxl-12{-ms-flex:0 0 auto;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}}.container,.container-fluid,.container-xs{--bs-gutter-x:30px;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-right:auto;margin-left:auto}.container{max-width:1440px}.vertical-gutters{margin-bottom:-30px}.vertical-gutters>.col,.vertical-gutters>[class*=col-]{padding-bottom:30px}.row.border-gutters{margin-right:-1px;margin-bottom:-1px;margin-left:0}.row.border-gutters>.col,.row.border-gutters>[class*=col-]{padding-right:1px;padding-bottom:1px;padding-left:0}.container{padding-right:12px;padding-left:12px}.container-reset{margin-right:-12px;margin-left:-12px}.container-reset-left{margin-left:-12px}.container-reset-right{margin-right:-12px}@media (max-width: 399.98px){.container-fluid-xs{padding-right:1rem;padding-left:1rem}}@media (min-width: 400px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 400px){.container-reset{margin-right:-16px;margin-left:-16px}}@media (min-width: 400px){.container-reset-left{margin-left:-16px}}@media (min-width: 400px){.container-reset-right{margin-right:-16px}}@media (min-width: 400px) and (max-width: 599.98px){.container-fluid-sm{padding-right:1rem;padding-left:1rem}}@media (min-width: 600px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 600px){.container-reset{margin-right:-32px;margin-left:-32px}}@media (min-width: 600px){.container-reset-left{margin-left:-32px}}@media (min-width: 600px){.container-reset-right{margin-right:-32px}}@media (min-width: 600px) and (max-width: 779.98px){.container-fluid-rg{padding-right:1rem;padding-left:1rem}}@media (min-width: 780px) and (max-width: 1023.98px){.container-fluid-md{padding-right:1rem;padding-left:1rem}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (min-width: 1024px){.container-reset{margin-right:-40px;margin-left:-40px}}@media (min-width: 1024px){.container-reset-left{margin-left:-40px}}@media (min-width: 1024px){.container-reset-right{margin-right:-40px}}@media (min-width: 1024px) and (max-width: 1279.98px){.container-fluid-lg{padding-right:1rem;padding-left:1rem}}@media (min-width: 1280px){.container{padding-right:128px;padding-left:128px}}@media (min-width: 1280px){.container-reset{margin-right:-128px;margin-left:-128px}}@media (min-width: 1280px){.container-reset-left{margin-left:-128px}}@media (min-width: 1280px){.container-reset-right{margin-right:-128px}}@media (min-width: 1280px) and (max-width: 1440.98px){.container-fluid-xl{padding-right:1rem;padding-left:1rem}}@media (min-width: 1441px){.container-fluid-xxl{padding-right:1rem;padding-left:1rem}}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:700;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:400;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:300;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff\") format(\"woff\")}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:\"Frutiger Neue For Post\", system-ui, sans-serif}button{font:inherit;padding:0}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.search-button,.nav-link{text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.search-button:hover,.nav-link:hover,.search-button:focus,.nav-link:focus{color:black}.search-button>svg,.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.search-button>span,.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}:host{display:block}.search,:host{height:100%}.search-button{height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer;padding-right:calc(1rem - 1px);padding-left:calc(1rem - 1px)}@media (min-width: 1024px){.search-button{padding:0 calc(1.125rem - 1px)}}@media (min-width: 1280px){.search-button{padding:0 calc(1.5rem - 1px)}}.search-button svg{width:1.5rem;height:1.5rem}@media (min-width: 600px) and (max-width: 1023.98px){.search-button .visually-hidden{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible;font-weight:300;margin-right:0.5rem;cursor:pointer}}.flyout{position:absolute;top:100%;left:0;width:100%;background:white;overflow:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;padding-top:3.25rem;padding-bottom:3.25rem;z-index:-1;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:-webkit-transform 0.35s, -webkit-box-shadow 0.35s;transition:-webkit-transform 0.35s, -webkit-box-shadow 0.35s;transition:transform 0.35s, box-shadow 0.35s;transition:transform 0.35s, box-shadow 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.35s}@media (prefers-reduced-motion: reduce){.flyout{-webkit-transition:none;transition:none}}@media (min-width: 1024px){.flyout{max-height:calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);-webkit-box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.4)}.flyout.open{-webkit-box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4)}}@media (max-width: 1023.98px){.flyout{height:calc(100vh - var(--header-height) - 1px)}}.flyout.open{-webkit-transform:translateY(0);transform:translateY(0)}.form-floating .form-control,.form-floating .form-control+label{padding-right:3.375rem}.start-search-button{position:absolute;top:0;right:0;height:100%;padding-right:1rem;padding-left:1rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer}.start-search-button svg{width:1.5rem;height:1.5rem}.suggestions{margin:1.5rem 0}.suggestions a{padding:0.75rem 1rem}.suggestions a:hover,.suggestions a:focus,.suggestions a.selected{background:#f4f3f1}.suggestions a.parcel-suggestion{-ms-flex-wrap:wrap;flex-wrap:wrap}.search-recommendation__icon{height:1.5em;width:1.5em}";var N=o("post_search",function(){function o(o){e(this,o);this.dropdownToggled=r(this,"dropdownToggled",7);this.searchDropdownOpen=false;this.coveoSuggestions=[];this.placeSuggestions=[];this.parcelSuggestion=null}o.prototype.connectedCallback=function(){var o=this;this.throttledResize=a(300,(function(){return o.handleResize()}));window.addEventListener("resize",this.throttledResize,{passive:true})};o.prototype.disconnectedCallback=function(){window.removeEventListener("resize",this.throttledResize);l()};o.prototype.componentWillUpdate=function(){var o=this;if(this.searchFlyout&&!this.searchDropdownOpen){this.searchFlyout.classList.remove("open");if(m(this.searchFlyout,"transform")&&!f()){return new Promise((function(t){if(o.searchFlyout===undefined){return t(true)}o.searchFlyout.addEventListener("transitionend",(function(o){if(o.propertyName==="transform"){t(true)}}))}))}}};o.prototype.componentDidUpdate=function(){if(this.searchFlyout&&this.searchDropdownOpen){this.searchFlyout.getBoundingClientRect();this.searchFlyout.classList.add("open")}if(this.searchDropdownOpen&&this.searchBox){this.searchBox.focus({preventScroll:true})}};o.prototype.toggleDropdown=function(o){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(r){switch(r.label){case 0:this.searchDropdownOpen=o===undefined||typeof o!=="boolean"?!this.searchDropdownOpen:o;this.dropdownToggled.emit({open:this.searchDropdownOpen,element:this.host});if(!!this.searchDropdownOpen)return[3,1];this.coveoSuggestions=[];this.placeSuggestions=[];if(this.searchBox)this.searchBox.value="";this.setFocus();return[3,4];case 1:r.trys.push([1,3,,4]);t=this;return[4,S("")];case 2:t.coveoSuggestions=r.sent();return[3,4];case 3:e=r.sent();return[3,4];case 4:this.setBodyScroll();return[2,this.searchDropdownOpen]}}))}))};o.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var o,t;return __generator(this,(function(e){o=this.host.shadowRoot;if(o===null){return[2]}t=o.querySelector(".search-button");if(t){t.focus()}return[2]}))}))};o.prototype.handleResize=function(){if(this.searchDropdownOpen){this.setBodyScroll()}};o.prototype.setBodyScroll=function(){if(this.searchDropdownOpen&&window.innerWidth<1024){s(this.searchFlyout)}else{c(this.searchFlyout)}};o.prototype.handleSearchInput=function(){return __awaiter(this,void 0,void 0,(function(){var o,t,e,r,i,n;var a;return __generator(this,(function(l){switch(l.label){case 0:if(this.searchBox===undefined||((o=d.localizedConfig)===null||o===void 0?void 0:o.header.search)===undefined){return[2]}t=this.searchBox.value.trim();return[4,Promise.all([O(t),S(t),k(t,d.localizedConfig.header.search)])];case 1:e=l.sent(),r=e[0],i=e[1],n=e[2];this.parcelSuggestion=n;if(n){this.placeSuggestions=[];this.coveoSuggestions=[]}else{a=E(i,r,7),this.coveoSuggestions=a[0],this.placeSuggestions=a[1]}this.deselectSuggestion();return[2]}}))}))};o.prototype.handleKeyDown=function(o){var t,e,r,i;if(this.searchFlyout===undefined){return}var n=this.searchFlyout.querySelector(".suggestions > li > a.selected");switch(o.key.toLowerCase()){case"enter":if(n){var a=n.getAttribute("href");if(a!==null){window.location.href=a}}else{this.startSearch()}break;case"arrowdown":case"arrowup":var l=this.searchFlyout.querySelectorAll(".suggestions > li > a");this.deselectSuggestion();if(o.key.toLowerCase()==="arrowdown"){if((e=(t=n===null||n===void 0?void 0:n.parentElement)===null||t===void 0?void 0:t.nextElementSibling)===null||e===void 0?void 0:e.firstElementChild){n.parentElement.nextElementSibling.firstElementChild.classList.add("selected")}else{if(l.length>0){l[0].classList.add("selected")}}}else if(o.key.toLowerCase()==="arrowup"){if((i=(r=n===null||n===void 0?void 0:n.parentElement)===null||r===void 0?void 0:r.previousElementSibling)===null||i===void 0?void 0:i.firstElementChild){n.parentElement.previousElementSibling.firstElementChild.classList.add("selected")}else{if(l.length>0){l[l.length-1].classList.add("selected")}}}n=this.searchFlyout.querySelector(".suggestions > li > a.selected");var s=n===null||n===void 0?void 0:n.dataset.suggestionText;if(s!==undefined&&this.searchBox){this.searchBox.value=s}break}};o.prototype.handleMouseEnterSuggestion=function(o){this.deselectSuggestion();o.target.classList.add("selected")};o.prototype.handleMouseLeaveSuggestions=function(){this.deselectSuggestion()};o.prototype.deselectSuggestion=function(){if(this.searchFlyout===undefined)return;var o=this.searchFlyout.querySelector(".suggestions .selected");if(o){o.classList.remove("selected")}};o.prototype.startSearch=function(){return __awaiter(this,void 0,void 0,(function(){var o,t;return __generator(this,(function(e){switch(e.label){case 0:if(!(this.searchBox&&((o=d.localizedConfig)===null||o===void 0?void 0:o.header.search)))return[3,2];return[4,y(this.searchBox.value.trim(),d.localizedConfig.header.search)];case 1:t=e.sent();if(!t)return[2];window.location.href=t;e.label=2;case 2:return[2]}}))}))};o.prototype.render=function(){var o=this;var e,r,n,a,l,s,c,m,f,p,x,b,w,v;if(((e=d.localizedConfig)===null||e===void 0?void 0:e.header)===undefined){return}var k=d.localizedConfig.header,y=k.translations,z=k.search;var E=((r=this.searchBox)===null||r===void 0?void 0:r.value)===""&&((n=z.searchRecommendations)===null||n===void 0?void 0:n.links.length)>0;return t(i,null,t(g,null),t("div",{class:"search"},t("button",{id:"post-internet-header-search-button",class:"search-button",type:"button","aria-expanded":"".concat(this.searchDropdownOpen),onClick:function(t){return o.toggleDropdown(t)}},t("span",{class:"visually-hidden"},this.searchDropdownOpen?y.searchToggleExpanded:y.searchToggle),t(u,{name:this.searchDropdownOpen?"pi-close":"pi-search"})),t(h,{condition:this.searchDropdownOpen},t("div",{class:"flyout",ref:function(t){return o.searchFlyout=t}},t("div",{class:"container box"},t("div",{class:"row"},t("div",{class:"col-xs-12 col-md-10 col-lg-8"},t("div",{class:"form-group form-floating"},t("input",{type:"text",id:"searchBox",class:"form-control form-control-lg",placeholder:y.flyoutSearchBoxFloatingLabel,autocomplete:"off",ref:function(t){return o.searchBox=t},onInput:function(){return o.handleSearchInput()},onKeyDown:function(t){return o.handleKeyDown(t)}}),t("label",{htmlFor:"searchBox"},y.flyoutSearchBoxFloatingLabel),t("button",{onClick:function(){return o.startSearch()},class:"nav-link start-search-button"},t("span",{class:"visually-hidden"},y.searchSubmit),t(u,{name:"pi-search"}))),E&&t("h2",{id:"post-internet-header-search-recommendations-title",class:"bold"},z.searchRecommendations.title),t("ul",{class:"suggestions no-list",onMouseLeave:function(){return o.handleMouseLeaveSuggestions()},"aria-labelledby":E?"post-internet-header-search-recommendations-title":undefined},E&&z.searchRecommendations.links.map((function(e){return t("li",{key:e.href},t("a",{class:"nav-link search-recommendation",href:new URL(e.href,"https://post.ch").href,"data-suggestion-text":e.label,onMouseEnter:function(t){return o.handleMouseEnterSuggestion(t)}},t("span",{class:"search-recommendation__icon",innerHTML:e.inlineSvg}),t("span",null,e.label)))})),this.parcelSuggestion&&this.parcelSuggestion.ok&&t("li",null,t("a",{class:"nav-link parcel-suggestion",href:this.parcelSuggestion.url,"data-suggestion-text":(a=this.searchBox)===null||a===void 0?void 0:a.value,onMouseEnter:function(t){return o.handleMouseEnterSuggestion(t)}},t(u,{name:"pi-letter-parcel"}),t("span",{class:"bold"},(s=(l=this.parcelSuggestion)===null||l===void 0?void 0:l.sending)===null||s===void 0?void 0:s.id,": "),t("span",null,(m=(c=this.parcelSuggestion)===null||c===void 0?void 0:c.sending)===null||m===void 0?void 0:m.product,","," ",(p=(f=this.parcelSuggestion)===null||f===void 0?void 0:f.sending)===null||p===void 0?void 0:p.recipient.zipcode," ",(b=(x=this.parcelSuggestion)===null||x===void 0?void 0:x.sending)===null||b===void 0?void 0:b.recipient.city,","," ",(v=(w=this.parcelSuggestion)===null||w===void 0?void 0:w.sending)===null||v===void 0?void 0:v.state))),!E&&this.coveoSuggestions&&this.coveoSuggestions.map((function(e){return t("li",{key:e.objectId},t("a",{class:"nav-link",href:e.redirectUrl,"data-suggestion-text":e.expression,onMouseEnter:function(t){return o.handleMouseEnterSuggestion(t)}},t(u,{name:"pi-search"}),t(_,{text:e.highlighted})))})),!E&&this.placeSuggestions&&this.placeSuggestions.map((function(e){var r,i;return t("li",{key:e.id},t("a",{class:"nav-link",href:I(e),"data-suggestion-text":e.name,onMouseEnter:function(t){return o.handleMouseEnterSuggestion(t)}},t(u,{name:"pi-place"}),t(_,{text:R((i=(r=o.searchBox)===null||r===void 0?void 0:r.value)===null||i===void 0?void 0:i.trim(),e.name)})))}))))))))))};Object.defineProperty(o.prototype,"host",{get:function(){return n(this)},enumerable:false,configurable:true});return o}());N.style=B}}}));
2
- //# sourceMappingURL=p-f62f50ce.system.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getTrackAndTraceApiUrl","id","lang","state","currentLanguage","concat","encodeURIComponent","getTrackAndTraceRedirectUrl","query","_q","packageTrackingRedirectUrl","replace","isParcel","searchConfig","__awaiter","_this","getParcelInfo","parcelInfo","sent","ok","redirectPattern","trackingNrPattern","RegExp","test","fetch","trackAndTraceReqest","_r","json","trackAndTraceResult","Object","assign","console","warn","error_1","message","timestamp","Date","toDateString","getParcelSuggestion","url","getSearchRedirectUrl","isTrackTraceId","getSearchPageUrl","_a","localizedConfig","header","search","undefined","searchPageUrl","searchParam","equalizeArrays","arrayA","arrayB","maxLength","coveoSliced","slice","Math","max","length","coveo","environment","prod","organisation","token","int01","int02","dev01","dev02","devs1","getCoveoSuggestions","_b","config","searchHubName","searchPipelineName","method","headers","Authorization","coveoResponse","coveoJSON","coveoCompletions","completions","map","completion","redirectUrl","expression","error","gisAPIUrl","placesUrl","hardNormalize","str","toLowerCase","normalize","queryPlaces","searchParameters","entries","limit","reduce","s","i","k","v","geocoderUrl","geocodeResponse","geocodeJSON","Error","info","locations","error_3","highlightPlacesString","place","reference","q","indexOfQuery","indexOf","substring","getPlacesUrl","location","name","HighlightedText","props","highlightClass","highlightedString","text","h","innerHTML","postSearchCss","PostSearch","exports","class_1","prototype","connectedCallback","this","throttledResize","throttle","handleResize","window","addEventListener","passive","disconnectedCallback","removeEventListener","clearAllBodyScrollLocks","componentWillUpdate","searchFlyout","searchDropdownOpen","classList","remove","elementHasTransition","userPrefersReducedMotion","Promise","resolve","event","propertyName","componentDidUpdate","getBoundingClientRect","add","searchBox","focus","preventScroll","toggleDropdown","force","dropdownToggled","emit","open","element","host","coveoSuggestions","placeSuggestions","value","setFocus","setBodyScroll","shadowRoot","toggleButton","querySelector","innerWidth","disableBodyScroll","enableBodyScroll","handleSearchInput","trim","all","_s","trackAndTraceInfo","parcelSuggestion","deselectSuggestion","handleKeyDown","selectedSuggestion","key","selectedHref","getAttribute","href","startSearch","suggestions","querySelectorAll","parentElement","nextElementSibling","firstElementChild","_d","_c","previousElementSibling","suggestedText","dataset","suggestionText","handleMouseEnterSuggestion","target","handleMouseLeaveSuggestions","render","translations","showPortalRecommendations","searchRecommendations","links","Host","SvgSprite","class","type","onClick","e","searchToggleExpanded","searchToggle","SvgIcon","If","condition","ref","placeholder","flyoutSearchBoxFloatingLabel","autocomplete","el","onInput","onKeyDown","htmlFor","searchSubmit","title","onMouseLeave","recommendation","URL","label","onMouseEnter","inlineSvg","_f","_e","sending","_h","_g","product","_k","_j","recipient","zipcode","_m","_l","city","_p","_o","suggestion","objectId","highlighted"],"sources":["src/services/search/parcel.service.ts","src/services/search/search.service.ts","src/services/search/coveo.settings.ts","src/services/search/coveo.service.ts","src/services/search/places.settings.ts","src/services/search/search-utilities.ts","src/services/search/places.service.ts","src/utils/highlighted.component.tsx","src/components/post-search/post-search.scss?tag=post-search&encapsulation=shadow","src/components/post-search/post-search.tsx"],"sourcesContent":["import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\n\n// https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883\n\n// Track and trace URL\nexport const getTrackAndTraceApiUrl = (id: string) => {\n const lang = state.currentLanguage;\n return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;\n};\n\n// Get the redire\nexport const getTrackAndTraceRedirectUrl = (\n query: string,\n { packageTrackingRedirectUrl }: ISearchConfig,\n) => {\n return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));\n};\n\n/**\n * Check whether a query is a tracking id\n *\n * @param query User query\n * @returns Boolean\n */\nexport const isParcel = async (query: string, searchConfig: ISearchConfig): Promise<boolean> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return parcelInfo.ok;\n};\n\n/**\n * Try to get parcel info from a query that is possibly a tracking id.\n * This is mainly used to check if a search should redirect to track&trace instead of the regular search.\n *\n * @param query User query that is possibly a tracking number\n * @returns Track and trace info\n */\nexport const getParcelInfo = async (\n query: string,\n { redirectPattern }: ISearchConfig,\n): Promise<TrackAndTraceInfo> => {\n const trackingNrPattern = new RegExp(redirectPattern);\n\n if (trackingNrPattern.test(query)) {\n try {\n const trackAndTraceReqest = await fetch(getTrackAndTraceApiUrl(query));\n const trackAndTraceResult = await trackAndTraceReqest.json();\n return { ...trackAndTraceResult, ok: trackAndTraceResult.ok === 'true' };\n } catch (error) {\n console.warn(`Could not check track and trace API due to error: ${error.message}`);\n }\n }\n\n return { ok: false, timestamp: new Date().toDateString() };\n};\n\n/**\n * Get parcel info if query is a parcel or null\n *\n * @param query Parcel id\n * @returns Parcel info and a redirect url or null if not a parcel\n */\nexport const getParcelSuggestion = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<(TrackAndTraceInfo & { url: string }) | null> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return parcelInfo.ok\n ? { ...parcelInfo, url: getTrackAndTraceRedirectUrl(query, searchConfig) }\n : null;\n};\n","import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';\n\n/**\n * Construct a search page url from a query\n *\n * @param query Search term\n * @returns\n */\nexport const getSearchRedirectUrl = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<string | undefined> => {\n const isTrackTraceId = await isParcel(query, searchConfig);\n return isTrackTraceId\n ? getTrackAndTraceRedirectUrl(query, searchConfig)\n : getSearchPageUrl(query);\n};\n\n/**\n * Stitch toghether the search page URL\n *\n * @param query Search term\n * @returns Search page URL\n */\nexport const getSearchPageUrl = (query: string): string | undefined => {\n if (state.localizedConfig?.header.search === undefined) {\n return;\n }\n const { searchPageUrl } = state.localizedConfig.header.search;\n const searchParam = `#q=${encodeURIComponent(query)}`;\n return `${searchPageUrl}${searchParam}&t=AllTab`;\n};\n\n/**\n * Equalize the length of two arrays while filling up empty slots up to max. length\n *\n * @param arrayA First array\n * @param arrayB Second array\n * @param maxLength Max. length of result array\n * @returns Array with two resulting arrays\n */\nexport const equalizeArrays = <A, B>(arrayA: A[], arrayB: B[], maxLength = 7): [A[], B[]] => {\n const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));\n return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];\n};\n","import { CoveoOptions } from '../../models/coveo.model';\n\n// Coveo constants\nexport const coveo: CoveoOptions = {\n url: 'https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest',\n environment: {\n prod: {\n organisation: 'postchagprod6ef4sbet',\n token: 'xx5b629890-23b9-4fbe-b601-0e8719186969',\n },\n int01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n int02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n devs1: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n test: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n },\n};\n","import { state } from '../../data/store';\nimport { CoveoCompletion, CoveoResponse } from '../../models/coveo.model';\nimport { coveo } from './coveo.settings';\nimport { getSearchPageUrl } from './search.service';\n\n/**\n * Get suggestions from coveo\n * https://docs.coveo.com/en/1459/build-a-search-ui/get-query-suggestions#context-object\n *\n * @param query Search term\n * @returns\n */\nexport const getCoveoSuggestions = async (query: string): Promise<CoveoCompletion[]> => {\n if (state.localizedConfig?.header?.search === undefined) return [];\n const config = state.localizedConfig.header.search;\n const { token, organisation } = coveo.environment[state.environment];\n const url = `${coveo.url}?q=${query}&locale=${state.currentLanguage}&searchHub=${config.searchHubName}&pipeline=${config.searchPipelineName}&organizationId=${organisation}`;\n let coveoCompletions: CoveoCompletion[] | undefined;\n\n try {\n const coveoResponse = await fetch(url, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n const coveoJSON = (await coveoResponse.json()) as CoveoResponse;\n coveoCompletions = coveoJSON.completions.map(completion => ({\n ...completion,\n redirectUrl: getSearchPageUrl(completion.expression),\n }));\n } catch (error) {\n console.error(\n 'Connection to coveo failed. Did you add \"*.coveo.com\" to your connect-src content security policy and tried turning off your adblocker?',\n );\n }\n\n return coveoCompletions === undefined ? [] : coveoCompletions;\n};\n","// Implement some TOPOS logic into the header search\nexport const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';\nexport const placesUrl = 'https://places.post.ch';\nexport const pois = [\n '001PST',\n '001MP24',\n '001AG-PICK',\n '001PFFIL',\n '001PFST',\n '001BZ',\n '001LZB',\n '001PZ',\n '001LZP',\n '001AL',\n];\n","/**\n * Transform to lowercase, extract accents to separate unicode chars,\n * replace all accent unicode chars so only standard latin chars remain\n * https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463\n *\n * @param str Input string\n * @returns\n */\nexport const hardNormalize = (str: string): string =>\n str\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '');\n","import { state } from '../../data/store';\nimport { GeocodeLocation, GeocodeResponse } from '../../models/geocode.model';\nimport { gisAPIUrl, placesUrl } from './places.settings';\nimport { hardNormalize } from './search-utilities';\n\n/**\n * Query the Gis API for locations and localities (pois)\n *\n * @param query User input string\n * @returns\n */\nexport const queryPlaces = async (query: string): Promise<GeocodeLocation[]> => {\n if (query.length === 0) {\n return [];\n }\n\n const searchParameters = Object.entries({\n query: encodeURIComponent(query),\n lang: state.currentLanguage,\n limit: 7,\n }).reduce((s, [k, v], i) => `${s}${i === 0 ? '?' : '&'}${k}=${v}`, '');\n\n const geocoderUrl = `${gisAPIUrl}/Geocode${searchParameters}`;\n\n try {\n const geocodeResponse = await fetch(geocoderUrl);\n const geocodeJSON = (await geocodeResponse.json()) as GeocodeResponse;\n if (!geocodeJSON.ok) {\n throw new Error(geocodeJSON.info);\n }\n return geocodeJSON.locations;\n } catch (error) {\n console.error(\n 'Fetching places failed. Did you add \"places.post.ch\" to your connect-src content security policy?',\n );\n throw error;\n }\n};\n\n/**\n * Try to highlight place suggestions\n * Limitation: accented chars are not handled by this basic function\n *\n * @param query Search term\n * @param place Name of the suggested place\n * @returns\n */\nexport const highlightPlacesString = (query: string | undefined, place: string) => {\n if (query === undefined) return place;\n\n // Strip accents from the string\n const reference = hardNormalize(place);\n const q = hardNormalize(query);\n const indexOfQuery = reference.indexOf(q);\n\n if (indexOfQuery < 0) {\n return place;\n }\n\n return `${place.substring(0, indexOfQuery)}{${place.substring(\n indexOfQuery,\n indexOfQuery + query.length,\n )}}${place.substring(indexOfQuery + query.length, place.length)}`;\n};\n\n/**\n * Get the deeplink to any location found via geocoder\n *\n * @param location A location from the Gis API Geocode endpoint\n * @returns\n */\nexport const getPlacesUrl = (location: GeocodeLocation): string => {\n let url: string;\n\n if (location.id) {\n url = `${placesUrl}/${state.currentLanguage}/${location.id}/detail`;\n } else {\n url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;\n }\n\n return url;\n};\n","import { h } from '@stencil/core';\n\nexport const HighlightedText = (props: { text: string; highlightClass?: string }) => {\n const highlightClass = props.highlightClass ?? 'bold';\n const highlightedString = props.text\n .replace(/[{(]/g, `<span class=\"${highlightClass}\">`)\n .replace(/[})]/g, '</span>')\n .replace(/[\\[\\]]/g, '');\n return <span innerHTML={highlightedString}></span>;\n};\n","@use '@swisspost/design-system-styles/core' as post;\n@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/components/forms';\n@use '@swisspost/design-system-styles/components/floating-label';\n@use '@swisspost/design-system-styles/components/grid';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n display: block;\n}\n\n.search,\n:host {\n height: 100%;\n}\n\n.search-button {\n @extend %nav-link;\n\n height: 100%;\n display: flex;\n align-items: center;\n cursor: pointer;\n padding-right: calc(1rem - 1px);\n padding-left: calc(1rem - 1px);\n\n @include mixins.min(lg) {\n padding: 0 calc(1.125rem - 1px);\n }\n\n @include mixins.min(xl) {\n padding: 0 calc(1.5rem - 1px);\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n .visually-hidden {\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n\n font-weight: 300;\n margin-right: 0.5rem;\n cursor: pointer;\n }\n }\n}\n\n.flyout {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n background: white;\n overflow: auto;\n overscroll-behavior: contain;\n padding-top: 3.25rem;\n padding-bottom: 3.25rem;\n z-index: -1;\n transform: translateY(-100%);\n transition: transform 0.35s, box-shadow 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n @include mixins.min(lg) {\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\n\n &.open {\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\n }\n }\n\n @include mixins.max(lg) {\n height: calc(100vh - var(--header-height) - 1px);\n }\n\n &.open {\n transform: translateY(0);\n }\n}\n\n.form-floating {\n .form-control,\n .form-control + label {\n padding-right: post.$input-padding-x * 3;\n }\n}\n\n.start-search-button {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n display: flex;\n align-items: center;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.suggestions {\n margin: 1.5rem 0;\n\n a {\n padding: 0.75rem 1rem;\n\n &:hover,\n &:focus,\n &.selected {\n background: color.$gray-background;\n }\n\n &.parcel-suggestion {\n flex-wrap: wrap;\n }\n }\n}\n\n.search-recommendation__icon {\n height: 1.5em;\n width: 1.5em;\n}\n","import { Component, Host, h, State, Event, EventEmitter, Method, Element } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\nimport { state } from '../../data/store';\nimport { CoveoCompletion } from '../../models/coveo.model';\nimport { GeocodeLocation } from '../../models/geocode.model';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n IsFocusable,\n} from '../../models/header.model';\nimport { getSearchRedirectUrl, equalizeArrays } from '../../services/search/search.service';\nimport { getCoveoSuggestions } from '../../services/search/coveo.service';\nimport {\n getPlacesUrl,\n highlightPlacesString,\n queryPlaces,\n} from '../../services/search/places.service';\nimport { userPrefersReducedMotion, elementHasTransition } from '../../services/ui.service';\nimport { HighlightedText } from '../../utils/highlighted.component';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\nimport { getParcelSuggestion } from '../../services/search/parcel.service';\nimport { If } from '../../utils/if.component';\n\n@Component({\n tag: 'post-search',\n styleUrl: 'post-search.scss',\n shadow: true,\n})\nexport class PostSearch implements HasDropdown, IsFocusable {\n @State() searchDropdownOpen = false;\n @State() coveoSuggestions: CoveoCompletion[] = [];\n @State() placeSuggestions: GeocodeLocation[] = [];\n @State() parcelSuggestion: (TrackAndTraceInfo & { url: string }) | null = null;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Element() host: DropdownElement;\n private searchBox?: HTMLInputElement;\n private searchFlyout: HTMLElement | undefined;\n private throttledResize: throttle<() => void>;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n clearAllBodyScrollLocks();\n }\n\n componentWillUpdate() {\n // Check if search flyout got set to close\n if (this.searchFlyout && !this.searchDropdownOpen) {\n this.searchFlyout.classList.remove('open');\n\n // Check if element has transition applied and whether user prefers to see animations or not\n if (elementHasTransition(this.searchFlyout, 'transform') && !userPrefersReducedMotion()) {\n // Wait for CSS transition 'transform' to end before continuing\n return new Promise<boolean>(resolve => {\n if (this.searchFlyout === undefined) {\n return resolve(true);\n }\n\n this.searchFlyout.addEventListener('transitionend', event => {\n if (event.propertyName === 'transform') {\n resolve(true);\n }\n });\n });\n }\n }\n }\n\n componentDidUpdate() {\n // Search flyout got set to open\n if (this.searchFlyout && this.searchDropdownOpen) {\n // Force browser to redraw/refresh DOM before adding 'open' class\n this.searchFlyout.getBoundingClientRect();\n this.searchFlyout.classList.add('open');\n }\n\n // Focus on the searchBox whenever the dropdown is opened\n if (this.searchDropdownOpen && this.searchBox) {\n this.searchBox.focus({ preventScroll: true });\n }\n }\n\n public async toggleDropdown(event?: Event): Promise<boolean>;\n public async toggleDropdown(force?: boolean): Promise<boolean>;\n\n /**\n * Toggle the dropdown and optionally force an open/closed state\n * @param force Boolean to force open/closed state\n * @returns Boolean indicating open state of the component\n */\n @Method()\n async toggleDropdown(force?: unknown) {\n this.searchDropdownOpen =\n force === undefined || typeof force !== 'boolean' ? !this.searchDropdownOpen : force;\n this.dropdownToggled.emit({ open: this.searchDropdownOpen, element: this.host });\n\n if (!this.searchDropdownOpen) {\n // Reset suggestions when dropdown closes\n this.coveoSuggestions = [];\n this.placeSuggestions = [];\n if (this.searchBox) this.searchBox.value = '';\n this.setFocus();\n } else {\n // Get basic suggestions when dropdown opens\n try {\n this.coveoSuggestions = await getCoveoSuggestions('');\n } catch {}\n }\n\n this.setBodyScroll();\n\n return this.searchDropdownOpen;\n }\n\n /**\n * Sets the focus on the search button\n */\n @Method()\n public async setFocus() {\n const shadowRoot = this.host.shadowRoot;\n if (shadowRoot === null) {\n return;\n }\n const toggleButton = shadowRoot.querySelector<HTMLElement>('.search-button');\n if (toggleButton) {\n toggleButton.focus();\n }\n }\n\n private handleResize() {\n // Only enable/disable body scroll on resize if the search dropdown is open, otherwise this could lead to side effects in other controls\n if (this.searchDropdownOpen) {\n this.setBodyScroll();\n }\n }\n\n /**\n * Disable or re-enable body scrolling, depending on whether search dropdown is open or closed in mobile view (width < 1024px)\n */\n private setBodyScroll() {\n if (this.searchDropdownOpen && window.innerWidth < 1024) {\n disableBodyScroll(this.searchFlyout);\n } else {\n enableBodyScroll(this.searchFlyout);\n }\n }\n\n /**\n * Fetch suggestions from all available sources\n */\n private async handleSearchInput() {\n if (this.searchBox === undefined || state.localizedConfig?.header.search === undefined) {\n return;\n }\n const query = this.searchBox.value.trim();\n\n const [placeSuggestions, coveoSuggestions, trackAndTraceInfo] = await Promise.all([\n queryPlaces(query),\n getCoveoSuggestions(query),\n getParcelSuggestion(query, state.localizedConfig.header.search),\n ]);\n\n this.parcelSuggestion = trackAndTraceInfo;\n\n // Parcel suggestion is more important than any other\n if (trackAndTraceInfo) {\n this.placeSuggestions = [];\n this.coveoSuggestions = [];\n } else {\n [this.coveoSuggestions, this.placeSuggestions] = equalizeArrays(\n coveoSuggestions,\n placeSuggestions,\n 7,\n );\n }\n\n this.deselectSuggestion();\n }\n\n /**\n * Start search on enter\n * @param event\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (this.searchFlyout === undefined) {\n return;\n }\n\n let selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n if (selectedSuggestion) {\n const selectedHref = selectedSuggestion.getAttribute('href');\n if (selectedHref !== null) {\n window.location.href = selectedHref;\n }\n } else {\n this.startSearch();\n }\n\n break;\n case 'arrowdown':\n case 'arrowup':\n const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');\n\n this.deselectSuggestion();\n\n if (event.key.toLowerCase() === 'arrowdown') {\n if (selectedSuggestion?.parentElement?.nextElementSibling?.firstElementChild) {\n // Select next suggestion if there's any, otherwise none will be selected\n selectedSuggestion.parentElement.nextElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n } else {\n // If there are any suggestions, select first suggestion in list\n if (suggestions.length > 0) {\n suggestions[0].classList.add('selected');\n }\n }\n } else if (event.key.toLowerCase() === 'arrowup') {\n if (selectedSuggestion?.parentElement?.previousElementSibling?.firstElementChild) {\n // Select previous suggestion if there's any, otherwise none will be selected\n\n selectedSuggestion.parentElement.previousElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n } else {\n // If there are any suggestions, select last suggestion in list\n if (suggestions.length > 0) {\n suggestions[suggestions.length - 1].classList.add('selected');\n }\n }\n }\n\n // Get the newly selected suggestion\n selectedSuggestion = this.searchFlyout.querySelector('.suggestions > li > a.selected');\n const suggestedText = selectedSuggestion?.dataset.suggestionText;\n\n // Update search box value with selected suggestion text\n if (suggestedText !== undefined && this.searchBox) {\n this.searchBox.value = suggestedText;\n }\n\n break;\n }\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseEnterSuggestion(event: MouseEvent) {\n this.deselectSuggestion();\n\n // Set hovered suggestion element as selected\n (event.target as HTMLElement).classList.add('selected');\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseLeaveSuggestions() {\n this.deselectSuggestion();\n }\n\n /**\n * Deselect any previously selected suggestion\n */\n private deselectSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n const selectedSuggestion = this.searchFlyout.querySelector('.suggestions .selected');\n\n if (selectedSuggestion) {\n selectedSuggestion.classList.remove('selected');\n }\n }\n\n /**\n * Redirect to the post search page\n */\n private async startSearch() {\n if (this.searchBox && state.localizedConfig?.header.search) {\n const redirectUrl = await getSearchRedirectUrl(\n this.searchBox.value.trim(),\n state.localizedConfig.header.search,\n );\n if (!redirectUrl) return;\n window.location.href = redirectUrl;\n }\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) {\n return;\n }\n const { translations, search } = state.localizedConfig.header;\n const showPortalRecommendations =\n this.searchBox?.value === '' && search.searchRecommendations?.links.length > 0;\n\n return (\n <Host>\n <SvgSprite />\n <div class=\"search\">\n <button\n id=\"post-internet-header-search-button\"\n class=\"search-button\"\n type=\"button\"\n aria-expanded={`${this.searchDropdownOpen}`}\n onClick={e => this.toggleDropdown(e)}\n >\n <span class=\"visually-hidden\">\n {this.searchDropdownOpen\n ? translations.searchToggleExpanded\n : translations.searchToggle}\n </span>\n <SvgIcon name={this.searchDropdownOpen ? 'pi-close' : 'pi-search'} />\n </button>\n <If condition={this.searchDropdownOpen}>\n <div class=\"flyout\" ref={e => (this.searchFlyout = e)}>\n <div class=\"container box\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-md-10 col-lg-8\">\n <div class=\"form-group form-floating\">\n <input\n type=\"text\"\n id=\"searchBox\"\n class=\"form-control form-control-lg\"\n placeholder={translations.flyoutSearchBoxFloatingLabel}\n autocomplete=\"off\"\n ref={el => (this.searchBox = el)}\n onInput={() => this.handleSearchInput()}\n onKeyDown={e => this.handleKeyDown(e)}\n />\n <label htmlFor=\"searchBox\">{translations.flyoutSearchBoxFloatingLabel}</label>\n <button\n onClick={() => this.startSearch()}\n class=\"nav-link start-search-button\"\n >\n <span class=\"visually-hidden\">{translations.searchSubmit}</span>\n <SvgIcon name=\"pi-search\" />\n </button>\n </div>\n {showPortalRecommendations && (\n <h2\n id=\"post-internet-header-search-recommendations-title\"\n class=\"bold\"\n >{search.searchRecommendations.title}</h2>\n )}\n <ul\n class=\"suggestions no-list\"\n onMouseLeave={() => this.handleMouseLeaveSuggestions()}\n aria-labelledby={showPortalRecommendations\n ? 'post-internet-header-search-recommendations-title'\n : undefined\n }\n >\n {showPortalRecommendations &&\n search.searchRecommendations.links.map(recommendation => (\n <li key={recommendation.href}>\n <a\n class=\"nav-link search-recommendation\"\n href={new URL(recommendation.href, 'https://post.ch').href}\n data-suggestion-text={recommendation.label}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <span\n class=\"search-recommendation__icon\"\n innerHTML={recommendation.inlineSvg}\n ></span>\n <span>{recommendation.label}</span>\n </a>\n </li>\n ))}\n {this.parcelSuggestion && this.parcelSuggestion.ok && (\n <li>\n <a\n class=\"nav-link parcel-suggestion\"\n href={this.parcelSuggestion.url}\n data-suggestion-text={this.searchBox?.value}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-letter-parcel\" />\n <span class=\"bold\">{this.parcelSuggestion?.sending?.id}:&nbsp;</span>\n <span>\n {this.parcelSuggestion?.sending?.product},{' '}\n {this.parcelSuggestion?.sending?.recipient.zipcode}{' '}\n {this.parcelSuggestion?.sending?.recipient.city},{' '}\n {this.parcelSuggestion?.sending?.state}\n </span>\n </a>\n </li>\n )}\n {!showPortalRecommendations &&\n this.coveoSuggestions &&\n this.coveoSuggestions.map(suggestion => (\n <li key={suggestion.objectId}>\n <a\n class=\"nav-link\"\n href={suggestion.redirectUrl}\n data-suggestion-text={suggestion.expression}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-search\" />\n <HighlightedText text={suggestion.highlighted} />\n </a>\n </li>\n ))}\n {!showPortalRecommendations &&\n this.placeSuggestions &&\n this.placeSuggestions.map(suggestion => (\n <li key={suggestion.id}>\n <a\n class=\"nav-link\"\n href={getPlacesUrl(suggestion)}\n data-suggestion-text={suggestion.name}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-place\" />\n <HighlightedText\n text={highlightPlacesString(\n this.searchBox?.value?.trim(),\n suggestion.name,\n )}\n />\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n </div>\n </div>\n </If>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}