@duetds/components 10.2.4 → 10.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hydrate/index.js +360 -411
- package/hydrate/index.mjs +360 -411
- package/lib/cjs/{a11y-utils-DrkNSFk7.js → a11y-utils-b27OEdFX.js} +1 -1
- package/lib/cjs/{app-globals-D924IDJZ.js → app-globals-DhPOoPl1.js} +1 -1
- package/lib/cjs/duet-action-button.cjs.entry.js +6 -6
- package/lib/cjs/duet-alert.cjs.entry.js +5 -5
- package/lib/cjs/duet-badge.cjs.entry.js +4 -4
- package/lib/cjs/duet-banner.cjs.entry.js +9 -15
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +3 -3
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +6 -6
- package/lib/cjs/duet-button_2.cjs.entry.js +7 -7
- package/lib/cjs/duet-callout.cjs.entry.js +4 -4
- package/lib/cjs/duet-caption_4.cjs.entry.js +11 -11
- package/lib/cjs/duet-card.cjs.entry.js +6 -6
- package/lib/cjs/duet-checkbox.cjs.entry.js +4 -4
- package/lib/cjs/duet-checkmark.cjs.entry.js +3 -3
- package/lib/cjs/duet-chip.cjs.entry.js +4 -4
- package/lib/cjs/duet-choice_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-collapsible.cjs.entry.js +5 -5
- package/lib/cjs/duet-combobox.cjs.entry.js +6 -6
- package/lib/cjs/duet-contact-card.cjs.entry.js +4 -4
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -3
- package/lib/cjs/duet-date-picker.cjs.entry.js +7 -7
- package/lib/cjs/duet-divider_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +80 -124
- package/lib/cjs/duet-empty-state.cjs.entry.js +3 -3
- package/lib/cjs/duet-fieldset.cjs.entry.js +4 -4
- package/lib/cjs/duet-file-chooser.cjs.entry.js +2 -2
- package/lib/cjs/duet-footer.cjs.entry.js +5 -5
- package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-header_2.cjs.entry.js +13 -38
- package/lib/cjs/duet-hero.cjs.entry.js +5 -5
- package/lib/cjs/duet-icon.cjs.entry.js +5 -5
- package/lib/cjs/duet-indicator.cjs.entry.js +9 -5
- package/lib/cjs/duet-input_2.cjs.entry.js +9 -9
- package/lib/cjs/duet-layout.cjs.entry.js +2 -2
- package/lib/cjs/duet-list_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar-item.cjs.entry.js +6 -6
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar.cjs.entry.js +4 -4
- package/lib/cjs/duet-modal.cjs.entry.js +8 -8
- package/lib/cjs/duet-multiselect.cjs.entry.js +6 -6
- package/lib/cjs/duet-nav.cjs.entry.js +2 -2
- package/lib/cjs/duet-notification_2.cjs.entry.js +6 -6
- package/lib/cjs/duet-number-input.cjs.entry.js +5 -5
- package/lib/cjs/duet-overlay.cjs.entry.js +3 -3
- package/lib/cjs/duet-page-heading.cjs.entry.js +3 -3
- package/lib/cjs/duet-pagination_2.cjs.entry.js +7 -7
- package/lib/cjs/duet-panel.cjs.entry.js +3 -3
- package/lib/cjs/duet-phone-input.cjs.entry.js +4 -4
- package/lib/cjs/duet-popup-menu_2.cjs.entry.js +9 -9
- package/lib/cjs/duet-progress.cjs.entry.js +4 -4
- package/lib/cjs/duet-promo-card.cjs.entry.js +6 -6
- package/lib/cjs/duet-radio_2.cjs.entry.js +4 -4
- package/lib/cjs/duet-range-slider.cjs.entry.js +6 -6
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +9 -9
- package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-select.cjs.entry.js +5 -5
- package/lib/cjs/duet-shaped-image.cjs.entry.js +2 -2
- package/lib/cjs/duet-share-chart-item.cjs.entry.js +1 -1
- package/lib/cjs/duet-share-chart.cjs.entry.js +7 -7
- package/lib/cjs/duet-show-more.cjs.entry.js +4 -4
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +4 -4
- package/lib/cjs/duet-slideout-link.cjs.entry.js +6 -6
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +3 -3
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +8 -8
- package/lib/cjs/duet-slideout.cjs.entry.js +9 -9
- package/lib/cjs/duet-status-icon.cjs.entry.js +2 -2
- package/lib/cjs/duet-step_2.cjs.entry.js +4 -4
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +4 -4
- package/lib/cjs/duet-submenu-bar-item.cjs.entry.js +6 -6
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +4 -4
- package/lib/cjs/duet-textarea.cjs.entry.js +6 -6
- package/lib/cjs/duet-toggle.cjs.entry.js +7 -7
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +3 -3
- package/lib/cjs/duet-toolbar-item.cjs.entry.js +6 -6
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-toolbar.cjs.entry.js +3 -3
- package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-tooltip.cjs.entry.js +5 -5
- package/lib/cjs/duet-tray.cjs.entry.js +5 -5
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
- package/lib/cjs/duet-upload-item.cjs.entry.js +4 -4
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
- package/lib/cjs/duet.cjs.js +3 -3
- package/lib/cjs/{errorcodes.utils-CN2q01zn.js → errorcodes.utils-BlVVWFcS.js} +1 -1
- package/lib/cjs/{focus-utils-BiNVxwJM.js → focus-utils-DIeiBu1A.js} +1 -1
- package/lib/cjs/{index-BU3Nf2d6.js → index-CeCDgexG.js} +1 -1
- package/lib/cjs/{label-Bkh3nxL_.js → label-BK_7MvDR.js} +1 -1
- package/lib/cjs/{language-utils-BazCSszn.js → language-utils-BmMgyx0x.js} +1 -1
- package/lib/cjs/loader.cjs.js +3 -3
- package/lib/cjs/{slot-utils-BUOLdbgj.js → slot-utils-PLQ1zjHe.js} +1 -1
- package/lib/cjs/{themeable-component-BU-IHJDO.js → themeable-component-DD3okLL-.js} +2 -12
- package/lib/cjs/{token-utils-BstQGJ9_.js → token-utils-CaLsk40I.js} +1 -51
- package/lib/cjs/{tokens-DGQm58Sv.js → tokens-DWngQgYY.js} +111 -75
- package/lib/cjs/{tokens.module-CdKmGLcD.js → tokens.module-BMAWZwue.js} +76 -52
- package/lib/collection/common/themeable-component.js +1 -11
- package/lib/collection/components/duet-action-button/duet-action-button.css +5 -19
- package/lib/collection/components/duet-alert/duet-alert.css +4 -3
- package/lib/collection/components/duet-badge/duet-badge.css +20 -65
- package/lib/collection/components/duet-banner/duet-banner.css +9 -14
- package/lib/collection/components/duet-banner/duet-banner.js +3 -9
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.css +1 -1
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.css +4 -14
- package/lib/collection/components/duet-button/duet-button.css +73 -151
- package/lib/collection/components/duet-callout/duet-callout.css +4 -8
- package/lib/collection/components/duet-caption/duet-caption.css +6 -10
- package/lib/collection/components/duet-card/duet-card.css +10 -22
- package/lib/collection/components/duet-checkbox/duet-checkbox.css +28 -38
- package/lib/collection/components/duet-chip/duet-chip.css +34 -58
- package/lib/collection/components/duet-choice/duet-checkmark.css +1 -1
- package/lib/collection/components/duet-choice/duet-choice.css +75 -123
- package/lib/collection/components/duet-collapsible/duet-collapsible.css +6 -17
- package/lib/collection/components/duet-combobox/duet-combobox.css +3 -9
- package/lib/collection/components/duet-contact-card/duet-contact-card.css +2 -5
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.css +5 -13
- package/lib/collection/components/duet-date-picker/duet-date-picker.css +54 -78
- package/lib/collection/components/duet-divider/duet-divider.css +1 -4
- package/lib/collection/components/duet-empty-state/duet-empty-state.css +1 -5
- package/lib/collection/components/duet-fieldset/duet-fieldset.css +6 -5
- package/lib/collection/components/duet-footer/duet-footer.css +17 -19
- package/lib/collection/components/duet-grid-item/duet-grid-item.css +2 -6
- package/lib/collection/components/duet-header/duet-header.css +187 -200
- package/lib/collection/components/duet-heading/duet-heading.css +1 -1
- package/lib/collection/components/duet-hero/duet-hero.css +276 -310
- package/lib/collection/components/duet-icon/duet-icon.css +6 -62
- package/lib/collection/components/duet-indicator/duet-indicator.css +1 -1
- package/lib/collection/components/duet-indicator/duet-indicator.js +5 -1
- package/lib/collection/components/duet-input/duet-input.css +54 -90
- package/lib/collection/components/duet-label/duet-label.css +0 -4
- package/lib/collection/components/duet-link/duet-link.css +19 -53
- package/lib/collection/components/duet-list-item/duet-list-item.css +11 -31
- package/lib/collection/components/duet-logo/duet-logo.css +4 -12
- package/lib/collection/components/duet-logo/duet-logo.js +7 -37
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +15 -25
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.css +5 -8
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.css +2 -20
- package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.css +5 -10
- package/lib/collection/components/duet-menu-bar-item/duet-menu-bar-item.css +14 -20
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.css +9 -16
- package/lib/collection/components/duet-modal/duet-modal.css +3 -10
- package/lib/collection/components/duet-multiselect/duet-multiselect.css +49 -63
- package/lib/collection/components/duet-notification/duet-notification.css +11 -18
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.css +25 -29
- package/lib/collection/components/duet-number-input/duet-number-input.css +1 -8
- package/lib/collection/components/duet-overlay/duet-overlay.css +4 -7
- package/lib/collection/components/duet-page-heading/duet-page-heading.css +6 -23
- package/lib/collection/components/duet-pagination/duet-pagination.css +0 -4
- package/lib/collection/components/duet-panel/duet-panel.css +5 -19
- package/lib/collection/components/duet-paragraph/duet-paragraph.css +7 -14
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.css +2 -5
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.css +8 -15
- package/lib/collection/components/duet-progress/duet-progress.css +11 -24
- package/lib/collection/components/duet-promo-card/duet-promo-card.css +6 -5
- package/lib/collection/components/duet-radio/duet-radio.css +34 -32
- package/lib/collection/components/duet-range-slider/duet-range-slider.css +28 -53
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.css +1 -1
- package/lib/collection/components/duet-scrollable/duet-scrollable.css +3 -11
- package/lib/collection/components/duet-select/duet-select.css +30 -50
- package/lib/collection/components/duet-share-chart/duet-share-chart.css +2 -5
- package/lib/collection/components/duet-show-more/duet-show-more.css +2 -5
- package/lib/collection/components/duet-slideout/duet-slideout.css +22 -38
- package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.css +0 -4
- package/lib/collection/components/duet-slideout-link/duet-slideout-link.css +7 -13
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.css +17 -31
- package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.css +7 -14
- package/lib/collection/components/duet-spinner/duet-spinner.css +1 -4
- package/lib/collection/components/duet-step/duet-step.css +18 -23
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +5 -15
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.css +16 -48
- package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.css +9 -22
- package/lib/collection/components/duet-submenu-bar-item/duet-submenu-bar-item.css +17 -27
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.css +10 -27
- package/lib/collection/components/duet-tab/duet-tab.css +1 -1
- package/lib/collection/components/duet-tab-group/duet-tab-group.css +86 -87
- package/lib/collection/components/duet-table/duet-table-styles.js +75 -119
- package/lib/collection/components/duet-textarea/duet-textarea.css +41 -62
- package/lib/collection/components/duet-toggle/duet-toggle.css +23 -30
- package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
- package/lib/collection/components/duet-toolbar/duet-toolbar.css +4 -8
- package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.css +34 -47
- package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.css +7 -14
- package/lib/collection/components/duet-toolbar-item/duet-toolbar-item.css +29 -43
- package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.css +22 -46
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.css +8 -12
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.css +17 -30
- package/lib/collection/components/duet-tray/duet-tray.css +8 -17
- package/lib/collection/utils/token-utils.js +0 -38
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/{p-b4f4baa3.entry.js → p-00e0f919.entry.js} +1 -1
- package/lib/duet/{p-6f1faec3.entry.js → p-014c965f.entry.js} +1 -1
- package/lib/duet/p-098d7665.entry.js +4 -0
- package/lib/duet/p-0c653c09.entry.js +4 -0
- package/lib/duet/{p-506dd7e4.entry.js → p-0ef804e4.entry.js} +1 -1
- package/lib/duet/p-11847d3e.entry.js +4 -0
- package/lib/duet/{p-dfbab0b6.entry.js → p-137e710f.entry.js} +1 -1
- package/lib/duet/p-1a28bbe1.entry.js +4 -0
- package/lib/duet/p-1d81fcf9.entry.js +4 -0
- package/lib/duet/{p-56cd1a09.entry.js → p-1da05915.entry.js} +1 -1
- package/lib/duet/{p-5ed86143.entry.js → p-1eb20304.entry.js} +1 -1
- package/lib/duet/p-1f2469d6.entry.js +4 -0
- package/lib/duet/p-20aefca2.entry.js +4 -0
- package/lib/duet/p-22143e3e.entry.js +4 -0
- package/lib/duet/p-2736a400.entry.js +4 -0
- package/lib/duet/p-2981f32d.entry.js +4 -0
- package/lib/duet/{p-959c0fdf.entry.js → p-2b489051.entry.js} +1 -1
- package/lib/duet/p-2d9e573a.entry.js +4 -0
- package/lib/duet/p-2e967dc9.entry.js +4 -0
- package/lib/duet/p-30190152.entry.js +4 -0
- package/lib/duet/p-32c7c0c1.entry.js +4 -0
- package/lib/duet/{p-068f930b.entry.js → p-3a4dcdbd.entry.js} +1 -1
- package/lib/duet/p-408ace89.entry.js +4 -0
- package/lib/duet/p-42105616.entry.js +4 -0
- package/lib/duet/{p-c1b625d2.entry.js → p-43723ce5.entry.js} +1 -1
- package/lib/duet/{p-56e2f9ab.entry.js → p-44d1fafb.entry.js} +1 -1
- package/lib/duet/p-47070cce.entry.js +4 -0
- package/lib/duet/p-4de84b4d.entry.js +4 -0
- package/lib/duet/{p-2cb58d74.entry.js → p-554d9373.entry.js} +1 -1
- package/lib/duet/p-565bcf84.entry.js +4 -0
- package/lib/duet/p-59553aa5.entry.js +4 -0
- package/lib/duet/{p-46959db5.entry.js → p-5a576bae.entry.js} +1 -1
- package/lib/duet/p-5dc3f346.entry.js +4 -0
- package/lib/duet/{p-79260a28.entry.js → p-5dc8a394.entry.js} +1 -1
- package/lib/duet/p-62954ecf.entry.js +4 -0
- package/lib/duet/{p-00c4df17.entry.js → p-6359eb27.entry.js} +1 -1
- package/lib/duet/{p-cde24f7a.entry.js → p-6ca30a68.entry.js} +1 -1
- package/lib/duet/p-6db9ac4d.entry.js +4 -0
- package/lib/duet/p-6e98887f.entry.js +4 -0
- package/lib/duet/p-6f08e639.entry.js +4 -0
- package/lib/duet/p-6ff3fc39.entry.js +4 -0
- package/lib/duet/{p-8f7dd5a6.entry.js → p-70d7a04d.entry.js} +1 -1
- package/lib/duet/p-713cc11f.entry.js +4 -0
- package/lib/duet/p-73263349.entry.js +4 -0
- package/lib/duet/{p-f27e6dd8.entry.js → p-7609417a.entry.js} +1 -1
- package/lib/duet/{p-2da426b2.entry.js → p-831e210d.entry.js} +1 -1
- package/lib/duet/p-846b040f.entry.js +4 -0
- package/lib/duet/{p-116bd504.entry.js → p-8ff66f04.entry.js} +1 -1
- package/lib/duet/{p-52d1157e.entry.js → p-90ab8a57.entry.js} +1 -1
- package/lib/duet/p-91370277.entry.js +4 -0
- package/lib/duet/p-9240c039.entry.js +4 -0
- package/lib/duet/{p-caed4507.entry.js → p-93bfe3dd.entry.js} +1 -1
- package/lib/duet/{p-108bb9b1.entry.js → p-9ceede7a.entry.js} +1 -1
- package/lib/duet/p-9da7ffc9.entry.js +4 -0
- package/lib/duet/{p-35e4a9c4.entry.js → p-9f941e06.entry.js} +1 -1
- package/lib/duet/p-9fd00141.entry.js +4 -0
- package/lib/duet/p-BEzfNXw0.js +4 -0
- package/lib/duet/{p-B0U815Vi.js → p-BZkhQa5F.js} +1 -1
- package/lib/duet/{p-udt4OnI3.js → p-Bo0igXOs.js} +1 -1
- package/lib/duet/p-BsJux4JM.js +4 -0
- package/lib/duet/p-Bv3O2yFB.js +4 -0
- package/lib/duet/p-D84A7Xf6.js +4 -0
- package/lib/duet/p-D8k4CqJb.js +4 -0
- package/lib/duet/{p-EzuzdWgU.js → p-DNW9B4-w.js} +1 -1
- package/lib/duet/p-Dd0j805V.js +4 -0
- package/lib/duet/{p-D01wpYGA.js → p-FlJJ5tdo.js} +1 -1
- package/lib/duet/p-a4b62f2f.entry.js +4 -0
- package/lib/duet/p-a5b9e098.entry.js +4 -0
- package/lib/duet/p-a745eb10.entry.js +4 -0
- package/lib/duet/p-ab939713.entry.js +4 -0
- package/lib/duet/{p-6c0ba49c.entry.js → p-ae714f68.entry.js} +1 -1
- package/lib/duet/p-b0622412.entry.js +4 -0
- package/lib/duet/{p-840a6293.entry.js → p-b7865974.entry.js} +1 -1
- package/lib/duet/p-b8648d7a.entry.js +4 -0
- package/lib/duet/p-bb0567b4.entry.js +4 -0
- package/lib/duet/{p-208ee0bd.entry.js → p-bc5b4e44.entry.js} +1 -1
- package/lib/duet/p-c0785349.entry.js +4 -0
- package/lib/duet/p-c18726af.entry.js +4 -0
- package/lib/duet/p-c23accaf.entry.js +4 -0
- package/lib/duet/{p-77ee5411.entry.js → p-c2572d80.entry.js} +1 -1
- package/lib/duet/{p-da5a60ce.entry.js → p-c504dc42.entry.js} +1 -1
- package/lib/duet/{p-60450623.entry.js → p-c8f8acf7.entry.js} +1 -1
- package/lib/duet/p-caf9df46.entry.js +4 -0
- package/lib/duet/{p-ad7a1cde.entry.js → p-d36dabf1.entry.js} +1 -1
- package/lib/duet/{p-06e533f3.entry.js → p-d3b4339e.entry.js} +1 -1
- package/lib/duet/p-d9963958.entry.js +4 -0
- package/lib/duet/p-dZaxsCbb.js +4 -0
- package/lib/duet/p-dfab71df.entry.js +4 -0
- package/lib/duet/p-e19d51b1.entry.js +4 -0
- package/lib/duet/{p-7323183d.entry.js → p-e655dd7d.entry.js} +1 -1
- package/lib/duet/p-ed252dd9.entry.js +4 -0
- package/lib/duet/p-f0eda0e2.entry.js +4 -0
- package/lib/duet/{p-b6b32a0a.entry.js → p-f31a6b2e.entry.js} +1 -1
- package/lib/duet/p-f58c0527.entry.js +4 -0
- package/lib/duet/{p-a4b1a21e.entry.js → p-f9f25386.entry.js} +1 -1
- package/lib/duet/{p-e606f740.entry.js → p-faf6d461.entry.js} +1 -1
- package/lib/duet/p-fc0cb6fb.entry.js +4 -0
- package/lib/duet/p-vvm7i9oY.js +4 -0
- package/lib/esm/{a11y-utils-DcQ8_LjH.js → a11y-utils-DAo2lcPY.js} +1 -1
- package/lib/esm/{app-globals-BROlDQRT.js → app-globals-CzrvWXbM.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +6 -6
- package/lib/esm/duet-alert.entry.js +5 -5
- package/lib/esm/duet-badge.entry.js +4 -4
- package/lib/esm/duet-banner.entry.js +9 -15
- package/lib/esm/duet-breadcrumb.entry.js +3 -3
- package/lib/esm/duet-breadcrumbs.entry.js +6 -6
- package/lib/esm/duet-button_2.entry.js +7 -7
- package/lib/esm/duet-callout.entry.js +4 -4
- package/lib/esm/duet-caption_4.entry.js +11 -11
- package/lib/esm/duet-card.entry.js +6 -6
- package/lib/esm/duet-checkbox.entry.js +4 -4
- package/lib/esm/duet-checkmark.entry.js +3 -3
- package/lib/esm/duet-chip.entry.js +4 -4
- package/lib/esm/duet-choice_2.entry.js +5 -5
- package/lib/esm/duet-collapsible.entry.js +5 -5
- package/lib/esm/duet-combobox.entry.js +6 -6
- package/lib/esm/duet-contact-card.entry.js +4 -4
- package/lib/esm/duet-cookie-consent.entry.js +3 -3
- package/lib/esm/duet-date-picker.entry.js +7 -7
- package/lib/esm/duet-divider_2.entry.js +5 -5
- package/lib/esm/duet-editable-table_3.entry.js +80 -124
- package/lib/esm/duet-empty-state.entry.js +3 -3
- package/lib/esm/duet-fieldset.entry.js +4 -4
- package/lib/esm/duet-file-chooser.entry.js +2 -2
- package/lib/esm/duet-footer.entry.js +5 -5
- package/lib/esm/duet-grid_2.entry.js +3 -3
- package/lib/esm/duet-header_2.entry.js +13 -38
- package/lib/esm/duet-hero.entry.js +5 -5
- package/lib/esm/duet-icon.entry.js +5 -5
- package/lib/esm/duet-indicator.entry.js +9 -5
- package/lib/esm/duet-input_2.entry.js +9 -9
- package/lib/esm/duet-layout.entry.js +2 -2
- package/lib/esm/duet-list_2.entry.js +3 -3
- package/lib/esm/duet-menu-bar-button.entry.js +3 -3
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +3 -3
- package/lib/esm/duet-menu-bar-dropdown.entry.js +3 -3
- package/lib/esm/duet-menu-bar-item.entry.js +6 -6
- package/lib/esm/duet-menu-bar-link.entry.js +3 -3
- package/lib/esm/duet-menu-bar.entry.js +4 -4
- package/lib/esm/duet-modal.entry.js +8 -8
- package/lib/esm/duet-multiselect.entry.js +6 -6
- package/lib/esm/duet-nav.entry.js +2 -2
- package/lib/esm/duet-notification_2.entry.js +6 -6
- package/lib/esm/duet-number-input.entry.js +5 -5
- package/lib/esm/duet-overlay.entry.js +3 -3
- package/lib/esm/duet-page-heading.entry.js +3 -3
- package/lib/esm/duet-pagination_2.entry.js +7 -7
- package/lib/esm/duet-panel.entry.js +3 -3
- package/lib/esm/duet-phone-input.entry.js +4 -4
- package/lib/esm/duet-popup-menu_2.entry.js +9 -9
- package/lib/esm/duet-progress.entry.js +4 -4
- package/lib/esm/duet-promo-card.entry.js +6 -6
- package/lib/esm/duet-radio_2.entry.js +4 -4
- package/lib/esm/duet-range-slider.entry.js +6 -6
- package/lib/esm/duet-scrollable_3.entry.js +9 -9
- package/lib/esm/duet-section-layout.entry.js +1 -1
- package/lib/esm/duet-select.entry.js +5 -5
- package/lib/esm/duet-shaped-image.entry.js +2 -2
- package/lib/esm/duet-share-chart-item.entry.js +1 -1
- package/lib/esm/duet-share-chart.entry.js +7 -7
- package/lib/esm/duet-show-more.entry.js +4 -4
- package/lib/esm/duet-slideout-lang.entry.js +4 -4
- package/lib/esm/duet-slideout-link.entry.js +6 -6
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +3 -3
- package/lib/esm/duet-slideout-panel.entry.js +8 -8
- package/lib/esm/duet-slideout.entry.js +9 -9
- package/lib/esm/duet-status-icon.entry.js +2 -2
- package/lib/esm/duet-step_2.entry.js +4 -4
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +3 -3
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +4 -4
- package/lib/esm/duet-submenu-bar-item.entry.js +6 -6
- package/lib/esm/duet-submenu-bar-link.entry.js +3 -3
- package/lib/esm/duet-submenu-bar.entry.js +4 -4
- package/lib/esm/duet-textarea.entry.js +6 -6
- package/lib/esm/duet-toggle.entry.js +7 -7
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +3 -3
- package/lib/esm/duet-toolbar-dropdown.entry.js +3 -3
- package/lib/esm/duet-toolbar-item.entry.js +6 -6
- package/lib/esm/duet-toolbar-link.entry.js +3 -3
- package/lib/esm/duet-toolbar.entry.js +3 -3
- package/lib/esm/duet-tooltip-button_2.entry.js +5 -5
- package/lib/esm/duet-tooltip.entry.js +5 -5
- package/lib/esm/duet-tray.entry.js +5 -5
- package/lib/esm/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm/duet-upload-item.entry.js +4 -4
- package/lib/esm/duet-visually-hidden.entry.js +1 -1
- package/lib/esm/duet.js +4 -4
- package/lib/esm/{errorcodes.utils-Itv_LXm1.js → errorcodes.utils-DFNtyigo.js} +1 -1
- package/lib/esm/{focus-utils-Ckrg92zt.js → focus-utils-BMaSpIw7.js} +1 -1
- package/lib/esm/{index-D01wpYGA.js → index-FlJJ5tdo.js} +1 -1
- package/lib/esm/{label-BDVCTSVS.js → label-B8qZstXv.js} +1 -1
- package/lib/esm/{language-utils-CJ6UGHBS.js → language-utils-D6DmVtHY.js} +1 -1
- package/lib/esm/loader.js +4 -4
- package/lib/esm/{slot-utils-BRZl-j4n.js → slot-utils-CNDJ1X0N.js} +1 -1
- package/lib/esm/{themeable-component-hw-kujXv.js → themeable-component-r_Tw1vqr.js} +2 -12
- package/lib/esm/{token-utils-DMwF8cmT.js → token-utils-D46K_pN4.js} +1 -51
- package/lib/esm/{tokens-lzu8l3tx.js → tokens-vvm7i9oY.js} +111 -75
- package/lib/esm/{tokens.module-BzrE0-hp.js → tokens.module-D84A7Xf6.js} +76 -52
- package/lib/types/components/duet-banner/duet-banner.d.ts +0 -1
- package/lib/types/components/duet-logo/duet-logo.d.ts +0 -3
- package/package.json +5 -5
- package/lib/collection/utils/turva2-color-tokens.js +0 -42
- package/lib/duet/p-0e0e4046.entry.js +0 -4
- package/lib/duet/p-1040c382.entry.js +0 -4
- package/lib/duet/p-157995c2.entry.js +0 -4
- package/lib/duet/p-1abdf725.entry.js +0 -4
- package/lib/duet/p-1d70c401.entry.js +0 -4
- package/lib/duet/p-241ecfbb.entry.js +0 -4
- package/lib/duet/p-2ae2c00b.entry.js +0 -4
- package/lib/duet/p-38d9c2a4.entry.js +0 -4
- package/lib/duet/p-3ac158a2.entry.js +0 -4
- package/lib/duet/p-3df4d82d.entry.js +0 -4
- package/lib/duet/p-40f1b967.entry.js +0 -4
- package/lib/duet/p-4ace9ad8.entry.js +0 -4
- package/lib/duet/p-59e14b99.entry.js +0 -4
- package/lib/duet/p-5deb728c.entry.js +0 -4
- package/lib/duet/p-62d78e93.entry.js +0 -4
- package/lib/duet/p-62f879dc.entry.js +0 -4
- package/lib/duet/p-64682619.entry.js +0 -4
- package/lib/duet/p-649abe6b.entry.js +0 -4
- package/lib/duet/p-7192d852.entry.js +0 -4
- package/lib/duet/p-73e78cea.entry.js +0 -4
- package/lib/duet/p-78dbb64a.entry.js +0 -4
- package/lib/duet/p-7af8f026.entry.js +0 -4
- package/lib/duet/p-7b970c92.entry.js +0 -4
- package/lib/duet/p-817f5c02.entry.js +0 -4
- package/lib/duet/p-85ed639b.entry.js +0 -4
- package/lib/duet/p-89605d7b.entry.js +0 -4
- package/lib/duet/p-8ecff6ac.entry.js +0 -4
- package/lib/duet/p-92c976d8.entry.js +0 -4
- package/lib/duet/p-97291b00.entry.js +0 -4
- package/lib/duet/p-BQqubJCA.js +0 -4
- package/lib/duet/p-BahNb4S5.js +0 -4
- package/lib/duet/p-BlYFa84w.js +0 -4
- package/lib/duet/p-Bq_F1n6l.js +0 -4
- package/lib/duet/p-Brp9BZK6.js +0 -4
- package/lib/duet/p-BzrE0-hp.js +0 -4
- package/lib/duet/p-De8V1Ewb.js +0 -4
- package/lib/duet/p-a056d95d.entry.js +0 -4
- package/lib/duet/p-a1fdc4ec.entry.js +0 -4
- package/lib/duet/p-a8a6ab54.entry.js +0 -4
- package/lib/duet/p-a8cd78ae.entry.js +0 -4
- package/lib/duet/p-ab6cce18.entry.js +0 -4
- package/lib/duet/p-ae00066d.entry.js +0 -4
- package/lib/duet/p-ae509388.entry.js +0 -4
- package/lib/duet/p-b8b4f2c1.entry.js +0 -4
- package/lib/duet/p-b955cb73.entry.js +0 -4
- package/lib/duet/p-c3084c8c.entry.js +0 -4
- package/lib/duet/p-c464f037.entry.js +0 -4
- package/lib/duet/p-c489791a.entry.js +0 -4
- package/lib/duet/p-caf9a237.entry.js +0 -4
- package/lib/duet/p-d0d43606.entry.js +0 -4
- package/lib/duet/p-e0481b75.entry.js +0 -4
- package/lib/duet/p-e25e6ab3.entry.js +0 -4
- package/lib/duet/p-e4ac8424.entry.js +0 -4
- package/lib/duet/p-ed73dc86.entry.js +0 -4
- package/lib/duet/p-f23fcee4.entry.js +0 -4
- package/lib/duet/p-f5345710.entry.js +0 -4
- package/lib/duet/p-f5b6ec35.entry.js +0 -4
- package/lib/duet/p-f9974767.entry.js +0 -4
- package/lib/duet/p-lzu8l3tx.js +0 -4
- package/lib/types/utils/turva2-color-tokens.d.ts +0 -39
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{h as t,r as e,c as i,H as a,g as n,F as s}from"./p-D01wpYGA.js";import{i as o}from"./p-Brp9BZK6.js";import{f as d,d as r}from"./p-BlUsLmbQ.js";import{i as l}from"./p-Db8rvjPI.js";import{a as h,c as u,d as c,g as p,s as b}from"./p-udt4OnI3.js";import{q as m,r as f,p as g,u as y,v,w as k,x,y as w,z as $,A as T,B as L,C as z,D as E,j,E as S,F as M,G as F,H as D,a as C,s as R,I as _}from"./p-BzrE0-hp.js";import{b as P,a as U}from"./p-De8V1Ewb.js";import{c as A}from"./p-Cfr_DJqU.js";import{p as W}from"./p-C6E9F6QT.js";import{a as B,g as q}from"./p-Bq_F1n6l.js";const H=({data:e,groupId:i,alignment:a})=>{const n=`duet-editable-table duet-editable-table-content-${i}`;return"string"==typeof e?t("td",{innerHTML:e,class:n,part:`${i}content`,style:{verticalAlign:a}}):t("td",{class:n,part:`${i}content`,style:{verticalAlign:a}},e)},I=class{constructor(t){e(this,t),this.duetTableToggle=i(this,"duetTableToggle",7),this.duetMenuClick=i(this,"duetMenuClick",7),this.hasHeadSlotFirst=!1,this.hasHeadSlotLast=!1,this.hasFootSlot=!1,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.actions=void 0,this.columns=void 0,this.rows=void 0,this.sortable=!1,this.groupId="",this.theme="",this.accessibleRole=void 0,this.hideHeadVisually=!1,this.sortableDefaultLabel={fi:"Järjestä",en:"Click to sort",sv:"Klicka för att sortera"},this.actionColumnLabel={en:"Actions for rows",fi:"Toiminnot rivillä",sv:"Åtgärder för rader"},this.toggleColumn=(t,e)=>{e.preventDefault();const{sort_order:i,direction:a,index:n,key:s}=t;this.duetTableToggle.emit({sort_order:i,index:n,direction:a,key:s,component:"duet-editable-table",originalEvent:e})},this.handleKeyDown=(t,e)=>{l(e)&&this.toggleColumn(t,e)}}componentWillLoad(){o(this),this.hasHeadSlotFirst=!!this.element.querySelector("[slot='thead-first']"),this.hasHeadSlotLast=!!this.element.querySelector("[slot='thead-last']"),this.hasFootSlot=!!this.element.querySelector("[slot='tfoot']")}connectedCallback(){u(this)}disconnectedCallback(){c(this)}createLabel(e){const{sort_order:i,direction:a,index:n,label:s}=e,o=p(s);return this.sortable?t("span",{class:"duet-table-label","data-index":n},t("duet-button",{size:"small",icon:i&&1===a?"action-arrow-down-small":i&&-1===a?"action-arrow-up-small":"action-subtract-small","icon-size":"medium-small","accessible-label":this.sortableDefaultLabel[this.language],variation:"plain",margin:"none","icon-right":!0,onClick:t=>this.toggleColumn(e,t),onKeyDown:t=>this.handleKeyDown(e,t)},o)):o}getSortedColumns(){return[...this.columns].sort(d(["index"]))}getRowSortOrder(){return[...this.columns].sort(d(["sort_order"])).filter((t=>t.sort_order)).map((t=>-1===t.direction?`-${t.key}`:t.key))}renderTableHeader(){if(!this.columns)return;const e=this.getSortedColumns();return t("tr",{class:{"duet-table-action-header":!!this.actions}},e.map((e=>{if(!1!==e.display){const i=this.createLabel(e);return""!==i?t("th",{scope:"col"},i):t("td",null)}})),this.actions&&t("th",{scope:"col",class:"duet-table-action-header-heading"},this.actions&&t("duet-visually-hidden",null,this.actionColumnLabel[this.language])))}renderActions(e,i){if(this.actions)return t("td",{class:"duet-text-right"},this.actions.map((a=>t("duet-action-button",{actionMeta:Object.assign({},(null==e?void 0:e.meta)||{},{index:i}),actionId:(null==e?void 0:e.uid)||(null==e?void 0:e.id)||null,actionName:a.name,theme:this.theme,iconName:a.icon,iconColor:a.color,iconSize:a.size,background:a.background,"accessible-label":`${e.actionDescription||""} ${p(a.label)} `}))))}renderTableBody(){const e=this.getSortedColumns(),i=this.getRowSortOrder();return[...this.rows].sort(d(i)).map(((i,a)=>t("tr",{class:{"duet-table-action-row":!!this.actions,"duet-editable-table-row":!0,[`duet-editable-table-row-${this.groupId}`]:!0},"data-meta":JSON.stringify(i.meta)},e.map((e=>{if(!1!==e.display)return t(H,{data:i[e.key]?i[e.key]:i.item,groupId:this.groupId})})),this.actions&&this.renderActions(i,a))))}render(){return t(a,{key:"5b1b28e6321b07a1d385c1945f15b0c110a8b068",class:{[`duet-editable-table-${this.variation}`]:!0,"duet-editable-table":!0,[`duet-editable-table-${this.theme}`]:!0,"duet-editable-table-scrollable":"none-scrollable"===this.breakpoint,"duet-editable-table-sortable":this.sortable,"duet-editable-table-actions":!!this.actions,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme}},t("duet-table",{key:"47a4b4e9d3acf3ca83e70c1aa4e7758e1f6cbbbe",class:"duet-editable-table-table",sticky:this.sticky,stickyDistance:this.stickyDistance,margin:this.margin,theme:this.theme,variation:this.variation,breakpoint:this.breakpoint,"hide-head-visually":this.hideHeadVisually},t("table",{key:"975344f17b9271b8ffa4264751aa2dae69279f45",role:this.accessibleRole},t("caption",{key:"e9039bfd4c5bf90f96856d13d993be7f13fa2d73"},t("slot",{key:"38a7cd2c82e45ebcc080e1e20f3f77aa2a46973d",name:"tcaption"})),t("thead",{key:"c4a02a18bfae96669f45328f6198dc52f43dd887"},this.hasHeadSlotFirst&&t("tr",{key:"af846dfeba040ddec43065803327195bea76a404"},t("td",{key:"c002827f8c8c6cce8d8d4415c80e4f39d4bb1ed6",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"5673bc937f4bc87b67f6112f59a1981ff7f02c79",name:"thead-first"}))),this.renderTableHeader(),this.hasHeadSlotLast&&t("tr",{key:"79a45db93db0d6e5e35aade928f23032efdb821b"},t("td",{key:"fddd1434bf5a20188be229e5c3d9bde03b8d8dca",class:"duet-editable-table-actions-menu",colSpan:99},t("slot",{key:"53b1ea3494b7e0f39426232f922a040eacf3a0f0",name:"thead-last"})))),t("tbody",{key:"b5d38eed528592d29f64f749e1938d0ff5b772b3"},this.renderTableBody()),this.hasFootSlot&&t("tfoot",{key:"e2ef34f7d078a7ac7b4a38cd5953b449ce682a23"},t("tr",{key:"9f2a92be2f425c419abd5fa1a0a7fb763cc0426b"},t("td",{key:"da2eeda1f65004cc2c197dad36038dc4a60c2e8e",class:"duet-editable-table-footer-menu",colSpan:99},t("slot",{key:"988c400cb8046f0544293b8e1555f7b213f9def6",name:"tfoot"})))))))}get element(){return n(this)}};I.style=":host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-editable-table-actions-menu,td.duet-editable-table-actions-menu{position:relative;padding:0 !important;margin:0}.duet-editable-table-actions-menu-button{position:relative;right:-16px;float:right;padding:0}.duet-editable-table-actions-menu-icon .duet-icon{max-width:16px;max-height:16px}.duet-editable-table-row.duet-table-action-row .duet-text-right{text-align:right}.duet-editable-table-header tr .duet-editable-table-header-hidden{padding:0 !important;font-size:0;border-bottom:0}";const N=t=>t.replace("rgb(","").replace(")",""),O=`\nduet-table {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n margin-bottom: ${m} !important;\n display: block;\n font-variant-numeric: tabular-nums;\n\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n }\n\n &.duet-m-0 {\n margin: 0 !important;\n }\n\n table {\n width: 100%;\n font-family: ${f};\n font-size: ${g};\n text-align: left;\n border-spacing: 0;\n border-collapse: separate;\n }\n\n &.duet-table-hide-head-visually.duet-table-hide-head-visually {\n thead,\n thead * {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n }\n\n &.duet-theme-turva table {\n font-family: ${y};\n }\n\n td {\n -webkit-hyphens: auto;\n hyphens: auto;\n color: ${v};\n }\n\n &.duet-theme-turva td {\n color: ${k};\n }\n\n th {\n font-weight: ${x};\n line-height: ${w};\n color: ${$};\n text-align: left;\n }\n\n &.duet-theme-turva th {\n color: ${T};\n }\n\n tbody th {\n font-weight: ${x};\n color: ${v};\n }\n\n &.duet-theme-turva tbody th {\n color: ${k};\n }\n\n & .duet-table-action-row {\n & td:last-child {\n justify-self: end;\n padding-right: ${m} !important;\n white-space: nowrap;\n }\n }\n\n span.duet-table-cell-heading {\n display: none;\n }\n}\n\n.duet-table-flattened {\n table,\n thead,\n tbody,\n tfoot,\n th,\n td,\n tr {\n display: block;\n }\n\n thead tr {\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n }\n\n td {\n line-height: ${w};\n\n &:not(:last-child) {\n margin-bottom: ${L};\n }\n\n span.duet-table-cell-heading {\n margin-bottom: ${z};\n display: block;\n font-size: ${g};\n font-weight: ${x};\n color: ${v};\n }\n }\n\n &.duet-theme-turva td span.duet-table-cell-heading {\n color: ${k};\n }\n\n tbody td,\n tbody th,\n tfoot td {\n padding: 0 !important;\n text-align: left !important;\n }\n\n tbody th {\n font-weight: ${x};\n line-height: ${w};\n color: ${$};\n text-align: left;\n }\n}\n\n.duet-table-sticky thead th {\n position: sticky;\n top: 0;\n z-index: $z-index-sticky;\n background: ${E};\n}\n\n.duet-table-striped {\n td,\n th {\n padding: ${m} !important;\n @media ${j.replace("'","").replace("'","")} {\n padding: ${m} ${S} !important;\n }\n }\n\n tbody th {\n background: ${E};\n }\n\n &.duet-table-sticky {\n thead th {\n border-bottom: 1px solid ${M};\n }\n\n &.duet-theme-turva thead th {\n border-bottom-color: ${F};\n }\n }\n\n tbody:not(:first-of-type) th {\n padding-top: calc(${m} * 2) !important;\n }\n\n tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n &.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba(${N(k)}, 0.04);\n }\n\n tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(4, 81, 128, 0.04);\n }\n\n &.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba(${N(k)}, 0.04);\n }\n\n tfoot td {\n border-top: 1px solid ${M};\n }\n\n &.duet-theme-turva tfoot td {\n border-top-color: ${F};\n }\n\n &.duet-table-flattened {\n tbody:not(:first-of-type) th {\n padding-top: ${m} !important;\n }\n\n tr {\n padding: ${m} !important;\n }\n\n tfoot {\n td {\n border-top: 0;\n }\n\n tr {\n border-top: 1px solid ${M};\n }\n }\n\n &.duet-theme-turva tfoot tr {\n border-top-color: ${F};\n }\n }\n}\n\n.duet-table-plain, .duet-table-fixed, .duet-table-minimal {\n th {\n padding: ${L} !important;\n border-bottom: 1px solid ${$};\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n &.duet-theme-turva th {\n border-bottom-color: ${D};\n }\n\n tbody th {\n padding-top: calc(${m} * 2) !important;\n border-bottom-color: ${M};\n }\n\n &.duet-theme-turva tbody th {\n border-bottom-color: ${F};\n }\n\n td {\n padding: ${L} !important;\n\n &:first-child {\n padding-left: 0 !important;\n }\n\n &:last-child {\n padding-right: 0 !important;\n }\n }\n\n tbody td {\n border-bottom: 1px solid ${M};\n }\n\n &.duet-theme-turva tbody td {\n border-bottom-color: ${F};\n }\n\n &.duet-table-flattened {\n tbody:first-of-type th {\n padding-top: 0 !important;\n }\n\n td,\n tbody th {\n border-bottom: 0;\n }\n\n tr {\n padding: ${m} 0 !important;\n }\n\n tbody th {\n padding-top: ${m} !important;\n }\n\n tfoot td {\n margin-bottom: ${z} !important;\n }\n\n tbody:not(:only-of-type) tr:first-child {\n border-bottom: 0;\n }\n }\n}\n\n.duet-table-plain {\n\n &.duet-table-flattened {\n tbody tr {\n border-bottom: 1px solid ${M};\n }\n\n &.duet-theme-turva tbody tr {\n border-bottom-color: ${F};\n }\n }\n}\n\n.duet-table-minimal {\n\n tbody tr,\n tbody tr td {\n vertical-align: top;\n border-bottom: 0 none;\n }\n\n tbody tr:last-of-type,\n tbody tr:last-of-type td {\n border-bottom: 1px solid ${M};\n }\n\n &.duet-table-flattened {\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n tbody tr td[data-heading]::before {\n display: none;\n }\n\n tfoot {\n border-top: 1px solid ${M};\n }\n\n &.duet-theme-turva tfoot {\n border-top-color: ${F};\n }\n }\n}\n\n.duet-table-fixed {\n\n table {\n table-layout: fixed;\n }\n\n tbody tr,\n tbody tr td,\n tbody tr td:first-child {\n padding: 4px !important;\n vertical-align: text-bottom;\n border-bottom: 0 none;\n }\n\n thead {\n display: none;\n }\n\n tbody tr,\n tbody tr td {\n border-bottom: 0 none;\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${M};\n }\n\n &.duet-theme-turva tfoot {\n border-top-color: ${F};\n }\n }\n}\n.duet-table-scrollable {\n position: relative;\n width: 100%;\n overflow-x: auto;\n background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;\n background-repeat: no-repeat;\n background-attachment: local, local, scroll, scroll;\n background-size: 100px 100%, 100px 100%, 12px 100%, 12px 100%;\n}\n\n.duet-table-selected-column {\n background: rgba(${N(C)}, 0.08);\n\n .duet-theme-turva & {\n background: rgba(${N(D)}, 0.08);\n }\n}\n\n.duet-table-sortable {\n tbody tr td:first-child,\n thead tr th:first-child {\n padding: ${m};\n }\n\n &:not(.duet-table-flattened) {\n tfoot {\n border-top: 1px solid ${M};\n }\n\n &.duet-theme-turva tfoot {\n border-top-color: ${F};\n }\n }\n}\n\n\n.duet-table-actions {\n table {\n table-layout: auto;\n }\n\n thead {\n & th:last-child {\n width: 1px;\n white-space: nowrap;\n }\n }\n}\n\n.duet-editable-table-table.duet-table-flattened {\n tr {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-auto-rows: auto;\n gap: 10px;\n\n &.duet-table-action-row td:last-child::before {\n padding: 0;\n content: "";\n }\n }\n\n td {\n grid-column: 1 / 2;\n\n &:first-child {\n grid-row: 1;\n grid-column: 1;\n }\n\n &:last-child {\n grid-row: 1;\n grid-column: 2;\n }\n }\n\n duet-table.duet-theme-turva2 {\n &.duet-theme-turva td {\n color: $color-turva2-gray-900;\n }\n\n &.duet-theme-turva tbody th {\n color: $color-turva2-gray-900;\n }\n\n &.duet-table-striped.duet-theme-turva.duet-table-sticky thead {\n th,\n td {\n border-bottom-color: $color-turva-nude-100;\n }\n }\n\n &.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd) {\n background: rgba($color-turva2-gray-900, 0.04);\n }\n\n &.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even) {\n background: rgba($color-turva2-gray-900, 0.04);\n }\n\n &.duet-table-striped.duet-theme-turva tfoot td {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-plain.duet-theme-turva tbody {\n th,\n td {\n border-bottom-color: $color-turva-nude-100;\n }\n }\n\n &.duet-table-plain.duet-theme-turva tbody td {\n border-bottom-color: $color-turva-nude-100;\n }\n\n &.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr {\n border-bottom-color: $color-turva-nude-100;\n }\n\n &.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-fixed.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: $color-turva-nude-100;\n }\n\n &.duet-table-sortable.duet-theme-turva:not(.duet-table-flattened) tfoot {\n border-top-color: $color-turva-nude-100;\n }\n }\n}\n`.replace(/[\n\r\t]/gm,""),Y={none:0,"with-links":16*parseFloat(_),"without-links":16*parseFloat(R)},V=class{constructor(t){e(this,t),this.headingSelector="thead tr > :not(*.duet-editable-table-actions-menu)",this.matchesBreakpoint=!0,this.language=h(),this.margin="auto",this.variation="striped",this.sticky=!1,this.stickyDistance="with-links",this.breakpoint="small",this.hideHeadVisually=!1,this.handleMediaQueryChange=t=>{this.matchesBreakpoint=P.includes(this.breakpoint)?!t.matches:t.matches}}watchLanguageStateHandler(t,e){t!==e&&setTimeout((()=>this.copyHeadingsToCells()),50)}connectedCallback(){!function(t){const e=t.getRootNode();if(e instanceof ShadowRoot){const t=new CSSStyleSheet;t.replace(O).then((()=>{e.adoptedStyleSheets.push(t)}))}else{if(document.querySelector("style#duet-table-styles"))return;const t=document.createElement("style");t.id="duet-table-styles",t.innerHTML=O,document.head.append(t)}}(this.element),this.mq=matchMedia("none"===this.breakpoint||"none-scrollable"===this.breakpoint?"all":U[this.breakpoint]),this.mq.addEventListener("change",r(this.handleMediaQueryChange,50)),this.handleMediaQueryChange(this.mq),this.observer=new MutationObserver((()=>r(this.copyHeadingsToCells(),50))),this.observer.observe(this.element,{childList:!0,subtree:!0})}componentWillLoad(){if(o(this),this.copyHeadingsToCells(),this.sticky&&"none-scrollable"===this.breakpoint&&console.warn('[DUET WARNING]: sticky and breakpoint="none-scrollable" are incompatible. Scrollable takes precedence'),this.sticky){const t=Y[this.stickyDistance];this.element.querySelectorAll(this.headingSelector).forEach((e=>e.style.top=`${t}px`))}}componentDidLoad(){this.observer&&this.observer.takeRecords(),u(this)}disconnectedCallback(){this.observer.disconnect(),this.observer=null,this.mq.removeListener(this.handleMediaQueryChange),this.mq=null,this.matchesBreakpoint=!0,c(this)}copyHeadingsToCells(){if(["none","none-scrollable"].includes(this.breakpoint))return;const t=this.element.querySelectorAll(this.headingSelector),e=this.element.querySelectorAll("tbody tr"),i=Array.from(t).map((t=>t.textContent.trim()));e.forEach((t=>{t.querySelectorAll("td").forEach(((t,e)=>{if(i[e]){const a=t.querySelector(".duet-table-cell-heading");if(!a||a.textContent!==i[e]){null==a||a.remove();const n=document.createElement("span");n.textContent=i[e],n.classList.add("duet-table-cell-heading"),n.setAttribute("aria-hidden","true"),n.inert=!0,t.prepend(n)}}}))}))}render(){return t(a,{key:"fda81d8548a6180298f6e227832f9c7105a68736",class:{[`duet-table-${this.variation}`]:!0,"duet-table-flattened":!this.matchesBreakpoint,"duet-table-sticky":this.matchesBreakpoint&&this.sticky,"duet-table-scrollable":"none-scrollable"===this.breakpoint,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme,"duet-table-hide-head-visually":this.hideHeadVisually}},t("slot",{key:"ac3ae69d0a1141e1feacd1bdf8fb3ba9e9e89080"}))}get element(){return n(this)}static get watchers(){return{language:["watchLanguageStateHandler"]}}};var J=[{type:"default",system_message:"unknown error",message:{fi:"Tapahtui tuntematon virhe, ole hyvä ja yritä uudelleen.",sv:"Ett okänt fel uppstod, försök igen.",en:"An unknown error occured, please try again."}},{type:"400",system_message:"Bad Request: The server could not understand the request due to invalid syntax.",message:{fi:"Tiedostoa ei hyväksytty.",sv:"Servern avvisade din fil.",en:"The server rejected your file."}},{type:"401",system_message:"Not Authenticated: The client must authenticate itself to get the requested response...",message:{fi:"Vain kirjautunut käyttäjä voi lähettää tiedostoja.",sv:"Du måste vara inloggad för att ladda upp filer.",en:"You need to be logged in to upload files."}},{type:"403",system_message:"No Access: The client does not have access rights to the content.",message:{fi:"Ei oikeuksia lähettää tiedostoja.",sv:"Du har inte rätt åtkomsträttigheter för att ladda upp filer.",en:"You do not have the correct access rights to upload files."}},{type:"413",system_message:"Payload too large",message:{fi:"Tiedosto oli liian vastaanotettavaksi.",sv:"Filen var för stor för servern att hantera.",en:"The file was to large for the server to handle."}},{type:"415",system_message:"Unsupported media type",message:{fi:"Tiedoston tyyppi oli väärä.",sv:"Servern avvisade filen eftersom den hade fel typ.",en:"The server rejected the file because it had the wrong type."}},{type:"429",system_message:"Too many request from same address",message:{fi:"Liian monta yritystä, ole hyvä ja yritä myöhemmin uudelleen.",sv:"Servern har fått många förfrågningar från dig, försök igen senare.",en:"The server has received to many request from you, please try again later."}},{type:"500",system_message:"Internal Server Error",message:{fi:"Palvelin ilmoitti tuntemattomasta virheestä ja lataus epäonnistui.",sv:"Servern rapporterade ett okänt fel och uppladdningen misslyckades.",en:"The server reported an unknown error and the upload failed."}},{type:"duet-upload-100",system_message:"File extension not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den type.",en:"You cannot upload files with that extension."}},{type:"duet-upload-001",system_message:"File transfer failed",message:{fi:"Tiedoston lähetys keskeytyi, ole hyvä ja yritä uudelleen.",sv:"Din anslutning till servern avbröts, försök igen.",en:"Your connection to the server was interrupted, try again."}},{type:"duet-upload-101",system_message:"File mimetype not allowed",message:{fi:"Tiedoston tyyppi ei ole sallittu.",sv:"Du kan inte ladda upp filer av den typ.",en:"You cannot upload files of that type."}},{type:"duet-upload-201",system_message:"File is too large",message:{fi:"Tiedosto on liian iso.",sv:"Filen är större än tillåtet.",en:"The file is larger than permitted."}},{type:"duet-upload-202",system_message:"The combined size of all files is too large",message:{fi:"Tiedostojen yhteenlaskettu koko on liian iso.",sv:"Du har nått den maximala kombinerade filstorleken.",en:"You have reached the maximum combined filesize."}},{type:"duet-upload-203",system_message:"Files to upload exceed total byte size limit",message:{fi:"Yritit lisätä tiedostoja, jotka ylittäisivät suurimman sallitun yhteenlasketun koon.",sv:"Du försökte lägga till filer som skulle överskrida den maximala kombinerade storleken.",en:"You tried to add files that would exceed the maximum combined size."}},{type:"duet-upload-301",system_message:"The maximum file limit has been reached",message:{fi:"Liitteiden maksimimäärä saavutettu.",sv:"Maximalt antal bilagor har uppnåtts.",en:"Maximum number of attachments reached."}},{type:"duet-upload-302",system_message:"Files to upload exceeds limits",message:{fi:"Et voi lähettää enempää kuin enimmäismäärän liitteitä.",sv:"Du kan inte ladda upp fler än det maximala antalet bilagor.",en:"You can't upload more than maximum number of attachments."}}];const X={fi:"Liiteluettelo",sv:"Lista över bilagor",en:"Attachments list"},K=({label:e,categoryLabel:i})=>t("div",{class:"items-header",tabindex:"-1","aria-label":p(X)},i&&t("duet-heading",{class:"category-header",border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},p(i)),t("duet-heading",{class:{"filename-header":!0,"no-category":!i},border:"solid",color:"gray-darker",level:"h3","visual-level":"h6",weight:"semibold",margin:"none","aria-hidden":"true"},p(e))),G=(t,e,i)=>{const{allowedMimetypes:a,allowedExtensions:n,maxBytes:s}=e;let o=!1,d=B("default",i);if(t){const{name:e,type:r,size:l}=t,h=((t,e)=>{if(!e||!t)return!0;const i=e.split(",");let a=!1;return i.forEach((e=>{const i=e.split("/"),n=t.split("/");i[0]!==n[0]||i[1]!==n[1]&&"*"!==i[1]||(a=!0)})),a})(r,a),u="all"===n||""===n||" "===n||void 0===n||((t,e)=>{if(!e)return!0;const i=t.split(".");return e.split(",").includes(i[i.length-1])})(e.toLowerCase(),n),c=((t,e)=>!e||!t||e>=t)(l,s);h||(d=B("duet-upload-101",i)),u||(d=B("duet-upload-100",i)),c||(d=B("duet-upload-201",i)),o=h&&u&&c}else o=!1;return{valid:o,errorMessage:o?void 0:p(d.message),errorSystem:o?void 0:d.system_message,errorType:o?void 0:d.type}},Q=({payload:t,options:e,onFailure:i,onSuccess:a,onProgress:n})=>{const{type:s="POST",xhr:o,uri:d,argument:r=null,headers:l=null}=e;o.open(s,`${d}${r||""}`,!0);const{data:h,name:u}=t;return l&&Object.keys(l).forEach((t=>{o.setRequestHeader(t,l[t])})),"POST"===s&&(o.onreadystatechange=()=>{o.readyState===XMLHttpRequest.DONE&&o.status>=200&&o.status<300&&a(o,u,o.status),o.readyState===XMLHttpRequest.DONE&&o.status>=300&&o.status<999&&i(o,u,o.status)},n(u)),o.send(h),o},Z=class{constructor(a){e(this,a),this.duetChange=i(this,"duetChange",3),this.duetBlur=i(this,"duetBlur",7),this.duetFocus=i(this,"duetFocus",7),this.duetReady=i(this,"duetReady",7),this.duetDone=i(this,"duetDone",3),this.duetState=i(this,"duetState",3),this.duetDelete=i(this,"duetDelete",3),this.duetCancel=i(this,"duetCancel",3),this.duetProgress=i(this,"duetProgress",3),this.duetUpload=i(this,"duetUpload",3),this.linkClick=i(this,"linkClick",3),this.tick=Date.now(),this.external=!1,this.middleware=null,this.deferUpload=!1,this.hideButton=!1,this.actions=[{icon:"action-delete",color:"color-danger",size:"x-small",background:"gray-lightest",name:"delete",map:["success","failure"],label:{fi:"Poista tiedosto",en:"Delete the file",sv:"Ta bort filen"}},{icon:"navigation-close",color:"primary",size:"x-small",background:"gray-lightest",name:"cancel",map:["inprogress","pending"],label:{fi:"Keskeytä lähetys",en:"Cancel the upload",sv:"Stop överföringen"}}],this.showLinks=!1,this.statusLabelDefaults={fi:{inProgress:"Lähetetään {filesUploaded}, yhteensä lähetettävänä {filesTotal}.",inProgressWithErrors:"Lähetetään {filesInProgress}, lähetetty {filesUploaded}, yhteensä lähetettävänä {filesTotal}, {filesWithErrors} epäonnistui",done:"Lähetys valmis, {filesTotal} lisätty onnistuneesti",doneWithErrors:"Lähetys valmis, {filesUploaded} lisätty onnistuneesti, {filesWithErrors} epäonnistui",files:"tiedostoa",file:"tiedosto"},sv:{inProgress:"Laddar upp {filesUploaded} av {filesTotal}",inProgressWithErrors:"Laddar upp {filesInProgress}, {filesUploaded} uppladdad av {filesTotal}, {filesWithErrors} misslyckades",done:"Uppladdningen slutförd, {filesTotal} har lagts till",doneWithErrors:"Uppladdningen slutförd, {filesUploaded} har lagts till, {filesWithErrors} misslyckades",files:"filer",file:"fil"},en:{inProgress:"Uploading {filesUploaded} of {filesTotal}",inProgressWithErrors:"Uploading {filesInProgress}, {filesUploaded} uploaded of {filesTotal}, {filesWithErrors} failed",done:"Upload completed, {filesTotal} added successfully",doneWithErrors:"Upload completed, {filesUploaded} added successfully, {filesWithErrors} failed.",files:"files",file:"file"}},this.statusMessageLabel=p(this.statusLabelDefaults),this.buttonLabelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add an attachment"},this.buttonLabel=p(this.buttonLabelDefaults),this.accessibleButtonLabel=void 0,this.theme="",this.disabled=!1,this.margin="auto",this.required=!1,this.alignment="middle",this.hideGroups=!1,this.files=new Map,this.valid=!this.required,this.labelDefaults={fi:"Lisää liite",sv:"Lägg till en bilaga",en:"Add attachments"},this.label=p(this.labelDefaults),this.descriptionDefaults={en:"You may attach the following filetypes: {filetypes} - as well as the most common video files. You can upload {maxbytestotal} of files at a time, and add up to {maxfiles} attachments at a time each no larger than {maxbytes}.",sv:"Du kan bifoga följande filtyper: {filetypes} - samt de vanligaste videofilerna. Du kan ladda upp {maxbytestotal} av filer åt gången, och lägga till upp till {maxfiles} bilagor åt gången varje inte större än {maxbytes}.",fi:"Voit liittää seuraavat tiedostotyypit: {filetypes} - sekä yleisimmät videotiedostot. Voit lähettää {maxbytestotal} tiedostoa kerrallaan, ja lisätä enintään {maxfiles} liitettä kerrallaan, jokainen enintään {maxbytes} kokoisena."},this.description=p(this.descriptionDefaults),this.fileListEmptyDefaults={fi:"Ei vielä lisättyjä tiedostoja.",sv:"Inga filer har lagts till ännu.",en:"No files added yet."},this.fileListEmpty=p(this.fileListEmptyDefaults),this.error="",this.errorCodes=J,this.maxBytes=2e8,this.maxBytesTotal=void 0,this.maxFiles=99,this.allowedExtensions="all",this.allowedMimetypes="",this.multiple=!0,this.limitSelection=!1,this.hideCancelButton=!1,this.captionOnBottom=!1,this.showUploadedItemsHeader=!1,this.uploadedItemsHeaderLabel={fi:"Ladattu tiedosto",sv:"Lägg till en bilaga",en:"Uploaded file"},this.headerHeadingLevel="h3",this.hideHeader=!1,this.emitEvent=!1,this.actionButtonTitles={cancel:!1,delete:!1},this.renameDuplicates=!1,this.buttonId=A("DuetButton"),this.labelId=A("DuetLabel"),this.uploadId=A("DuetUpload"),this.filesInProgress=new Map,this.fileMaxReached=!1,this.bytesMaxReached=!1,this.filesToUploadExceedsLimit=!1,this.filesToUploadTotalSizeIsAboveMax=!1,this.internalStatusMessageLabel=void 0,this.itemRefs=new Map,this.DefaultGroups={inprogress:"inprogress",success:"success",pending:"pending",failure:"failure"},this.groups=[{id:this.DefaultGroups.success,label:{fi:"Valmiit tiedostot",sv:"Files success",en:"Files success"}},{id:this.DefaultGroups.failure,label:{fi:"Tiedostot, joissa on virheitä",sv:"Filer med fel",en:"Files with errors"}},{id:this.DefaultGroups.inprogress,label:{fi:"Kesken olevat tiedostot",sv:"Filer inprogress",en:"Files inprogress"}},{id:this.DefaultGroups.pending,label:{en:"Files to upload",sv:"Filer att ladda",fi:"Ladattavat tiedostot"}}],this.kick=r((()=>{this.tick=Date.now()}),30),this.categoryLabel={en:"Category",sv:"Filtyp",fi:"Tiedostotyyppi"},this.listenForActionEvents=()=>{this.element.addEventListener("duetActionEvent",(t=>{const e=t.detail,{action:i,id:a,originalEvent:n}=e;switch(i){case"delete":this.onDelete(a,n);break;case"cancel":this.onCancel(a,n)}}))},this.verifyValidity=()=>{const{invalid:t,valid:e}=this.getFilesAsArray(),i=this.valid;this.valid=0===t.length&&0!==e.length,this.valid!==i&&this.duetState.emit({originalEvent:void 0,data:{valid:this.valid,from:"componentWillRender"},component:"duet-upload"})},this.getGroupFromItemData=t=>t.valid&&100===t.progress?this.DefaultGroups.success:t.progress>0&&100!==t.progress?this.DefaultGroups.inprogress:t.valid?t.pending?this.DefaultGroups.pending:t.group?t.group:"none":this.DefaultGroups.failure,this.mapFilesToUploadItems=(e,i,a,n)=>i===this.DefaultGroups.success?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"success",data:e,showLinks:this.showLinks,linkClickEvent:this.emitEvent?this.linkClick:void 0,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.inprogress?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"inprogress",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.pending?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"pending",data:e,showLinks:this.showLinks,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):i===this.DefaultGroups.failure?t("duet-upload-item",{theme:this.theme,actions:this.getActions(i,n),type:"failure",data:e,showLinks:this.showLinks,errorCodes:this.errorCodes,categoryLabel:this.categoryLabel,label:this.uploadedItemsHeaderLabel,showCategory:a,buttonTitles:this.processedButtonTitles,ref:t=>{this.itemRefs.set(e.uid,t)}}):e.group?e.html:"none",this.genHashName=()=>Date.now().toString(36)+Math.random(),this.updateValueInMap=(t,e,i,a=!0)=>{try{const a=this.files.get(t);a[e]=i,this.files.set(t,a),this.external&&"url"!==e&&this.trackProgress(t,"uploaded"===e)}catch(t){}a&&this.kick()},this.updateProgress=(t,e)=>{t.lengthComputable?(i=>{this.updateValueInMap(e,"progress",i),this.onProgress(e,i,t)})(t.loaded/t.total*100):console.log("cant read progress")},this.trackProgress=(t,e=!1)=>{e?this.filesInProgress.delete(t):this.filesInProgress.set(t,"inprogress"),0===this.filesInProgress.size&&this.onDone()},this.getFilesAsArray=()=>{const t=[],e=[];return this.files.forEach((i=>{i.valid&&!i.deleted?t.push(i):i.valid||i.deleted||e.push(i)})),{valid:t,invalid:e}},this.resetFormFields=()=>{this.nativeInput.value=""},this.startUpload=async(t,e)=>{const{bytesMaxReached:i,fileMaxReached:a}=this.validateTotals();i||a?this.kick():(this.metaData=e,this.nativeInput.click(),this.onUpload(t,e),t.stopPropagation(),t.preventDefault())},this.transferComplete=t=>{this.updateValueInMap(t,"progress",100,!1),this.trackProgress(t,!0)},this.transferDone=(t,e,i)=>{this.updateValueInMap(e,"status",i,!1),this.updateValueInMap(e,"uploaded",!0,!1);try{const i=JSON.parse(t.response);this.updateValueInMap(e,"url",i.url)}catch(t){this.updateValueInMap(e,"url",null),console.error("Server did not respond with expected response {url: string}")}},this.transferDoneWithFailure=(t,e,i)=>{try{const{error:i}=JSON.parse(t.response);this.updateValueInMap(e,"error",{message:i.message,type:i.type},!1)}catch(t){console.error("Server did not respond with expected response error:{message: string, type: int}"),this.updateValueInMap(e,"error",{type:i},!1)}this.updateValueInMap(e,"valid",!1,!0)},this.transferFailed=t=>{this.updateValueInMap(t,"error",q("duet-upload-001",this.errorCodes))},this.transferCanceled=t=>{this.files.delete(t),this.validateTotals(t),this.kick()},this.validateTotals=t=>{const e=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&t.size&&(i+=t.size)})),i>=e))})(0,this.maxBytesTotal),i=((t,e)=>{let i=0;return!!(e&&(this.files.forEach((t=>{t.valid&&i++})),i>=e))})(0,this.maxFiles);return e&&t&&this.updateValueInMap(t,"error",q("duet-upload-202",this.errorCodes),!1),i&&t&&this.updateValueInMap(t,"error",q("duet-upload-301",this.errorCodes),!1),this.bytesMaxReached=e,this.fileMaxReached=i,{bytesMaxReached:e,fileMaxReached:i}},this.uploadFile=async(t,e=!1,i)=>{!e&&this.deferUpload?(this.updateValueInMap(t.item.name,"pending",!0,!1),this.updateValueInMap(t.item.name,"group","pending",!0)):e&&(this.updateValueInMap(t.item.name,"pending",!1,!1),this.updateValueInMap(t.item.name,"group",void 0,!0));try{if(!this.deferUpload||e){const e=new FormData;e.append("file",t.item),i&&e.append("key",i),e.append("uid",t.uid),e.append("name",t.item.name),e.append("metadata",JSON.stringify({uid:t.uid,url:this.uri,size:t.item.size,meta:t.meta})),t.xhr=await this.makeXHRPostRequest(e)}}catch(e){this.updateValueInMap(t.item.name,"valid",!1,!1)}},this.uploadPendingFiles=()=>{for(const[t,e]of Array.from(this.files.entries()))"pending"===e.group&&!0===e.pending&&this.uploadFile(e,!0,t)},this.getItemFromUID=t=>{for(const[e,i]of Array.from(this.files.entries()))if(i.uid===t)return{value:i,key:e};return null},this.handleExternalUploadButton=(t,e)=>{this.externalUploadButton&&(this.externalUploadButton.disabled=!(!t&&!e))},this.onDelete=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();this.handleExternalUploadButton(n,s),this.kick(),this.duetDelete.emit({originalEvent:e,data:{deletion:a},component:"duet-upload"}),this.external||a.pending||this.makeXHRDeleteRequest(a),this.resetFormFields()},this.onCancel=(t,e)=>{const i=this.getItemFromUID(t).key,a=this.files.get(i);this.files.delete(i);const{bytesMaxReached:n,fileMaxReached:s}=this.validateTotals();if(this.handleExternalUploadButton(n,s),!this.external){const{xhr:t}=a;t&&t.abort()}this.kick(),this.resetFormFields(),this.duetCancel.emit({originalEvent:e,data:{cancelled:a},component:"duet-upload"})},this.onUpload=(t,e)=>{this.duetUpload.emit({originalEvent:t,metaData:e,component:"duet-upload"})},this.onBlur=t=>{this.duetBlur.emit({originalEvent:t,component:"duet-upload"})},this.onProgress=(t,e,i)=>{this.duetChange.emit({originalEvent:i,data:{key:t,percentComplete:e},component:"duet-upload"})},this.onFocus=t=>{this.duetFocus.emit({originalEvent:t,component:"duet-upload"})},this.onReady=()=>{this.duetReady.emit({component:"duet-upload"})},this.onDone=()=>{this.duetDone.emit({component:"duet-upload",data:{files:this.files}})},this.filterMap=()=>{const t=Array.from(this.files.values()),e=[],i=[],a=[],n=[];let s=!1;return t.forEach((t=>{const o=this.getGroupFromItemData(t);t.meta&&t.meta.badges&&(s=!0),o===this.DefaultGroups.success?n.push({uid:t.uid,data:t}):o===this.DefaultGroups.inprogress?e.push({uid:t.uid,data:t}):o===this.DefaultGroups.pending?a.push({uid:t.uid,data:t}):o===this.DefaultGroups.failure?i.push({uid:t.uid,data:t}):t.group&&e.push({uid:t.uid,data:t})})),{pending:a,failure:i,success:n,inprogress:e,hasCategory:s}},this.getActions=(t,e)=>e.filter((e=>e.map.includes(t))),this.renderUploadedItems=()=>{this.itemRefs.clear();const e=this.filterMap(),i=e.hasCategory,a=this.hideCancelButton?this.actions.filter((t=>"cancel"!==t.name)):this.actions,n=this.groups.map((n=>{const o=e[n.id];if(null==o?void 0:o.length)return t(s,null,!this.hideGroups&&t(K,{categoryLabel:i?this.categoryLabel:void 0,label:n.label}),o.map((t=>this.mapFilesToUploadItems(t.data,n.id,i,a))))}));return t(s,null,this.showUploadedItemsHeader&&t(K,{categoryLabel:i?this.categoryLabel:void 0,label:this.uploadedItemsHeaderLabel}),n)}}watchValidHandler(t,e){t!==e&&this.kick()}componentWillLoad(){this.internalStatusMessageLabel="string"==typeof this.statusMessageLabel?b(this.groups):this.statusMessageLabel,o(this),this.listenForActionEvents(),this.onReady(),this.externalUploadButton=document.querySelector(`#${this.externalUploadButtonId}`),this.processedButtonTitles=W(this.actionButtonTitles)}componentWillRender(){this.verifyValidity()}async setFocus(t){this.nativeInput&&this.nativeInput.focus(t)}async upload(t){const{bytesMaxReached:e,fileMaxReached:i}=this.validateTotals();if(e||i)return this.handleExternalUploadButton(e,i),void this.kick();this.metaData=t,this.nativeInput.click()}async uploadPending(){this.uploadPendingFiles()}async refresh(){this.kick(),await this.setFocus()}async getFiles(){return!(!this.files||0===this.files.size)&&this.getFilesAsArray()}async updateValue(t,e,i){this.updateValueInMap(t,e,i)}async focusActionButton(t){var e;await(null===(e=this.itemRefs.get(t))||void 0===e?void 0:e.focusActionButton())}render(){const e=this.identifier||this.uploadId,i=Math.round((this.maxBytesTotal?this.maxBytesTotal:this.maxBytes*this.maxFiles)/1024/1024),n=Math.round(this.maxBytes/1024/1024);let o=this.description.replace(/{maxfiles}/g,this.maxFiles.toString());return o=o.replace(/{maxbytes}/g,`${n.toString()} MB`),o=o.replace(/{maxbytestotal}/g,`${i.toString()} MB`),o=o.replace(/{filetypes}/g,this.allowedExtensions.split(",").join(", ")),this.externalUploadButton&&(this.externalUploadButton.accessibleLabel=`${this.externalUploadButton.innerText}. ${o}`),t(a,{key:"027dcff01c8c5aef8445a0ed996aa5ad3e854b5e",class:{"duet-m-0":"none"===this.margin}},t("duet-fieldset",{key:"47ed56bd728ba7c100e5d68dd71f727b6e6b2a4d","label-heading-level":this.headerHeadingLevel,"label-hidden":this.hideHeader,label:this.label},t("slot",{key:"63328b6f03549224f711b858cbb5e95665bbdef9",name:"header"}),!this.files.size&&t("duet-empty-state",{key:"88492085957485c18c6ba40b767b87c89ff89fd2",id:this.labelId,part:this.identifier?`${this.identifier}-empty-state`:"duet-upload-empty-state",icon:"messaging-attachment"},t("duet-paragraph",{key:"2cbe2581b60800f93dafe93e63c67d9ac826737c",margin:"none"},this.fileListEmpty)),!!this.files.size&&t("slot",{key:"2bf2901abf2934c09cfeca8514ddfec09f48e82a",name:"fileheader"}),!!this.files.size&&t("duet-upload-aria-status",{key:"2ac21565dbd47cfbf9954b03e4404c018871c85c",invalid:this.getFilesAsArray().invalid.length,valid:this.getFilesAsArray().valid.length,inprogress:this.filesInProgress.size,total:this.files.size,statusMessageLabel:this.internalStatusMessageLabel}),!!this.files.size&&this.renderUploadedItems(),!!this.files.size&&t("slot",{key:"7eb58ca2a63237ee9d22f4ce8136c7bf4bd90f41",name:"filefooter"}),t("slot",{key:"36bc35eb74e40102333469dadda4ac75a77ebd90",name:"uploadfooter"}),this.captionOnBottom&&t("duet-caption",{key:"c6465f63ef97ab6cb78af308da6c4c2528b911e0",margin:"none",size:"small"},t("div",{key:"d189b328248cf862a920d1e542a18546b0b76b94",class:"upload-bottom-caption"},o)),t("slot",{key:"87c92c6cac9b662315a12218e848a54b74094cec",name:"afterfooter"}),!this.hideButton&&t(s,{key:"89ba989869f8286e58f01704ef5339ab23106761"},t("duet-spacer",{key:"5c4dc126f197421e5c62edf556f9ef967df4cf89",size:"large"}),t("duet-button",{key:"67c4e90266831664dbd7aae7fb1792460013cee3",id:this.buttonId,onClick:this.startUpload,"accessible-controls":e,disabled:this.fileMaxReached,"accessible-label":this.accessibleButtonLabel||`${this.buttonLabel}. ${o}`,"accessible-owns":e,size:"small",variation:"secondary",fixed:!0,icon:"action-add-circle",part:this.identifier?`${this.identifier}-button-upload`:"duet-upload-button-upload"},this.buttonLabel)),(this.fileMaxReached||this.bytesMaxReached||this.filesToUploadExceedsLimit||this.filesToUploadTotalSizeIsAboveMax)&&t(s,{key:"2984ff475257e2ed17b964aa6113e6592809996a"},t("duet-spacer",{key:"3400a7c832dceb6f04c6a1efc9f69bc764004cc7",size:"medium"}),t("duet-alert",{key:"22bb6896cec80f0468dd34bb2ff29d20ccb474a9",part:this.identifier?`${this.identifier}-error-notification`:"duet-upload-error-notification"},this.fileMaxReached&&q("duet-upload-301",this.errorCodes),this.bytesMaxReached&&q("duet-upload-202",this.errorCodes),this.filesToUploadExceedsLimit&&q("duet-upload-302",this.errorCodes),this.filesToUploadTotalSizeIsAboveMax&&q("duet-upload-203",this.errorCodes))),t("duet-visually-hidden",{key:"f6871858e8e2e13839f9898cf340951616c81595","aria-hidden":"true"},t("input",{key:"faa902cc6425f28c15c89a0f95c1c7ce69ec8b6b",ref:t=>{this.nativeInput=t},accept:this.limitSelection?`${this.allowedMimetypes},${this.allowedExtensions}`:void 0,onBlur:this.onBlur,onFocus:this.onFocus,onChange:t=>this.onChange(t),type:"file",class:{"duet-upload":!0},disabled:this.disabled,"aria-hidden":"true",required:this.required,name:this.name,id:this.identifier,multiple:this.multiple,tabIndex:-1}))))}makeXHRPostRequest(t){const e=new XMLHttpRequest,i=t.get("name");e.upload.addEventListener("progress",(t=>{this.updateProgress(t,i)})),e.upload.addEventListener("load",(()=>{this.transferComplete(i)})),e.upload.addEventListener("error",(()=>{this.transferFailed(i)})),e.upload.addEventListener("abort",(()=>{this.transferCanceled(i)}));let a={payload:{data:t,name:i},options:{type:"POST",uri:this.uri,xhr:e,argument:null,headers:void 0},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(a=this.middleware(a)),Q(a)}makeXHRDeleteRequest(t){const{uid:e,item:i}=t,a=new XMLHttpRequest;let n={payload:{data:null,name},options:{type:"DELETE",xhr:a,uri:this.uri,argument:`?key=${e}&name=${i.name}`,headers:{"x-fileuid":e,"x-filename":i.name}},onFailure:this.transferDoneWithFailure,onSuccess:this.transferDone,onProgress:this.trackProgress};return this.middleware&&(n=this.middleware(n)),Q(n)}escapeSpecialCharacters(t){return(t+"").replace(/[\\"'(){}\[\]*?$^+]/g,"\\$&").replace(/\u0000/g,"\\0")}getRenamedFileName(t,e){const i=new RegExp(`${this.escapeSpecialCharacters(t)} \\(\\d+\\).${e}`),a=Array.from(this.files.entries()).map((t=>{const[e,i]=t;return e})).filter((a=>i.test(a)||a===`${t}.${e}`)).sort(((t,e)=>t.split(".").slice(0,-1).join(".")>e.split(".").slice(0,-1).join(".")?1:-1)).pop().split(".").slice(0,-1).join(".");if(a===t)return`${t} (1).${e}`;const n=parseInt(a.split("(").pop().slice(0,-1));return`${t} (${n+1}).${e}`}renameFiles(t){return t.map((t=>{if(this.files.get(t.name)){const e=t.name.split("."),i=e.pop(),a=e.join("."),n=this.getRenamedFileName(a,i);return new File([t],n,{type:t.type,lastModified:t.lastModified})}return t}))}async onChange(t){var e;let i=Array.from(null===(e=this.nativeInput)||void 0===e?void 0:e.files);if(this.filesToUploadExceedsLimit=!1,this.files.size+i.length>this.maxFiles)return this.filesToUploadExceedsLimit=!0,void this.kick();if(this.filesToUploadTotalSizeIsAboveMax=!1,((t,e,i)=>{let a=0;return!!(i&&(this.files.forEach((t=>{t.valid&&t.size&&(a+=t.size)})),e.forEach((t=>{t.size&&(a+=t.size)})),a>=i))})(0,i,this.maxBytesTotal))return this.filesToUploadTotalSizeIsAboveMax=!0,void this.kick();if(i){this.renameDuplicates&&(i=this.renameFiles(i));for(const t of i){const{valid:e,errorMessage:i,errorType:a,errorSystem:n}=G(t,{maxBytes:this.maxBytes,allowedExtensions:this.allowedExtensions,allowedMimetypes:this.allowedMimetypes},this.errorCodes),s={uid:this.genHashName(),item:t,size:t.size,meta:this.metaData,uploaded:!1,valid:e,error:{type:e?void 0:a,message:e?void 0:i,system_message:e?void 0:n},progress:0,deleted:!1,xhr:!1,url:!1};this.files.set(t.name,s),e&&!this.external?await this.uploadFile(s):e&&this.external?(this.updateValueInMap(s.item.name,"pending",!0,!1),this.updateValueInMap(s.item.name,"group","pending",!0)):e||this.updateValueInMap(t.name,"valid",!1,!0),this.kick()}}this.resetFormFields(),this.metaData=void 0,this.duetChange.emit({originalEvent:t,data:{files:this.files},component:"duet-upload"})}get element(){return n(this)}static get watchers(){return{valid:["watchValidHandler"]}}};Z.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}::slotted([slot=header]){margin-bottom:16px}::slotted([slot=fileheader]){margin:16px 0 0 0}::slotted([slot=filefooter]){margin-top:16px}::slotted([slot=uploadfooter]){margin-top:20px}.duet-upload{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}.duet-upload-item-size{font-size:0.75rem;font-weight:400}.duet-upload-filelist{margin-bottom:25px}.duet-upload-filelist-empty{display:flex;align-items:center;justify-content:center;width:100%;height:75px;margin:0 auto;font-size:1rem;font-weight:400;background-color:rgb(245, 248, 250)}.duet-upload-filelist-empty-label{font-size:1rem;font-weight:400}.duet-upload-editable-table-header-hidden{display:none}.duet-upload-editable-table tbody .duet-upload-editable-table-data{padding:0 !important;border:0}.duet-upload-editable-table duet-editable-table tfoot,.duet-upload-editable-table duet-editable-table thead{display:none}.duet-upload-editable-table duet-editable-table .duet-editable-table-content{padding-right:0 !important;padding-left:0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td{padding:1rem 0 !important}.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child{padding-right:0 !important}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending{position:relative}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-progress,.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-progress{position:absolute;bottom:0;width:100%}.duet-upload-editable-table duet-editable-table .duet-editable-table-row-inprogress duet-action-button::part(button),.duet-upload-editable-table duet-editable-table .duet-editable-table-row-pending duet-action-button::part(button){border:0}duet-paragraph::part(duet-paragraph){word-break:break-word}duet-editable-table tfoot{display:none}.upload-bottom-caption{margin-top:12px;margin-bottom:16px;line-height:1.4rem}.items-header{display:none;flex-direction:row;margin-bottom:0}@media (min-width: 36em){.items-header{display:flex}}.items-header:not(:last-child),.items-header:not(:first-child){margin-top:12px}.items-header .category-header{width:35%}.items-header .filename-header{width:65%}.items-header .filename-header.no-category{width:100%}.upload-item-row{display:flex;flex-direction:column;gap:16px;align-content:center;align-items:center;padding:16px 0 16px 0;border-bottom:1px solid rgb(212, 223, 229)}@media (min-width: 36em){.upload-item-row{flex-direction:row;gap:10px}}.upload-item-row .item-categories{width:100%}@media (min-width: 36em){.upload-item-row .item-categories{width:35%}}.upload-item-row .item-name{position:relative;bottom:2px;width:100%;text-align:left}@media (min-width: 36em){.upload-item-row .item-name{width:50%}.upload-item-row .item-name.no-category{width:85%}}.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:block}@media (min-width: 36em){.upload-item-row .item-categories .heading,.upload-item-row .item-name .heading{display:none}}.upload-item-row .item-actions{width:100%;margin-left:-8px;text-align:left}@media (min-width: 36em){.upload-item-row .item-actions{width:15%;padding-top:0;margin-left:auto;text-align:right}}.upload-item-row .duet-upload-item-name duet-icon{position:relative;top:4px}.upload-item-row .duet-upload-item-name duet-progress{display:block;margin-top:16px}";export{I as duet_editable_table,V as duet_table,Z as duet_upload}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{r as t,h as e,H as n,g as i,F as o}from"./p-D01wpYGA.js";import{i as a}from"./p-Brp9BZK6.js";import{s as r}from"./p-C6E9F6QT.js";import{g as d}from"./p-De8V1Ewb.js";import{g as l}from"./p-DvwKrUS6.js";import{n as u}from"./p-vVCYtBMj.js";import{a as s,f as h}from"./p-8RjiAqaE.js";import{g as c}from"./p-EzuzdWgU.js";import{a as p,g as m,c as b,d as g}from"./p-udt4OnI3.js";import{c as k}from"./p-Cfr_DJqU.js";import"./p-BzrE0-hp.js";import"./p-B0U815Vi.js";const v=class{constructor(e){t(this,e),this.theme="",this.margin="auto",this.selected=!1,this.size="medium"}componentWillLoad(){a(this)}render(){return e(n,{key:"6536dfff2137c85741a34401a550ecd205ba897a",class:{"duet-caption":!0,"duet-caption-selected":this.selected,"duet-caption-small":"small"===this.size,"duet-theme-turva":"turva"===this.theme,"duet-m-0":"none"===this.margin}},e("slot",{key:"61789c613b54670e42ca147df64c22c5896d7cec"}))}get element(){return i(this)}};v.style=':host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:16px !important;display:flex;flex:0 0 100%;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:1rem;font-weight:400;line-height:1.5;vertical-align:top;color:rgb(98, 121, 138)}:host.duet-p-0{padding:0 !important}:host.duet-m-0{margin:0 !important}:host(.duet-caption-small){font-size:0.875rem;line-height:1.25}:host(.duet-theme-turva){font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(72, 100, 122)}:host(.duet-caption-selected){color:rgb(0, 119, 179)}:host(.duet-caption-selected.duet-theme-turva){color:rgb(23, 42, 59)}:host(.duet-m-0){margin:0 !important}:host(.duet-theme-turva2.duet-caption-selected.duet-theme-turva){color:rgb(23, 42, 59)}';const x=class{constructor(e){t(this,e),this.level="h2",this.margin="auto",this.border=!1,this.weight="auto",this.color="",this.theme="",this.hyphenate=!1,this.fixedSize=!1}componentWillLoad(){a(this)}render(){const t=r(this.level),n=d(this.color);return e(t,{key:"da445e961c7a06c19d0a0522e4af2814b0ae9aa4",class:{"duet-heading":!0,"duet-heading-border":!1!==this.border,"duet-heading-border-solid":"solid"===this.border,"duet-normal":"normal"===this.weight,"duet-semibold":"semibold"===this.weight,"duet-heading-hyphenate":this.hyphenate,"duet-m-0":"none"===this.margin,[this.visualLevel?this.visualLevel:this.level]:!0,"duet-theme-turva":"turva"===this.theme,"fixed-size":this.fixedSize},"aria-label":this.accessibleLabel,style:{color:n},part:"duet-heading"},e("slot",{key:"7fffcae52939a894fd8c5ee37d67fccbbd0b4f16"}))}get element(){return i(this)}};var f,w;x.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;position:relative;display:block;width:100%}.duet-heading{margin-bottom:16px !important;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-style:normal;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(8, 42, 77);letter-spacing:-0.01rem;word-break:break-word;text-wrap:balance;text-decoration:none}@media (min-width: 36em){.duet-heading{margin-bottom:20px !important}}.duet-heading.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-style:italic;font-weight:700;color:rgb(23, 42, 59)}.duet-heading.duet-heading-border{padding-bottom:20px;border-bottom:1px solid rgb(212, 223, 229)}.duet-heading.duet-heading-border.duet-heading-border-solid{border-bottom-color:rgb(98, 121, 138)}.duet-heading.duet-heading-hyphenate{-webkit-hyphens:auto;hyphens:auto}.duet-heading.h0{font-size:9.4vw;line-height:1.1}.duet-heading.h0.duet-p-0{padding:0 !important}.duet-heading.h0.duet-m-0{margin:0 !important}@media (max-width: 31.914893617rem){.duet-heading.h0{font-size:3rem}}@media (min-width: 47.8723404255rem){.duet-heading.h0{font-size:4.5rem}}@media (max-width: 22.5em){.duet-heading.h0{font-size:2.25rem}}.duet-heading.h0.fixed-size{font-size:4.5rem}.duet-heading.h1{font-size:7vw;line-height:1.1}.duet-heading.h1.duet-p-0{padding:0 !important}.duet-heading.h1.duet-m-0{margin:0 !important}@media (max-width: 32.1428571429rem){.duet-heading.h1{font-size:2.25rem}}@media (min-width: 42.8571428571rem){.duet-heading.h1{font-size:3rem}}@media (max-width: 22.5em){.duet-heading.h1{font-size:1.5rem}}.duet-heading.h1.fixed-size{font-size:3rem}.duet-heading.h2{font-size:5.8vw;line-height:1.1}.duet-heading.h2.duet-p-0{padding:0 !important}.duet-heading.h2.duet-m-0{margin:0 !important}@media (max-width: 25.8620689655rem){.duet-heading.h2{font-size:1.5rem}}@media (min-width: 38.7931034483rem){.duet-heading.h2{font-size:2.25rem}}.duet-heading.h2.duet-theme-turva{font-style:normal}@media (max-width: 22.5em){.duet-heading.h2{font-size:1.375rem}}.duet-heading.h2.fixed-size{font-size:2.25rem}.duet-heading.h3{margin-bottom:12px !important;font-size:4.2vw}.duet-heading.h3.duet-p-0{padding:0 !important}.duet-heading.h3.duet-m-0{margin:0 !important}@media (max-width: 29.7619047619rem){.duet-heading.h3{font-size:1.25rem}}@media (min-width: 35.7142857143rem){.duet-heading.h3{font-size:1.5rem}}.duet-heading.h3.duet-theme-turva{font-style:normal}.duet-heading.h3.duet-heading-border{padding-bottom:20px}.duet-heading.h3.fixed-size{font-size:1.5rem}.duet-heading.h4{margin-bottom:8px !important;font-size:4vw;letter-spacing:0}.duet-heading.h4.duet-p-0{padding:0 !important}.duet-heading.h4.duet-m-0{margin:0 !important}@media (max-width: 27.5rem){.duet-heading.h4{font-size:1.1rem}}@media (min-width: 31.25rem){.duet-heading.h4{font-size:1.25rem}}.duet-heading.h4.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h4.duet-heading-border{padding-bottom:20px}.duet-heading.h4.fixed-size{font-size:1.25rem}.duet-heading.h5{margin-bottom:8px !important;font-size:4vw;font-weight:600;letter-spacing:0}.duet-heading.h5.duet-p-0{padding:0 !important}.duet-heading.h5.duet-m-0{margin:0 !important}@media (max-width: 27.5rem){.duet-heading.h5{font-size:1.1rem}}@media (min-width: 28.4090909091rem){.duet-heading.h5{font-size:1.1363636364rem}}.duet-heading.h5.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h5.duet-heading-border{padding-bottom:16px}.duet-heading.h5.fixed-size{font-size:1.25rem}.duet-heading.h6{margin-bottom:8px !important;font-size:1rem;font-weight:600;letter-spacing:0}.duet-heading.h6.duet-p-0{padding:0 !important}.duet-heading.h6.duet-m-0{margin:0 !important}.duet-heading.h6.duet-theme-turva{font-style:normal;font-weight:700}.duet-heading.h6.duet-heading-border{padding-bottom:16px}.duet-heading.duet-normal,.duet-heading.duet-theme-turva.duet-normal{font-style:normal !important;font-weight:400 !important}.duet-heading.duet-semibold,.duet-heading.duet-theme-turva.duet-semibold{font-style:normal !important;font-weight:600 !important}:host(.duet-theme-turva2) .duet-heading.duet-theme-turva{font-style:normal !important;color:rgb(23, 42, 59)}';var y,z,_,S,j=l(w?f:(w=1,f={title:"action-arrow-right",tags:"action arrow right caret",svg:'<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img"><path d="M5.499 24a.752.752 0 0 1-.53-1.281L15.689 12 4.969 1.28c-.142-.141-.22-.33-.22-.53s.078-.389.22-.53c.141-.142.33-.22.53-.22s.389.078.53.22l10.72 10.72a1.5 1.5 0 0 1 .001 2.119L6.029 23.78a.743.743 0 0 1-.53.22z"/></svg>'})),U=l(z?y:(z=1,y={title:"action-download-small",tags:"action download arrow down small",svg:'<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img"><path d="M13.193 1.7c0-.658-.542-1.2-1.2-1.2-.657 0-1.199.542-1.199 1.2v8.922l-2.778-2.6a1.2 1.2 0 0 0-1.64 1.751l4.797 4.498c.458.43 1.183.43 1.64 0l4.798-4.498c.242-.228.379-.544.379-.875a1.2 1.2 0 0 0-2.02-.876l-2.777 2.603V1.699Z"/><path d="M1.5 13.544a1.5 1.5 0 0 1 1.498 1.5v1.498a1.61 1.61 0 0 0 .418 1.096h-.003c0-.002.036.032.13.082.39.194.818.305 1.254.321H19.19a3.085 3.085 0 0 0 1.255-.32c.096-.051.13-.085.13-.085.27-.3.42-.69.414-1.096v-1.5c0-.822.677-1.498 1.5-1.498.822 0 1.499.676 1.499 1.499v1.499c0 1.16-.43 2.293-1.224 3.142-.518.557-1.235.876-1.791 1.056a5.976 5.976 0 0 1-1.783.302H4.797a6.053 6.053 0 0 1-1.782-.302c-.556-.18-1.274-.5-1.792-1.056A4.613 4.613 0 0 1 0 16.542v-1.499a1.5 1.5 0 0 1 1.5-1.499Z"/></svg>'})),A=l(S?_:(S=1,_={title:"action-new-window",tags:"arrow open new window tab external link square box rectangle action",svg:'<svg fill="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img"><path d="M10.25 2a.75.75 0 1 1 0 1.5h-6.5A2.252 2.252 0 0 0 1.5 5.75v14.5a2.252 2.252 0 0 0 2.25 2.25h14.5a2.252 2.252 0 0 0 2.25-2.25v-6.5a.75.75 0 0 1 1.5 0v6.5A3.754 3.754 0 0 1 18.25 24H3.75A3.754 3.754 0 0 1 0 20.25V5.75A3.754 3.754 0 0 1 3.75 2zm12.985-2c.1 0 .198.02.29.058l.025.011a.726.726 0 0 1 .15.091l.066.059a.755.755 0 0 1 .109.138l.051.1c.04.092.06.192.06.293l-.001 6.363c0 .2-.078.389-.22.53a.743.743 0 0 1-.53.22.743.743 0 0 1-.53-.22.743.743 0 0 1-.22-.53V2.559L15.28 9.764a.75.75 0 0 1-1.06-1.06l7.204-7.205h-4.553a.744.744 0 0 1-.75-.75c0-.2.078-.388.22-.53A.743.743 0 0 1 16.87 0z"/></svg>'}));const I=class{constructor(e){t(this,e),this.variation="default",this.language=p(),this.accessibleLabelExternalDefaults=s,this.accessibleLabelExternal=m(this.accessibleLabelExternalDefaults),this.accessibleLabelDownloadDefaults=h,this.accessibleLabelDownload=m(this.accessibleLabelDownloadDefaults),this.accessiblePopup="false",this.theme="",this.url="#",this.external=!1,this.download=null,this.tabToLink=!1,this.iconColor="currentColor",this.iconBackground=null,this.iconResponsive=!1,this.margin="auto",this.padding="auto",this.isMediumScreen=!1}componentWillLoad(){a(this),this.resolvedDownload=this.resolveDownload(),"button"===this.variation&&"#"===this.url&&(this.url=void 0)}connectedCallback(){b(this,{prop:"accessibleLabelExternal",defaults:"accessibleLabelExternalDefaults"}),this.setAriaLabel(),this.mutationObserver=new MutationObserver(this.setAriaLabel.bind(this)),this.mutationObserver.observe(this.element,{subtree:!0,childList:!0,characterData:!0})}disconnectedCallback(){g(this),this.mutationObserver&&this.mutationObserver.disconnect()}async setFocus(t){this.nativeLink.focus(t)}setAriaLabel(){setTimeout((()=>{this.ariaLabel=this.url&&c(this)||this.accessibleLabel}))}resolveDownload(){return""===this.download?this.url.split("/").pop():this.download}renderDefaultContent(){return e(o,null,e("span",{class:"duet-link-content",part:"duet-link-content"},e("slot",null)),(this.resolvedDownload||this.external)&&"default"===this.variation&&e(o,null,e("span",{class:"duet-link-icon-tail"}," ",e("duet-icon",{icon:this.resolvedDownload?U.svg:u.svg,size:"xx-small",margin:"none",color:"currentColor"}))))}renderBlockContent(){return e(o,null,this.icon&&e("span",{class:"block__icon"},e("duet-icon",{class:this.iconResponsive?"icon-responsive":"",size:"auto",name:this.icon,margin:"none",color:this.iconColor})),e("span",{class:"block__content"},this.renderDefaultContent()),e("span",{class:"block__chevron",part:"block-chevron"},e("duet-icon",{class:"block__chevron-icon",icon:this.external?A.svg:j.svg,size:"x-small",margin:"none",color:"primary"})))}renderButtonCardContent(){const t={"background-color":d(this.iconBackground,this.theme)};return e(o,null,this.icon&&e("span",{class:"icon-wrap",style:t},e("duet-icon",{size:"auto",name:this.icon,margin:"none",color:this.iconColor})),e("div",{class:"duet-link-content",part:"duet-link-content"},e("slot",null)),e("span",{class:"chevron-wrap"},e("duet-icon",{class:"block__chevron-icon",icon:this.external?A.svg:j.svg,size:"x-small",margin:"none",color:"primary-dark"})))}renderArticleListContent(){return e("div",{class:"duet-link-content-wrap"},this.iconBackground&&e("div",{class:"duet-link-bullet",style:{background:d(this.iconBackground,this.theme)}}),e("span",null,e("span",{class:"duet-link-content",part:"duet-link-content"},e("slot",null)),(this.resolvedDownload||this.external)&&e(o,null,e("span",{class:"duet-link-icon-tail"}," ",e("duet-icon",{icon:this.resolvedDownload?U.svg:u.svg,size:"xx-small",margin:"none",color:"currentColor"}))),e("span",{class:"duet-link-meta"},e("slot",{name:"meta"}))))}renderContent(){switch(this.variation){case"default":return this.renderDefaultContent();case"block":case"block-center":return this.renderBlockContent();case"button":case"list-button":case"card":return this.renderButtonCardContent();case"article-list":return this.renderArticleListContent()}}render(){const t=this.url||"default"===this.variation?"a":"button",i=this.url||"default"!==this.variation?null:"button",o="button"===t;return e(n,{key:"63ea212c967fed116f28d316bf7b4dc6f7bed88d",class:{[`duet-link-${this.variation}`]:!0,"duet-m-0":"none"===this.margin}},e(t,{key:"c799db0446fbca186340c781f23ccecaf58e4336",href:this.url,class:{"duet-link":!0,"duet-link-is-external":this.external,"duet-link-is-download":!!this.download,"duet-link-has-icon":!!this.icon,"duet-link-has-icon-background":!!this.iconBackground,"duet-tab-to-link":this.tabToLink,"duet-theme-turva":"turva"===this.theme,"duet-p-0":"none"===this.padding,[this.padding]:!0,[this.variation]:!0},target:this.download||!this.url?null:this.external?"_blank":"_self",download:this.resolvedDownload,"aria-label":this.ariaLabel,"aria-expanded":null!=this.accessibleExpanded&&o?this.accessibleExpanded.toString():void 0,"aria-haspopup":null!=this.accessiblePopup&&o?this.accessiblePopup.toString():void 0,id:this.identifier,ref:t=>this.nativeLink=t,part:"duet-link",rel:this.external?"noopener":void 0,role:i},this.renderContent()))}static get delegatesFocus(){return!0}get element(){return i(this)}static get watchers(){return{download:["setAriaLabel"],external:["setAriaLabel"],language:["setAriaLabel"]}}};I.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:inline}:host(.duet-link-block){display:block}:host(.duet-link-button){margin-right:8px !important;margin-bottom:12px !important;display:inline-block;width:100%}:host(.duet-link-button):last-child,:host(.duet-link-button):last-of-type{margin-right:0 !important}[alignment=form-distribute]>:host(.duet-link-button):last-of-type:not(:last-child){margin-right:8px !important}:host(.duet-m-0){margin:0 !important}.duet-link{display:inline;font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-style:normal;font-weight:400;color:rgb(0, 97, 155);text-decoration:underline;border-radius:4px;transition:300ms ease}.duet-link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-link:focus,.duet-link:focus.duet-theme-turva,.duet-theme-turva2 .duet-link:focus,.duet-link:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-link.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(185, 3, 41)}.duet-link:hover{color:rgb(0, 75, 129);text-decoration:none}.duet-link:hover.duet-theme-turva{color:rgb(140, 0, 30)}.duet-link:active{opacity:0.75;transition:none}button{font-size:inherit;cursor:pointer}.duet-link-is-external.duet-link:not(.block,.button,.card,.article-list),.duet-link-is-download.duet-link:not(.block,.button,.card,.article-list){text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button,.card,.article-list) .duet-link-content,.duet-link-is-download.duet-link:not(.block,.button,.card,.article-list) .duet-link-content{text-decoration:underline}.duet-link-is-external.duet-link:not(.block,.button,.card,.article-list):hover>.duet-link-content,.duet-link-is-download.duet-link:not(.block,.button,.card,.article-list):hover>.duet-link-content{text-decoration:none}.duet-link-is-external.duet-link:not(.block,.button,.card,.article-list) .duet-link-icon-tail,.duet-link-is-download.duet-link:not(.block,.button,.card,.article-list) .duet-link-icon-tail{white-space:nowrap;text-decoration:none}.duet-tab-to-link{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:rgb(0, 119, 179);text-align:center;text-decoration:none;background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:none}.duet-tab-to-link.duet-theme-turva{min-width:120px;color:rgb(23, 42, 59)}@media (min-width: 106.25em){.duet-tab-to-link{margin-left:20px}}.duet-tab-to-link:focus{top:12px;left:20px;width:auto;height:auto;opacity:1}.block.duet-link,.block-center.duet-link{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:16px;font-weight:600;color:rgb(8, 42, 77);text-decoration:none}.block.duet-link.duet-link-has-icon,.block-center.duet-link.duet-link-has-icon{grid-template-columns:auto 1fr auto}.block.duet-link.none,.block-center.duet-link.none{padding:0}.block.duet-link:hover .duet-link-content,.block-center.duet-link:hover .duet-link-content{color:rgb(0, 97, 155)}.block .block__icon,.block-center .block__icon{display:flex}.block .block__icon duet-icon,.block-center .block__icon duet-icon{width:16px;height:16px}.block .block__icon duet-icon.icon-responsive,.block-center .block__icon duet-icon.icon-responsive{width:30px;height:30px}@media (max-width: 22.5em){.block .block__icon duet-icon.icon-responsive,.block-center .block__icon duet-icon.icon-responsive{width:24px;height:24px}}.block .block__content,.block-center .block__content{position:relative;bottom:2px}.block .block__chevron,.block-center .block__chevron{align-self:center}.block .block__chevron-icon,.block-center .block__chevron-icon{transition:300ms ease}.block:not(.duet-link-is-external):hover .block__chevron-icon,.block-center:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}.block-center.duet-link{align-items:center}.block-center .block__content{position:static}.block-center .block__chevron{display:flex;align-items:center}.duet-link.button:not(.duet-link-has-icon-background) .icon-wrap duet-icon{width:20px;height:20px}.duet-link.button.duet-link-has-icon-background .icon-wrap duet-icon{width:20px;height:20px}@media (min-width: 48em){.duet-link.button.duet-link-has-icon-background .icon-wrap duet-icon{width:24px;height:24px}}.duet-link.button,.duet-link.list-button,.duet-link.card{display:flex;gap:12px;align-items:center;width:100%;min-height:48px;padding:14px 16px;line-height:1.25;text-decoration:none;background-color:rgb(255, 255, 255);border:solid 1px rgb(181, 198, 208);border-radius:12px;transition:all 300ms ease}.duet-link.button>*,.duet-link.list-button>*,.duet-link.card>*{flex-shrink:0}.duet-link.button .duet-link-content,.duet-link.list-button .duet-link-content,.duet-link.card .duet-link-content{flex-grow:1;flex-shrink:1;font-size:1rem;font-weight:600;color:rgb(8, 42, 77);text-align:left}.duet-link.button .icon-wrap,.duet-link.list-button .icon-wrap,.duet-link.card .icon-wrap{display:flex;align-items:center;justify-content:center}.duet-link.button .icon-wrap duet-icon,.duet-link.list-button .icon-wrap duet-icon,.duet-link.card .icon-wrap duet-icon{width:24px;height:24px}@media (min-width: 48em){.duet-link.button .icon-wrap duet-icon,.duet-link.list-button .icon-wrap duet-icon,.duet-link.card .icon-wrap duet-icon{width:30px;height:30px}}.duet-link.button .chevron-wrap,.duet-link.list-button .chevron-wrap,.duet-link.card .chevron-wrap{height:16px}.duet-link.button.duet-link-has-icon-background,.duet-link.list-button.duet-link-has-icon-background,.duet-link.card.duet-link-has-icon-background{min-height:60px;padding:12px;padding-right:20px;line-height:1.5}.duet-link.button.duet-link-has-icon-background .icon-wrap,.duet-link.list-button.duet-link-has-icon-background .icon-wrap,.duet-link.card.duet-link-has-icon-background .icon-wrap{width:36px;height:36px;border-radius:8px}.duet-link.button:hover,.duet-link.list-button:hover,.duet-link.card:hover{outline:2px solid rgb(0, 119, 179);border-color:rgb(0, 119, 179)}@media (min-width: 48em){.duet-link.button,.duet-link.list-button,.duet-link.card{min-height:50px}.duet-link.button.duet-link-has-icon-background,.duet-link.list-button.duet-link-has-icon-background,.duet-link.card.duet-link-has-icon-background{gap:16px;min-height:72px;border-radius:16px}.duet-link.button.duet-link-has-icon-background .icon-wrap,.duet-link.list-button.duet-link-has-icon-background .icon-wrap,.duet-link.card.duet-link-has-icon-background .icon-wrap{width:48px;height:48px;border-radius:12px}.duet-link.button.duet-link-has-icon-background .duet-link-content,.duet-link.list-button.duet-link-has-icon-background .duet-link-content,.duet-link.card.duet-link-has-icon-background .duet-link-content{font-size:1.1rem}}.duet-link.button.duet-theme-turva,.duet-link.list-button.duet-theme-turva,.duet-link.card.duet-theme-turva{border-color:rgb(178, 194, 205)}.duet-link.button.duet-theme-turva .duet-link-content,.duet-link.list-button.duet-theme-turva .duet-link-content,.duet-link.card.duet-theme-turva .duet-link-content{color:rgb(23, 42, 59)}.duet-link.button.duet-theme-turva:hover,.duet-link.list-button.duet-theme-turva:hover,.duet-link.card.duet-theme-turva:hover{outline-color:rgb(230, 23, 64);border-color:rgb(230, 23, 64)}.duet-link.button .block__chevron-icon,.duet-link.list-button .block__chevron-icon,.duet-link.card .block__chevron-icon{transition:300ms ease}.duet-link.button:not(.duet-link-is-external):hover .block__chevron-icon,.duet-link.list-button:not(.duet-link-is-external):hover .block__chevron-icon,.duet-link.card:not(.duet-link-is-external):hover .block__chevron-icon{transform:translateX(4px)}.duet-link.list-button{padding:20px 12px 20px 4px;margin-top:-1px;border:solid 1px rgb(181, 198, 208);border-width:1px 0;border-radius:0}.duet-link.list-button .icon-wrap duet-icon{width:20px;height:20px}@media (min-width: 48em){.duet-link.list-button .icon-wrap duet-icon{width:24px;height:24px}}.duet-link.list-button:hover{outline:0;border-color:rgb(181, 198, 208)}.duet-link.list-button:hover .duet-link-content{color:rgb(0, 119, 179)}.duet-link.list-button.duet-theme-turva .duet-link-content{color:rgb(23, 42, 59)}.duet-link.list-button.duet-theme-turva:hover{border-color:rgb(178, 194, 205)}.duet-link.list-button.duet-theme-turva:hover .duet-link-content{color:rgb(230, 23, 64)}.duet-link.card{border-color:rgb(228, 236, 239);box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07), 0 -1px 0 0 rgba(0, 0, 0, 0.09), -1px 0 0 0 rgba(0, 0, 0, 0.07), 1px 0 0 0 rgba(0, 0, 0, 0.07), 0 1px 0 0 rgba(0, 0, 0, 0.07)}.duet-link.card.duet-theme-turva{border-color:rgb(228, 233, 237);box-shadow:0 2px 6px 0 rgba(117, 117, 117, 0.13)}.duet-link.card:not(.duet-link-has-icon){gap:12px;padding:16px}.duet-link.card .chevron-wrap{display:flex;align-items:center;height:100%}.duet-link.card.duet-link-has-icon{gap:12px;align-items:flex-start;padding:16px}.duet-link.card.duet-link-has-icon .icon-wrap{width:48px;height:48px;border-radius:12px}.duet-link.card.duet-link-has-icon .chevron-wrap{height:48px}@media (min-width: 48em){.duet-link.card:not(.duet-link-has-icon){gap:20px;padding:24px}.duet-link.card.duet-link-has-icon{gap:20px;padding:24px}.duet-link.card.duet-link-has-icon .icon-wrap{width:62px;height:62px;border-radius:16px}.duet-link.card.duet-link-has-icon .chevron-wrap{height:62px}}.duet-link.article-list{display:block;padding:20px 0;margin-bottom:-1px;text-decoration:none;border:solid rgb(212, 223, 229);border-width:1px 0;border-radius:0}.duet-link.article-list .duet-link-content{font-weight:600;color:rgb(0, 75, 129)}.duet-link.article-list .duet-link-content-wrap{display:flex}.duet-link.article-list .duet-link-bullet{flex-shrink:0;width:8px;height:8px;margin-top:8px;margin-right:16px;border-radius:2px}.duet-link.article-list .duet-link-meta{display:block;margin-top:4px;font-weight:400;color:rgb(81, 105, 123)}.duet-link.article-list:focus .duet-link-content,.duet-link.article-list:hover .duet-link-content{color:rgb(0, 97, 155);text-decoration:underline}:host(.duet-theme-turva2) .duet-theme-turva.duet-link{color:rgb(185, 3, 41)}:host(.duet-theme-turva2) .duet-theme-turva.duet-link:hover{color:rgb(140, 0, 30)}:host(.duet-theme-turva2) .duet-theme-turva.duet-link.button,:host(.duet-theme-turva2) .duet-theme-turva.duet-link.list-button{border-color:rgb(178, 194, 205)}:host(.duet-theme-turva2) .duet-theme-turva.duet-link.button .duet-link-content,:host(.duet-theme-turva2) .duet-theme-turva.duet-link.list-button .duet-link-content{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-theme-turva.duet-link.button:hover{outline-color:rgb(230, 23, 64);border-color:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-theme-turva.duet-link.list-button:hover{border-color:rgb(178, 194, 205)}:host(.duet-theme-turva2) .duet-theme-turva.duet-link.list-button:hover .duet-link-content{color:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-theme-turva.duet-link.block,:host(.duet-theme-turva2) .duet-theme-turva.duet-link.block-center{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-theme-turva.duet-link.block .duet-link-content,:host(.duet-theme-turva2) .duet-theme-turva.duet-link.block-center .duet-link-content{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-theme-turva.duet-link.block:hover,:host(.duet-theme-turva2) .duet-theme-turva.duet-link.block-center:hover{color:rgb(185, 3, 41)}:host(.duet-theme-turva2) .duet-theme-turva.duet-link.block:hover .duet-link-content,:host(.duet-theme-turva2) .duet-theme-turva.duet-link.block-center:hover .duet-link-content{color:rgb(185, 3, 41)}:host(.duet-theme-turva2) .duet-theme-turva.duet-tab-to-link{color:rgb(23, 42, 59)}';const C=class{constructor(e){t(this,e),this.id=k("duet-paragraph"),this.inheritingParents=["duet-alert"],this.theme="",this.margin="auto",this.size="medium",this.weight=void 0,this.variation="default",this.color=""}componentWillLoad(){a(this)}render(){const t=d(this.color);return e(n,{key:"b685bc9743cf7835c8b3c42219d01776f68b36d8","aria-describedby":this.id},e("p",{key:"fab064d13421d92311b516ce3658c09f82a8e6a8",id:this.id,class:{"duet-paragraph":!0,"duet-paragraph-small":"small"===this.size,"duet-paragraph-semi-bold":"semi-bold"===this.weight,"duet-paragraph-bold":"bold"===this.weight,"duet-m-0":"none"===this.margin,[this.variation]:!0,"duet-theme-turva":"turva"===this.theme,"duet-inherit-color":!this.color&&this.inheritingParents.some((t=>this.element.closest(t)))},style:{color:t},part:"duet-paragraph"},e("slot",{key:"32a2fb093a12ade4b27b94047a87614645f2a128"})))}get element(){return i(this)}};C.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;position:relative;display:block;width:100%}.duet-paragraph{margin-bottom:16px !important;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:1rem;font-style:normal;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:rgb(8, 42, 77);-webkit-hyphens:auto;hyphens:auto}.duet-paragraph.duet-p-0{padding:0 !important}.duet-paragraph.duet-m-0{margin:0 !important}.duet-paragraph.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}.duet-paragraph.duet-inherit-color{color:inherit !important}.duet-paragraph.duet-paragraph-small{font-size:0.875rem}.duet-paragraph.duet-paragraph-semi-bold{font-weight:600}.duet-paragraph.duet-paragraph-bold{font-weight:700}.duet-paragraph.duet-m-0{margin:0 !important}.duet-paragraph.intro{font-size:2.7vw;margin-bottom:28px !important;-webkit-hyphens:inherit;hyphens:inherit}@media (max-width: 37.037037037rem){.duet-paragraph.intro{font-size:1rem}}@media (min-width: 46.2962962963rem){.duet-paragraph.intro{font-size:1.25rem}}.duet-paragraph.intro.duet-m-0{margin:0 !important}::slotted(a){font-family:"localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-style:normal;font-weight:400;color:rgb(0, 119, 179);text-decoration:underline;transition:300ms ease}::slotted(a).duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(230, 23, 64)}::slotted(a):hover{color:rgb(0, 75, 129);text-decoration:none}::slotted(a):hover.duet-theme-turva{color:rgb(140, 0, 30)}::slotted(a):active{opacity:0.75;transition:none}:host(.duet-theme-turva2) .duet-paragraph.duet-theme-turva{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) ::slotted(a).duet-theme-turva{color:rgb(230, 23, 64)}:host(.duet-theme-turva2) ::slotted(a:hover).duet-theme-turva{color:rgb(140, 0, 30)}';export{v as duet_caption,x as duet_heading,I as duet_link,C as duet_paragraph}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{r as e,c as t,h as d,g as r}from"./p-D01wpYGA.js";import{n as o}from"./p-vVCYtBMj.js";import{a}from"./p-8RjiAqaE.js";import{i as u}from"./p-Brp9BZK6.js";import{a as i,g as h,c as n,d as g}from"./p-udt4OnI3.js";import{a as M,h as m,c}from"./p-B0U815Vi.js";import{p}from"./p-C6E9F6QT.js";import"./p-DvwKrUS6.js";const N=class{constructor(d){e(this,d),this.duetClick=t(this,"duetClick",7),this.duetAnalytics=t(this,"duetAnalytics",7),this.processedListItems=null,this.processedActions=null,this.processedBack=null,this.theme="",this.heading="",this.preHeading="",this.level="h1",this.subHeadingLevel="h2",this.description="",this.icon="",this.iconSize="medium",this.iconRight=!1,this.categoryIcon="",this.categoryIconColor="category-pet",this.buttonLabel="",this.language=i(),this.accessibleLabelExternalDefaults=a,this.accessibleLabelExternal=h(this.accessibleLabelExternalDefaults),this.buttonUrl="#",this.buttonId="",this.textCenter=!1,this.leftAlign=!1,this.image="",this.imageSize="auto",this.imagePosition="auto",this.variation="default",this.layout="narrow",this.handleClick=(e,t)=>{t&&t.analytics&&this.duetAnalytics.emit({component:"duet-hero",analyticsId:t.analytics}),this.emitChange(e,t)},this.getPreHeadingText=()=>this.preHeading?this.preHeading:this.hasPreHeadingSlot?M(this.element,"pre-heading").map((e=>e.textContent)).join(" "):void 0,this.getHeadingText=()=>this.heading?this.heading:this.hasHeadingSlot?M(this.element,"heading").map((e=>e.textContent)).join(" "):void 0,this.getAccessibleHeading=()=>{const e=this.getPreHeadingText();return e?`${e} ${this.getHeadingText()}`:null}}componentWillLoad(){const e=["h1","h2","h3","h4","h5","h6"];u(this),this.hasPreHeadingSlot=m(this.element,"pre-heading"),this.hasHeadingSlot=m(this.element,"heading"),this.hasSubHeadingSlot=m(this.element,"subheading"),c(this.element,"pre-heading","span"),c(this.element,"heading",`span,${e.join(",")}`),c(this.element,"subheading",`span, ${e.slice(1).join(",")}`),this.hasHeadingSlot&&M(this.element,"heading")[0].matches(e.join(","))&&(this.hasHeadingSlotNative=!0),this.hasSubHeadingSlot&&M(this.element,"subheading")[0].matches(e.join(","))&&(this.hasSubHeadingSlotNative=!0),this.refresh()}connectedCallback(){n(this,{prop:"accessibleLabelExternal",defaults:"accessibleLabelExternalDefaults"})}disconnectedCallback(){g(this)}async refresh(){this.processedListItems=p(this.listItems),this.processedActions=p(this.actions),this.processedBack=p(this.back)}emitChange(e,t){t||(t={}),this.buttonLabel&&(t.label=this.buttonLabel,t.href=this.buttonUrl,t.id=this.buttonId||"No ID defined via buttonId prop"),this.duetClick.emit({originalEvent:e,data:t,component:"duet-hero"})}render(){const e="campaign"===this.variation||"section"===this.variation,t="cover"===this.imageSize,r="center"===this.imagePosition,a={backgroundImage:`url(${this.image})`,backgroundSize:t?"cover":null,backgroundPosition:r?"center":null},u=this.image&&this.imageAlt?{role:"img","aria-label":this.imageAlt}:{};let i="gray"===this.variation||"minimal"===this.variation?"h2":"h1";e?i="h0":"product"===this.variation&&(i="h1");let h="default"===this.variation?"gray-lightest":"";e&&(h="color-gray-lightest","turva"===this.theme&&(h="color-gray-lightest-turva"));let n="turva"===this.theme?"negative":"primary",g="primary-blue",M="gray-lightest",m="primary";return("light"===this.variation||"image"===this.variation||"gray"===this.variation||"minimal"===this.variation||e||"product"===this.variation||"content"===this.variation)&&(M="secondary","turva"===this.theme&&(M="secondary-turva",n="primary",m="color-primary-turva",g="color-primary-turva")),d("div",{key:"0516fd4837dba53aae81d2ae0c78b70585422107",role:"region",class:{"duet-hero":!0,"duet-theme-turva":"turva"===this.theme,"duet-has-category-icon":!!this.categoryIcon,"duet-hero-light":"light"===this.variation,"duet-hero-gray":"gray"===this.variation||"minimal"===this.variation,"duet-hero-minimal":"minimal"===this.variation,"duet-hero-with-image":"image"===this.variation,"duet-hero-has-image":!!this.image,"duet-hero-campaign":"campaign"===this.variation,"duet-hero-section":"section"===this.variation,"duet-hero-product":"product"===this.variation,"duet-hero-content":"content"===this.variation,"duet-hero-gray-with-actions":!!this.processedActions,"duet-hero-gray-with-back":!!this.processedBack,"duet-hero-text-center":"product"!==this.variation&&(this.textCenter&&!this.leftAlign||e),"duet-hero-left-align":"product"===this.variation||this.leftAlign&&!e,"duet-hero-narrow":"narrow"===this.layout},part:"duet-hero"},e&&this.image&&d("div",{key:"c9519b4ff36fdb3ec68d569667065a743d57a360",class:"background-area"},d("div",{key:"ddb4386a162fe50a1ec65bfb5920194cd8b8247f",class:"background-container"},d("div",{key:"af9a1b99358098c95c9ca8ff11c8b4e8fed691db",class:"background"},d("img",{key:"caea4a0bec4b0fab914d327878fd82fc8937528d",class:`${t?"cover":""} ${r?"center":""}`,src:this.image,alt:this.imageAlt||"",role:this.imageAlt?null:"presentation"})),d("div",{key:"570fc51ca220622428a0d0ae0c0956c5f1ee0452",class:"brand-shape"}))),"product"===this.variation&&this.image&&d("div",{key:"954467ff85417b30a4a6fc18c700464df609f586",class:{"background-area":!0,[this.layout]:!0}},d("div",{key:"a709338a6570cf245f37272263b03d7a27128f9e",class:{"background-container":!0,[this.layout]:!0}},d("div",{key:"b93c7f5ac020bd754dba88132aaa9b7ea1ba4003",class:{background:!0,[this.layout]:!0}},d("div",{key:"905662fbb3364da7510db2555f03de974562e505",class:{"background-mask":!0,[this.layout]:!0}}),"turva"!==this.theme&&d("div",{key:"262820358ecd29844c65be4a1d7e82549b45cee2",class:{"brand-shape":!0,[this.layout]:!0}}),d("div",{key:"3d20072088e4a405b83d2f65268f2d488a5112ac",class:{"brand-shaped-image":!0,[this.layout]:!0}},d("div",{key:"e8c63df219322992bb8d722b01dcad205c044f9c",class:{"brand-shaped-image-wrapper":!0,[this.layout]:!0}},d("div",Object.assign({key:"5b265dcc9db7e68c749b2b9c9d0e8fa4064f6b70",class:{"brand-shaped-image-bg":!0,[this.layout]:!0},style:a},u)))),this.categoryIcon&&d("div",{key:"81e36645d1a21d9bc66fae4765e9ef3272537f03",class:{"brand-shaped-icon":!0,[this.layout]:!0}},d("duet-icon",{key:"504a1771e2e356783be5844509166ab29f78159d",class:{[this.layout]:!0},background:"none",name:this.categoryIcon,margin:"none",size:"auto",responsive:!1}))))),"content"===this.variation&&this.image&&d("div",{key:"97b506d236d0679f53696cac58503d7be257231f",class:"background-area"},d("div",{key:"36890d9dc2a8f8b124420c7b3225ada20d01e35e",class:"background"},d("div",{key:"1df015994f4bd85a884de6e1875be96408f599b7",class:"background-mask"}),"turva"!==this.theme&&d("div",{key:"f68c97a4b3c8e4b03bac4bb2181e630ef63c8639",class:"brand-shape"}),d("div",{key:"ba89b95cc6d1d2a55ca0681206266f0e52d10059",class:"brand-shaped-image"},d("div",{key:"0c133b49c54fa275782754ac6ab44c468592b50b",class:"brand-shaped-image-wrapper"},d("div",Object.assign({key:"c9963f3b6134885b5cd4facc450e337fd3807749",class:"brand-shaped-image-bg",style:a},u)))))),d("div",{key:"6cd4723c1191be8841b3e72c186438d60b762165",class:{"duet-hero-wrapper":!0,[this.layout]:!0}},this.image&&"image"===this.variation&&d("div",{key:"76e6d63f430faa884dbe432dcf5241287edb6d94",class:"duet-hero-image-mask"},d("div",{key:"ac28833afeffb4273df030b71484549022dbcd7b",class:"duet-hero-image-wrapper"},d("div",Object.assign({key:"3bd97c165b52eae5b07653f04508c94f3e2fbaa3",class:"duet-hero-image",style:a},u)))),("gray"===this.variation||"light"===this.variation||"minimal"===this.variation)&&this.processedBack&&d("div",{key:"a3139ada0576c86e38608e8b3babde7bf1cb6428",class:"duet-hero-back"},d("duet-button",{key:"18696adb6758e912d78507989319403a05031383",style:{transform:"translateX(-8px)"},variation:"plain",icon:"action-arrow-left-small",theme:this.theme,iconSize:"small",color:m,padding:"none",margin:"none",fixed:!0,url:this.processedBack.href,identifier:this.processedBack.id,onClick:e=>this.handleClick(e,{label:this.processedBack.label,href:this.processedBack.href,id:this.processedBack.id,analyticsId:this.processedBack.analyticsId})},this.processedBack.label)),("gray"===this.variation||"minimal"===this.variation)&&this.categoryIcon&&d("duet-icon",{key:"28d192b8f069b4a32baa01a027abc42bdfb95887",class:{"duet-hero-icon":!0,"duet-hero-icon-has-heading":""!==this.preHeading},size:"x-large",background:this.categoryIconColor,name:this.categoryIcon}),d("div",{key:"012bf0e526bb27720cf999130cee18c48f154328",class:{"duet-hero-text":!0},part:"duet-hero-text"},(this.preHeading||this.hasPreHeadingSlot)&&d("duet-paragraph",{key:"5cbbe391ce79e56835076065ebcffe0bab5228ba",margin:"none",class:"duet-hero-pre",size:"content"===this.variation?"small":"medium","aria-hidden":"true"},this.preHeading?this.preHeading:d("span",null,d("slot",{name:"pre-heading"}))),d("slot",{key:"b3e524e1dfb703166dabf2f84bbcc4114b55a30a",name:"badge"}),(this.heading||this.hasHeadingSlot)&&d("duet-heading",{key:"aa79305d862247ab6107539664112d93a239e8a7",theme:this.theme,level:this.hasHeadingSlotNative?"div":this.level,class:{"duet-hero-heading":!0,"duet-hero-heading-has-pre":""!==this.preHeading},color:h,visualLevel:i,margin:e?"none":"auto",accessibleLabel:this.getAccessibleHeading()},this.heading?this.heading:d("slot",{name:"heading"})),e&&this.hasSubHeadingSlot&&d("duet-heading",{key:"d7be291d344c0357c68891dafcce35f2b39b5da5",theme:this.theme,level:this.hasSubHeadingSlotNative?"div":this.subHeadingLevel,class:{"duet-hero-subheading":!0},color:"turva"===this.theme?"secondary-turva":"secondary",visualLevel:"h2"},d("slot",{key:"32bb887d95e7bbf0c2037520f47080d4a4680bba",name:"subheading"})),this.description&&d("duet-paragraph",{key:"d391fad4e9710b15fe3bbc98e8e22078f3a84972",theme:this.theme,color:M,variation:"intro"},this.description),("gray"===this.variation||"minimal"===this.variation)&&this.processedListItems&&d("duet-list",{key:"927d16ef81835f367bda345400b4603d6c5dd36a",theme:this.theme,"label-width":"30",breakpoint:"large",mobile:this.leftAlign?void 0:"center"},this.processedListItems.map((e=>d("duet-list-item",null,d("span",{slot:"label"},e.label),d("span",{slot:"value"},e.value))))),this.buttonLabel&&d("duet-button",{key:"05b8812b4a5f224422c0d102c9f6869bfcfe3a69",url:this.buttonUrl,icon:this.icon,iconRight:this.iconRight,iconSize:this.iconSize,variation:n,theme:this.theme,identifier:this.buttonId,onClick:e=>this.handleClick(e,this.buttonData),fixed:!0},this.buttonLabel),d("slot",{key:"512d50180bb9fba05bcde538b19fa87e70cf5a3a"})),("gray"===this.variation||"minimal"===this.variation)&&this.processedActions&&d("div",{key:"1ca120e7175b467c0265513ecd4d32a30e5eaba8",class:"duet-hero-links"},this.processedActions.map((e=>d("a",{class:"duet-hero-link",href:e.href,id:e.id,target:e.external?"_blank":"_self",onClick:t=>this.handleClick(t,e)},d("div",{class:"duet-hero-action-icon"},d("duet-icon",{size:"small",margin:"none",name:e.icon,color:"currentColor",outline:g})),d("span",null,e.label),e.external&&d("duet-visually-hidden",null,", ",this.accessibleLabelExternal),e.external&&d("div",{class:"duet-hero-action-arrow"},d("duet-icon",{icon:o.svg,size:"xx-small",margin:"none",color:"currentColor"})))))),this.image&&"image"!==this.variation&&!e&&"product"!==this.variation&&"content"!==this.variation&&d("div",Object.assign({key:"f49f23c4edbf72e479d8f7cf4cf2767d688c362b",class:"duet-hero-image",style:a},u)),d("slot",{key:"a99b7943cc1408366bc93827beb41867aaf5fb01",name:"bottom"})))}get element(){return r(this)}static get watchers(){return{back:["refresh"],listItems:["refresh"],actions:["refresh"]}}};N.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:block;width:100%}.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-transform:none;text-decoration:none;text-shadow:none;background:rgb(8, 42, 77)}.duet-hero.duet-p-0{padding:0 !important}.duet-hero.duet-m-0{margin:0 !important}.duet-hero.duet-hero-text-center{text-align:center !important}.duet-hero.duet-hero-light{padding-bottom:0 !important}@media (min-width: 62em){.duet-hero.duet-hero-light{padding-bottom:28px !important}}.duet-hero.duet-hero-with-image{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){.duet-hero.duet-hero-with-image{padding-bottom:28px !important}}@media (min-width: 62em){.duet-hero.duet-hero-with-image{padding-bottom:36px !important;margin-bottom:-20px}}.duet-hero.duet-hero-light,.duet-hero.duet-hero-with-image{color:rgb(8, 42, 77);background-color:rgb(255, 255, 255);background-image:linear-gradient(rgb(240, 247, 250), #f8fbfd)}.duet-hero.duet-hero-light::before,.duet-hero.duet-hero-with-image::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:"";background-image:linear-gradient(#f8fbfd, rgb(255, 255, 255))}.duet-hero.duet-hero-light.duet-theme-turva,.duet-hero.duet-hero-with-image.duet-theme-turva{color:rgb(23, 42, 59);background-image:linear-gradient(rgb(245, 246, 247), #fafbfb)}.duet-hero.duet-hero-light.duet-theme-turva::before,.duet-hero.duet-hero-with-image.duet-theme-turva::before{background-image:linear-gradient(#fafbfb, rgb(255, 255, 255))}.duet-hero.duet-hero-gray{color:rgb(8, 42, 77);background:rgb(245, 248, 250)}.duet-hero.duet-hero-gray.duet-theme-turva{background:rgb(245, 246, 247)}@media (min-width: 62em){.duet-hero.duet-hero-gray .duet-hero-text{display:inline-block;vertical-align:top}.duet-hero.duet-hero-gray .duet-hero-icon+.duet-hero-text{margin-left:28px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-actions{padding-bottom:65.4545454545px}}@media (min-width: 62em){.duet-hero.duet-hero-gray-with-back{padding-top:72px}}.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{padding:0 0 48px;margin:0;background:none}@media (min-width: 48em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:490px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:540px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign,.duet-hero.duet-hero-section{min-height:620px}}.duet-hero.duet-hero-campaign .background-area,.duet-hero.duet-hero-section .background-area{height:1px;margin-bottom:-1px}.duet-hero.duet-hero-campaign .background-container,.duet-hero.duet-hero-section .background-container{position:absolute;right:0;left:0;display:grid;align-items:flex-start;justify-content:center;overflow:hidden}.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{display:flex;align-items:flex-start;justify-content:center;height:220px;margin:0 auto}.duet-hero.duet-hero-campaign .background img,.duet-hero.duet-hero-section .background img{height:100%}.duet-hero.duet-hero-campaign .background img.cover,.duet-hero.duet-hero-section .background img.cover{object-fit:cover}.duet-hero.duet-hero-campaign .background img.center,.duet-hero.duet-hero-section .background img.center{object-position:center}@media (min-width: 1440px){.duet-hero.duet-hero-campaign .background img,.duet-hero.duet-hero-section .background img{width:100%;height:auto}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:300px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:450px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:500px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{height:580px}}@media (min-width: 1600px){.duet-hero.duet-hero-campaign .background,.duet-hero.duet-hero-section .background{width:1600px;overflow:hidden}}.duet-hero.duet-hero-campaign .background .brand-container,.duet-hero.duet-hero-section .background .brand-container{position:relative;width:100%;height:100%;min-height:220px;overflow:hidden}.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{position:absolute;width:100%;height:220px;background-repeat:no-repeat;background-position:center center;background-size:cover}@media (min-width: 36em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{left:-200px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{left:auto;height:1100px;background-position:140% -200%}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .background .brand,.duet-hero.duet-hero-section .background .brand{background-position:right -200%}}.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{position:absolute;top:143px;right:0;left:-30px;width:340px;height:340px;margin-right:auto;margin-left:auto;background:rgb(255, 255, 255);border-radius:20%;mix-blend-mode:normal;transform:rotate(8deg)}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:160px;width:450px;height:450px}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:215px;left:-50px;width:550px;height:550px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:250px;left:0;width:712.18px;height:712.18px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:240px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:280px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .brand-shape,.duet-hero.duet-hero-section .brand-shape{top:310px}}.duet-hero.duet-hero-campaign ::slotted(.duet-heading),.duet-hero.duet-hero-section ::slotted(.duet-heading){font-size:inherit !important;color:inherit !important}.duet-hero.duet-hero-campaign .duet-hero-text,.duet-hero.duet-hero-section .duet-hero-text{width:100%}.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:36px}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:48px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading),.duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading){font-size:64px}}.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{margin:0 auto}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:90%}}@media (min-width: 25em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:80%}}@media (min-width: 30em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section .duet-hero-text duet-paragraph{width:52%}}.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{display:flex;align-items:center;height:6rem;padding:0 1rem;margin:1rem 0 4.5rem}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:2rem 0 4rem}}@media (min-width: 36em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:3rem 0 8rem}}@media (min-width: 48em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:4rem 0 10rem}}@media (min-width: 62em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:5rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:6rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign .duet-hero-heading,.duet-hero.duet-hero-section .duet-hero-heading{margin:8rem 0 11rem}}.duet-hero.duet-hero-campaign .duet-hero-wrapper.fluid,.duet-hero.duet-hero-campaign .duet-hero-wrapper.narrow,.duet-hero.duet-hero-section .duet-hero-wrapper.fluid,.duet-hero.duet-hero-section .duet-hero-wrapper.narrow{padding:0 16px}.duet-hero.duet-hero-campaign.duet-theme-turva,.duet-hero.duet-hero-section.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";background:none}.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:125px;left:-10px;width:350px;height:350px;background:rgb(255, 255, 255);-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:none}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:143px;left:-30px;width:450px;height:450px}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:180px;left:0;width:550px;height:550px}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:220px;width:712.18px;height:712.18px}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:230px}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:260px}}@media (min-width: 106.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape,.duet-hero.duet-hero-section.duet-theme-turva .brand-shape{top:290px}}.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:98%}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:90%}}@media (min-width: 25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:78%}}@media (min-width: 30em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:66%}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:65%}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:70%}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph{width:52%}}@media (min-width: 22.5em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:2rem 0 5rem}}@media (min-width: 36em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:3rem 0 8rem}}@media (min-width: 48em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:4rem 0 10rem}}@media (min-width: 62em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:5rem 0 10rem}}@media (min-width: 76.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:6rem 0 12rem}}@media (min-width: 106.25em){.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading,.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading{margin:8rem 0 13rem}}@media (min-width: 48em){.duet-hero.duet-hero-section{min-height:490px}}@media (min-width: 62em){.duet-hero.duet-hero-section{min-height:auto}}@media (min-width: 76.25em){.duet-hero.duet-hero-section{min-height:560px}}@media (min-width: 62em){.duet-hero.duet-hero-section .background img{width:100%;height:auto}}@media (min-width: 62em){.duet-hero.duet-hero-section .background{width:1400px;height:436px;overflow:hidden}}@media (min-width: 76.25em){.duet-hero.duet-hero-section .background{width:1536px;height:516px}}@media (min-width: 106.25em){.duet-hero.duet-hero-section .background{width:1536px}}.duet-hero.duet-hero-product{position:relative;padding:0 0 48px;margin:0;background:rgb(255, 255, 255)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product{padding-top:240px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product{padding-top:200px}}@media (min-width: 36em){.duet-hero.duet-hero-product{padding-top:260px}}@media (min-width: 48em){.duet-hero.duet-hero-product{padding-top:250px}}@media (min-width: 48em){.duet-hero.duet-hero-product{min-height:400px;padding:72px 0}}@media (min-width: 62em){.duet-hero.duet-hero-product{min-height:500px;padding:96px 0}}@media (min-width: 76.25em){.duet-hero.duet-hero-product{min-height:575px;padding:120px 0}}.duet-hero.duet-hero-product .background-area{position:absolute;top:0;width:100%;height:600px;overflow:hidden;pointer-events:none}.duet-hero.duet-hero-product .background-area *{pointer-events:auto}.duet-hero.duet-hero-product .background-container{position:absolute;top:-150px;width:100%;height:600px;overflow:hidden;pointer-events:none}.duet-hero.duet-hero-product .background-container *{pointer-events:auto}@media (min-width: 62em){.duet-hero.duet-hero-product .background-container{top:-48px}}.duet-hero.duet-hero-product .background{position:absolute;top:145px;width:100%;overflow:visible}.duet-hero.duet-hero-product .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-product .background{top:130px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background{top:35px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background{position:absolute;right:0;left:0;max-width:1440px;height:100%;margin:0 auto}}.duet-hero.duet-hero-product .background .brand-shaped-image{position:absolute;top:-160px;right:-15%;z-index:0;width:375px;height:375px;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-160px;right:-60px;width:360px;height:360px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-120px;right:-14px;width:290px;height:290px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-175px;right:-20px;width:400px;height:400px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-145px;right:-150px;width:414px;height:414px}}@media (min-width: 860px){.duet-hero.duet-hero-product .background .brand-shaped-image{right:-105px}}@media (min-width: 960px){.duet-hero.duet-hero-product .background .brand-shaped-image{right:-45px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-190px;right:-150px;width:552px;height:552px}}@media (min-width: 1100px){.duet-hero.duet-hero-product .background .brand-shaped-image{right:-35px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-image{top:-300px;right:-128px;width:736px;height:736px}.duet-hero.duet-hero-product .background .brand-shaped-image.narrow{right:-160px}}@media (min-width: 1300px){.duet-hero.duet-hero-product .background .brand-shaped-image.narrow{right:-128px}}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-wrapper{position:relative;width:100%;height:100%}.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-position:40px;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:520px;height:240px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:440px;height:200px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:600px;height:260px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:500px;height:292px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:720px;height:420px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg{width:950px;height:540px}}.duet-hero.duet-hero-product .background .brand-shape{position:absolute;background:rgb(228, 241, 247);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shape{top:20px;right:210px;width:200px;height:200px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shape{top:24px;right:199px;width:162px;height:162px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shape{top:25px;right:290px;width:220px;height:220px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shape{top:90px;right:145px;width:225px;height:225px}}@media (min-width: 860px){.duet-hero.duet-hero-product .background .brand-shape{right:195px}}@media (min-width: 960px){.duet-hero.duet-hero-product .background .brand-shape{right:245px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shape{top:115px;right:228px;width:300px;height:300px}}@media (min-width: 1100px){.duet-hero.duet-hero-product .background .brand-shape{right:343px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shape{right:394px;width:400px;height:400px}}.duet-hero.duet-hero-product .background .brand-shaped-icon{position:absolute;display:flex;align-items:center;justify-content:center;background:rgba(0, 119, 179, 0.85);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:165px;right:25px;width:69px;height:69px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:138px;right:50px;width:57px;height:57px}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:175px;right:125px;width:78px;height:78px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:220px;right:60px}}@media (min-width: 860px){.duet-hero.duet-hero-product .background .brand-shaped-icon{right:110px}}@media (min-width: 960px){.duet-hero.duet-hero-product .background .brand-shaped-icon{right:160px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:296px;right:120px;width:105px;height:105px}}@media (min-width: 1100px){.duet-hero.duet-hero-product .background .brand-shaped-icon{right:235px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-icon{top:345px;right:245px;width:140px;height:140px}}.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{transform:rotate(-7deg)}@media (max-width: 35.9375em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:100%;height:100%}}@media (min-width: 36em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:72px;height:72px}}@media (min-width: 48em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:72px;height:72px}}@media (min-width: 62em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:86px;height:86px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon{width:104px;height:104px}}.duet-hero.duet-hero-product .duet-hero-wrapper{max-width:100%;margin:0 auto}.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-text{margin-top:0}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading{margin-top:0}}.duet-hero.duet-hero-product .duet-hero-wrapper.fluid,.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 36em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid{max-width:1110px;padding:0}}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:60%}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:50%}}@media (min-width: 76.25em){.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text{width:47%}}.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow{padding:0 72px}}@media (min-width: 48em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text{width:60%}}@media (min-width: 62em){.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text{width:47%}}.duet-hero.duet-hero-product.duet-theme-turva{background:rgb(255, 255, 255)}.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;pointer-events:none;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K");background-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .background-mask{left:181px}}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{margin:0 auto;border-radius:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:none}@media (max-width: 35.9375em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-120px;width:385px}}@media (max-width: 22.5em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-95px;width:320px}}@media (min-width: 36em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-135px;width:420px}}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-110px;right:-110px;width:418px}}@media (min-width: 860px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{right:-75px}}@media (min-width: 960px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{right:-40px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-130px;right:-100px;width:552px}}@media (min-width: 1100px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{right:-35px}}@media (min-width: 76.25em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image{top:-215px;width:736px}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow{right:-115px}}@media (min-width: 1300px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow{right:-50px}}@media (min-width: 1400px){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image.narrow{right:-35px}}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg{transform:translate(-50%, 0)}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon{background:rgba(230, 23, 64, 0.9);-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:rotate(0deg)}.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{position:relative;top:-6px;transform:rotate(0deg)}@media (min-width: 48em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{top:-8px}}@media (min-width: 62em){.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon{top:-12px}}.duet-hero.duet-hero-content{padding:0 0 48px;padding-top:236px;background:rgb(255, 255, 255)}@media (min-width: 48em){.duet-hero.duet-hero-content{padding-top:384px}}.duet-hero.duet-hero-content:not(.duet-hero-has-image){padding:72px 0 48px}.duet-hero.duet-hero-content .background-area{position:absolute;width:100%}.duet-hero.duet-hero-content .background{position:absolute;top:-236px;width:100%;height:600px;overflow:hidden;pointer-events:none}.duet-hero.duet-hero-content .background *{pointer-events:auto}.duet-hero.duet-hero-content .background .background-mask{display:none}@media (min-width: 48em){.duet-hero.duet-hero-content .background{top:-384px}}.duet-hero.duet-hero-content .background .brand-shaped-image{position:absolute;top:-165px;right:0;left:30px;z-index:0;width:375px;height:375px;margin:0 auto;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shaped-image{top:-325px;left:250px;width:687px;height:687px}}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-wrapper{position:relative;width:100%;height:100%}.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg{position:absolute;bottom:0;left:50%;z-index:1;width:600px;height:256px;background-repeat:no-repeat;background-size:100%;transform:rotate(-7deg) translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg{width:733px;height:413px}}.duet-hero.duet-hero-content .background .brand-shape{position:absolute;top:-25px;right:0;left:-300px;width:240px;height:240px;margin-right:auto;margin-left:auto;background:rgb(0, 119, 179);border-radius:20%;mix-blend-mode:normal;opacity:0.07;transform:rotate(7deg)}@media (min-width: 48em){.duet-hero.duet-hero-content .background .brand-shape{top:80px;left:-400px;width:373px;height:373px}}.duet-hero.duet-hero-content .duet-hero-wrapper{max-width:100%;margin:0 auto}.duet-hero.duet-hero-content .duet-hero-wrapper.fluid,.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 16px}@media (min-width: 36em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{padding:0 28px}}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{padding:0 56px}}@media (min-width: 76.25em){.duet-hero.duet-hero-content .duet-hero-wrapper.fluid{max-width:1110px;padding:0}}.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{max-width:888px}@media (min-width: 36em){.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 48px}}@media (min-width: 48em){.duet-hero.duet-hero-content .duet-hero-wrapper.narrow{padding:0 72px}}.duet-hero.duet-hero-content .duet-hero-text{max-width:100%}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-text{width:80%}}.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre{margin-top:1rem;margin-bottom:0.5rem}@media (min-width: 62em){.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre{margin-top:1.5rem;margin-bottom:0}}.duet-hero.duet-hero-content.duet-theme-turva{background:rgb(255, 255, 255)}.duet-hero.duet-hero-content.duet-theme-turva .background-mask{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;pointer-events:none;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjI1NyIgdmlld0JveD0iMCAwIDcyMSAyNTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yODIwXzY5OTkxKSI+CjxwYXRoIGQ9Ik04MC4xNzA1IDIzLjE4MTVDOTEuOTY5OSAxOC44NjU5IDEwMi44NyAxMS42NTU5IDExMi45MDkgMS41NjQ0OEMxMjMuNzcgLTguMzA1MjcgMTM0LjM4MiAtMTguMjAxMSAxNDQuODI2IC0yOC4xODgyQzE1NS4yNDMgLTM4LjE2MjIgMTY1LjkwOCAtNDguMDg0MSAxNzYuNzQzIC01Ny45Mjc4QzE3OC44MTYgLTU5LjA0OSAxODAuNDk4IC02MC4yODc3IDE4MS43ODggLTYxLjY1NjdDMTgzLjA2NiAtNjMuMDEyNiAxODUuNDY1IC02Mi4yODI1IDE4OS4wMTIgLTU5LjQ3OTNDMTg0LjczNSAtNTEuMTM1IDE4MC43NTkgLTQyLjk2MDIgMTc3LjAxNyAtMzQuOTAyN0MxNzMuMjg4IC0yNi44NDUyIDE2Ny42ODEgLTE5LjEyNjggMTYwLjIxMSAtMTEuNzYwM0MxNTIuNzUzIC00LjM4MDgzIDE0NC45NTYgMy4zMTE1MiAxMzYuODQ3IDExLjM2OUMxMjguNzI0IDE5LjQyNjUgMTIwLjk2NiAyNy4xNDUgMTEzLjQ4MyAzNC40OTg0Qzk3LjQ5OCA0OS44MTggNzkuNjYyIDU2LjAyNDEgNjAuMDAwOCA1My4xNjg4QzQwLjI4NzQgNTAuMzEzNSAyNS41NDE0IDM5LjA3NDcgMTUuNjk3NyAxOS40Nzg2QzMuOTI0NDUgLTIuMzcyOTkgLTEuMjI1NTUgLTI0LjQ3MjQgMC4yNDc3NDMgLTQ2Ljc4MDNDMS4yNTE2NyAtNjcuNDg0NiAzLjQwMjkzIC04Ny43OTc4IDYuODA1ODQgLTEwNy43NzJDMTAuMTk1NyAtMTI3LjczMyAxNS43MTA4IC0xNDcuNDg2IDIzLjMzOCAtMTY3LjA0M0MyNi4zMTA3IC0xNzQuMDMxIDI5LjAwOTUgLTE4MC44NSAzMS40NzM3IC0xODcuNTY0QzMzLjkxMTggLTE5NC4yMjcgMzYuNTMyNCAtMjAwLjY2OCAzOS4yNTc0IC0yMDYuODQ4QzQxLjgxMjggLTIwOS41NzIgNDMuNDY4NiAtMjEyLjEyOCA0NC4xODU3IC0yMTQuNTRDNTMuMDI1NSAtMjI5LjM3NyA2Mi44MyAtMjM3Ljk5NSA3My42Mzg1IC0yNDAuNDMzQzg0LjM5NDggLTI0Mi44NzEgOTguMTM2OSAtMjM5LjgyMSAxMTQuODEyIC0yMzEuMzJDMTI3Ljk0MiAtMjI1LjYwOSAxMzMuMzkyIC0yMTYuMTA1IDEzMS4xNDkgLTIwMi43OTNDMTMwLjE3MSAtMTkwLjgzNyAxMjcuOTk0IC0xNzkuMjU5IDEyNC42MTcgLTE2OC4wMkMxMjAuMDQxIC0xNTIuNzc5IDExNS40MzggLTEzNy41NTEgMTEwLjg0OSAtMTIyLjMyMkMxMDYuMjczIC0xMDcuMDgxIDEwMS4yNzkgLTkxLjk2OTkgOTUuODk0MyAtNzcuMDAyM0M4NS41OTQzIC00OC42MDU3IDc5LjQyNzQgLTE5LjQyNjcgNzcuNDA2NSAxMC41NjA2Qzc3LjcxOTQgMTIuNDEyIDc4LjA0NTMgMTQuMjYzNSA3OC4zNTgzIDE2LjA4ODhDNzguNjcxMiAxNy45NDAyIDc5LjI3MDkgMjAuMyA4MC4xNzA1IDIzLjE5NDRNMTEwLjkxNCAtMjk2Ljc1N0MxMDkuNTQ1IC0yOTguMDM1IDEwNy4zMTYgLTI5OS4zNTIgMTA0LjIzOSAtMzAwLjczNEMxMDEuMTYyIC0zMDIuMDkgOTguMjQxMiAtMzA0LjA1OSA5NS41NDIzIC0zMDYuNjI3QzkwLjA3OTQgLTMxMS43NzcgODYuOTc2MyAtMzE4LjE2NiA4Ni4yMzMyIC0zMjUuODE5Qzg1LjQ2NCAtMzMzLjQ3MiA4Ny4zODA1IC0zNDAuNTUyIDkxLjk2OTkgLTM0Ny4wNThDOTMuMjIxNSAtMzQ4LjQxNCA5NC4xNDcyIC0zNDkuMjM1IDk0LjY4MTggLTM0OS41MjJDOTUuMTkwMyAtMzQ5Ljc5NiA5Ni4xMDI5IC0zNTAuNjA0IDk3LjM5MzcgLTM1MS45OTlDMTA5LjY3NSAtMzU3LjkwNiAxMjIuNDE0IC0zNTYuNjkzIDEzNS42MzQgLTM0OC4zMzZDMTQ2Ljk1MSAtMzQyLjMyNSAxNTIuMDg4IC0zMzMuMzE2IDE1MS4xMzYgLTMyMS4zNkwxNDguMjI5IC0zMTEuNzM4QzE0NC42NjkgLTI5Ny4wNyAxMzUuNTY5IC0yOTEuNTAzIDEyMC45MTQgLTI5NS4wNjJDMTE5LjA1IC0yOTQuNzIzIDExNS43MzggLTI5NS4yOTcgMTEwLjkxNCAtMjk2Ljc0NCIgZmlsbD0iI0Y1RjVGNyIvPgo8cGF0aCBkPSJNMjQyLjc2NyAyMTUuNTE4QzI0NS4wODggMjEzLjU4OCAyNDcuMjc4IDIxMi4xMDIgMjQ5LjM3NyAyMTAuOTY4QzI1MS40NSAyMDkuODU5IDI1My41MzYgMjA4Ljc1MSAyNTUuNjIyIDIwNy42MDRDMjc0LjIyNyAxOTIuMjg0IDI5MC41NzcgMTc3LjE2IDMwNC43MjMgMTYyLjE5M0MzMTUuNjg4IDE0OC45NDYgMzI2LjYxNCAxMzUuODU2IDMzNy40ODggMTIyLjk4N0MzNDguMzYxIDExMC4xMTkgMzU4Ljg4MyA5Ni45Mzc1IDM2OS4wNjYgODMuNDE3MUMzNzYuNDQ1IDczLjQzMDEgMzg0LjU4MSA2My44NjAyIDM5My40NDcgNTQuNzQ2NkM0MDIuMyA0NS42NDYxIDQxMC44MjYgMzYuMjMyNyA0MTkuMDAxIDI2LjQ4MDNDNDIxLjgwNCAyMi45NzMxIDQyNC4yMjkgMjAuMDAwNCA0MjYuMjg5IDE3LjU0OTNDNDI4LjMyMyAxNS4xMjQzIDQzMC41MDEgMTIuOTMzOCA0MzIuODM1IDExLjAxNzNDNDM0LjkwOCA5LjkwOTA2IDQzNi43NDYgOS41ODMwMSA0MzguMzYzIDEwLjA2NTRDNDM5Ljk1MyAxMC41NDc5IDQ0MS43OTIgMTAuMjQ4IDQ0My45MDQgOS4xMTM3MUM0NDMuMTg3IDExLjUxMjcgNDQyLjgyMiAxMy4zOTAzIDQ0Mi44ODcgMTQuNjk0QzQ0Mi45MjYgMTYuMDIzOSA0NDIuMjg3IDE3LjM2NjggNDQxLjAwOSAxOC43MjI3QzQyNC42NDcgNDYuOTYzIDQwNy42ODQgNzIuODE3MyAzOTAuMTIyIDk2LjMxMTdDMzc2LjY0MSAxMTQuOTU2IDM2My4xNDcgMTMyLjkwOSAzNDkuNjM5IDE1MC4yMjRDMzM2LjEwNiAxNjcuNTI1IDMyMi4yMiAxODUuMzYxIDMwNy45NDQgMjAzLjc1OEMzMDEuNTI5IDIxMC41MzcgMjk1LjM4OCAyMTcuMiAyODkuNDk1IDIyMy43MTlDMjgzLjU4OSAyMzAuMjI1IDI3Ny40MzUgMjM2LjkgMjcxLjAyIDI0My42NjdDMjU4LjkyMSAyNTQuODggMjQ0LjQ4OCAyNTkuMjM0IDIyNy43MzQgMjU2Ljc5NkMxOTYuODYgMjUxLjg4MSAxNzYuMDI1IDIzNi44NzQgMTY1LjIxNyAyMTEuNzg5QzE1NC42OTUgMTg4LjU2OCAxNDkuNTMyIDE2Ni41MDggMTQ5LjcwMiAxNDUuNjA4QzE0Ny45NDIgMTEzLjY3OCAxNDguMzA3IDgxLjk0MzggMTUwLjgxIDUwLjQxOEMxNTMuMyAxOC44NzkyIDE1OC4zMiAtMTIuMzIwNyAxNjUuODY5IC00My4yMDc3QzE4MC4xNzIgLTEwNS4yMDMgMTk4LjU2OCAtMTY2LjQwMyAyMjEuMTExIC0yMjYuODA4QzIzMi4wODkgLTI1Ny41MjYgMjQ0LjQyMyAtMjg3LjYxOCAyNTguMSAtMzE3LjA5NkMyNzEuNzc2IC0zNDYuNTc1IDI4Ni4zNzkgLTM3NS41MDcgMzAxLjk3MiAtNDA0LjAwOEMzMTIuOTUgLTQyNS45OSAzMjQuNjMyIC00NDcuMzQ2IDMzNi45NzkgLTQ2OC4wNjNDMzQ5LjMxMyAtNDg4Ljc1NCAzNjIuNDk1IC01MDkuMjI0IDM3Ni40MzIgLTUyOS40NTlDNDAzLjg2NCAtNTY4LjI5OSA0MzQuMTkgLTYwMy42NzEgNDY3LjM5OCAtNjM1LjU3NUM0NzUuNjM4IC02NDIuNjgxIDQ4My45OTUgLTY0OS4zMTcgNDkyLjQwNSAtNjU1LjUxQzUwMC44MjggLTY2MS42NzcgNTEwLjM5NyAtNjY2LjY1OCA1MjEuMTU0IC02NzAuMzk5QzU0NS4yNzQgLTY3Ny45NjEgNTY3LjcxMiAtNjc2Ljg3OSA1ODguMzkxIC02NjcuMTY2QzYwNC43MjcgLTY2MC40NzggNjEzLjY3MSAtNjQ5LjUxMyA2MTUuMjEgLTYzNC4yMTlDNjE3LjU5NiAtNjI0Ljc1NCA2MTguMTk1IC02MTMuNjcxIDYxNi45ODMgLTYwMC45NTlDNjEwLjMyIC01NTguNDgxIDU5Ny44NTYgLTUxNS41MzQgNTc5LjU1MSAtNDcyLjE5NkM1NjUuNDMxIC00MzkuODIzIDU0OS4wODEgLTQwOC43NTMgNTMwLjUyOCAtMzc5LjAwMUM1MTEuOTM2IC0zNDkuMjYxIDQ5Mi42MTQgLTMxOS45NTIgNDcyLjYgLTI5MS4wOTlDNDY1LjQ1NiAtMjgxLjkyIDQ1Ny45NDYgLTI3MS41MDMgNDUwLjEyMyAtMjU5LjkxMkM0MzMuNTc4IC0yMzYuOTc4IDQxNS42MzcgLTIxNS4xMjYgMzk2LjI4OSAtMTk0LjM1N0MzNzYuOTAyIC0xNzMuNTYxIDM1NS44NDUgLTE1NC4zOTYgMzMzLjA2OCAtMTM2LjgyQzMyMC4zODIgLTEyNi42OSAzMTIuNTMzIC0xMTUuMDg2IDMwOS40ODIgLTEwMi4wNDhDMzA0LjE4OSAtODQuNDQ2OCAyOTguOTc0IC02Ny4wNDExIDI5My43OTggLTQ5Ljg0NEMyODguNjIxIC0zMi42NDY5IDI4My43NzEgLTE1LjExMDggMjc5LjI4NiAyLjcxMjFDMjc1LjI3MSAxOC45NzA1IDI3MS4zMDcgMzQuOTgxIDI2Ny40MjIgNTAuODM1MkMyNjMuNTIzIDY2LjY2MzMgMjU5Ljk2NCA4Mi44NDM0IDI1Ni43NyA5OS4zMzY1QzI1My41NDkgMTE1LjgwMyAyNTAuNjgxIDEzMi42MjIgMjQ4LjE1MiAxNDkuNzQxQzI0NS42MDkgMTY2Ljg2IDI0My4xMzIgMTgzLjc5NyAyNDAuNzQ2IDIwMC40OThDMjQxLjA0NiAyMDIuMzM3IDI0MS4zMDcgMjA0LjM5NiAyNDEuNTE1IDIwNi42MTNDMjQxLjY5OCAyMDguODY4IDI0Mi4xMjggMjExLjg0MSAyNDIuNzggMjE1LjUxOE01NjQuMzIyIC02MjIuMDgxQzU2MS43MjggLTYxOS4zNDMgNTU4LjExNiAtNjE2LjA4MyA1NTMuNDg4IC02MTIuMjM3QzU0Mi4yMzYgLTU5OC4xNjkgNTMwLjk1OCAtNTgzLjkwNiA1MTkuNjI4IC01NjkuNDU5QzUwOC4yNTkgLTU1NC45ODcgNDk4LjA1IC01MzkuOTQxIDQ4OS4wMTUgLTUyNC4zNzRDNDU5LjIzNiAtNDc0Ljg2OSA0MzIuNzY5IC00MjMuOTU2IDQwOS42MDEgLTM3MS42MDhDMzg2LjQxOSAtMzE5LjI0OCAzNjUuMTkzIC0yNjUuNDQgMzQ1LjkzNiAtMjEwLjE3MkMzNDUuNzAyIC0yMDkuMzc3IDM0NS43MDIgLTIwOC43MTIgMzQ2LjAxNSAtMjA4LjE5QzM0Ni4yNjIgLTIwNy42NTYgMzQ2LjE4NCAtMjA2LjU4NyAzNDUuNzE1IC0yMDUuMDA5QzM0OS4zNzggLTIwNS42MjIgMzUxLjM2IC0yMDYuMzM5IDM1MS42MDggLTIwNy4xNDdDMzU1LjQ2NyAtMjExLjIxNSAzNTkuNTA5IC0yMTUuMjMxIDM2My43NDYgLTIxOS4xOTRDMzY3Ljk5NyAtMjIzLjE0NSAzNzEuNzY1IC0yMjcuNjgyIDM3NS4wNzYgLTIzMi44MTlDNDAyLjg4NiAtMjY3LjE2MSA0MjguNzE0IC0zMDIuMTQyIDQ1Mi41MzUgLTMzNy43MzZDNDc2LjM2OCAtMzczLjMwMyA0OTguNTMzIC00MTAuNjk2IDUxOS4wNjggLTQ0OS44ODhDNTQzLjg1MyAtNDk3LjM3MiA1NTkuNTc3IC01NDYuNzM0IDU2Ni4yNTIgLTU5Ny45MzRDNTY2LjY0MyAtNjAyLjE4NSA1NjYuOTE3IC02MDYuMDE4IDU2Ny4xIC02MDkuNDZDNTY3LjI0MyAtNjEyLjkwMiA1NjYuMzE3IC02MTcuMSA1NjQuMzM2IC02MjIuMDgxIiBmaWxsPSIjRjVGNUY3Ii8+CjxwYXRoIGQ9Ik02OTYuNTE1IDE4OS4wNjRDNzA0LjYzOCAxODQuMzk2IDcxMi42ODIgMTc5LjYxMSA3MjAuNjg4IDE3NC43MzVWMTM0LjA1N0M2OTcuODE5IDE0OC41MDMgNjczLjgwMyAxNTkuNjM3IDY0OC42MDEgMTY3LjQyMUM2MjIuMDgyIDE3NS42MzUgNTk0LjU1OCAxODAuNjY3IDU2Ni4wMTggMTgyLjU1OEM1NTAuOTIgMTgzLjI2MiA1NDEuMjk4IDE4MS44OTMgNTM3LjEgMTc4LjQzOEM1MzIuODc2IDE3NS4wMDkgNTI5LjA5NSAxNjUuNzUyIDUyNS43NTcgMTUwLjc0NUw1MjMuOTU4IDEzMC41NDlDNTIzLjMzMiAxMTguMTI0IDUyNC43NjYgMTA2Ljc1NSA1MjguMzM5IDk2LjQyODlDNTMxLjg1OSA4Ni4xNTUgNTM2LjEyMiA3NS42MjAzIDU0MS4xMTYgNjQuODc3QzU0NS42MTQgNjQuNDg1OSA1NDkuNTY0IDY0LjM2ODUgNTUzLjAzMiA2NC41MzhDNTU2LjQ3NSA2NC42OTQ1IDU2MC40MzggNjQuNTc3MSA1NjQuOTQ5IDY0LjE3MjlDNTg1Ljg3NSA2NC4zNjg1IDYwNy42MzYgNjEuNzQ3OSA2MzAuMjY5IDU2LjI4NDlDNjUyLjA4MiA1MC42MjY1IDY3MC40IDQxLjI3ODIgNjg1LjI3NyAyOC4yNTMzQzY5NC45MzggMTkuNzc4NiA3MDQuMDI1IDEwLjM3ODMgNzEyLjU2NSAwLjA5MTMwODZINjM5LjUyNkM2MjAuMjU2IDE2Ljk4ODUgNTk2Ljk0NCAyNy40ODQxIDU2OS41MzkgMzEuNDYwN0M1NjcuNjYxIDMxLjc3MzYgNTY2LjM1NyAzMS44MTI3IDU2NS41NzUgMzEuNTY1QzU2NC43NTQgMzEuMzMwMyA1NjMuODI4IDMxLjUxMjggNTYyLjgxMSAzMi4wNDc0QzU2MS45OSAzMS44MTI3IDU2MS42NTEgMzEuNDk5OCA1NjEuNzgxIDMxLjA4MjZDNTYxLjg5OCAzMC42OTE1IDU2MS41NDYgMzAuMzY1NSA1NjAuNzUxIDMwLjEzMDhDNTYwLjk5OSAyOS4zMzU1IDU2MC45MDcgMjguODY2MSA1NjAuNTE2IDI4Ljc2MThDNTYwLjA5OSAyOC42MTg0IDU2MC4wMzQgMjguMTYyIDU2MC4yOTUgMjcuMzUzN0M1NjUuMzc5IDE4LjE3NDkgNTcwLjc3NyA5LjEwMDU1IDU3Ni40MzYgMC4wOTEzMDg2SDQzMC4xNzZDNDI0LjIwNCAxMi42NzMgNDE5LjA1NCAyNS45NDU2IDQxNC44MyAzOS45ODc1QzQwNi40NzMgNjEuOTU2NSA0MDQuMjgyIDgyLjI2OTcgNDA4LjI4NSAxMDAuOTY2QzQxMi4wMTQgMTIwLjQ1OCA0MTguODMzIDEzOC40NjMgNDI4LjcyOCAxNTQuOTgyQzQzOC42MTEgMTcxLjUyOCA0NTIuNDU4IDE4NS4wODcgNDcwLjI1NCAxOTUuN0M0OTAuNzM3IDIwOC44ODEgNTEyLjE0NSAyMTcuNzIxIDUzNC40MDEgMjIyLjI0NUM1NTYuNjQ0IDIyNi43NTcgNTc5Ljg2NSAyMjYuNTA5IDYwNC4xMTUgMjIxLjU2N0M2MDkuNjQzIDIyMC42MTYgNjE1LjI2MyAyMTkuNDY4IDYyMC45MjEgMjE4LjA5OUM2MjYuNTY3IDIxNi43NTYgNjMyLjI3NyAyMTUuMTkyIDYzOC4wNTMgMjEzLjQxOUM2NTkuMDU3IDIwNy41MjUgNjc4LjU2MiAxOTkuMzkgNjk2LjU0MSAxODkuMDc3IiBmaWxsPSIjRjVGNUY3Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjgyMF82OTk5MSI+CjxyZWN0IHdpZHRoPSI3MjEiIGhlaWdodD0iMjU2Ljg0OCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K");background-repeat:no-repeat}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .background-mask{left:181px}}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{top:-155px;right:0;left:0;width:420px;height:420px;margin:0 auto;border-radius:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20140%22%3E%3Cpath%20d%3D%22M87.8%20139.6a57.3%2057.3%200%2000-18.4-3.3c-8-.5-16.3-2.5-24.6-6-16.7-7-29-18.7-37.1-35.3a73.5%2073.5%200%2001-5-52.4c1.7-4%203-6.7%204-7.8a33%2033%200%20004-7.8C33.4%203.5%2063.2-4.3%20100%203.2c30.5%204%2049.7%2019.9%2057.6%2047.4l1.6%2024c4.4%2036-11.5%2056-47.5%2060.3-4%202.4-12%203.9-24%204.7%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transform:none}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image{top:-230px;width:687px;height:637px}}.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:600px;height:280px;transform:translate(-50%, 0)}@media (min-width: 48em){.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg{width:733px;height:413px}}.duet-hero.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";background:rgb(230, 23, 64)}@media (min-width: 62em){.duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}.duet-hero-icon{display:inline-block;vertical-align:top}@media (min-width: 62em){.duet-hero-icon{margin-top:-8px}}@media (min-width: 62em){.duet-hero-heading{margin-top:12px}}@media (min-width: 62em){.duet-hero-heading-has-pre{margin-top:0}}.duet-hero-wrapper{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}.duet-hero-left-align .duet-hero-wrapper{text-align:left}.duet-hero-with-image .duet-hero-wrapper{position:static}@media (min-width: 62em){.duet-hero-wrapper{text-align:left}}.duet-hero-text{max-width:50rem;margin:0 auto}.duet-hero-text-center .duet-hero-text{text-align:center !important}@media (min-width: 48em){.duet-hero-text{width:80%}.duet-hero-left-align .duet-hero-text{margin:0}}@media (min-width: 62em){.duet-hero-text{width:52%;max-width:none;margin-top:-10px;margin-left:0}.duet-hero-text-center .duet-hero-text{margin-left:auto}}.duet-hero:not(.duet-hero-with-image) .duet-hero-image{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{padding-bottom:40%}}@media (min-width: 48em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:420px;padding-bottom:34%}.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image{max-width:540px}}@media (min-width: 62em){.duet-hero:not(.duet-hero-with-image) .duet-hero-image{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{right:-60px;padding-bottom:26%}.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}@media (min-width: 62em){.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image{right:-34px;padding-bottom:20%}}.duet-hero-image-wrapper{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{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){.duet-hero-image-wrapper{width:300px;padding-bottom:300px}.duet-theme-turva .duet-hero-image-wrapper{width:80%;padding-bottom:68%}}@media (min-width: 62em){.duet-hero-image-wrapper{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}.duet-theme-turva .duet-hero-image-wrapper{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){.duet-hero-image-wrapper{top:-70px;right:-60px;width:600px;padding-bottom:600px}.duet-theme-turva .duet-hero-image-wrapper{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){.duet-hero-image-wrapper{top:-70px;right:25px}.duet-theme-turva .duet-hero-image-wrapper{right:0}}.duet-hero-image-wrapper .duet-hero-image{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{top:0;left:0;width:100%;height:100%;transform:none}.duet-hero-image-mask{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){.duet-hero-image-mask{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){.duet-hero-image-mask{width:650px;height:580px}}@media screen and (min-width: 1450px){.duet-hero-image-mask{right:50%;transform:translateX(110%)}.duet-theme-turva .duet-hero-image-mask{transform:translateX(108%)}}duet-heading+duet-button{margin-top:12px !important}.duet-hero-links{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}.duet-hero-minimal .duet-hero-links{margin-top:28px}@media (min-width: 36em){.duet-hero-links{margin-top:72px}.duet-hero-minimal .duet-hero-links{margin-top:28px}}@media (min-width: 62em){.duet-hero-links{width:auto;margin:36px 0 0}.duet-hero-minimal .duet-hero-links{margin-top:28px}}.duet-hero-link{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;line-height:1.25;color:rgb(0, 119, 179);text-align:left;-webkit-hyphens:auto;hyphens:auto;text-decoration:none;border-bottom:1px solid rgb(212, 223, 229);transition:background-color 300ms ease}.duet-hero-link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-hero-link:focus,.duet-hero-link:focus.duet-theme-turva,.duet-theme-turva2 .duet-hero-link:focus,.duet-hero-link:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-hero-link:hover,.duet-hero-link:hover .duet-hero-action-arrow{color:rgb(0, 75, 129) !important;background:transparent !important}.duet-theme-turva .duet-hero-link:hover,.duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow{color:rgb(140, 0, 30) !important}.duet-theme-turva .duet-hero-link{color:rgb(230, 23, 64)}@media (min-width: 36em){.duet-hero-link{padding:16px 16px 16px 28px}}@media (min-width: 62em){.duet-hero-link{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}.duet-hero-link:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){.duet-hero-link:hover{background:transparent}}.duet-hero-link:first-of-type{border-top:1px solid rgb(212, 223, 229)}@media (min-width: 62em){.duet-hero-link:first-of-type{margin-top:0;border:0}}.duet-hero-link:last-of-type{margin-bottom:-48px}@media (min-width: 62em){.duet-hero-link:last-of-type{margin-right:0;margin-bottom:0}}.duet-hero-link span{margin-top:-8px}@media (min-width: 36em){.duet-hero-link span{margin:0}}.duet-hero-action-icon{margin-right:8px}@media (min-width: 36em){.duet-hero-action-icon{margin-right:12px}}.duet-hero-action-arrow{margin:0 0 0 8px;color:rgb(0, 119, 179)}@media (max-width: 35.9375em){.duet-hero-action-arrow{margin-top:-9px}}.duet-theme-turva .duet-hero-action-arrow{color:rgb(230, 23, 64)}.duet-hero-back{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}.duet-hero-left-align .duet-hero-back{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){.duet-hero-back{margin-bottom:36px !important}.duet-hero-minimal .duet-hero-back{margin-bottom:28px !important}}@media (min-width: 62em){.duet-hero-back{display:block}}.duet-hero-pre{display:inline-block;width:auto;margin-right:8px}.duet-hero-pre+duet-heading{margin-top:0 !important}:host(.duet-theme-turva2) .duet-hero.duet-hero-light.duet-theme-turva,:host(.duet-theme-turva2) .duet-hero.duet-hero-with-image.duet-theme-turva{color:rgb(23, 42, 59);background-image:linear-gradient(rgb(253, 247, 242), #fefbf9)}:host(.duet-theme-turva2) .duet-hero.duet-hero-light.duet-theme-turva::before,:host(.duet-theme-turva2) .duet-hero.duet-hero-with-image.duet-theme-turva::before{background-image:linear-gradient(#fefbf9, rgb(255, 255, 255))}:host(.duet-theme-turva2) .duet-hero.duet-hero-gray.duet-theme-turva{background:rgb(245, 246, 247)}:host(.duet-theme-turva2) .duet-hero.duet-hero-campaign .duet-hero-heading,:host(.duet-theme-turva2) .duet-hero.duet-hero-section .duet-hero-heading{margin-bottom:2rem}@media (min-width: 22.5em){:host(.duet-theme-turva2) .duet-hero.duet-hero-campaign .duet-hero-heading,:host(.duet-theme-turva2) .duet-hero.duet-hero-section .duet-hero-heading{margin-bottom:2rem}}@media (min-width: 36em){:host(.duet-theme-turva2) .duet-hero.duet-hero-campaign .duet-hero-heading,:host(.duet-theme-turva2) .duet-hero.duet-hero-section .duet-hero-heading{margin-bottom:4rem}}@media (min-width: 48em){:host(.duet-theme-turva2) .duet-hero.duet-hero-campaign .duet-hero-heading,:host(.duet-theme-turva2) .duet-hero.duet-hero-section .duet-hero-heading{margin-bottom:6rem}}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-hero.duet-hero-campaign .duet-hero-heading,:host(.duet-theme-turva2) .duet-hero.duet-hero-section .duet-hero-heading{margin-bottom:7rem}}@media (min-width: 76.25em){:host(.duet-theme-turva2) .duet-hero.duet-hero-campaign .duet-hero-heading,:host(.duet-theme-turva2) .duet-hero.duet-hero-section .duet-hero-heading{margin-bottom:8rem}}@media (min-width: 106.25em){:host(.duet-theme-turva2) .duet-hero.duet-hero-campaign .duet-hero-heading,:host(.duet-theme-turva2) .duet-hero.duet-hero-section .duet-hero-heading{margin-botton:9rem}}:host(.duet-theme-turva2) .duet-hero.duet-hero-campaign .background-area .brand-shape,:host(.duet-theme-turva2) .duet-hero.duet-hero-section .background-area .brand-shape{left:0;background-color:rgb(255, 255, 255);border-radius:24px;mask-image:none}:host(.duet-theme-turva2) .duet-hero.duet-hero-product{display:flex;flex-direction:column;gap:20px;min-height:auto;padding-top:0;padding-bottom:72px;margin:0 auto}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product{flex-direction:row-reverse;gap:40px;padding-top:72px;padding-right:56px;padding-left:56px}}@media (min-width: 76.25em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product{max-width:1110px;padding-right:0;padding-left:0}}:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area{position:relative;height:auto;overflow:visible}:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid{position:relative;top:0;width:100%;height:auto;aspect-ratio:576/250;padding:0;overflow:visible;}@media (min-width: 36em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid{height:250px;aspect-ratio:auto}}@media (min-width: 48em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid{padding-right:28px;padding-left:28px}}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid{height:auto;aspect-ratio:53/32;padding-right:0;padding-left:0}}:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background{position:relative;top:auto;height:100%}:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background .background-mask,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background .background-mask{display:none;background-image:none}:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-image,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-image{position:static;width:100%;height:100%;border-radius:0;mask-image:none}:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-image .brand-shaped-image-bg,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-image .brand-shaped-image-bg{position:static;width:100%;height:100%;background-position:0;background-size:cover;transform:none}@media (min-width: 48em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-image,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-image{border-radius:0 0 12px 12px}}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-image,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-image{border-radius:12px}}:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon{top:auto;right:20px;bottom:-16px;width:auto;height:auto;padding:0;background-color:rgb(23, 42, 59);border-radius:8px;mask-image:none}:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon duet-icon,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon duet-icon{top:0;width:62px;height:62px}@media (min-width: 36em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon{right:40px;bottom:-24px;padding:8px}:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon duet-icon,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon duet-icon{width:80px;height:80px}}@media (min-width: 48em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon{right:68px}}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.narrow .background .brand-shaped-icon,:host(.duet-theme-turva2) .duet-hero.duet-hero-product .background-area .background-container.fluid .background .brand-shaped-icon{right:40px}}:host(.duet-theme-turva2) .duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-text{width:100%}@media (min-width: 48em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product .duet-hero-wrapper{margin-top:28px}}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-hero.duet-hero-product .duet-hero-wrapper{padding:0}}:host(.duet-theme-turva2) .duet-hero.duet-hero-content{padding:0;margin:20px auto}:host(.duet-theme-turva2) .duet-hero.duet-hero-content.duet-hero-narrow .background-area{max-width:888px}@media (min-width: 36em){:host(.duet-theme-turva2) .duet-hero.duet-hero-content.duet-hero-narrow .background-area{padding:0 48px}}@media (min-width: 48em){:host(.duet-theme-turva2) .duet-hero.duet-hero-content.duet-hero-narrow .background-area{padding:0 72px}}:host(.duet-theme-turva2) .duet-hero.duet-hero-content .background-area{position:static;padding:0 16px;margin:0 auto}@media (min-width: 36em){:host(.duet-theme-turva2) .duet-hero.duet-hero-content .background-area{padding:0 28px}}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-hero.duet-hero-content .background-area{padding:0 56px}}@media (min-width: 76.25em){:host(.duet-theme-turva2) .duet-hero.duet-hero-content .background-area{max-width:1110px;padding:0}}:host(.duet-theme-turva2) .duet-hero.duet-hero-content .background-area .background{position:static;height:auto}:host(.duet-theme-turva2) .duet-hero.duet-hero-content .background-area .background .background-mask{display:none;background-image:none}:host(.duet-theme-turva2) .duet-hero.duet-hero-content .background-area .background .brand-shaped-image{position:static;width:auto;height:auto}:host(.duet-theme-turva2) .duet-hero.duet-hero-content .background-area .background .brand-shaped-image .brand-shaped-image-wrapper{width:auto;height:auto}:host(.duet-theme-turva2) .duet-hero.duet-hero-content .background-area .background .brand-shaped-image .brand-shaped-image-bg{position:static;width:100%;height:auto;aspect-ratio:5/2;background-size:cover;transform:none}:host(.duet-theme-turva2) .duet-hero.duet-hero-content .brand-shaped-image{border-radius:12px;mask-image:none}:host(.duet-theme-turva2) .duet-hero.duet-hero-content .duet-hero-wrapper{margin-top:28px}@media (min-width: 48em){:host(.duet-theme-turva2) .duet-hero.duet-hero-content .duet-hero-wrapper{margin-top:36px}}:host(.duet-theme-turva2) .duet-hero .duet-hero-wrapper{position:static;margin-top:16px}@media (min-width: 48em){:host(.duet-theme-turva2) .duet-hero .duet-hero-wrapper{margin-top:0}}.duet-theme-turva :host(.duet-theme-turva2) .duet-hero-link{color:rgb(230, 23, 64)}.duet-theme-turva :host(.duet-theme-turva2) .duet-hero-action-arrow{color:rgb(230, 23, 64)}';export{N as duet_hero}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{r as e,h as t,H as a,g as r}from"./p-D01wpYGA.js";import{i as n}from"./p-Brp9BZK6.js";import{a as u}from"./p-Db8rvjPI.js";const o=class{constructor(t){e(this,t),this.theme="",this.active=!1,this.href="#",this.icon=void 0}componentWillLoad(){n(this)}handleEscape(e){if(u(e)){const e=this.element.closest("duet-submenu-bar");e.open=!1,e.setFocus()}}render(){return t(a,{key:"fb8760077be9d8402a747e67fa3f5589c35b1586",role:"listitem"},t("a",{key:"5b77c9c31a719059b2df6183dd09f0fbb174dde4",class:{"duet-submenu-bar-link":!0,"duet-theme-turva":"turva"===this.theme,active:this.active},href:this.href,onKeyUp:e=>this.handleEscape(e),"aria-current":this.active?"true":"false"},this.icon&&t("duet-icon",{key:"d47cacb2b609f6fb89d4955932aa460a13a70e0e",class:"submenu-bar-link-icon",theme:this.theme,name:this.icon,size:"auto",margin:"none",color:"currentColor"}),t("span",{key:"962bab30d15d749df6d2823daafba59488fc92df",class:"label"},t("slot",{key:"57541fbb4f923bbb1fdd6efbe05cddb72f63a147"}))))}get element(){return r(this)}};o.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;width:100%;height:100%}@media (min-width: 62em){:host{width:auto}}.duet-submenu-bar-link{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;height:100%;padding:12px 1.5rem;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.25;color:rgb(8, 42, 77);text-align:center;text-decoration:none}.duet-submenu-bar-link:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva .duet-submenu-bar-link:focus,.duet-submenu-bar-link:focus.duet-theme-turva,.duet-theme-turva2 .duet-submenu-bar-link:focus,.duet-submenu-bar-link:focus.duet-theme-turva2{outline:2px solid;outline-offset:2px;outline-color:rgba(53, 79, 101, 0.8)}.duet-submenu-bar-link .submenu-bar-link-icon{width:20px;height:20px}@media (min-width: 62em){.duet-submenu-bar-link .submenu-bar-link-icon{width:16px;height:16px}}@media (min-width: 62em){.duet-submenu-bar-link{flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:0.875rem;color:rgb(0, 75, 129)}}@media (min-width: 62em){.duet-submenu-bar-link.active{color:rgb(0, 119, 179)}.duet-submenu-bar-link.active.duet-theme-turva{color:rgb(140, 0, 30)}}.duet-submenu-bar-link.active .label{position:relative}.duet-submenu-bar-link.active .label::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:1px}@media (min-width: 62em){.duet-submenu-bar-link.active .label::after{display:none}.duet-submenu-bar-link.active::after{position:absolute;top:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:"";background:rgb(0, 119, 179);transform:translateY(1px);transition:300ms ease}}.duet-submenu-bar-link.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";color:rgb(23, 42, 59)}.duet-submenu-bar-link.duet-theme-turva.active .label::after{background:rgb(140, 0, 30)}.duet-submenu-bar-link.duet-theme-turva.active::after{background:rgb(140, 0, 30)}@media (min-width: 62em){.duet-submenu-bar-link:hover{color:rgb(8, 42, 77);background:rgb(228, 241, 247)}.duet-submenu-bar-link:hover.duet-theme-turva{color:rgb(23, 42, 59);background:rgb(212, 221, 226)}.duet-submenu-bar-link:hover.duet-theme-turva.active{color:rgb(140, 0, 30)}}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active .label::after{background:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active::after{background:rgb(230, 23, 64)}@media (min-width: 62em){:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva.active{color:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva:hover{color:rgb(23, 42, 59);background:rgb(251, 225, 209)}:host(.duet-theme-turva2) .duet-submenu-bar-link.duet-theme-turva:hover.active{color:rgb(230, 23, 64)}}';export{o as duet_submenu_bar_link}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{r as e,h as a,H as t,g as r}from"./p-D01wpYGA.js";const s=class{constructor(a){e(this,a),this.value=0}render(){return a(t,{key:"d35a290305ffe6ec034caf3d8f5d21e4c85ed7b5"},a("div",{key:"885469b4f2ea9629da7f0baed471c5034eb9e979",hidden:!0},a("slot",{key:"b4ecc6c43546845aaffb210b38a35cdafd88b403"})))}get element(){return r(this)}};export{s as duet_share_chart_item}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{r as t,c as e,h as o,F as i,g as r}from"./p-D01wpYGA.js";import{n as a}from"./p-vVCYtBMj.js";import{a as d}from"./p-8RjiAqaE.js";import{i as n}from"./p-Brp9BZK6.js";import{s,u as l}from"./p-Db8rvjPI.js";import{a as u,g as m,c as p,d as f}from"./p-udt4OnI3.js";import{h}from"./p-B0U815Vi.js";import{p as c}from"./p-C6E9F6QT.js";import"./p-DvwKrUS6.js";const g={fi:{lahi:"© LähiTapiola",turva:"© Turva"},sv:{lahi:"© LokalTapiola",turva:"© Turva"},en:{lahi:"© LocalTapiola",turva:"© Turva"}},b=(t,e)=>({component:"duet-footer",data:e,originalEvent:t}),x=class{constructor(o){t(this,o),this.duetChange=e(this,"duetChange",3),this.duetLogoClick=e(this,"duetLogoClick",7),this.duetMenuClick=e(this,"duetMenuClick",7),this.duetItemClick=e(this,"duetItemClick",7),this.duetAnalytics=e(this,"duetAnalytics",7),this.duetEvent=e(this,"duetEvent",7),this.processedMainItem=null,this.processedItems=null,this.processedMenu=null,this.theme="",this.variation="default",this.margin="auto",this.logoHref="/",this.language=u(),this.accessibleLabelExternalDefaults=d,this.accessibleLabelExternal=m(this.accessibleLabelExternalDefaults),this.handleClick=t=>{t.data.analyticsId&&this.duetAnalytics.emit({component:"duet-footer",analyticsId:t.data.analyticsId}),this.duetChange.emit(t)},this.handleLogoClick=t=>{const e=b(t,{href:this.logoHref,label:"logo"});this.duetLogoClick.emit(e),this.handleClick(e)},this.handleMenuClick=(t,e)=>{const o=b(t,e);this.handleClick(o),this.duetMenuClick.emit(o)},this.handleItemClick=(t,e)=>{const o=b(t,e);this.handleClick(o),this.duetItemClick.emit(o)},this.emitDuetEvent=(t,e)=>{this.duetEvent.emit({component:"duet-footer",data:e,originalEvent:t})},this.setDataAttributes=(t,e)=>{if(e.data)for(const o in e.data)t.dataset[o]=e.data[o]}}componentWillLoad(){n(this),this.refresh(),this.hasInfoSlot=h(this.element,"info")}connectedCallback(){p(this,{prop:"accessibleLabelExternal",defaults:"accessibleLabelExternalDefaults"}),s(this)}disconnectedCallback(){f(this),l(this)}async refresh(){this.processedItems=c(this.items),this.processedMenu=c(this.menu)}getTopItemButtonIcon(t){var e,o;if(!t.href||!t.external)return(null===(e=t.href)||void 0===e?void 0:e.startsWith("tel:"))?"form-tel":(null===(o=t.href)||void 0===o?void 0:o.startsWith("mailto:"))?"navigation-message":"navigation-arrow-right"}isMessagingLink(t){return(null==t?void 0:t.startsWith("tel:"))||(null==t?void 0:t.startsWith("mailto:"))}render(){const t=m(g,this.language),e="turva"===this.theme?t.turva:t.lahi;return o("footer",{key:"a1f13a9e8d015c33626dc35acfbac299d5d798b8",class:{"duet-footer":!0,"duet-m-0":"none"===this.margin,"duet-theme-turva":"turva"===this.theme,"duet-footer-simple":"simple"===this.variation},"aria-label":this.accessibleLabel},o("div",{key:"48ff4a3d5e8df21215a409def47ead6f70f697fa",class:"duet-footer-wrapper"},"simple"!==this.variation&&o("div",{key:"a0cc027a05d4c054e0f99c2c2ad3fb6b34a58873",class:{"duet-footer-top":!0,"duet-has-info":this.hasInfoSlot},part:"top"},o("div",{key:"3724f9ef6f0af6ca9812b4c9c2854209a80cb38b",class:"footer-top-logo"},o("duet-logo",{key:"10e4b82fa2f117f130a2458a64249d36b5f99564",href:this.logoHref,onClick:this.handleLogoClick,size:"large",inverse:!0,language:this.language,theme:this.theme})),o("div",{key:"40ceb56a8366b96d5a9afc572984ff027249cfd0",class:"footer-top-right-container"},o("slot",{key:"e3f21c2f91e64c844a95d40344104e8aff352013",name:"info"}),o("div",{key:"a2c5b4d2dad3aa29116a8fe5d2bd4525b6a6ad5c",class:"footer-top-items"},this.processedItems&&this.processedItems.map(((t,e)=>o(i,null,e>0&&o("duet-spacer",{size:"x-large",direction:"horizontal"}),o("duet-button",{ref:e=>this.setDataAttributes(e,t),theme:this.theme,id:t.id,class:"duet-footer-link",variation:"plain",margin:"none",fixed:!0,negative:!0,url:t.href,external:t.external,icon:this.getTopItemButtonIcon(t),"icon-right":!this.isMessagingLink(t.href),"icon-size":this.isMessagingLink(t.href)?"medium":"medium-small",onClick:e=>this.handleItemClick(e,t),onMouseEnter:e=>this.emitDuetEvent(e,t),onTouchStart:e=>this.emitDuetEvent(e,t)},t.label))))))),o("slot",{key:"0058cff0a643b85a2373c0b2633f5d8d293cf639",name:"extra"}),o("p",{key:"6e0623c40daaab7ecf2ba1abb3e6f5935bac445b",class:"duet-footer-menu",part:"menu"},o("span",{key:"abb2319d06c15e6d423337f75f713e835188c326",class:"duet-footer-copyright"},`${e} ${(new Date).getFullYear()}`),o("span",{key:"f0b19fd6cc3da55c0519ab7e499f9d24df20ebc8",class:"duet-footer-menu-links"},this.processedMenu&&o(i,{key:"308c16b052419e8570fe7e39a5708f45bb58a00d"},this.processedMenu.map((t=>o("a",{ref:e=>this.setDataAttributes(e,t),href:t.href,id:t.id,target:t.external?"_blank":"_self",onClick:e=>this.handleMenuClick(e,t),onMouseEnter:e=>this.emitDuetEvent(e,t),onTouchStart:e=>this.emitDuetEvent(e,t)},t.label,t.external&&o(i,null,o("duet-visually-hidden",null,", ",this.accessibleLabelExternal),o("span",{class:"duet-footer-external"},o("duet-icon",{icon:a.svg,size:"xx-small",margin:"none",color:"currentColor"}))),o("span",{class:"duet-footer-divider",role:"presentation","aria-hidden":"true"},"/"))))))),o("p",{key:"6308d6f3a762e1945a197a58efa9536c82412fdc",class:"duet-footer-copyright duet-footer-copyright-mobile"},`${e} ${(new Date).getFullYear()}`)))}get element(){return r(this)}static get watchers(){return{menu:["refresh"],items:["refresh"]}}};x.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;display:block;flex-shrink:0;width:100%}::slotted([slot=info]){padding:0 28px;margin-top:0;margin-bottom:16px}@media (min-width: 62em){::slotted([slot=info]){padding:0;margin-top:calc(20px - 0.5em);margin-bottom:0}}.duet-footer{display:block;width:100%;padding-top:24px;padding-bottom:16px;margin-top:48px;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;line-height:1.5;color:rgb(255, 255, 255);text-align:left;background:rgb(8, 42, 77)}.duet-footer.duet-p-0{padding:0 !important}.duet-footer.duet-m-0{margin:0 !important}@media (min-width: 62em){.duet-footer{padding-top:48px;padding-bottom:36px}}.duet-footer.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";background:rgb(230, 23, 64)}.duet-footer a{color:rgb(255, 255, 255);text-decoration:none}.duet-footer a:focus{outline:0}:host(.user-is-tabbing) .duet-footer a:focus{outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva :host(.user-is-tabbing) .duet-footer a:focus,:host(.user-is-tabbing) .duet-footer a:focus.duet-theme-turva,.duet-theme-turva2 :host(.user-is-tabbing) .duet-footer a:focus,:host(.user-is-tabbing) .duet-footer a:focus.duet-theme-turva2{outline-color:rgba(53, 79, 101, 0.8)}@media (min-width: 62em){.duet-footer a{border-radius:4px}}.duet-footer-wrapper{position:relative;margin:0 auto}@media (min-width: 62em){.duet-footer-wrapper{padding:0 72px 0 48px}}@media (min-width: 76.25em){.duet-footer-wrapper{max-width:1110px;padding:0 20px 0 0}}.duet-footer-top{width:100%}@media (min-width: 62em){.duet-footer-top{display:flex;flex-direction:row;align-items:center}.duet-footer-top.duet-has-info{align-items:flex-start}}.duet-footer-top .footer-top-logo{flex-grow:1}.duet-footer-top .footer-top-right-container{flex-grow:1}@media (min-width: 62em){.duet-footer-top .footer-top-right-container{text-align:right}}.duet-footer-top .footer-top-items{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding-left:28px}@media (min-width: 62em){.duet-footer-top .footer-top-items{flex-direction:row;justify-content:flex-end}}duet-logo{margin-bottom:24px;margin-left:16px !important}@media (min-width: 62em){duet-logo{margin-bottom:0;margin-left:0 !important}}.duet-footer-link{padding:16px !important;display:flex;flex-direction:row;align-items:center;width:100%;font-weight:600;border-bottom:1px solid rgba(255, 255, 255, 0.2);transition:background-color 300ms ease}@media (min-width: 36em){.duet-footer-link{padding-right:20px !important;padding-left:28px !important}}@media (min-width: 62em){.duet-footer-link{width:auto;min-width:0;padding-right:0 !important;padding-left:0 !important;border:0}}.duet-footer-link:first-of-type{margin-top:20px;border-top:1px solid rgba(255, 255, 255, 0.2)}@media (min-width: 62em){.duet-footer-link:first-of-type{margin:0;border:0}}.duet-footer-link span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duet-footer-link:hover{background:rgba(0, 0, 0, 0.1)}@media (min-width: 62em){.duet-footer-link:hover{background:transparent}}.duet-footer-menu{padding:20px !important;display:flex;gap:2rem;padding-left:28px !important;font-size:0.875rem}@media (min-width: 36em){.duet-footer-menu{padding:28px !important}}@media (min-width: 62em){.duet-footer-menu{padding-right:0 !important;padding-left:8px !important}}.duet-footer-menu a{display:inline-block;overflow-wrap:break-word;text-decoration:none}.duet-footer-menu a:hover,.duet-footer-menu a:focus{text-decoration:underline}.duet-footer-menu a:hover .duet-footer-divider,.duet-footer-menu a:focus .duet-footer-divider{text-decoration:none}.duet-footer-menu .duet-footer-divider{display:inline-block;margin:0 8px}.duet-footer-menu .duet-footer-divider-copyright{display:none}.duet-footer-menu .duet-footer-menu-links{display:block;flex:1}@media (min-width: 62em){.duet-footer-menu .duet-footer-menu-links{text-align:right}}.duet-footer-menu a:last-of-type .duet-footer-divider{display:none}.duet-footer-copyright{display:none;font-size:0.875rem;color:rgb(255, 255, 255)}@media (min-width: 62em){.duet-footer-copyright{display:inline}}.duet-footer-copyright.duet-footer-copyright-mobile{display:block;padding-top:0.5rem;padding-bottom:1.25rem;padding-left:28px;text-align:left}@media (min-width: 62em){.duet-footer-copyright.duet-footer-copyright-mobile{display:none}}.duet-footer-simple{padding:0;margin:0;margin-top:16px;color:rgb(8, 42, 77);background:transparent !important;border-top:1px solid rgb(212, 223, 229)}.duet-footer-simple .duet-footer-wrapper{max-width:100%;padding:0 20px;margin:0}@media (min-width: 62em){.duet-footer-simple .duet-footer-wrapper{padding:0 36px}}@media (min-width: 106.25em){.duet-footer-simple .duet-footer-wrapper{padding:0 48px}}.duet-footer-simple .duet-footer-copyright,.duet-footer-simple .duet-footer-menu a{color:rgb(8, 42, 77)}.duet-footer-simple .duet-footer-menu{padding:20px 0 !important}.duet-footer-simple .duet-footer-copyright-mobile{padding-left:0}.duet-footer-simple.duet-theme-turva{color:rgb(23, 42, 59);border-color:rgb(212, 221, 226)}.duet-footer-simple.duet-theme-turva .duet-footer-copyright,.duet-footer-simple.duet-theme-turva .duet-footer-menu a{color:rgb(23, 42, 59)}.duet-footer-external{display:inline-block;margin-left:4px;color:rgb(0, 119, 179)}.duet-theme-turva .duet-footer-external{color:rgb(255, 255, 255)}.duet-footer-simple.duet-theme-turva .duet-footer-external{color:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-footer.duet-theme-turva{background:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-footer-simple.duet-theme-turva{color:rgb(23, 42, 59);border-color:rgb(212, 221, 226)}:host(.duet-theme-turva2) .duet-footer-simple.duet-theme-turva .duet-footer-copyright,:host(.duet-theme-turva2) .duet-footer-simple.duet-theme-turva .duet-footer-menu a{color:rgb(23, 42, 59)}:host(.duet-theme-turva2) .duet-footer-simple.duet-theme-turva .duet-footer-external{color:rgb(230, 23, 64)}:host(.duet-theme-turva2) duet-logo{margin-left:28px !important}@media (min-width: 62em){:host(.duet-theme-turva2) duet-logo{margin-left:0 !important}}@media (min-width: 62em){:host(.duet-theme-turva2) ::slotted([slot=info]){margin-top:4px}}';export{x as duet_footer}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{r as e,c as t,h as o,H as a,g as n}from"./p-D01wpYGA.js";import{i as s}from"./p-Brp9BZK6.js";import{s as i,u as d}from"./p-Db8rvjPI.js";const r=class{constructor(o){e(this,o),this.duetCookieConsent=t(this,"duetCookieConsent",7),this.accessibleLabel="Hyväksyn evästeiden käytön",this.theme="",this.handleClick=e=>{e.preventDefault(),this.duetCookieConsent.emit({component:"duet-cookie-consent"})}}handleFocusIn(e){e.composedPath()[0]!==this.element&&this.element.classList.add("descendant-focused")}handleFocusOut(){this.element.classList.remove("descendant-focused")}componentWillLoad(){s(this)}connectedCallback(){i(this)}disconnectedCallback(){d(this)}render(){return o(a,{key:"a0945b87dc3ca428ebb77b5bafc937d26fe77b58",tabindex:"-1",class:{"duet-theme-turva":"turva"===this.theme}},o("div",{key:"e4870573df557f7b4d7a6075afbd04fc23f54ff1",class:{"duet-cookie-consent":!0,"duet-theme-turva":"turva"===this.theme}},o("div",{key:"d0f1b43a014ccc35c9845c8c4117a8552eee8209",class:"duet-cookie-consent-content"},o("div",{key:"98d8e55937ee5afda2a8d975ebb0d4e5aefc0014",class:"expand"},o("slot",{key:"5529c9819da700b849bbf3e0f4b4c93cf4da6015"})),o("duet-spacer",{key:"82e710ce0de7d91f931cbb2177d6470f77701ec4",size:"large",direction:"horizontal"}),o("div",{key:"9cbf5dd3a7d82025a0912ca016b67e1b0f0022fc"},o("duet-button",{key:"50a246e22443b54c881d40063c0405f07d7190dc",variation:"negative",size:"small",onClick:this.handleClick,margin:"none","aria-label":this.accessibleLabel,theme:this.theme},"OK")))))}get element(){return n(this)}};r.style='*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;position:fixed;right:0;bottom:0;left:0;z-index:950;display:block;width:100%;box-shadow:0 2px 20px 0 rgba(0, 0, 0, 0.2)}@media (min-width: 48em){:host{right:28px;bottom:28px;left:auto;width:25rem}}:host(:focus){outline:0}:host(.user-is-tabbing:not(.descendant-focused):focus){outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8);border-radius:4px}.duet-theme-turva :host(.user-is-tabbing:not(.descendant-focused):focus),:host(.user-is-tabbing:not(.descendant-focused):focus).duet-theme-turva,.duet-theme-turva2 :host(.user-is-tabbing:not(.descendant-focused):focus),:host(.user-is-tabbing:not(.descendant-focused):focus).duet-theme-turva2{outline-color:rgba(53, 79, 101, 0.8)}.duet-cookie-consent{padding:20px;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;color:rgb(255, 255, 255) !important;background-color:rgba(4, 21, 39, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent{background:rgba(4, 21, 39, 0.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.duet-cookie-consent.duet-theme-turva{font-family:"turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";background-color:rgba(12, 21, 30, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){.duet-cookie-consent.duet-theme-turva{background:rgba(12, 21, 30, 0.8)}}@media (min-width: 48em){.duet-cookie-consent{padding:20px;border-radius:4px}}.duet-cookie-consent-content{display:flex;align-items:center;max-width:1110px;margin:0 auto}.duet-cookie-consent-content .expand{flex:1}::slotted(a){font-weight:600;color:rgb(255, 255, 255) !important;white-space:nowrap;text-decoration:underline}::slotted(a[target=_blank]){padding-right:16px;background:url("data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjUgMmExLjUgMS41IDAgMDEuMTQgM0gzLjc1Yy0uMzggMC0uNy4yOC0uNzQuNjVsLS4wMS4xdjE0LjVjMCAuMzguMjguNy42NS43NGwuMS4wMWgxNC41Yy4zOCAwIC43LS4yOC43NC0uNjVsLjAxLS4xdi02Ljg5YTEuNSAxLjUgMCAwMTMgMHY2Ljg5QTMuNzUgMy43NSAwIDAxMTguMjUgMjRIMy43NUEzLjc1IDMuNzUgMCAwMTAgMjAuMjVWNS43NUEzLjc1IDMuNzUgMCAwMTMuNzUgMnptMTItMmMuNzggMCAxLjQyLjYgMS41IDEuMzZWNy41YTEuNSAxLjUgMCAwMS0zIC4xNFY1LjEybC01LjQ0IDUuNDRhMS41IDEuNSAwIDAxLTIuMjItMmwuMS0uMTJMMTguODggM0gxNi41QTEuNSAxLjUgMCAwMTE1IDEuNjRWMS41YzAtLjc4LjYtMS40MiAxLjM2LTEuNWguMTR6Ii8+PC9zdmc+") no-repeat right 50%;background-size:12px 10px}::slotted(a:focus){outline:2px solid;outline-offset:2px;outline-color:rgba(0, 119, 179, 0.8)}.duet-theme-turva ::slotted(a:focus),::slotted(a:focus).duet-theme-turva,.duet-theme-turva2 ::slotted(a:focus),::slotted(a:focus).duet-theme-turva2{outline-color:rgba(53, 79, 101, 0.8)}:host(.duet-theme-turva2) .duet-cookie-consent.duet-theme-turva{background-color:rgba(12, 21, 30, 0.9)}@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none){:host(.duet-theme-turva2) .duet-cookie-consent.duet-theme-turva{background:rgba(12, 21, 30, 0.8)}}';export{r as duet_cookie_consent}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{E as t,r as e,h as i,H as s,g as a}from"./p-D01wpYGA.js";import{i as o}from"./p-Brp9BZK6.js";import{g as n,r as d}from"./p-De8V1Ewb.js";import"./p-BzrE0-hp.js";const h=t=>{if("script"===t.nodeName.toLowerCase())return!1;for(let e=0;e<t.attributes.length;e++)if(0===t.attributes[e].name.toLowerCase().indexOf("on"))return!1;if(t.children)for(let e=0;e<t.children.length;e++)if(!h(t.children[e]))return!1;return!0},r={};const u=class{constructor(t){e(this,t),this.theme="",this.name="action-add",this.margin="auto",this.responsive=!0,this.color="",this.background="",this.backgroundOpacity=1,this.backgroundRotation=0,this.size="medium",this.outline="",this.shape="circle"}async componentWillLoad(){o(this),this.src&&this.icon&&console.warn("[DUET COMPONENTS]: <duet-icon> should have either have src or icon attributes, but not both. icon attribute will take precedence","icon:",this.icon,"src:",this.src),await this.loadIcon(null,null)}async loadIcon(e,i){if(this.icon)return void(this.svgContent=this.icon);if(this.element.shadowRoot.querySelector("svg")&&!this.svgContent){if(null===i&&null===e)return;if(this.element.shadowRoot.querySelector(`.duet-icon-svg[data-name="${e}"]`))return}const s=this.src?this.src:this.name?(e=>{const i=window.duetcdnuri?window.duetcdnuri:t.cdnURIProd;return i.includes("localhost")?`${i}/icons/lib/assets/${e}.svg`:`${i}/icons/${t.duetIconVersion}/lib/assets/${e}.svg`})(this.name):"";if(s)try{this.svgContent=await function(t){if(r[t])return r[t];const e=async function(){const e=await fetch(t);if(!e.ok)throw new Error(`SVG request failed: ${e.status} ${e.statusText}`);const i=(t=>{if("undefined"==typeof document||!t)return;const e=document.createElement("div");e.innerHTML=t;for(let t=e.childNodes.length-1;t>=0;t--)"svg"!==e.childNodes[t].nodeName.toLowerCase()&&e.removeChild(e.childNodes[t]);return e.firstElementChild})(await e.text());if(!h(i))throw new Error("SVG validation failed");const s=document.createElement("div");return s.appendChild(i),s.innerHTML}();return r[t]=e}(s)}catch(t){console.warn(`[DUET COMPONENTS]: <duet-icon> could not load SVG from URL: ${s}.`,t)}else this.svgContent=""}render(){const t="currentColor"===this.color?"currentColor":n(this.color,this.theme)||n(this.outline,this.theme),e=this.backgroundRotation?{transform:`rotate(${this.backgroundRotation}deg)`,"transform-origin":"center center"}:{},a=Object.assign({color:t,background:d(n(this.background,this.theme),this.backgroundOpacity),"border-color":n(this.outline,this.theme)},e),o=Object.assign({},this.backgroundRotation?{transform:`rotate(-${this.backgroundRotation}deg)`,"transform-origin":"center center"}:{}),h="brand-rotated"===this.shape?"duet-icon-shape-brand":`duet-icon-shape-${this.shape}`;return i(s,{key:"f6a74ccabd59055d22eec3654bde9c81fd4a9ce3",class:{"duet-m-0":"none"===this.margin,"duet-icon-has-outline":!!this.outline,"duet-icon-has-background":!!this.background}},i("span",{key:"f2ea10e9ec8459d5a5995781e193c6d8df7fb1ef","aria-hidden":"true",style:a,class:{"duet-icon":!0,"duet-theme-turva":"turva"===this.theme,"duet-theme-default":"default"===this.theme,"duet-icon-has-outline":!!this.outline,"duet-icon-has-background":!!this.background,[h]:!0,rotated:"brand-rotated"===this.shape&&"turva"!==this.theme,"duet-icon-not-responsive":!this.responsive}},i("span",{key:"3d93b31d1831fa77b71a5f574a38d838636c7757","aria-hidden":"true",class:{"duet-icon-svg":!0,rotated:"brand-rotated"===this.shape&&"turva"!==this.theme},"data-name":this.name,innerHTML:this.svgContent,style:o})))}get element(){return a(this)}static get watchers(){return{src:["loadIcon"],icon:["loadIcon"],name:["loadIcon"]}}};u.style="*,*::after,*::before{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0}:host{box-sizing:border-box;padding:0;margin:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0;margin-bottom:16px !important;display:inline-block;width:auto;max-width:100%;color:inherit;-webkit-tap-highlight-color:transparent}@media (max-width: 35.9375em){:host(.duet-icon-has-outline){margin-bottom:0 !important}}@media (max-width: 35.9375em){:host(.duet-icon-has-background){margin-bottom:0 !important}}:host(.duet-m-0){margin:0 !important}@media (max-width: 35.9375em){:host(.duet-m-0){margin:0 !important}}.duet-icon{-webkit-user-select:none;user-select:none;display:block;width:100%;height:100%;transform-origin:top center}.duet-icon.duet-icon-has-outline{padding:12px;border-style:solid;border-width:1px}@media (max-width: 35.9375em){.duet-icon.duet-icon-has-outline{outline:1px solid transparent;transform:scale(0.8)}}.duet-icon.duet-icon-has-background{padding:16px;color:rgb(255, 255, 255)}@media (max-width: 35.9375em){.duet-icon.duet-icon-has-background{outline:1px solid transparent;transform:scale(0.8)}}.duet-icon.duet-icon-has-background.duet-theme-turva,.duet-icon.duet-icon-has-background.duet-theme-default{color:rgb(255, 255, 255)}.duet-icon.duet-icon-shape-circle{border-radius:50%}.duet-icon.duet-icon-shape-brand{border-radius:25%}@media (max-width: 35.9375em){.duet-icon.duet-icon-not-responsive{transform:scale(1) !important}}.duet-icon.duet-theme-default{color:rgb(0, 119, 179)}.duet-icon.duet-theme-turva{color:rgb(230, 23, 64)}.duet-icon.duet-icon-shape-brand.rotated{transform:rotate(7deg) scale(0.875);transform-origin:center}.duet-icon.duet-icon-shape-brand.duet-theme-turva{display:flex;align-items:center;justify-content:center;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 144 130' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M67.4002 0.00277722C71.354 0.0260204 75.7751 0.261773 80.1626 0.90262C83.3916 1.37412 86.6046 1.97513 89.824 2.51802C91.5585 2.81022 93.3026 3.05925 95.0291 3.3996C102.623 4.89215 109.884 7.35924 116.592 11.4152C122.597 15.0478 127.726 19.7163 131.919 25.4756C135.024 29.7374 137.515 34.3662 139.4 39.3319C140.317 41.7459 141.075 44.2262 141.854 46.695C142.021 47.2196 141.984 47.8157 142.021 48.3801C142.354 53.5833 142.664 58.7864 143.018 63.9879C143.237 67.2021 143.528 70.4097 143.768 73.6206C144.067 77.5985 144.095 81.578 143.746 85.5576C143.501 88.3567 143.106 91.1293 142.437 93.8537C141.117 99.2395 138.941 104.207 135.603 108.58C132.414 112.759 128.49 116.036 123.975 118.561C120.429 120.544 116.702 122.058 112.824 123.175C109.121 124.241 105.361 125.011 101.548 125.493C100.916 125.572 100.351 125.768 99.783 126.074C98.1525 126.95 96.3956 127.47 94.6163 127.912C91.4225 128.705 88.1775 129.168 84.9149 129.495C83.0572 129.681 81.1978 129.838 79.3385 129.995C79.1337 130.012 78.9097 129.985 78.7161 129.916C76.2087 129.009 73.6566 128.255 71.0356 127.825C68.8547 127.467 66.6529 127.135 64.4512 127.047C58.4156 126.809 52.54 125.717 46.7989 123.809C40.8193 121.822 35.1245 119.181 29.8458 115.634C24.3911 111.97 19.5668 107.566 15.4705 102.313C10.9582 96.5267 7.406 90.1597 4.73864 83.2598C2.95772 78.6544 1.67604 73.8978 0.898394 68.9935C0.328759 65.3975 0.0183391 61.7798 0.000737963 58.1373C-0.0120628 55.3132 0.141547 52.4992 0.471168 49.6934C0.867992 46.3131 1.46643 42.9728 2.35449 39.6955C2.6121 38.7458 3.02813 37.8327 3.44735 36.9395C4.105 35.5366 4.70343 34.0773 5.54829 32.8006C7.15959 30.3683 8.51487 27.8182 9.53734 25.0705C9.60134 24.8962 9.71655 24.7302 9.84136 24.5957C12.1119 22.1535 14.5201 19.8674 17.0514 17.7191C23.9622 11.8551 31.6315 7.39743 40.0769 4.39076C44.0019 2.99285 48.023 1.97015 52.1144 1.24795C56.6011 0.45934 62.4495 -0.0420489 67.4002 0.00277722Z' /%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 144 130' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M67.4002 0.00277722C71.354 0.0260204 75.7751 0.261773 80.1626 0.90262C83.3916 1.37412 86.6046 1.97513 89.824 2.51802C91.5585 2.81022 93.3026 3.05925 95.0291 3.3996C102.623 4.89215 109.884 7.35924 116.592 11.4152C122.597 15.0478 127.726 19.7163 131.919 25.4756C135.024 29.7374 137.515 34.3662 139.4 39.3319C140.317 41.7459 141.075 44.2262 141.854 46.695C142.021 47.2196 141.984 47.8157 142.021 48.3801C142.354 53.5833 142.664 58.7864 143.018 63.9879C143.237 67.2021 143.528 70.4097 143.768 73.6206C144.067 77.5985 144.095 81.578 143.746 85.5576C143.501 88.3567 143.106 91.1293 142.437 93.8537C141.117 99.2395 138.941 104.207 135.603 108.58C132.414 112.759 128.49 116.036 123.975 118.561C120.429 120.544 116.702 122.058 112.824 123.175C109.121 124.241 105.361 125.011 101.548 125.493C100.916 125.572 100.351 125.768 99.783 126.074C98.1525 126.95 96.3956 127.47 94.6163 127.912C91.4225 128.705 88.1775 129.168 84.9149 129.495C83.0572 129.681 81.1978 129.838 79.3385 129.995C79.1337 130.012 78.9097 129.985 78.7161 129.916C76.2087 129.009 73.6566 128.255 71.0356 127.825C68.8547 127.467 66.6529 127.135 64.4512 127.047C58.4156 126.809 52.54 125.717 46.7989 123.809C40.8193 121.822 35.1245 119.181 29.8458 115.634C24.3911 111.97 19.5668 107.566 15.4705 102.313C10.9582 96.5267 7.406 90.1597 4.73864 83.2598C2.95772 78.6544 1.67604 73.8978 0.898394 68.9935C0.328759 65.3975 0.0183391 61.7798 0.000737963 58.1373C-0.0120628 55.3132 0.141547 52.4992 0.471168 49.6934C0.867992 46.3131 1.46643 42.9728 2.35449 39.6955C2.6121 38.7458 3.02813 37.8327 3.44735 36.9395C4.105 35.5366 4.70343 34.0773 5.54829 32.8006C7.15959 30.3683 8.51487 27.8182 9.53734 25.0705C9.60134 24.8962 9.71655 24.7302 9.84136 24.5957C12.1119 22.1535 14.5201 19.8674 17.0514 17.7191C23.9622 11.8551 31.6315 7.39743 40.0769 4.39076C44.0019 2.99285 48.023 1.97015 52.1144 1.24795C56.6011 0.45934 62.4495 -0.0420489 67.4002 0.00277722Z' /%3E%3C/svg%3E\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;mask-position:center}.duet-icon.duet-icon-shape-brand.duet-theme-turva .duet-icon-svg{min-width:auto}.duet-icon .duet-icon-svg{display:block;width:24px;min-width:100%;height:24px;font-size:0}.duet-icon .duet-icon-svg.rotated{transform:rotate(-7deg) scale(1.14)}.duet-icon svg{width:100%;min-width:100%;overflow:clip;fill:currentColor;overflow-clip-margin:1px}:host([size=auto]) .duet-icon-svg{width:100%;height:100%}:host([size=xxx-small]) .duet-icon-svg{width:7px;height:7px}:host([size=xxx-small]) .duet-icon-has-background{padding:6px}:host([size=xxx-small]) .duet-icon-has-outline{padding:4px}:host([size=xxx-small]) .duet-icon-has-background .duet-icon-svg,:host([size=xxx-small]) .duet-icon-has-outline .duet-icon-svg{width:10px;height:10px}:host([size=xxx-small]) .duet-icon-shape-brand{padding:0}:host([size=xxx-small]) .duet-icon-shape-brand .duet-icon-svg{width:0;height:0}:host([size=xx-small]) .duet-icon-svg{width:10px;height:10px}:host([size=xx-small]) .duet-icon-has-background{padding:8px}:host([size=xx-small]) .duet-icon-has-outline{padding:7px}:host([size=xx-small]) .duet-icon-has-background .duet-icon-svg,:host([size=xx-small]) .duet-icon-has-outline .duet-icon-svg{width:16px;height:16px}:host([size=xx-small]) .duet-icon-shape-brand{padding:4px}:host([size=xx-small]) .duet-icon-shape-brand .duet-icon-svg{width:10px;height:10px}:host([size=xx-small]) .duet-theme-turva .duet-icon-shape-brand{width:18px;height:15px;padding:0}:host([size=x-small]) .duet-icon-svg{width:16px;height:16px}:host([size=x-small]) .duet-icon-has-outline{padding:10px}:host([size=x-small]) .duet-icon-has-background{padding:12px}:host([size=x-small]) .duet-icon-shape-brand{padding:8px}:host([size=x-small]) .duet-icon-shape-brand .duet-icon-svg{width:16px;height:16px}:host([size=x-small]) .duet-theme-turva .duet-icon-shape-brand{width:32px;height:30px;padding:0}:host([size=small]) .duet-icon-svg{width:20px;height:20px}:host([size=small]) .duet-icon-has-background{padding:14px}:host([size=small]) .duet-icon-shape-brand{padding:8px}:host([size=small]) .duet-icon-shape-brand .duet-icon-svg{width:20px;height:20px}:host([size=small]) .duet-theme-turva .duet-icon-shape-brand{width:36px;height:34px;padding:0}:host([size=medium]) .duet-icon-shape-brand{padding:12px}:host([size=medium]) .duet-icon-shape-brand .duet-icon-svg{width:24px;height:24px}:host([size=medium]) .duet-theme-turva .duet-icon-shape-brand{width:48px;height:44px;padding:0}:host([size=large]) .duet-icon-svg{width:30px;height:30px}:host([size=large]) .duet-icon-shape-brand{padding:16px}:host([size=large]) .duet-icon-shape-brand .duet-icon-svg{width:30px;height:30px}:host([size=large]) .duet-theme-turva .duet-icon-shape-brand{width:62px;height:56px;padding:0}:host([size=x-large]) .duet-icon-svg{width:36px;height:36px}:host([size=x-large]) .duet-icon-shape-brand{padding:20px}:host([size=x-large]) .duet-icon-shape-brand .duet-icon-svg{width:36px;height:36px}:host([size=x-large]) .duet-theme-turva .duet-icon-shape-brand{width:76px;height:68px;padding:0}:host([size=xx-large]) .duet-icon-svg{width:48px;height:48px}:host([size=xx-large]) .duet-icon-shape-brand{padding:24px}:host([size=xx-large]) .duet-icon-shape-brand .duet-icon-svg{width:48px;height:48px}:host([size=xx-large]) .duet-theme-turva .duet-icon-shape-brand{width:95px;height:86px;padding:0}:host([size=xxx-large]) .duet-icon-svg{width:48px;height:48px}@media (min-width: 48em){:host([size=xxx-large]) .duet-icon-svg{width:72px;height:72px}}:host([size=xxx-large]) .duet-icon-shape-brand{padding:36px}:host([size=xxx-large]) .duet-icon-shape-brand .duet-icon-svg{width:72px;height:72px}:host([size=xxx-large]) .duet-theme-turva .duet-icon-shape-brand{width:144px;height:130px;padding:0}:host(.duet-theme-turva2) .duet-icon.duet-theme-turva{color:rgb(230, 23, 64)}:host(.duet-theme-turva2) .duet-icon.duet-theme-turva.duet-icon-has-background{color:rgb(255, 255, 255)}:host(.duet-theme-turva2) .duet-icon.duet-theme-turva.duet-icon-shape-brand{border-radius:16%;-webkit-mask-image:none;mask-image:none}";export{u as duet_icon}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Built with Duet Design System
|
|
3
|
-
*/
|
|
4
|
-
import{h as e,r as n,H as t,g as i}from"./p-D01wpYGA.js";import{i as a}from"./p-Brp9BZK6.js";import{h as s,c as r}from"./p-B0U815Vi.js";import{p as d}from"./p-C6E9F6QT.js";import{g as o,p as l}from"./p-De8V1Ewb.js";import"./p-BzrE0-hp.js";const u=({img:n,sources:t})=>e("picture",null,t&&t.map((n=>e("source",{srcSet:n.srcset,media:n.media,type:n.type,sizes:n.sizes}))),e("img",Object.assign({},n))),m=class{constructor(e){n(this,e),this.theme="",this.margin="auto",this.backgroundColor="primary-lighter",this.iconColor="gray-lightest",this.iconBackgroundColor="primary",this.textColor="secondary",this.size="large",this.image="",this.icon="",this.headingLevel="h2",this.checkCurrentSize=()=>{const e=this.element.clientWidth;this.currentSize=e<500||"small"===this.size?"small":e<900||"medium"===this.size?"medium":"large",this.setButtonSize()},this.setButtonSize=()=>{if(this.hasActionSlot&&this.currentSize){const e=this.element.querySelectorAll("[slot='action'] duet-button, duet-button[slot='action']");for(const n of e)n&&null===n.getAttribute("size")&&"large"!==this.currentSize?n.size="small":n&&null===n.getAttribute("size")&&"large"===this.currentSize&&(n.size="medium")}},this.isTurva2=()=>{var e;return null===(e=document.documentElement.attributes.getNamedItem("class"))||void 0===e?void 0:e.value.includes("duet-theme-turva2")},this.getBackgroundColor=()=>"turva"===this.theme&&"primary-lighter"===this.backgroundColor?this.isTurva2()?o("turva-nude-50",this.theme):o("gray-lighter",this.theme):o(this.backgroundColor,this.theme)}componentWillLoad(){a(this),this.hasHeadingSlot=s(this.element,"heading"),this.hasDescriptionSlot=s(this.element,"description"),this.hasActionSlot=s(this.element,"action"),r(this.element,"heading","span"),this.setButtonSize()}connectedCallback(){window.addEventListener("resize",this.checkCurrentSize)}disconnectedCallback(){window.removeEventListener("resize",this.checkCurrentSize)}componentDidRender(){this.checkCurrentSize()}render(){const n=this.getBackgroundColor(),i=o(this.textColor,this.theme),a={backgroundColor:n},s={img:{src:this.image,alt:this.imageAlt||"",loading:"lazy",class:"image",role:this.imageAlt?void 0:"presentation"},sources:d(this.sources)};return e(t,{key:"38f57d004daf85f022fb1e8289a00d63dbe78a31",class:{"duet-m-0":"none"===this.margin}},e("aside",{key:"0667b2510bdf502f24178e226897239cc0905843",class:{"duet-banner":!0,"duet-theme-turva":"turva"===this.theme,[this.currentSize]:!0,"size-medium":"medium"===this.size||"large"===this.size,"size-large":"large"===this.size,"no-image":!this.image},style:a},e("div",{key:"b7266d2d9986afecfc9fa233950090500ac811b4",class:"visual"},e("div",{key:"a3b71e01ad58dd30a19413c2daad81fc0e5f617d",class:"image-container"},this.image&&e(u,Object.assign({key:"8f687c33222c1f483c4354506729bd508c784f0f"},s))),!1,e("div",{key:"cab35290e96c82eaee8605e89646a239de7396b0",style:a,class:"brand-shape"})),e("div",{key:"b05d73b8fa653e30db6e5310c017b2890ba0d572",class:"content"},this.hasHeadingSlot&&e("div",{key:"b5cb84dbabf050477d224f323b18b25d26e65a42",class:"heading"},e("duet-heading",{key:"581d34f383f4679e06407583eadeacc0e2f651b4",theme:this.theme,level:this.headingLevel,"visual-level":"large"===this.currentSize?"h2":"h3","fixed-size":!0,margin:"none",color:l(this.textColor,this.theme)},e("span",{key:"285c1d82691487108eb3e52c8df65eb495b803dc"},e("slot",{key:"ba3c94dfe9dfc6900d41fe31ecd716e4c08bbaaa",name:"heading"})))),this.hasDescriptionSlot&&e("div",{key:"f9d06d854f0dab9e11c1945436eca5757696818d",class:"description",style:{color:i}},e("slot",{key:"72d05e038ee1a75f3c2ff6d353c0cc7891f00e06",name:"description"})),this.hasActionSlot&&e("div",{key:"6f27c979244fd9093fbe55d3fb375f7b6c18711c",class:"action"},e("slot",{key:"82532736b2e53a5020afc769526a0b824716cd66",name:"action"})))))}get element(){return i(this)}};m.style='*,\n*::after,\n*::before {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n}\n\n:host {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n border: 0;\n margin-right: 36px !important;\n margin-bottom: 36px !important;\n display: flex;\n justify-content: center;\n width: auto;\n container: duet-banner-container;\n container-type: inline-size;\n}\n:host:last-child, :host:last-of-type {\n margin-right: 0 !important;\n}\n[alignment=form-distribute] > :host:last-of-type:not(:last-child) {\n margin-right: 36px !important;\n}\n\n:host(.duet-m-0) {\n margin: 0 !important;\n}\n\n.duet-banner {\n display: grid;\n grid-template-rows: min-content 1fr;\n width: 100%;\n height: 100%;\n font-family: "localtapiola-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";\n font-style: normal;\n text-align: left;\n border-radius: 16px;\n}\n.duet-banner.duet-p-0 {\n padding: 0 !important;\n}\n.duet-banner.duet-m-0 {\n margin: 0 !important;\n}\n.duet-banner .visual {\n position: relative;\n display: none;\n overflow: hidden;\n}\n@container duet-banner-container (min-width: 0) {\n .duet-banner .visual {\n display: block;\n }\n}\n.duet-banner .visual .image-container {\n position: relative;\n aspect-ratio: 2/1;\n overflow: hidden;\n}\n.duet-banner .visual .image {\n position: relative;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n.duet-banner .visual .icon {\n position: absolute;\n}\n.duet-banner .visual .brand-shape {\n position: absolute;\n top: 0;\n left: 72%;\n display: none;\n width: 100%;\n height: 100%;\n mask-image: url("data:image/svg+xml,%3Csvg%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%20344%22%20fill%3D%22none%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M2.72641e-07%2091.1902C0.000476976%2097.9034%200.626077%20104.726%201.92282%20111.592L42.7493%20327.771C43.8045%20333.358%2045.2667%20338.776%2047.0996%20344H160V0H51.1439C19.7799%2019.1253%200.00268143%2053.4178%202.72641e-07%2091.1749C-9.08807e-08%2091.18%20-9.08875e-08%2091.1851%202.72641e-07%2091.1902Z%22%20fill%3D%22%23E6F2F8%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E");\n transform: scale(101%);\n}\n.duet-banner .content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 16px 20px 28px;\n}\n.duet-banner .content .description {\n hyphens: auto;\n}\n.duet-banner .action {\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-end;\n padding-top: 16px;\n}\n.duet-banner .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n}\n.duet-banner .visual .image-container {\n width: 100%;\n height: auto;\n border-radius: 0;\n}\n.duet-banner .visual .icon {\n bottom: 30px;\n left: 15px;\n}\n.duet-banner.duet-theme-turva {\n font-family: "turva-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";\n}\n.duet-banner.duet-theme-turva .visual .brand-shape {\n mask-image: url("data:image/svg+xml,%3Csvg viewBox=\'0 0 160 344\' fill=\'none\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cg clip-path=\'url(%23clip0_7920_3801)\'%3E%3Cpath fill-rule=\'evenodd\' clip-rule=\'evenodd\' d=\'M2.58983 142.533C0.751086 155.147 0.0746585 167.857 0.00796847 179.225C0.00263853 179.814 0 180.409 0 181.007C0 194.845 1.41172 210.806 3.58065 223.171C5.6528 234.934 8.58716 246.495 12.5981 257.779C21.2249 282.059 34.0151 304.109 50.8401 323.977C56.7824 330.993 63.0921 337.68 69.8162 344H160V0H65.0733C52.1771 10.7866 41.4339 23.4177 32.7528 37.7978C21.1154 57.0822 14.0367 77.9583 9.75424 99.7913C9.09214 103.157 8.55049 106.545 8.00901 109.933C7.75185 111.542 7.49474 113.15 7.22478 114.756C6.74308 117.618 6.24543 120.479 5.74776 123.34C4.6361 129.729 3.52432 136.12 2.58983 142.533Z\' fill=\'%23F5F5F7\'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id=\'clip0_7920_3801\'%3E%3Crect width=\'160\' height=\'344\' fill=\'white\'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.size-medium, .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-medium .visual, .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-medium .visual .image-container, .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-medium .visual .image, .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-medium .visual .icon, .duet-banner.size-large .visual .icon {\n top: 36px;\n left: 168px;\n }\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-medium .content, .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 28px 28px 28px 0;\n }\n .duet-banner.size-medium .action, .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n@container duet-banner-container (min-width: 586px) {\n .duet-banner.size-medium .visual .brand-shape, .duet-banner.size-large .visual .brand-shape {\n left: 80%;\n }\n}\n@container duet-banner-container (min-width: 900px) {\n .duet-banner.size-large {\n grid-template-rows: none;\n grid-template-columns: 50% 50%;\n }\n .duet-banner.size-large .visual {\n border-top-left-radius: 16px;\n border-bottom-left-radius: 16px;\n }\n .duet-banner.size-large .visual .image-container {\n height: 100%;\n }\n .duet-banner.size-large .visual .image {\n width: 100%;\n height: 100%;\n }\n .duet-banner.size-large .visual .icon {\n top: 40px;\n bottom: auto;\n left: 335px;\n }\n .duet-banner.size-large .visual .brand-shape {\n display: block;\n }\n .duet-banner.size-large .content {\n align-items: flex-start;\n justify-content: center;\n padding: 48px 48px 48px 0;\n }\n .duet-banner.size-large .action {\n flex-grow: 0;\n }\n}\n.duet-banner.no-image {\n display: flex;\n justify-content: center;\n padding: 36px 20px;\n}\n.duet-banner.no-image .visual {\n display: none;\n}\n.duet-banner.no-image .content {\n width: 100%;\n max-width: 720px;\n padding: 0;\n}\n@container duet-banner-container (min-width: 486px) {\n .duet-banner.no-image.size-medium, .duet-banner.no-image.size-large {\n padding: 48px;\n }\n}\n\n:host(.duet-theme-turva2) .duet-banner {\n border-radius: 12px;\n}\n:host(.duet-theme-turva2) .duet-banner .visual .brand-shape {\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%22540%22%20height%3D%2258%22%20viewBox%3D%220%200%20540%2058%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M540%2018.0729L540%2057.6749H0L0.000139455%2011.2563C0.000139455%202.85822%208.31858%20-2.59156%2015.3307%201.26796C33.6821%2011.3367%2055.6983%2020.0831%2080.3633%2027.3465C134.438%2043.276%20201.239%2052.0939%20270%2052.0939C338.761%2052.0939%20405.572%2043.276%20459.637%2027.3465C484.302%2020.0742%20506.318%2011.3277%20524.669%201.25902C531.682%20-2.59156%20540%202.85822%20540%2011.2563V18.0729Z%22%20fill%3D%22%23FBEBE1%22%2F%3E%0A%3C%2Fsvg%3E%0A");\n mask-repeat: no-repeat;\n mask-position: bottom;\n mask-size: contain;\n scale: 101%;\n}\n:host(.duet-theme-turva2) .duet-banner.size-medium .visual, :host(.duet-theme-turva2) .duet-banner.size-large .visual {\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n}\n@container duet-banner-container (min-width: 486px) {\n :host(.duet-theme-turva2) .duet-banner.size-medium, :host(.duet-theme-turva2) .duet-banner.size-large {\n grid-template-columns: 1fr 1fr;\n gap: 28px;\n border-radius: 12px;\n }\n :host(.duet-theme-turva2) .duet-banner.size-medium .visual, :host(.duet-theme-turva2) .duet-banner.size-large .visual {\n border-top-left-radius: 12px;\n border-top-right-radius: 0;\n border-bottom-left-radius: 12px;\n }\n :host(.duet-theme-turva2) .duet-banner.size-medium .visual .image-container, :host(.duet-theme-turva2) .duet-banner.size-large .visual .image-container {\n padding: 20px;\n padding-right: 0;\n }\n :host(.duet-theme-turva2) .duet-banner.size-medium .visual .image, :host(.duet-theme-turva2) .duet-banner.size-large .visual .image {\n border-radius: 12px;\n }\n :host(.duet-theme-turva2) .duet-banner.size-medium .visual .brand-shape, :host(.duet-theme-turva2) .duet-banner.size-large .visual .brand-shape {\n display: none;\n }\n}';export{m as duet_banner}
|