@duetds/components 6.8.8 → 6.9.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 +152 -144
- package/lib/cjs/duet-action-button.cjs.entry.js +3 -3
- package/lib/cjs/duet-alert.cjs.entry.js +1 -1
- package/lib/cjs/duet-badge.cjs.entry.js +1 -1
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
- package/lib/cjs/duet-button_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-caption_4.cjs.entry.js +3 -3
- package/lib/cjs/duet-card.cjs.entry.js +3 -3
- package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
- package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
- package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
- package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
- package/lib/cjs/duet-contact-card.cjs.entry.js +1 -1
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
- package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
- package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +95 -125
- package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
- package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
- package/lib/cjs/duet-footer.cjs.entry.js +1 -1
- package/lib/cjs/duet-grid_2.cjs.entry.js +11 -3
- package/lib/cjs/duet-header_2.cjs.entry.js +6 -6
- package/lib/cjs/duet-hero.cjs.entry.js +3 -3
- package/lib/cjs/duet-icon.cjs.entry.js +3 -3
- package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-menu-bar.cjs.entry.js +2 -2
- package/lib/cjs/duet-modal.cjs.entry.js +2 -2
- package/lib/cjs/duet-multiselect.cjs.entry.js +1 -1
- package/lib/cjs/duet-nav.cjs.entry.js +1 -1
- package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-number-input.cjs.entry.js +1 -1
- package/lib/cjs/duet-page-heading.cjs.entry.js +1 -1
- package/lib/cjs/duet-pagination_2.cjs.entry.js +33 -9
- package/lib/cjs/duet-progress.cjs.entry.js +1 -1
- package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-range-slider.cjs.entry.js +2 -2
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
- package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-select.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +4 -4
- package/lib/cjs/duet-slideout.cjs.entry.js +4 -4
- package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +3 -3
- package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
- package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +1 -1
- package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
- package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
- package/lib/cjs/duet-tray.cjs.entry.js +2 -2
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
- package/lib/cjs/duet.cjs.js +2 -2
- package/lib/cjs/{focus-utils-ff93a6ec.js → focus-utils-5c2e36e8.js} +1 -1
- package/lib/cjs/{index-a3e8bc14.js → index-92f0a873.js} +1 -1
- package/lib/cjs/loader.cjs.js +2 -2
- package/lib/cjs/{token-utils-2e10264d.js → token-utils-4bfb15d4.js} +4 -1
- package/lib/cjs/{tokens.module-69170ddd.js → tokens.module-d402cfac.js} +0 -1
- package/lib/collection/components/duet-action-button/duet-action-button.js +2 -2
- package/lib/collection/components/duet-alert/duet-alert.js +1 -1
- package/lib/collection/components/duet-button/duet-button.js +5 -5
- package/lib/collection/components/duet-caption/duet-caption.js +1 -1
- package/lib/collection/components/duet-card/duet-card.js +3 -3
- package/lib/collection/components/duet-checkbox/duet-checkbox.js +3 -3
- package/lib/collection/components/duet-choice/duet-choice.js +3 -3
- package/lib/collection/components/duet-collapsible/duet-collapsible.js +3 -3
- package/lib/collection/components/duet-combobox/duet-combobox.js +3 -3
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +1 -1
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +4 -4
- package/lib/collection/components/duet-divider/duet-divider.js +1 -1
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +6 -6
- package/lib/collection/components/duet-empty-state/duet-empty-state.js +1 -1
- package/lib/collection/components/duet-footer/duet-footer.js +7 -7
- package/lib/collection/components/duet-grid/duet-grid.js +7 -3
- package/lib/collection/components/duet-grid-item/duet-grid-item.css +3 -2
- package/lib/collection/components/duet-grid-item/duet-grid-item.js +32 -0
- package/lib/collection/components/duet-header/duet-header.js +15 -15
- package/lib/collection/components/duet-heading/duet-heading.js +1 -1
- package/lib/collection/components/duet-hero/duet-hero.css +21 -2
- package/lib/collection/components/duet-hero/duet-hero.js +6 -6
- package/lib/collection/components/duet-icon/duet-icon.js +1 -1
- package/lib/collection/components/duet-input/duet-input.js +8 -8
- package/lib/collection/components/duet-label/duet-label.js +2 -2
- package/lib/collection/components/duet-layout/duet-layout.js +1 -1
- package/lib/collection/components/duet-list/duet-list.js +4 -4
- package/lib/collection/components/duet-logo/duet-logo.js +7 -7
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.css +0 -6
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +1 -1
- package/lib/collection/components/duet-modal/duet-modal.js +3 -3
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +5 -5
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +1 -1
- package/lib/collection/components/duet-number-input/duet-number-input.js +4 -4
- package/lib/collection/components/duet-pagination/duet-pagination.js +8 -6
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +3 -3
- package/lib/collection/components/duet-radio/duet-radio.js +3 -3
- package/lib/collection/components/duet-range-slider/duet-range-slider.js +2 -2
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +28 -6
- package/lib/collection/components/duet-select/duet-select.js +5 -5
- package/lib/collection/components/duet-slideout/duet-slideout.js +1 -1
- package/lib/collection/components/duet-spacer/duet-spacer.js +2 -2
- package/lib/collection/components/duet-spinner/duet-spinner.js +1 -1
- package/lib/collection/components/duet-step/duet-step.js +2 -2
- package/lib/collection/components/duet-stepper/duet-stepper.js +1 -1
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.css +20 -0
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +1 -1
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +4 -4
- package/lib/collection/components/duet-table/duet-table.js +3 -3
- package/lib/collection/components/duet-textarea/duet-textarea.js +4 -4
- package/lib/collection/components/duet-toggle/duet-toggle.js +1 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +1 -1
- package/lib/collection/components/duet-upload/duet-upload.css +79 -13
- package/lib/collection/components/duet-upload/duet-upload.js +113 -90
- package/lib/collection/components/duet-upload/upload-item-header.js +8 -0
- package/lib/collection/components/duet-upload/upload-item.js +21 -5
- package/lib/collection/utils/token-utils.js +2 -0
- package/lib/dist-custom-elements/duet-action-button.js +1 -1
- package/lib/dist-custom-elements/duet-alert.js +1 -1
- package/lib/dist-custom-elements/duet-badge.js +1 -1
- package/lib/dist-custom-elements/duet-breadcrumb.js +2 -2
- package/lib/dist-custom-elements/duet-breadcrumbs.js +2 -2
- package/lib/dist-custom-elements/duet-button.js +1 -1
- package/lib/dist-custom-elements/duet-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +4 -4
- package/lib/dist-custom-elements/duet-checkbox.js +1 -1
- package/lib/dist-custom-elements/duet-checkmark.js +1 -1
- package/lib/dist-custom-elements/duet-choice-group.js +6 -6
- package/lib/dist-custom-elements/duet-choice.js +5 -5
- package/lib/dist-custom-elements/duet-collapsible.js +2 -2
- package/lib/dist-custom-elements/duet-combobox.js +2 -2
- package/lib/dist-custom-elements/duet-contact-card.js +8 -8
- package/lib/dist-custom-elements/duet-cookie-consent.js +6 -6
- package/lib/dist-custom-elements/duet-date-picker.js +10 -10
- package/lib/dist-custom-elements/duet-divider.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +238 -1
- package/lib/dist-custom-elements/duet-empty-state.js +1 -1
- package/lib/dist-custom-elements/duet-fieldset.js +1 -1
- package/lib/dist-custom-elements/duet-footer.js +4 -4
- package/lib/dist-custom-elements/duet-grid-item.js +1 -1
- package/lib/dist-custom-elements/duet-grid.js +1 -1
- package/lib/dist-custom-elements/duet-header.js +8 -8
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +11 -11
- package/lib/dist-custom-elements/duet-icon.js +1 -1
- package/lib/dist-custom-elements/duet-input.js +1 -1
- package/lib/dist-custom-elements/duet-label.js +1 -1
- package/lib/dist-custom-elements/duet-layout.js +1 -1
- package/lib/dist-custom-elements/duet-link.js +1 -1
- package/lib/dist-custom-elements/duet-list-item.js +1 -1
- package/lib/dist-custom-elements/duet-list.js +1 -1
- package/lib/dist-custom-elements/duet-logo.js +1 -1
- package/lib/dist-custom-elements/duet-menu-bar-button.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar-link.js +2 -2
- package/lib/dist-custom-elements/duet-menu-bar.js +3 -3
- package/lib/dist-custom-elements/duet-modal.js +7 -7
- package/lib/dist-custom-elements/duet-multiselect.js +8 -8
- package/lib/dist-custom-elements/duet-nav.js +1 -1
- package/lib/dist-custom-elements/duet-notification-drawer.js +4 -4
- package/lib/dist-custom-elements/duet-notification.js +2 -2
- package/lib/dist-custom-elements/duet-number-input.js +9 -9
- package/lib/dist-custom-elements/duet-page-heading.js +2 -2
- package/lib/dist-custom-elements/duet-pagination.js +12 -10
- package/lib/dist-custom-elements/duet-paragraph.js +1 -1
- package/lib/dist-custom-elements/duet-progress.js +1 -1
- package/lib/dist-custom-elements/duet-radio-group.js +6 -6
- package/lib/dist-custom-elements/duet-radio.js +1 -1
- package/lib/dist-custom-elements/duet-range-slider.js +3 -3
- package/lib/dist-custom-elements/duet-range-stepper.js +31 -9
- package/lib/dist-custom-elements/duet-scrollable.js +1 -1
- package/lib/dist-custom-elements/duet-section-layout.js +1 -1
- package/lib/dist-custom-elements/duet-select.js +1 -1
- package/lib/dist-custom-elements/duet-slideout-lang.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-link.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-slideout-panel.js +3 -3
- package/lib/dist-custom-elements/duet-slideout.js +3 -3
- package/lib/dist-custom-elements/duet-spacer.js +1 -1
- package/lib/dist-custom-elements/duet-spinner.js +1 -1
- package/lib/dist-custom-elements/duet-step.js +4 -4
- package/lib/dist-custom-elements/duet-stepper.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +2 -2
- package/lib/dist-custom-elements/duet-submenu-bar.js +4 -4
- package/lib/dist-custom-elements/duet-tab-group.js +9 -9
- package/lib/dist-custom-elements/duet-tab.js +1 -1
- package/lib/dist-custom-elements/duet-table.js +1 -1
- package/lib/dist-custom-elements/duet-textarea.js +8 -8
- package/lib/dist-custom-elements/duet-toggle.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-dropdown.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar-link.js +2 -2
- package/lib/dist-custom-elements/duet-toolbar.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip.js +1 -1
- package/lib/dist-custom-elements/duet-tray.js +4 -4
- package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
- package/lib/dist-custom-elements/duet-upload.js +125 -158
- package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
- package/lib/dist-custom-elements/index.js +1 -1
- package/lib/dist-custom-elements/{p-59650585.js → p-0d1b84db.js} +1 -1
- package/lib/dist-custom-elements/{p-ebbe90a8.js → p-132f2514.js} +6 -6
- package/lib/dist-custom-elements/{p-94ae95da.js → p-17d43428.js} +3 -3
- package/lib/dist-custom-elements/{p-e6c6717b.js → p-19ad4945.js} +9 -2
- package/lib/dist-custom-elements/{p-5f6be181.js → p-1bf112be.js} +1 -1
- package/lib/dist-custom-elements/{p-4de93a4d.js → p-26d32594.js} +3 -3
- package/lib/dist-custom-elements/{p-bc53c84a.js → p-276e05ab.js} +5 -5
- package/lib/dist-custom-elements/{p-11968273.js → p-29b2c3bb.js} +1 -1
- package/lib/dist-custom-elements/{p-0ca98fac.js → p-353d6d0c.js} +1 -1
- package/lib/dist-custom-elements/{p-d3e9fa79.js → p-41ef88f4.js} +4 -4
- package/lib/dist-custom-elements/{p-c45d78ad.js → p-47ba781e.js} +4 -4
- package/lib/dist-custom-elements/{p-18928f76.js → p-49848110.js} +1 -1
- package/lib/dist-custom-elements/{p-18eb8a09.js → p-4b4a086d.js} +8 -8
- package/lib/dist-custom-elements/{p-33e00967.js → p-505389ac.js} +1 -1
- package/lib/dist-custom-elements/{p-9ed347f9.js → p-68024252.js} +4 -2
- package/lib/dist-custom-elements/{p-8b2b7e77.js → p-7199196e.js} +2 -2
- package/lib/dist-custom-elements/{p-0531827c.js → p-7a4bdb83.js} +1 -1
- package/lib/dist-custom-elements/{p-54680d09.js → p-85fd8f09.js} +1 -1
- package/lib/dist-custom-elements/{p-321ebafe.js → p-890a9b12.js} +2 -2
- package/lib/dist-custom-elements/{p-a93335f6.js → p-945a2c0c.js} +6 -6
- package/lib/dist-custom-elements/{p-ea9a3c47.js → p-9d23386f.js} +2 -2
- package/lib/dist-custom-elements/{p-8330affc.js → p-9eba8647.js} +2 -2
- package/lib/dist-custom-elements/{p-b4ecffcc.js → p-a1ee31fb.js} +1 -1
- package/lib/dist-custom-elements/{p-7f53cb7b.js → p-a56cc313.js} +2 -2
- package/lib/dist-custom-elements/{p-abff644a.js → p-c01c91d6.js} +2 -2
- package/lib/dist-custom-elements/{p-c23454c0.js → p-c4a3d30d.js} +1 -1
- package/lib/dist-custom-elements/{p-aecb0a5e.js → p-c820f65e.js} +2 -2
- package/lib/dist-custom-elements/{p-a50a98c7.js → p-d0dea200.js} +2 -2
- package/lib/dist-custom-elements/{p-c9182b8c.js → p-d6a4de03.js} +2 -2
- package/lib/dist-custom-elements/{p-2a5cb90a.js → p-d6bcc527.js} +1 -1
- package/lib/dist-custom-elements/{p-9a6eda30.js → p-dde8e436.js} +5 -5
- package/lib/dist-custom-elements/{p-4d94ed39.js → p-e1de0408.js} +2 -2
- package/lib/dist-custom-elements/{p-95711e28.js → p-e48e8201.js} +4 -2
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/{p-fcf9d72b.system.entry.js → p-00e57f9b.system.entry.js} +1 -1
- package/lib/duet/{p-35ee3c02.entry.js → p-02e23372.entry.js} +1 -1
- package/lib/duet/{p-22476bd9.entry.js → p-049f7427.entry.js} +1 -1
- package/lib/duet/{p-de399c6f.entry.js → p-07e54b8a.entry.js} +1 -1
- package/lib/duet/{p-c252fd27.system.entry.js → p-12ee9a23.system.entry.js} +1 -1
- package/lib/duet/{p-8346f3df.entry.js → p-1710310b.entry.js} +1 -1
- package/lib/duet/{p-c86289ac.entry.js → p-17d1d5ee.entry.js} +1 -1
- package/lib/duet/p-18843061.entry.js +4 -0
- package/lib/duet/{p-df6dadb2.system.entry.js → p-190507d4.system.entry.js} +1 -1
- package/lib/duet/p-197dba64.system.entry.js +4 -0
- package/lib/duet/{p-ca8c60df.system.entry.js → p-1bfff197.system.entry.js} +1 -1
- package/lib/duet/{p-6f68220c.system.entry.js → p-1d283741.system.entry.js} +1 -1
- package/lib/duet/{p-08511b16.system.entry.js → p-1de4b105.system.entry.js} +1 -1
- package/lib/duet/{p-fe7f676a.js → p-1ef436d2.js} +1 -1
- package/lib/duet/{p-6116351d.system.entry.js → p-2184a285.system.entry.js} +1 -1
- package/lib/duet/{p-092339f8.entry.js → p-21d08944.entry.js} +1 -1
- package/lib/duet/{p-4b873326.entry.js → p-21d4df80.entry.js} +1 -1
- package/lib/duet/{p-bd979a4c.system.entry.js → p-26ebc753.system.entry.js} +1 -1
- package/lib/duet/{p-03731409.entry.js → p-29193196.entry.js} +1 -1
- package/lib/duet/{p-1070b759.entry.js → p-2a80caf9.entry.js} +1 -1
- package/lib/duet/p-2a89686a.entry.js +4 -0
- package/lib/duet/{p-8ecb7a52.system.entry.js → p-2b0d6d66.system.entry.js} +1 -1
- package/lib/duet/{p-97408054.system.entry.js → p-2b4f4c85.system.entry.js} +1 -1
- package/lib/duet/{p-879d7357.entry.js → p-2b94fb6c.entry.js} +1 -1
- package/lib/duet/{p-9d0a8699.entry.js → p-2c0d4d3c.entry.js} +1 -1
- package/lib/duet/{p-cc46a1b1.entry.js → p-2e69c81b.entry.js} +1 -1
- package/lib/duet/{p-8a7c5d79.entry.js → p-2e822cf0.entry.js} +1 -1
- package/lib/duet/{p-de784087.entry.js → p-2faa3962.entry.js} +1 -1
- package/lib/duet/{p-010b0c7e.entry.js → p-2ff8c614.entry.js} +1 -1
- package/lib/duet/{p-9521f627.system.entry.js → p-38680e94.system.entry.js} +1 -1
- package/lib/duet/{p-a6054e33.system.entry.js → p-39c34fde.system.entry.js} +1 -1
- package/lib/duet/{p-52be0c45.entry.js → p-4136d211.entry.js} +1 -1
- package/lib/duet/{p-c1ecad44.entry.js → p-44bbf984.entry.js} +1 -1
- package/lib/duet/p-459b8e74.system.entry.js +4 -0
- package/lib/duet/{p-259bb597.entry.js → p-45a64d20.entry.js} +1 -1
- package/lib/duet/{p-a789758e.system.entry.js → p-47fb8005.system.entry.js} +1 -1
- package/lib/duet/{p-e10c2b0d.entry.js → p-48bab8b6.entry.js} +1 -1
- package/lib/duet/{p-7396f499.system.entry.js → p-4ab70001.system.entry.js} +1 -1
- package/lib/duet/{p-4c11dd19.system.entry.js → p-4b02643a.system.entry.js} +1 -1
- package/lib/duet/{p-02c7edd0.entry.js → p-5047ae3d.entry.js} +1 -1
- package/lib/duet/{p-515bef3b.entry.js → p-5127e9fb.entry.js} +1 -1
- package/lib/duet/{p-1495babe.entry.js → p-52766fb1.entry.js} +1 -1
- package/lib/duet/{p-99cbab16.system.entry.js → p-5576e447.system.entry.js} +1 -1
- package/lib/duet/{p-8498c856.entry.js → p-568c7b6d.entry.js} +1 -1
- package/lib/duet/{p-eb93ebaa.system.js → p-5743852f.system.js} +1 -1
- package/lib/duet/{p-f1674fe8.system.entry.js → p-58b9c7b4.system.entry.js} +1 -1
- package/lib/duet/{p-b52969e7.entry.js → p-58d08fb8.entry.js} +1 -1
- package/lib/duet/p-5c083efb.system.entry.js +4 -0
- package/lib/duet/{p-181c9320.entry.js → p-5f872140.entry.js} +1 -1
- package/lib/duet/{p-c6f1cac9.system.entry.js → p-6023d419.system.entry.js} +1 -1
- package/lib/duet/p-621e8af8.js +4 -0
- package/lib/duet/{p-8dfd54fa.system.entry.js → p-628c4fc7.system.entry.js} +1 -1
- package/lib/duet/{p-46493c73.system.entry.js → p-6326cade.system.entry.js} +1 -1
- package/lib/duet/{p-e4d9d7d7.entry.js → p-643dd974.entry.js} +1 -1
- package/lib/duet/{p-5eee6d48.system.entry.js → p-65b119a7.system.entry.js} +1 -1
- package/lib/duet/{p-5bad512d.entry.js → p-6fe463e6.entry.js} +1 -1
- package/lib/duet/{p-b599e988.system.entry.js → p-6fe5922d.system.entry.js} +1 -1
- package/lib/duet/{p-167c6afa.entry.js → p-702a9390.entry.js} +1 -1
- package/lib/duet/{p-d74f6c72.entry.js → p-72264693.entry.js} +1 -1
- package/lib/duet/p-723308e1.entry.js +4 -0
- package/lib/duet/{p-ae269abb.entry.js → p-72585f83.entry.js} +1 -1
- package/lib/duet/{p-d7a00344.system.entry.js → p-78f49cbf.system.entry.js} +1 -1
- package/lib/duet/{p-bf23e2c2.system.entry.js → p-7a5077a2.system.entry.js} +1 -1
- package/lib/duet/{p-5120cf45.entry.js → p-7a53ff56.entry.js} +1 -1
- package/lib/duet/{p-9e66ec5a.system.entry.js → p-7c32523b.system.entry.js} +1 -1
- package/lib/duet/p-7c4baf1c.js +4 -0
- package/lib/duet/{p-6cc35083.system.entry.js → p-7d4e2e96.system.entry.js} +1 -1
- package/lib/duet/{p-7d6351ee.system.js → p-7dc36831.system.js} +1 -1
- package/lib/duet/{p-d6bb4328.entry.js → p-7f2a16b3.entry.js} +1 -1
- package/lib/duet/{p-db66ad12.system.entry.js → p-7fd9b8b6.system.entry.js} +1 -1
- package/lib/duet/{p-7af63b73.entry.js → p-80bc3db3.entry.js} +1 -1
- package/lib/duet/{p-54739dc4.system.entry.js → p-835ea0dc.system.entry.js} +1 -1
- package/lib/duet/{p-92218406.system.entry.js → p-84eb3d96.system.entry.js} +1 -1
- package/lib/duet/{p-a373581e.entry.js → p-850b95d7.entry.js} +1 -1
- package/lib/duet/{p-99836c8b.system.entry.js → p-8760c0ee.system.entry.js} +1 -1
- package/lib/duet/{p-5e4e7d48.entry.js → p-893d0a53.entry.js} +1 -1
- package/lib/duet/{p-984dd5b8.system.entry.js → p-8a963cd7.system.entry.js} +1 -1
- package/lib/duet/{p-9730e382.system.entry.js → p-8b123c27.system.entry.js} +1 -1
- package/lib/duet/{p-c030c439.entry.js → p-8f0579d1.entry.js} +1 -1
- package/lib/duet/{p-660a6691.entry.js → p-8f60b4a4.entry.js} +1 -1
- package/lib/duet/{p-31510b9d.system.entry.js → p-93f3e158.system.entry.js} +1 -1
- package/lib/duet/{p-c4ff0d5e.system.entry.js → p-95f020cc.system.entry.js} +1 -1
- package/lib/duet/p-98c7286c.entry.js +4 -0
- package/lib/duet/{p-ec32e21b.system.entry.js → p-9aae9d2a.system.entry.js} +1 -1
- package/lib/duet/{p-2469ec0a.system.entry.js → p-9f5446d7.system.entry.js} +1 -1
- package/lib/duet/{p-68bb404f.entry.js → p-9f9a14d7.entry.js} +1 -1
- package/lib/duet/p-a3782a14.entry.js +4 -0
- package/lib/duet/{p-6a9c258b.system.entry.js → p-a5b5f3e2.system.entry.js} +1 -1
- package/lib/duet/{p-90bb0d6e.entry.js → p-a6a5458a.entry.js} +1 -1
- package/lib/duet/{p-39948f72.system.entry.js → p-a79f86b5.system.entry.js} +1 -1
- package/lib/duet/{p-997b2b9f.entry.js → p-aac361b8.entry.js} +1 -1
- package/lib/duet/{p-6d6dddf6.system.entry.js → p-acb0fbdc.system.entry.js} +1 -1
- package/lib/duet/{p-9db5ccda.system.entry.js → p-ad82c633.system.entry.js} +1 -1
- package/lib/duet/{p-24c6dbed.system.entry.js → p-addd277e.system.entry.js} +1 -1
- package/lib/duet/p-afb58e46.js +4 -0
- package/lib/duet/{p-34e1a893.system.entry.js → p-b16b89c3.system.entry.js} +1 -1
- package/lib/duet/{p-c54163d4.system.entry.js → p-b1b1160e.system.entry.js} +1 -1
- package/lib/duet/{p-bc886019.system.entry.js → p-b3584ef1.system.entry.js} +1 -1
- package/lib/duet/{p-92631252.system.entry.js → p-b421ea8a.system.entry.js} +1 -1
- package/lib/duet/{p-4f9a3272.entry.js → p-bc89db28.entry.js} +1 -1
- package/lib/duet/{p-c406feab.entry.js → p-be3c04fb.entry.js} +1 -1
- package/lib/duet/{p-2e81a884.system.entry.js → p-c073eb55.system.entry.js} +1 -1
- package/lib/duet/{p-16dbbf0f.entry.js → p-c0ac70a9.entry.js} +1 -1
- package/lib/duet/{p-49d4ca3a.system.entry.js → p-c22a97ea.system.entry.js} +1 -1
- package/lib/duet/p-c3495075.system.entry.js +4 -0
- package/lib/duet/{p-97929e49.system.js → p-c360334a.system.js} +1 -1
- package/lib/duet/{p-711d5c90.system.entry.js → p-c3e4e6a2.system.entry.js} +1 -1
- package/lib/duet/{p-5bf8daa8.system.entry.js → p-c4738155.system.entry.js} +1 -1
- package/lib/duet/{p-7deb19fe.system.entry.js → p-c518f7da.system.entry.js} +1 -1
- package/lib/duet/{p-83160849.system.entry.js → p-c7507f6b.system.entry.js} +1 -1
- package/lib/duet/{p-f78cbe1a.system.entry.js → p-c832c83e.system.entry.js} +1 -1
- package/lib/duet/{p-32b7661a.system.entry.js → p-c91aaa04.system.entry.js} +1 -1
- package/lib/duet/{p-19a46ccc.entry.js → p-cb2bd40e.entry.js} +1 -1
- package/lib/duet/{p-aa0e8c20.entry.js → p-cc7f7692.entry.js} +1 -1
- package/lib/duet/{p-aff3a01c.entry.js → p-ce108a20.entry.js} +1 -1
- package/lib/duet/{p-113f7afe.system.entry.js → p-d3da2989.system.entry.js} +1 -1
- package/lib/duet/{p-91088965.entry.js → p-d503fd3d.entry.js} +1 -1
- package/lib/duet/{p-8e9dde5b.system.entry.js → p-d5474f30.system.entry.js} +1 -1
- package/lib/duet/{p-4b75977e.entry.js → p-d563682c.entry.js} +1 -1
- package/lib/duet/{p-4d14e835.entry.js → p-d7c0027e.entry.js} +1 -1
- package/lib/duet/{p-77e2eba0.system.entry.js → p-d8d3f485.system.entry.js} +1 -1
- package/lib/duet/{p-88750631.entry.js → p-d8de0d06.entry.js} +1 -1
- package/lib/duet/{p-fddfa497.entry.js → p-daa0dccd.entry.js} +1 -1
- package/lib/duet/{p-2c647f93.entry.js → p-dc71bc89.entry.js} +1 -1
- package/lib/duet/{p-d576a779.entry.js → p-dcce6bad.entry.js} +1 -1
- package/lib/duet/{p-1b417a81.entry.js → p-de06c5ff.entry.js} +1 -1
- package/lib/duet/{p-2ca21c70.entry.js → p-e57b04f0.entry.js} +1 -1
- package/lib/duet/{p-0bb66e24.entry.js → p-e71cb6f4.entry.js} +1 -1
- package/lib/duet/{p-e1d767cf.system.entry.js → p-e73937e1.system.entry.js} +2 -2
- package/lib/duet/{p-494ddebc.system.entry.js → p-e8a6eda7.system.entry.js} +1 -1
- package/lib/duet/{p-61b41371.entry.js → p-e9cea31c.entry.js} +1 -1
- package/lib/duet/p-eb6c4a2a.system.js +4 -0
- package/lib/duet/{p-be140833.system.entry.js → p-ef31120e.system.entry.js} +1 -1
- package/lib/duet/{p-fc063fa8.entry.js → p-f173da98.entry.js} +1 -1
- package/lib/duet/p-f67ee736.system.js +4 -0
- package/lib/duet/{p-775d5c50.entry.js → p-f7ff8b67.entry.js} +1 -1
- package/lib/duet/p-f9c26b20.system.entry.js +4 -0
- package/lib/duet/{p-d9534bab.entry.js → p-fa7a4245.entry.js} +1 -1
- package/lib/duet/{p-e44c2634.entry.js → p-faaa6249.entry.js} +1 -1
- package/lib/duet/{p-446287e7.system.entry.js → p-fad8bcee.system.entry.js} +1 -1
- package/lib/duet/{p-3adeafd9.system.entry.js → p-fc8b03f3.system.entry.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +3 -3
- package/lib/esm/duet-alert.entry.js +1 -1
- package/lib/esm/duet-badge.entry.js +1 -1
- package/lib/esm/duet-breadcrumb.entry.js +1 -1
- package/lib/esm/duet-breadcrumbs.entry.js +1 -1
- package/lib/esm/duet-button_2.entry.js +3 -3
- package/lib/esm/duet-caption_4.entry.js +3 -3
- package/lib/esm/duet-card.entry.js +3 -3
- package/lib/esm/duet-checkbox.entry.js +1 -1
- package/lib/esm/duet-checkmark.entry.js +1 -1
- package/lib/esm/duet-choice_2.entry.js +2 -2
- package/lib/esm/duet-collapsible.entry.js +1 -1
- package/lib/esm/duet-combobox.entry.js +1 -1
- package/lib/esm/duet-contact-card.entry.js +1 -1
- package/lib/esm/duet-cookie-consent.entry.js +1 -1
- package/lib/esm/duet-date-picker.entry.js +2 -2
- package/lib/esm/duet-divider_2.entry.js +3 -3
- package/lib/esm/duet-editable-table_3.entry.js +95 -125
- package/lib/esm/duet-empty-state.entry.js +1 -1
- package/lib/esm/duet-fieldset.entry.js +1 -1
- package/lib/esm/duet-footer.entry.js +1 -1
- package/lib/esm/duet-grid_2.entry.js +11 -3
- package/lib/esm/duet-header_2.entry.js +6 -6
- package/lib/esm/duet-hero.entry.js +3 -3
- package/lib/esm/duet-icon.entry.js +3 -3
- package/lib/esm/duet-input_2.entry.js +1 -1
- package/lib/esm/duet-layout.entry.js +1 -1
- package/lib/esm/duet-list_2.entry.js +1 -1
- package/lib/esm/duet-menu-bar-button.entry.js +1 -1
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-menu-bar-dropdown.entry.js +1 -1
- package/lib/esm/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm/duet-menu-bar.entry.js +2 -2
- package/lib/esm/duet-modal.entry.js +2 -2
- package/lib/esm/duet-multiselect.entry.js +1 -1
- package/lib/esm/duet-nav.entry.js +1 -1
- package/lib/esm/duet-notification_2.entry.js +1 -1
- package/lib/esm/duet-number-input.entry.js +1 -1
- package/lib/esm/duet-page-heading.entry.js +1 -1
- package/lib/esm/duet-pagination_2.entry.js +33 -9
- package/lib/esm/duet-progress.entry.js +1 -1
- package/lib/esm/duet-radio_2.entry.js +1 -1
- package/lib/esm/duet-range-slider.entry.js +2 -2
- package/lib/esm/duet-scrollable_3.entry.js +1 -1
- package/lib/esm/duet-section-layout.entry.js +1 -1
- package/lib/esm/duet-select.entry.js +1 -1
- package/lib/esm/duet-slideout-lang.entry.js +1 -1
- package/lib/esm/duet-slideout-link.entry.js +1 -1
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +1 -1
- package/lib/esm/duet-slideout-panel.entry.js +4 -4
- package/lib/esm/duet-slideout.entry.js +4 -4
- package/lib/esm/duet-step_2.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm/duet-submenu-bar.entry.js +3 -3
- package/lib/esm/duet-textarea.entry.js +1 -1
- package/lib/esm/duet-toggle.entry.js +1 -1
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm/duet-toolbar-dropdown.entry.js +1 -1
- package/lib/esm/duet-toolbar-link.entry.js +1 -1
- package/lib/esm/duet-toolbar.entry.js +1 -1
- package/lib/esm/duet-tooltip.entry.js +1 -1
- package/lib/esm/duet-tray.entry.js +2 -2
- package/lib/esm/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm/duet-visually-hidden.entry.js +1 -1
- package/lib/esm/duet.js +3 -3
- package/lib/esm/{focus-utils-3d6defe8.js → focus-utils-123e9cba.js} +1 -1
- package/lib/esm/{index-56a17140.js → index-9d169c3d.js} +1 -1
- package/lib/esm/loader.js +3 -3
- package/lib/esm/{token-utils-b531747a.js → token-utils-6e0e2653.js} +4 -2
- package/lib/esm/{tokens.module-d3321092.js → tokens.module-5601adc9.js} +1 -1
- package/lib/esm-es5/duet-action-button.entry.js +1 -1
- package/lib/esm-es5/duet-alert.entry.js +1 -1
- package/lib/esm-es5/duet-badge.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
- package/lib/esm-es5/duet-button_2.entry.js +1 -1
- package/lib/esm-es5/duet-caption_4.entry.js +1 -1
- package/lib/esm-es5/duet-card.entry.js +1 -1
- package/lib/esm-es5/duet-checkbox.entry.js +1 -1
- package/lib/esm-es5/duet-checkmark.entry.js +1 -1
- package/lib/esm-es5/duet-choice_2.entry.js +1 -1
- package/lib/esm-es5/duet-collapsible.entry.js +1 -1
- package/lib/esm-es5/duet-combobox.entry.js +1 -1
- package/lib/esm-es5/duet-contact-card.entry.js +1 -1
- package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
- package/lib/esm-es5/duet-date-picker.entry.js +1 -1
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table_3.entry.js +1 -1
- package/lib/esm-es5/duet-empty-state.entry.js +1 -1
- package/lib/esm-es5/duet-fieldset.entry.js +1 -1
- package/lib/esm-es5/duet-footer.entry.js +1 -1
- package/lib/esm-es5/duet-grid_2.entry.js +2 -2
- package/lib/esm-es5/duet-header_2.entry.js +1 -1
- package/lib/esm-es5/duet-hero.entry.js +1 -1
- package/lib/esm-es5/duet-icon.entry.js +2 -2
- package/lib/esm-es5/duet-input_2.entry.js +1 -1
- package/lib/esm-es5/duet-layout.entry.js +1 -1
- package/lib/esm-es5/duet-list_2.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-button.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-modal.entry.js +1 -1
- package/lib/esm-es5/duet-multiselect.entry.js +1 -1
- package/lib/esm-es5/duet-nav.entry.js +1 -1
- package/lib/esm-es5/duet-notification_2.entry.js +1 -1
- package/lib/esm-es5/duet-number-input.entry.js +1 -1
- package/lib/esm-es5/duet-page-heading.entry.js +1 -1
- package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
- package/lib/esm-es5/duet-progress.entry.js +1 -1
- package/lib/esm-es5/duet-radio_2.entry.js +1 -1
- package/lib/esm-es5/duet-range-slider.entry.js +1 -1
- package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
- package/lib/esm-es5/duet-section-layout.entry.js +1 -1
- package/lib/esm-es5/duet-select.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-panel.entry.js +1 -1
- package/lib/esm-es5/duet-slideout.entry.js +1 -1
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip.entry.js +1 -1
- package/lib/esm-es5/duet-tray.entry.js +1 -1
- package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/{focus-utils-3d6defe8.js → focus-utils-123e9cba.js} +1 -1
- package/lib/esm-es5/{index-56a17140.js → index-9d169c3d.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/{token-utils-b531747a.js → token-utils-6e0e2653.js} +1 -1
- package/lib/esm-es5/{tokens.module-d3321092.js → tokens.module-5601adc9.js} +1 -1
- package/lib/types/common-types.d.ts +3 -0
- package/lib/types/components/duet-grid-item/duet-grid-item.d.ts +7 -1
- package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +2 -0
- package/lib/types/components/duet-upload/duet-upload.d.ts +21 -4
- package/lib/types/components/duet-upload/upload-item-header.d.ts +8 -0
- package/lib/types/components/duet-upload/upload-item.d.ts +10 -1
- package/lib/types/components.d.ts +27 -0
- package/lib/types/utils/token-utils.d.ts +2 -0
- package/package.json +5 -5
- package/lib/dist-custom-elements/p-6c7f6492.js +0 -243
- package/lib/duet/p-05226ce1.entry.js +0 -4
- package/lib/duet/p-13b52e54.system.entry.js +0 -4
- package/lib/duet/p-17063917.system.js +0 -4
- package/lib/duet/p-2abc31ff.system.entry.js +0 -4
- package/lib/duet/p-380c1b6d.entry.js +0 -4
- package/lib/duet/p-3ce879c8.system.entry.js +0 -4
- package/lib/duet/p-48bd2e8f.js +0 -4
- package/lib/duet/p-5d46f619.system.js +0 -4
- package/lib/duet/p-71dd05bf.entry.js +0 -4
- package/lib/duet/p-79a9746e.js +0 -4
- package/lib/duet/p-7c860a8b.entry.js +0 -4
- package/lib/duet/p-9052b6f5.js +0 -4
- package/lib/duet/p-b2ee0816.system.entry.js +0 -4
- package/lib/duet/p-dbae4b4f.entry.js +0 -4
- package/lib/duet/p-e72eb774.system.entry.js +0 -4
package/hydrate/index.js
CHANGED
|
@@ -6438,7 +6438,7 @@ function shadeRGBColor(color, percent) {
|
|
|
6438
6438
|
// media query tokens are wrapped in speech marks,
|
|
6439
6439
|
// which need to be removed before use with matchMedia.
|
|
6440
6440
|
const unwrap = (str) => str.substring(1, str.length - 1);
|
|
6441
|
-
|
|
6441
|
+
const breakpointToToken = {
|
|
6442
6442
|
"xxx-small": unwrap(mediaQueryXxxSmall),
|
|
6443
6443
|
"xx-small": unwrap(mediaQueryXxSmall),
|
|
6444
6444
|
"x-small": unwrap(mediaQueryXSmall),
|
|
@@ -6448,7 +6448,9 @@ const unwrap = (str) => str.substring(1, str.length - 1);
|
|
|
6448
6448
|
"x-large": unwrap(mediaQueryXLarge),
|
|
6449
6449
|
"xx-large": unwrap(mediaQueryXxLarge),
|
|
6450
6450
|
"xxx-large": unwrap(mediaQueryXxxLarge),
|
|
6451
|
-
}
|
|
6451
|
+
};
|
|
6452
|
+
const breakpointTokensUpTo = Object.keys(breakpointToToken).filter(key => key.indexOf("x-small") !== -1);
|
|
6453
|
+
Object.keys(breakpointToToken).filter(key => !breakpointTokensUpTo.includes(key));
|
|
6452
6454
|
|
|
6453
6455
|
const duetActionButtonCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-action-button,*.sc-duet-action-button::after,*.sc-duet-action-button::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-action-button-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline-block;margin:0 auto}/*!@button.duet-action-button*/button.duet-action-button.sc-duet-action-button{white-space:nowrap}/*!@button.duet-action-button*/button.duet-action-button.sc-duet-action-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:auto !important;padding:0 !important;margin:0 0 0 8px !important;color:rgb(0, 41, 77);cursor:pointer;background:rgb(245, 248, 250);border-radius:50%;transition:background-color 300ms ease !important}/*!@.duet-theme-turva button.duet-action-button*/.duet-theme-turva.sc-duet-action-button button.duet-action-button.sc-duet-action-button{color:rgb(23, 28, 58);background:rgb(245, 245, 247)}/*!@button.duet-action-button duet-icon*/button.duet-action-button.sc-duet-action-button duet-icon.sc-duet-action-button{display:block}@media (max-width: 35.9375em){/*!@button.duet-action-button*/button.duet-action-button.sc-duet-action-button{width:32px;height:32px}}/*!@button.duet-action-button:not(:disabled):hover*/button.duet-action-button.sc-duet-action-button:not(:disabled):hover{background:#e9ecee}/*!@.duet-theme-turva button.duet-action-button:not(:disabled):hover*/.duet-theme-turva.sc-duet-action-button button.duet-action-button.sc-duet-action-button:not(:disabled):hover{background:#e9e9eb}/*!@button.duet-action-button:focus*/button.duet-action-button.sc-duet-action-button:focus{outline:0;box-shadow:0 0 0 2px rgb(0, 119, 179) !important}/*!@.duet-theme-turva button.duet-action-button:focus*/.duet-theme-turva.sc-duet-action-button button.duet-action-button.sc-duet-action-button:focus{box-shadow:0 0 0 2px rgb(23, 28, 58) !important}/*!@button.duet-action-button:active:focus*/button.duet-action-button.sc-duet-action-button:active:focus{background:#dddfe1 !important;box-shadow:none}/*!@.duet-theme-turva button.duet-action-button:active:focus*/.duet-theme-turva.sc-duet-action-button button.duet-action-button.sc-duet-action-button:active:focus{background:#ddddde !important}/*!@button.duet-action-button:disabled*/button.duet-action-button.sc-duet-action-button:disabled{color:rgb(144, 149, 153);cursor:default;background:rgb(245, 248, 250);opacity:0.75}/*!@.duet-theme-turva button.duet-action-button:disabled*/.duet-theme-turva.sc-duet-action-button button.duet-action-button.sc-duet-action-button:disabled{color:rgb(116, 116, 117);background:rgb(245, 245, 247)}";
|
|
6454
6456
|
|
|
@@ -10406,6 +10408,7 @@ class DuetGrid {
|
|
|
10406
10408
|
items.forEach(item => {
|
|
10407
10409
|
item.responsive = this.responsive;
|
|
10408
10410
|
item.breakpoint = this.breakpoint;
|
|
10411
|
+
item.direction = this.direction;
|
|
10409
10412
|
});
|
|
10410
10413
|
}
|
|
10411
10414
|
async updateGridItemsWithInputFields() {
|
|
@@ -10465,7 +10468,8 @@ class DuetGrid {
|
|
|
10465
10468
|
get element() { return getElement(this); }
|
|
10466
10469
|
static get watchers() { return {
|
|
10467
10470
|
"responsive": ["updateGridItems"],
|
|
10468
|
-
"breakpoint": ["updateGridItems"]
|
|
10471
|
+
"breakpoint": ["updateGridItems"],
|
|
10472
|
+
"direction": ["updateGridItems"]
|
|
10469
10473
|
}; }
|
|
10470
10474
|
static get style() { return duetGridCss; }
|
|
10471
10475
|
static get cmpMeta() { return {
|
|
@@ -10486,7 +10490,7 @@ class DuetGrid {
|
|
|
10486
10490
|
}; }
|
|
10487
10491
|
}
|
|
10488
10492
|
|
|
10489
|
-
const duetGridItemCss = ".sc-duet-grid-item-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;min-width:0;max-width:100%;flex:0 0 auto;padding-right:8px;padding-left:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;color:rgb(0, 41, 77)}.sc-duet-grid-item-h:first-child,.sc-duet-grid-item-h:first-of-type{padding-left:0}.sc-duet-grid-item-h:last-child,.sc-duet-grid-item-h:last-of-type{padding-right:0}@media (max-width: 35.9375em){.duet-grid-item-responsive.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important;padding-right:0;padding-left:0}}@media screen and (max-width: 47.9375em){.duet-grid-item-br-medium.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 47.9375em){.duet-grid-item-responsive.duet-grid-item-br-medium.sc-duet-grid-item-h{padding-right:0;padding-left:0}}@media screen and (max-width: 64em){.duet-grid-item-br-x-large.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 64em){.duet-grid-item-responsive.duet-grid-item-br-x-large.sc-duet-grid-item-h{padding-right:0;padding-left:0}}.duet-grid-item-fill.sc-duet-grid-item-h{flex:1 1 auto;width:100%}.duet-theme-turva.sc-duet-grid-item-h{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-m-0.sc-duet-grid-item-h{padding:0 !important;margin:0 !important}";
|
|
10493
|
+
const duetGridItemCss = ".sc-duet-grid-item-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:16px !important;min-width:0;max-width:100%;flex:0 0 auto;padding-right:8px;padding-left:8px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;color:rgb(0, 41, 77)}.duet-grid-direction-horizontal.sc-duet-grid-item-h:first-child,.duet-grid-direction-horizontal.sc-duet-grid-item-h:first-of-type{padding-left:0}.duet-grid-direction-horizontal.sc-duet-grid-item-h:last-child,.duet-grid-direction-horizontal.sc-duet-grid-item-h:last-of-type{padding-right:0}@media (max-width: 35.9375em){.duet-grid-item-responsive.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important;padding-right:0;padding-left:0}}@media screen and (max-width: 47.9375em){.duet-grid-item-br-medium.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 47.9375em){.duet-grid-item-responsive.duet-grid-item-br-medium.sc-duet-grid-item-h{padding-right:0;padding-left:0}}@media screen and (max-width: 64em){.duet-grid-item-br-x-large.sc-duet-grid-item-h{width:100% !important;min-width:0 !important;max-width:100% !important}}@media screen and (max-width: 64em){.duet-grid-item-responsive.duet-grid-item-br-x-large.sc-duet-grid-item-h{padding-right:0;padding-left:0}}.duet-grid-item-fill.sc-duet-grid-item-h{flex:1 1 auto;width:100%}.duet-theme-turva.sc-duet-grid-item-h{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:rgb(23, 28, 58)}.duet-m-0.sc-duet-grid-item-h{padding:0 !important;margin:0 !important}";
|
|
10490
10494
|
|
|
10491
10495
|
class DuetGridItem {
|
|
10492
10496
|
constructor(hostRef) {
|
|
@@ -10497,6 +10501,7 @@ class DuetGridItem {
|
|
|
10497
10501
|
this.theme = "";
|
|
10498
10502
|
this.margin = "auto";
|
|
10499
10503
|
this.responsive = false;
|
|
10504
|
+
this.direction = "horizontal";
|
|
10500
10505
|
this.breakpoint = "small";
|
|
10501
10506
|
}
|
|
10502
10507
|
/**
|
|
@@ -10519,7 +10524,12 @@ class DuetGridItem {
|
|
|
10519
10524
|
"duet-grid-item": true,
|
|
10520
10525
|
"duet-grid-item-fill": this.fill,
|
|
10521
10526
|
"duet-grid-item-responsive": this.responsive,
|
|
10527
|
+
"duet-grid-direction-horizontal": this.direction === "horizontal",
|
|
10528
|
+
"duet-grid-direction-vertical": this.direction === "vertical",
|
|
10529
|
+
"duet-grid-item-br-x-small": this.breakpoint === "x-small",
|
|
10530
|
+
"duet-grid-item-br-small": this.breakpoint === "small",
|
|
10522
10531
|
"duet-grid-item-br-medium": this.breakpoint === "medium",
|
|
10532
|
+
"duet-grid-item-br-large": this.breakpoint === "large",
|
|
10523
10533
|
"duet-grid-item-br-x-large": this.breakpoint === "x-large",
|
|
10524
10534
|
} }));
|
|
10525
10535
|
}
|
|
@@ -10534,6 +10544,7 @@ class DuetGridItem {
|
|
|
10534
10544
|
"theme": [1025],
|
|
10535
10545
|
"margin": [1],
|
|
10536
10546
|
"responsive": [4],
|
|
10547
|
+
"direction": [1],
|
|
10537
10548
|
"breakpoint": [1]
|
|
10538
10549
|
},
|
|
10539
10550
|
"$listeners$": undefined,
|
|
@@ -11397,7 +11408,7 @@ class DuetHeading {
|
|
|
11397
11408
|
}; }
|
|
11398
11409
|
}
|
|
11399
11410
|
|
|
11400
|
-
const duetHeroCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-hero,*.sc-duet-hero::after,*.sc-duet-hero::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-hero-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}/*!@.duet-hero*/.duet-hero.sc-duet-hero{position:relative;display:block;width:100%;padding:48px 28px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;text-decoration:none;text-shadow:none;text-transform:none;background:rgb(0, 41, 77)}/*!@.duet-hero.duet-p-0*/.duet-hero.duet-p-0.sc-duet-hero{padding:0 !important}/*!@.duet-hero.duet-m-0*/.duet-hero.duet-m-0.sc-duet-hero{margin:0 !important}/*!@.duet-hero.duet-hero-text-center*/.duet-hero.duet-hero-text-center.sc-duet-hero{text-align:center !important}/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:0 !important}@media (min-width: 62em){/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:28px !important}}/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:36px !important;margin-bottom:-20px}}/*!@.duet-hero.duet-hero-light, .duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-light.sc-duet-hero,.duet-hero.duet-hero-with-image.sc-duet-hero{color:rgb(0, 41, 77);background-color:rgb(255, 255, 255);background-image:linear-gradient(rgb(243, 249, 252), #f9fcfe)}/*!@.duet-hero.duet-hero-light::before, .duet-hero.duet-hero-with-image::before*/.duet-hero.duet-hero-light.sc-duet-hero::before,.duet-hero.duet-hero-with-image.sc-duet-hero::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:\"\";background-image:linear-gradient(#f9fcfe, rgb(255, 255, 255))}/*!@.duet-hero.duet-hero-light.duet-theme-turva, .duet-hero.duet-hero-with-image.duet-theme-turva*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero{color:rgb(23, 28, 58);background-image:linear-gradient(rgb(245, 245, 247), #fafafb)}/*!@.duet-hero.duet-hero-light.duet-theme-turva::before, .duet-hero.duet-hero-with-image.duet-theme-turva::before*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero::before,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero::before{background-image:linear-gradient(#fafafb, rgb(255, 255, 255))}/*!@.duet-hero.duet-hero-gray*/.duet-hero.duet-hero-gray.sc-duet-hero{color:rgb(0, 41, 77);background:rgb(245, 248, 250)}/*!@.duet-hero.duet-hero-gray.duet-theme-turva*/.duet-hero.duet-hero-gray.duet-theme-turva.sc-duet-hero{background:rgb(245, 245, 247)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-text.sc-duet-hero{display:inline-block;vertical-align:top}/*!@.duet-hero.duet-hero-gray .duet-hero-icon + .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-icon.sc-duet-hero+.duet-hero-text.sc-duet-hero{margin-left:28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-actions*/.duet-hero.duet-hero-gray-with-actions.sc-duet-hero{padding-bottom:65.4545454545px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-back*/.duet-hero.duet-hero-gray-with-back.sc-duet-hero{padding-top:72px}}/*!@.duet-hero.duet-hero-campaign, .duet-hero.duet-hero-section*/.duet-hero.duet-hero-campaign.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero{padding:0 0 48px;margin:0;background:none}/*!@.duet-hero.duet-hero-campaign .background-area, .duet-hero.duet-hero-section .background-area*/.duet-hero.duet-hero-campaign.sc-duet-hero .background-area.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background-area.sc-duet-hero{height:1px;margin-bottom:-1px}/*!@.duet-hero.duet-hero-campaign .background-container, .duet-hero.duet-hero-section .background-container*/.duet-hero.duet-hero-campaign.sc-duet-hero .background-container.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background-container.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{height:100%}@media (min-width: 1440px){/*!@.duet-hero.duet-hero-campaign .background img, .duet-hero.duet-hero-section .background img*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{width:100%;height:auto}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:300px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:450px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:500px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:580px}}@media (min-width: 1600px){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1600px;overflow:hidden}}/*!@.duet-hero.duet-hero-campaign .background .brand-container, .duet-hero.duet-hero-section .background .brand-container*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand-container.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand-container.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{left:-200px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .background .brand, .duet-hero.duet-hero-section .background .brand*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{background-position:right -200%}}/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:155px;width:450px;height:450px}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:240px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:280px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:310px}}/*!@.duet-hero.duet-hero-campaign .duet-hero-text, .duet-hero.duet-hero-section .duet-hero-text*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero{width:100%}/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{margin:0 auto}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:90%}}@media (min-width: 25em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:80%}}@media (min-width: 30em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:70%}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:70%}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:52%}}/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:2rem 0 4rem}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:3rem 0 8rem}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:4rem 0 10rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva, .duet-hero.duet-hero-section.duet-theme-turva*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:none}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:115px;left:-10px;width:350px;height:350px;background:rgb(255, 255, 255);transform:none;-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\");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat}@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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:140px;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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:290px}}@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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:8rem 0 13rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-section .background img*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{width:100%;height:auto}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1400px;height:436px;overflow:hidden}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1536px;height:516px}}@media (min-width: 106.25em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1536px}}/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{position:relative;padding:0 0 48px;padding-top:236px;margin:0;background:rgb(255, 255, 255)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{padding-top:250px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{min-height:544px;padding-top:0}/*!@.duet-hero.duet-hero-product.duet-hero-narrow*/.duet-hero.duet-hero-product.duet-hero-narrow.sc-duet-hero{padding-top:200px}}/*!@.duet-hero.duet-hero-product .background-area*/.duet-hero.duet-hero-product.sc-duet-hero .background-area.sc-duet-hero{position:absolute;top:-160px;width:100%;height:600px;overflow:hidden}/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{position:absolute;top:145px;width:100%;overflow:visible}/*!@.duet-hero.duet-hero-product .background .background-mask*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{display:none}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{top:130px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{top:35px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.narrow.sc-duet-hero{top:140px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero:not(.narrow){position:absolute;right:0;left:0;max-width:1440px;height:100%;margin:0 auto}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{position:absolute;top:-160px;right:-15%;z-index:0;width:375px;height:375px;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{right:15%}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-210px;width:485px;height:485px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){top:-353px;right:-128.15px;width:520px;height:736px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){width:736px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.narrow.sc-duet-hero{right:30%}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-wrapper*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-wrapper.sc-duet-hero{position:relative;width:100%;height:100%}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{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-product .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px;height:320px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero:not(.narrow){width:800px;height:470px}}/*!@.duet-hero.duet-hero-product .background .brand-shape*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{position:absolute;top:-20px;right:50%;width:240px;height:240px;background:rgb(230, 242, 248);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shape*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{top:-60px;width:340px;height:340px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shape:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero:not(.narrow){top:auto;top:79px;right:200px;width:380px;height:380px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shape:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero:not(.narrow){right:414px;width:400px;height:400px}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{position:absolute;top:160px;right:15%;display:flex;align-items:center;justify-content:center;width:85px;height:85px;background:rgba(0, 119, 179, 0.75);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:180px;width:120px;height:120px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){top:292px;right:220px;width:150px;height:150px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){top:292px;right:220px;width:186px;height:186px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{right:35%}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{width:80px;height:80px;transform:rotate(-7deg)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero:not(.narrow){width:120px;height:120px}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{max-width:100%;margin:0 auto}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:1rem}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:2rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:7rem}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:7rem}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid, .duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 56px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{max-width:1110px;padding:0}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero .duet-hero-text.sc-duet-hero{width:50%}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{max-width:888px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 48px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 72px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero .duet-hero-text.sc-duet-hero{width:80%}}/*!@.duet-hero.duet-hero-product.duet-theme-turva*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero{background:rgb(255, 255, 255)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva.duet-hero-narrow*/.duet-hero.duet-hero-product.duet-theme-turva.duet-hero-narrow.sc-duet-hero{padding-top:160px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;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-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{left:181px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-185px;right:0;left:0;width:485px;height:485px;margin:0 auto;border-radius:0;transform:none;-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\");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{right:0}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-165px;right:0}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.narrow.sc-duet-hero{right:40%;left:auto}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){top:-230px;right:-180px;left:auto;width:675px;height:675px;margin:0}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){right:-120px;width:736px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px;height:320px;transform:translate(-50%, 0)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero:not(.narrow){width:800px;height:470px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:150px;background:rgba(198, 12, 48, 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\");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat;transform:rotate(0deg)}/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{position:relative;top:-10px;transform:rotate(0deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{top:-15px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:180px;right:20%}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:192px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:192px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{right:40%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){right:340px}}/*!@.duet-hero.duet-hero-content*/.duet-hero.duet-hero-content.sc-duet-hero{padding:0 0 48px;padding-top:236px;background:rgb(255, 255, 255)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content*/.duet-hero.duet-hero-content.sc-duet-hero{padding-top:384px}}/*!@.duet-hero.duet-hero-content:not(.duet-hero-has-image)*/.duet-hero.duet-hero-content.sc-duet-hero:not(.duet-hero-has-image){padding:72px 0 48px}/*!@.duet-hero.duet-hero-content .background-area*/.duet-hero.duet-hero-content.sc-duet-hero .background-area.sc-duet-hero{position:absolute;width:100%}/*!@.duet-hero.duet-hero-content .background*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero{position:absolute;top:-236px;width:100%;height:600px;overflow:hidden}/*!@.duet-hero.duet-hero-content .background .background-mask*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{display:none}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .background*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero{top:-384px}}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{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*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-325px;left:250px;width:687px;height:687px}}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-wrapper*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-wrapper.sc-duet-hero{position:relative;width:100%;height:100%}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{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*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:733px;height:413px}}/*!@.duet-hero.duet-hero-content .background .brand-shape*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{top:80px;left:-400px;width:373px;height:373px}}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{max-width:100%;margin:0 auto}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid, .duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 56px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{max-width:1110px;padding:0}}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{max-width:888px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 48px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 72px}}/*!@.duet-hero.duet-hero-content .duet-hero-text*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero{max-width:100%}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-text*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero{width:80%}}/*!@.duet-hero.duet-hero-content.duet-theme-turva*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero{background:rgb(255, 255, 255)}/*!@.duet-hero.duet-hero-content.duet-theme-turva .background-mask*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;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*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{left:181px}}/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-155px;right:0;left:0;width:420px;height:420px;margin:0 auto;border-radius:0;transform:none;-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\");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-230px;width:687px;height:637px}}/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{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*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:733px;height:413px}}/*!@.duet-hero.duet-theme-turva*/.duet-hero.duet-theme-turva.sc-duet-hero{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:rgb(198, 12, 48)}@media (min-width: 62em){/*!@.duet-hero*/.duet-hero.sc-duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{display:inline-block;vertical-align:top}@media (min-width: 62em){/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{margin-top:-8px}}@media (min-width: 62em){/*!@.duet-hero-heading*/.duet-hero-heading.sc-duet-hero{margin-top:12px}}@media (min-width: 62em){/*!@.duet-hero-heading-has-pre*/.duet-hero-heading-has-pre.sc-duet-hero{margin-top:0}}/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}/*!@.duet-hero-left-align .duet-hero-wrapper*/.duet-hero-left-align.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{text-align:left}/*!@.duet-hero-with-image .duet-hero-wrapper*/.duet-hero-with-image.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{position:static}@media (min-width: 62em){/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{text-align:left}}/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{max-width:50rem;margin:0 auto}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{text-align:center !important}@media (min-width: 48em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:80%}/*!@.duet-hero-left-align .duet-hero-text*/.duet-hero-left-align.sc-duet-hero .duet-hero-text.sc-duet-hero{margin:0}}@media (min-width: 62em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:52%;max-width:none;margin-top:-10px;margin-left:0}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{margin-left:auto}}/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{padding-bottom:40%}}@media (min-width: 48em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:420px;padding-bottom:34%}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:540px}}@media (min-width: 62em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-60px;padding-bottom:26%}/*!@.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}@media (min-width: 62em){/*!@.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{width:300px;padding-bottom:300px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{width:80%;padding-bottom:68%}}@media (min-width: 62em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:600px;padding-bottom:600px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:25px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{right:0}}/*!@.duet-hero-image-wrapper .duet-hero-image*/.duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{top:0;left:0;width:100%;height:100%;transform:none}/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{width:650px;height:580px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{right:50%;transform:translateX(110%)}/*!@.duet-theme-turva .duet-hero-image-mask*/.duet-theme-turva.sc-duet-hero .duet-hero-image-mask.sc-duet-hero{transform:translateX(108%)}}/*!@duet-heading + duet-button*/duet-heading.sc-duet-hero+duet-button.sc-duet-hero{margin-top:12px !important}/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}@media (min-width: 36em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{margin-top:72px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}@media (min-width: 62em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:auto;margin:36px 0 0}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:rgb(0, 119, 179);text-align:left;text-decoration:none;border-bottom:1px solid rgb(225, 227, 230);transition:background-color 300ms ease}/*!@.duet-hero-link:focus*/.duet-hero-link.sc-duet-hero:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-hero-link:focus, .duet-hero-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:focus,.duet-hero-link.sc-duet-hero:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}/*!@.duet-hero-link:hover, .duet-hero-link:hover .duet-hero-action-arrow*/.duet-hero-link.sc-duet-hero:hover,.duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:rgb(0, 77, 128) !important;background:transparent !important}/*!@.duet-theme-turva .duet-hero-link:hover, .duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover,.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:rgb(148, 9, 37) !important}/*!@.duet-theme-turva .duet-hero-link*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero{color:rgb(198, 12, 48)}@media (min-width: 36em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{padding:16px 16px 16px 28px}}@media (min-width: 62em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:transparent}}/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{border-top:1px solid rgb(225, 227, 230)}@media (min-width: 62em){/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{margin-top:0;border:0}}/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-bottom:-48px}@media (min-width: 62em){/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-right:0;margin-bottom:0}}/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin-top:-8px}@media (min-width: 36em){/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin:0}}/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:8px}@media (min-width: 36em){/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:12px}}/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin:0 0 0 8px;color:rgb(0, 119, 179)}@media (max-width: 35.9375em){/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin-top:-9px}}/*!@.duet-theme-turva .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-action-arrow.sc-duet-hero{color:rgb(198, 12, 48)}/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}/*!@.duet-hero-left-align .duet-hero-back*/.duet-hero-left-align.sc-duet-hero .duet-hero-back.sc-duet-hero{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:36px !important}/*!@.duet-hero-minimal .duet-hero-back*/.duet-hero-minimal.sc-duet-hero .duet-hero-back.sc-duet-hero{margin-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{display:block}}/*!@.duet-hero-pre*/.duet-hero-pre.sc-duet-hero{display:inline-block;width:auto;margin-right:8px}/*!@.duet-hero-pre + duet-heading*/.duet-hero-pre.sc-duet-hero+duet-heading.sc-duet-hero{margin-top:0 !important}";
|
|
11411
|
+
const duetHeroCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-hero,*.sc-duet-hero::after,*.sc-duet-hero::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-hero-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;display:block;width:100%}/*!@.duet-hero*/.duet-hero.sc-duet-hero{position:relative;display:block;width:100%;padding:48px 28px;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;font-style:normal;font-weight:400;line-height:1.5;text-decoration:none;text-shadow:none;text-transform:none;background:rgb(0, 41, 77)}/*!@.duet-hero.duet-p-0*/.duet-hero.duet-p-0.sc-duet-hero{padding:0 !important}/*!@.duet-hero.duet-m-0*/.duet-hero.duet-m-0.sc-duet-hero{margin:0 !important}/*!@.duet-hero.duet-hero-text-center*/.duet-hero.duet-hero-text-center.sc-duet-hero{text-align:center !important}/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:0 !important}@media (min-width: 62em){/*!@.duet-hero.duet-hero-light*/.duet-hero.duet-hero-light.sc-duet-hero{padding-bottom:28px !important}}/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:20px !important;margin-bottom:-36px}@media (min-width: 48em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-with-image.sc-duet-hero{padding-bottom:36px !important;margin-bottom:-20px}}/*!@.duet-hero.duet-hero-light, .duet-hero.duet-hero-with-image*/.duet-hero.duet-hero-light.sc-duet-hero,.duet-hero.duet-hero-with-image.sc-duet-hero{color:rgb(0, 41, 77);background-color:rgb(255, 255, 255);background-image:linear-gradient(rgb(243, 249, 252), #f9fcfe)}/*!@.duet-hero.duet-hero-light::before, .duet-hero.duet-hero-with-image::before*/.duet-hero.duet-hero-light.sc-duet-hero::before,.duet-hero.duet-hero-with-image.sc-duet-hero::before{position:absolute;top:100%;left:0;z-index:-1;width:100%;height:400px;content:\"\";background-image:linear-gradient(#f9fcfe, rgb(255, 255, 255))}/*!@.duet-hero.duet-hero-light.duet-theme-turva, .duet-hero.duet-hero-with-image.duet-theme-turva*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero{color:rgb(23, 28, 58);background-image:linear-gradient(rgb(245, 245, 247), #fafafb)}/*!@.duet-hero.duet-hero-light.duet-theme-turva::before, .duet-hero.duet-hero-with-image.duet-theme-turva::before*/.duet-hero.duet-hero-light.duet-theme-turva.sc-duet-hero::before,.duet-hero.duet-hero-with-image.duet-theme-turva.sc-duet-hero::before{background-image:linear-gradient(#fafafb, rgb(255, 255, 255))}/*!@.duet-hero.duet-hero-gray*/.duet-hero.duet-hero-gray.sc-duet-hero{color:rgb(0, 41, 77);background:rgb(245, 248, 250)}/*!@.duet-hero.duet-hero-gray.duet-theme-turva*/.duet-hero.duet-hero-gray.duet-theme-turva.sc-duet-hero{background:rgb(245, 245, 247)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-text.sc-duet-hero{display:inline-block;vertical-align:top}/*!@.duet-hero.duet-hero-gray .duet-hero-icon + .duet-hero-text*/.duet-hero.duet-hero-gray.sc-duet-hero .duet-hero-icon.sc-duet-hero+.duet-hero-text.sc-duet-hero{margin-left:28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-actions*/.duet-hero.duet-hero-gray-with-actions.sc-duet-hero{padding-bottom:65.4545454545px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-gray-with-back*/.duet-hero.duet-hero-gray-with-back.sc-duet-hero{padding-top:72px}}/*!@.duet-hero.duet-hero-campaign, .duet-hero.duet-hero-section*/.duet-hero.duet-hero-campaign.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero{padding:0 0 48px;margin:0;background:none}/*!@.duet-hero.duet-hero-campaign .background-area, .duet-hero.duet-hero-section .background-area*/.duet-hero.duet-hero-campaign.sc-duet-hero .background-area.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background-area.sc-duet-hero{height:1px;margin-bottom:-1px}/*!@.duet-hero.duet-hero-campaign .background-container, .duet-hero.duet-hero-section .background-container*/.duet-hero.duet-hero-campaign.sc-duet-hero .background-container.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background-container.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{height:100%}@media (min-width: 1440px){/*!@.duet-hero.duet-hero-campaign .background img, .duet-hero.duet-hero-section .background img*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{width:100%;height:auto}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:300px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:450px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:500px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{height:580px}}@media (min-width: 1600px){/*!@.duet-hero.duet-hero-campaign .background, .duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1600px;overflow:hidden}}/*!@.duet-hero.duet-hero-campaign .background .brand-container, .duet-hero.duet-hero-section .background .brand-container*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand-container.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand-container.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{left:-200px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .background .brand, .duet-hero.duet-hero-section .background .brand*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero .brand.sc-duet-hero{background-position:right -200%}}/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:155px;width:450px;height:450px}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:240px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:280px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-campaign .brand-shape, .duet-hero.duet-hero-section .brand-shape*/.duet-hero.duet-hero-campaign.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .brand-shape.sc-duet-hero{top:310px}}/*!@.duet-hero.duet-hero-campaign .duet-hero-text, .duet-hero.duet-hero-section .duet-hero-text*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero{width:100%}/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{margin:0 auto}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:90%}}@media (min-width: 25em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:80%}}@media (min-width: 30em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:70%}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:70%}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:52%}}/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:2rem 0 4rem}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:3rem 0 8rem}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:4rem 0 10rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-heading, .duet-hero.duet-hero-section .duet-hero-heading*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva, .duet-hero.duet-hero-section.duet-theme-turva*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:none}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:115px;left:-10px;width:350px;height:350px;background:rgb(255, 255, 255);transform:none;-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\");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat}@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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:140px;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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .brand-shape.sc-duet-hero{top:290px}}@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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{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*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin:8rem 0 13rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-section .background img*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero img.sc-duet-hero{width:100%;height:auto}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1400px;height:436px;overflow:hidden}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1536px;height:516px}}@media (min-width: 106.25em){/*!@.duet-hero.duet-hero-section .background*/.duet-hero.duet-hero-section.sc-duet-hero .background.sc-duet-hero{width:1536px}}/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{position:relative;padding:0 0 48px;padding-top:236px;margin:0;background:rgb(255, 255, 255)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{padding-top:250px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product*/.duet-hero.duet-hero-product.sc-duet-hero{padding-top:0}/*!@.duet-hero.duet-hero-product.duet-hero-narrow*/.duet-hero.duet-hero-product.duet-hero-narrow.sc-duet-hero{padding-top:200px}}/*!@.duet-hero.duet-hero-product .background-area*/.duet-hero.duet-hero-product.sc-duet-hero .background-area.sc-duet-hero{position:absolute;top:0;width:100%;height:600px;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background-area*/.duet-hero.duet-hero-product.sc-duet-hero .background-area.sc-duet-hero{top:-112px}}/*!@.duet-hero.duet-hero-product .background-container*/.duet-hero.duet-hero-product.sc-duet-hero .background-container.sc-duet-hero{position:absolute;top:-150px;width:100%;height:600px;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background-container*/.duet-hero.duet-hero-product.sc-duet-hero .background-container.sc-duet-hero{top:-48px}}/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{position:absolute;top:145px;width:100%;overflow:visible}/*!@.duet-hero.duet-hero-product .background .background-mask*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{display:none}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{top:130px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero{top:35px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.narrow.sc-duet-hero{top:140px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero:not(.narrow){position:absolute;right:0;left:0;max-width:1440px;height:100%;margin:0 auto}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{position:absolute;top:-160px;right:-15%;z-index:0;width:375px;height:375px;overflow:hidden;border-radius:20%;transform:rotate(7deg)}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{right:15%}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-210px;width:485px;height:485px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){top:-353px;right:-128.15px;width:520px;height:736px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){width:736px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.narrow.sc-duet-hero{right:30%}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-wrapper*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-wrapper.sc-duet-hero{position:relative;width:100%;height:100%}/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{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-product .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px;height:320px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero:not(.narrow){width:800px;height:470px}}/*!@.duet-hero.duet-hero-product .background .brand-shape*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{position:absolute;top:-20px;right:50%;width:240px;height:240px;background:rgb(230, 242, 248);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shape*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{top:-60px;width:340px;height:340px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shape:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero:not(.narrow){top:auto;top:79px;right:200px;width:380px;height:380px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shape:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero:not(.narrow){right:414px;width:400px;height:400px}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{position:absolute;top:160px;right:15%;display:flex;align-items:center;justify-content:center;width:85px;height:85px;background:rgba(0, 119, 179, 0.75);border-radius:25%;mix-blend-mode:normal;transform:rotate(7deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:180px;width:120px;height:120px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){top:292px;right:220px;width:150px;height:150px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){top:292px;right:220px;width:186px;height:186px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{right:35%}}/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{width:80px;height:80px;transform:rotate(-7deg)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .background .brand-shaped-icon duet-icon:not(.narrow)*/.duet-hero.duet-hero-product.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero:not(.narrow){width:120px;height:120px}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{max-width:100%;margin:0 auto}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-text.sc-duet-hero{margin-top:0}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:1rem}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:2rem}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:7rem}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper .duet-hero-heading*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.sc-duet-hero .duet-hero-heading.sc-duet-hero{margin-top:7rem}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid, .duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 56px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{max-width:1110px;padding:0}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.fluid .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero .duet-hero-text.sc-duet-hero{width:50%}}/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{max-width:888px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 48px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 72px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product .duet-hero-wrapper.narrow .duet-hero-text*/.duet-hero.duet-hero-product.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero .duet-hero-text.sc-duet-hero{width:80%}}/*!@.duet-hero.duet-hero-product.duet-theme-turva*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero{background:rgb(255, 255, 255)}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva.duet-hero-narrow*/.duet-hero.duet-hero-product.duet-theme-turva.duet-hero-narrow.sc-duet-hero{padding-top:160px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;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-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{left:181px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-185px;right:0;left:0;width:485px;height:485px;margin:0 auto;border-radius:0;transform:none;-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\");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat}@media (min-width: 36em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{right:0}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-165px;right:0}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.narrow.sc-duet-hero{right:40%;left:auto}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){top:-230px;right:-180px;left:auto;width:675px;height:675px;margin:0}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){right:-120px;width:736px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px;height:320px;transform:translate(-50%, 0)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:600px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero:not(.narrow){width:800px;height:470px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:150px;background:rgba(198, 12, 48, 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\");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat;transform:rotate(0deg)}/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{position:relative;top:-10px;transform:rotate(0deg)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{top:-15px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:180px;right:20%}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:192px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:192px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{right:40%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .brand-shaped-icon.sc-duet-hero:not(.narrow){right:340px}}/*!@.duet-hero.duet-hero-content*/.duet-hero.duet-hero-content.sc-duet-hero{padding:0 0 48px;padding-top:236px;background:rgb(255, 255, 255)}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content*/.duet-hero.duet-hero-content.sc-duet-hero{padding-top:384px}}/*!@.duet-hero.duet-hero-content:not(.duet-hero-has-image)*/.duet-hero.duet-hero-content.sc-duet-hero:not(.duet-hero-has-image){padding:72px 0 48px}/*!@.duet-hero.duet-hero-content .background-area*/.duet-hero.duet-hero-content.sc-duet-hero .background-area.sc-duet-hero{position:absolute;width:100%}/*!@.duet-hero.duet-hero-content .background*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero{position:absolute;top:-236px;width:100%;height:600px;overflow:hidden}/*!@.duet-hero.duet-hero-content .background .background-mask*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{display:none}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .background*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero{top:-384px}}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{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*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-325px;left:250px;width:687px;height:687px}}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-wrapper*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-wrapper.sc-duet-hero{position:relative;width:100%;height:100%}/*!@.duet-hero.duet-hero-content .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{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*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:733px;height:413px}}/*!@.duet-hero.duet-hero-content .background .brand-shape*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{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*/.duet-hero.duet-hero-content.sc-duet-hero .background.sc-duet-hero .brand-shape.sc-duet-hero{top:80px;left:-400px;width:373px;height:373px}}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{max-width:100%;margin:0 auto}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid, .duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero,.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 16px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 28px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{padding:0 56px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.fluid*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.fluid.sc-duet-hero{max-width:1110px;padding:0}}/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{max-width:888px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 48px}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content .duet-hero-wrapper.narrow*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-wrapper.narrow.sc-duet-hero{padding:0 72px}}/*!@.duet-hero.duet-hero-content .duet-hero-text*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero{max-width:100%}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-text*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero{width:80%}}/*!@.duet-hero.duet-hero-content.duet-theme-turva*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero{background:rgb(255, 255, 255)}/*!@.duet-hero.duet-hero-content.duet-theme-turva .background-mask*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{position:absolute;top:0;left:0;display:block;width:721px;height:256.85px;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*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .background-mask.sc-duet-hero{left:181px}}/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-155px;right:0;left:0;width:420px;height:420px;margin:0 auto;border-radius:0;transform:none;-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\");-webkit-mask-repeat:no-repeat;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-repeat:no-repeat}@media (min-width: 48em){/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero{top:-230px;width:687px;height:637px}}/*!@.duet-hero.duet-hero-content.duet-theme-turva .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{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*/.duet-hero.duet-hero-content.duet-theme-turva.sc-duet-hero .brand-shaped-image.sc-duet-hero .brand-shaped-image-bg.sc-duet-hero{width:733px;height:413px}}/*!@.duet-hero.duet-theme-turva*/.duet-hero.duet-theme-turva.sc-duet-hero{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";background:rgb(198, 12, 48)}@media (min-width: 62em){/*!@.duet-hero*/.duet-hero.sc-duet-hero{min-height:290px;padding:111.6px 56px;overflow:visible}}/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{display:inline-block;vertical-align:top}@media (min-width: 62em){/*!@.duet-hero-icon*/.duet-hero-icon.sc-duet-hero{margin-top:-8px}}@media (min-width: 62em){/*!@.duet-hero-heading*/.duet-hero-heading.sc-duet-hero{margin-top:12px}}@media (min-width: 62em){/*!@.duet-hero-heading-has-pre*/.duet-hero-heading-has-pre.sc-duet-hero{margin-top:0}}/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{position:relative;width:100%;max-width:1110px;margin:0 auto;text-align:center}/*!@.duet-hero-left-align .duet-hero-wrapper*/.duet-hero-left-align.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{text-align:left}/*!@.duet-hero-with-image .duet-hero-wrapper*/.duet-hero-with-image.sc-duet-hero .duet-hero-wrapper.sc-duet-hero{position:static}@media (min-width: 62em){/*!@.duet-hero-wrapper*/.duet-hero-wrapper.sc-duet-hero{text-align:left}}/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{max-width:50rem;margin:0 auto}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{text-align:center !important}@media (min-width: 48em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:80%}/*!@.duet-hero-left-align .duet-hero-text*/.duet-hero-left-align.sc-duet-hero .duet-hero-text.sc-duet-hero{margin:0}}@media (min-width: 62em){/*!@.duet-hero-text*/.duet-hero-text.sc-duet-hero{width:52%;max-width:none;margin-top:-10px;margin-left:0}/*!@.duet-hero-text-center .duet-hero-text*/.duet-hero-text-center.sc-duet-hero .duet-hero-text.sc-duet-hero{margin-left:auto}}/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{width:100%;max-width:400px;height:0;padding-bottom:50%;margin:28px auto 0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain}@media (min-width: 36em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{padding-bottom:40%}}@media (min-width: 48em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:420px;padding-bottom:34%}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{max-width:540px}}@media (min-width: 62em){/*!@.duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{position:absolute;top:50%;right:0;padding-bottom:30%;margin:0;transform:translateY(-50%)}/*!@.duet-hero-light .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-light.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-60px;padding-bottom:26%}/*!@.duet-hero-gray .duet-hero:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero .duet-hero.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}@media (min-width: 62em){/*!@.duet-hero-gray:not(.duet-hero-with-image) .duet-hero-image*/.duet-hero-gray.sc-duet-hero:not(.duet-hero-with-image) .duet-hero-image.sc-duet-hero{right:-34px;padding-bottom:20%}}/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:relative;width:80%;height:0;padding-bottom:80%;margin:-30px auto 36px;overflow:hidden;border-radius:28%;box-shadow:0 0 20px rgba(255, 255, 255, 0.5);transform:rotate(10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{padding-bottom:68%;border-radius:44% 47% 38% 54%;transform:none}@media screen and (min-width: 440px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{width:300px;padding-bottom:300px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{width:80%;padding-bottom:68%}}@media (min-width: 62em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{position:absolute;top:-60px;right:-50px;width:470px;padding-bottom:470px;margin:0}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-40px;right:-80px;width:536px;padding-bottom:470px}}@media (min-width: 76.25em){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:600px;padding-bottom:600px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:-60px;width:650px;padding-bottom:600px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-wrapper*/.duet-hero-image-wrapper.sc-duet-hero{top:-70px;right:25px}/*!@.duet-theme-turva .duet-hero-image-wrapper*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero{right:0}}/*!@.duet-hero-image-wrapper .duet-hero-image*/.duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-repeat:no-repeat;background-position:50% 50%;background-size:cover;transform:rotate(-10deg)}/*!@.duet-theme-turva .duet-hero-image-wrapper .duet-hero-image*/.duet-theme-turva.sc-duet-hero .duet-hero-image-wrapper.sc-duet-hero .duet-hero-image.sc-duet-hero{top:0;left:0;width:100%;height:100%;transform:none}/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:relative;margin:-48px auto 0;overflow:hidden}@media (min-width: 62em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{position:absolute;top:0;right:0;width:470px;height:460px;margin:0}}@media (min-width: 76.25em){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{width:650px;height:580px}}@media screen and (min-width: 1450px){/*!@.duet-hero-image-mask*/.duet-hero-image-mask.sc-duet-hero{right:50%;transform:translateX(110%)}/*!@.duet-theme-turva .duet-hero-image-mask*/.duet-theme-turva.sc-duet-hero .duet-hero-image-mask.sc-duet-hero{transform:translateX(108%)}}/*!@duet-heading + duet-button*/duet-heading.sc-duet-hero+duet-button.sc-duet-hero{margin-top:12px !important}/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:calc(100% + 56px);margin-top:48px;margin-left:-28px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}@media (min-width: 36em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{margin-top:72px}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}@media (min-width: 62em){/*!@.duet-hero-links*/.duet-hero-links.sc-duet-hero{width:auto;margin:36px 0 0}/*!@.duet-hero-minimal .duet-hero-links*/.duet-hero-minimal.sc-duet-hero .duet-hero-links.sc-duet-hero{margin-top:28px}}/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:flex;align-items:center;width:100%;padding:16px 16px 8px;font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;color:rgb(0, 119, 179);text-align:left;text-decoration:none;border-bottom:1px solid rgb(225, 227, 230);transition:background-color 300ms ease}/*!@.duet-hero-link:focus*/.duet-hero-link.sc-duet-hero:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}/*!@.duet-theme-turva .duet-hero-link:focus, .duet-hero-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:focus,.duet-hero-link.sc-duet-hero:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}/*!@.duet-hero-link:hover, .duet-hero-link:hover .duet-hero-action-arrow*/.duet-hero-link.sc-duet-hero:hover,.duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:rgb(0, 77, 128) !important;background:transparent !important}/*!@.duet-theme-turva .duet-hero-link:hover, .duet-theme-turva .duet-hero-link:hover .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover,.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color:rgb(148, 9, 37) !important}/*!@.duet-theme-turva .duet-hero-link*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero{color:rgb(198, 12, 48)}@media (min-width: 36em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{padding:16px 16px 16px 28px}}@media (min-width: 62em){/*!@.duet-hero-link*/.duet-hero-link.sc-duet-hero{display:inline-flex;width:auto;max-width:350px;padding:0;margin:0 28px 16px 0;border:0;border-radius:4px}}/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:rgba(0, 0, 0, 0.02)}@media (min-width: 62em){/*!@.duet-hero-link:hover*/.duet-hero-link.sc-duet-hero:hover{background:transparent}}/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{border-top:1px solid rgb(225, 227, 230)}@media (min-width: 62em){/*!@.duet-hero-link:first-of-type*/.duet-hero-link.sc-duet-hero:first-of-type{margin-top:0;border:0}}/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-bottom:-48px}@media (min-width: 62em){/*!@.duet-hero-link:last-of-type*/.duet-hero-link.sc-duet-hero:last-of-type{margin-right:0;margin-bottom:0}}/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin-top:-8px}@media (min-width: 36em){/*!@.duet-hero-link span*/.duet-hero-link.sc-duet-hero span.sc-duet-hero{margin:0}}/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:8px}@media (min-width: 36em){/*!@.duet-hero-action-icon*/.duet-hero-action-icon.sc-duet-hero{margin-right:12px}}/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin:0 0 0 8px;color:rgb(0, 119, 179)}@media (max-width: 35.9375em){/*!@.duet-hero-action-arrow*/.duet-hero-action-arrow.sc-duet-hero{margin-top:-9px}}/*!@.duet-theme-turva .duet-hero-action-arrow*/.duet-theme-turva.sc-duet-hero .duet-hero-action-arrow.sc-duet-hero{color:rgb(198, 12, 48)}/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:28px !important;display:flex;align-items:center;justify-content:center}/*!@.duet-hero-left-align .duet-hero-back*/.duet-hero-left-align.sc-duet-hero .duet-hero-back.sc-duet-hero{align-items:self-start;justify-content:flex-start}@media (min-width: 36em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{margin-bottom:36px !important}/*!@.duet-hero-minimal .duet-hero-back*/.duet-hero-minimal.sc-duet-hero .duet-hero-back.sc-duet-hero{margin-bottom:28px !important}}@media (min-width: 62em){/*!@.duet-hero-back*/.duet-hero-back.sc-duet-hero{display:block}}/*!@.duet-hero-pre*/.duet-hero-pre.sc-duet-hero{display:inline-block;width:auto;margin-right:8px}/*!@.duet-hero-pre + duet-heading*/.duet-hero-pre.sc-duet-hero+duet-heading.sc-duet-hero{margin-top:0 !important}";
|
|
11401
11412
|
|
|
11402
11413
|
/**
|
|
11403
11414
|
* @part duet-hero - piercing selector for styling the hero container
|
|
@@ -11550,7 +11561,7 @@ class DuetHero {
|
|
|
11550
11561
|
"duet-hero-text-center": (this.textCenter && !this.leftAlign) || campaignOrSection,
|
|
11551
11562
|
"duet-hero-left-align": this.leftAlign && !campaignOrSection,
|
|
11552
11563
|
"duet-hero-narrow": this.layout === "narrow",
|
|
11553
|
-
}, part: "duet-hero" }, campaignOrSection && this.image && (hAsync("div", { class: "background-area" }, hAsync("div", { class: "background-container" }, hAsync("div", { class: "background" }, hAsync("img", { src: this.image, alt: "", role: "presentation" })), hAsync("div", { class: "brand-shape" })))), this.variation === "product" && this.image && (hAsync("div", { class: "background-area" }, hAsync("div", { class: { background: true, [this.layout]: true } }, hAsync("div", { class: { "background-mask": true, [this.layout]: true } }), this.theme !== "turva" && hAsync("div", { class: { "brand-shape": true, [this.layout]: true } }), hAsync("div", { class: { "brand-shaped-image": true, [this.layout]: true } }, hAsync("div", { class: { "brand-shaped-image-wrapper": true, [this.layout]: true } }, hAsync("div", { class: { "brand-shaped-image-bg": true, [this.layout]: true }, style: styles }))), this.categoryIcon && (hAsync("div", { class: { "brand-shaped-icon": true, [this.layout]: true } }, hAsync("duet-icon", { class: { [this.layout]: true }, background: "none", name: this.categoryIcon, margin: "none", size: "auto", responsive: false })))))), this.variation === "content" && this.image && (hAsync("div", { class: "background-area" }, hAsync("div", { class: "background" }, hAsync("div", { class: "background-mask" }), this.theme !== "turva" && hAsync("div", { class: "brand-shape" }), hAsync("div", { class: "brand-shaped-image" }, hAsync("div", { class: "brand-shaped-image-wrapper" }, hAsync("div", { class: "brand-shaped-image-bg", style: styles })))))), hAsync("div", { class: { "duet-hero-wrapper": true, [this.layout]: true } }, this.image && this.variation === "image" && (hAsync("div", { class: "duet-hero-image-mask" }, hAsync("div", { class: "duet-hero-image-wrapper" }, hAsync("div", { class: "duet-hero-image", style: styles })))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
|
|
11564
|
+
}, part: "duet-hero" }, campaignOrSection && this.image && (hAsync("div", { class: "background-area" }, hAsync("div", { class: "background-container" }, hAsync("div", { class: "background" }, hAsync("img", { src: this.image, alt: "", role: "presentation" })), hAsync("div", { class: "brand-shape" })))), this.variation === "product" && this.image && (hAsync("div", { class: "background-area" }, hAsync("div", { class: "background-container" }, hAsync("div", { class: { background: true, [this.layout]: true } }, hAsync("div", { class: { "background-mask": true, [this.layout]: true } }), this.theme !== "turva" && hAsync("div", { class: { "brand-shape": true, [this.layout]: true } }), hAsync("div", { class: { "brand-shaped-image": true, [this.layout]: true } }, hAsync("div", { class: { "brand-shaped-image-wrapper": true, [this.layout]: true } }, hAsync("div", { class: { "brand-shaped-image-bg": true, [this.layout]: true }, style: styles }))), this.categoryIcon && (hAsync("div", { class: { "brand-shaped-icon": true, [this.layout]: true } }, hAsync("duet-icon", { class: { [this.layout]: true }, background: "none", name: this.categoryIcon, margin: "none", size: "auto", responsive: false }))))))), this.variation === "content" && this.image && (hAsync("div", { class: "background-area" }, hAsync("div", { class: "background" }, hAsync("div", { class: "background-mask" }), this.theme !== "turva" && hAsync("div", { class: "brand-shape" }), hAsync("div", { class: "brand-shaped-image" }, hAsync("div", { class: "brand-shaped-image-wrapper" }, hAsync("div", { class: "brand-shaped-image-bg", style: styles })))))), hAsync("div", { class: { "duet-hero-wrapper": true, [this.layout]: true } }, this.image && this.variation === "image" && (hAsync("div", { class: "duet-hero-image-mask" }, hAsync("div", { class: "duet-hero-image-wrapper" }, hAsync("div", { class: "duet-hero-image", style: styles })))), (this.variation === "gray" || this.variation === "light" || this.variation === "minimal") &&
|
|
11554
11565
|
this.processedBack && (hAsync("div", { class: "duet-hero-back" }, hAsync("duet-button", { style: buttonStyles, variation: "plain", icon: "action-arrow-left-small", theme: this.theme, iconSize: "small", color: buttonColor, padding: "none", margin: "none", fixed: true, url: this.processedBack.href, identifier: this.processedBack.id, onClick: event => this.handleClick(event, {
|
|
11555
11566
|
label: this.processedBack.label,
|
|
11556
11567
|
href: this.processedBack.href,
|
|
@@ -12532,7 +12543,7 @@ const i18n = {
|
|
|
12532
12543
|
},
|
|
12533
12544
|
};
|
|
12534
12545
|
const DefaultLogo = ({ inverse, logoId, language }) => {
|
|
12535
|
-
const logoColor = inverse ? colorGrayLightest :
|
|
12546
|
+
const logoColor = inverse ? colorGrayLightest : colorPrimary;
|
|
12536
12547
|
const { title, path, viewBox } = i18n[language];
|
|
12537
12548
|
return (hAsync("svg", { role: "img", xmlns: "http://www.w3.org/2000/svg", fill: logoColor, "aria-labelledby": logoId, viewBox: viewBox }, hAsync("title", { id: logoId }, title), hAsync("path", { d: path })));
|
|
12538
12549
|
};
|
|
@@ -12549,9 +12560,9 @@ class DuetLogo {
|
|
|
12549
12560
|
this.size = "medium";
|
|
12550
12561
|
this.href = "/";
|
|
12551
12562
|
this.accessibleLabelDefaults = {
|
|
12552
|
-
fi: "Siirry
|
|
12553
|
-
sv: "Gå till
|
|
12554
|
-
en: "Go to
|
|
12563
|
+
fi: "Siirry etusivulle.",
|
|
12564
|
+
sv: "Gå till förstasidan.",
|
|
12565
|
+
en: "Go to front page.",
|
|
12555
12566
|
};
|
|
12556
12567
|
this.accessibleLabel = getLocaleString(this.accessibleLabelDefaults);
|
|
12557
12568
|
this.language = getLanguage();
|
|
@@ -12621,7 +12632,7 @@ class DuetLogo {
|
|
|
12621
12632
|
}; }
|
|
12622
12633
|
}
|
|
12623
12634
|
|
|
12624
|
-
const duetMenuBarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar,*.sc-duet-menu-bar::after,*.sc-duet-menu-bar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}/*!@.duet-menu-bar*/.duet-menu-bar.sc-duet-menu-bar{display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255)
|
|
12635
|
+
const duetMenuBarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-menu-bar,*.sc-duet-menu-bar::after,*.sc-duet-menu-bar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-menu-bar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}/*!@.duet-menu-bar*/.duet-menu-bar.sc-duet-menu-bar{display:flex;align-items:center;justify-content:center;background:rgb(255, 255, 255)}/*!@.duet-menu-bar .top*/.duet-menu-bar.sc-duet-menu-bar .top.sc-duet-menu-bar{display:none}/*!@.duet-menu-bar .bottom*/.duet-menu-bar.sc-duet-menu-bar .bottom.sc-duet-menu-bar{display:none}/*!@.duet-menu-bar.horizontal-nav*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar{position:relative}/*!@.duet-menu-bar.horizontal-nav .top*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .top.sc-duet-menu-bar{position:absolute;top:0;left:3.5%;display:block;width:93%;height:1px;background:rgb(245, 248, 250)}/*!@.duet-menu-bar.horizontal-nav .bottom*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .bottom.sc-duet-menu-bar{position:absolute;bottom:0;left:0;display:block;width:100%;height:1px;background:rgb(225, 227, 230)}/*!@.duet-menu-bar.horizontal-nav .more-left*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-left.sc-duet-menu-bar{position:absolute;top:0;left:-1px;z-index:1;width:56px;height:49px;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){/*!@.duet-menu-bar.horizontal-nav .more-left*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-left.sc-duet-menu-bar{display:none}}/*!@.duet-menu-bar.horizontal-nav .more-right*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-right.sc-duet-menu-bar{position:absolute;top:0;right:-1px;z-index:1;width:56px;height:49px;background:linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0) 100%)}@media (min-width: 62em){/*!@.duet-menu-bar.horizontal-nav .more-right*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar .more-right.sc-duet-menu-bar{display:none}}@media (pointer: fine){/*!@.duet-menu-bar.horizontal-nav*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar{display:none}}@media (pointer: fine) and ((min-width: 62em)){/*!@.duet-menu-bar.horizontal-nav*/.duet-menu-bar.horizontal-nav.sc-duet-menu-bar{display:flex}}/*!@.duet-menu-bar .container*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;height:100%;height:3.25rem;padding:0 8px 0 20px;overflow-x:auto;scrollbar-width:none}/*!@.duet-menu-bar .container::-webkit-scrollbar*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar::-webkit-scrollbar{width:0;height:0}@media (min-width: 62em){/*!@.duet-menu-bar .container*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar{height:5rem;padding:0 28px;overflow-x:visible}}/*!@.duet-menu-bar .container .list*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar .list.sc-duet-menu-bar{height:100%;list-style-type:none}/*!@.duet-menu-bar .container ::slotted(*)*/.duet-menu-bar .container .sc-duet-menu-bar-s>*{height:100%}/*!@.duet-menu-bar .container > **/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar>*.sc-duet-menu-bar{display:flex;align-items:center;justify-content:center;height:100%}/*!@.duet-menu-bar .container > :first-child*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar>.sc-duet-menu-bar:first-child{flex-basis:0;flex-grow:1;justify-content:flex-start}/*!@.duet-menu-bar .container > :last-child*/.duet-menu-bar.sc-duet-menu-bar .container.sc-duet-menu-bar>.sc-duet-menu-bar:last-child{flex-basis:0;flex-grow:1;justify-content:flex-end}/*!@.duet-menu-bar .container ::slotted(*)*/.duet-menu-bar .container .sc-duet-menu-bar-s>*{display:flex;align-items:center;justify-content:center;height:100%}/*!@.duet-menu-bar.duet-theme-turva*/.duet-menu-bar.duet-theme-turva.sc-duet-menu-bar{background:rgb(255, 255, 255)}/*!@.center*/.center.sc-duet-menu-bar{font-size:1rem;font-weight:600;line-height:1.25;color:rgb(0, 41, 77)}/*!@.duet-theme-turva .center*/.duet-theme-turva.sc-duet-menu-bar .center.sc-duet-menu-bar{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, 28, 58)}/*!@.right*/.right.sc-duet-menu-bar{font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 77, 128)}/*!@.duet-theme-turva .right*/.duet-theme-turva.sc-duet-menu-bar .right.sc-duet-menu-bar{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, 28, 58)}";
|
|
12625
12636
|
|
|
12626
12637
|
/**
|
|
12627
12638
|
* @slot center - Slot for content in center.
|
|
@@ -14288,7 +14299,7 @@ class DuetPagination {
|
|
|
14288
14299
|
last_page: "Last page",
|
|
14289
14300
|
jump_to: "Jump to page",
|
|
14290
14301
|
go_to: "Go to page",
|
|
14291
|
-
description: "You may use arrow keys to select page number
|
|
14302
|
+
description: "You may use arrow keys to select page number",
|
|
14292
14303
|
pagination_label: "Pagination, choose a number to jump to a page",
|
|
14293
14304
|
prev_section: "Show previous {0} page numbers, screen reader user should use arrowkeys to navigate",
|
|
14294
14305
|
next_section: "Show next {0} page numbers, screen reader user should use arrowkeys to navigate",
|
|
@@ -14300,7 +14311,7 @@ class DuetPagination {
|
|
|
14300
14311
|
last_page: "Viimeinen sivu",
|
|
14301
14312
|
jump_to: "Siirry sivulle",
|
|
14302
14313
|
go_to: "Siirry sivulle",
|
|
14303
|
-
description: "Voit käyttää nuolinäppäimiä sivunumeron valitsemiseen
|
|
14314
|
+
description: "Voit käyttää nuolinäppäimiä sivunumeron valitsemiseen",
|
|
14304
14315
|
pagination_label: "Sivutus, valitse sivunumero siirtyäksesi sivulle",
|
|
14305
14316
|
prev_section: "Näytä edelliset {0} sivunumerot, käyttäjän pitää käyttää nuolinäppäimiä navigoidaksesi",
|
|
14306
14317
|
next_section: "Näytä seuraavat {0} sivunumerot, käyttäjän pitää käyttää nuolinäppäimiä navigoidaksesi",
|
|
@@ -14312,7 +14323,7 @@ class DuetPagination {
|
|
|
14312
14323
|
last_page: "Sista sidan",
|
|
14313
14324
|
jump_to: "Hoppa till sida",
|
|
14314
14325
|
go_to: "Hoppa till sida",
|
|
14315
|
-
description: "Du kan använda piltangenterna för att välja sida
|
|
14326
|
+
description: "Du kan använda piltangenterna för att välja sida",
|
|
14316
14327
|
pagination_label: "Sidutning, välj en siffra för att hoppa till en sida",
|
|
14317
14328
|
prev_section: "Visa föregående {0} sidnummer, skrivbordsläsare ska använda piltangenterna för att navigera",
|
|
14318
14329
|
next_section: "Visa nästa {0} sidnummer, skrivbordsläsare ska använda piltangenterna för att navigera",
|
|
@@ -14377,6 +14388,8 @@ class DuetPagination {
|
|
|
14377
14388
|
}
|
|
14378
14389
|
}
|
|
14379
14390
|
//handle the jump feature, where numbers can be entered
|
|
14391
|
+
// this isn't supported in NVDA where the number buttons are used by NVDA itself
|
|
14392
|
+
// and because of that the feature is not announced for screenreaders
|
|
14380
14393
|
if (isNumber(e) && this.shouldDisplayNavigation()) {
|
|
14381
14394
|
this.numbersStore = this.numbersStore + e.key;
|
|
14382
14395
|
if (Number(this.numbersStore) > this.totalPages) {
|
|
@@ -15099,15 +15112,19 @@ class DuetRangeStepper {
|
|
|
15099
15112
|
watchStepIndexStateHandler(newValue) {
|
|
15100
15113
|
if (this.leftBnRef && this.rightBnRef) {
|
|
15101
15114
|
if (newValue <= 1) {
|
|
15115
|
+
if (this.element === document.activeElement) {
|
|
15116
|
+
this.rightBnRef.setFocus();
|
|
15117
|
+
}
|
|
15102
15118
|
this.leftBnRef.setAttribute("disabled", "");
|
|
15103
|
-
this.rightBnRef.setFocus();
|
|
15104
15119
|
}
|
|
15105
15120
|
else {
|
|
15106
15121
|
this.leftBnRef.removeAttribute("disabled");
|
|
15107
15122
|
}
|
|
15108
15123
|
if (newValue >= this.total / this.stepSize) {
|
|
15124
|
+
if (this.element === document.activeElement) {
|
|
15125
|
+
this.leftBnRef.setFocus();
|
|
15126
|
+
}
|
|
15109
15127
|
this.rightBnRef.setAttribute("disabled", "");
|
|
15110
|
-
this.leftBnRef.setFocus();
|
|
15111
15128
|
}
|
|
15112
15129
|
else {
|
|
15113
15130
|
this.rightBnRef.removeAttribute("disabled");
|
|
@@ -15119,7 +15136,7 @@ class DuetRangeStepper {
|
|
|
15119
15136
|
if (this.stepIndex * newValue > this.total) {
|
|
15120
15137
|
this.stepIndex = Math.ceil(this.total / newValue);
|
|
15121
15138
|
}
|
|
15122
|
-
// trigger handler in case a button needs to be disabled or enabled but
|
|
15139
|
+
// trigger handler in case a button needs to be disabled or enabled but stepIndex did not change
|
|
15123
15140
|
this.watchStepIndexStateHandler(this.stepIndex);
|
|
15124
15141
|
}
|
|
15125
15142
|
}
|
|
@@ -15165,6 +15182,24 @@ class DuetRangeStepper {
|
|
|
15165
15182
|
.replace("{1}", String(this.getTo()))
|
|
15166
15183
|
.replace("{2}", String(this.total));
|
|
15167
15184
|
}
|
|
15185
|
+
generatePreviousIncrementLabel() {
|
|
15186
|
+
if (this.getFrom() === 1) {
|
|
15187
|
+
return "";
|
|
15188
|
+
}
|
|
15189
|
+
return this.ariaLabels.x_of_y
|
|
15190
|
+
.replace("{0}", String(Math.max(this.getFrom() - this.stepSize, 1)))
|
|
15191
|
+
.replace("{1}", String(Math.min(this.getFrom() - 1, this.total)))
|
|
15192
|
+
.replace("{2}", String(this.total));
|
|
15193
|
+
}
|
|
15194
|
+
generateNextIncrementLabel() {
|
|
15195
|
+
if (this.getTo() === this.total) {
|
|
15196
|
+
return "";
|
|
15197
|
+
}
|
|
15198
|
+
return this.ariaLabels.x_of_y
|
|
15199
|
+
.replace("{0}", String(this.getTo() + 1))
|
|
15200
|
+
.replace("{1}", String(Math.min(this.getTo() + this.stepSize, this.total)))
|
|
15201
|
+
.replace("{2}", String(this.total));
|
|
15202
|
+
}
|
|
15168
15203
|
//handle a11y keyboard navigation events
|
|
15169
15204
|
async onKeyboardDown(e) {
|
|
15170
15205
|
// handle a11y based keyboard navigation for left/right/up/down
|
|
@@ -15173,7 +15208,7 @@ class DuetRangeStepper {
|
|
|
15173
15208
|
if (isArrowLeftKey(e) || isArrowUpKey(e) || isMinusKey(e)) {
|
|
15174
15209
|
next--;
|
|
15175
15210
|
dir = -1;
|
|
15176
|
-
this.leftBnRef.
|
|
15211
|
+
this.leftBnRef.setFocus();
|
|
15177
15212
|
}
|
|
15178
15213
|
if (isArrowRightKey(e) || isArrowDownKey(e) || isPlusKey(e)) {
|
|
15179
15214
|
next++;
|
|
@@ -15193,7 +15228,7 @@ class DuetRangeStepper {
|
|
|
15193
15228
|
return (hAsync("div", { class: {
|
|
15194
15229
|
"duet-range-stepper": true,
|
|
15195
15230
|
"duet-theme-turva": this.theme === "turva",
|
|
15196
|
-
}, onKeyDown: e => this.onKeyboardDown(e), "aria-controls": this.ariaControls }, hAsync("span", { class: "duet-range-step-counter", part: "range-numbers" }, this.generateStepSize()), hAsync("duet-action-button", { class: "duet-range-step-button duet-range-step-minus", onClick: e => this.handleClick(e, -1), id: this.leftBn, "accessible-label": this.ariaLabels.previous_increment
|
|
15231
|
+
}, onKeyDown: e => this.onKeyboardDown(e), "aria-controls": this.ariaControls }, hAsync("span", { class: "duet-range-step-counter", part: "range-numbers" }, this.generateStepSize()), hAsync("duet-action-button", { class: "duet-range-step-button duet-range-step-minus", onClick: e => this.handleClick(e, -1), id: this.leftBn, "accessible-label": `${this.ariaLabels.previous_increment} ${this.generatePreviousIncrementLabel()}`, ref: el => (this.leftBnRef = el), part: "navigation-arrow", iconName: "action-arrow-left-small" }), hAsync("duet-action-button", { class: "duet-range-step-button duet-range-step-plus", onClick: e => this.handleClick(e, 1), "accessible-label": `${this.ariaLabels.next_increment} ${this.generateNextIncrementLabel()}`, id: this.rightBn, ref: el => (this.rightBnRef = el), part: "navigation-arrow", iconName: "action-arrow-right-small" })));
|
|
15197
15232
|
}
|
|
15198
15233
|
get element() { return getElement(this); }
|
|
15199
15234
|
static get watchers() { return {
|
|
@@ -16372,7 +16407,7 @@ class DuetStepper {
|
|
|
16372
16407
|
}; }
|
|
16373
16408
|
}
|
|
16374
16409
|
|
|
16375
|
-
const duetSubmenuBarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-submenu-bar,*.sc-duet-submenu-bar::after,*.sc-duet-submenu-bar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-submenu-bar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}/*!@:host slot::slotted(duet-submenu-bar-link),\n:host slot::slotted(duet-submenu-bar-dropdown)*/.sc-duet-submenu-bar-h slot.sc-duet-submenu-bar-s>duet-submenu-bar-link,.sc-duet-submenu-bar-h slot.sc-duet-submenu-bar-s>duet-submenu-bar-dropdown{position:relative;top:-0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}/*!@:host([open]) slot::slotted(duet-submenu-bar-link),\n:host([open]) slot::slotted(duet-submenu-bar-dropdown)*/.sc-duet-submenu-bar-h[open] slot.sc-duet-submenu-bar-s>duet-submenu-bar-link,.sc-duet-submenu-bar-h[open] slot.sc-duet-submenu-bar-s>duet-submenu-bar-dropdown{top:0;opacity:1}@media (min-width: 62em){/*!@:host slot::slotted(duet-submenu-bar-link),\n :host slot::slotted(duet-submenu-bar-dropdown)*/.sc-duet-submenu-bar-h slot.sc-duet-submenu-bar-s>duet-submenu-bar-link,.sc-duet-submenu-bar-h slot.sc-duet-submenu-bar-s>duet-submenu-bar-dropdown{position:relative;top:auto;opacity:1;transition:none}}/*!@.duet-submenu-bar*/.duet-submenu-bar.sc-duet-submenu-bar{position:relative;background:rgb(243, 249, 252)}@media (min-width: 62em){/*!@.duet-submenu-bar*/.duet-submenu-bar.sc-duet-submenu-bar{border-bottom:1px solid rgb(205, 229, 241)}}/*!@.duet-submenu-bar button*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 41, 77)}/*!@.duet-submenu-bar button:focus*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}/*!@.duet-submenu-bar button.active .caret*/.duet-submenu-bar.sc-duet-submenu-bar button.active.sc-duet-submenu-bar .caret.sc-duet-submenu-bar{transform:rotate(180deg)}/*!@.duet-submenu-bar button .label*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar .label.sc-duet-submenu-bar{position:relative;display:flex;gap:8px;align-items:center;justify-content:center}@media (min-width: 62em){/*!@.duet-submenu-bar button*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar{display:none}}/*!@.duet-submenu-bar .items*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar{position:absolute;z-index:399;width:100%;max-height:1000px;visibility:visible;background:rgb(243, 249, 252);border-bottom:1px solid rgb(207, 210, 212);transition:300ms ease}/*!@.duet-submenu-bar .items ::slotted(*)*/.duet-submenu-bar .items .sc-duet-submenu-bar-s>*{position:relative}/*!@.duet-submenu-bar .items.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .items.hidden.sc-duet-submenu-bar{max-height:0;overflow:hidden;visibility:hidden;border-bottom:0 solid rgb(207, 210, 212);transition:300ms ease}@media (min-width: 62em){/*!@.duet-submenu-bar .items .list*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar .list.sc-duet-submenu-bar{display:flex;align-items:center;justify-content:space-between;height:100%}/*!@.duet-submenu-bar .items, .duet-submenu-bar .items.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar,.duet-submenu-bar.sc-duet-submenu-bar .items.hidden.sc-duet-submenu-bar{position:static;z-index:auto;display:flex;flex-direction:row;align-items:center;justify-content:center;max-height:unset;overflow:visible;visibility:visible;border:0;transition:none}}/*!@.duet-submenu-bar.duet-theme-turva*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar{background:rgb(245, 245, 247);border-bottom:1px solid rgb(228, 228, 230)}/*!@.duet-submenu-bar.duet-theme-turva button:focus*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar button.sc-duet-submenu-bar:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}/*!@.duet-submenu-bar.duet-theme-turva .items*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar .items.sc-duet-submenu-bar{background:rgb(245, 245, 247)}";
|
|
16410
|
+
const duetSubmenuBarCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-submenu-bar,*.sc-duet-submenu-bar::after,*.sc-duet-submenu-bar::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-submenu-bar-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;width:100%}/*!@:host slot::slotted(duet-submenu-bar-link),\n:host slot::slotted(duet-submenu-bar-dropdown)*/.sc-duet-submenu-bar-h slot.sc-duet-submenu-bar-s>duet-submenu-bar-link,.sc-duet-submenu-bar-h slot.sc-duet-submenu-bar-s>duet-submenu-bar-dropdown{position:relative;top:-0.5rem;opacity:0;transition:top 0.3s ease-in, opacity 0.3s ease-in}/*!@:host([open]) slot::slotted(duet-submenu-bar-link),\n:host([open]) slot::slotted(duet-submenu-bar-dropdown)*/.sc-duet-submenu-bar-h[open] slot.sc-duet-submenu-bar-s>duet-submenu-bar-link,.sc-duet-submenu-bar-h[open] slot.sc-duet-submenu-bar-s>duet-submenu-bar-dropdown{top:0;opacity:1}@media (min-width: 62em){/*!@:host slot::slotted(duet-submenu-bar-link),\n :host slot::slotted(duet-submenu-bar-dropdown)*/.sc-duet-submenu-bar-h slot.sc-duet-submenu-bar-s>duet-submenu-bar-link,.sc-duet-submenu-bar-h slot.sc-duet-submenu-bar-s>duet-submenu-bar-dropdown{position:relative;top:auto;opacity:1;transition:none}}/*!@.duet-submenu-bar*/.duet-submenu-bar.sc-duet-submenu-bar{position:relative;background:rgb(243, 249, 252)}/*!@.duet-submenu-bar .shadow-container*/.duet-submenu-bar.sc-duet-submenu-bar .shadow-container.sc-duet-submenu-bar{position:absolute;width:100%;height:100%;overflow:hidden}/*!@.duet-submenu-bar .shadow-container .top-shadow*/.duet-submenu-bar.sc-duet-submenu-bar .shadow-container.sc-duet-submenu-bar .top-shadow.sc-duet-submenu-bar{position:absolute;top:-52px;width:100%;height:52px;box-shadow:0 2px 6px 0 rgba(0, 41, 77, 0.07)}@media (min-width: 62em){/*!@.duet-submenu-bar .shadow-container .top-shadow*/.duet-submenu-bar.sc-duet-submenu-bar .shadow-container.sc-duet-submenu-bar .top-shadow.sc-duet-submenu-bar{top:-80px;height:80px;box-shadow:0 3px 6px rgba(0, 41, 77, 0.1)}}@media (min-width: 62em){/*!@.duet-submenu-bar*/.duet-submenu-bar.sc-duet-submenu-bar{border-bottom:1px solid rgb(205, 229, 241)}}/*!@.duet-submenu-bar button*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 0;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:0.875rem;font-weight:400;line-height:1.25;color:rgb(0, 41, 77)}/*!@.duet-submenu-bar button:focus*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar:focus{outline:0;box-shadow:0 0 0 4px rgba(0, 119, 179, 0.3), 0 0 0 1px rgb(0, 119, 179)}/*!@.duet-submenu-bar button.active .caret*/.duet-submenu-bar.sc-duet-submenu-bar button.active.sc-duet-submenu-bar .caret.sc-duet-submenu-bar{transform:rotate(180deg)}/*!@.duet-submenu-bar button .label*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar .label.sc-duet-submenu-bar{position:relative;display:flex;gap:8px;align-items:center;justify-content:center}@media (min-width: 62em){/*!@.duet-submenu-bar button*/.duet-submenu-bar.sc-duet-submenu-bar button.sc-duet-submenu-bar{display:none}}/*!@.duet-submenu-bar .items*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar{position:absolute;z-index:399;width:100%;max-height:1000px;visibility:visible;background:rgb(243, 249, 252);border-bottom:1px solid rgb(207, 210, 212);transition:300ms ease}/*!@.duet-submenu-bar .items ::slotted(*)*/.duet-submenu-bar .items .sc-duet-submenu-bar-s>*{position:relative}/*!@.duet-submenu-bar .items.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .items.hidden.sc-duet-submenu-bar{max-height:0;overflow:hidden;visibility:hidden;border-bottom:0 solid rgb(207, 210, 212);transition:300ms ease}@media (min-width: 62em){/*!@.duet-submenu-bar .items .list*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar .list.sc-duet-submenu-bar{display:flex;align-items:center;justify-content:space-between;height:100%}/*!@.duet-submenu-bar .items, .duet-submenu-bar .items.hidden*/.duet-submenu-bar.sc-duet-submenu-bar .items.sc-duet-submenu-bar,.duet-submenu-bar.sc-duet-submenu-bar .items.hidden.sc-duet-submenu-bar{position:static;z-index:auto;display:flex;flex-direction:row;align-items:center;justify-content:center;max-height:unset;overflow:visible;visibility:visible;border:0;transition:none}}/*!@.duet-submenu-bar.duet-theme-turva*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar{background:rgb(245, 245, 247);border-bottom:1px solid rgb(228, 228, 230)}/*!@.duet-submenu-bar.duet-theme-turva button:focus*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar button.sc-duet-submenu-bar:focus{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px rgb(23, 28, 58)}/*!@.duet-submenu-bar.duet-theme-turva .items*/.duet-submenu-bar.duet-theme-turva.sc-duet-submenu-bar .items.sc-duet-submenu-bar{background:rgb(245, 245, 247)}";
|
|
16376
16411
|
|
|
16377
16412
|
class DuetSubmenuBar {
|
|
16378
16413
|
constructor(hostRef) {
|
|
@@ -16436,7 +16471,7 @@ class DuetSubmenuBar {
|
|
|
16436
16471
|
* Always the last one in the class.
|
|
16437
16472
|
*/
|
|
16438
16473
|
render() {
|
|
16439
|
-
return (hAsync(Host, null, hAsync("nav", { class: { "duet-submenu-bar": true, "duet-theme-turva": this.theme === "turva" }, "aria-label": this.accessibleLabel }, hAsync("button", { ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
|
|
16474
|
+
return (hAsync(Host, null, hAsync("nav", { class: { "duet-submenu-bar": true, "duet-theme-turva": this.theme === "turva" }, "aria-label": this.accessibleLabel }, hAsync("div", { class: "shadow-container", role: "presentation" }, hAsync("div", { class: "top-shadow" })), hAsync("button", { ref: element => (this.button = element), "aria-haspopup": "menu", "aria-controls": "menu", "aria-expanded": this.open ? "true" : "false", id: "button", type: "button", class: {
|
|
16440
16475
|
active: this.open,
|
|
16441
16476
|
}, onClick: this.onClick }, hAsync("div", { class: "label" }, hAsync("slot", { name: "label" }), hAsync("duet-icon", { theme: this.theme, class: "caret", name: "action-arrow-down-small", margin: "none", size: "xxx-small", color: "currentColor" }))), hAsync("div", { role: this.mobile ? "menu" : null, id: "menu", "aria-labelledby": this.mobile ? "button" : null, "aria-expanded": this.mobile ? (this.open ? "true" : "false") : null, class: {
|
|
16442
16477
|
items: true,
|
|
@@ -16989,7 +17024,7 @@ class DuetTable {
|
|
|
16989
17024
|
registerInstance(this, hostRef);
|
|
16990
17025
|
this.headingSelector = "thead tr > :not(*.duet-editable-table-actions-menu)";
|
|
16991
17026
|
this.handleMediaQueryChange = (mq) => {
|
|
16992
|
-
this.matchesBreakpoint = mq.matches;
|
|
17027
|
+
this.matchesBreakpoint = breakpointTokensUpTo.includes(this.breakpoint) ? !mq.matches : mq.matches;
|
|
16993
17028
|
};
|
|
16994
17029
|
this.matchesBreakpoint = true;
|
|
16995
17030
|
this.theme = undefined;
|
|
@@ -18084,31 +18119,6 @@ const getI18nError = (errorCode, errorCodes) => {
|
|
|
18084
18119
|
}
|
|
18085
18120
|
};
|
|
18086
18121
|
|
|
18087
|
-
const ErrorItem = ({ data, errorCodes }) => {
|
|
18088
|
-
const { item, error } = data;
|
|
18089
|
-
const { name } = item;
|
|
18090
|
-
const { type } = error;
|
|
18091
|
-
return (hAsync("span", { class: "duet-upload-item-error", role: "status" },
|
|
18092
|
-
hAsync("duet-paragraph", { class: "duet-upload-item-name", color: "danger", margin: "none", weight: "semi-bold" },
|
|
18093
|
-
hAsync("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
|
|
18094
|
-
hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
18095
|
-
name),
|
|
18096
|
-
hAsync("duet-paragraph", { class: "duet-upload-item-error-label", size: "small", margin: "none", color: "danger" }, getI18nError(type, errorCodes))));
|
|
18097
|
-
};
|
|
18098
|
-
|
|
18099
|
-
const ProgressItem = ({ progress, name }) => (hAsync("span", { class: "duet-upload-item-name" },
|
|
18100
|
-
hAsync("duet-paragraph", { class: "duet-upload-item-name", color: "gray-darker", margin: "none", weight: "semi-bold" },
|
|
18101
|
-
hAsync("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
|
|
18102
|
-
hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
18103
|
-
name),
|
|
18104
|
-
hAsync("br", null),
|
|
18105
|
-
hAsync("duet-progress", { progress: Math.ceil(progress), "aria-hidden": true })));
|
|
18106
|
-
|
|
18107
|
-
const PendingItem = ({ name }) => (hAsync("span", { class: "duet-upload-item-name" },
|
|
18108
|
-
hAsync("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
|
|
18109
|
-
hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
18110
|
-
name));
|
|
18111
|
-
|
|
18112
18122
|
const formatBytes = (bytes, decimals = 2) => {
|
|
18113
18123
|
if (bytes === 0) {
|
|
18114
18124
|
return "0 Bytes";
|
|
@@ -18120,9 +18130,41 @@ const formatBytes = (bytes, decimals = 2) => {
|
|
|
18120
18130
|
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
|
|
18121
18131
|
};
|
|
18122
18132
|
|
|
18123
|
-
const
|
|
18124
|
-
const { item, size, uploaded, url } = data;
|
|
18133
|
+
const UploadItem = ({ data, showLinks, type, actions, errorCodes, theme, label, categoryLabel, showCategory, }) => {
|
|
18134
|
+
const { uid, item, size, uploaded, url, meta, progress, error } = data;
|
|
18125
18135
|
const { name } = item;
|
|
18136
|
+
const getFileNameLine = () => {
|
|
18137
|
+
switch (type) {
|
|
18138
|
+
case "inprogress":
|
|
18139
|
+
return (hAsync("span", { class: "duet-upload-item-name" },
|
|
18140
|
+
hAsync("duet-paragraph", { class: "duet-upload-item-name", color: "gray-darker", margin: "none", weight: "semi-bold" },
|
|
18141
|
+
hAsync("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
|
|
18142
|
+
hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
18143
|
+
name),
|
|
18144
|
+
hAsync("br", null),
|
|
18145
|
+
hAsync("duet-progress", { progress: Math.ceil(progress), "aria-hidden": true })));
|
|
18146
|
+
case "pending":
|
|
18147
|
+
return (hAsync("span", { class: "duet-upload-item-name" },
|
|
18148
|
+
hAsync("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
|
|
18149
|
+
hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
18150
|
+
name));
|
|
18151
|
+
case "failure":
|
|
18152
|
+
return (hAsync("span", { class: "duet-upload-item-error", role: "status" },
|
|
18153
|
+
hAsync("duet-paragraph", { class: "duet-upload-item-name", color: "danger", margin: "none", weight: "semi-bold" },
|
|
18154
|
+
hAsync("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
|
|
18155
|
+
hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
18156
|
+
name),
|
|
18157
|
+
hAsync("duet-paragraph", { class: "duet-upload-item-error-label", size: "small", margin: "none", color: "danger" }, getI18nError(error.type, errorCodes))));
|
|
18158
|
+
default:
|
|
18159
|
+
return uploaded && url && showLinks ? (hAsync("duet-paragraph", { color: "secondary", margin: "none", weight: "semi-bold" },
|
|
18160
|
+
hAsync("duet-link", { url: url, external: true }, ContentName),
|
|
18161
|
+
hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
18162
|
+
SizeText)) : (hAsync("duet-paragraph", { color: "secondary", margin: "none", weight: "semi-bold" },
|
|
18163
|
+
ContentName,
|
|
18164
|
+
hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
18165
|
+
SizeText));
|
|
18166
|
+
}
|
|
18167
|
+
};
|
|
18126
18168
|
const ContentName = (hAsync("span", { class: "duet-upload-item-name" },
|
|
18127
18169
|
hAsync("duet-icon", { margin: "none", size: "x-small", name: "messaging-attachment" }),
|
|
18128
18170
|
hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
@@ -18131,31 +18173,28 @@ const SuccessItem = ({ data, showLinks }) => {
|
|
|
18131
18173
|
"(",
|
|
18132
18174
|
formatBytes(size),
|
|
18133
18175
|
")"));
|
|
18134
|
-
const FilenameLine = uploaded && url && showLinks ? (hAsync("duet-paragraph", { color: "secondary", margin: "none", weight: "semi-bold" },
|
|
18135
|
-
hAsync("duet-link", { url: url, external: true }, ContentName),
|
|
18136
|
-
hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
18137
|
-
SizeText)) : (hAsync("duet-paragraph", { color: "secondary", margin: "none", weight: "semi-bold" },
|
|
18138
|
-
ContentName,
|
|
18139
|
-
hAsync("duet-spacer", { size: "xx-small", direction: "horizontal" }),
|
|
18140
|
-
SizeText));
|
|
18141
|
-
// const Badges =
|
|
18142
|
-
// meta && meta.badges ? (
|
|
18143
|
-
// <span>
|
|
18144
|
-
// <duet-spacer size="xx-small"></duet-spacer>
|
|
18145
|
-
// {meta.badges.map(badgeText => (
|
|
18146
|
-
// <duet-badge color="primary">{badgeText}</duet-badge>
|
|
18147
|
-
// ))}
|
|
18148
|
-
// </span>
|
|
18149
|
-
// ) : undefined
|
|
18150
|
-
return (hAsync("span", { class: "duet-upload-item-success" },
|
|
18151
|
-
hAsync("div", null, FilenameLine)));
|
|
18152
|
-
};
|
|
18153
|
-
|
|
18154
|
-
const UploadCategory = ({ meta }) => {
|
|
18155
18176
|
const Badges = meta && meta.badges ? (hAsync("span", null,
|
|
18156
18177
|
hAsync("duet-spacer", { size: "xx-small" }),
|
|
18157
|
-
meta.badges.map(badgeText => (hAsync("duet-badge", { color: "primary" }, badgeText))))) :
|
|
18158
|
-
|
|
18178
|
+
meta.badges.map(badgeText => (hAsync("duet-badge", { color: "primary" }, badgeText))))) : undefined;
|
|
18179
|
+
const actionDescription = `${meta && meta.badges ? meta.badges.join(",") : ""} ${name}`;
|
|
18180
|
+
return (hAsync("div", { class: {
|
|
18181
|
+
"upload-item-row": true,
|
|
18182
|
+
} },
|
|
18183
|
+
showCategory && (hAsync("div", { class: "item-categories" },
|
|
18184
|
+
hAsync("duet-heading", { class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(categoryLabel)),
|
|
18185
|
+
Badges)),
|
|
18186
|
+
hAsync("div", { class: { "item-label": true, "no-category": !showCategory } },
|
|
18187
|
+
!!label && (hAsync("duet-heading", { class: "heading", color: "color-secondary", level: "h6", weight: "semibold" }, getLocaleString(label))),
|
|
18188
|
+
getFileNameLine()),
|
|
18189
|
+
hAsync("div", { class: "item-actions" }, actions.map(actionItem => {
|
|
18190
|
+
return (hAsync("duet-action-button", { actionMeta: Object.assign({}, meta || {}), actionId: uid || null, actionName: actionItem.name, theme: theme, iconName: actionItem.icon, iconColor: actionItem.color, iconSize: actionItem.size, background: actionItem.background, "accessible-label": `${actionDescription} ${getLocaleString(actionItem.label)} ` }));
|
|
18191
|
+
}))));
|
|
18192
|
+
};
|
|
18193
|
+
|
|
18194
|
+
const UploadItemHeader = ({ label, categoryLabel }) => {
|
|
18195
|
+
return (hAsync("div", { class: "items-header" },
|
|
18196
|
+
categoryLabel && (hAsync("duet-heading", { class: "category-header", border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold" }, getLocaleString(categoryLabel))),
|
|
18197
|
+
hAsync("duet-heading", { class: { "filename-header": true, "no-category": !categoryLabel }, border: "solid", color: "gray-darker", level: "h3", "visual-level": "h6", weight: "semibold" }, getLocaleString(label))));
|
|
18159
18198
|
};
|
|
18160
18199
|
|
|
18161
18200
|
const validateFileExtension = (name, allowedExtensions) => {
|
|
@@ -18281,13 +18320,13 @@ const makeXhrRequest = ({ payload, options, onFailure, onSuccess, onProgress })
|
|
|
18281
18320
|
return xhr;
|
|
18282
18321
|
};
|
|
18283
18322
|
|
|
18284
|
-
const duetUploadCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-upload,*.sc-duet-upload::after,*.sc-duet-upload::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-upload-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@::slotted([slot=header])*/.sc-duet-upload-s>[slot=header]{margin-bottom:16px}/*!@::slotted([slot=fileheader])*/.sc-duet-upload-s>[slot=fileheader]{margin:16px 0 0 0}/*!@::slotted([slot=filefooter])*/.sc-duet-upload-s>[slot=filefooter]{margin-top:16px}/*!@.duet-upload*/.duet-upload.sc-duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-upload-item-size*/.duet-upload-item-size.sc-duet-upload{font-size:0.75rem;font-weight:400}/*!@.duet-upload-filelist*/.duet-upload-filelist.sc-duet-upload{margin-bottom:25px}/*!@.duet-upload-filelist-empty*/.duet-upload-filelist-empty.sc-duet-upload{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*/.duet-upload-filelist-empty-label.sc-duet-upload{font-size:1rem;font-weight:400}/*!@.duet-upload-editable-table-header-hidden*/.duet-upload-editable-table-header-hidden.sc-duet-upload{display:none}/*!@.duet-upload-editable-table tbody .duet-upload-editable-table-data*/.duet-upload-editable-table.sc-duet-upload tbody.sc-duet-upload .duet-upload-editable-table-data.sc-duet-upload{padding:0 !important;border:0}/*!@.duet-upload-editable-table duet-editable-table tfoot,\n.duet-upload-editable-table duet-editable-table thead*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload tfoot.sc-duet-upload,.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload thead.sc-duet-upload{display:none}/*!@.duet-upload-editable-table duet-editable-table .duet-editable-table-content*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-content.sc-duet-upload{padding-right:0 !important;padding-left:0 !important}/*!@.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload duet-table.sc-duet-upload .duet-table-action-row.sc-duet-upload td.sc-duet-upload{padding:1rem 0 !important}/*!@.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload duet-table.sc-duet-upload .duet-table-action-row.sc-duet-upload td.sc-duet-upload: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*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-inprogress.sc-duet-upload,.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-pending.sc-duet-upload{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*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-inprogress.sc-duet-upload duet-progress.sc-duet-upload,.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-pending.sc-duet-upload duet-progress.sc-duet-upload{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)*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-inprogress.sc-duet-upload duet-action-button.sc-duet-upload::part(button),.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-pending.sc-duet-upload duet-action-button.sc-duet-upload::part(button){border:0}
|
|
18323
|
+
const duetUploadCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-upload,*.sc-duet-upload::after,*.sc-duet-upload::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-upload-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@::slotted([slot=header])*/.sc-duet-upload-s>[slot=header]{margin-bottom:16px}/*!@::slotted([slot=fileheader])*/.sc-duet-upload-s>[slot=fileheader]{margin:16px 0 0 0}/*!@::slotted([slot=filefooter])*/.sc-duet-upload-s>[slot=filefooter]{margin-top:16px}/*!@.duet-upload*/.duet-upload.sc-duet-upload{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-upload-item-size*/.duet-upload-item-size.sc-duet-upload{font-size:0.75rem;font-weight:400}/*!@.duet-upload-filelist*/.duet-upload-filelist.sc-duet-upload{margin-bottom:25px}/*!@.duet-upload-filelist-empty*/.duet-upload-filelist-empty.sc-duet-upload{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*/.duet-upload-filelist-empty-label.sc-duet-upload{font-size:1rem;font-weight:400}/*!@.duet-upload-editable-table-header-hidden*/.duet-upload-editable-table-header-hidden.sc-duet-upload{display:none}/*!@.duet-upload-editable-table tbody .duet-upload-editable-table-data*/.duet-upload-editable-table.sc-duet-upload tbody.sc-duet-upload .duet-upload-editable-table-data.sc-duet-upload{padding:0 !important;border:0}/*!@.duet-upload-editable-table duet-editable-table tfoot,\n.duet-upload-editable-table duet-editable-table thead*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload tfoot.sc-duet-upload,.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload thead.sc-duet-upload{display:none}/*!@.duet-upload-editable-table duet-editable-table .duet-editable-table-content*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-content.sc-duet-upload{padding-right:0 !important;padding-left:0 !important}/*!@.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload duet-table.sc-duet-upload .duet-table-action-row.sc-duet-upload td.sc-duet-upload{padding:1rem 0 !important}/*!@.duet-upload-editable-table duet-editable-table duet-table .duet-table-action-row td:last-child*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload duet-table.sc-duet-upload .duet-table-action-row.sc-duet-upload td.sc-duet-upload: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*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-inprogress.sc-duet-upload,.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-pending.sc-duet-upload{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*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-inprogress.sc-duet-upload duet-progress.sc-duet-upload,.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-pending.sc-duet-upload duet-progress.sc-duet-upload{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)*/.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-inprogress.sc-duet-upload duet-action-button.sc-duet-upload::part(button),.duet-upload-editable-table.sc-duet-upload duet-editable-table.sc-duet-upload .duet-editable-table-row-pending.sc-duet-upload duet-action-button.sc-duet-upload::part(button){border:0}/*!@duet-paragraph::part(duet-paragraph)*/duet-paragraph.sc-duet-upload::part(duet-paragraph){word-break:break-word}/*!@duet-editable-table tfoot*/duet-editable-table.sc-duet-upload tfoot.sc-duet-upload{display:none}/*!@.upload-bottom-caption*/.upload-bottom-caption.sc-duet-upload{margin-top:8px;margin-bottom:8px}/*!@.items-header*/.items-header.sc-duet-upload{display:none;flex-direction:row}@media (min-width: 36em){/*!@.items-header*/.items-header.sc-duet-upload{display:flex}}/*!@.items-header:not(:last-child), .items-header:not(:first-child)*/.items-header.sc-duet-upload:not(:last-child),.items-header.sc-duet-upload:not(:first-child){margin-top:12px}/*!@.items-header .category-header*/.items-header.sc-duet-upload .category-header.sc-duet-upload{width:35%}/*!@.items-header .filename-header*/.items-header.sc-duet-upload .filename-header.sc-duet-upload{width:65%}/*!@.items-header .filename-header.no-category*/.items-header.sc-duet-upload .filename-header.no-category.sc-duet-upload{width:100%}/*!@.upload-item-row*/.upload-item-row.sc-duet-upload{display:flex;flex-direction:column;gap:10px;align-content:center;align-items:center;padding:16px 0 16px 0;border-bottom:1px solid rgb(225, 227, 230)}@media (min-width: 36em){/*!@.upload-item-row*/.upload-item-row.sc-duet-upload{flex-direction:row}}/*!@.upload-item-row .item-categories*/.upload-item-row.sc-duet-upload .item-categories.sc-duet-upload{width:100%;margin-bottom:8px}@media (min-width: 36em){/*!@.upload-item-row .item-categories*/.upload-item-row.sc-duet-upload .item-categories.sc-duet-upload{width:35%}}/*!@.upload-item-row .item-label*/.upload-item-row.sc-duet-upload .item-label.sc-duet-upload{width:100%;margin-bottom:8px;text-align:left}@media (min-width: 36em){/*!@.upload-item-row .item-label*/.upload-item-row.sc-duet-upload .item-label.sc-duet-upload{width:50%}/*!@.upload-item-row .item-label.no-category*/.upload-item-row.sc-duet-upload .item-label.no-category.sc-duet-upload{width:85%}}/*!@.upload-item-row .item-categories .heading,\n.upload-item-row .item-label .heading*/.upload-item-row.sc-duet-upload .item-categories.sc-duet-upload .heading.sc-duet-upload,.upload-item-row.sc-duet-upload .item-label.sc-duet-upload .heading.sc-duet-upload{display:block}@media (min-width: 36em){/*!@.upload-item-row .item-categories .heading,\n .upload-item-row .item-label .heading*/.upload-item-row.sc-duet-upload .item-categories.sc-duet-upload .heading.sc-duet-upload,.upload-item-row.sc-duet-upload .item-label.sc-duet-upload .heading.sc-duet-upload{display:none}}/*!@.upload-item-row .item-actions*/.upload-item-row.sc-duet-upload .item-actions.sc-duet-upload{width:100%;text-align:left}@media (min-width: 36em){/*!@.upload-item-row .item-actions*/.upload-item-row.sc-duet-upload .item-actions.sc-duet-upload{width:15%;text-align:right}}/*!@.upload-item-row .duet-upload-item-name duet-icon*/.upload-item-row.sc-duet-upload .duet-upload-item-name.sc-duet-upload duet-icon.sc-duet-upload{position:relative;top:4px}";
|
|
18285
18324
|
|
|
18286
18325
|
/**
|
|
18287
18326
|
* @slot header - named slot - to place content after description / caption (if caption is on top)
|
|
18288
18327
|
* @slot fileheader - named slot - to place content above "filelist" (only displayed when "filelist" contains items)
|
|
18289
18328
|
* @slot filefooter - named slot - to place content below "filelist" (only displayed when "filelist" contains items)
|
|
18290
|
-
* @slot
|
|
18329
|
+
* @slot uploadfooter - named slot - to place content below filefooter
|
|
18291
18330
|
* @slot afterfooter - named slot - to place content below "footer" / caption (if caption is on bottom)
|
|
18292
18331
|
* @part ${this.identifier}-empty-state : duet-upload-empty-state - named part - can be used to style the empty notification area or hide it completely
|
|
18293
18332
|
* @part ${this.identifier}-editable-table : duet-upload-editable-table - named part - can be used to style the editable-table
|
|
@@ -18328,6 +18367,11 @@ class DuetUpload {
|
|
|
18328
18367
|
this.kick = debounce(() => {
|
|
18329
18368
|
this.tick = Date.now();
|
|
18330
18369
|
}, 30); // will trigger re-render
|
|
18370
|
+
this.categoryLabel = {
|
|
18371
|
+
en: "Category",
|
|
18372
|
+
sv: "Filtyp",
|
|
18373
|
+
fi: "Tiedostotyyppi",
|
|
18374
|
+
};
|
|
18331
18375
|
/**
|
|
18332
18376
|
* Private functions
|
|
18333
18377
|
*/
|
|
@@ -18380,18 +18424,18 @@ class DuetUpload {
|
|
|
18380
18424
|
return "none";
|
|
18381
18425
|
}
|
|
18382
18426
|
};
|
|
18383
|
-
this.
|
|
18427
|
+
this.mapFilesToUploadItems = (data, group, showCategory) => {
|
|
18384
18428
|
if (group === this.DefaultGroups.success) {
|
|
18385
|
-
return hAsync(
|
|
18429
|
+
return (hAsync(UploadItem, { theme: this.theme, actions: this.getActions(group), type: "success", data: data, showLinks: this.showLinks, categoryLabel: this.categoryLabel, label: this.uploadedItemsHeaderLabel, showCategory: showCategory }));
|
|
18386
18430
|
}
|
|
18387
18431
|
else if (group === this.DefaultGroups.inprogress) {
|
|
18388
|
-
return hAsync(
|
|
18432
|
+
return (hAsync(UploadItem, { theme: this.theme, actions: this.getActions(group), type: "inprogress", data: data, showLinks: this.showLinks, categoryLabel: this.categoryLabel, label: this.uploadedItemsHeaderLabel, showCategory: showCategory }));
|
|
18389
18433
|
}
|
|
18390
18434
|
else if (group === this.DefaultGroups.pending) {
|
|
18391
|
-
return hAsync(
|
|
18435
|
+
return (hAsync(UploadItem, { theme: this.theme, actions: this.getActions(group), type: "pending", data: data, showLinks: this.showLinks, categoryLabel: this.categoryLabel, label: this.uploadedItemsHeaderLabel, showCategory: showCategory }));
|
|
18392
18436
|
}
|
|
18393
18437
|
else if (group === this.DefaultGroups.failure) {
|
|
18394
|
-
return hAsync(
|
|
18438
|
+
return (hAsync(UploadItem, { theme: this.theme, actions: this.getActions(group), type: "failure", data: data, showLinks: this.showLinks, errorCodes: this.errorCodes, categoryLabel: this.categoryLabel, label: this.uploadedItemsHeaderLabel, showCategory: showCategory }));
|
|
18395
18439
|
}
|
|
18396
18440
|
else if (data.group) {
|
|
18397
18441
|
return data.html;
|
|
@@ -18664,60 +18708,43 @@ class DuetUpload {
|
|
|
18664
18708
|
const failure = [];
|
|
18665
18709
|
const pending = [];
|
|
18666
18710
|
const success = [];
|
|
18711
|
+
let hasCategory = false;
|
|
18667
18712
|
all.forEach(data => {
|
|
18668
|
-
var _a, _b;
|
|
18669
18713
|
const group = this.getGroupFromItemData(data);
|
|
18670
|
-
const item =
|
|
18671
|
-
const category =
|
|
18672
|
-
const categories =
|
|
18714
|
+
// const item = mapFn(data, group)
|
|
18715
|
+
// const category = <UploadCategory meta={data.meta} />
|
|
18716
|
+
// const categories = data.meta?.badges?.join(",")
|
|
18717
|
+
if (data.meta && !!data.meta.badges) {
|
|
18718
|
+
hasCategory = true;
|
|
18719
|
+
}
|
|
18673
18720
|
if (group === this.DefaultGroups.success) {
|
|
18674
18721
|
success.push({
|
|
18675
18722
|
uid: data.uid,
|
|
18676
|
-
|
|
18677
|
-
hasCategory: data.meta && !!data.meta.badges,
|
|
18678
|
-
category,
|
|
18679
|
-
group,
|
|
18680
|
-
actionDescription: `${categories || ""} ${data.item.name}`,
|
|
18723
|
+
data,
|
|
18681
18724
|
});
|
|
18682
18725
|
}
|
|
18683
18726
|
else if (group === this.DefaultGroups.inprogress) {
|
|
18684
18727
|
inprogress.push({
|
|
18685
18728
|
uid: data.uid,
|
|
18686
|
-
|
|
18687
|
-
hasCategory: data.meta && !!data.meta.badges,
|
|
18688
|
-
category,
|
|
18689
|
-
group,
|
|
18690
|
-
actionDescription: `category ${data.item.name}`,
|
|
18729
|
+
data,
|
|
18691
18730
|
});
|
|
18692
18731
|
}
|
|
18693
18732
|
else if (group === this.DefaultGroups.pending) {
|
|
18694
18733
|
pending.push({
|
|
18695
18734
|
uid: data.uid,
|
|
18696
|
-
|
|
18697
|
-
hasCategory: data.meta && !!data.meta.badges,
|
|
18698
|
-
category,
|
|
18699
|
-
group,
|
|
18700
|
-
actionDescription: `category ${data.item.name}`,
|
|
18735
|
+
data,
|
|
18701
18736
|
});
|
|
18702
18737
|
}
|
|
18703
18738
|
else if (group === this.DefaultGroups.failure) {
|
|
18704
18739
|
failure.push({
|
|
18705
18740
|
uid: data.uid,
|
|
18706
|
-
|
|
18707
|
-
hasCategory: data.meta && !!data.meta.badges,
|
|
18708
|
-
category,
|
|
18709
|
-
group,
|
|
18710
|
-
actionDescription: `category ${data.item.name}`,
|
|
18741
|
+
data,
|
|
18711
18742
|
});
|
|
18712
18743
|
}
|
|
18713
18744
|
else if (data.group) {
|
|
18714
18745
|
inprogress.push({
|
|
18715
18746
|
uid: data.uid,
|
|
18716
|
-
|
|
18717
|
-
hasCategory: data.meta && !!data.meta.badges,
|
|
18718
|
-
category,
|
|
18719
|
-
group: data.group,
|
|
18720
|
-
actionDescription: `category ${data.item.name}`,
|
|
18747
|
+
data,
|
|
18721
18748
|
});
|
|
18722
18749
|
}
|
|
18723
18750
|
});
|
|
@@ -18726,46 +18753,23 @@ class DuetUpload {
|
|
|
18726
18753
|
failure,
|
|
18727
18754
|
success,
|
|
18728
18755
|
inprogress,
|
|
18756
|
+
hasCategory,
|
|
18729
18757
|
};
|
|
18730
18758
|
};
|
|
18731
|
-
this.getColumns = (group, hasCategory) => {
|
|
18732
|
-
return [
|
|
18733
|
-
{
|
|
18734
|
-
sort_order: 1,
|
|
18735
|
-
direction: -1,
|
|
18736
|
-
index: 0,
|
|
18737
|
-
key: "category",
|
|
18738
|
-
label: {
|
|
18739
|
-
fi: "Kategoria",
|
|
18740
|
-
sv: "Kategori",
|
|
18741
|
-
en: "Category",
|
|
18742
|
-
},
|
|
18743
|
-
display: hasCategory,
|
|
18744
|
-
},
|
|
18745
|
-
{
|
|
18746
|
-
sort_order: 1,
|
|
18747
|
-
direction: -1,
|
|
18748
|
-
index: 1,
|
|
18749
|
-
key: group.id,
|
|
18750
|
-
label: group.label,
|
|
18751
|
-
display: true,
|
|
18752
|
-
},
|
|
18753
|
-
];
|
|
18754
|
-
};
|
|
18755
18759
|
this.getActions = (id) => {
|
|
18756
18760
|
return this.actions.filter(item => item.map.includes(id));
|
|
18757
18761
|
};
|
|
18758
|
-
this.
|
|
18762
|
+
this.renderUploadedItems = () => {
|
|
18759
18763
|
const filteredItems = this.filterMap();
|
|
18760
|
-
const
|
|
18764
|
+
const hasCategory = filteredItems.hasCategory;
|
|
18765
|
+
const ItemRows = this.groups.map(group => {
|
|
18761
18766
|
const currentItems = filteredItems[group.id];
|
|
18762
18767
|
if (!(currentItems === null || currentItems === void 0 ? void 0 : currentItems.length)) {
|
|
18763
18768
|
return;
|
|
18764
18769
|
}
|
|
18765
|
-
|
|
18766
|
-
return (hAsync("duet-editable-table", { variation: "plain", groupId: group.id, columns: this.getColumns(group, hasCategory), actions: this.getActions(group.id), margin: "none", rows: currentItems, "hide-head-visually": this.hideGroups || group.id !== this.DefaultGroups.success }));
|
|
18770
|
+
return (hAsync(Fragment, null, !this.hideGroups && (hAsync(UploadItemHeader, { categoryLabel: hasCategory ? this.categoryLabel : undefined, label: group.label })), currentItems.map(item => this.mapFilesToUploadItems(item.data, group.id, hasCategory))));
|
|
18767
18771
|
});
|
|
18768
|
-
return
|
|
18772
|
+
return (hAsync(Fragment, null, this.showUploadedItemsHeader && (hAsync(UploadItemHeader, { categoryLabel: hasCategory ? this.categoryLabel : undefined, label: this.uploadedItemsHeaderLabel })), ItemRows));
|
|
18769
18773
|
};
|
|
18770
18774
|
this.tick = Date.now();
|
|
18771
18775
|
this.accessibleActiveDescendant = undefined;
|
|
@@ -18881,6 +18885,13 @@ class DuetUpload {
|
|
|
18881
18885
|
this.value = undefined;
|
|
18882
18886
|
this.externalUploadButtonId = undefined;
|
|
18883
18887
|
this.captionOnBottom = false;
|
|
18888
|
+
this.showUploadedItemsHeader = false;
|
|
18889
|
+
this.uploadedItemsHeaderLabel = {
|
|
18890
|
+
fi: "Ladattu tiedosto",
|
|
18891
|
+
sv: "Lägg till en bilaga",
|
|
18892
|
+
en: "Uploaded file",
|
|
18893
|
+
};
|
|
18894
|
+
this.hideHeader = false;
|
|
18884
18895
|
this.groups = [
|
|
18885
18896
|
{
|
|
18886
18897
|
id: this.DefaultGroups.success,
|
|
@@ -19005,13 +19016,7 @@ class DuetUpload {
|
|
|
19005
19016
|
this.externalUploadButton.ariaLabel = caption;
|
|
19006
19017
|
}
|
|
19007
19018
|
// @ts-ignore
|
|
19008
|
-
return (hAsync(Host, { class: { "duet-m-0": this.margin === "none" } }, hAsync("duet-fieldset", { label: this.label, caption: !this.captionOnBottom ? caption : undefined }, hAsync("slot", { name: "header" }), !this.files.size && (hAsync("duet-
|
|
19009
|
-
"duet-upload-filelist-empty": !this.files.size,
|
|
19010
|
-
"duet-upload-filelist": true,
|
|
19011
|
-
"duet-upload-filelist-filled": this.files.size,
|
|
19012
|
-
}, id: this.labelId, for: identifier }, hAsync("span", { class: {
|
|
19013
|
-
"duet-upload-filelist-empty-label": !this.files.size,
|
|
19014
|
-
} }, this.fileListEmpty))), !!this.files.size && hAsync("slot", { name: "fileheader" }), !!this.files.size && (hAsync("duet-upload-aria-status", { 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.renderEditableTableGroups(), !!this.files.size && hAsync("slot", { name: "filefooter" }), hAsync("slot", { name: "footer" }), this.captionOnBottom && (hAsync("duet-caption", { size: "small" }, hAsync("div", { class: "upload-bottom-caption" }, caption))), hAsync("slot", { name: "afterfooter" }), hAsync("duet-spacer", { size: "large" }), !this.hideButton && (hAsync("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel)), hAsync("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (hAsync("duet-alert", { part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes))), hAsync("duet-spacer", { size: "medium" }), hAsync("duet-visually-hidden", { "aria-hidden": "true" }, hAsync("input", { ref: input => {
|
|
19019
|
+
return (hAsync(Host, { class: { "duet-m-0": this.margin === "none" } }, hAsync("duet-fieldset", { "label-hidden": this.hideHeader, label: this.label, caption: !this.captionOnBottom ? caption : undefined }, hAsync("slot", { name: "header" }), !this.files.size && (hAsync("duet-empty-state", { id: this.labelId, part: this.identifier ? `${this.identifier}-empty-state` : "duet-upload-empty-state", icon: "messaging-attachment" }, hAsync("duet-paragraph", { margin: "none" }, this.fileListEmpty))), !!this.files.size && hAsync("slot", { name: "fileheader" }), !!this.files.size && (hAsync("duet-upload-aria-status", { 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 && hAsync("slot", { name: "filefooter" }), hAsync("slot", { name: "uploadfooter" }), this.captionOnBottom && (hAsync("duet-caption", { size: "small" }, hAsync("div", { class: "upload-bottom-caption" }, caption))), hAsync("slot", { name: "afterfooter" }), hAsync("duet-spacer", { size: "large" }), !this.hideButton && (hAsync("duet-button", { id: this.buttonId, onClick: this.startUpload, "accessible-controls": identifier, disabled: this.fileMaxReached, "accessible-label": this.accessibleButtonLabel, "accessible-owns": identifier, size: "small", variation: "secondary", fixed: true, icon: "action-add-circle", part: this.identifier ? `${this.identifier}-button-upload` : "duet-upload-button-upload" }, this.buttonLabel)), hAsync("duet-spacer", { size: "medium" }), (this.fileMaxReached || this.bytesMaxReached) && (hAsync("duet-alert", { part: this.identifier ? `${this.identifier}-error-notification` : "duet-upload-error-notification" }, this.fileMaxReached && getI18nError("duet-upload-301", this.errorCodes), this.bytesMaxReached && getI18nError("duet-upload-202", this.errorCodes))), hAsync("duet-spacer", { size: "medium" }), hAsync("duet-visually-hidden", { "aria-hidden": "true" }, hAsync("input", { ref: input => {
|
|
19015
19020
|
this.nativeInput = input;
|
|
19016
19021
|
}, accept: !this.limitSelection ? undefined : `${this.allowedMimetypes},${this.allowedExtensions}`, onBlur: this.onBlur, onFocus: this.onFocus, onChange: e => this.onChange(e), type: "file", class: {
|
|
19017
19022
|
"duet-upload": true,
|
|
@@ -19196,6 +19201,9 @@ class DuetUpload {
|
|
|
19196
19201
|
"value": [1025],
|
|
19197
19202
|
"externalUploadButtonId": [1, "external-upload-button-id"],
|
|
19198
19203
|
"captionOnBottom": [4, "caption-on-bottom"],
|
|
19204
|
+
"showUploadedItemsHeader": [4, "show-uploaded-items-header"],
|
|
19205
|
+
"uploadedItemsHeaderLabel": [16],
|
|
19206
|
+
"hideHeader": [4, "hide-header"],
|
|
19199
19207
|
"groups": [16],
|
|
19200
19208
|
"tick": [32],
|
|
19201
19209
|
"setFocus": [64],
|