@swisspost/internet-header 1.9.1 → 1.10.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 (160) hide show
  1. package/dist/cjs/{language.service-9334ca5d.js → language.service-672abba5.js} +2 -2
  2. package/dist/cjs/language.service-672abba5.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/post-klp-login-widget.cjs.entry.js +1 -1
  5. package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
  6. package/dist/cjs/post-language-switch.cjs.entry.js +1 -1
  7. package/dist/cjs/post-main-navigation.cjs.entry.js +2 -2
  8. package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
  9. package/dist/cjs/post-search.cjs.entry.js +4 -1
  10. package/dist/cjs/post-search.cjs.entry.js.map +1 -1
  11. package/dist/cjs/post-skiplinks.cjs.entry.js +1 -1
  12. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +1328 -8
  13. package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
  14. package/dist/cjs/swisspost-internet-footer.cjs.entry.js +2 -2
  15. package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
  16. package/dist/cjs/swisspost-internet-header.cjs.entry.js +65 -35
  17. package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
  18. package/dist/cjs/swisspost-internet-header.cjs.js +1 -1
  19. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +35 -27
  20. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +57 -6
  21. package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
  22. package/dist/collection/components/post-internet-footer/post-internet-footer.css +29 -21
  23. package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +6 -3
  24. package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js.map +1 -1
  25. package/dist/collection/components/post-internet-header/post-internet-header.js +33 -26
  26. package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
  27. package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +8 -4
  28. package/dist/collection/components/post-main-navigation/post-main-navigation.css +6 -2
  29. package/dist/collection/components/post-search/post-search.css +119 -564
  30. package/dist/collection/components/post-search/post-search.js +3 -0
  31. package/dist/collection/components/post-search/post-search.js.map +1 -1
  32. package/dist/collection/services/language.service.js +1 -1
  33. package/dist/collection/services/language.service.js.map +1 -1
  34. package/dist/collection/utils/scrollparent.js +21 -0
  35. package/dist/collection/utils/scrollparent.js.map +1 -0
  36. package/dist/components/language.service.js +1 -1
  37. package/dist/components/language.service.js.map +1 -1
  38. package/dist/components/post-klp-login-widget2.js +1 -1
  39. package/dist/components/post-klp-login-widget2.js.map +1 -1
  40. package/dist/components/post-main-navigation2.js +1 -1
  41. package/dist/components/post-main-navigation2.js.map +1 -1
  42. package/dist/components/post-search2.js +4 -1
  43. package/dist/components/post-search2.js.map +1 -1
  44. package/dist/components/swisspost-internet-breadcrumbs.js +1329 -8
  45. package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
  46. package/dist/components/swisspost-internet-footer.js +1 -1
  47. package/dist/components/swisspost-internet-footer.js.map +1 -1
  48. package/dist/components/swisspost-internet-header.js +66 -36
  49. package/dist/components/swisspost-internet-header.js.map +1 -1
  50. package/dist/docs.json +34 -4
  51. package/dist/esm/{language.service-bd0f3b6f.js → language.service-4289815d.js} +2 -2
  52. package/dist/esm/language.service-4289815d.js.map +1 -0
  53. package/dist/esm/loader.js +1 -1
  54. package/dist/esm/post-klp-login-widget.entry.js +1 -1
  55. package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
  56. package/dist/esm/post-language-switch.entry.js +1 -1
  57. package/dist/esm/post-main-navigation.entry.js +2 -2
  58. package/dist/esm/post-main-navigation.entry.js.map +1 -1
  59. package/dist/esm/post-search.entry.js +4 -1
  60. package/dist/esm/post-search.entry.js.map +1 -1
  61. package/dist/esm/post-skiplinks.entry.js +1 -1
  62. package/dist/esm/swisspost-internet-breadcrumbs.entry.js +1328 -8
  63. package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  64. package/dist/esm/swisspost-internet-footer.entry.js +2 -2
  65. package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
  66. package/dist/esm/swisspost-internet-header.entry.js +65 -35
  67. package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
  68. package/dist/esm/swisspost-internet-header.js +1 -1
  69. package/dist/esm-es5/language.service-4289815d.js +2 -0
  70. package/dist/esm-es5/language.service-4289815d.js.map +1 -0
  71. package/dist/esm-es5/loader.js +1 -1
  72. package/dist/esm-es5/loader.js.map +1 -1
  73. package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
  74. package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
  75. package/dist/esm-es5/post-language-switch.entry.js +1 -1
  76. package/dist/esm-es5/post-main-navigation.entry.js +1 -1
  77. package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
  78. package/dist/esm-es5/post-search.entry.js +1 -1
  79. package/dist/esm-es5/post-search.entry.js.map +1 -1
  80. package/dist/esm-es5/post-skiplinks.entry.js +1 -1
  81. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +2 -2
  82. package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
  83. package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
  84. package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
  85. package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
  86. package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
  87. package/dist/esm-es5/swisspost-internet-header.js +1 -1
  88. package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
  89. package/dist/swisspost-internet-header/{p-0dd2de97.entry.js → p-02df8ca4.entry.js} +2 -2
  90. package/dist/swisspost-internet-header/p-0de024c6.system.entry.js +2 -0
  91. package/dist/swisspost-internet-header/{p-0bfadd54.system.entry.js.map → p-0de024c6.system.entry.js.map} +1 -1
  92. package/dist/swisspost-internet-header/p-2ab12ef9.entry.js +2 -0
  93. package/dist/swisspost-internet-header/{p-273fd39b.entry.js.map → p-2ab12ef9.entry.js.map} +1 -1
  94. package/dist/swisspost-internet-header/p-33f6c69f.entry.js +2 -0
  95. package/dist/swisspost-internet-header/{p-9ab24fb3.entry.js.map → p-33f6c69f.entry.js.map} +1 -1
  96. package/dist/swisspost-internet-header/p-34da85e6.system.entry.js +2 -0
  97. package/dist/swisspost-internet-header/{p-e2df6e93.system.entry.js.map → p-34da85e6.system.entry.js.map} +1 -1
  98. package/dist/swisspost-internet-header/p-3cfe4534.entry.js +2 -0
  99. package/dist/swisspost-internet-header/p-3cfe4534.entry.js.map +1 -0
  100. package/dist/swisspost-internet-header/p-43320028.system.entry.js +2 -0
  101. package/dist/swisspost-internet-header/p-43320028.system.entry.js.map +1 -0
  102. package/dist/swisspost-internet-header/p-55fbc914.entry.js +2 -0
  103. package/dist/swisspost-internet-header/{p-64e1182b.entry.js.map → p-55fbc914.entry.js.map} +1 -1
  104. package/dist/swisspost-internet-header/p-5d893017.system.js +1 -1
  105. package/dist/swisspost-internet-header/p-5d893017.system.js.map +1 -1
  106. package/dist/swisspost-internet-header/p-6dc0fc47.system.entry.js +2 -0
  107. package/dist/swisspost-internet-header/p-6dc0fc47.system.entry.js.map +1 -0
  108. package/dist/swisspost-internet-header/p-75dde9a2.entry.js +7 -0
  109. package/dist/swisspost-internet-header/p-75dde9a2.entry.js.map +1 -0
  110. package/dist/swisspost-internet-header/{p-6f69aff4.system.entry.js → p-781ea7c2.system.entry.js} +2 -2
  111. package/dist/swisspost-internet-header/p-a5f5bb55.js +2 -0
  112. package/dist/swisspost-internet-header/p-a5f5bb55.js.map +1 -0
  113. package/dist/swisspost-internet-header/{p-131078ce.system.entry.js → p-a691c791.system.entry.js} +2 -2
  114. package/dist/swisspost-internet-header/p-b5758d6a.system.entry.js +7 -0
  115. package/dist/swisspost-internet-header/p-b5758d6a.system.entry.js.map +1 -0
  116. package/dist/swisspost-internet-header/p-bf99c127.system.js +2 -0
  117. package/dist/swisspost-internet-header/p-bf99c127.system.js.map +1 -0
  118. package/dist/swisspost-internet-header/{p-9ec1f474.entry.js → p-cbba35a8.entry.js} +2 -2
  119. package/dist/swisspost-internet-header/p-cf9fb780.system.entry.js +2 -0
  120. package/dist/swisspost-internet-header/{p-a366648c.system.entry.js.map → p-cf9fb780.system.entry.js.map} +1 -1
  121. package/dist/swisspost-internet-header/p-db8023e1.entry.js +2 -0
  122. package/dist/swisspost-internet-header/{p-262611f7.entry.js.map → p-db8023e1.entry.js.map} +1 -1
  123. package/dist/swisspost-internet-header/swisspost-internet-header.css +1 -3
  124. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
  125. package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
  126. package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +8 -3
  127. package/dist/types/components/post-internet-header/post-internet-header.d.ts +4 -3
  128. package/dist/types/components.d.ts +11 -6
  129. package/dist/types/services/language.service.d.ts +2 -5
  130. package/dist/types/utils/scrollparent.d.ts +1 -0
  131. package/package.json +12 -11
  132. package/dist/cjs/language.service-9334ca5d.js.map +0 -1
  133. package/dist/esm/language.service-bd0f3b6f.js.map +0 -1
  134. package/dist/esm-es5/language.service-bd0f3b6f.js +0 -2
  135. package/dist/esm-es5/language.service-bd0f3b6f.js.map +0 -1
  136. package/dist/swisspost-internet-header/p-06d32a28.entry.js +0 -7
  137. package/dist/swisspost-internet-header/p-06d32a28.entry.js.map +0 -1
  138. package/dist/swisspost-internet-header/p-0bfadd54.system.entry.js +0 -2
  139. package/dist/swisspost-internet-header/p-1078e964.system.entry.js +0 -2
  140. package/dist/swisspost-internet-header/p-1078e964.system.entry.js.map +0 -1
  141. package/dist/swisspost-internet-header/p-262611f7.entry.js +0 -2
  142. package/dist/swisspost-internet-header/p-273fd39b.entry.js +0 -2
  143. package/dist/swisspost-internet-header/p-4099b274.system.js +0 -2
  144. package/dist/swisspost-internet-header/p-4099b274.system.js.map +0 -1
  145. package/dist/swisspost-internet-header/p-5baac371.system.entry.js +0 -2
  146. package/dist/swisspost-internet-header/p-5baac371.system.entry.js.map +0 -1
  147. package/dist/swisspost-internet-header/p-64e1182b.entry.js +0 -2
  148. package/dist/swisspost-internet-header/p-7bed0797.js +0 -2
  149. package/dist/swisspost-internet-header/p-7bed0797.js.map +0 -1
  150. package/dist/swisspost-internet-header/p-97c90e22.system.entry.js +0 -7
  151. package/dist/swisspost-internet-header/p-97c90e22.system.entry.js.map +0 -1
  152. package/dist/swisspost-internet-header/p-9ab24fb3.entry.js +0 -2
  153. package/dist/swisspost-internet-header/p-a366648c.system.entry.js +0 -2
  154. package/dist/swisspost-internet-header/p-e2df6e93.system.entry.js +0 -2
  155. package/dist/swisspost-internet-header/p-f531c1ea.entry.js +0 -2
  156. package/dist/swisspost-internet-header/p-f531c1ea.entry.js.map +0 -1
  157. /package/dist/swisspost-internet-header/{p-0dd2de97.entry.js.map → p-02df8ca4.entry.js.map} +0 -0
  158. /package/dist/swisspost-internet-header/{p-6f69aff4.system.entry.js.map → p-781ea7c2.system.entry.js.map} +0 -0
  159. /package/dist/swisspost-internet-header/{p-131078ce.system.entry.js.map → p-a691c791.system.entry.js.map} +0 -0
  160. /package/dist/swisspost-internet-header/{p-9ec1f474.entry.js.map → p-cbba35a8.entry.js.map} +0 -0
