@duetds/components 5.3.5 → 5.4.2

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 (279) hide show
  1. package/hydrate/index.js +134 -96
  2. package/lib/cjs/duet-action-button.cjs.entry.js +25 -7
  3. package/lib/cjs/duet-alert.cjs.entry.js +1 -1
  4. package/lib/cjs/duet-badge.cjs.entry.js +1 -1
  5. package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
  6. package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
  7. package/lib/cjs/duet-button_2.cjs.entry.js +2 -2
  8. package/lib/cjs/duet-caption_4.cjs.entry.js +2 -2
  9. package/lib/cjs/duet-card.cjs.entry.js +2 -2
  10. package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
  11. package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
  12. package/lib/cjs/duet-collapsible.cjs.entry.js +2 -2
  13. package/lib/cjs/duet-combobox.cjs.entry.js +2 -2
  14. package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
  15. package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
  16. package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
  17. package/lib/cjs/duet-editable-table_3.cjs.entry.js +18 -13
  18. package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
  19. package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
  20. package/lib/cjs/duet-footer.cjs.entry.js +1 -1
  21. package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
  22. package/lib/cjs/duet-header_2.cjs.entry.js +51 -49
  23. package/lib/cjs/duet-hero.cjs.entry.js +4 -3
  24. package/lib/cjs/duet-icon.cjs.entry.js +2 -2
  25. package/lib/cjs/duet-input_2.cjs.entry.js +21 -4
  26. package/lib/cjs/duet-layout.cjs.entry.js +1 -1
  27. package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
  28. package/lib/cjs/duet-modal.cjs.entry.js +2 -2
  29. package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
  30. package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
  31. package/lib/cjs/duet-pagination_2.cjs.entry.js +2 -2
  32. package/lib/cjs/duet-progress.cjs.entry.js +1 -1
  33. package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
  34. package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
  35. package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
  36. package/lib/cjs/duet-select.cjs.entry.js +1 -1
  37. package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
  38. package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
  39. package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
  40. package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
  41. package/lib/cjs/duet-tray.cjs.entry.js +1 -1
  42. package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
  43. package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
  44. package/lib/cjs/duet.cjs.js +2 -2
  45. package/lib/cjs/{focus-utils-84c29960.js → focus-utils-9226aef7.js} +1 -1
  46. package/lib/cjs/{index-772cc42f.js → index-60a8ec8a.js} +8 -1
  47. package/lib/cjs/{js-utils-be1d29ae.js → js-utils-134e0318.js} +11 -0
  48. package/lib/cjs/loader.cjs.js +2 -2
  49. package/lib/cjs/{token-utils-50a1f7e2.js → token-utils-fef5b4eb.js} +1 -0
  50. package/lib/collection/components/duet-action-button/duet-action-button.js +44 -8
  51. package/lib/collection/components/duet-choice-group/duet-choice-group.js +7 -1
  52. package/lib/collection/components/duet-collapsible/duet-collapsible.js +1 -1
  53. package/lib/collection/components/duet-header/duet-header-icon.js +1 -1
  54. package/lib/collection/components/duet-header/duet-header.css +69 -43
  55. package/lib/collection/components/duet-header/duet-header.js +117 -114
  56. package/lib/collection/components/duet-hero/duet-hero.js +13 -5
  57. package/lib/collection/components/duet-input/duet-input.js +21 -3
  58. package/lib/collection/components/duet-upload/duet-upload.js +12 -12
  59. package/lib/collection/components/duet-upload/upload-validators.js +6 -1
  60. package/lib/collection/utils/js-utils.js +11 -0
  61. package/lib/collection/utils/token-utils.js +1 -1
  62. package/lib/custom-elements-bundle/index.js +132 -73
  63. package/lib/duet/duet.esm.js +1 -1
  64. package/lib/duet/duet.js +1 -1
  65. package/lib/duet/p-07a2ad03.entry.js +4 -0
  66. package/lib/duet/{p-dbb4a588.js → p-0b3f675e.js} +0 -0
  67. package/lib/duet/{p-0b426a83.system.entry.js → p-0dbd00e1.system.entry.js} +1 -1
  68. package/lib/duet/p-12606a4b.entry.js +4 -0
  69. package/lib/duet/p-21321528.system.entry.js +4 -0
  70. package/lib/duet/{p-8f74030a.entry.js → p-28f87990.entry.js} +1 -1
  71. package/lib/duet/{p-4e8f57dd.entry.js → p-2ac07ac9.entry.js} +1 -1
  72. package/lib/duet/{p-05ff2672.entry.js → p-2b155bd9.entry.js} +1 -1
  73. package/lib/duet/{p-acaedb00.system.js → p-309e3417.system.js} +3 -3
  74. package/lib/duet/p-30fc343d.system.entry.js +4 -0
  75. package/lib/duet/{p-12b8cb2f.system.entry.js → p-322676e3.system.entry.js} +1 -1
  76. package/lib/duet/{p-c0d98307.system.entry.js → p-33a0c070.system.entry.js} +1 -1
  77. package/lib/duet/{p-92639d0b.system.js → p-34ea0849.system.js} +0 -0
  78. package/lib/duet/{p-7dfe1c16.entry.js → p-440e2c47.entry.js} +1 -1
  79. package/lib/duet/{p-e6fdaa31.entry.js → p-451adbf4.entry.js} +1 -1
  80. package/lib/duet/{p-3f50d9bd.system.entry.js → p-46b83696.system.entry.js} +1 -1
  81. package/lib/duet/{p-cdba4c82.entry.js → p-46d9a853.entry.js} +1 -1
  82. package/lib/duet/{p-4260e8b5.system.entry.js → p-48a036c1.system.entry.js} +1 -1
  83. package/lib/duet/{p-8a472df4.system.entry.js → p-4dd79e38.system.entry.js} +1 -1
  84. package/lib/duet/{p-9071d4e1.system.entry.js → p-526e6d8e.system.entry.js} +1 -1
  85. package/lib/duet/{p-e00170a2.system.entry.js → p-56a80c32.system.entry.js} +1 -1
  86. package/lib/duet/{p-dfa92326.entry.js → p-56f17656.entry.js} +1 -1
  87. package/lib/duet/{p-b88b18c3.entry.js → p-590e8508.entry.js} +1 -1
  88. package/lib/duet/{p-43c1dcf5.entry.js → p-5a5117d4.entry.js} +1 -1
  89. package/lib/duet/{p-64a691e3.entry.js → p-5c1646f2.entry.js} +1 -1
  90. package/lib/duet/p-5ea398eb.entry.js +4 -0
  91. package/lib/duet/{p-4903478e.entry.js → p-5f528fa2.entry.js} +1 -1
  92. package/lib/duet/p-6002f3d2.system.js +4 -0
  93. package/lib/duet/{p-e908bfdc.system.entry.js → p-62303524.system.entry.js} +1 -1
  94. package/lib/duet/{p-b972e7b7.system.entry.js → p-6255147e.system.entry.js} +1 -1
  95. package/lib/duet/{p-3f1e781d.system.entry.js → p-63aea0dc.system.entry.js} +1 -1
  96. package/lib/duet/{p-ba0a4b7e.system.entry.js → p-64cbe9b7.system.entry.js} +1 -1
  97. package/lib/duet/p-65821960.entry.js +4 -0
  98. package/lib/duet/p-675d713b.entry.js +4 -0
  99. package/lib/duet/{p-c069f560.entry.js → p-67734fad.entry.js} +1 -1
  100. package/lib/duet/{p-fab89c9d.system.entry.js → p-67ed94fa.system.entry.js} +1 -1
  101. package/lib/duet/{p-16bc9a7e.system.entry.js → p-6ab6ce4f.system.entry.js} +1 -1
  102. package/lib/duet/{p-083e39cc.entry.js → p-6c5d3def.entry.js} +1 -1
  103. package/lib/duet/{p-815f4a10.system.entry.js → p-6e3f764f.system.entry.js} +1 -1
  104. package/lib/duet/{p-bacb27a1.js → p-6e64cd02.js} +2 -2
  105. package/lib/duet/{p-e40b610d.entry.js → p-6f1d6649.entry.js} +1 -1
  106. package/lib/duet/{p-0d188b2d.entry.js → p-70e567e9.entry.js} +1 -1
  107. package/lib/duet/{p-6dd1cf98.entry.js → p-77e3591e.entry.js} +1 -1
  108. package/lib/duet/{p-9027d0a4.system.entry.js → p-79948b47.system.entry.js} +1 -1
  109. package/lib/duet/{p-442f1dd5.entry.js → p-7d0051ea.entry.js} +1 -1
  110. package/lib/duet/p-7dfc475d.entry.js +4 -0
  111. package/lib/duet/{p-b787e777.system.entry.js → p-80d16341.system.entry.js} +1 -1
  112. package/lib/duet/{p-85c68d48.system.entry.js → p-817ef07d.system.entry.js} +1 -1
  113. package/lib/duet/{p-35d6061d.system.entry.js → p-838ef01e.system.entry.js} +1 -1
  114. package/lib/duet/{p-8fa7559b.system.entry.js → p-84310e48.system.entry.js} +1 -1
  115. package/lib/duet/{p-631054f3.system.js → p-89f50fd8.system.js} +1 -1
  116. package/lib/duet/{p-8b7adbf6.system.entry.js → p-8bf92f1e.system.entry.js} +1 -1
  117. package/lib/duet/p-8e1cf2fb.system.entry.js +4 -0
  118. package/lib/duet/{p-20f4d5d2.system.entry.js → p-9205c79a.system.entry.js} +1 -1
  119. package/lib/duet/{p-100b6a91.entry.js → p-97130a4c.entry.js} +1 -1
  120. package/lib/duet/{p-c4b6bf46.entry.js → p-97631cdc.entry.js} +1 -1
  121. package/lib/duet/{p-f9045aab.system.entry.js → p-98ca5a08.system.entry.js} +2 -2
  122. package/lib/duet/p-99bf8545.js +4 -0
  123. package/lib/duet/{p-97bb6fdd.system.entry.js → p-9c9fbda5.system.entry.js} +1 -1
  124. package/lib/duet/{p-8eb6610c.system.entry.js → p-9df52009.system.entry.js} +1 -1
  125. package/lib/duet/{p-634fda0f.entry.js → p-a03485f8.entry.js} +1 -1
  126. package/lib/duet/p-a806d616.entry.js +4 -0
  127. package/lib/duet/{p-56ae348b.entry.js → p-a91bb73d.entry.js} +1 -1
  128. package/lib/duet/{p-e36b95e0.system.entry.js → p-ac86999f.system.entry.js} +1 -1
  129. package/lib/duet/{p-b48811b5.entry.js → p-aefb80e3.entry.js} +1 -1
  130. package/lib/duet/{p-7de54632.entry.js → p-b004cbd3.entry.js} +1 -1
  131. package/lib/duet/{p-3d27e5ed.system.entry.js → p-b28e6872.system.entry.js} +1 -1
  132. package/lib/duet/{p-923b03a6.system.entry.js → p-b2ac632f.system.entry.js} +1 -1
  133. package/lib/duet/{p-1a8dfe6e.system.entry.js → p-b70f2ae2.system.entry.js} +1 -1
  134. package/lib/duet/{p-f301004d.entry.js → p-bc24eeda.entry.js} +1 -1
  135. package/lib/duet/{p-5184e972.system.entry.js → p-bec4d094.system.entry.js} +1 -1
  136. package/lib/duet/{p-c9f704c9.entry.js → p-bf8f3b14.entry.js} +1 -1
  137. package/lib/duet/{p-01ccafd3.system.entry.js → p-c383ceb4.system.entry.js} +2 -2
  138. package/lib/duet/{p-411bec39.system.entry.js → p-c694e7fb.system.entry.js} +1 -1
  139. package/lib/duet/p-c918ce45.system.entry.js +4 -0
  140. package/lib/duet/{p-fdaaa3ad.entry.js → p-c9f244f6.entry.js} +1 -1
  141. package/lib/duet/{p-b74364d3.entry.js → p-d3d6e75d.entry.js} +1 -1
  142. package/lib/duet/p-de3c0f4d.js +4 -0
  143. package/lib/duet/{p-2553a64a.entry.js → p-dfd9a9ff.entry.js} +1 -1
  144. package/lib/duet/{p-36924c8f.entry.js → p-e3017ffc.entry.js} +1 -1
  145. package/lib/duet/{p-4fd4ddda.entry.js → p-e358c599.entry.js} +1 -1
  146. package/lib/duet/{p-d06f9b6c.entry.js → p-e5b22358.entry.js} +1 -1
  147. package/lib/duet/{p-f2dab640.system.entry.js → p-ea12c081.system.entry.js} +1 -1
  148. package/lib/duet/{p-ea806947.entry.js → p-ef2f6881.entry.js} +1 -1
  149. package/lib/duet/{p-4dcbaccf.system.entry.js → p-f2831cda.system.entry.js} +1 -1
  150. package/lib/duet/{p-0f144788.entry.js → p-f2dce86d.entry.js} +1 -1
  151. package/lib/duet/{p-86a47942.entry.js → p-f30eb0fd.entry.js} +1 -1
  152. package/lib/duet/{p-8708f306.system.entry.js → p-f661ebf9.system.entry.js} +1 -1
  153. package/lib/duet/{p-e980faf9.system.entry.js → p-f6f30fb7.system.entry.js} +1 -1
  154. package/lib/duet/{p-ff94713b.entry.js → p-faf6cfe8.entry.js} +1 -1
  155. package/lib/duet/{p-2d58c660.system.entry.js → p-fdb0277c.system.entry.js} +1 -1
  156. package/lib/duet/{p-8c282db8.system.js → p-fe03f359.system.js} +1 -1
  157. package/lib/duet/{p-7382c47e.system.entry.js → p-ffadc9ea.system.entry.js} +1 -1
  158. package/lib/esm/duet-action-button.entry.js +25 -7
  159. package/lib/esm/duet-alert.entry.js +1 -1
  160. package/lib/esm/duet-badge.entry.js +1 -1
  161. package/lib/esm/duet-breadcrumb.entry.js +1 -1
  162. package/lib/esm/duet-breadcrumbs.entry.js +1 -1
  163. package/lib/esm/duet-button_2.entry.js +2 -2
  164. package/lib/esm/duet-caption_4.entry.js +2 -2
  165. package/lib/esm/duet-card.entry.js +2 -2
  166. package/lib/esm/duet-checkbox.entry.js +1 -1
  167. package/lib/esm/duet-choice_2.entry.js +2 -2
  168. package/lib/esm/duet-collapsible.entry.js +2 -2
  169. package/lib/esm/duet-combobox.entry.js +2 -2
  170. package/lib/esm/duet-cookie-consent.entry.js +1 -1
  171. package/lib/esm/duet-date-picker.entry.js +2 -2
  172. package/lib/esm/duet-divider_2.entry.js +1 -1
  173. package/lib/esm/duet-editable-table_3.entry.js +18 -13
  174. package/lib/esm/duet-empty-state.entry.js +1 -1
  175. package/lib/esm/duet-fieldset.entry.js +1 -1
  176. package/lib/esm/duet-footer.entry.js +1 -1
  177. package/lib/esm/duet-grid_2.entry.js +1 -1
  178. package/lib/esm/duet-header_2.entry.js +51 -49
  179. package/lib/esm/duet-hero.entry.js +4 -3
  180. package/lib/esm/duet-icon.entry.js +2 -2
  181. package/lib/esm/duet-input_2.entry.js +21 -4
  182. package/lib/esm/duet-layout.entry.js +1 -1
  183. package/lib/esm/duet-list_2.entry.js +1 -1
  184. package/lib/esm/duet-modal.entry.js +2 -2
  185. package/lib/esm/duet-notification_2.entry.js +1 -1
  186. package/lib/esm/duet-number-input.entry.js +1 -1
  187. package/lib/esm/duet-pagination_2.entry.js +2 -2
  188. package/lib/esm/duet-progress.entry.js +1 -1
  189. package/lib/esm/duet-radio_2.entry.js +1 -1
  190. package/lib/esm/duet-range-slider.entry.js +1 -1
  191. package/lib/esm/duet-scrollable_3.entry.js +1 -1
  192. package/lib/esm/duet-select.entry.js +1 -1
  193. package/lib/esm/duet-step_2.entry.js +1 -1
  194. package/lib/esm/duet-textarea.entry.js +1 -1
  195. package/lib/esm/duet-toggle.entry.js +1 -1
  196. package/lib/esm/duet-tooltip.entry.js +1 -1
  197. package/lib/esm/duet-tray.entry.js +1 -1
  198. package/lib/esm/duet-upload-aria-status.entry.js +1 -1
  199. package/lib/esm/duet-visually-hidden.entry.js +1 -1
  200. package/lib/esm/duet.js +2 -2
  201. package/lib/esm/{focus-utils-07c543df.js → focus-utils-8dc04c1c.js} +1 -1
  202. package/lib/esm/{index-bcca1cb8.js → index-e1964887.js} +8 -2
  203. package/lib/esm/{js-utils-52e0944c.js → js-utils-fa98b8cd.js} +11 -0
  204. package/lib/esm/loader.js +2 -2
  205. package/lib/esm/{token-utils-1f9435bc.js → token-utils-df78f4d8.js} +1 -1
  206. package/lib/esm-es5/duet-action-button.entry.js +2 -2
  207. package/lib/esm-es5/duet-alert.entry.js +1 -1
  208. package/lib/esm-es5/duet-badge.entry.js +1 -1
  209. package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
  210. package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
  211. package/lib/esm-es5/duet-button_2.entry.js +1 -1
  212. package/lib/esm-es5/duet-caption_4.entry.js +1 -1
  213. package/lib/esm-es5/duet-card.entry.js +1 -1
  214. package/lib/esm-es5/duet-checkbox.entry.js +1 -1
  215. package/lib/esm-es5/duet-choice_2.entry.js +1 -1
  216. package/lib/esm-es5/duet-collapsible.entry.js +2 -2
  217. package/lib/esm-es5/duet-combobox.entry.js +1 -1
  218. package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
  219. package/lib/esm-es5/duet-date-picker.entry.js +1 -1
  220. package/lib/esm-es5/duet-divider_2.entry.js +1 -1
  221. package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
  222. package/lib/esm-es5/duet-empty-state.entry.js +1 -1
  223. package/lib/esm-es5/duet-fieldset.entry.js +1 -1
  224. package/lib/esm-es5/duet-footer.entry.js +1 -1
  225. package/lib/esm-es5/duet-grid_2.entry.js +1 -1
  226. package/lib/esm-es5/duet-header_2.entry.js +2 -2
  227. package/lib/esm-es5/duet-hero.entry.js +1 -1
  228. package/lib/esm-es5/duet-icon.entry.js +1 -1
  229. package/lib/esm-es5/duet-input_2.entry.js +1 -1
  230. package/lib/esm-es5/duet-layout.entry.js +1 -1
  231. package/lib/esm-es5/duet-list_2.entry.js +1 -1
  232. package/lib/esm-es5/duet-modal.entry.js +1 -1
  233. package/lib/esm-es5/duet-notification_2.entry.js +1 -1
  234. package/lib/esm-es5/duet-number-input.entry.js +1 -1
  235. package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
  236. package/lib/esm-es5/duet-progress.entry.js +1 -1
  237. package/lib/esm-es5/duet-radio_2.entry.js +1 -1
  238. package/lib/esm-es5/duet-range-slider.entry.js +1 -1
  239. package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
  240. package/lib/esm-es5/duet-select.entry.js +1 -1
  241. package/lib/esm-es5/duet-step_2.entry.js +1 -1
  242. package/lib/esm-es5/duet-textarea.entry.js +1 -1
  243. package/lib/esm-es5/duet-toggle.entry.js +1 -1
  244. package/lib/esm-es5/duet-tooltip.entry.js +1 -1
  245. package/lib/esm-es5/duet-tray.entry.js +1 -1
  246. package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
  247. package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
  248. package/lib/esm-es5/duet.js +1 -1
  249. package/lib/esm-es5/focus-utils-8dc04c1c.js +4 -0
  250. package/lib/esm-es5/{index-bcca1cb8.js → index-e1964887.js} +3 -3
  251. package/lib/esm-es5/{js-utils-52e0944c.js → js-utils-fa98b8cd.js} +0 -0
  252. package/lib/esm-es5/loader.js +1 -1
  253. package/lib/esm-es5/token-utils-df78f4d8.js +4 -0
  254. package/lib/types/components/duet-action-button/duet-action-button.d.ts +12 -4
  255. package/lib/types/components/duet-header/duet-header-icon.d.ts +1 -0
  256. package/lib/types/components/duet-header/duet-header.d.ts +2 -2
  257. package/lib/types/components/duet-hero/duet-hero.d.ts +4 -0
  258. package/lib/types/components/duet-input/duet-input.d.ts +2 -1
  259. package/lib/types/components/duet-upload/duet-upload.d.ts +1 -2
  260. package/lib/types/components.d.ts +17 -9
  261. package/lib/types/utils/js-utils.d.ts +11 -0
  262. package/lib/types/utils/token-utils.d.ts +1 -0
  263. package/package.json +5 -5
  264. package/lib/duet/p-1717ed62.entry.js +0 -4
  265. package/lib/duet/p-32dd246d.entry.js +0 -4
  266. package/lib/duet/p-35159c88.system.entry.js +0 -4
  267. package/lib/duet/p-61507bc8.entry.js +0 -4
  268. package/lib/duet/p-6190e2d6.system.js +0 -4
  269. package/lib/duet/p-661f842b.entry.js +0 -4
  270. package/lib/duet/p-89f53f18.system.entry.js +0 -4
  271. package/lib/duet/p-909aaac4.entry.js +0 -4
  272. package/lib/duet/p-9cca0bb4.js +0 -4
  273. package/lib/duet/p-9df4bfa0.system.entry.js +0 -4
  274. package/lib/duet/p-a818e289.entry.js +0 -4
  275. package/lib/duet/p-c60f00e7.system.entry.js +0 -4
  276. package/lib/duet/p-ce276fc8.js +0 -4
  277. package/lib/duet/p-dbb2579c.entry.js +0 -4
  278. package/lib/esm-es5/focus-utils-07c543df.js +0 -4
  279. package/lib/esm-es5/token-utils-1f9435bc.js +0 -4
package/hydrate/index.js CHANGED
@@ -5615,6 +5615,17 @@ const debounce = (func, timeout = 250) => {
5615
5615
  }, timeout);
5616
5616
  };
5617
5617
  };
5618
+ /**
5619
+ * The fieldSorter function is a helper function that takes an array of objects and returns
5620
+ * a function that can be used to sort those objects. The returned sorting function takes two
5621
+ * parameters, which are compared using the field values in the object. If one object's field value is greater than another's, then 1 is returned; if they're equal, 0 is returned; and if one object's field value is less than another's, - 1 will be returned. This allows for easy sorting by multiple fields in any order desired (e.g., first by name ascending and then by age descending).
5622
+ *
5623
+ *
5624
+ * @param fields Sort the table
5625
+ *
5626
+ * @return A function that takes two objects and returns an integer
5627
+ *
5628
+ */
5618
5629
  function fieldSorter(fields) {
5619
5630
  return function (a, b) {
5620
5631
  return fields
@@ -6189,6 +6200,7 @@ class DuetActionButton {
6189
6200
  constructor(hostRef) {
6190
6201
  registerInstance(this, hostRef);
6191
6202
  this.duetActionEvent = createEvent$2(this, "duetActionEvent", 6);
6203
+ this.listId = createID("duet-action-button");
6192
6204
  this.numbersStore = "";
6193
6205
  /**
6194
6206
  * Theme of the pagination.
@@ -6236,6 +6248,13 @@ class DuetActionButton {
6236
6248
  * to $size-icon-medium on mobile viewports. Example: "color-primary".
6237
6249
  */
6238
6250
  this.background = "";
6251
+ /**
6252
+ * Title of the action button (shows as DOM tooltip when hovering)
6253
+ * if set to true, this will try to add a best-guess title based on action-name
6254
+ * if set to a string the string is used
6255
+ * if set to false nothing is set
6256
+ */
6257
+ this.accessibleTitle = true;
6239
6258
  /**
6240
6259
  * Described By id
6241
6260
  */
@@ -6253,7 +6272,7 @@ class DuetActionButton {
6253
6272
  */
6254
6273
  this.accessibleDescription = undefined;
6255
6274
  /**
6256
- * Default pagination labels
6275
+ * Default accessible labels
6257
6276
  */
6258
6277
  this.accessibleLabelsDefaults = {
6259
6278
  en: {
@@ -6267,14 +6286,13 @@ class DuetActionButton {
6267
6286
  },
6268
6287
  };
6269
6288
  /**
6270
- * Default pagination labels
6289
+ * Default accessible labels
6271
6290
  */
6272
6291
  this.accessibleLabels = getLocaleString(this.accessibleLabelsDefaults);
6273
6292
  /**
6274
6293
  * Used to indicate which dom element with ID this element controls
6275
6294
  */
6276
6295
  this.accessibleControls = "";
6277
- this.listId = createID("duet-action-button");
6278
6296
  /**
6279
6297
  * Private methods.
6280
6298
  */
@@ -6296,6 +6314,17 @@ class DuetActionButton {
6296
6314
  this.emitPageEvent(e);
6297
6315
  }
6298
6316
  }
6317
+ //return readable title for the action-button
6318
+ getTitle() {
6319
+ let titleString = "";
6320
+ if (typeof this.accessibleTitle === "string") {
6321
+ titleString = this.accessibleTitle;
6322
+ }
6323
+ if (this.accessibleTitle === true) {
6324
+ titleString = capitalizeFirstLetter(`${this.actionName}`);
6325
+ }
6326
+ return titleString;
6327
+ }
6299
6328
  //set update current when mouse click on page number
6300
6329
  async onMouseHandler(e) {
6301
6330
  e.preventDefault();
@@ -6341,7 +6370,7 @@ class DuetActionButton {
6341
6370
  "duet-action-button": true,
6342
6371
  "duet-action-button--disabled": this.disabled,
6343
6372
  [`duet-action-button--${this.theme}`]: this.theme !== "",
6344
- }, type: "button", onClick: e => this.onMouseHandler(e), "aria-label": this.accessibleLabels.label, "aria-labelledby": this.accessibleLabelledBy, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, "aria-details": this.accessibleDetails, "aria-controls": this.accessibleControls }, hAsync("duet-icon", { part: "icon", name: this.iconName, color: this.iconColor, margin: "none", size: this.iconSize }), hAsync("duet-visually-hidden", null, hAsync("slot", null)))));
6373
+ }, type: "button", onClick: e => this.onMouseHandler(e), "aria-label": this.accessibleLabels.label, "aria-labelledby": this.accessibleLabelledBy, "aria-description": this.accessibleDescription, "aria-describedby": this.accessibleDescribedBy, "aria-details": this.accessibleDetails, "aria-controls": this.accessibleControls, title: this.getTitle() }, hAsync("duet-icon", { part: "icon", name: this.iconName, color: this.iconColor, margin: "none", size: this.iconSize }), hAsync("duet-visually-hidden", null, hAsync("slot", null)))));
6345
6374
  }
6346
6375
  get element() { return getElement(this); }
6347
6376
  static get style() { return duetActionButtonCss; }