@@ -108,6 +108,9 @@ export class PostSearch {
108
108
  * Disable or re-enable body scrolling, depending on whether search dropdown is open or closed in mobile view (width < 1024px)
109
109
  */
110
110
  setBodyScroll() {
111
+ if (!this.searchFlyout) {
112
+ return;
113
+ }
111
114
  if (this.searchDropdownOpen && window.innerWidth < 1024) {
112
115
  disableBodyScroll(this.searchFlyout);
113
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"post-search.js","sourceRoot":"","sources":["../../../../src/components/post-search/post-search.tsx"],"names":[],"mappings":"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","sourcesContent":["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 { TagManagerDataLayer } from '../../models/general.model';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n ISearchRecommendation,\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 void 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 const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n const selectedHref = selectedSuggestion?.getAttribute('href') ?? null;\n const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n if (selectedHref !== null) {\n window.location.href = selectedHref;\n } else {\n void this.startSearch();\n }\n\n break;\n case 'arrowdown':\n this.deselectSuggestion();\n\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 // If there are any suggestions, select first suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[0].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\n\n break;\n case 'arrowup':\n this.deselectSuggestion();\n\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 // If there are any suggestions, select last suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[suggestions.length - 1].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\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 * Update search box with selected suggestion\n */\n private updateSearchBoxWithSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n // Get the newly selected suggestion\n const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\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\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 private trackRecommendationClick(recommendation: ISearchRecommendation) {\n if (!('dataLayer' in window)) return;\n\n const trackingAttributes = recommendation.additionalAttributes.reduce((acc, curr) => {\n acc[curr.name] = curr.value;\n return acc;\n }, {});\n\n (window.dataLayer as TagManagerDataLayer).push({\n event: trackingAttributes['data-event'],\n text: trackingAttributes['data-text'],\n link_url: trackingAttributes['data-linkurl'],\n label: trackingAttributes['data-label'],\n type: trackingAttributes['data-type'],\n });\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) {\n return;\n }\n const { translations, search } = state.localizedConfig.header;\n const isParcelTrackingNr = this.parcelSuggestion && 'sending' in this.parcelSuggestion;\n const showPortalRecommendations =\n this.searchBox?.value === '' && search.searchRecommendations?.links.length > 0;\n\n return (\n <Host role=\"search\">\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 => void 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 role=\"searchbox\"\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={() => void this.handleSearchInput()}\n onKeyDown={e => this.handleKeyDown(e)}\n />\n <label htmlFor=\"searchBox\">{translations.flyoutSearchBoxFloatingLabel}</label>\n <button onClick={() => void this.startSearch()} class=\"start-search-button\">\n <span class=\"visually-hidden\">{translations.searchSubmit}</span>\n <SvgIcon name=\"pi-search\" />\n </button>\n </div>\n {showPortalRecommendations && (\n <h2 id=\"post-internet-header-search-recommendations-title\" class=\"bold\">\n {search.searchRecommendations.title}\n </h2>\n )}\n <ul\n class=\"suggestions no-list\"\n onMouseLeave={() => this.handleMouseLeaveSuggestions()}\n aria-labelledby={\n 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 onClick={() => this.trackRecommendationClick(recommendation)}\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 {isParcelTrackingNr && (\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 {[\n this.parcelSuggestion?.sending?.product,\n ' ' + this.parcelSuggestion?.sending?.recipient.zipcode,\n ' ' + this.parcelSuggestion?.sending?.recipient.city,\n ', ' + this.parcelSuggestion?.sending?.state,\n ]\n .filter(s => s !== '' && s !== ' ')\n .join('')}\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"]}
1
+ {"version":3,"file":"post-search.js","sourceRoot":"","sources":["../../../../src/components/post-search/post-search.tsx"],"names":[],"mappings":"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","sourcesContent":["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 { TagManagerDataLayer } from '../../models/general.model';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n ISearchRecommendation,\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 void 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.searchFlyout) {\n return;\n }\n\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 const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n const selectedHref = selectedSuggestion?.getAttribute('href') ?? null;\n const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n if (selectedHref !== null) {\n window.location.href = selectedHref;\n } else {\n void this.startSearch();\n }\n\n break;\n case 'arrowdown':\n this.deselectSuggestion();\n\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 // If there are any suggestions, select first suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[0].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\n\n break;\n case 'arrowup':\n this.deselectSuggestion();\n\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 // If there are any suggestions, select last suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[suggestions.length - 1].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\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 * Update search box with selected suggestion\n */\n private updateSearchBoxWithSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n // Get the newly selected suggestion\n const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\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\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 private trackRecommendationClick(recommendation: ISearchRecommendation) {\n if (!('dataLayer' in window)) return;\n\n const trackingAttributes = recommendation.additionalAttributes.reduce((acc, curr) => {\n acc[curr.name] = curr.value;\n return acc;\n }, {});\n\n (window.dataLayer as TagManagerDataLayer).push({\n event: trackingAttributes['data-event'],\n text: trackingAttributes['data-text'],\n link_url: trackingAttributes['data-linkurl'],\n label: trackingAttributes['data-label'],\n type: trackingAttributes['data-type'],\n });\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) {\n return;\n }\n const { translations, search } = state.localizedConfig.header;\n const isParcelTrackingNr = this.parcelSuggestion && 'sending' in this.parcelSuggestion;\n const showPortalRecommendations =\n this.searchBox?.value === '' && search.searchRecommendations?.links.length > 0;\n\n return (\n <Host role=\"search\">\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 => void 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 role=\"searchbox\"\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={() => void this.handleSearchInput()}\n onKeyDown={e => this.handleKeyDown(e)}\n />\n <label htmlFor=\"searchBox\">{translations.flyoutSearchBoxFloatingLabel}</label>\n <button onClick={() => void this.startSearch()} class=\"start-search-button\">\n <span class=\"visually-hidden\">{translations.searchSubmit}</span>\n <SvgIcon name=\"pi-search\" />\n </button>\n </div>\n {showPortalRecommendations && (\n <h2 id=\"post-internet-header-search-recommendations-title\" class=\"bold\">\n {search.searchRecommendations.title}\n </h2>\n )}\n <ul\n class=\"suggestions no-list\"\n onMouseLeave={() => this.handleMouseLeaveSuggestions()}\n aria-labelledby={\n 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 onClick={() => this.trackRecommendationClick(recommendation)}\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 {isParcelTrackingNr && (\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 {[\n this.parcelSuggestion?.sending?.product,\n ' ' + this.parcelSuggestion?.sending?.recipient.zipcode,\n ' ' + this.parcelSuggestion?.sending?.recipient.city,\n ', ' + this.parcelSuggestion?.sending?.state,\n ]\n .filter(s => s !== '' && s !== ' ')\n .join('')}\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"]}
@@ -3,7 +3,7 @@ import { state } from '../data/store';
3
3
  export const getUserLang = (supportedLanguages, implementorPreferredLanguage, localStorageKey, cookieKey) => {
4
4
  // If there are no supported languages, well...
5
5
  if (supportedLanguages.length === 0) {
6
- return undefined;
6
+ return 'de';
7
7
  }
8
8
  // If there is only one language in the config, use this
9
9
  if (supportedLanguages.length === 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"language.service.js","sourceRoot":"","sources":["../../../src/services/language.service.ts"],"names":[],"mappings":"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","sourcesContent":["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"]}
1
+ {"version":3,"file":"language.service.js","sourceRoot":"","sources":["../../../src/services/language.service.ts"],"names":[],"mappings":"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","sourcesContent":["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 'de';\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"]}
@@ -0,0 +1,21 @@
1
+ const isScrollable = (node) => {
2
+ if (!(node instanceof HTMLElement || node instanceof SVGElement)) {
3
+ return false;
4
+ }
5
+ const style = getComputedStyle(node);
6
+ return ['overflow', 'overflow-x', 'overflow-y'].some(propertyName => {
7
+ const value = style.getPropertyValue(propertyName);
8
+ return value === 'auto' || value === 'scroll';
9
+ });
10
+ };
11
+ export const getScrollParent = (node) => {
12
+ let currentParent = node.parentElement;
13
+ while (currentParent) {
14
+ if (isScrollable(currentParent)) {
15
+ return currentParent;
16
+ }
17
+ currentParent = currentParent.parentElement;
18
+ }
19
+ return document;
20
+ };
21
+ //# sourceMappingURL=scrollparent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollparent.js","sourceRoot":"","sources":["../../../src/utils/scrollparent.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,EAAE;EACrC,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,UAAU,CAAC,EAAE;IAChE,OAAO,KAAK,CAAC;GACd;EACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;EACrC,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACnD,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC;EAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAa,EAAsB,EAAE;EACnE,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;EACvC,OAAO,aAAa,EAAE;IACpB,IAAI,YAAY,CAAC,aAAa,CAAC,EAAE;MAC/B,OAAO,aAAa,CAAC;KACtB;IACD,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;GAC7C;EACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC","sourcesContent":["const isScrollable = (node: Element) => {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return false;\n }\n const style = getComputedStyle(node);\n return ['overflow', 'overflow-x', 'overflow-y'].some(propertyName => {\n const value = style.getPropertyValue(propertyName);\n return value === 'auto' || value === 'scroll';\n });\n};\n\nexport const getScrollParent = (node: Element): Element | Document => {\n let currentParent = node.parentElement;\n while (currentParent) {\n if (isScrollable(currentParent)) {\n return currentParent;\n }\n currentParent = currentParent.parentElement;\n }\n return document;\n};\n"]}
@@ -66,7 +66,7 @@ const translations = {
66
66
  const getUserLang = (supportedLanguages, implementorPreferredLanguage, localStorageKey, cookieKey) => {
67
67
  // If there are no supported languages, well...
68
68
  if (supportedLanguages.length === 0) {
69
- return undefined;
69
+ return 'de';
70
70
  }
71
71
  // If there is only one language in the config, use this
72
72
  if (supportedLanguages.length === 1) {
@@ -1 +1 @@
1
- {"file":"language.service.js","mappings":"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","names":[],"sources":["./src/assets/i18n/translations.ts","./src/services/language.service.ts"],"sourcesContent":["export const translations = {\n 'Active navigation element': {\n de: 'Aktives Navigationselement',\n fr: 'Élément de navigation actif',\n it: 'Elemento di navigazione attivo',\n },\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 'Skip Links': {\n de: 'Sprung Links',\n fr: 'Sauter les liens',\n it: 'Salta i link',\n },\n 'Intermediary links': {\n de: 'Intermediäre Links',\n fr: 'Liens intermédiaires',\n it: 'Collegamenti intermedi',\n },\n 'Cookie Settings': {\n de: 'Cookie-Einstellungen',\n fr: 'Configurations des cookies',\n it: 'Impostazioni dei cookie',\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"],"version":3}
1
+ {"file":"language.service.js","mappings":"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","names":[],"sources":["./src/assets/i18n/translations.ts","./src/services/language.service.ts"],"sourcesContent":["export const translations = {\n 'Active navigation element': {\n de: 'Aktives Navigationselement',\n fr: 'Élément de navigation actif',\n it: 'Elemento di navigazione attivo',\n },\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 'Skip Links': {\n de: 'Sprung Links',\n fr: 'Sauter les liens',\n it: 'Salta i link',\n },\n 'Intermediary links': {\n de: 'Intermediäre Links',\n fr: 'Liens intermédiaires',\n it: 'Collegamenti intermedi',\n },\n 'Cookie Settings': {\n de: 'Cookie-Einstellungen',\n fr: 'Configurations des cookies',\n it: 'Impostazioni dei cookie',\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 'de';\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"],"version":3}
@@ -3,7 +3,7 @@ import { s as state } from './store.js';
3
3
  import { S as SvgSprite } from './svg-sprite.component.js';
4
4
  import { S as SvgIcon } from './svg-icon.component.js';
5
5
 
6
- const postKlpLoginWidgetCss = ".btn-default,.btn-secondary{border:2px solid var(--post-gray-60)}.btn-default:focus,.btn-secondary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary{border-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary{border-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-secondary{border-color:var(--post-gray-40)}.btn-default:disabled,.btn-secondary:disabled{border-color:var(--post-gray-40);color:var(--post-gray-60)}.btn-default:focus,.btn-secondary:focus,.btn-link:focus,.btn-tertiary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.btn-link:not(:disabled):hover,.btn-tertiary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary,.pretend-hover.btn-link,.pretend-hover.btn-tertiary{color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-link .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-tertiary .pi{-webkit-filter:invert(1);filter:invert(1)}.btn{min-height:3rem;font-size:1rem;gap:0.625rem;outline:none;outline-offset:2px;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;border-width:2px;border-style:solid;border-radius:4px;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:var(--post-gray-80);font-family:inherit;font-weight:400;text-decoration:none !important;white-space:nowrap}.btn:where(:not(.btn-link,.btn-tertiary)){padding:0 1rem}.btn>.pi{width:1.25rem;height:1.25rem}.btn:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.btn-primary{border-color:transparent;background-color:var(--post-gray-80);color:var(--post-contrast-color-inverted)}.btn-primary:focus,.btn-primary:not(:disabled):hover,.btn-primary.pretend-hover{background-color:var(--post-contrast-color);color:var(--post-contrast-color-inverted)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary{background-color:var(--post-contrast-color);color:var(--post-gray-10)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary.pretend-hover{background-color:var(--post-gray-80)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:disabled{color:var(--post-gray-80)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary .pi{-webkit-filter:invert(0);filter:invert(0)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-primary{border-color:var(--post-contrast-color);background-color:ButtonFace}.btn-primary:not(:disabled,.disabled):hover,.btn-primary:not(:disabled,.disabled):focus-visible{border-color:highlight}.btn-primary .pi{-webkit-filter:invert(1) !important;filter:invert(1) !important}}.btn-primary:disabled{background-color:var(--post-gray-40)}.btn-primary .pi{-webkit-filter:invert(1);filter:invert(1);forced-color-adjust:none}.btn-link,.btn-tertiary{border:0;padding-inline:0.25rem}.btn-link:disabled,.btn-tertiary:disabled{color:var(--post-gray-60)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-link,.btn-tertiary{color:linktext;text-decoration:underline !important}}.btn-icon{min-width:3rem;padding-right:0.75rem;padding-left:0.75rem}.btn-icon.btn-sm{min-width:2rem;padding-right:0.375rem;padding-left:0.375rem}.btn-icon.btn-rg{min-width:2.5rem;padding-right:0.5625rem;padding-left:0.5625rem}.btn-icon.btn-lg{min-width:3.5rem;padding-right:0.9375rem;padding-left:0.9375rem}.btn-animated:not(.btn-link,.btn-tertiary)::after{content:\"\";position:absolute;right:0.5rem;width:0.625em;height:0.625em;-webkit-transform:rotateZ(315deg) translate(-2px, -2px);transform:rotateZ(315deg) translate(-2px, -2px);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, transform 250ms;transition:opacity 250ms, transform 250ms, -webkit-transform 250ms;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:0}.btn-animated:not(.btn-link,.btn-tertiary).btn-sm::after{right:0.25rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-rg::after{right:0.375rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-lg::after{right:0.625rem}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transition:-webkit-transform 250ms;transition:-webkit-transform 250ms;transition:transform 250ms;transition:transform 250ms, -webkit-transform 250ms}@media (prefers-reduced-motion: no-preference){.btn-animated:not(.btn-link,.btn-tertiary):focus>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-sm>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-rg>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-lg>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus::after,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover::after,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover::after{-webkit-transform:rotateZ(315deg) translate(0, 0);transform:rotateZ(315deg) translate(0, 0);opacity:1}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transform:translateX(0);transform:translateX(0)}}.btn-sm{min-height:2rem;font-size:0.75rem;gap:0.375rem}.btn-sm:where(:not(.btn-link,.btn-tertiary)){padding:0 0.75rem}.btn-sm>.pi{width:1rem;height:1rem}.btn-rg{min-height:2.5rem;font-size:0.875rem;gap:0.5rem}.btn-rg:where(:not(.btn-link,.btn-tertiary)){padding:0 0.875rem}.btn-rg>.pi{width:1.125rem;height:1.125rem}.btn-lg{min-height:3.5rem;font-size:1.125rem;gap:0.75rem}.btn-lg:where(:not(.btn-link,.btn-tertiary)){padding:0 1.125rem}.btn-lg>.pi{width:1.375rem;height:1.375rem}.btn-nightblue{border-color:transparent;background-color:#004976;color:#fff}.btn-nightblue:focus,.btn-nightblue:not(:disabled):hover,.btn-nightblue.pretend-hover{background-color:#002943;color:#fff}.btn-nightblue-bright{border-color:transparent;background-color:#0076a8;color:#fff}.btn-nightblue-bright:focus,.btn-nightblue-bright:not(:disabled):hover,.btn-nightblue-bright.pretend-hover{background-color:#005275;color:#fff}.btn-petrol{border-color:transparent;background-color:#006d68;color:#fff}.btn-petrol:focus,.btn-petrol:not(:disabled):hover,.btn-petrol.pretend-hover{background-color:#003a37;color:#fff}.btn-petrol-bright{border-color:transparent;background-color:#00968f;color:#000}.btn-petrol-bright:focus,.btn-petrol-bright:not(:disabled):hover,.btn-petrol-bright.pretend-hover{background-color:#00635e;color:#fff}.btn-coral{border-color:transparent;background-color:#9e2a2f;color:#fff}.btn-coral:focus,.btn-coral:not(:disabled):hover,.btn-coral.pretend-hover{background-color:#761f23;color:#fff}.btn-coral-bright{border-color:transparent;background-color:#e03c31;color:#000}.btn-coral-bright:focus,.btn-coral-bright:not(:disabled):hover,.btn-coral-bright.pretend-hover{background-color:#c1271d;color:#fff}.btn-olive{border-color:transparent;background-color:#716135;color:#fff}.btn-olive:focus,.btn-olive:not(:disabled):hover,.btn-olive.pretend-hover{background-color:#4e4325;color:#fff}.btn-olive-bright{border-color:transparent;background-color:#aa9d2e;color:#000}.btn-olive-bright:focus,.btn-olive-bright:not(:disabled):hover,.btn-olive-bright.pretend-hover{background-color:#827823;color:#000}.btn-purple{border-color:transparent;background-color:#80276c;color:#fff}.btn-purple:focus,.btn-purple:not(:disabled):hover,.btn-purple.pretend-hover{background-color:#591b4b;color:#fff}.btn-purple-bright{border-color:transparent;background-color:#c5299b;color:#fff}.btn-purple-bright:focus,.btn-purple-bright:not(:disabled):hover,.btn-purple-bright.pretend-hover{background-color:#9b207a;color:#fff}.btn-aubergine{border-color:transparent;background-color:#523178;color:#fff}.btn-aubergine:focus,.btn-aubergine:not(:disabled):hover,.btn-aubergine.pretend-hover{background-color:#392254;color:#fff}.btn-aubergine-bright{border-color:transparent;background-color:#7566a0;color:#fff}.btn-aubergine-bright:focus,.btn-aubergine-bright:not(:disabled):hover,.btn-aubergine-bright.pretend-hover{background-color:#5e5182;color:#fff}.btn-success{border-color:transparent;background-color:#2c911c;color:#000}.btn-success:focus,.btn-success:not(:disabled):hover,.btn-success.pretend-hover{background-color:#1f6614;color:#fff}.btn-info{border-color:transparent;background-color:#cce4ee;color:#000}.btn-info:focus,.btn-info:not(:disabled):hover,.btn-info.pretend-hover{background-color:#a6d0e1;color:#000}.btn-warning{border-color:transparent;background-color:#f49e00;color:#000}.btn-warning:focus,.btn-warning:not(:disabled):hover,.btn-warning.pretend-hover{background-color:#c17d00;color:#000}.btn-danger{border-color:transparent;background-color:#a51728;color:#fff}.btn-danger:focus,.btn-danger:not(:disabled):hover,.btn-danger.pretend-hover{background-color:#78111d;color:#fff}@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:700;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.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:400;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.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\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:300;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff\") format(\"woff\")}.visually-hidden,.klp-widget-anonymous__text{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.nav-link,.login-button{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.login-button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.login-button:hover,.nav-link:focus,.login-button:focus{color:black}.nav-link:focus-visible,.login-button:focus-visible{z-index:1;position:relative}.nav-link>svg,.login-button>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span,.login-button>span{-ms-flex-negative:1;flex-shrink:1}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}*,: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}a,button{border-radius:4px;outline:none;outline-offset:2px;}a:is(:focus-visible,:focus-within,.pretend-focus),button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color);border-radius:4px}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.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}}@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}}/*!\n * ------------------------------------------------------------------------------------------------\n * Copyright 2014 by Swiss Post, Information Technology Services\n * ------------------------------------------------------------------------------------------------\n * $Id$\n * ------------------------------------------------------------------------------------------------\n */.klp-widget-support{background-color:#f49e00 !important}.klp-widget-authenticated-session-link{display:block;padding:12px 10px;text-decoration:none;outline:none}@media (min-width: 600px) and (max-width: 1279px){.klp-widget-authenticated-session-link{padding:12px 12px}}@media (min-width: 1280px){.klp-widget-authenticated-session-link{padding:16px 16px}}.klp-widget-authenticated-menu li{position:relative;display:-ms-inline-flexbox;display:inline-flex;width:296px;height:40px;margin:0;padding:0;list-style-type:none;background-color:white;border-top:none}.notification-link:active{background-color:#ffcc00 !important}.notification-link:hover,.notification-link:focus{background-color:#f4f3f1}.klp-widget-authenticated-menu li:hover>a{color:black}.klp-widget-authenticated-session-name{position:relative;display:table-cell;width:117px;height:55px;overflow:hidden;color:black;font-weight:normal;font-size:15px;font-style:normal;font-stretch:normal;line-height:1;letter-spacing:normal;white-space:nowrap;text-indent:1em;text-overflow:ellipsis;vertical-align:middle}.klp-widget-authenticated-menu a{color:rgba(0, 0, 0, 0.6);font-weight:normal;font-size:17px;font-style:normal;font-stretch:normal;line-height:17px;letter-spacing:normal}.klp-widget-authenticated-menu ul{padding-bottom:8px;padding-left:0;background-color:white;-webkit-box-shadow:0 0 3px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 3px 0 rgba(0, 0, 0, 0.4)}.klp-widget-authenticated-menu li:nth-child(2){margin:9px 0 0 0}.klp-widget-authenticated-menu li.name-and-surname:active{background-color:white}.klp-widget-authenticated-menu li.name-and-surname:hover{background-color:white}.klp-widget-anonymous{height:100%;color:rgba(0, 0, 0, 0.6)}.klp-widget-anonymous__wrapper{height:100%}.klp-widget-anonymous a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;padding:0 16px;color:rgba(0, 0, 0, 0.6);font-weight:300;font-size:1rem;text-decoration:none;background-color:white}.klp-widget-anonymous a:hover{color:rgb(0, 0, 0)}.notification-number-detail{position:relative;width:25px;height:20px;margin-left:23px;padding:2px 6px;color:white;font-size:13px;text-align:center;background-color:#a51728;border-radius:10px}li.name-and-surname{display:-ms-flexbox;display:flex;min-width:296px;height:78px;padding-top:0;vertical-align:middle;border-bottom:1px solid rgba(0, 0, 0, 0.2)}.initials-circle{position:relative;display:table;width:40px;height:40px;margin:19px 16px;overflow:hidden;color:white;background-color:#004976;border-radius:40px}.initials-container{display:table-cell;font-weight:300;font-size:17px;line-height:1.65;letter-spacing:normal;text-align:center;vertical-align:middle}.initials-mobile{display:none;visibility:hidden}.notification-link{display:-ms-flexbox;display:flex;-ms-flex:0 0 100%;flex:0 0 100%;text-decoration:none}.klp-widget-notification-link-text{overflow:hidden;font-weight:normal;font-size:17px;white-space:nowrap;text-overflow:ellipsis}li.name-and-surname span.name{position:relative;display:block;width:12em;overflow:hidden;color:black;font-weight:bold;font-size:17px;line-height:24px}li.name-and-surname span.nameCentered{position:relative;display:block;-ms-flex-item-align:center;align-self:center;width:12em;padding:0;overflow:hidden;color:black;font-weight:bold;font-size:17px;line-height:24px}li.name-and-surname span.info{position:relative;display:block;width:12em;overflow:hidden;color:black;font-weight:normal;font-size:15px;line-height:22px}li.name-and-surname span.infoHidden{position:relative;display:none;width:12em;overflow:hidden;color:black;font-weight:normal;font-size:15px;line-height:22px}.nameAndInfoWrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:224px;height:78px;padding:16px 0;line-height:46px}.widget_icon_profile{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTI0IDQwLjQ0NGE1LjM0IDUuMzQgMCAwIDAgNS4zMzMtNS4zMzNBNS4zNCA1LjM0IDAgMCAwIDI0IDI5Ljc3OGE1LjM0IDUuMzQgMCAwIDAtNS4zMzMgNS4zMzNBNS4zNCA1LjM0IDAgMCAwIDI0IDQwLjQ0NHpNMjQgMjhhNy4xMTggNy4xMTggMCAwIDEgNy4xMTEgNy4xMTFBNy4xMTggNy4xMTggMCAwIDEgMjQgNDIuMjIyYy0zLjkyIDAtNy4xMTEtMy4xOS03LjExMS03LjExQzE2Ljg4OSAzMS4xOSAyMC4wNzkgMjggMjQgMjh6bTgtMi42NjdIMTZjLTQuNDEyIDAtOC0zLjU4OS04LThWNGgxLjc3OHYxMy4zMzNBNi4yMyA2LjIzIDAgMCAwIDE2IDIzLjU1NmgxNmE2LjIzIDYuMjMgMCAwIDAgNi4yMjItNi4yMjNWNEg0MHYxMy4zMzNjMCA0LjQxMS0zLjU4OSA4LTggOHpNMTUuMTExIDRoMS43Nzh2MTIuNDQ0SDE1LjExVjR6bTE2IDBoMS43Nzh2MTIuNDQ0SDMxLjExVjR6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tNzgxLTQ3OUg2NTl2MTY4MkgtNzgxeiIvPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIvPgogICAgICAgIDwvbWFzaz4KICAgICAgICA8ZyBmaWxsPSIjNjY2IiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAgMGg0OHY0OEgweiIvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==\");background-repeat:no-repeat;background-size:contain;-webkit-transform:rotate(180deg);transform:rotate(180deg);content:\" \"}.widget_icon_settings{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;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='M26.4 20h4.267v-6.667h-4.267c-0.4-0.267-0.667-0.533-0.8-0.933-0.267-0.4-0.133-0.8-0.133-1.2l3.067-3.067-4.667-4.667-3.067 3.067c-0.4 0.133-0.8 0-1.2-0.133s-0.667-0.4-0.933-0.8v-4.267h-6.667v4.267c-0.267 0.4-0.533 0.667-0.933 0.8-0.267 0.133-0.667 0.267-1.2 0.133l-3.067-3.067-4.667 4.667 3.067 3.067c0.133 0.4 0 0.8-0.133 1.2s-0.4 0.667-0.8 0.933h-4.267v6.667h4.267c0.4 0.267 0.667 0.533 0.8 0.933s0.133 0.8 0.133 1.2l-3.067 3.067 4.667 4.667 3.067-3.067c0.4-0.133 0.8 0 1.2 0.133s0.667 0.4 0.933 0.8v4.267h6.667v-4.267c0.267-0.4 0.533-0.667 0.933-0.8s0.8-0.133 1.2-0.133l3.067 3.067 4.667-4.667-3.067-3.067c-0.133-0.4 0-0.8 0.133-1.2s0.4-0.667 0.8-0.933zM24.267 22.667v0.133l2.4 2.4-2.8 2.8-2.4-2.4h-0.133c-0.8-0.267-1.6-0.133-2.267 0.133s-1.2 0.8-1.6 1.467l-0.133 0.133v3.333h-4v-3.333l-0.133-0.133c-0.4-0.667-0.933-1.2-1.6-1.467v0c-0.667-0.4-1.467-0.4-2.267-0.133h-0.133l-2.4 2.4-2.8-2.8 2.4-2.4v-0.133c0.267-0.8 0.267-1.6-0.133-2.267-0.267-0.667-0.8-1.2-1.467-1.6l-0.133-0.133h-3.333v-4h3.333l0.133-0.133c0.667-0.4 1.2-0.933 1.467-1.6 0.4-0.667 0.4-1.467 0.133-2.267v-0.133l-2.4-2.4 2.8-2.8 2.4 2.4h0.133c0.8 0.267 1.6 0.267 2.267-0.133 0.667-0.267 1.2-0.8 1.6-1.467l0.133-0.133v-3.333h4v3.333l0.133 0.133c0.4 0.667 0.933 1.2 1.6 1.467 0.667 0.4 1.467 0.4 2.267 0.133h0.133l2.4-2.4 2.8 2.8-2.4 2.4v0.133c-0.267 0.8-0.267 1.6 0.133 2.267 0.267 0.667 0.8 1.2 1.467 1.6l0.133 0.133h3.333v4h-3.333l-0.133 0.133c-0.667 0.4-1.2 0.933-1.467 1.6-0.4 0.667-0.4 1.467-0.133 2.267z'%3E%3C/path%3E %3Cpath opacity='1' fill='%23000000' d='M15.333 10.667c-3.333 0-6 2.667-6 6s2.667 6 6 6c3.333 0 6-2.667 6-6s-2.667-6-6-6zM15.333 21.333c-2.533 0-4.667-2.133-4.667-4.667s2.133-4.667 4.667-4.667c2.533 0 4.667 2.133 4.667 4.667s-2.133 4.667-4.667 4.667z'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:contain;content:\" \"}.widget_icon_changecompany{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,IDxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MDAuMDAwMDAwcHQiIGhlaWdodD0iODYzLjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgNzAwLjAwMDAwMCA4NjMuMDAwMDAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsODYzLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIgZmlsbD0iIzY2NiIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTY3ODIgODMzOCBjLTE4IC0xOCAtMzk0MCAtMjUgLTQwNTUgLTggLTk4IDE2IC0xMDkgOSAtOTUgLTU2IDkgLTM5CjcgLTE2MiAtNCAtMjQ0IC0yIC0yMCAyIC0yNiAyMSAtMjggMTMgLTIgMzUgMiA0OCA5IDE4IDEwIDM0IDEwIDYyIDMgMjIgLTYKNDggLTcgNjEgLTIgMTIgNCA4NDMgNyAxODQ3IDYgbDE4MjUgLTMgMTkgLTI0IGMxNiAtMTkgMTkgLTQwIDE5IC0xMTYgMCAtNTIKLTUgLTEwNiAtMTAgLTEyMSAtOCAtMTkgLTggLTMwIDAgLTM4IDE1IC0xNSAxNCAtNTk5OCAtMSAtNjAxMyAtNyAtNyAtOSAtMjMKLTUgLTM3IGw2IC0yNSAxMjAgNiBjOTIgNSAxMjcgMyAxNDYgLTcgMzUgLTE5IDYwIC0zIDU1IDM2IC04IDYyIC04IDY0MDQgMAo2NDk5IDEyIDEzNSAxMiAxNDYgMiAxNTUgLTE3IDE2IC00OSAyMCAtNjEgOHoiPjwvcGF0aD4KPHBhdGggZD0iTTUwNCA3MjY1IGMtNCAtMTAgLTIgLTMyIDQgLTQ5IDE3IC00NiAxNyAtNjU3NyAxIC02NTkzIC05IC05IC05Ci0xOSAtMSAtNDAgMTAgLTI1IDkgLTE3NyAtMSAtMzA2IC01IC01NiA2IC02MCAxMjEgLTQ3IDcyIDkgMTA5IDkgMTQwIDEgMjYKLTggNTUgLTggODEgLTIgMjUgNSA1OCA1IDg2IC0xIDMyIC03IDY3IC02IDExMyAyIDg0IDE0IDEyNzggMTMgMTQzMCAtMiAxMTcKLTExIDEzNyAtNSAxMjUgNDEgLTQgMTQgLTYgNTggLTYgOTYgMCAzOSAwIDEwNCAtMSAxNDUgMCA0MSAtMSAzMDYgLTEgNTg4IGwwCjUxNCAyMyAxOCBjMjEgMTcgNTQgMTggNTI3IDIwIGw1MDUgMSAyNSAtMjUgMjUgLTI1IDAgLTY1MCBjLTEgLTM5OCAtNSAtNjUzCi0xMSAtNjU2IC0xNCAtOSAtMTEgLTUxIDYgLTY1IDExIC05IDMzIC0xMCA5MiAtMiA2NSA4IDE3NjkgOCAxOTUyIC0xIDQxIC0yCjQ1IDAgNTMgMjggNSAxOCA0IDQwIC0zIDU3IC0xNSAzNyAtMTYgMTk1IC0xIDIxMCA4IDggOCAxNiAtMSAzMiAtOSAxNiAtMTIKNzM1IC0xMiAzMTc2IDAgMTczNSAyIDMyNDAgNCAzMzQ0IDQgMTc5IDMgMTkwIC0xNSAxOTYgLTEwIDQgLTMwIDMgLTQ0IC0yCi0zMSAtMTAgLTUxMjAgLTQgLTUxNzIgNiAtMzEgNyAtMzkgNSAtNDQgLTl6IG00OTQzIC0zMjggYzE3IC0xNyAxOCAtMTU5IDIwCi0zMTgxIDMgLTMwOTUgMiAtMzE2NSAtMTYgLTMxODggLTE4IC0yMiAtMjYgLTIzIC0xNTYgLTI2IC04NyAtMiAtMTQxIDAgLTE0OQo3IC05IDggLTIyIDggLTQzIDAgLTIwIC03IC0yMDEgLTkgLTU0MSAtNyAtNDg1IDMgLTUxMSA0IC01MzEgMjIgLTIxIDE5IC0yMQoyMSAtMjEgNjczIDAgNDM1IDMgNjYxIDEwIDY3NCA2IDExIDcgMjYgMiAzNCAtNyAxNCAtMTEwIDE2IC04NzcgMTYgbC04NzAgMAotNiAtMjQgYy00IC0xNCAtMyAtMzEgMiAtMzggMTEgLTE4IDExIC0xMzAgMCAtMTQ4IC01IC04IC0zIC0yNCA0IC00MCA5IC0yMAoxMiAtMTU5IDExIC01NzggLTEgLTUxNiAtMiAtNTUzIC0xOSAtNTcwIC0xNyAtMTcgLTYwIC0xOCAtNjg1IC0yMSAtNjc4IC0zCi03MzMgLTEgLTc0NiAzNCAtMyA4IC02IDE0MzcgLTYgMzE3NiAtMSAyOTE3IDEgMzE2MiAxNiAzMTc5IDkgMTAgMzQgMjAgNTgKMjIgMjIgMiAxMDUwIDMgMjI4MyAzIDIxMzkgLTEgMjI0MyAtMiAyMjYwIC0xOXoiPjwvcGF0aD4KPHBhdGggZD0iTTIwNzUgNjIwOSBjLTUgLTcgLTg1IC0xMCAtMjUxIC04IGwtMjQ1IDMgMCAtNjg3IC0xIC02ODcgNjg2IC0xCjY4NyAwIDAgNjkzIDAgNjkzIC0yMSAzIGMtMTIgMiAtMjYgLTEgLTMzIC02IC0xNiAtMTMgLTc4NSAtMTQgLTc5MyAtMSAtNyAxMgotMjEgMTEgLTI5IC0yeiBtNTQ2IC0zMzYgYzExIC0xMyAxNCAtODIgMTQgLTM1MyAwIC0zMTkgLTEgLTMzOSAtMTkgLTM1OSAtMTkKLTIxIC0yNSAtMjEgLTM1NCAtMjAgLTMxNSAxIC0zMzUgMiAtMzUzIDIwIC0xOCAxOCAtMTkgMzggLTE5IDM1NiAwIDI5OSAyCjMzOCAxNyAzNTUgMTUgMTcgMzkgMTggMzU4IDE4IDMwNiAwIDM0NCAtMiAzNTYgLTE3eiI+PC9wYXRoPgo8cGF0aCBkPSJNMzM0MSA2MjExIGMtMTEgLTcgLTEyIC0xOSAtNiAtNTIgOSAtNDYgMTMgLTExOTggNSAtMTI4MiBsLTUgLTQ4CjY4OSAwIGMzNzkgMSA2OTMgNCA2OTYgOCA0IDUgNCA0NCAtMSA4NyAtNiA2NyAtNCAxMTQ0IDQgMTI0NSBsMiAzMyAtNTcwIDIKYy0zMTMgMiAtNTc3IDMgLTU4NSA0IC04IDEgLTUxIDEgLTk1IDAgLTQ0IC0xIC04OSAxIC0xMDAgNSAtMTEgNCAtMjYgMyAtMzQKLTJ6IG0xMDI2IC0zMjYgYzQwIC05IDQ1IC01NiA0MSAtMzkyIC0zIC0yODQgLTUgLTMxNCAtMjEgLTMzMCAtMTYgLTE2IC00NwotMTggLTM1MSAtMjEgLTMxNyAtMyAtMzM0IC0yIC0zNTcgMTcgbC0yNCAxOSAwIDMzNSBjMCAzMTIgMSAzMzYgMTkgMzU1IDEwCjEyIDMyIDIyIDUwIDI0IDUyIDUgNjE5IC0xIDY0MyAtN3oiPjwvcGF0aD4KPHBhdGggZD0iTTI4ODMgNDA4OSBjLTcgLTcgLTIxNSAtOSAtNjYyIC03IC02MjMgMyAtNjUxIDIgLTY1NyAtMTUgLTMgLTEwIC0xCi0zMSA2IC00NiA4IC0yMCAxMCAtMjA2IDggLTY3MiBsLTMgLTY0NCA2ODggMiA2ODggMiAwIDY4OCBjMCA2NTMgLTEgNjg4IC0xOAo2OTQgLTI2IDExIC0zOCAxMCAtNTAgLTJ6IG0tMjYzIC0zNDYgYzIxIC0yOCAyMiAtMzIgMTggLTM1NiBsLTMgLTMyOSAtMjQKLTE5IGMtMjIgLTE4IC00MyAtMTkgLTM1MiAtMTkgLTMxMiAwIC0zMzAgMSAtMzQ4IDE5IC0xOSAxOSAtMjAgMzcgLTIxIDM1NSAwCjMyNCAwIDMzNiAyMCAzNTYgMTkgMTkgMzIgMjAgMzU0IDIwIGwzMzUgMCAyMSAtMjd6Ij48L3BhdGg+CjxwYXRoIGQ9Ik00Njc1IDQwODkgYy0xNiAtNSAtMzI1IC04IC02ODUgLTggbC02NTUgMiA0IC0zNCBjMTAgLTkyIDExIC0xMjQ3CjEgLTEyODcgLTE0IC01NyAtMiAtNzQgNDMgLTYxIDE5IDYgMzAyIDkgNjg3IDggbDY1NSAtMSAtMyAzNCBjLTEgMTggLTUgMzAxCi04IDYyOCAtNSA0NjQgLTMgNjA3IDcgNjQ4IDE1IDY1IDMgODUgLTQ2IDcxeiBtLTI5MCAtMzM5IGMxNiAtMTggMTkgLTQyIDIxCi0xNzcgMiAtMTE4IC0xIC0xNjMgLTExIC0xODMgLTExIC0yMSAtMTEgLTMwIC0yIC0zOSA4IC05IDExIC01NCAxMCAtMTU0IC0zCi0xMzEgLTUgLTE0MyAtMjQgLTE1OSAtMTkgLTE2IC01MiAtMTggLTM0OSAtMTggLTM5OSAwIC0zNzAgLTExIC0zNzEgMTM1IDAKNTUgLTEgMTM0IC0yIDE3NSAtMSA0MSAtMSAxNDggLTEgMjM4IDEgMTQxIDMgMTY1IDE5IDE4MiAxNyAxOSAzMSAyMCAzNTUgMjAKMzI2IDAgMzM3IC0xIDM1NSAtMjB6Ij48L3BhdGg+CjwvZz4KPC9zdmc+\");background-repeat:no-repeat;background-size:contain;content:\" \"}.widget_icon_logout{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTAgMGgyOHYySDJ2NDRoMjZ2MkgwVjB6bTMzLjU4NiAxNGgyLjgyOGwxMSAxMS0xMSAxMWgtMi44MjhsMTAtMTBIMTh2LTJoMjUuNTg2bC0xMC0xMHoiLz4KICAgIDwvZGVmcz4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTS00MTAtMzIwaDE0NDB2MTY4MkgtNDEweiIvPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIvPgogICAgICAgIDwvbWFzaz4KICAgICAgICA8ZyBmaWxsPSIjNjY2IiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAgMGg0OHY0OEgweiIvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==\");background-repeat:no-repeat;background-size:contain;content:\" \"}.widget_icon_notification{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-size:1em;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTIgNDBoNDRWOEgydjMyem0yMy40NDYtMTEuOTYzYy0uNzYyLjc5Ny0yLjEzLjc5OC0yLjg5Mi0uMDAyTDUuMzM3IDEwaDM3LjMyN0wyNS40NDYgMjguMDM3ek0xNS45MzUgMjRMNCAzNi41MDRWMTEuNDk2TDE1LjkzNSAyNHptMS4zODQgMS40NDhsMy43ODcgMy45NjdBMy45NjYgMy45NjYgMCAwIDAgMjQgMzAuNjU2YTMuOTcgMy45NyAwIDAgMCAyLjg5My0xLjIzOGwzLjc4OC0zLjk3TDQyLjY2MiAzOEg1LjMzOGwxMS45ODEtMTIuNTUyek0zMi4wNjQgMjRMNDQgMTEuNDk1djI1LjAwOUwzMi4wNjQgMjR6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tMTE0OS0zMThIMjkxdjE2ODJoLTE0NDB6Ii8+CiAgICAgICAgPG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPgogICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNhIi8+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDxnIGZpbGw9IiM2NjYiIG1hc2s9InVybCgjYikiPgogICAgICAgICAgICA8cGF0aCBkPSJNMCAwaDQ4djQ4SDB6Ii8+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K\");background-repeat:no-repeat;background-size:contain;content:\" \"}#post-klp-login-widget.bubble:before{position:absolute;top:calc(100% + 2px);right:50%;z-index:9999;width:0;height:0;margin-right:-7px;border-color:transparent transparent white transparent;border-style:solid;border-width:0 7px 7px 7px;content:\"\"}#post-klp-login-widget.bubble:after{position:absolute;top:100%;right:50%;z-index:9998;width:0;height:0;margin-right:-8px;border-color:transparent transparent rgba(0, 0, 0, 0.07) transparent;border-style:solid;border-width:0 8px 8px 8px;content:\"\"}.klp-widget-anonymous .klp-widget-anonymous__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0)}@media (min-width: 600px) and (max-width: 1023px){.klp-widget-anonymous .klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:0;padding-right:10px;overflow:visible;clip:auto}}@media (min-width: 1024px) and (max-width: 1279px){.klp-widget-anonymous .klp-widget-anonymous__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0)}}@media (min-width: 1280px){.klp-widget-anonymous .klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:0;padding-right:8px;overflow:visible;font-size:17px;clip:auto}}.klp-widget-anonymous a{padding:0 1rem}@media (min-width: 600px) and (max-width: 1023px){.klp-widget-anonymous a{padding:0 16px}}@media (min-width: 1024px){.klp-widget-anonymous a{padding:0 20px}}.initials-mobile{display:block;width:32px;height:32px;color:white;font-weight:normal;font-size:13px;line-height:32px;letter-spacing:1px;text-align:center;background-color:#004976;border-radius:32px;visibility:visible}@media (min-width: 1024px){.initials-mobile{width:40px;height:40px;font-size:15px;line-height:40px;border-radius:40px}}.notification-number{position:absolute;top:6px;right:5px;display:block;width:15px;height:15px;color:white;font-size:12px;line-height:20px;text-align:center;background-color:#a51728;background-clip:padding-box;border:2px solid white;border-radius:10px}@media (min-width: 600px) and (max-width: 1023px){.notification-number{right:8px}}@media (min-width: 1024px) and (max-width: 1279px){.notification-number{right:8px;width:17px;height:17px}}@media (min-width: 1280px){.notification-number{top:10px;right:12px;width:17px;height:17px}}.klp-widget-authenticated-session-name{display:none}.linkContainer{-ms-flex-item-align:center;align-self:center;height:16px;margin:10px 0}.klp-widget-authenticated-menu{position:fixed;top:64px;z-index:3;width:296px}@media (max-width: 399px){.klp-widget-authenticated-menu{right:0;left:0;margin:0 auto}}@media (min-width: 400px) and (max-width: 1023px){.klp-widget-authenticated-menu{position:absolute;top:64px;right:8px}}@media (min-width: 1024px) and (max-width: 1279px){.klp-widget-authenticated-menu{position:absolute;top:72px;right:8px}}@media (min-width: 1280px){.klp-widget-authenticated-menu{position:absolute;top:80px;right:8px}}.klp-widget-authenticated-menu>ul{margin:0}.klp-widget-authenticated{min-width:52px;max-height:55px;background-color:white}@media (min-width: 1024px) and (max-width: 1279px){.klp-widget-authenticated{max-height:64px}}@media (min-width: 1280px){.klp-widget-authenticated{max-height:72px}}.item-centered{-ms-flex-align:center;align-items:center;-ms-flex-item-align:center;align-self:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.item-left{-ms-flex-align:start;align-items:flex-start;-ms-flex-item-align:start;align-self:flex-start}.item-right{-ms-flex-align:end;align-items:flex-end;-ms-flex-item-align:end;align-self:flex-end}.changeAccountModal{display:table}.modal{position:fixed;top:0;left:0;z-index:9999;display:none;width:100vw;height:100vh;padding-top:100px;overflow:auto;background-color:rgb(0, 0, 0);background-color:rgba(0, 0, 0, 0.4);}.modal-content{-ms-flex-align:center;align-items:center;width:80%;min-height:20em;margin:auto;background-color:white;border:1px solid #888}@media (min-width: 1024px){.modal-content{max-width:584px;margin:1.75rem auto}}.close{position:absolute;top:0;right:15px;color:#000;font-weight:lighter;font-size:40px}.close:hover,.close:focus{text-decoration:none;cursor:pointer}.btn-modal-container{position:absolute;bottom:1em;width:100%}.pi{display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;background-repeat:no-repeat;background-position:center center;background-size:contain;border:none}.pi-2086{width:4.5rem;height:4.5rem;margin-bottom:2em;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 fill='%23000' d='M17.333 25.333v-16h-4.667v2.667h2v13.333h-2v2.667h6.667v-2.667z'%3E%3C/path%3E %3Cpath fill='%23000' d='M14.667 4h2.667v2.667h-2.667v-2.667z'%3E%3C/path%3E%3C/svg%3E\");border-color:#000}.modal-text-container{-ms-flex-line-pack:center;align-content:center;width:100%;min-height:17em;background:#ffcc00}.modal-button-container{-ms-flex-line-pack:center;align-content:center;width:100%;height:6em;margin-right:0;margin-left:0;background:white}.text-align-center{text-align:center}.modal-text{color:black;font-weight:bold}:host{display:block}.widget-wrapper{position:relative}.widget-wrapper,#post-klp-login-widget,.klp-widget-anonymous,.klp-widget-anonymous__wrapper,.klp-widget-anonymous__wrapper a{height:100%}.klp-widget-anonymous__wrapper a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;color:hsl(0, 0%, 20%);text-decoration:none;padding:0 1rem;-webkit-transition:color 200ms;transition:color 200ms}.klp-widget-anonymous__wrapper a:hover,.klp-widget-anonymous__wrapper a:focus{color:black}@media (min-width: 1024px){.klp-widget-anonymous__wrapper a{padding:0 1.125rem}}.klp-widget-anonymous__wrapper a span{margin-right:0.5rem}.klp-widget-anonymous__wrapper a svg{width:1.5rem;height:1.5rem}@media (min-width: 600px) and (max-width: 1023.98px){.klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}@media (min-width: 1280px){.klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}#post-klp-login-widget .nameAndInfoWrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;width:224px;height:78px;padding:16px 0px;line-height:46px;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.modal-content{position:relative}.modal-text-container{padding-top:3rem}#post-klp-login-widget .modal-button-container{height:auto;padding:2rem}#post-klp-login-widget .modal-button-container>.item-centered{-ms-flex-pack:center;justify-content:center}.login-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){.login-button{padding:0 calc(1.125rem - 1px)}}@media (min-width: 1280px){.login-button{padding:0 calc(1.5rem - 1px)}}.login-button svg{width:1.5rem;height:1.5rem}@media (min-width: 600px){.login-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}}";
6
+ const postKlpLoginWidgetCss = ".btn-default,.btn-secondary{border:2px solid var(--post-gray-60)}.btn-default:focus,.btn-secondary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary{border-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary{border-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-secondary{border-color:var(--post-gray-40)}.btn-default:disabled,.btn-secondary:disabled{border-color:var(--post-gray-40);color:var(--post-gray-60)}.btn-default:focus,.btn-secondary:focus,.btn-link:focus,.btn-tertiary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.btn-link:not(:disabled):hover,.btn-tertiary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary,.pretend-hover.btn-link,.pretend-hover.btn-tertiary{color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-link .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-tertiary .pi{-webkit-filter:invert(1);filter:invert(1)}.btn{min-height:3rem;font-size:1rem;gap:0.625rem;outline:none;outline-offset:2px;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;border-width:2px;border-style:solid;border-radius:4px;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:var(--post-gray-80);font-family:inherit;font-weight:400;text-decoration:none !important;white-space:nowrap}.btn:where(:not(.btn-link,.btn-tertiary)){padding:0 1rem}.btn>.pi,.btn>post-icon{width:1.25rem;height:1.25rem}.btn:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.btn-primary{border-color:transparent;background-color:var(--post-gray-80);color:var(--post-contrast-color-inverted)}.btn-primary:focus,.btn-primary:not(:disabled):hover,.btn-primary.pretend-hover{background-color:var(--post-contrast-color);color:var(--post-contrast-color-inverted)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary{background-color:var(--post-contrast-color);color:var(--post-gray-10)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary.pretend-hover{background-color:var(--post-gray-80)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:disabled{color:var(--post-gray-80)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary .pi{-webkit-filter:invert(0);filter:invert(0)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-primary{border-color:var(--post-contrast-color);background-color:ButtonFace}.btn-primary:not(:disabled,.disabled):hover,.btn-primary:not(:disabled,.disabled):focus-visible{border-color:highlight}.btn-primary .pi{-webkit-filter:invert(1) !important;filter:invert(1) !important}}.btn-primary:disabled{background-color:var(--post-gray-40)}.btn-primary .pi{-webkit-filter:invert(1);filter:invert(1);forced-color-adjust:none}.btn-link,.btn-tertiary{border:0;padding-inline:0.25rem}.btn-link:disabled,.btn-tertiary:disabled{color:var(--post-gray-60)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-link,.btn-tertiary{color:linktext;text-decoration:underline !important}}.btn-icon{min-width:3rem;padding-right:0.75rem;padding-left:0.75rem}.btn-icon.btn-sm{min-width:2rem;padding-right:0.375rem;padding-left:0.375rem}.btn-icon.btn-rg{min-width:2.5rem;padding-right:0.5625rem;padding-left:0.5625rem}.btn-icon.btn-lg{min-width:3.5rem;padding-right:0.9375rem;padding-left:0.9375rem}.btn-animated:not(.btn-link,.btn-tertiary)::after{content:\"\";position:absolute;right:0.5rem;width:0.625em;height:0.625em;-webkit-transform:rotateZ(315deg) translate(-2px, -2px);transform:rotateZ(315deg) translate(-2px, -2px);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, transform 250ms;transition:opacity 250ms, transform 250ms, -webkit-transform 250ms;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:0}.btn-animated:not(.btn-link,.btn-tertiary).btn-sm::after{right:0.25rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-rg::after{right:0.375rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-lg::after{right:0.625rem}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transition:-webkit-transform 250ms;transition:-webkit-transform 250ms;transition:transform 250ms;transition:transform 250ms, -webkit-transform 250ms}@media (prefers-reduced-motion: no-preference){.btn-animated:not(.btn-link,.btn-tertiary):focus>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-sm>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-rg>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-lg>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus::after,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover::after,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover::after{-webkit-transform:rotateZ(315deg) translate(0, 0);transform:rotateZ(315deg) translate(0, 0);opacity:1}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transform:translateX(0);transform:translateX(0)}}.btn-sm{min-height:2rem;font-size:0.75rem;gap:0.375rem}.btn-sm:where(:not(.btn-link,.btn-tertiary)){padding:0 0.75rem}.btn-sm>.pi,.btn-sm>post-icon{width:1rem;height:1rem}.btn-rg{min-height:2.5rem;font-size:0.875rem;gap:0.5rem}.btn-rg:where(:not(.btn-link,.btn-tertiary)){padding:0 0.875rem}.btn-rg>.pi,.btn-rg>post-icon{width:1.125rem;height:1.125rem}.btn-lg{min-height:3.5rem;font-size:1.125rem;gap:0.75rem}.btn-lg:where(:not(.btn-link,.btn-tertiary)){padding:0 1.125rem}.btn-lg>.pi,.btn-lg>post-icon{width:1.375rem;height:1.375rem}.btn-nightblue{border-color:transparent;background-color:#004976;color:#fff}.btn-nightblue:focus,.btn-nightblue:not(:disabled):hover,.btn-nightblue.pretend-hover{background-color:#002943;color:#fff}.btn-nightblue-bright{border-color:transparent;background-color:#0076a8;color:#fff}.btn-nightblue-bright:focus,.btn-nightblue-bright:not(:disabled):hover,.btn-nightblue-bright.pretend-hover{background-color:#005275;color:#fff}.btn-petrol{border-color:transparent;background-color:#006d68;color:#fff}.btn-petrol:focus,.btn-petrol:not(:disabled):hover,.btn-petrol.pretend-hover{background-color:#003a37;color:#fff}.btn-petrol-bright{border-color:transparent;background-color:#00968f;color:#000}.btn-petrol-bright:focus,.btn-petrol-bright:not(:disabled):hover,.btn-petrol-bright.pretend-hover{background-color:#00635e;color:#fff}.btn-coral{border-color:transparent;background-color:#9e2a2f;color:#fff}.btn-coral:focus,.btn-coral:not(:disabled):hover,.btn-coral.pretend-hover{background-color:#761f23;color:#fff}.btn-coral-bright{border-color:transparent;background-color:#e03c31;color:#000}.btn-coral-bright:focus,.btn-coral-bright:not(:disabled):hover,.btn-coral-bright.pretend-hover{background-color:#c1271d;color:#fff}.btn-olive{border-color:transparent;background-color:#716135;color:#fff}.btn-olive:focus,.btn-olive:not(:disabled):hover,.btn-olive.pretend-hover{background-color:#4e4325;color:#fff}.btn-olive-bright{border-color:transparent;background-color:#aa9d2e;color:#000}.btn-olive-bright:focus,.btn-olive-bright:not(:disabled):hover,.btn-olive-bright.pretend-hover{background-color:#827823;color:#000}.btn-purple{border-color:transparent;background-color:#80276c;color:#fff}.btn-purple:focus,.btn-purple:not(:disabled):hover,.btn-purple.pretend-hover{background-color:#591b4b;color:#fff}.btn-purple-bright{border-color:transparent;background-color:#c5299b;color:#fff}.btn-purple-bright:focus,.btn-purple-bright:not(:disabled):hover,.btn-purple-bright.pretend-hover{background-color:#9b207a;color:#fff}.btn-aubergine{border-color:transparent;background-color:#523178;color:#fff}.btn-aubergine:focus,.btn-aubergine:not(:disabled):hover,.btn-aubergine.pretend-hover{background-color:#392254;color:#fff}.btn-aubergine-bright{border-color:transparent;background-color:#7566a0;color:#fff}.btn-aubergine-bright:focus,.btn-aubergine-bright:not(:disabled):hover,.btn-aubergine-bright.pretend-hover{background-color:#5e5182;color:#fff}.btn-success{border-color:transparent;background-color:#2c911c;color:#000}.btn-success:focus,.btn-success:not(:disabled):hover,.btn-success.pretend-hover{background-color:#1f6614;color:#fff}.btn-info{border-color:transparent;background-color:#cce4ee;color:#000}.btn-info:focus,.btn-info:not(:disabled):hover,.btn-info.pretend-hover{background-color:#a6d0e1;color:#000}.btn-warning{border-color:transparent;background-color:#f49e00;color:#000}.btn-warning:focus,.btn-warning:not(:disabled):hover,.btn-warning.pretend-hover{background-color:#c17d00;color:#000}.btn-danger{border-color:transparent;background-color:#a51728;color:#fff}.btn-danger:focus,.btn-danger:not(:disabled):hover,.btn-danger.pretend-hover{background-color:#78111d;color:#fff}@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:700;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.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:400;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.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\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:300;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff\") format(\"woff\")}.visually-hidden,.klp-widget-anonymous__text{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.nav-link,.login-button{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.login-button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.login-button:hover,.nav-link:focus,.login-button:focus{color:black}.nav-link:focus-visible,.login-button:focus-visible{z-index:1;position:relative}.nav-link>svg,.login-button>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span,.login-button>span{-ms-flex-negative:1;flex-shrink:1}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}*,: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}a,button{border-radius:4px;outline:none;outline-offset:2px;}a:is(:focus-visible,:focus-within,.pretend-focus),button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color);border-radius:4px}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.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}}@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}}/*!\n * ------------------------------------------------------------------------------------------------\n * Copyright 2014 by Swiss Post, Information Technology Services\n * ------------------------------------------------------------------------------------------------\n * $Id$\n * ------------------------------------------------------------------------------------------------\n */.klp-widget-support{background-color:#f49e00 !important}.klp-widget-authenticated-session-link{display:block;padding:12px 10px;text-decoration:none;outline:none}@media (min-width: 600px) and (max-width: 1279px){.klp-widget-authenticated-session-link{padding:12px 12px}}@media (min-width: 1280px){.klp-widget-authenticated-session-link{padding:16px 16px}}.klp-widget-authenticated-menu li{position:relative;display:-ms-inline-flexbox;display:inline-flex;width:296px;height:40px;margin:0;padding:0;list-style-type:none;background-color:white;border-top:none}.notification-link:active{background-color:#ffcc00 !important}.notification-link:hover,.notification-link:focus{background-color:#f4f3f1}.klp-widget-authenticated-menu li:hover>a{color:black}.klp-widget-authenticated-session-name{position:relative;display:table-cell;width:117px;height:55px;overflow:hidden;color:black;font-weight:normal;font-size:15px;font-style:normal;font-stretch:normal;line-height:1;letter-spacing:normal;white-space:nowrap;text-indent:1em;text-overflow:ellipsis;vertical-align:middle}.klp-widget-authenticated-menu a{color:rgba(0, 0, 0, 0.6);font-weight:normal;font-size:17px;font-style:normal;font-stretch:normal;line-height:17px;letter-spacing:normal}.klp-widget-authenticated-menu ul{padding-bottom:8px;padding-left:0;background-color:white;-webkit-box-shadow:0 0 3px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 3px 0 rgba(0, 0, 0, 0.4)}.klp-widget-authenticated-menu li:nth-child(2){margin:9px 0 0 0}.klp-widget-authenticated-menu li.name-and-surname:active{background-color:white}.klp-widget-authenticated-menu li.name-and-surname:hover{background-color:white}.klp-widget-anonymous{height:100%;color:rgba(0, 0, 0, 0.6)}.klp-widget-anonymous__wrapper{height:100%}.klp-widget-anonymous a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;padding:0 16px;color:rgba(0, 0, 0, 0.6);font-weight:300;font-size:1rem;text-decoration:none;background-color:white}.klp-widget-anonymous a:hover{color:rgb(0, 0, 0)}.notification-number-detail{position:relative;width:25px;height:20px;margin-left:23px;padding:2px 6px;color:white;font-size:13px;text-align:center;background-color:#a51728;border-radius:10px}li.name-and-surname{display:-ms-flexbox;display:flex;min-width:296px;height:78px;padding-top:0;vertical-align:middle;border-bottom:1px solid rgba(0, 0, 0, 0.2)}.initials-circle{position:relative;display:table;width:40px;height:40px;margin:19px 16px;overflow:hidden;color:white;background-color:#004976;border-radius:40px}.initials-container{display:table-cell;font-weight:300;font-size:17px;line-height:1.65;letter-spacing:normal;text-align:center;vertical-align:middle}.initials-mobile{display:none;visibility:hidden}.notification-link{display:-ms-flexbox;display:flex;-ms-flex:0 0 100%;flex:0 0 100%;text-decoration:none}.klp-widget-notification-link-text{overflow:hidden;font-weight:normal;font-size:17px;white-space:nowrap;text-overflow:ellipsis}li.name-and-surname span.name{position:relative;display:block;width:12em;overflow:hidden;color:black;font-weight:bold;font-size:17px;line-height:24px}li.name-and-surname span.nameCentered{position:relative;display:block;-ms-flex-item-align:center;align-self:center;width:12em;padding:0;overflow:hidden;color:black;font-weight:bold;font-size:17px;line-height:24px}li.name-and-surname span.info{position:relative;display:block;width:12em;overflow:hidden;color:black;font-weight:normal;font-size:15px;line-height:22px}li.name-and-surname span.infoHidden{position:relative;display:none;width:12em;overflow:hidden;color:black;font-weight:normal;font-size:15px;line-height:22px}.nameAndInfoWrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:224px;height:78px;padding:16px 0;line-height:46px}.widget_icon_profile{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTI0IDQwLjQ0NGE1LjM0IDUuMzQgMCAwIDAgNS4zMzMtNS4zMzNBNS4zNCA1LjM0IDAgMCAwIDI0IDI5Ljc3OGE1LjM0IDUuMzQgMCAwIDAtNS4zMzMgNS4zMzNBNS4zNCA1LjM0IDAgMCAwIDI0IDQwLjQ0NHpNMjQgMjhhNy4xMTggNy4xMTggMCAwIDEgNy4xMTEgNy4xMTFBNy4xMTggNy4xMTggMCAwIDEgMjQgNDIuMjIyYy0zLjkyIDAtNy4xMTEtMy4xOS03LjExMS03LjExQzE2Ljg4OSAzMS4xOSAyMC4wNzkgMjggMjQgMjh6bTgtMi42NjdIMTZjLTQuNDEyIDAtOC0zLjU4OS04LThWNGgxLjc3OHYxMy4zMzNBNi4yMyA2LjIzIDAgMCAwIDE2IDIzLjU1NmgxNmE2LjIzIDYuMjMgMCAwIDAgNi4yMjItNi4yMjNWNEg0MHYxMy4zMzNjMCA0LjQxMS0zLjU4OSA4LTggOHpNMTUuMTExIDRoMS43Nzh2MTIuNDQ0SDE1LjExVjR6bTE2IDBoMS43Nzh2MTIuNDQ0SDMxLjExVjR6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tNzgxLTQ3OUg2NTl2MTY4MkgtNzgxeiIvPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIvPgogICAgICAgIDwvbWFzaz4KICAgICAgICA8ZyBmaWxsPSIjNjY2IiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAgMGg0OHY0OEgweiIvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==\");background-repeat:no-repeat;background-size:contain;-webkit-transform:rotate(180deg);transform:rotate(180deg);content:\" \"}.widget_icon_settings{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;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='M26.4 20h4.267v-6.667h-4.267c-0.4-0.267-0.667-0.533-0.8-0.933-0.267-0.4-0.133-0.8-0.133-1.2l3.067-3.067-4.667-4.667-3.067 3.067c-0.4 0.133-0.8 0-1.2-0.133s-0.667-0.4-0.933-0.8v-4.267h-6.667v4.267c-0.267 0.4-0.533 0.667-0.933 0.8-0.267 0.133-0.667 0.267-1.2 0.133l-3.067-3.067-4.667 4.667 3.067 3.067c0.133 0.4 0 0.8-0.133 1.2s-0.4 0.667-0.8 0.933h-4.267v6.667h4.267c0.4 0.267 0.667 0.533 0.8 0.933s0.133 0.8 0.133 1.2l-3.067 3.067 4.667 4.667 3.067-3.067c0.4-0.133 0.8 0 1.2 0.133s0.667 0.4 0.933 0.8v4.267h6.667v-4.267c0.267-0.4 0.533-0.667 0.933-0.8s0.8-0.133 1.2-0.133l3.067 3.067 4.667-4.667-3.067-3.067c-0.133-0.4 0-0.8 0.133-1.2s0.4-0.667 0.8-0.933zM24.267 22.667v0.133l2.4 2.4-2.8 2.8-2.4-2.4h-0.133c-0.8-0.267-1.6-0.133-2.267 0.133s-1.2 0.8-1.6 1.467l-0.133 0.133v3.333h-4v-3.333l-0.133-0.133c-0.4-0.667-0.933-1.2-1.6-1.467v0c-0.667-0.4-1.467-0.4-2.267-0.133h-0.133l-2.4 2.4-2.8-2.8 2.4-2.4v-0.133c0.267-0.8 0.267-1.6-0.133-2.267-0.267-0.667-0.8-1.2-1.467-1.6l-0.133-0.133h-3.333v-4h3.333l0.133-0.133c0.667-0.4 1.2-0.933 1.467-1.6 0.4-0.667 0.4-1.467 0.133-2.267v-0.133l-2.4-2.4 2.8-2.8 2.4 2.4h0.133c0.8 0.267 1.6 0.267 2.267-0.133 0.667-0.267 1.2-0.8 1.6-1.467l0.133-0.133v-3.333h4v3.333l0.133 0.133c0.4 0.667 0.933 1.2 1.6 1.467 0.667 0.4 1.467 0.4 2.267 0.133h0.133l2.4-2.4 2.8 2.8-2.4 2.4v0.133c-0.267 0.8-0.267 1.6 0.133 2.267 0.267 0.667 0.8 1.2 1.467 1.6l0.133 0.133h3.333v4h-3.333l-0.133 0.133c-0.667 0.4-1.2 0.933-1.467 1.6-0.4 0.667-0.4 1.467-0.133 2.267z'%3E%3C/path%3E %3Cpath opacity='1' fill='%23000000' d='M15.333 10.667c-3.333 0-6 2.667-6 6s2.667 6 6 6c3.333 0 6-2.667 6-6s-2.667-6-6-6zM15.333 21.333c-2.533 0-4.667-2.133-4.667-4.667s2.133-4.667 4.667-4.667c2.533 0 4.667 2.133 4.667 4.667s-2.133 4.667-4.667 4.667z'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:contain;content:\" \"}.widget_icon_changecompany{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,IDxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MDAuMDAwMDAwcHQiIGhlaWdodD0iODYzLjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgNzAwLjAwMDAwMCA4NjMuMDAwMDAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsODYzLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIgZmlsbD0iIzY2NiIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTY3ODIgODMzOCBjLTE4IC0xOCAtMzk0MCAtMjUgLTQwNTUgLTggLTk4IDE2IC0xMDkgOSAtOTUgLTU2IDkgLTM5CjcgLTE2MiAtNCAtMjQ0IC0yIC0yMCAyIC0yNiAyMSAtMjggMTMgLTIgMzUgMiA0OCA5IDE4IDEwIDM0IDEwIDYyIDMgMjIgLTYKNDggLTcgNjEgLTIgMTIgNCA4NDMgNyAxODQ3IDYgbDE4MjUgLTMgMTkgLTI0IGMxNiAtMTkgMTkgLTQwIDE5IC0xMTYgMCAtNTIKLTUgLTEwNiAtMTAgLTEyMSAtOCAtMTkgLTggLTMwIDAgLTM4IDE1IC0xNSAxNCAtNTk5OCAtMSAtNjAxMyAtNyAtNyAtOSAtMjMKLTUgLTM3IGw2IC0yNSAxMjAgNiBjOTIgNSAxMjcgMyAxNDYgLTcgMzUgLTE5IDYwIC0zIDU1IDM2IC04IDYyIC04IDY0MDQgMAo2NDk5IDEyIDEzNSAxMiAxNDYgMiAxNTUgLTE3IDE2IC00OSAyMCAtNjEgOHoiPjwvcGF0aD4KPHBhdGggZD0iTTUwNCA3MjY1IGMtNCAtMTAgLTIgLTMyIDQgLTQ5IDE3IC00NiAxNyAtNjU3NyAxIC02NTkzIC05IC05IC05Ci0xOSAtMSAtNDAgMTAgLTI1IDkgLTE3NyAtMSAtMzA2IC01IC01NiA2IC02MCAxMjEgLTQ3IDcyIDkgMTA5IDkgMTQwIDEgMjYKLTggNTUgLTggODEgLTIgMjUgNSA1OCA1IDg2IC0xIDMyIC03IDY3IC02IDExMyAyIDg0IDE0IDEyNzggMTMgMTQzMCAtMiAxMTcKLTExIDEzNyAtNSAxMjUgNDEgLTQgMTQgLTYgNTggLTYgOTYgMCAzOSAwIDEwNCAtMSAxNDUgMCA0MSAtMSAzMDYgLTEgNTg4IGwwCjUxNCAyMyAxOCBjMjEgMTcgNTQgMTggNTI3IDIwIGw1MDUgMSAyNSAtMjUgMjUgLTI1IDAgLTY1MCBjLTEgLTM5OCAtNSAtNjUzCi0xMSAtNjU2IC0xNCAtOSAtMTEgLTUxIDYgLTY1IDExIC05IDMzIC0xMCA5MiAtMiA2NSA4IDE3NjkgOCAxOTUyIC0xIDQxIC0yCjQ1IDAgNTMgMjggNSAxOCA0IDQwIC0zIDU3IC0xNSAzNyAtMTYgMTk1IC0xIDIxMCA4IDggOCAxNiAtMSAzMiAtOSAxNiAtMTIKNzM1IC0xMiAzMTc2IDAgMTczNSAyIDMyNDAgNCAzMzQ0IDQgMTc5IDMgMTkwIC0xNSAxOTYgLTEwIDQgLTMwIDMgLTQ0IC0yCi0zMSAtMTAgLTUxMjAgLTQgLTUxNzIgNiAtMzEgNyAtMzkgNSAtNDQgLTl6IG00OTQzIC0zMjggYzE3IC0xNyAxOCAtMTU5IDIwCi0zMTgxIDMgLTMwOTUgMiAtMzE2NSAtMTYgLTMxODggLTE4IC0yMiAtMjYgLTIzIC0xNTYgLTI2IC04NyAtMiAtMTQxIDAgLTE0OQo3IC05IDggLTIyIDggLTQzIDAgLTIwIC03IC0yMDEgLTkgLTU0MSAtNyAtNDg1IDMgLTUxMSA0IC01MzEgMjIgLTIxIDE5IC0yMQoyMSAtMjEgNjczIDAgNDM1IDMgNjYxIDEwIDY3NCA2IDExIDcgMjYgMiAzNCAtNyAxNCAtMTEwIDE2IC04NzcgMTYgbC04NzAgMAotNiAtMjQgYy00IC0xNCAtMyAtMzEgMiAtMzggMTEgLTE4IDExIC0xMzAgMCAtMTQ4IC01IC04IC0zIC0yNCA0IC00MCA5IC0yMAoxMiAtMTU5IDExIC01NzggLTEgLTUxNiAtMiAtNTUzIC0xOSAtNTcwIC0xNyAtMTcgLTYwIC0xOCAtNjg1IC0yMSAtNjc4IC0zCi03MzMgLTEgLTc0NiAzNCAtMyA4IC02IDE0MzcgLTYgMzE3NiAtMSAyOTE3IDEgMzE2MiAxNiAzMTc5IDkgMTAgMzQgMjAgNTgKMjIgMjIgMiAxMDUwIDMgMjI4MyAzIDIxMzkgLTEgMjI0MyAtMiAyMjYwIC0xOXoiPjwvcGF0aD4KPHBhdGggZD0iTTIwNzUgNjIwOSBjLTUgLTcgLTg1IC0xMCAtMjUxIC04IGwtMjQ1IDMgMCAtNjg3IC0xIC02ODcgNjg2IC0xCjY4NyAwIDAgNjkzIDAgNjkzIC0yMSAzIGMtMTIgMiAtMjYgLTEgLTMzIC02IC0xNiAtMTMgLTc4NSAtMTQgLTc5MyAtMSAtNyAxMgotMjEgMTEgLTI5IC0yeiBtNTQ2IC0zMzYgYzExIC0xMyAxNCAtODIgMTQgLTM1MyAwIC0zMTkgLTEgLTMzOSAtMTkgLTM1OSAtMTkKLTIxIC0yNSAtMjEgLTM1NCAtMjAgLTMxNSAxIC0zMzUgMiAtMzUzIDIwIC0xOCAxOCAtMTkgMzggLTE5IDM1NiAwIDI5OSAyCjMzOCAxNyAzNTUgMTUgMTcgMzkgMTggMzU4IDE4IDMwNiAwIDM0NCAtMiAzNTYgLTE3eiI+PC9wYXRoPgo8cGF0aCBkPSJNMzM0MSA2MjExIGMtMTEgLTcgLTEyIC0xOSAtNiAtNTIgOSAtNDYgMTMgLTExOTggNSAtMTI4MiBsLTUgLTQ4CjY4OSAwIGMzNzkgMSA2OTMgNCA2OTYgOCA0IDUgNCA0NCAtMSA4NyAtNiA2NyAtNCAxMTQ0IDQgMTI0NSBsMiAzMyAtNTcwIDIKYy0zMTMgMiAtNTc3IDMgLTU4NSA0IC04IDEgLTUxIDEgLTk1IDAgLTQ0IC0xIC04OSAxIC0xMDAgNSAtMTEgNCAtMjYgMyAtMzQKLTJ6IG0xMDI2IC0zMjYgYzQwIC05IDQ1IC01NiA0MSAtMzkyIC0zIC0yODQgLTUgLTMxNCAtMjEgLTMzMCAtMTYgLTE2IC00NwotMTggLTM1MSAtMjEgLTMxNyAtMyAtMzM0IC0yIC0zNTcgMTcgbC0yNCAxOSAwIDMzNSBjMCAzMTIgMSAzMzYgMTkgMzU1IDEwCjEyIDMyIDIyIDUwIDI0IDUyIDUgNjE5IC0xIDY0MyAtN3oiPjwvcGF0aD4KPHBhdGggZD0iTTI4ODMgNDA4OSBjLTcgLTcgLTIxNSAtOSAtNjYyIC03IC02MjMgMyAtNjUxIDIgLTY1NyAtMTUgLTMgLTEwIC0xCi0zMSA2IC00NiA4IC0yMCAxMCAtMjA2IDggLTY3MiBsLTMgLTY0NCA2ODggMiA2ODggMiAwIDY4OCBjMCA2NTMgLTEgNjg4IC0xOAo2OTQgLTI2IDExIC0zOCAxMCAtNTAgLTJ6IG0tMjYzIC0zNDYgYzIxIC0yOCAyMiAtMzIgMTggLTM1NiBsLTMgLTMyOSAtMjQKLTE5IGMtMjIgLTE4IC00MyAtMTkgLTM1MiAtMTkgLTMxMiAwIC0zMzAgMSAtMzQ4IDE5IC0xOSAxOSAtMjAgMzcgLTIxIDM1NSAwCjMyNCAwIDMzNiAyMCAzNTYgMTkgMTkgMzIgMjAgMzU0IDIwIGwzMzUgMCAyMSAtMjd6Ij48L3BhdGg+CjxwYXRoIGQ9Ik00Njc1IDQwODkgYy0xNiAtNSAtMzI1IC04IC02ODUgLTggbC02NTUgMiA0IC0zNCBjMTAgLTkyIDExIC0xMjQ3CjEgLTEyODcgLTE0IC01NyAtMiAtNzQgNDMgLTYxIDE5IDYgMzAyIDkgNjg3IDggbDY1NSAtMSAtMyAzNCBjLTEgMTggLTUgMzAxCi04IDYyOCAtNSA0NjQgLTMgNjA3IDcgNjQ4IDE1IDY1IDMgODUgLTQ2IDcxeiBtLTI5MCAtMzM5IGMxNiAtMTggMTkgLTQyIDIxCi0xNzcgMiAtMTE4IC0xIC0xNjMgLTExIC0xODMgLTExIC0yMSAtMTEgLTMwIC0yIC0zOSA4IC05IDExIC01NCAxMCAtMTU0IC0zCi0xMzEgLTUgLTE0MyAtMjQgLTE1OSAtMTkgLTE2IC01MiAtMTggLTM0OSAtMTggLTM5OSAwIC0zNzAgLTExIC0zNzEgMTM1IDAKNTUgLTEgMTM0IC0yIDE3NSAtMSA0MSAtMSAxNDggLTEgMjM4IDEgMTQxIDMgMTY1IDE5IDE4MiAxNyAxOSAzMSAyMCAzNTUgMjAKMzI2IDAgMzM3IC0xIDM1NSAtMjB6Ij48L3BhdGg+CjwvZz4KPC9zdmc+\");background-repeat:no-repeat;background-size:contain;content:\" \"}.widget_icon_logout{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTAgMGgyOHYySDJ2NDRoMjZ2MkgwVjB6bTMzLjU4NiAxNGgyLjgyOGwxMSAxMS0xMSAxMWgtMi44MjhsMTAtMTBIMTh2LTJoMjUuNTg2bC0xMC0xMHoiLz4KICAgIDwvZGVmcz4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTS00MTAtMzIwaDE0NDB2MTY4MkgtNDEweiIvPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIvPgogICAgICAgIDwvbWFzaz4KICAgICAgICA8ZyBmaWxsPSIjNjY2IiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAgMGg0OHY0OEgweiIvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==\");background-repeat:no-repeat;background-size:contain;content:\" \"}.widget_icon_notification{display:inline-block;width:24px;height:24px;margin:8px 12px;color:black;font-weight:normal;font-size:1em;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTIgNDBoNDRWOEgydjMyem0yMy40NDYtMTEuOTYzYy0uNzYyLjc5Ny0yLjEzLjc5OC0yLjg5Mi0uMDAyTDUuMzM3IDEwaDM3LjMyN0wyNS40NDYgMjguMDM3ek0xNS45MzUgMjRMNCAzNi41MDRWMTEuNDk2TDE1LjkzNSAyNHptMS4zODQgMS40NDhsMy43ODcgMy45NjdBMy45NjYgMy45NjYgMCAwIDAgMjQgMzAuNjU2YTMuOTcgMy45NyAwIDAgMCAyLjg5My0xLjIzOGwzLjc4OC0zLjk3TDQyLjY2MiAzOEg1LjMzOGwxMS45ODEtMTIuNTUyek0zMi4wNjQgMjRMNDQgMTEuNDk1djI1LjAwOUwzMi4wNjQgMjR6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tMTE0OS0zMThIMjkxdjE2ODJoLTE0NDB6Ii8+CiAgICAgICAgPG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPgogICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNhIi8+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDxnIGZpbGw9IiM2NjYiIG1hc2s9InVybCgjYikiPgogICAgICAgICAgICA8cGF0aCBkPSJNMCAwaDQ4djQ4SDB6Ii8+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K\");background-repeat:no-repeat;background-size:contain;content:\" \"}#post-klp-login-widget.bubble:before{position:absolute;top:calc(100% + 2px);right:50%;z-index:9999;width:0;height:0;margin-right:-7px;border-color:transparent transparent white transparent;border-style:solid;border-width:0 7px 7px 7px;content:\"\"}#post-klp-login-widget.bubble:after{position:absolute;top:100%;right:50%;z-index:9998;width:0;height:0;margin-right:-8px;border-color:transparent transparent rgba(0, 0, 0, 0.07) transparent;border-style:solid;border-width:0 8px 8px 8px;content:\"\"}.klp-widget-anonymous .klp-widget-anonymous__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0)}@media (min-width: 600px) and (max-width: 1023px){.klp-widget-anonymous .klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:0;padding-right:10px;overflow:visible;clip:auto}}@media (min-width: 1024px) and (max-width: 1279px){.klp-widget-anonymous .klp-widget-anonymous__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0)}}@media (min-width: 1280px){.klp-widget-anonymous .klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:0;padding-right:8px;overflow:visible;font-size:17px;clip:auto}}.klp-widget-anonymous a{padding:0 1rem}@media (min-width: 600px) and (max-width: 1023px){.klp-widget-anonymous a{padding:0 16px}}@media (min-width: 1024px){.klp-widget-anonymous a{padding:0 20px}}.initials-mobile{display:block;width:32px;height:32px;color:white;font-weight:normal;font-size:13px;line-height:32px;letter-spacing:1px;text-align:center;background-color:#004976;border-radius:32px;visibility:visible}@media (min-width: 1024px){.initials-mobile{width:40px;height:40px;font-size:15px;line-height:40px;border-radius:40px}}.notification-number{position:absolute;top:6px;right:5px;display:block;width:15px;height:15px;color:white;font-size:12px;line-height:20px;text-align:center;background-color:#a51728;background-clip:padding-box;border:2px solid white;border-radius:10px}@media (min-width: 600px) and (max-width: 1023px){.notification-number{right:8px}}@media (min-width: 1024px) and (max-width: 1279px){.notification-number{right:8px;width:17px;height:17px}}@media (min-width: 1280px){.notification-number{top:10px;right:12px;width:17px;height:17px}}.klp-widget-authenticated-session-name{display:none}.linkContainer{-ms-flex-item-align:center;align-self:center;height:16px;margin:10px 0}.klp-widget-authenticated-menu{position:fixed;top:64px;z-index:3;width:296px}@media (max-width: 399px){.klp-widget-authenticated-menu{right:0;left:0;margin:0 auto}}@media (min-width: 400px) and (max-width: 1023px){.klp-widget-authenticated-menu{position:absolute;top:64px;right:8px}}@media (min-width: 1024px) and (max-width: 1279px){.klp-widget-authenticated-menu{position:absolute;top:72px;right:8px}}@media (min-width: 1280px){.klp-widget-authenticated-menu{position:absolute;top:80px;right:8px}}.klp-widget-authenticated-menu>ul{margin:0}.klp-widget-authenticated{min-width:52px;max-height:55px;background-color:white}@media (min-width: 1024px) and (max-width: 1279px){.klp-widget-authenticated{max-height:64px}}@media (min-width: 1280px){.klp-widget-authenticated{max-height:72px}}.item-centered{-ms-flex-align:center;align-items:center;-ms-flex-item-align:center;align-self:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.item-left{-ms-flex-align:start;align-items:flex-start;-ms-flex-item-align:start;align-self:flex-start}.item-right{-ms-flex-align:end;align-items:flex-end;-ms-flex-item-align:end;align-self:flex-end}.changeAccountModal{display:table}.modal{position:fixed;top:0;left:0;z-index:9999;display:none;width:100vw;height:100vh;padding-top:100px;overflow:auto;background-color:rgb(0, 0, 0);background-color:rgba(0, 0, 0, 0.4);}.modal-content{-ms-flex-align:center;align-items:center;width:80%;min-height:20em;margin:auto;background-color:white;border:1px solid #888}@media (min-width: 1024px){.modal-content{max-width:584px;margin:1.75rem auto}}.close{position:absolute;top:0;right:15px;color:#000;font-weight:lighter;font-size:40px}.close:hover,.close:focus{text-decoration:none;cursor:pointer}.btn-modal-container{position:absolute;bottom:1em;width:100%}.pi{display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;background-repeat:no-repeat;background-position:center center;background-size:contain;border:none}.pi-2086{width:4.5rem;height:4.5rem;margin-bottom:2em;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 fill='%23000' d='M17.333 25.333v-16h-4.667v2.667h2v13.333h-2v2.667h6.667v-2.667z'%3E%3C/path%3E %3Cpath fill='%23000' d='M14.667 4h2.667v2.667h-2.667v-2.667z'%3E%3C/path%3E%3C/svg%3E\");border-color:#000}.modal-text-container{-ms-flex-line-pack:center;align-content:center;width:100%;min-height:17em;background:#ffcc00}.modal-button-container{-ms-flex-line-pack:center;align-content:center;width:100%;height:6em;margin-right:0;margin-left:0;background:white}.text-align-center{text-align:center}.modal-text{color:black;font-weight:bold}:host{display:block}.widget-wrapper{position:relative}.widget-wrapper,#post-klp-login-widget,.klp-widget-anonymous,.klp-widget-anonymous__wrapper,.klp-widget-anonymous__wrapper a{height:100%}.klp-widget-anonymous__wrapper a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;color:hsl(0, 0%, 20%);text-decoration:none;padding:0 1rem;-webkit-transition:color 200ms;transition:color 200ms}.klp-widget-anonymous__wrapper a:hover,.klp-widget-anonymous__wrapper a:focus{color:black}@media (min-width: 1024px){.klp-widget-anonymous__wrapper a{padding:0 1.125rem}}.klp-widget-anonymous__wrapper a span{margin-right:0.5rem}.klp-widget-anonymous__wrapper a svg{width:1.5rem;height:1.5rem}@media (min-width: 600px) and (max-width: 1023.98px){.klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}@media (min-width: 1280px){.klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}#post-klp-login-widget .nameAndInfoWrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;width:224px;height:78px;padding:16px 0px;line-height:46px;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.modal-content{position:relative}.modal-text-container{padding-top:3rem}#post-klp-login-widget .modal-button-container{height:auto;padding:2rem}#post-klp-login-widget .modal-button-container>.item-centered{-ms-flex-pack:center;justify-content:center}.login-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){.login-button{padding:0 calc(1.125rem - 1px)}}@media (min-width: 1280px){.login-button{padding:0 calc(1.5rem - 1px)}}.login-button svg{width:1.5rem;height:1.5rem}@media (min-width: 600px){.login-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}}";
7
7
 
8
8
  const PostKlpLoginWidget = /*@__PURE__*/ proxyCustomElement(class PostKlpLoginWidget extends HTMLElement {
9
9
  constructor() {
@@ -1 +1 @@
1
- {"file":"post-klp-login-widget2.js","mappings":";;;;;AAAA,MAAM,qBAAqB,GAAG,s5uCAAs5uC;;MCYv6uC,kBAAkB;;;;;;EAG7B,MAAM,gBAAgB;;IACpB,IACE,CAAA,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,mBAAmB;MAClD,EAAC,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;MAElD,OAAO;IACT,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,OAAO,4BAA4B,CAAC,CAAC;IAChF,wBAAwB,CAAC,uBAAuB,kCAC3C,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,KAClD,WAAW,EAAE,KAAK,CAAC,WAAW,IAC9B,CAAC;GACJ;;;;EAMD,MAAM,QAAQ;;IACZ,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CACxD,uEAAuE,CACxE,CAAC;IACF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;MACrC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;KACxB;GACF;EAED,MAAM;;IACJ,IACE,EAAC,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;MACnD,EAAC,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,CAAA,EACpD;MACA,OAAO,CAAC,IAAI,CACV,sHAAsH,KAAK,CAAC,SAAS,kHAAkH,CACxP,CAAC;MACF,OAAO,IAAI,CAAC;KACb;IACD,QACE,EAAC,IAAI,QACH,EAAC,SAAS,OAAG,EACb,WAAK,KAAK,EAAC,gBAAgB,8BACxB,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,KAClD,SACE,EAAE,EAAC,uBAAuB,EAC1B,KAAK,EAAC,cAAc,EACpB,IAAI,EAAE,MAAA,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,0CAAE,WAAW,IAElE,YAAM,KAAK,EAAC,iBAAiB,IAC1B,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CACrD,EACP,EAAC,OAAO,IAAC,IAAI,EAAC,UAAU,GAAG,CACzB,KAEJ,WAAK,EAAE,EAAC,uBAAuB,GAAO,CACvC,CACG,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/post-klp-login-widget/post-klp-login-widget.scss?tag=post-klp-login-widget&encapsulation=shadow","./src/components/post-klp-login-widget/post-klp-login-widget.tsx"],"sourcesContent":["@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/components/button';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n@use './widget-styles.scss';\n\n:host {\n display: block;\n}\n\n.widget-wrapper {\n position: relative;\n}\n\n.widget-wrapper,\n#post-klp-login-widget,\n.klp-widget-anonymous,\n.klp-widget-anonymous__wrapper,\n.klp-widget-anonymous__wrapper a {\n height: 100%;\n}\n\n.klp-widget-anonymous__wrapper a {\n display: flex;\n align-items: center;\n color: color.$gray-80;\n text-decoration: none;\n padding: 0 1rem;\n transition: color 200ms;\n\n &:hover,\n &:focus {\n color: black;\n }\n\n @include mixins.min(lg) {\n padding: 0 1.125rem;\n }\n\n span {\n margin-right: 0.5rem;\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.klp-widget-anonymous__text {\n @extend %visually-hidden;\n\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n }\n\n @include mixins.min(xl) {\n @include mixins.reset-visually-hidden();\n }\n}\n\n#post-klp-login-widget .nameAndInfoWrapper {\n position: relative;\n display: flex;\n\n align-items: flex-start;\n width: 224px;\n height: 78px;\n padding: 16px 0px;\n line-height: 46px;\n flex-direction: column;\n justify-content: center;\n}\n\n.modal-content {\n position: relative;\n}\n\n.modal-text-container {\n padding-top: 3rem;\n}\n\n#post-klp-login-widget .modal-button-container {\n height: auto;\n padding: 2rem;\n\n & > .item-centered {\n justify-content: center;\n }\n}\n\n.login-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.min(rg) {\n @include mixins.reset-visually-hidden();\n\n font-weight: 300;\n margin-right: 0.5rem;\n cursor: pointer;\n }\n }\n}\n","import { Component, Host, h, Method, Element } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { IsFocusable } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\n\n@Component({\n tag: 'post-klp-login-widget',\n styleUrl: 'post-klp-login-widget.scss',\n scoped: false,\n shadow: true,\n})\nexport class PostKlpLoginWidget implements IsFocusable {\n @Element() host: HTMLElement;\n\n async componentDidLoad() {\n if (\n state.localizedConfig?.header?.showJobsLoginWidget ||\n !state.localizedConfig?.header?.loginWidgetOptions\n )\n return;\n const { initializeKLPLoginWidget } = await import('./klp-widget.controller.js');\n initializeKLPLoginWidget('post-klp-login-widget', {\n ...state.localizedConfig.header.loginWidgetOptions,\n environment: state.environment,\n });\n }\n\n /**\n * Sets the focus on the login button\n */\n @Method()\n async setFocus() {\n const loginButton = this.host.shadowRoot?.querySelectorAll<HTMLElement>(\n '.klp-widget-anonymous__wrapper a, .klp-widget-authenticated-session a',\n );\n if (loginButton && loginButton.length) {\n loginButton[0].focus();\n }\n }\n\n render() {\n if (\n !state?.localizedConfig?.header?.loginWidgetOptions &&\n !state?.localizedConfig?.header?.showJobsLoginWidget\n ) {\n console.warn(\n `Internet Header: the login widget is not configured in your portal config. Use <swisspost-internet-header project=\"${state.projectId}\" login=\"false\"></swisspost-internet-header> to turn off the login widget or configure it via the portal config.`,\n );\n return null;\n }\n return (\n <Host>\n <SvgSprite />\n <div class=\"widget-wrapper\" data-hj-suppress>\n {state?.localizedConfig?.header?.showJobsLoginWidget ? (\n <a\n id=\"post-klp-login-widget\"\n class=\"login-button\"\n href={state.localizedConfig.header.loginWidgetOptions?.appLoginUrl}\n >\n <span class=\"visually-hidden\">\n {state.localizedConfig.header.translations.loginWidgetText}\n </span>\n <SvgIcon name=\"pi-login\" />\n </a>\n ) : (\n <div id=\"post-klp-login-widget\"></div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"post-klp-login-widget2.js","mappings":";;;;;AAAA,MAAM,qBAAqB,GAAG,29uCAA29uC;;MCY5+uC,kBAAkB;;;;;;EAG7B,MAAM,gBAAgB;;IACpB,IACE,CAAA,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,mBAAmB;MAClD,EAAC,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;MAElD,OAAO;IACT,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,OAAO,4BAA4B,CAAC,CAAC;IAChF,wBAAwB,CAAC,uBAAuB,kCAC3C,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,KAClD,WAAW,EAAE,KAAK,CAAC,WAAW,IAC9B,CAAC;GACJ;;;;EAMD,MAAM,QAAQ;;IACZ,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CACxD,uEAAuE,CACxE,CAAC;IACF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;MACrC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;KACxB;GACF;EAED,MAAM;;IACJ,IACE,EAAC,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;MACnD,EAAC,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,CAAA,EACpD;MACA,OAAO,CAAC,IAAI,CACV,sHAAsH,KAAK,CAAC,SAAS,kHAAkH,CACxP,CAAC;MACF,OAAO,IAAI,CAAC;KACb;IACD,QACE,EAAC,IAAI,QACH,EAAC,SAAS,OAAG,EACb,WAAK,KAAK,EAAC,gBAAgB,8BACxB,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,KAClD,SACE,EAAE,EAAC,uBAAuB,EAC1B,KAAK,EAAC,cAAc,EACpB,IAAI,EAAE,MAAA,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,0CAAE,WAAW,IAElE,YAAM,KAAK,EAAC,iBAAiB,IAC1B,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CACrD,EACP,EAAC,OAAO,IAAC,IAAI,EAAC,UAAU,GAAG,CACzB,KAEJ,WAAK,EAAE,EAAC,uBAAuB,GAAO,CACvC,CACG,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/post-klp-login-widget/post-klp-login-widget.scss?tag=post-klp-login-widget&encapsulation=shadow","./src/components/post-klp-login-widget/post-klp-login-widget.tsx"],"sourcesContent":["@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/components/button';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n@use './widget-styles.scss';\n\n:host {\n display: block;\n}\n\n.widget-wrapper {\n position: relative;\n}\n\n.widget-wrapper,\n#post-klp-login-widget,\n.klp-widget-anonymous,\n.klp-widget-anonymous__wrapper,\n.klp-widget-anonymous__wrapper a {\n height: 100%;\n}\n\n.klp-widget-anonymous__wrapper a {\n display: flex;\n align-items: center;\n color: color.$gray-80;\n text-decoration: none;\n padding: 0 1rem;\n transition: color 200ms;\n\n &:hover,\n &:focus {\n color: black;\n }\n\n @include mixins.min(lg) {\n padding: 0 1.125rem;\n }\n\n span {\n margin-right: 0.5rem;\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.klp-widget-anonymous__text {\n @extend %visually-hidden;\n\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n }\n\n @include mixins.min(xl) {\n @include mixins.reset-visually-hidden();\n }\n}\n\n#post-klp-login-widget .nameAndInfoWrapper {\n position: relative;\n display: flex;\n\n align-items: flex-start;\n width: 224px;\n height: 78px;\n padding: 16px 0px;\n line-height: 46px;\n flex-direction: column;\n justify-content: center;\n}\n\n.modal-content {\n position: relative;\n}\n\n.modal-text-container {\n padding-top: 3rem;\n}\n\n#post-klp-login-widget .modal-button-container {\n height: auto;\n padding: 2rem;\n\n & > .item-centered {\n justify-content: center;\n }\n}\n\n.login-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.min(rg) {\n @include mixins.reset-visually-hidden();\n\n font-weight: 300;\n margin-right: 0.5rem;\n cursor: pointer;\n }\n }\n}\n","import { Component, Host, h, Method, Element } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { IsFocusable } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\n\n@Component({\n tag: 'post-klp-login-widget',\n styleUrl: 'post-klp-login-widget.scss',\n scoped: false,\n shadow: true,\n})\nexport class PostKlpLoginWidget implements IsFocusable {\n @Element() host: HTMLElement;\n\n async componentDidLoad() {\n if (\n state.localizedConfig?.header?.showJobsLoginWidget ||\n !state.localizedConfig?.header?.loginWidgetOptions\n )\n return;\n const { initializeKLPLoginWidget } = await import('./klp-widget.controller.js');\n initializeKLPLoginWidget('post-klp-login-widget', {\n ...state.localizedConfig.header.loginWidgetOptions,\n environment: state.environment,\n });\n }\n\n /**\n * Sets the focus on the login button\n */\n @Method()\n async setFocus() {\n const loginButton = this.host.shadowRoot?.querySelectorAll<HTMLElement>(\n '.klp-widget-anonymous__wrapper a, .klp-widget-authenticated-session a',\n );\n if (loginButton && loginButton.length) {\n loginButton[0].focus();\n }\n }\n\n render() {\n if (\n !state?.localizedConfig?.header?.loginWidgetOptions &&\n !state?.localizedConfig?.header?.showJobsLoginWidget\n ) {\n console.warn(\n `Internet Header: the login widget is not configured in your portal config. Use <swisspost-internet-header project=\"${state.projectId}\" login=\"false\"></swisspost-internet-header> to turn off the login widget or configure it via the portal config.`,\n );\n return null;\n }\n return (\n <Host>\n <SvgSprite />\n <div class=\"widget-wrapper\" data-hj-suppress>\n {state?.localizedConfig?.header?.showJobsLoginWidget ? (\n <a\n id=\"post-klp-login-widget\"\n class=\"login-button\"\n href={state.localizedConfig.header.loginWidgetOptions?.appLoginUrl}\n >\n <span class=\"visually-hidden\">\n {state.localizedConfig.header.translations.loginWidgetText}\n </span>\n <SvgIcon name=\"pi-login\" />\n </a>\n ) : (\n <div id=\"post-klp-login-widget\"></div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}