@@ -6359,6 +6388,7 @@ class DuetActionButton {
6359
6388
  "disabled": [4],
6360
6389
  "color": [513],
6361
6390
  "background": [1],
6391
+ "accessibleTitle": [8, "title"],
6362
6392
  "accessibleDescribedBy": [1, "accessible-described-by"],
6363
6393
  "accessibleDetails": [1, "accessible-details"],
6364
6394
  "accessibleLabelledBy": [1, "accessible-labelled-by"],
@@ -7811,32 +7841,13 @@ class DuetChoiceGroup {
7811
7841
  * Component lifecycle events.
7812
7842
  */
7813
7843
  async connectedCallback() {
7814
- const el = this.element;
7815
- if (this.value === undefined) {
7816
- const choice = findCheckedOption(el, ":scope > duet-choice");
7817
- if (choice !== undefined) {
7818
- await choice.componentOnReady();
7819
- if (this.value === undefined) {
7820
- this.value = choice.value;
7821
- }
7822
- }
7844
+ {
7845
+ return;
7823
7846
  }
7824
- this.mutationO = watchForOptions(el, ":scope > duet-choice", newOption => {
7825
- if (newOption !== undefined) {
7826
- newOption.componentOnReady().then(() => {
7827
- this.value = newOption.value;
7828
- });
7829
- }
7830
- else {
7831
- this.updateChoices();
7832
- }
7833
- });
7834
- this.updateChoices();
7835
7847
  }
7836
7848
  disconnectedCallback() {
7837
- if (this.mutationO) {
7838
- this.mutationO.disconnect();
7839
- this.mutationO = undefined;
7849
+ {
7850
+ return;
7840
7851
  }
7841
7852
  }
7842
7853
  componentWillLoad() {
@@ -8369,7 +8380,7 @@ var tokens$1 = /*#__PURE__*/Object.freeze({
8369
8380
  'default': tokens
8370
8381
  });
8371
8382
 
8372
- const duetCollapsibleCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-collapsible,*.sc-duet-collapsible::after,*.sc-duet-collapsible::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-collapsible-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d}/*!@:host(.duet-theme-turva)*/.duet-theme-turva.sc-duet-collapsible-h{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}/*!@:host(.duet-m-0)*/.duet-m-0.sc-duet-collapsible-h{margin:0 !important}/*!@.duet-collapsible-content*/.duet-collapsible-content.sc-duet-collapsible{display:none;padding-left:18px;margin-top:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:#00294d}@media (max-width: 35.9375em){/*!@.duet-collapsible-content*/.duet-collapsible-content.sc-duet-collapsible{font-size:0.875rem}}/*!@.duet-collapsible-content.duet-theme-turva*/.duet-collapsible-content.duet-theme-turva.sc-duet-collapsible{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}/*!@:host([open]) .duet-collapsible-content*/[open].sc-duet-collapsible-h .duet-collapsible-content.sc-duet-collapsible{display:block}/*!@.duet-collapsible-heading*/.duet-collapsible-heading.sc-duet-collapsible{-webkit-user-select:none;user-select:none;display:flex;align-items:center;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d;cursor:pointer;border-radius:4px}/*!@.duet-collapsible-heading.duet-collapsible-normal-weight*/.duet-collapsible-heading.duet-collapsible-normal-weight.sc-duet-collapsible{font-weight:400}/*!@.duet-collapsible-heading.duet-theme-turva*/.duet-collapsible-heading.duet-theme-turva.sc-duet-collapsible{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}/*!@.duet-collapsible-heading .duet-collapsible-heading-content*/.duet-collapsible-heading.sc-duet-collapsible .duet-collapsible-heading-content.sc-duet-collapsible{flex:1}/*!@.duet-collapsible-heading:focus*/.duet-collapsible-heading.sc-duet-collapsible:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-collapsible-heading:focus*/.user-is-tabbing.sc-duet-collapsible-h .duet-collapsible-heading.sc-duet-collapsible:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing.duet-theme-turva) .duet-collapsible-heading:focus*/.user-is-tabbing.duet-theme-turva.sc-duet-collapsible-h .duet-collapsible-heading.sc-duet-collapsible:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-collapsible-heading-icon*/.duet-collapsible-heading-icon.sc-duet-collapsible{margin-right:8px !important;display:flex;align-items:center;justify-content:center;color:#00294d;transition:transform 300ms ease}/*!@.duet-collapsible-heading-icon:last-child, .duet-collapsible-heading-icon:last-of-type*/.duet-collapsible-heading-icon.sc-duet-collapsible:last-child,.duet-collapsible-heading-icon.sc-duet-collapsible:last-of-type{margin-right:0 !important}/*!@[aria-expanded=true] .duet-collapsible-heading-icon*/[aria-expanded=true].sc-duet-collapsible .duet-collapsible-heading-icon.sc-duet-collapsible{transform:rotate(180deg)}";
8383
+ const duetCollapsibleCss = "*.sc-duet-collapsible,*.sc-duet-collapsible::after,*.sc-duet-collapsible::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}.sc-duet-collapsible-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;display:block;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d}.duet-theme-turva.sc-duet-collapsible-h{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-m-0.sc-duet-collapsible-h{margin:0 !important}.duet-collapsible-content.sc-duet-collapsible{display:none;padding-left:18px;margin-top:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;color:#00294d}@media (max-width: 35.9375em){.duet-collapsible-content.sc-duet-collapsible{font-size:0.875rem}}.duet-collapsible-content.duet-theme-turva.sc-duet-collapsible{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}[open].sc-duet-collapsible-h .duet-collapsible-content.sc-duet-collapsible{display:block}.duet-collapsible-heading.sc-duet-collapsible{-webkit-user-select:none;user-select:none;display:flex;align-items:center;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-weight:600;line-height:1.5;color:#00294d;cursor:pointer;border-radius:4px}.duet-collapsible-heading.duet-collapsible-normal-weight.sc-duet-collapsible{font-weight:400}.duet-collapsible-heading.duet-theme-turva.sc-duet-collapsible{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}.duet-collapsible-heading.sc-duet-collapsible .duet-collapsible-heading-content.sc-duet-collapsible{flex:1}.duet-collapsible-heading.sc-duet-collapsible:focus{outline:0}.user-is-tabbing.sc-duet-collapsible-h .duet-collapsible-heading.sc-duet-collapsible:focus{border-radius:4px;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}.user-is-tabbing.duet-theme-turva.sc-duet-collapsible-h .duet-collapsible-heading.sc-duet-collapsible:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}.duet-collapsible-heading-icon.sc-duet-collapsible{margin-right:8px !important;display:flex;align-items:center;justify-content:center;color:#00294d;transition:transform 300ms ease}.duet-collapsible-heading-icon.sc-duet-collapsible:last-child,.duet-collapsible-heading-icon.sc-duet-collapsible:last-of-type{margin-right:0 !important}[aria-expanded=true].sc-duet-collapsible .duet-collapsible-heading-icon.sc-duet-collapsible{transform:rotate(180deg)}";
8373
8384
 
8374
8385
  /**
8375
8386
  * @part duet-collapsible-heading-content - piercing selector for styling the heading content
@@ -8498,7 +8509,7 @@ class DuetCollapsible {
8498
8509
  get element() { return getElement(this); }
8499
8510
  static get style() { return duetCollapsibleCss; }
8500
8511
  static get cmpMeta() { return {
8501
- "$flags$": 9,
8512
+ "$flags$": 6,
8502
8513
  "$tagName$": "duet-collapsible",
8503
8514
  "$members$": {
8504
8515
  "theme": [1025],
@@ -10804,7 +10815,7 @@ const enableBodyScroll = targetElement => {
10804
10815
 
10805
10816
  const DuetHeaderIcon = (props, _children) => {
10806
10817
  const iconSize = props.iconSize ? props.iconSize : "x-small";
10807
- return (hAsync("span", { class: "duet-header-icon" },
10818
+ return (hAsync("span", { class: `duet-header-icon ${props.class ? props.class : ""}` },
10808
10819
  hAsync("duet-icon", { margin: "none", size: iconSize, icon: props.icon, color: "currentColor" })));
10809
10820
  };
10810
10821
 
@@ -10837,7 +10848,7 @@ const DuetHeaderHamburger = () => (hAsync("div", { class: "duet-header-hamburger
10837
10848
  hAsync("span", { class: "duet-header-bar" }),
10838
10849
  hAsync("span", { class: "duet-header-bar" })));
10839
10850
 
10840
- const duetHeaderCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-header,*.sc-duet-header::after,*.sc-duet-header::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-header-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}@supports (position: -webkit-sticky){/*!@:host*/.sc-duet-header-h{position:-webkit-sticky;top:-4rem;z-index:400}}@supports (position: sticky){/*!@:host*/.sc-duet-header-h{position:sticky;top:-4rem;z-index:400}}@supports (position: -webkit-sticky){/*!@:host(.duet-header-multi-level-desktop-variation)*/.duet-header-multi-level-desktop-variation.sc-duet-header-h{top:0}}@supports (position: sticky){/*!@:host(.duet-header-multi-level-desktop-variation)*/.duet-header-multi-level-desktop-variation.sc-duet-header-h{top:0}}/*!@.duet-header-reserved-space*/.duet-header-reserved-space.sc-duet-header{height:4rem}@media (min-width: 62em){/*!@.duet-header-reserved-space.duet-with-links*/.duet-header-reserved-space.duet-with-links.sc-duet-header{height:7rem}}/*!@.duet-header*/.duet-header.sc-duet-header{-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0;z-index:400;display:block;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left}/*!@.duet-header.duet-theme-turva*/.duet-header.duet-theme-turva.sc-duet-header{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}@media (min-width: 62em){/*!@.duet-header.duet-theme-turva*/.duet-header.duet-theme-turva.sc-duet-header{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}}@media (min-width: 62em){/*!@.duet-header*/.duet-header.sc-duet-header{position:absolute;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}/*!@.duet-header.duet-header-inactive*/.duet-header.duet-header-inactive.sc-duet-header{position:fixed}}/*!@.duet-header **/.duet-header.sc-duet-header *.sc-duet-header{-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}/*!@.duet-header-top*/.duet-header-top.sc-duet-header{position:relative;z-index:200;display:flex;flex-direction:row;align-items:center;width:100%;height:4rem;padding:0 16px;background:white;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){/*!@.duet-header-top*/.duet-header-top.sc-duet-header{z-index:100;padding:0 28px;box-shadow:none}/*!@.duet-header-top duet-logo*/.duet-header-top.sc-duet-header duet-logo.sc-duet-header{padding-right:4px}}@media (min-width: 106.25em){/*!@.duet-header-top*/.duet-header-top.sc-duet-header{padding:0 48px}}/*!@.duet-theme-turva .duet-header-top*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header{border-color:#e4e4e6;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}@media (min-width: 62em){/*!@.duet-theme-turva .duet-header-top*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header{box-shadow:none}}/*!@.duet-theme-turva .duet-header-top duet-logo*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header duet-logo.sc-duet-header{left:-80px !important;margin-top:-8px !important}/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{max-width:200px;padding-left:16px;margin-top:1px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:1px solid #cfd2d4}/*!@.duet-theme-turva .duet-header-top .duet-header-region*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{border-color:#cfcfd1}@media (max-width: 35.9375em){/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{display:none}}@media (min-width: 62em){/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{padding-left:19px}}/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:fixed;top:4rem;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;width:100%;overflow-y:auto;visibility:hidden;background:#f3f9fc;opacity:0;-webkit-overflow-scrolling:touch}/*!@.duet-theme-turva .duet-header-bottom*/.duet-theme-turva.sc-duet-header .duet-header-bottom.sc-duet-header{background:#f5f5f7}@media (min-width: 62em){/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:relative;top:auto;bottom:auto;z-index:200;flex-direction:row;overflow:visible;visibility:visible;background:white;opacity:1}/*!@.duet-header-bottom.duet-header-inactive*/.duet-header-bottom.duet-header-inactive.sc-duet-header{position:relative}}/*!@.duet-header-bottom.active*/.duet-header-bottom.active.sc-duet-header{visibility:visible;opacity:1;transition:opacity 300ms ease, visibility 300ms ease}@media (min-width: 62em){/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:relative;transition:none !important}}/*!@.duet-header-items,\n.duet-header-bottom-utils,\n.duet-header-utils*/.duet-header-items.sc-duet-header,.duet-header-bottom-utils.sc-duet-header,.duet-header-utils.sc-duet-header{opacity:0;transition:transform 600ms ease, opacity 600ms ease;transform:translateY(-28px)}@media (min-width: 62em){/*!@.duet-header-items,\n.duet-header-bottom-utils,\n.duet-header-utils*/.duet-header-items.sc-duet-header,.duet-header-bottom-utils.sc-duet-header,.duet-header-utils.sc-duet-header{opacity:1;transition:none !important;transform:none}}/*!@.active .duet-header-items,\n.active .duet-header-bottom-utils,\n.active .duet-header-utils*/.active.sc-duet-header .duet-header-items.sc-duet-header,.active.sc-duet-header .duet-header-bottom-utils.sc-duet-header,.active.sc-duet-header .duet-header-utils.sc-duet-header{opacity:1;transform:translateY(0)}/*!@.duet-header-items*/.duet-header-items.sc-duet-header{position:relative;z-index:300;display:block;width:100%;font-size:1rem;font-weight:400;line-height:1.5;background:white}@media (min-width: 62em){/*!@.duet-header-items*/.duet-header-items.sc-duet-header{z-index:100;display:flex;flex-direction:row;padding:0 21.5384615385px}}@media (min-width: 106.25em){/*!@.duet-header-items*/.duet-header-items.sc-duet-header{padding-left:43.6363636364px}}/*!@.duet-header-items .duet-header-item-container*/.duet-header-items.sc-duet-header .duet-header-item-container.sc-duet-header{border-bottom:1px solid #e1e3e6;border-radius:0}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item-container*/.duet-header-items.sc-duet-header .duet-header-item-container.sc-duet-header{border:0}}/*!@.duet-header-items .duet-header-second-level .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-item.sc-duet-header{padding:0 40px;border:0}/*!@.duet-header-items .duet-header-second-level .duet-header-button*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-button.sc-duet-header{border:0}/*!@.duet-header-items .duet-header-second-level .duet-header-dropdown-content*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-dropdown-content.sc-duet-header{padding:0;border:0}/*!@.duet-header-items .duet-header-third-level .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-third-level.sc-duet-header .duet-header-item.sc-duet-header{padding:0 75px}/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{position:relative;display:flex;align-items:center;width:100%;padding:0 20px;overflow:hidden;font-size:1rem;line-height:48px;color:#00294d;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{font-weight:600;border-radius:4px}}/*!@.duet-theme-turva .duet-header-items .duet-header-item*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{color:#171c3a;border-color:#e1e3e6}/*!@.duet-header-items .duet-header-item:hover*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:hover{color:#004d80}/*!@.duet-theme-turva .duet-header-items .duet-header-item:hover*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:hover{color:#444445}/*!@.duet-header-items .duet-header-item:focus*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-items .duet-header-item:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-items .duet-header-item:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{width:auto;max-width:300px;padding:0 12px;overflow:hidden;font-size:0.875rem;text-overflow:ellipsis;border:0}}/*!@.duet-header-items .duet-header-item.active*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header{color:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header{color:#c60c30}/*!@.duet-header-items .duet-header-item.active:hover*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header:hover{color:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header:hover{color:#c60c30}/*!@.duet-header-items .duet-header-item.active::after*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active::after*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{background:#c60c30}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item.active::after*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{top:auto;left:12px;width:calc(100% - 24px);height:3px}}/*!@.duet-header-toggle*/.duet-header-toggle.sc-duet-header{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-8px;margin-left:auto;cursor:pointer;border-radius:4px;-webkit-appearance:none;appearance:none}/*!@.duet-header-toggle:focus*/.duet-header-toggle.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){/*!@.duet-header-toggle*/.duet-header-toggle.sc-duet-header{display:none}}/*!@.duet-header-hamburger*/.duet-header-hamburger.sc-duet-header{position:relative;width:24px;height:24px;margin-top:5px !important;pointer-events:none;transition:0.4s ease-in-out;backface-visibility:hidden}/*!@.duet-header-hamburger .duet-header-bar*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header{position:absolute;left:0;display:block;width:100%;height:2px;background:#00294d;border-radius:20rem;opacity:1;transition:0.25s ease-in-out;transform:rotate(0deg) scale(0.98)}/*!@.duet-theme-turva .duet-header-hamburger .duet-header-bar*/.duet-theme-turva.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header{background:#171c3a}/*!@.duet-header-hamburger .duet-header-bar:nth-child(1)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(1){top:0}/*!@.duet-header-hamburger .duet-header-bar:nth-child(2), .duet-header-hamburger .duet-header-bar:nth-child(3)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(2),.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(3){top:7px}/*!@.duet-header-hamburger .duet-header-bar:nth-child(4)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(4){top:14px}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(1)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(1){top:7px;left:50%;width:0%}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(2)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(2){transform:rotate(45deg)}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(3)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(3){transform:rotate(-45deg)}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(4)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(4){top:7px;left:50%;width:0%}/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{display:flex;flex-direction:column;width:100%}@media (min-width: 62em){/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{position:absolute;top:-4rem;right:0;z-index:999999999;flex-direction:row;align-items:center;justify-content:space-between;width:auto;margin-right:20px}}@media (min-width: 106.25em){/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{margin-right:36px}}@media (min-width: 62em){/*!@.duet-header-bottom-utils*/.duet-header-bottom-utils.sc-duet-header{position:absolute;top:0;right:0;z-index:999999999;margin-right:20px}}@media (min-width: 106.25em){/*!@.duet-header-bottom-utils*/.duet-header-bottom-utils.sc-duet-header{margin-right:36px}}/*!@button*/button.sc-duet-header{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}/*!@.duet-theme-turva button*/.duet-theme-turva.sc-duet-header button.sc-duet-header{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}/*!@.duet-header-button*/.duet-header-button.sc-duet-header{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-size:1rem;font-weight:400;line-height:48px;color:#00294d;text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-bottom:1px solid #e1e3e6;border-radius:4px;-webkit-appearance:none;appearance:none}/*!@.duet-theme-turva .duet-header-button*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header{color:#171c3a;border-color:#e4e4e6}/*!@.duet-header-button:hover*/.duet-header-button.sc-duet-header:hover{color:#004d80}/*!@.duet-theme-turva .duet-header-button:hover*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header:hover{color:#940925}/*!@.duet-header-button:focus*/.duet-header-button.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-button:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-button.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-button:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-button:active*/.duet-header-button.sc-duet-header:active{opacity:0.75}@media (min-width: 62em){/*!@.duet-header-button*/.duet-header-button.sc-duet-header{width:auto;max-width:200px;height:4rem;padding:0 16px;font-size:0.875rem;line-height:4rem;border:0}/*!@.duet-header-button::before*/.duet-header-button.sc-duet-header::before{position:absolute;top:50%;right:0;width:1px;height:20px;content:\"\";background:#cfd2d4;transform:translateY(-50%)}/*!@.duet-theme-turva .duet-header-button::before*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header::before{background:#cfcfd1}}/*!@.duet-header-button.active*/.duet-header-button.active.sc-duet-header{color:#0077b3;border-radius:0}/*!@.duet-theme-turva .duet-header-button.active*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header{color:#c60c30}/*!@.duet-header-button.active:hover*/.duet-header-button.active.sc-duet-header:hover{color:#0077b3}/*!@.duet-theme-turva .duet-header-button.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header:hover{color:#c60c30}@media (min-width: 62em){/*!@.duet-header-button.active::after*/.duet-header-button.active.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:3px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-button.active::after*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header::after{color:#c60c30}}/*!@.duet-header-utils .duet-header-button.duet-header-logout*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{align-self:center;justify-content:center;width:auto;height:2.5rem;margin:2.25rem 0;font-weight:600;border:2px solid #00294d;border-radius:20rem}/*!@.duet-theme-turva .duet-header-utils .duet-header-button.duet-header-logout*/.duet-theme-turva.sc-duet-header .duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{border-color:#171c3a}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.sc-duet-header{margin-right:0.5rem}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-button-label*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-button-label.sc-duet-header{font-size:0.875rem}@media (min-width: 62em){/*!@.duet-header-utils .duet-header-button.duet-header-logout*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{height:4rem;margin:0;font-weight:400;border:0}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.sc-duet-header{margin-right:0.75rem}}/*!@.duet-header-no-action*/.duet-header-no-action.sc-duet-header{pointer-events:none}/*!@.duet-header-user-label*/.duet-header-user-label.sc-duet-header{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){/*!@.duet-header-utils > *:last-child::before,\n.duet-header-utils > *:last-child button::before*/.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child::before,.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child button.sc-duet-header::before{display:none}}@media (min-width: 62em){/*!@.duet-header-utils > *:last-child .duet-header-dropdown-content*/.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child .duet-header-dropdown-content.sc-duet-header{right:0;left:auto}}/*!@.duet-header-language*/.duet-header-language.sc-duet-header{text-transform:uppercase}/*!@.duet-header-language.active, .duet-header-language.active:hover,\n.duet-header-contact.active,\n.duet-header-contact.active:hover*/.duet-header-language.active.sc-duet-header,.duet-header-language.active.sc-duet-header:hover,.duet-header-contact.active.sc-duet-header,.duet-header-contact.active.sc-duet-header:hover{color:inherit}/*!@.duet-theme-turva .duet-header-language.active, .duet-theme-turva .duet-header-language.active:hover,\n.duet-theme-turva .duet-header-contact.active,\n.duet-theme-turva .duet-header-contact.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-language.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-language.active.sc-duet-header:hover,.duet-theme-turva.sc-duet-header .duet-header-contact.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-contact.active.sc-duet-header:hover{color:inherit}/*!@.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header:hover::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header:hover::after{width:0}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header:hover::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header:hover::after{width:100%}}/*!@.duet-header-icon*/.duet-header-icon.sc-duet-header{display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){/*!@.duet-header-icon*/.duet-header-icon.sc-duet-header{margin-right:8px}}/*!@.duet-header-caret*/.duet-header-caret.sc-duet-header{position:absolute;top:50%;right:20px;display:flex;width:10px;height:10px;margin-left:8px;line-height:normal;pointer-events:none;transition:300ms ease;transform:translateY(-50%);transform-origin:50% 50%}@media (min-width: 62em){/*!@.duet-header-caret*/.duet-header-caret.sc-duet-header{width:7px;height:7px}}/*!@.duet-header-caret duet-icon*/.duet-header-caret.sc-duet-header duet-icon.sc-duet-header{width:10px}/*!@.duet-header-dropdown-toggle.active .duet-header-caret*/.duet-header-dropdown-toggle.active.sc-duet-header .duet-header-caret.sc-duet-header{transform:translateY(-50%) rotate(180deg)}/*!@.duet-header-dropdown-toggle:focus*/.duet-header-dropdown-toggle.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-dropdown-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-dropdown-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-dropdown-toggle:active*/.duet-header-dropdown-toggle.sc-duet-header:active{outline:none}/*!@.duet-header-badge*/.duet-header-badge.sc-duet-header{display:inline-block;width:6px;height:6px;margin-top:-1rem;margin-left:5px;vertical-align:top;background:#f7b228;border-radius:50%;box-shadow:0 0 0 1px #c18b1f}/*!@.duet-theme-turva .duet-header-badge*/.duet-theme-turva.sc-duet-header .duet-header-badge.sc-duet-header{background:#faa40f}/*!@.active-bar*/.active-bar.sc-duet-header{color:#0077b3}/*!@.active-bar::after*/.active-bar.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .active-bar::after*/.duet-theme-turva.sc-duet-header .active-bar.sc-duet-header::after{background:#c60c30}/*!@.duet-header-dropdown*/.duet-header-dropdown.sc-duet-header{position:relative}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header{z-index:200;padding-right:36px;overflow:hidden;transition:border 300ms ease}}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px !important;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle::after*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header::after{background:#c60c30}}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{border-bottom:1px solid #f5f8fa}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{background:#c60c30}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{border-color:#f5f5f7}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{color:#004d80;border:0}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{position:absolute;top:auto;bottom:0;left:0;width:100%;height:3px;transform:translateY(0)}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{color:#940925}}@media (min-width: 62em){/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.duet-header-session.sc-duet-header{color:white;background:#c60c30;border-radius:0}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session:hover, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session.active, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.duet-header-session.sc-duet-header:hover,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.duet-header-session.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.duet-header-session.active.sc-duet-header:hover{color:white;background:#940925}}/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{display:none;padding-bottom:16px;background:#f3f9fc;border-bottom:1px solid #e1e3e6}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f5f5f7;border-color:#e1e3e6}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{position:absolute;top:100%;left:0;z-index:600;display:block;min-width:150px;padding-top:16px;padding-left:0;visibility:hidden;border:0;border-radius:4px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:300ms ease;transform:scale(0.85) translateZ(0) translateY(-20px)}/*!@.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.duet-header-session-items.sc-duet-header{right:0%;left:auto;min-width:225px}/*!@.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items .duet-header-session-label*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.duet-header-session-items.sc-duet-header .duet-header-session-label.sc-duet-header{padding:0 20px;font-weight:600}}@media (min-width: 64.0625em){/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{min-width:170px}/*!@.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.duet-header-session-items.sc-duet-header{min-width:225px}}/*!@.duet-header-dropdown .duet-header-dropdown-content.active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.active.sc-duet-header{display:block}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content.active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.active.sc-duet-header{visibility:visible;opacity:1;transform:translateZ(0) translateY(0)}}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){padding:3px 8px 4px !important;position:relative;display:block;width:100%;padding-right:16px;padding-left:48px !important;overflow:hidden;font-size:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:300ms ease}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){color:#171c3a}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){padding-right:20px !important;padding-left:20px !important}}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):hover{background:#e6f2f8}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):hover{background:#e4e4e6}}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.user-is-tabbing.sc-duet-header-h .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{padding-right:36px;font-weight:600;vertical-align:baseline}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{font-weight:700}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{color:white;background:#0077b3}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{background:#c60c30}}/*!@.duet-header-dropdown .duet-header-dropdown-content .duet-header-link-external*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header .duet-header-link-external.sc-duet-header{margin-left:4px}/*!@.duet-header-back .duet-header-top*/.duet-header-back.sc-duet-header .duet-header-top.sc-duet-header{flex-direction:row;align-items:center;justify-content:center}/*!@.duet-header-back duet-button*/.duet-header-back.sc-duet-header duet-button.sc-duet-header{position:absolute;top:50%;left:36px;transform:translateY(-50%)}@media (max-width: 35.9375em){/*!@.duet-header-back duet-button*/.duet-header-back.sc-duet-header duet-button.sc-duet-header{left:20px;max-width:40px;padding:0 12px;overflow:hidden}}/*!@.duet-header-back .duet-header-toggle*/.duet-header-back.sc-duet-header .duet-header-toggle.sc-duet-header{display:none !important}/*!@.duet-header-skip*/.duet-header-skip.sc-duet-header{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:#0077b3;text-align:center;text-decoration:none;background:white;border-radius:4px;opacity:0}/*!@.duet-header-skip:focus*/.duet-header-skip.sc-duet-header:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-header-skip:focus, .duet-header-skip:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-header .duet-header-skip.sc-duet-header:focus,.duet-header-skip.sc-duet-header:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-theme-turva .duet-header-skip*/.duet-theme-turva.sc-duet-header .duet-header-skip.sc-duet-header{min-width:120px;color:#171c3a}@media (min-width: 106.25em){/*!@.duet-header-skip*/.duet-header-skip.sc-duet-header{margin-left:20px}}/*!@.duet-header-skip:focus*/.duet-header-skip.sc-duet-header:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}/*!@.duet-header-multi-level-desktop*/.duet-header-multi-level-desktop.sc-duet-header{height:6rem}/*!@.duet-header-multi-level-desktop .duet-header-top*/.duet-header-multi-level-desktop.sc-duet-header .duet-header-top.sc-duet-header{justify-content:space-between;height:6rem}/*!@.duet-header-multi-level-desktop .duet-header-button*/.duet-header-multi-level-desktop.sc-duet-header .duet-header-button.sc-duet-header{height:6rem}/*!@.duet-header-multi-level-desktop .logo-and-segment*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header{display:flex;flex-basis:0;flex-direction:column;flex-grow:1;padding-top:1rem}/*!@.duet-header-multi-level-desktop .logo-and-segment .duet-header-dropdown*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header{z-index:400;margin-left:2rem}/*!@.duet-header-multi-level-desktop .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f3f9fc}/*!@.duet-header-multi-level-desktop .logo-and-segment button*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header button.sc-duet-header{align-items:flex-start;height:2rem;font-weight:600;line-height:1rem}/*!@.duet-header-multi-level-desktop .logo-and-segment button::before*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level-desktop .logo-and-segment .duet-header-caret*/.duet-header-multi-level-desktop.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-caret.sc-duet-header{top:25%}/*!@.duet-header-multi-level-desktop-nav*/.duet-header-multi-level-desktop-nav.sc-duet-header{display:flex}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header{position:static}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header{z-index:400;padding-right:1rem;font-size:1rem;font-weight:600}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle.active*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header{color:#0077b3}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle.active:not(.open) .duet-header-caret*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:not(.open) .duet-header-caret.sc-duet-header{transform:translateY(-50%) rotate(0deg)}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{z-index:399;display:flex;justify-content:center;width:100%;height:4.5rem;padding:0;background:#f3f9fc;border-top:1px solid #e1e3e6;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);transition:none}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;min-width:6rem;height:100%;padding:0 1rem !important;font-weight:600}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a::after*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{font-weight:600;color:#0077b3;background:none}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active::after*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header::after{transform:translateY(0)}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a .duet-header-icon*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header .duet-header-icon.sc-duet-header{margin:0}/*!@.duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content .duet-header-badge*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header .duet-header-badge.sc-duet-header{position:absolute;margin-top:-2rem;margin-right:-2.25rem}/*!@.duet-header-multi-level-desktop-nav button::before*/.duet-header-multi-level-desktop-nav.sc-duet-header button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level-desktop-nav .duet-header-caret*/.duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-caret.sc-duet-header{right:1%}/*!@.duet-header-multi-level-desktop-utils*/.duet-header-multi-level-desktop-utils.sc-duet-header{display:flex;flex-basis:0;flex-grow:1;justify-content:flex-end}/*!@.duet-header-multi-level-desktop-utils > :last-child::before*/.duet-header-multi-level-desktop-utils.sc-duet-header>.sc-duet-header:last-child::before{display:none}/*!@.duet-header-multi-level-desktop-utils > :last-child.duet-header-dropdown .duet-header-button::before*/.duet-header-multi-level-desktop-utils.sc-duet-header>.sc-duet-header:last-child.duet-header-dropdown .duet-header-button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level-desktop-utils .duet-header-dropdown*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown.sc-duet-header{z-index:400}/*!@.duet-header-multi-level-desktop-utils .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f3f9fc}/*!@.duet-header-multi-level-desktop-utils .duet-header-button-label,\n.duet-header-multi-level-desktop-utils .duet-header-dropdown-label*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-button-label.sc-duet-header,.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown-label.sc-duet-header{display:none}@media (min-width: 64.0625em){/*!@.duet-header-multi-level-desktop-utils .duet-header-button-label,\n.duet-header-multi-level-desktop-utils .duet-header-dropdown-label*/.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-button-label.sc-duet-header,.duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown-label.sc-duet-header{display:initial}}/*!@.duet-header-multi-level-desktop .duet-theme-turva .logo-and-segment .duet-header-dropdown*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header{margin-left:0}/*!@.duet-header-multi-level-desktop .duet-theme-turva .logo-and-segment .duet-header-dropdown-toggle*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header{padding-left:0.5rem}/*!@.duet-header-multi-level-desktop .duet-theme-turva .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f5f5f7}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-utils > :nth-last-child(2).duet-header-dropdown .duet-header-button::before*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-utils.sc-duet-header>.sc-duet-header:nth-last-child(2).duet-header-dropdown .duet-header-button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-toggle.active*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header{color:#c60c30}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f5f5f7;border-color:#e4e4e6}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a::after*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header::after{background:#c60c30}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-nav .duet-header-dropdown .duet-header-dropdown-content a.active*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{color:#c60c30;background:none}/*!@.duet-header-multi-level-desktop .duet-theme-turva .duet-header-multi-level-desktop-utils .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-desktop.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-desktop-utils.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f5f5f7}";
10851
+ const duetHeaderCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-header,*.sc-duet-header::after,*.sc-duet-header::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-header-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}@supports (position: -webkit-sticky){/*!@:host*/.sc-duet-header-h{position:-webkit-sticky;top:-4rem;z-index:400}}@supports (position: sticky){/*!@:host*/.sc-duet-header-h{position:sticky;top:-4rem;z-index:400}}@supports (position: -webkit-sticky){/*!@:host(.duet-header-multi-level-variation)*/.duet-header-multi-level-variation.sc-duet-header-h{top:0}}@supports (position: sticky){/*!@:host(.duet-header-multi-level-variation)*/.duet-header-multi-level-variation.sc-duet-header-h{top:0}}/*!@.duet-header-reserved-space*/.duet-header-reserved-space.sc-duet-header{height:4rem}@media (min-width: 62em){/*!@.duet-header-reserved-space.duet-with-links*/.duet-header-reserved-space.duet-with-links.sc-duet-header{height:7rem}}/*!@.duet-header*/.duet-header.sc-duet-header{-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0;z-index:400;display:block;width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left}/*!@.duet-header.duet-theme-turva*/.duet-header.duet-theme-turva.sc-duet-header{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#171c3a}@media (min-width: 62em){/*!@.duet-header.duet-theme-turva*/.duet-header.duet-theme-turva.sc-duet-header{box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}}@media (min-width: 62em){/*!@.duet-header*/.duet-header.sc-duet-header{position:absolute;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}/*!@.duet-header.duet-header-inactive*/.duet-header.duet-header-inactive.sc-duet-header{position:fixed}}/*!@.duet-header **/.duet-header.sc-duet-header *.sc-duet-header{-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}/*!@.duet-header-top*/.duet-header-top.sc-duet-header{position:relative;z-index:200;display:flex;flex-direction:row;align-items:center;width:100%;height:4rem;padding:0 16px;background:white;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){/*!@.duet-header-top*/.duet-header-top.sc-duet-header{z-index:100;padding:0 28px;box-shadow:none}/*!@.duet-header-top duet-logo*/.duet-header-top.sc-duet-header duet-logo.sc-duet-header{padding-right:4px}}@media (min-width: 106.25em){/*!@.duet-header-top*/.duet-header-top.sc-duet-header{padding:0 48px}}/*!@.duet-theme-turva .duet-header-top*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header{border-color:#e4e4e6;box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}@media (min-width: 62em){/*!@.duet-theme-turva .duet-header-top*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header{box-shadow:none}}/*!@.duet-theme-turva .duet-header-top duet-logo*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header duet-logo.sc-duet-header{left:-80px !important;margin-top:-8px !important}/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{max-width:200px;padding-left:16px;margin-top:1px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:1px solid #cfd2d4}/*!@.duet-theme-turva .duet-header-top .duet-header-region*/.duet-theme-turva.sc-duet-header .duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{border-color:#cfcfd1}@media (max-width: 35.9375em){/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{display:none}}@media (min-width: 62em){/*!@.duet-header-top .duet-header-region*/.duet-header-top.sc-duet-header .duet-header-region.sc-duet-header{padding-left:19px}}/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:fixed;top:4rem;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;width:100%;overflow-y:auto;visibility:hidden;background:#f3f9fc;opacity:0;-webkit-overflow-scrolling:touch}/*!@.duet-theme-turva .duet-header-bottom*/.duet-theme-turva.sc-duet-header .duet-header-bottom.sc-duet-header{background:#f5f5f7}@media (min-width: 62em){/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:relative;top:auto;bottom:auto;z-index:200;flex-direction:row;overflow:visible;visibility:visible;background:white;opacity:1}/*!@.duet-header-bottom.duet-header-inactive*/.duet-header-bottom.duet-header-inactive.sc-duet-header{position:relative}}/*!@.duet-header-bottom.active*/.duet-header-bottom.active.sc-duet-header{visibility:visible;opacity:1;transition:opacity 300ms ease, visibility 300ms ease}@media (min-width: 62em){/*!@.duet-header-bottom*/.duet-header-bottom.sc-duet-header{position:relative;transition:none !important}}/*!@.duet-header-items,\n.duet-header-bottom-utils,\n.duet-header-utils*/.duet-header-items.sc-duet-header,.duet-header-bottom-utils.sc-duet-header,.duet-header-utils.sc-duet-header{opacity:0;transition:transform 600ms ease, opacity 600ms ease;transform:translateY(-28px)}@media (min-width: 62em){/*!@.duet-header-items,\n.duet-header-bottom-utils,\n.duet-header-utils*/.duet-header-items.sc-duet-header,.duet-header-bottom-utils.sc-duet-header,.duet-header-utils.sc-duet-header{opacity:1;transition:none !important;transform:none}}/*!@.active .duet-header-items,\n.active .duet-header-bottom-utils,\n.active .duet-header-utils*/.active.sc-duet-header .duet-header-items.sc-duet-header,.active.sc-duet-header .duet-header-bottom-utils.sc-duet-header,.active.sc-duet-header .duet-header-utils.sc-duet-header{opacity:1;transform:translateY(0)}/*!@.duet-header-items*/.duet-header-items.sc-duet-header{position:relative;z-index:300;display:block;width:100%;font-size:1rem;font-weight:400;line-height:1.5;background:white}@media (min-width: 62em){/*!@.duet-header-items*/.duet-header-items.sc-duet-header{z-index:100;display:flex;flex-direction:row;padding:0 21.5384615385px}}@media (min-width: 106.25em){/*!@.duet-header-items*/.duet-header-items.sc-duet-header{padding-left:43.6363636364px}}/*!@.duet-header-items .duet-header-item-container*/.duet-header-items.sc-duet-header .duet-header-item-container.sc-duet-header{border-bottom:1px solid #e1e3e6;border-radius:0}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item-container*/.duet-header-items.sc-duet-header .duet-header-item-container.sc-duet-header{border:0}}/*!@.duet-header-items .duet-header-second-level .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-item.sc-duet-header{padding:0 40px;border:0}/*!@.duet-header-items .duet-header-second-level .duet-header-button*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-button.sc-duet-header{border:0}/*!@.duet-header-items .duet-header-second-level .duet-header-dropdown-content*/.duet-header-items.sc-duet-header .duet-header-second-level.sc-duet-header .duet-header-dropdown-content.sc-duet-header{padding:0;border:0}/*!@.duet-header-items .duet-header-third-level .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-third-level.sc-duet-header .duet-header-item.sc-duet-header{padding:0 75px}/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{position:relative;display:flex;align-items:center;width:100%;padding:0 20px;overflow:hidden;font-size:1rem;line-height:48px;color:#00294d;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{font-weight:600;border-radius:4px}}/*!@.duet-theme-turva .duet-header-items .duet-header-item*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{color:#171c3a;border-color:#e1e3e6}/*!@.duet-header-items .duet-header-item:hover*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:hover{color:#004d80}/*!@.duet-theme-turva .duet-header-items .duet-header-item:hover*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:hover{color:#444445}/*!@.duet-header-items .duet-header-item:focus*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-items .duet-header-item:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-items .duet-header-item:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item*/.duet-header-items.sc-duet-header .duet-header-item.sc-duet-header{width:auto;max-width:300px;padding:0 12px;overflow:hidden;font-size:0.875rem;text-overflow:ellipsis;border:0}}/*!@.duet-header-items .duet-header-item.active*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header{color:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header{color:#c60c30}/*!@.duet-header-items .duet-header-item.active:hover*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header:hover{color:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header:hover{color:#c60c30}/*!@.duet-header-items .duet-header-item.active::after*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-items .duet-header-item.active::after*/.duet-theme-turva.sc-duet-header .duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{background:#c60c30}@media (min-width: 62em){/*!@.duet-header-items .duet-header-item.active::after*/.duet-header-items.sc-duet-header .duet-header-item.active.sc-duet-header::after{top:auto;left:12px;width:calc(100% - 24px);height:3px}}/*!@.duet-header-toggle*/.duet-header-toggle.sc-duet-header{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-8px;margin-left:auto;cursor:pointer;border-radius:4px;-webkit-appearance:none;appearance:none}/*!@.duet-header-toggle:focus*/.duet-header-toggle.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}@media (min-width: 62em){/*!@.duet-header-toggle*/.duet-header-toggle.sc-duet-header{display:none}}/*!@.duet-header-hamburger*/.duet-header-hamburger.sc-duet-header{position:relative;width:24px;height:24px;margin-top:5px !important;pointer-events:none;transition:0.4s ease-in-out;backface-visibility:hidden}/*!@.duet-header-hamburger .duet-header-bar*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header{position:absolute;left:0;display:block;width:100%;height:2px;background:#00294d;border-radius:20rem;opacity:1;transition:0.25s ease-in-out;transform:rotate(0deg) scale(0.98)}/*!@.duet-theme-turva .duet-header-hamburger .duet-header-bar*/.duet-theme-turva.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header{background:#171c3a}/*!@.duet-header-hamburger .duet-header-bar:nth-child(1)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(1){top:0}/*!@.duet-header-hamburger .duet-header-bar:nth-child(2), .duet-header-hamburger .duet-header-bar:nth-child(3)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(2),.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(3){top:7px}/*!@.duet-header-hamburger .duet-header-bar:nth-child(4)*/.duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(4){top:14px}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(1)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(1){top:7px;left:50%;width:0%}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(2)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(2){transform:rotate(45deg)}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(3)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(3){transform:rotate(-45deg)}/*!@button.active .duet-header-hamburger .duet-header-bar:nth-child(4)*/button.active.sc-duet-header .duet-header-hamburger.sc-duet-header .duet-header-bar.sc-duet-header:nth-child(4){top:7px;left:50%;width:0%}/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{display:flex;flex-direction:column;width:100%}@media (min-width: 62em){/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{position:absolute;top:-4rem;right:0;z-index:999999999;flex-direction:row;align-items:center;justify-content:space-between;width:auto;margin-right:20px}}@media (min-width: 106.25em){/*!@.duet-header-utils*/.duet-header-utils.sc-duet-header{margin-right:36px}}@media (min-width: 62em){/*!@.duet-header-bottom-utils*/.duet-header-bottom-utils.sc-duet-header{position:absolute;top:0;right:0;z-index:999999999;margin-right:20px}}@media (min-width: 106.25em){/*!@.duet-header-bottom-utils*/.duet-header-bottom-utils.sc-duet-header{margin-right:36px}}/*!@button*/button.sc-duet-header{font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}/*!@.duet-theme-turva button*/.duet-theme-turva.sc-duet-header button.sc-duet-header{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}/*!@.duet-header-button*/.duet-header-button.sc-duet-header{position:relative;display:flex;align-items:center;width:100%;height:48px;padding:0 20px;overflow:hidden;font-size:1rem;font-weight:400;line-height:48px;color:#00294d;text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-bottom:1px solid #e1e3e6;border-radius:4px;-webkit-appearance:none;appearance:none}/*!@.duet-theme-turva .duet-header-button*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header{color:#171c3a;border-color:#e4e4e6}/*!@.duet-header-button:hover*/.duet-header-button.sc-duet-header:hover{color:#004d80}/*!@.duet-theme-turva .duet-header-button:hover*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header:hover{color:#940925}/*!@.duet-header-button:focus*/.duet-header-button.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-button:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-button.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-button:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-button:active*/.duet-header-button.sc-duet-header:active{opacity:0.75}@media (min-width: 62em){/*!@.duet-header-button*/.duet-header-button.sc-duet-header{width:auto;max-width:200px;height:4rem;padding:0 16px;font-size:0.875rem;line-height:4rem;border:0}/*!@.duet-header-button::before*/.duet-header-button.sc-duet-header::before{position:absolute;top:50%;right:0;width:1px;height:20px;content:\"\";background:#cfd2d4;transform:translateY(-50%)}/*!@.duet-theme-turva .duet-header-button::before*/.duet-theme-turva.sc-duet-header .duet-header-button.sc-duet-header::before{background:#cfcfd1}}/*!@.duet-header-button.active*/.duet-header-button.active.sc-duet-header{color:#0077b3;border-radius:0}/*!@.duet-theme-turva .duet-header-button.active*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header{color:#c60c30}/*!@.duet-header-button.active:hover*/.duet-header-button.active.sc-duet-header:hover{color:#0077b3}/*!@.duet-theme-turva .duet-header-button.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header:hover{color:#c60c30}@media (min-width: 62em){/*!@.duet-header-button.active::after*/.duet-header-button.active.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:3px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-button.active::after*/.duet-theme-turva.sc-duet-header .duet-header-button.active.sc-duet-header::after{color:#c60c30}}/*!@.duet-header-button.duet-header-logout .duet-header-icon.mobile*/.duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.mobile.sc-duet-header{display:block}/*!@.duet-header-button.duet-header-logout .duet-header-icon.desktop*/.duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.desktop.sc-duet-header{display:none}@media (min-width: 62em){/*!@.duet-header-button.duet-header-logout .duet-header-icon.mobile*/.duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.mobile.sc-duet-header{display:none}/*!@.duet-header-button.duet-header-logout .duet-header-icon.desktop*/.duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.desktop.sc-duet-header{display:block}}/*!@.duet-header-utils .duet-header-button.duet-header-logout*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{align-self:center;justify-content:center;width:auto;height:2.5rem;margin:2.25rem 0;font-weight:600;border:2px solid #00294d;border-radius:20rem}/*!@.duet-theme-turva .duet-header-utils .duet-header-button.duet-header-logout*/.duet-theme-turva.sc-duet-header .duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{border-color:#171c3a}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.sc-duet-header{margin-right:0.5rem}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-button-label*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-button-label.sc-duet-header{font-size:0.875rem}@media (min-width: 62em){/*!@.duet-header-utils .duet-header-button.duet-header-logout*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header{height:4rem;margin:0;font-weight:400;border:0}/*!@.duet-header-utils .duet-header-button.duet-header-logout .duet-header-icon*/.duet-header-utils.sc-duet-header .duet-header-button.duet-header-logout.sc-duet-header .duet-header-icon.sc-duet-header{margin-right:0.75rem}}/*!@.duet-header-no-action*/.duet-header-no-action.sc-duet-header{pointer-events:none}/*!@.duet-header-user-label*/.duet-header-user-label.sc-duet-header{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 62em){/*!@.duet-header-utils > *:last-child::before,\n.duet-header-utils > *:last-child button::before*/.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child::before,.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child button.sc-duet-header::before{display:none}}@media (min-width: 62em){/*!@.duet-header-utils > *:last-child .duet-header-dropdown-content*/.duet-header-utils.sc-duet-header>*.sc-duet-header:last-child .duet-header-dropdown-content.sc-duet-header{right:0;left:auto}}/*!@.duet-header-language*/.duet-header-language.sc-duet-header{text-transform:uppercase}/*!@.duet-header-language.active, .duet-header-language.active:hover,\n.duet-header-contact.active,\n.duet-header-contact.active:hover*/.duet-header-language.active.sc-duet-header,.duet-header-language.active.sc-duet-header:hover,.duet-header-contact.active.sc-duet-header,.duet-header-contact.active.sc-duet-header:hover{color:inherit}/*!@.duet-theme-turva .duet-header-language.active, .duet-theme-turva .duet-header-language.active:hover,\n.duet-theme-turva .duet-header-contact.active,\n.duet-theme-turva .duet-header-contact.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-language.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-language.active.sc-duet-header:hover,.duet-theme-turva.sc-duet-header .duet-header-contact.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-contact.active.sc-duet-header:hover{color:inherit}/*!@.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header:hover::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header:hover::after{width:0}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-language.duet-header-dropdown-toggle.active:hover::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active::after,\n.duet-header-dropdown .duet-header-contact.duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-language.duet-header-dropdown-toggle.active.sc-duet-header:hover::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-contact.duet-header-dropdown-toggle.active.sc-duet-header:hover::after{width:100%}}/*!@.duet-header-icon*/.duet-header-icon.sc-duet-header{display:inline-flex;min-width:12px;margin-right:12px;font-size:0;line-height:normal;vertical-align:baseline}@media (min-width: 62em){/*!@.duet-header-icon*/.duet-header-icon.sc-duet-header{margin-right:8px}}/*!@.duet-header-caret*/.duet-header-caret.sc-duet-header{position:absolute;top:50%;right:20px;display:flex;width:10px;height:10px;margin-left:8px;line-height:normal;pointer-events:none;transition:300ms ease;transform:translateY(-50%);transform-origin:50% 50%}@media (min-width: 62em){/*!@.duet-header-caret*/.duet-header-caret.sc-duet-header{width:7px;height:7px}}/*!@.duet-header-caret duet-icon*/.duet-header-caret.sc-duet-header duet-icon.sc-duet-header{width:10px}/*!@.duet-header-dropdown-toggle.active .duet-header-caret*/.duet-header-dropdown-toggle.active.sc-duet-header .duet-header-caret.sc-duet-header{transform:translateY(-50%) rotate(180deg)}/*!@.duet-header-dropdown-toggle:focus*/.duet-header-dropdown-toggle.sc-duet-header:focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-dropdown-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-header-dropdown-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown-toggle:focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-dropdown-toggle:active*/.duet-header-dropdown-toggle.sc-duet-header:active{outline:none}/*!@.duet-header-badge*/.duet-header-badge.sc-duet-header{display:inline-block;width:6px;height:6px;margin-top:-1rem;margin-left:5px;vertical-align:top;background:#f7b228;border-radius:50%;box-shadow:0 0 0 1px #c18b1f}/*!@.duet-theme-turva .duet-header-badge*/.duet-theme-turva.sc-duet-header .duet-header-badge.sc-duet-header{background:#faa40f}/*!@.active-bar*/.active-bar.sc-duet-header{color:#0077b3}/*!@.active-bar::after*/.active-bar.sc-duet-header::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .active-bar::after*/.duet-theme-turva.sc-duet-header .active-bar.sc-duet-header::after{background:#c60c30}/*!@.duet-header-dropdown*/.duet-header-dropdown.sc-duet-header{position:relative}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header{z-index:200;padding-right:36px;overflow:hidden;transition:border 300ms ease}}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px !important;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle::after*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header::after{background:#c60c30}}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{border-bottom:1px solid #f5f8fa}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{position:absolute;top:0;bottom:0;left:0;width:4px;content:\"\";background:#0077b3}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{background:#c60c30}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{border-color:#f5f5f7}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{color:#004d80;border:0}/*!@.duet-header-dropdown .duet-header-dropdown-toggle.active::after, .duet-header-dropdown .duet-header-dropdown-toggle.active:hover::after*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header::after,.duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover::after{position:absolute;top:auto;bottom:0;left:0;width:100%;height:3px;transform:translateY(0)}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:hover{color:#940925}}@media (min-width: 62em){/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.duet-header-session.sc-duet-header{color:white;background:#c60c30;border-radius:0}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session:hover, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session.active, .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-toggle.duet-header-session.active:hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.duet-header-session.sc-duet-header:hover,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.duet-header-session.active.sc-duet-header,.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.duet-header-session.active.sc-duet-header:hover{color:white;background:#940925}}/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{display:none;padding-bottom:16px;background:#f3f9fc;border-bottom:1px solid #e1e3e6}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f5f5f7;border-color:#e1e3e6}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{position:absolute;top:100%;left:0;z-index:600;display:block;min-width:150px;padding-top:16px;padding-left:0;visibility:hidden;border:0;border-radius:4px;border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 4px 10px 0 rgba(0, 41, 77, 0.15);opacity:0;transition:300ms ease;transform:scale(0.85) translateZ(0) translateY(-20px)}/*!@.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.duet-header-session-items.sc-duet-header{right:0%;left:auto;min-width:225px}/*!@.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items .duet-header-session-label*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.duet-header-session-items.sc-duet-header .duet-header-session-label.sc-duet-header{padding:0 20px;font-weight:600}}@media (min-width: 64.0625em){/*!@.duet-header-dropdown .duet-header-dropdown-content*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{min-width:170px}/*!@.duet-header-dropdown .duet-header-dropdown-content.duet-header-session-items*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.duet-header-session-items.sc-duet-header{min-width:225px}}/*!@.duet-header-dropdown .duet-header-dropdown-content.active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.active.sc-duet-header{display:block}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content.active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.active.sc-duet-header{visibility:visible;opacity:1;transform:translateZ(0) translateY(0)}}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){padding:3px 8px 4px !important;position:relative;display:block;width:100%;padding-right:16px;padding-left:48px !important;overflow:hidden;font-size:0.875rem;font-weight:400;line-height:1.5;color:#00294d;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:300ms ease}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){color:#171c3a}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item)*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item){padding-right:20px !important;padding-left:20px !important}}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):hover{background:#e6f2f8}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):hover*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):hover{background:#e4e4e6}}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{outline:0}/*!@:host(.user-is-tabbing) .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.user-is-tabbing.sc-duet-header-h .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@:host(.user-is-tabbing) .duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item):focus*/.user-is-tabbing.sc-duet-header-h .duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item):focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{padding-right:36px;font-weight:600;vertical-align:baseline}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{font-weight:700}@media (min-width: 62em){/*!@.duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{color:white;background:#0077b3}/*!@.duet-theme-turva .duet-header-dropdown .duet-header-dropdown-content a:not(.duet-header-item).active*/.duet-theme-turva.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header:not(.duet-header-item).active{background:#c60c30}}/*!@.duet-header-dropdown .duet-header-dropdown-content .duet-header-link-external*/.duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header .duet-header-link-external.sc-duet-header{margin-left:4px}/*!@.duet-header-back .duet-header-top*/.duet-header-back.sc-duet-header .duet-header-top.sc-duet-header{flex-direction:row;align-items:center;justify-content:center}/*!@.duet-header-back duet-button*/.duet-header-back.sc-duet-header duet-button.sc-duet-header{position:absolute;top:50%;left:36px;transform:translateY(-50%)}@media (max-width: 35.9375em){/*!@.duet-header-back duet-button*/.duet-header-back.sc-duet-header duet-button.sc-duet-header{left:20px;max-width:40px;padding:0 12px;overflow:hidden}}/*!@.duet-header-back .duet-header-toggle*/.duet-header-back.sc-duet-header .duet-header-toggle.sc-duet-header{display:none !important}/*!@.duet-header-skip*/.duet-header-skip.sc-duet-header{padding:15px 28px 16px !important;position:absolute;top:-100%;left:-100%;z-index:200;width:1px;min-width:190px;height:1px;overflow:hidden;font-weight:600;color:#0077b3;text-align:center;text-decoration:none;background:white;border-radius:4px;opacity:0}/*!@.duet-header-skip:focus*/.duet-header-skip.sc-duet-header:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-header-skip:focus, .duet-header-skip:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-header .duet-header-skip.sc-duet-header:focus,.duet-header-skip.sc-duet-header:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-theme-turva .duet-header-skip*/.duet-theme-turva.sc-duet-header .duet-header-skip.sc-duet-header{min-width:120px;color:#171c3a}@media (min-width: 106.25em){/*!@.duet-header-skip*/.duet-header-skip.sc-duet-header{margin-left:20px}}/*!@.duet-header-skip:focus*/.duet-header-skip.sc-duet-header:focus{top:12px;left:20px;width:auto;height:auto;outline:0;opacity:1}@media (min-width: 62em){/*!@.duet-header-items-have-sub-items*/.duet-header-items-have-sub-items.sc-duet-header{display:none}}/*!@.duet-header-multi-level*/.duet-header-multi-level.sc-duet-header{display:none;height:6rem}@media (min-width: 62em){/*!@.duet-header-multi-level*/.duet-header-multi-level.sc-duet-header{display:block}}/*!@.duet-header-multi-level .duet-header-top*/.duet-header-multi-level.sc-duet-header .duet-header-top.sc-duet-header{justify-content:space-between;height:6rem}/*!@.duet-header-multi-level .duet-header-button*/.duet-header-multi-level.sc-duet-header .duet-header-button.sc-duet-header{height:6rem}/*!@.duet-header-multi-level .logo-and-segment*/.duet-header-multi-level.sc-duet-header .logo-and-segment.sc-duet-header{display:flex;flex-basis:0;flex-direction:column;flex-grow:1;padding-top:1rem}/*!@.duet-header-multi-level .logo-and-segment .duet-header-dropdown*/.duet-header-multi-level.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header{z-index:400;margin-left:2rem}/*!@.duet-header-multi-level .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f3f9fc}/*!@.duet-header-multi-level .logo-and-segment button*/.duet-header-multi-level.sc-duet-header .logo-and-segment.sc-duet-header button.sc-duet-header{align-items:flex-start;height:2rem;font-weight:600;line-height:1rem}/*!@.duet-header-multi-level .logo-and-segment button::before*/.duet-header-multi-level.sc-duet-header .logo-and-segment.sc-duet-header button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level .logo-and-segment .duet-header-caret*/.duet-header-multi-level.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-caret.sc-duet-header{top:25%}/*!@.duet-header-multi-level-nav*/.duet-header-multi-level-nav.sc-duet-header{display:flex}/*!@.duet-header-multi-level-nav .duet-header-dropdown*/.duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header{position:static}/*!@.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle*/.duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header{z-index:400;padding-right:1rem;font-size:1rem;font-weight:600}/*!@.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle.active*/.duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header{color:#0077b3}/*!@.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle.active:not(.open) .duet-header-caret*/.duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header:not(.open) .duet-header-caret.sc-duet-header{transform:translateY(-50%) rotate(0deg)}/*!@.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{z-index:399;display:flex;justify-content:center;width:100%;height:4.5rem;padding:0;background:#f3f9fc;border-top:1px solid #e1e3e6;border-bottom:1px solid #e1e3e6;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07);transition:none}/*!@.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a*/.duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;min-width:6rem;height:100%;padding:0 1rem !important;font-weight:600}/*!@.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a::after*/.duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header::after{position:absolute;top:auto;bottom:0;left:0;display:block !important;width:100%;height:3px;content:\"\";background:#0077b3;transition:300ms ease;transform:translateY(3px)}/*!@.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a.active*/.duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{font-weight:600;color:#0077b3;background:none}/*!@.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a.active::after*/.duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header::after{transform:translateY(0)}/*!@.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a .duet-header-icon*/.duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header .duet-header-icon.sc-duet-header{margin:0}/*!@.duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content .duet-header-badge*/.duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header .duet-header-badge.sc-duet-header{position:absolute;margin-top:-2rem;margin-right:-2.25rem}/*!@.duet-header-multi-level-nav button::before*/.duet-header-multi-level-nav.sc-duet-header button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level-nav .duet-header-caret*/.duet-header-multi-level-nav.sc-duet-header .duet-header-caret.sc-duet-header{right:1%}/*!@.duet-header-multi-level-utils*/.duet-header-multi-level-utils.sc-duet-header{display:flex;flex-basis:0;flex-grow:1;justify-content:flex-end}/*!@.duet-header-multi-level-utils > :last-child::before*/.duet-header-multi-level-utils.sc-duet-header>.sc-duet-header:last-child::before{display:none}/*!@.duet-header-multi-level-utils > :last-child.duet-header-dropdown .duet-header-button::before*/.duet-header-multi-level-utils.sc-duet-header>.sc-duet-header:last-child.duet-header-dropdown .duet-header-button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level-utils .duet-header-dropdown*/.duet-header-multi-level-utils.sc-duet-header .duet-header-dropdown.sc-duet-header{z-index:400}/*!@.duet-header-multi-level-utils .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level-utils.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f3f9fc}/*!@.duet-header-multi-level-utils .duet-header-button-label,\n.duet-header-multi-level-utils .duet-header-dropdown-label*/.duet-header-multi-level-utils.sc-duet-header .duet-header-button-label.sc-duet-header,.duet-header-multi-level-utils.sc-duet-header .duet-header-dropdown-label.sc-duet-header{display:none}@media (min-width: 64.0625em){/*!@.duet-header-multi-level-utils .duet-header-button-label,\n.duet-header-multi-level-utils .duet-header-dropdown-label*/.duet-header-multi-level-utils.sc-duet-header .duet-header-button-label.sc-duet-header,.duet-header-multi-level-utils.sc-duet-header .duet-header-dropdown-label.sc-duet-header{display:initial}}/*!@.duet-header-multi-level .duet-theme-turva .logo-and-segment .duet-header-dropdown*/.duet-header-multi-level.sc-duet-header .duet-theme-turva.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header{margin-left:0}/*!@.duet-header-multi-level .duet-theme-turva .logo-and-segment .duet-header-dropdown-toggle*/.duet-header-multi-level.sc-duet-header .duet-theme-turva.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown-toggle.sc-duet-header{padding-left:0.5rem}/*!@.duet-header-multi-level .duet-theme-turva .logo-and-segment .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level.sc-duet-header .duet-theme-turva.sc-duet-header .logo-and-segment.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f5f5f7}/*!@.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-utils > :nth-last-child(2).duet-header-dropdown .duet-header-button::before*/.duet-header-multi-level.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-utils.sc-duet-header>.sc-duet-header:nth-last-child(2).duet-header-dropdown .duet-header-button.sc-duet-header::before{display:none}/*!@.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-toggle.active*/.duet-header-multi-level.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-toggle.active.sc-duet-header{color:#c60c30}/*!@.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f5f5f7;border-color:#e4e4e6}/*!@.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a::after*/.duet-header-multi-level.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.sc-duet-header::after{background:#c60c30}/*!@.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-nav .duet-header-dropdown .duet-header-dropdown-content a.active*/.duet-header-multi-level.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-nav.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header a.active.sc-duet-header{color:#c60c30;background:none}/*!@.duet-header-multi-level .duet-theme-turva .duet-header-multi-level-utils .duet-header-dropdown .duet-header-dropdown-content*/.duet-header-multi-level.sc-duet-header .duet-theme-turva.sc-duet-header .duet-header-multi-level-utils.sc-duet-header .duet-header-dropdown.sc-duet-header .duet-header-dropdown-content.sc-duet-header{background:#f5f5f7}";
10841
10852
 
10842
10853
  const createEvent = (ev, data) => ({
10843
10854
  component: "duet-header",
@@ -10846,7 +10857,7 @@ const createEvent = (ev, data) => ({
10846
10857
  });
10847
10858
  /**
10848
10859
  * @slot utility - A slot for utilities, such as a notification drawer or shopping basket.
10849
- * @slot logo-utility - A slot to place elements alongside the logo. This takes precedence over the **region** prop. Note: not available in desktop multilevel header.
10860
+ * @slot logo-utility - A slot to place elements alongside the logo. This takes precedence over the **region** prop. Note: not available in multilevel header.
10850
10861
  * @part header - piercing selector for styling the header element.
10851
10862
  */
10852
10863
  class DuetHeader {
@@ -10864,7 +10875,6 @@ class DuetHeader {
10864
10875
  this.duetSkipClick = createEvent$2(this, "duetSkipClick", 7);
10865
10876
  this.duetAnalytics = createEvent$2(this, "duetAnalytics", 7);
10866
10877
  this.duetMobileNavToggle = createEvent$2(this, "duetMobileNavToggle", 7);
10867
- var _a;
10868
10878
  /**
10869
10879
  * Own Properties
10870
10880
  */
@@ -10891,7 +10901,7 @@ class DuetHeader {
10891
10901
  this.processedSearch = null;
10892
10902
  this.processedUser = null;
10893
10903
  this.processedBack = null;
10894
- this.renderDesktopNav = (_a = this.mql[0]) === null || _a === void 0 ? void 0 : _a.matches;
10904
+ this.renderDesktopNav = true ;
10895
10905
  /**
10896
10906
  * Theme of the header.
10897
10907
  */
@@ -11007,7 +11017,7 @@ class DuetHeader {
11007
11017
  this.skipToId = "";
11008
11018
  /**
11009
11019
  * Region that is shown next to the logo. If empty, region will be hidden.
11010
- * Note: not available in desktop multilevel header.
11020
+ * Note: not available in multilevel header.
11011
11021
  */
11012
11022
  this.region = "";
11013
11023
  /**
@@ -11252,8 +11262,9 @@ class DuetHeader {
11252
11262
  * Local methods.
11253
11263
  */
11254
11264
  async refresh() {
11255
- if (this.renderDesktopNav !== this.mql[0].matches) {
11256
- this.renderDesktopNav = this.mql[0].matches;
11265
+ var _a;
11266
+ if (this.renderDesktopNav !== Build.isServer ? true : (_a = this.mql[0]) === null || _a === void 0 ? void 0 : _a.matches) {
11267
+ this.renderDesktopNav = true ;
11257
11268
  this.openMenu = null;
11258
11269
  if (this.isSlideOutOpen) {
11259
11270
  this.toggleMenu(document.createEvent("UIEvents"), "mobile");
@@ -11326,17 +11337,16 @@ class DuetHeader {
11326
11337
  */
11327
11338
  render() {
11328
11339
  const { skipLabel, changeLanguage, activeLanguage } = this.accessibleI18nLabels;
11329
- const skipToLabel = this.skipToId ? (hAsync("a", { href: this.skipToId, class: "duet-header-skip", onClick: this.handleSkipClick }, skipLabel)) : null;
11330
- const logo = (hAsync("duet-logo", { href: this.logoHref, size: "medium", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
11331
- const largeLogo = (hAsync("duet-logo", { href: this.logoHref, size: "large", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
11332
- const contactDropdown = this.contact && this.processedContactItems ? (hAsync(DuetHeaderDropdown, { id: "duet-header-contact", label: this.contact, icon: navigationContactDropdown.svg, active: this.isContactOpen, isOpen: this.isContactOpen, badge: false, toggleRef: el => (this.contactItemsButtonEl = el), itemsRef: el => (this.contactItemsEl = el), onToggle: event => this.toggleMenu(event, "contact") }, this.processedContactItems.map(item => (hAsync("a", { role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleContactClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" }, item.label, Build.isBrowser ))))) : null;
11333
- const languageDropdown = this.language && this.processedLanguageItems ? (hAsync(DuetHeaderDropdown, { id: "duet-header-language", label: this.language, icon: navigationLanguage.svg, accessibleText: `${changeLanguage}${this.hasLanguageChanged ? `, ${activeLanguage}` : ""}`, active: this.isLanguageOpen, isOpen: this.isLanguageOpen, badge: false, toggleRef: el => (this.languageItemsButtonEl = el), itemsRef: el => (this.languageItemsEl = el), onToggle: event => this.toggleMenu(event, "language") }, this.processedLanguageItems.map(item => (hAsync("a", { class: { active: this.language === item.country }, "aria-selected": this.language === item.country, role: "menuitem", id: item.id, lang: item.country, href: item.href || "#", onClick: event => this.handleLanguageClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))))) : null;
11334
- const processedUserWithLink = this.processedUser && this.processedUser.href ? (hAsync("a", { href: this.processedUser.href || "#", id: this.processedUser.id, class: "duet-header-user duet-header-button", onClick: this.handleUserClick }, hAsync(DuetHeaderIcon, { icon: navigationUser.svg }), hAsync("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
11335
- const processedUserWithoutLink = this.processedUser && !this.processedUser.href ? (hAsync("span", { id: this.processedUser.id, class: "duet-header-user duet-header-button duet-header-no-action" }, hAsync(DuetHeaderIcon, { icon: navigationUser.svg }), hAsync("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
11336
- const processedSessionIconSize = this.renderDesktopNav ? "x-small" : "small";
11337
- const processedSession = this.processedSession ? (hAsync("a", { href: this.processedSession.href || "#", id: this.processedSession.id, class: "duet-header-logout duet-header-button", onClick: this.handleSessionClick }, hAsync(DuetHeaderIcon, { icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, iconSize: processedSessionIconSize }), hAsync("span", { class: "duet-header-button-label" }, this.processedSession.label))) : null;
11338
- const processedSessionDropdown = this.processedSession && this.processedSession.sessionItems ? (hAsync(DuetHeaderDropdown, { className: "duet-header-session", id: "duet-header-session", label: this.processedSession.label, icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, active: this.isSessionOpen, isOpen: this.isSessionOpen, badge: false, toggleRef: el => (this.sessionItemsButtonEl = el), itemsRef: el => (this.sessionItemsEl = el), onToggle: event => this.toggleMenu(event, "session") }, this.processedSession.sessionItems.map((sessionItem, index) => (hAsync(Fragment, null, sessionItem.label && hAsync("span", { class: "duet-header-session-label" }, sessionItem.label), hAsync("duet-spacer", { size: "small", "aria-hidden": "true" }), sessionItem.items.map(item => (hAsync("a", { role: "menuitem", "aria-label": sessionItem.label ? `${sessionItem.label} ${item.label}` : item.label, id: item.id, href: item.href || "#", onClick: event => this.handleSessionItemClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))), index !== this.processedSession.sessionItems.length - 1 && (hAsync(Fragment, null, hAsync("duet-spacer", { size: "x-small", "aria-hidden": "true" }), hAsync("duet-divider", { margin: "none", "aria-hidden": "true" })))))))) : null;
11339
- const processedSearch = this.processedSearch ? (hAsync("a", { href: this.processedSearch.href || "#", id: this.processedSearch.id, class: "duet-header-search duet-header-button", onClick: this.handleSearchClick }, hAsync(DuetHeaderIcon, { icon: formSearch.svg }), hAsync("span", { class: "duet-header-button-label" }, this.processedSearch.label))) : null;
11340
+ const skipToLabel = () => this.skipToId ? (hAsync("a", { href: this.skipToId, class: "duet-header-skip", onClick: this.handleSkipClick }, skipLabel)) : null;
11341
+ const logo = () => (hAsync("duet-logo", { href: this.logoHref, size: "medium", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
11342
+ const largeLogo = () => (hAsync("duet-logo", { href: this.logoHref, size: "large", ref: el => (this.logoEl = el), language: this.language, theme: this.theme, onClick: this.handleLogoClick }));
11343
+ const contactDropdown = () => this.contact && this.processedContactItems ? (hAsync(DuetHeaderDropdown, { id: "duet-header-contact", label: this.contact, icon: navigationContactDropdown.svg, active: this.isContactOpen, isOpen: this.isContactOpen, badge: false, toggleRef: el => (this.contactItemsButtonEl = el), itemsRef: el => (this.contactItemsEl = el), onToggle: event => this.toggleMenu(event, "contact") }, this.processedContactItems.map(item => (hAsync("a", { role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleContactClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" }, item.label, Build.isBrowser ))))) : null;
11344
+ const languageDropdown = () => this.language && this.processedLanguageItems ? (hAsync(DuetHeaderDropdown, { id: "duet-header-language", label: this.language, icon: navigationLanguage.svg, accessibleText: `${changeLanguage}${this.hasLanguageChanged ? `, ${activeLanguage}` : ""}`, active: this.isLanguageOpen, isOpen: this.isLanguageOpen, badge: false, toggleRef: el => (this.languageItemsButtonEl = el), itemsRef: el => (this.languageItemsEl = el), onToggle: event => this.toggleMenu(event, "language") }, this.processedLanguageItems.map(item => (hAsync("a", { class: { active: this.language === item.country }, "aria-selected": this.language === item.country, role: "menuitem", id: item.id, lang: item.country, href: item.href || "#", onClick: event => this.handleLanguageClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))))) : null;
11345
+ const processedUserWithLink = () => this.processedUser && this.processedUser.href ? (hAsync("a", { href: this.processedUser.href || "#", id: this.processedUser.id, class: "duet-header-user duet-header-button", onClick: this.handleUserClick }, hAsync(DuetHeaderIcon, { icon: navigationUser.svg }), hAsync("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
11346
+ const processedUserWithoutLink = () => this.processedUser && !this.processedUser.href ? (hAsync("span", { id: this.processedUser.id, class: "duet-header-user duet-header-button duet-header-no-action" }, hAsync(DuetHeaderIcon, { icon: navigationUser.svg }), hAsync("span", { class: "duet-header-user-label" }, this.processedUser.label))) : null;
11347
+ const processedSession = () => this.processedSession ? (hAsync("a", { href: this.processedSession.href || "#", id: this.processedSession.id, class: "duet-header-logout duet-header-button", onClick: this.handleSessionClick }, hAsync(DuetHeaderIcon, { class: "desktop", icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, iconSize: "x-small" }), hAsync(DuetHeaderIcon, { class: "mobile", icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, iconSize: "small" }), hAsync("span", { class: "duet-header-button-label" }, this.processedSession.label))) : null;
11348
+ const processedSessionDropdown = () => this.processedSession && this.processedSession.sessionItems ? (hAsync(DuetHeaderDropdown, { className: "duet-header-session", id: "duet-header-session", label: this.processedSession.label, icon: this.processedSession.type === "logout" ? navigationLogout.svg : navigationLogin.svg, active: this.isSessionOpen, isOpen: this.isSessionOpen, badge: false, toggleRef: el => (this.sessionItemsButtonEl = el), itemsRef: el => (this.sessionItemsEl = el), onToggle: event => this.toggleMenu(event, "session") }, this.processedSession.sessionItems.map((sessionItem, index) => (hAsync(Fragment, null, sessionItem.label && hAsync("span", { class: "duet-header-session-label" }, sessionItem.label), hAsync("duet-spacer", { size: "small", "aria-hidden": "true" }), sessionItem.items.map(item => (hAsync("a", { role: "menuitem", "aria-label": sessionItem.label ? `${sessionItem.label} ${item.label}` : item.label, id: item.id, href: item.href || "#", onClick: event => this.handleSessionItemClick(event, item), onKeyDown: this.handleArrowKeys }, item.label))), index !== this.processedSession.sessionItems.length - 1 && (hAsync(Fragment, null, hAsync("duet-spacer", { size: "x-small", "aria-hidden": "true" }), hAsync("duet-divider", { margin: "none", "aria-hidden": "true" })))))))) : null;
11349
+ const processedSearch = () => this.processedSearch ? (hAsync("a", { href: this.processedSearch.href || "#", id: this.processedSearch.id, class: "duet-header-search duet-header-button", onClick: this.handleSearchClick }, hAsync(DuetHeaderIcon, { icon: formSearch.svg }), hAsync("span", { class: "duet-header-button-label" }, this.processedSearch.label))) : null;
11340
11350
  // Back variation
11341
11351
  if (this.processedBack) {
11342
11352
  return (hAsync(Host, { class: "duet-header-back-variation" }, hAsync("div", { class: "duet-header-reserved-space" }, hAsync("header", { class: {
@@ -11344,52 +11354,27 @@ class DuetHeader {
11344
11354
  "duet-theme-turva": this.theme === "turva",
11345
11355
  "duet-header-back": true,
11346
11356
  "duet-header-inactive": true,
11347
- }, part: "header" }, hAsync("div", { class: "duet-header-top" }, skipToLabel, hAsync("duet-button", { url: this.processedBack.href, id: this.processedBack.id, theme: this.theme, variation: "plain", color: this.theme === "turva" ? "secondary-turva" : "secondary", icon: "navigation-arrow-left", iconSize: "large", onClick: this.handleBackClick }, this.processedBack.label), logo, hAsync("slot", { name: "logo-utility" }))))));
11357
+ }, part: "header" }, hAsync("div", { class: "duet-header-top" }, skipToLabel(), hAsync("duet-button", { url: this.processedBack.href, id: this.processedBack.id, theme: this.theme, variation: "plain", color: this.theme === "turva" ? "secondary-turva" : "secondary", icon: "navigation-arrow-left", iconSize: "large", onClick: this.handleBackClick }, this.processedBack.label), logo(), hAsync("slot", { name: "logo-utility" }))))));
11348
11358
  }
11349
- // multi level desktop variation
11350
11359
  const itemsHaveSubItems = this.processedItems && this.processedItems.some(item => item.items && item.items.length > 0);
11351
- if (this.renderDesktopNav && itemsHaveSubItems) {
11352
- const activeSegment = this.processedItems.find(item => item.active);
11353
- const isThirdLevelActive = this.processedItems &&
11354
- this.processedItems.some(item => item.items &&
11355
- item.items.some(secondLevelItem => secondLevelItem.items && secondLevelItem.items.some(thirdLevelItem => thirdLevelItem.active === true)));
11356
- const segmentId = "duet-header-segment";
11357
- return (hAsync(Host, { class: "duet-header-multi-level-desktop-variation" }, hAsync("div", { class: {
11358
- "duet-header-multi-level-desktop": true,
11359
- "duet-header-multi-level-desktop-third-level-is-open": isThirdLevelActive,
11360
- } }, hAsync("header", { class: {
11361
- "duet-header": true,
11362
- "duet-theme-turva": this.theme === "turva",
11363
- "duet-header-inactive": !this.processedItems,
11364
- }, part: "header" }, hAsync("div", { class: "duet-header-top" }, skipToLabel, hAsync("div", { class: "logo-and-segment" }, hAsync("div", null, largeLogo), this.processedItems && (hAsync(DuetHeaderDropdown, { id: segmentId, label: activeSegment.label, active: this.isSegmentOpen, isOpen: this.isSegmentOpen, badge: false, toggleRef: el => (this.segmentItemsButtonEl = el), itemsRef: el => (this.segmentItemsEl = el), onToggle: event => this.toggleMenu(event, "segment") }, this.processedItems.map(item => (hAsync("a", { class: { active: activeSegment === item }, role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleItemClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" }, item.icon && (hAsync("div", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "x-small", name: item.icon, color: "currentColor" }))), hAsync("span", null, item.label), item.badge && hAsync("div", { class: "duet-header-badge" }))))))), hAsync("nav", { class: "duet-header-multi-level-desktop-nav" }, activeSegment.items &&
11365
- activeSegment.items
11366
- .filter(secondLevelItem => secondLevelItem.items && secondLevelItem.items.length > 0)
11367
- .map((secondLevelItem, secondLevelItemIndex) => {
11368
- const id = secondLevelItem.id || `segment-item-${secondLevelItemIndex}`;
11369
- return (hAsync(DuetHeaderDropdown, { id: id, label: secondLevelItem.label, active: (!this.openMenu && secondLevelItem.active === true) || this.openMenu === id, isOpen: this.openMenu === id, badge: secondLevelItem.badge, toggleRef: el => (this.subMenuButtonRefs[id] = el), itemsRef: el => (this.subMenuItemRefs[id] = el), onToggle: event => this.toggleMenu(event, "sub", id) }, secondLevelItem.items &&
11370
- secondLevelItem.items.map(thirdLevelItem => (hAsync("a", { class: { active: thirdLevelItem.active }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), target: thirdLevelItem.external ? "_blank" : "_self" }, thirdLevelItem.icon && (hAsync("div", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), hAsync("span", null, thirdLevelItem.label), thirdLevelItem.badge && hAsync("div", { class: "duet-header-badge" }))))));
11371
- })), hAsync("div", { class: "duet-header-multi-level-desktop-utils" }, processedSearch, languageDropdown, processedSessionDropdown != null ? processedSessionDropdown : processedSession), hAsync("slot", { name: "utility" }))))));
11372
- }
11373
- // Default variation
11374
11360
  const isSecondLevelActive = this.processedItems &&
11375
11361
  this.processedItems.some(item => item.items && item.items.some(secondLevelItem => secondLevelItem.active === true));
11376
11362
  const isThirdLevelActive = this.processedItems &&
11377
11363
  this.processedItems.some(item => item.items &&
11378
11364
  item.items.some(secondLevelItem => secondLevelItem.items && secondLevelItem.items.some(thirdLevelItem => thirdLevelItem.active === true)));
11379
- return (hAsync(Host, { class: {
11380
- "duet-header-default-variation": true,
11381
- } }, hAsync("div", { class: {
11365
+ const defaultVariationContent = (hAsync("div", { class: {
11382
11366
  "duet-header-reserved-space": true,
11383
11367
  "duet-with-links": !!this.processedItems,
11384
11368
  "duet-header-second-level-active": isSecondLevelActive,
11385
11369
  "duet-header-third-level-active": isThirdLevelActive,
11370
+ "duet-header-items-have-sub-items": itemsHaveSubItems,
11386
11371
  } }, hAsync("header", { class: {
11387
11372
  "duet-header": true,
11388
11373
  "duet-theme-turva": this.theme === "turva",
11389
11374
  "duet-header-inactive": !this.processedItems,
11390
- }, part: "header" }, hAsync("div", { class: "duet-header-top" }, skipToLabel, logo, hAsync("slot", { name: "logo-utility" }, this.region && hAsync("div", { class: "duet-header-region" }, this.region)), (this.processedItems ||
11391
- languageDropdown ||
11392
- contactDropdown ||
11375
+ }, part: "header" }, hAsync("div", { class: "duet-header-top" }, skipToLabel(), logo(), hAsync("slot", { name: "logo-utility" }, this.region && hAsync("div", { class: "duet-header-region" }, this.region)), (this.processedItems ||
11376
+ languageDropdown() ||
11377
+ contactDropdown() ||
11393
11378
  this.processedSession ||
11394
11379
  this.processedUser) && (hAsync("button", { class: { "duet-header-toggle": true, active: this.isSlideOutOpen }, onClick: event => this.toggleMenu(event, "mobile"), type: "button" }, hAsync("duet-visually-hidden", null, this.accessibleLabel), hAsync(DuetHeaderHamburger, null)))), hAsync("div", { ref: el => (this.navigationEl = el), class: {
11395
11380
  "duet-header-bottom": true,
@@ -11423,7 +11408,34 @@ class DuetHeader {
11423
11408
  "duet-header-item": true,
11424
11409
  active: thirdLevelItem.active === true,
11425
11410
  }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), target: thirdLevelItem.external ? "_blank" : "_self" }, thirdLevelItem.icon && (hAsync("div", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), hAsync("span", null, thirdLevelItem.label), thirdLevelItem.badge && hAsync("div", { class: "duet-header-badge" })))))));
11426
- }))))), hAsync("div", { class: "duet-header-bottom-utils" }, hAsync("slot", { name: "utility" })), hAsync("div", { class: "duet-header-utils" }, !itemsHaveSubItems && contactDropdown, languageDropdown, !itemsHaveSubItems && (hAsync(Fragment, null, processedUserWithLink, processedUserWithoutLink)), processedSearch, processedSession))))));
11411
+ }))))), hAsync("div", { class: "duet-header-bottom-utils" }, hAsync("slot", { name: "utility" })), hAsync("div", { class: "duet-header-utils" }, !itemsHaveSubItems && contactDropdown(), languageDropdown(), !itemsHaveSubItems && (hAsync(Fragment, null, processedUserWithLink(), processedUserWithoutLink())), processedSearch(), processedSession())))));
11412
+ // multi level variation
11413
+ if (itemsHaveSubItems) {
11414
+ const activeSegment = this.processedItems.find(item => item.active);
11415
+ const isThirdLevelActive = this.processedItems &&
11416
+ this.processedItems.some(item => item.items &&
11417
+ item.items.some(secondLevelItem => secondLevelItem.items && secondLevelItem.items.some(thirdLevelItem => thirdLevelItem.active === true)));
11418
+ const segmentId = "duet-header-segment";
11419
+ return (hAsync(Host, { class: "duet-header-multi-level-variation" }, hAsync("div", { class: {
11420
+ "duet-header-multi-level": true,
11421
+ "duet-header-multi-level-third-level-is-open": isThirdLevelActive,
11422
+ } }, hAsync("header", { class: {
11423
+ "duet-header": true,
11424
+ "duet-theme-turva": this.theme === "turva",
11425
+ "duet-header-inactive": !this.processedItems,
11426
+ }, part: "header" }, hAsync("div", { class: "duet-header-top" }, skipToLabel(), hAsync("div", { class: "logo-and-segment" }, hAsync("div", null, largeLogo()), this.processedItems && (hAsync(DuetHeaderDropdown, { id: segmentId, label: activeSegment.label, active: this.isSegmentOpen, isOpen: this.isSegmentOpen, badge: false, toggleRef: el => (this.segmentItemsButtonEl = el), itemsRef: el => (this.segmentItemsEl = el), onToggle: event => this.toggleMenu(event, "segment") }, this.processedItems.map(item => (hAsync("a", { class: { active: activeSegment === item }, role: "menuitem", href: item.href || "#", id: item.id, onClick: event => this.handleItemClick(event, item), onKeyDown: ev => this.handleArrowKeys(ev), target: item.external ? "_blank" : "_self" }, item.icon && (hAsync("div", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "x-small", name: item.icon, color: "currentColor" }))), hAsync("span", null, item.label), item.badge && hAsync("div", { class: "duet-header-badge" }))))))), hAsync("nav", { class: "duet-header-multi-level-nav" }, activeSegment.items &&
11427
+ activeSegment.items
11428
+ .filter(secondLevelItem => secondLevelItem.items && secondLevelItem.items.length > 0)
11429
+ .map((secondLevelItem, secondLevelItemIndex) => {
11430
+ const id = secondLevelItem.id || `segment-item-${secondLevelItemIndex}`;
11431
+ return (hAsync(DuetHeaderDropdown, { id: id, label: secondLevelItem.label, active: (!this.openMenu && secondLevelItem.active === true) || this.openMenu === id, isOpen: this.openMenu === id, badge: secondLevelItem.badge, toggleRef: el => (this.subMenuButtonRefs[id] = el), itemsRef: el => (this.subMenuItemRefs[id] = el), onToggle: event => this.toggleMenu(event, "sub", id) }, secondLevelItem.items &&
11432
+ secondLevelItem.items.map(thirdLevelItem => (hAsync("a", { class: { active: thirdLevelItem.active }, role: "menuitem", href: thirdLevelItem.href || "#", id: thirdLevelItem.id, onClick: event => this.handleItemClick(event, thirdLevelItem), onKeyDown: ev => this.handleArrowKeys(ev), target: thirdLevelItem.external ? "_blank" : "_self" }, thirdLevelItem.icon && (hAsync("div", { class: "duet-header-icon" }, hAsync("duet-icon", { margin: "none", size: "medium", name: thirdLevelItem.icon, color: "currentColor" }))), hAsync("span", null, thirdLevelItem.label), thirdLevelItem.badge && hAsync("div", { class: "duet-header-badge" }))))));
11433
+ })), hAsync("div", { class: "duet-header-multi-level-utils" }, processedSearch(), languageDropdown(), processedSessionDropdown() != null ? processedSessionDropdown() : processedSession()), hAsync("slot", { name: "utility" })))), defaultVariationContent));
11434
+ }
11435
+ // Default variation
11436
+ return (hAsync(Host, { class: {
11437
+ "duet-header-default-variation": true,
11438
+ } }, defaultVariationContent));
11427
11439
  }
11428
11440
  get element() { return getElement(this); }
11429
11441
  static get watchers() { return {
@@ -11567,8 +11579,11 @@ class DuetHeading {
11567
11579
  const duetHeroCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-hero,*.sc-duet-hero::after,*.sc-duet-hero::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-hero-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}/*!@.duet-hero*/.duet-hero.sc-duet-hero{position:relative;display:block;width:100%;padding:48px 28px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;text-decoration:none;text-shadow:none;text-transform:none;background:#00294d}/*!@.duet-hero.duet-p-0*/.duet-hero.duet-p-0.sc-duet-hero{padding:0 !important}/*!@.duet-hero.duet-m-0*/.duet-hero.duet-m-0.sc-duet-hero{margin:0 !important}/*!@.duet-hero.duet-hero-text-center*/.duet-hero.duet-hero-text-center.sc-duet-hero{text-align:center !important}/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:0 !important}@media (min-width: 62em){/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:28px !important}}/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:36px !important;margin-bottom:-20px}}/*!@.duet-hero.duet-hero-light, .duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-light.sc-duet-hero,.duet-hero.duet-hero-with-image.sc-duet-hero{color:#00294d;background-color:white;background-image:linear-gradient(#f3f9fc, #f9fcfe)}/*!@.duet-hero.duet-hero-light::before, .duet-hero.duet-hero-with-image::before*/.duet-hero.duet-hero-light.sc-duet-hero::before,.duet-hero.duet-hero-with-image.sc-duet-hero::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:\"\";background-image:linear-gradient(#f9fcfe, white)}/*!@.duet-hero.duet-hero-light.duet-theme-turva, .duet-hero.duet-hero-with-image.duet-theme-turva*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero{color:#171c3a;background-image:linear-gradient(#f5f5f7, #fafafb)}/*!@.duet-hero.duet-hero-light.duet-theme-turva::before, .duet-hero.duet-hero-with-image.duet-theme-turva::before*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero::before,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero::before{background-image:linear-gradient(#fafafb, white)}/*!@.duet-hero.duet-hero-gray*/.duet-hero.duet-hero-gray.sc-duet-hero{color:#00294d;background:#f5f8fa}/*!@.duet-hero.duet-hero-gray.duet-theme-turva*/.duet-hero.duet-hero-gray.duet-theme-turva.sc-duet-hero{background:#f5f5f7}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-text.sc-duet-hero{display:inline-block;vertical-align:top}/*!@.duet-hero.duet-hero-gray .duet-hero-icon + .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-icon.sc-duet-hero+.duet-hero-text.sc-duet-hero{margin-left:28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-actions*/.duet-hero.duet-hero-gray-with-actions.sc-duet-hero{padding-bottom:65.4545454545px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-back*/.duet-hero.duet-hero-gray-with-back.sc-duet-hero{padding-top:72px}}/*!@.duet-hero.duet-theme-turva*/.duet-hero.duet-theme-turva.sc-duet-hero{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:#c60c30}@media (min-width: 62em){/*!@.duet-hero*/.duet-hero.sc-duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{display:inline-block;vertical-align:top}@media (min-width: 62em){/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{margin-top:-8px}}@media (min-width: 62em){/*!@.duet-hero-heading*/.duet-hero-heading.sc-duet-hero{margin-top:12px}}@media (min-width: 62em){/*!@.duet-hero-heading-has-pre*/.duet-hero-heading-has-pre.sc-duet-hero{margin-top:0}}/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}/*!@.duet-hero-left-align .duet-hero-wrapper*/.duet-hero-left-align.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{text-align:left}/*!@.duet-hero-with-image .duet-hero-wrapper*/.duet-hero-with-image.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{position:static}@media (min-width: 62em){/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{text-align:left}}/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{max-width:50rem;margin:0 auto}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{text-align:center !important}@media (min-width: 48em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:80%}/*!@.duet-hero-left-align .duet-hero-text*/.duet-hero-left-align.sc-duet-hero .duet-hero-text.sc-duet-hero{margin:0}}@media (min-width: 62em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:52%;max-width:none;margin-top:-10px;margin-left:0}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{margin-left:auto}}/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{padding-bottom:40%}}@media (min-width: 48em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:420px;padding-bottom:34%}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:540px}}@media (min-width: 62em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-60px;padding-bottom:26%}/*!@.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}@media (min-width: 62em){/*!@.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{width:300px;padding-bottom:300px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{width:80%;padding-bottom:68%}}@media (min-width: 62em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:600px;padding-bottom:600px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:25px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{right:0}}/*!@.duet-hero-image-wrapper .duet-hero-image*/.duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{top:0;left:0;width:100%;height:100%;transform:none}/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{width:650px;height:580px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{right:50%;transform:translateX(110%)}/*!@.duet-theme-turva .duet-hero-image-mask*/.duet-theme-turva.sc-duet-hero .duet-hero-image-mask.sc-duet-hero{transform:translateX(108%)}}/*!@duet-heading + duet-button*/duet-heading.sc-duet-hero+duet-button.sc-duet-hero{margin-top:12px !important}/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}@media (min-width: 36em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{margin-top:72px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}@media (min-width: 62em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:auto;margin:36px 0 0}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:#0077b3;text-align:left;text-decoration:none;border-bottom:1px solid #e1e3e6;transition:background-color 300ms ease}/*!@.duet-hero-link:focus*/.duet-hero-link.sc-duet-hero:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px #0077b3}/*!@.duet-theme-turva .duet-hero-link:focus, .duet-hero-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:focus,.duet-hero-link.sc-duet-hero:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-hero-link:hover, .duet-hero-link:hover .duet-hero-action-arrow*/.duet-hero-link.sc-duet-hero:hover,.duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:#004d80 !important;background:transparent !important}/*!@.duet-theme-turva .duet-hero-link:hover, .duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover,.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:#940925 !important}/*!@.duet-theme-turva .duet-hero-link*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero{color:#c60c30}@media (min-width: 36em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{padding:16px 16px 16px 28px}}@media (min-width: 62em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:transparent}}/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{border-top:1px solid #e1e3e6}@media (min-width: 62em){/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{margin-top:0;border:0}}/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-bottom:-48px}@media (min-width: 62em){/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-right:0;margin-bottom:0}}/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin-top:-8px}@media (min-width: 36em){/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin:0}}/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:8px}@media (min-width: 36em){/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:12px}}/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin:0 0 0 8px;color:#0077b3}@media (max-width: 35.9375em){/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin-top:-9px}}/*!@.duet-theme-turva .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-action-arrow.sc-duet-hero{color:#c60c30}/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}/*!@.duet-hero-left-align .duet-hero-back*/.duet-hero-left-align.sc-duet-hero .duet-hero-back.sc-duet-hero{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:36px !important}/*!@.duet-hero-minimal .duet-hero-back*/.duet-hero-minimal.sc-duet-hero .duet-hero-back.sc-duet-hero{margin-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{display:block}}/*!@.duet-hero-pre*/.duet-hero-pre.sc-duet-hero{display:inline-block;width:auto;margin-right:8px}/*!@.duet-hero-pre + duet-heading*/.duet-hero-pre.sc-duet-hero+duet-heading.sc-duet-hero{margin-top:0 !important}";
11568
11580
 
11569
11581
  /**
11582
+ * @part duet-hero - piercing selector for styling the hero container
11570
11583
  * @slot default - This is an unamed slot for a text or extra button that is placed after any buttons (or list item)
11571
11584
  * @slot badge - This is a slot for a status badge that sits next to pre-heading inside the hero component.
11585
+ * @slot bottom - This is a slot for content under the main hero content.
11586
+ * @slot heading - This is a slot for heading content inside the hero component.
11572
11587
  */
11573
11588
  class DuetHero {
11574
11589
  constructor(hostRef) {
@@ -11587,6 +11602,7 @@ class DuetHero {
11587
11602
  */
11588
11603
  this.theme = "";
11589
11604
  /**
11605
+ * @deprecated please use heading slot instead.
11590
11606
  * The heading of the hero area, rendered in an H1 tag. P.S. you can control
11591
11607
  * the level of the HTML heading by using “level” prop. If empty, heading
11592
11608
  * will be hidden.
@@ -11758,13 +11774,13 @@ class DuetHero {
11758
11774
  "duet-hero-gray-with-back": !!this.processedBack,
11759
11775
  "duet-hero-text-center": this.textCenter && !this.leftAlign,
11760
11776
  "duet-hero-left-align": this.leftAlign,
11761
- } }, hAsync("div", { class: "duet-hero-wrapper" }, this.image && this.variation === "image" && (hAsync("div", { class: "duet-hero-image-mask" }, hAsync("div", { class: "duet-hero-image-wrapper" }, hAsync("div", { class: "duet-hero-image", style: styles })))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
11777
+ }, part: "duet-hero" }, hAsync("div", { class: "duet-hero-wrapper" }, this.image && this.variation === "image" && (hAsync("div", { class: "duet-hero-image-mask" }, hAsync("div", { class: "duet-hero-image-wrapper" }, hAsync("div", { class: "duet-hero-image", style: styles })))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
11762
11778
  this.processedBack && (hAsync("div", { class: "duet-hero-back" }, hAsync("duet-button", { style: buttonStyles, variation: "plain", icon: "action-arrow-left-small", theme: this.theme, iconSize: "small", color: buttonColor, padding: "none", margin: "none", fixed: true, url: this.processedBack.href, identifier: this.processedBack.id, onClick: event => this.handleClick(event, {
11763
11779
  label: this.processedBack.label,
11764
11780
  href: this.processedBack.href,
11765
11781
  id: this.processedBack.id,
11766
11782
  analyticsId: this.processedBack.analyticsId,
11767
- }) }, this.processedBack.label))), (this.variation === "gray" || this.variation === "minimal") && this.categoryIcon && (hAsync("duet-icon", { class: { "duet-hero-icon": true, "duet-hero-icon-has-heading": this.preHeading !== "" }, size: "x-large", background: this.categoryIconColor, name: this.categoryIcon })), hAsync("div", { class: "duet-hero-text" }, this.preHeading && (hAsync("duet-paragraph", { margin: "none", class: "duet-hero-pre" }, this.preHeading)), hAsync("slot", { name: "badge" }), hAsync("duet-heading", { theme: this.theme, level: this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: this.variation === "default" ? "gray-lightest" : "", visualLevel: this.variation === "gray" || this.variation === "minimal" ? "h2" : "h1" }, this.heading), this.description && (hAsync("duet-paragraph", { theme: this.theme, color: textColor, variation: "intro" }, this.description)), (this.variation === "gray" || this.variation === "minimal") && this.processedListItems && (hAsync("duet-list", { theme: this.theme, "label-width": "30", breakpoint: "large", mobile: this.leftAlign ? undefined : "center" }, this.processedListItems.map(item => (hAsync("duet-list-item", null, hAsync("span", { slot: "label" }, item.label), hAsync("span", { slot: "value" }, item.value)))))), this.buttonLabel && (hAsync("duet-button", { url: this.buttonUrl, icon: this.icon, iconRight: this.iconRight, iconSize: this.iconSize, variation: buttonVariation, theme: this.theme, identifier: this.buttonId, onClick: event => this.handleClick(event, this.buttonData), fixed: true }, this.buttonLabel)), hAsync("span", { class: "duet-hero-slot-unnamed" }, hAsync("slot", null))), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (hAsync("div", { class: "duet-hero-links" }, this.processedActions.map(item => (hAsync("a", { class: "duet-hero-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleClick(event, item) }, hAsync("div", { class: "duet-hero-action-icon" }, hAsync("duet-icon", { size: "small", margin: "none", name: item.icon, color: "currentColor", outline: outlineColor })), hAsync("span", null, item.label), item.external && hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), item.external && (hAsync("div", { class: "duet-hero-action-arrow" }, hAsync("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image && this.variation !== "image" && hAsync("div", { class: "duet-hero-image", style: styles }))));
11783
+ }) }, this.processedBack.label))), (this.variation === "gray" || this.variation === "minimal") && this.categoryIcon && (hAsync("duet-icon", { class: { "duet-hero-icon": true, "duet-hero-icon-has-heading": this.preHeading !== "" }, size: "x-large", background: this.categoryIconColor, name: this.categoryIcon })), hAsync("div", { class: "duet-hero-text" }, this.preHeading && (hAsync("duet-paragraph", { margin: "none", class: "duet-hero-pre" }, this.preHeading)), hAsync("slot", { name: "badge" }), hAsync("duet-heading", { theme: this.theme, level: this.level, class: { "duet-hero-heading": true, "duet-hero-heading-has-pre": this.preHeading !== "" }, color: this.variation === "default" ? "gray-lightest" : "", visualLevel: this.variation === "gray" || this.variation === "minimal" ? "h2" : "h1" }, this.heading ? this.heading : hAsync("slot", { name: "heading" })), this.description && (hAsync("duet-paragraph", { theme: this.theme, color: textColor, variation: "intro" }, this.description)), (this.variation === "gray" || this.variation === "minimal") && this.processedListItems && (hAsync("duet-list", { theme: this.theme, "label-width": "30", breakpoint: "large", mobile: this.leftAlign ? undefined : "center" }, this.processedListItems.map(item => (hAsync("duet-list-item", null, hAsync("span", { slot: "label" }, item.label), hAsync("span", { slot: "value" }, item.value)))))), this.buttonLabel && (hAsync("duet-button", { url: this.buttonUrl, icon: this.icon, iconRight: this.iconRight, iconSize: this.iconSize, variation: buttonVariation, theme: this.theme, identifier: this.buttonId, onClick: event => this.handleClick(event, this.buttonData), fixed: true }, this.buttonLabel)), hAsync("span", { class: "duet-hero-slot-unnamed" }, hAsync("slot", null))), (this.variation === "gray" || this.variation === "minimal") && this.processedActions && (hAsync("div", { class: "duet-hero-links" }, this.processedActions.map(item => (hAsync("a", { class: "duet-hero-link", href: item.href, id: item.id, target: item.external ? "_blank" : "_self", onClick: event => this.handleClick(event, item) }, hAsync("div", { class: "duet-hero-action-icon" }, hAsync("duet-icon", { size: "small", margin: "none", name: item.icon, color: "currentColor", outline: outlineColor })), hAsync("span", null, item.label), item.external && hAsync("duet-visually-hidden", null, ", ", this.accessibleLabelExternal), item.external && (hAsync("div", { class: "duet-hero-action-arrow" }, hAsync("duet-icon", { icon: actionNewWindowSmall.svg, size: "xx-small", margin: "none", color: "currentColor" })))))))), this.image && this.variation !== "image" && hAsync("div", { class: "duet-hero-image", style: styles }), hAsync("slot", { name: "bottom" }))));
11768
11784
  }
11769
11785
  get element() { return getElement(this); }
11770
11786
  static get watchers() { return {
@@ -12016,6 +12032,11 @@ class DuetInput {
12016
12032
  fi: "Tyhjennä",
12017
12033
  sv: "Rensa",
12018
12034
  });
12035
+ this.timeAnnouncement = getLocaleString({
12036
+ en: "Time",
12037
+ fi: "Aika",
12038
+ sv: "Tid",
12039
+ });
12019
12040
  /**
12020
12041
  * Indicates the id or a string of space seperated ids of a component(s) that describes the input.
12021
12042
  */
@@ -12267,16 +12288,27 @@ class DuetInput {
12267
12288
  else if (!this.pattern && this.type === "tel") {
12268
12289
  inputProps.pattern = "[0-9+ ]+";
12269
12290
  }
12270
- return (hAsync(Host, { class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" }, onKeyUp: e => this.keyHandler(e) }, hAsync("div", { class: {
12291
+ let selectedTime;
12292
+ if (this.value) {
12293
+ selectedTime = new Date();
12294
+ try {
12295
+ selectedTime.setHours(Number(this.value.slice(0, 2)), Number(this.value.slice(3, 5)), 0, 0);
12296
+ }
12297
+ catch (e) {
12298
+ selectedTime = undefined;
12299
+ }
12300
+ }
12301
+ return (hAsync(Host, { class: { "duet-expand": this.expand, "duet-m-0": this.margin === "none" }, onKeyUp: e => this.keyHandler(e) }, this.type === "time" && (hAsync("duet-visually-hidden", { "aria-live": "polite", "aria-atomic": "true" }, selectedTime ? `${this.timeAnnouncement} ${selectedTime.toLocaleTimeString()}` : "")), hAsync("div", { class: {
12271
12302
  "duet-input-container": true,
12272
12303
  "duet-theme-turva": this.theme === "turva",
12273
12304
  [`duet-input-variation-${this.variation}`]: true,
12274
12305
  "duet-label-hidden": this.labelHidden,
12275
12306
  "duet-input-top-caption-shown": this.isCaptionVisible,
12276
- "has-icon": !!this.icon || (this.type !== "text" && this.type !== "tel" && this.type !== "password"),
12307
+ "has-icon": !!this.icon ||
12308
+ (this.type !== "text" && this.type !== "tel" && this.type !== "password" && this.type !== "time"),
12277
12309
  "has-error": !!this.error,
12278
12310
  "has-clear": this.clear,
12279
- } }, hAsync("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (hAsync("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (hAsync("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), hAsync("div", { class: "duet-input-relative" }, this.placeholder && this.echoPlaceholder && this.value && (hAsync("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), hAsync("input", Object.assign({ ref: input => (this.nativeInput = input), onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, type: this.type, class: {
12311
+ } }, hAsync("duet-label", { theme: this.theme === "turva" ? "turva" : "default", class: { "duet-has-tooltip": !!this.tooltip }, margin: this.isCaptionVisible ? "small" : "auto", id: this.labelId, for: identifier }, this.label), this.tooltip && (hAsync("duet-tooltip", { direction: this.tooltipDirection, accessibleInputLabel: this.label }, this.tooltip)), this.caption && (hAsync("duet-caption", { id: this.topCaptionId, size: "medium" }, this.caption)), hAsync("div", { class: "duet-input-relative" }, this.placeholder && this.echoPlaceholder && (this.value || this.type === "time") && (hAsync("duet-caption", { id: this.topCaptionPlaceholderId, class: "duet-input-placeholder", margin: "none", size: "small" }, this.placeholder)), hAsync("input", Object.assign({ ref: input => (this.nativeInput = input), onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, type: this.type, class: {
12280
12312
  "duet-input": true,
12281
12313
  disabled: this.disabled,
12282
12314
  "is-number": this.component === "number",
@@ -12287,6 +12319,7 @@ class DuetInput {
12287
12319
  this.type !== "text" &&
12288
12320
  this.type !== "tel" &&
12289
12321
  this.type !== "password" &&
12322
+ this.type !== "time" &&
12290
12323
  this.variation !== "button" && (hAsync("div", { class: "duet-input-icon" }, hAsync("duet-icon", { margin: "none", size: "small", icon: icons[this.type].svg, color: "currentColor" }))), this.clear && this.value && (hAsync("div", { class: "duet-input-clear-icon" }, hAsync("button", { onClick: this.handleClearClick, id: this.clearId, "aria-label": this.clearLabel, "aria-keyshortcuts": "Escape" }, hAsync("duet-icon", { margin: "none", size: "xx-small", name: "activity-close", color: "currentColor" })))), this.icon && this.variation !== "button" && (hAsync("div", { class: "duet-input-icon" }, hAsync("duet-icon", { margin: "none", size: "small", name: this.icon, color: "currentColor" }))), this.variation === "button" && hAsync("slot", { name: "button" }), hAsync("slot", null)), hAsync("span", { class: "duet-input-help", id: this.errorId, "aria-live": "assertive", "aria-relevant": "additions removals" }, this.error && hAsync("span", { class: "duet-input-error" }, this.error)))));
12291
12324
  }
12292
12325
  get element() { return getElement(this); }
@@ -17232,7 +17265,12 @@ const validateFile = (item, validators, errorCodes) => {
17232
17265
  if (item) {
17233
17266
  const { name, type, size } = item;
17234
17267
  const mime = validateFileMime(type, allowedMimetypes);
17235
- const ext = validateFileExtension(name.toLowerCase(), allowedExtensions);
17268
+ const ext = allowedExtensions === "all" ||
17269
+ allowedExtensions === "" ||
17270
+ allowedExtensions === " " ||
17271
+ allowedExtensions === undefined
17272
+ ? true
17273
+ : validateFileExtension(name.toLowerCase(), allowedExtensions);
17236
17274
  const bytes = validateFileSize(size, maxBytes);
17237
17275
  if (!mime) {
17238
17276
  errorMessage = getError("duet-upload-101", errorCodes);
@@ -17635,14 +17673,6 @@ class DuetUpload {
17635
17673
  * @example [{ id: "success", label: {fi: "Onnistunut", en: "Success", sv: "Alt klart", }}]
17636
17674
  */
17637
17675
  this.groups = [
17638
- {
17639
- id: this.DefaultGroups.inprogress,
17640
- label: {
17641
- fi: "Kesken olevat tiedostot",
17642
- sv: "Filer inprogress",
17643
- en: "Files inprogress",
17644
- },
17645
- },
17646
17676
  {
17647
17677
  id: this.DefaultGroups.pending,
17648
17678
  label: {
@@ -17667,6 +17697,14 @@ class DuetUpload {
17667
17697
  en: "Files with errors",
17668
17698
  },
17669
17699
  },
17700
+ {
17701
+ id: this.DefaultGroups.inprogress,
17702
+ label: {
17703
+ fi: "Kesken olevat tiedostot",
17704
+ sv: "Filer inprogress",
17705
+ en: "Files inprogress",
17706
+ },
17707
+ },
17670
17708
  ];
17671
17709
  this.kick = debounce(() => {
17672
17710
  this.tick = Date.now();
@@ -18047,17 +18085,17 @@ class DuetUpload {
18047
18085
  }
18048
18086
  });
18049
18087
  return {
18050
- inprogress,
18051
18088
  pending,
18052
18089
  failure,
18053
18090
  success,
18091
+ inprogress,
18054
18092
  };
18055
18093
  };
18056
18094
  this.getColumns = (group) => {
18057
18095
  return [
18058
18096
  {
18059
18097
  sort_order: 1,
18060
- direction: 1,
18098
+ direction: -1,
18061
18099
  index: 0,
18062
18100
  key: group.id,
18063
18101
  label: group.label,