@duetds/components 7.0.12 → 7.1.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 +298 -38
- package/lib/cjs/duet-action-button.cjs.entry.js +5 -1
- package/lib/cjs/duet-alert.cjs.entry.js +4 -1
- package/lib/cjs/duet-badge.cjs.entry.js +6 -1
- package/lib/cjs/duet-banner.cjs.entry.js +5 -1
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +5 -1
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
- package/lib/cjs/duet-button_2.cjs.entry.js +5 -1
- package/lib/cjs/duet-callout.cjs.entry.js +5 -1
- package/lib/cjs/duet-caption_4.cjs.entry.js +16 -1
- package/lib/cjs/duet-card.cjs.entry.js +5 -1
- package/lib/cjs/duet-checkbox.cjs.entry.js +5 -1
- package/lib/cjs/duet-checkmark.cjs.entry.js +1 -1
- package/lib/cjs/duet-chip.cjs.entry.js +18 -14
- package/lib/cjs/duet-choice_2.cjs.entry.js +9 -2
- package/lib/cjs/duet-collapsible.cjs.entry.js +5 -1
- package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
- package/lib/cjs/duet-contact-card.cjs.entry.js +5 -1
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +5 -1
- package/lib/cjs/duet-date-picker.cjs.entry.js +6 -2
- package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +8 -1
- package/lib/cjs/duet-empty-state.cjs.entry.js +6 -1
- package/lib/cjs/duet-fieldset.cjs.entry.js +5 -1
- package/lib/cjs/duet-footer.cjs.entry.js +5 -1
- package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-header_2.cjs.entry.js +5 -1
- package/lib/cjs/duet-hero.cjs.entry.js +6 -2
- package/lib/cjs/duet-icon.cjs.entry.js +5 -1
- package/lib/cjs/duet-input_2.cjs.entry.js +7 -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 +5 -1
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +5 -1
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +5 -1
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +5 -1
- package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -1
- package/lib/cjs/duet-modal.cjs.entry.js +5 -3
- package/lib/cjs/duet-multiselect.cjs.entry.js +5 -1
- package/lib/cjs/duet-nav.cjs.entry.js +1 -1
- package/lib/cjs/duet-notification_2.cjs.entry.js +8 -1
- package/lib/cjs/duet-number-input.cjs.entry.js +5 -1
- package/lib/cjs/duet-page-heading.cjs.entry.js +5 -1
- package/lib/cjs/duet-pagination_2.cjs.entry.js +4 -1
- package/lib/cjs/duet-popup-menu-item.cjs.entry.js +5 -1
- package/lib/cjs/duet-popup-menu.cjs.entry.js +4 -2
- package/lib/cjs/duet-progress.cjs.entry.js +5 -1
- package/lib/cjs/duet-promo-card.cjs.entry.js +5 -1
- package/lib/cjs/duet-radio_2.cjs.entry.js +5 -1
- package/lib/cjs/duet-range-slider.cjs.entry.js +5 -1
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +14 -7
- package/lib/cjs/duet-section-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-select.cjs.entry.js +5 -1
- package/lib/cjs/duet-shaped-image.cjs.entry.js +1 -1
- package/lib/cjs/duet-show-more.cjs.entry.js +5 -1
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +5 -1
- package/lib/cjs/duet-slideout-link.cjs.entry.js +5 -1
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +5 -1
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +6 -2
- package/lib/cjs/duet-slideout.cjs.entry.js +32 -3
- package/lib/cjs/duet-step_2.cjs.entry.js +8 -1
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +5 -1
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +5 -1
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +5 -1
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +5 -1
- package/lib/cjs/duet-textarea.cjs.entry.js +5 -1
- package/lib/cjs/duet-toggle.cjs.entry.js +5 -1
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +5 -1
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +5 -1
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +5 -1
- package/lib/cjs/duet-toolbar.cjs.entry.js +1 -1
- package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +22 -2
- package/lib/cjs/duet-tooltip.cjs.entry.js +4 -6
- package/lib/cjs/duet-tray.cjs.entry.js +5 -1
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +9 -1
- package/lib/cjs/duet-upload-item.cjs.entry.js +6 -1
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +6 -1
- package/lib/cjs/duet.cjs.js +2 -2
- package/lib/cjs/{focus-utils-a3fae3c7.js → focus-utils-09463cf4.js} +1 -1
- package/lib/cjs/{index-caae8c44.js → index-e43540c9.js} +1 -1
- package/lib/cjs/loader.cjs.js +2 -2
- package/lib/cjs/nudge-82021e4f.js +18 -0
- package/lib/cjs/{teleport-18e2b4b9.js → teleport-3166d264.js} +9 -12
- package/lib/collection/components/duet-action-button/duet-action-button.js +4 -0
- package/lib/collection/components/duet-alert/duet-alert.js +3 -0
- package/lib/collection/components/duet-badge/duet-badge.js +5 -0
- package/lib/collection/components/duet-banner/duet-banner.js +4 -0
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -0
- package/lib/collection/components/duet-button/duet-button.js +4 -0
- package/lib/collection/components/duet-callout/duet-callout.js +4 -0
- package/lib/collection/components/duet-caption/duet-caption.js +5 -0
- package/lib/collection/components/duet-card/duet-card.js +4 -0
- package/lib/collection/components/duet-checkbox/duet-checkbox.js +4 -0
- package/lib/collection/components/duet-chip/duet-chip.js +35 -14
- package/lib/collection/components/duet-choice/duet-choice.js +4 -0
- package/lib/collection/components/duet-choice-group/duet-choice-group.js +4 -0
- package/lib/collection/components/duet-collapsible/duet-collapsible.js +4 -0
- package/lib/collection/components/duet-contact-card/duet-contact-card.js +4 -0
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +4 -0
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +4 -0
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +4 -0
- package/lib/collection/components/duet-empty-state/duet-empty-state.js +5 -0
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +4 -0
- package/lib/collection/components/duet-footer/duet-footer.js +4 -0
- package/lib/collection/components/duet-header/duet-header.js +4 -0
- package/lib/collection/components/duet-heading/duet-heading.js +4 -0
- package/lib/collection/components/duet-hero/duet-hero.css +30 -0
- package/lib/collection/components/duet-hero/duet-hero.js +4 -0
- package/lib/collection/components/duet-icon/duet-icon.js +4 -0
- package/lib/collection/components/duet-input/duet-input.js +2 -0
- package/lib/collection/components/duet-label/duet-label.js +5 -0
- package/lib/collection/components/duet-link/duet-link.js +5 -0
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +2 -0
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +4 -0
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +4 -0
- package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +4 -0
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +4 -0
- package/lib/collection/components/duet-modal/duet-modal.js +2 -0
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +4 -0
- package/lib/collection/components/duet-notification/duet-notification.js +4 -0
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +4 -0
- package/lib/collection/components/duet-number-input/duet-number-input.js +4 -0
- package/lib/collection/components/duet-page-heading/duet-page-heading.js +4 -0
- package/lib/collection/components/duet-pagination/duet-pagination.js +2 -0
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +4 -0
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +2 -0
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +4 -0
- package/lib/collection/components/duet-progress/duet-progress.js +4 -0
- package/lib/collection/components/duet-promo-card/duet-promo-card.js +4 -0
- package/lib/collection/components/duet-radio-group/duet-radio-group.js +4 -0
- package/lib/collection/components/duet-range-slider/duet-range-slider.js +4 -0
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +2 -0
- package/lib/collection/components/duet-scrollable/duet-scrollable.js +10 -8
- package/lib/collection/components/duet-select/duet-select.js +4 -0
- package/lib/collection/components/duet-show-more/duet-show-more.js +4 -0
- package/lib/collection/components/duet-slideout/duet-slideout.js +35 -2
- package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +4 -0
- package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +4 -0
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +4 -0
- package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +4 -0
- package/lib/collection/components/duet-step/duet-step.js +4 -0
- package/lib/collection/components/duet-stepper/duet-stepper.js +4 -0
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +4 -0
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +4 -0
- package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +4 -0
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +4 -0
- package/lib/collection/components/duet-tab/duet-tab.js +5 -0
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +2 -0
- package/lib/collection/components/duet-textarea/duet-textarea.js +4 -0
- package/lib/collection/components/duet-toggle/duet-toggle.js +4 -0
- package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +4 -0
- package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +4 -0
- package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +4 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +4 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +20 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +3 -5
- package/lib/collection/components/duet-tray/duet-tray.js +4 -0
- package/lib/collection/components/duet-upload/duet-upload.js +4 -0
- package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +8 -0
- package/lib/collection/components/duet-upload-item/duet-upload-item.js +5 -0
- package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +5 -0
- package/lib/collection/utils/nudge.js +14 -0
- package/lib/collection/utils/teleport.js +9 -12
- 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-banner.js +8 -4
- package/lib/dist-custom-elements/duet-breadcrumb.js +6 -2
- package/lib/dist-custom-elements/duet-breadcrumbs.js +1 -1
- package/lib/dist-custom-elements/duet-button.js +1 -1
- package/lib/dist-custom-elements/duet-callout.js +7 -3
- package/lib/dist-custom-elements/duet-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +7 -3
- 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-chip.js +21 -16
- package/lib/dist-custom-elements/duet-choice-group.js +12 -8
- package/lib/dist-custom-elements/duet-choice.js +9 -5
- package/lib/dist-custom-elements/duet-collapsible.js +6 -2
- package/lib/dist-custom-elements/duet-combobox.js +2 -2
- package/lib/dist-custom-elements/duet-contact-card.js +12 -8
- package/lib/dist-custom-elements/duet-cookie-consent.js +10 -6
- package/lib/dist-custom-elements/duet-date-picker.js +16 -12
- package/lib/dist-custom-elements/duet-divider.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +11 -7
- 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 +8 -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 +12 -8
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +14 -10
- 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 +6 -2
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +6 -2
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +6 -2
- package/lib/dist-custom-elements/duet-menu-bar-link.js +6 -2
- package/lib/dist-custom-elements/duet-menu-bar.js +4 -2
- package/lib/dist-custom-elements/duet-modal.js +10 -8
- package/lib/dist-custom-elements/duet-multiselect.js +14 -10
- package/lib/dist-custom-elements/duet-nav.js +1 -1
- package/lib/dist-custom-elements/duet-notification-drawer.js +8 -4
- package/lib/dist-custom-elements/duet-notification.js +6 -2
- package/lib/dist-custom-elements/duet-number-input.js +15 -11
- package/lib/dist-custom-elements/duet-page-heading.js +6 -2
- package/lib/dist-custom-elements/duet-pagination.js +15 -13
- package/lib/dist-custom-elements/duet-paragraph.js +1 -1
- package/lib/dist-custom-elements/duet-popup-menu-item.js +6 -2
- package/lib/dist-custom-elements/duet-popup-menu.js +4 -2
- package/lib/dist-custom-elements/duet-progress.js +1 -1
- package/lib/dist-custom-elements/duet-promo-card.js +7 -3
- package/lib/dist-custom-elements/duet-radio-group.js +12 -8
- package/lib/dist-custom-elements/duet-radio.js +1 -1
- package/lib/dist-custom-elements/duet-range-slider.js +6 -2
- package/lib/dist-custom-elements/duet-range-stepper.js +6 -4
- 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-shaped-image.js +1 -1
- package/lib/dist-custom-elements/duet-show-more.js +9 -5
- package/lib/dist-custom-elements/duet-slideout-lang.js +6 -2
- package/lib/dist-custom-elements/duet-slideout-link.js +6 -2
- package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +6 -2
- package/lib/dist-custom-elements/duet-slideout-panel.js +6 -2
- package/lib/dist-custom-elements/duet-slideout.js +33 -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 +8 -4
- package/lib/dist-custom-elements/duet-stepper.js +6 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +6 -2
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +6 -2
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +6 -2
- package/lib/dist-custom-elements/duet-submenu-bar.js +6 -2
- package/lib/dist-custom-elements/duet-tab-group.js +15 -13
- package/lib/dist-custom-elements/duet-tab.js +6 -1
- package/lib/dist-custom-elements/duet-table.js +1 -1
- package/lib/dist-custom-elements/duet-textarea.js +14 -10
- package/lib/dist-custom-elements/duet-toggle.js +6 -2
- package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +6 -2
- package/lib/dist-custom-elements/duet-toolbar-dropdown.js +6 -2
- package/lib/dist-custom-elements/duet-toolbar-link.js +6 -2
- package/lib/dist-custom-elements/duet-toolbar.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip.js +1 -1
- package/lib/dist-custom-elements/duet-tray.js +7 -3
- package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
- package/lib/dist-custom-elements/duet-upload-item.js +1 -1
- package/lib/dist-custom-elements/duet-upload.js +22 -18
- 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-7cfffcaa.js → p-12a46182.js} +1 -1
- package/lib/dist-custom-elements/{p-7382fe25.js → p-1a8cb0ad.js} +1 -1
- package/lib/dist-custom-elements/{p-1b74fb07.js → p-1d90b10e.js} +1 -1
- package/lib/dist-custom-elements/{p-f389f1b2.js → p-21dd956e.js} +8 -3
- package/lib/dist-custom-elements/p-3ae39071.js +16 -0
- package/lib/dist-custom-elements/{p-43198798.js → p-479fa83d.js} +7 -3
- package/lib/dist-custom-elements/{p-5f2456ef.js → p-4d9d4c43.js} +10 -2
- package/lib/dist-custom-elements/{p-84ab3b95.js → p-53148470.js} +7 -2
- package/lib/dist-custom-elements/{p-4c347387.js → p-53fba128.js} +6 -1
- package/lib/dist-custom-elements/{p-33120def.js → p-67b279fa.js} +5 -1
- package/lib/dist-custom-elements/{p-0aba8228.js → p-6816fd1b.js} +8 -5
- package/lib/dist-custom-elements/{p-6867b3fe.js → p-6958bba3.js} +15 -10
- package/lib/dist-custom-elements/{p-2b7ac761.js → p-6a66573f.js} +8 -4
- package/lib/dist-custom-elements/{p-23e5fa7c.js → p-72c9e944.js} +6 -1
- package/lib/dist-custom-elements/{p-64bb8758.js → p-77c93063.js} +1 -1
- package/lib/dist-custom-elements/{p-dc75d108.js → p-7c6ee265.js} +8 -10
- package/lib/dist-custom-elements/{p-b09581ca.js → p-85087518.js} +6 -2
- package/lib/dist-custom-elements/{p-882ef6ce.js → p-87cf7266.js} +13 -11
- package/lib/dist-custom-elements/{p-dfcd1096.js → p-89dec98e.js} +6 -2
- package/lib/dist-custom-elements/{p-e681c310.js → p-954d4096.js} +12 -10
- package/lib/dist-custom-elements/{p-d7be7de5.js → p-99ec82e5.js} +5 -1
- package/lib/dist-custom-elements/{p-7394e25f.js → p-9c1b089a.js} +9 -12
- package/lib/dist-custom-elements/{p-07bc27ea.js → p-a5b5343b.js} +12 -8
- package/lib/dist-custom-elements/{p-baaf323b.js → p-ad704699.js} +20 -3
- package/lib/dist-custom-elements/{p-1b13f80e.js → p-c2533c03.js} +1 -1
- package/lib/dist-custom-elements/{p-cb99a590.js → p-cedaa97e.js} +1 -1
- package/lib/dist-custom-elements/{p-7fa28910.js → p-d6e49c93.js} +6 -2
- package/lib/dist-custom-elements/{p-cc5e0445.js → p-d8859df9.js} +1 -1
- package/lib/dist-custom-elements/{p-bb4a2438.js → p-d8c53f43.js} +1 -1
- package/lib/dist-custom-elements/{p-31b0690c.js → p-dd33aa4e.js} +1 -1
- package/lib/dist-custom-elements/{p-ed5d7c83.js → p-decdd69c.js} +5 -1
- package/lib/dist-custom-elements/{p-3186fb9f.js → p-e611a3df.js} +5 -1
- package/lib/dist-custom-elements/{p-12580504.js → p-e90b70ac.js} +1 -1
- package/lib/dist-custom-elements/{p-574d75b2.js → p-f7337164.js} +6 -1
- package/lib/dist-custom-elements/{p-80231805.js → p-fc3ae836.js} +1 -1
- package/lib/dist-custom-elements/{p-391dc2ef.js → p-fcc738df.js} +6 -1
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/p-00743d6c.system.entry.js +4 -0
- package/lib/duet/p-00a893c1.js +4 -0
- package/lib/duet/p-014edbda.system.entry.js +4 -0
- package/lib/duet/p-0414004a.entry.js +4 -0
- package/lib/duet/p-0762d0ce.system.entry.js +4 -0
- package/lib/duet/p-096d7724.entry.js +4 -0
- package/lib/duet/p-0b38374b.system.entry.js +4 -0
- package/lib/duet/p-0bb83776.system.entry.js +4 -0
- package/lib/duet/p-0c203d28.entry.js +4 -0
- package/lib/duet/p-0dfe14d3.entry.js +4 -0
- package/lib/duet/p-0ea3453c.system.entry.js +4 -0
- package/lib/duet/p-0f2664ed.entry.js +4 -0
- package/lib/duet/{p-0852e478.system.entry.js → p-15a77012.system.entry.js} +1 -1
- package/lib/duet/p-1853e4e5.system.entry.js +4 -0
- package/lib/duet/p-1c8634b1.entry.js +4 -0
- package/lib/duet/{p-9329be40.system.entry.js → p-1e3f0d63.system.entry.js} +1 -1
- package/lib/duet/p-1e709927.system.entry.js +4 -0
- package/lib/duet/p-1e88edec.entry.js +4 -0
- package/lib/duet/p-20767b15.system.entry.js +4 -0
- package/lib/duet/p-22acfa83.entry.js +4 -0
- package/lib/duet/p-24bc0b8c.entry.js +4 -0
- package/lib/duet/p-250745c0.system.entry.js +4 -0
- package/lib/duet/p-2556c6f0.system.entry.js +4 -0
- package/lib/duet/{p-c944d048.system.entry.js → p-285b2d7b.system.entry.js} +1 -1
- package/lib/duet/p-29a6d3b3.entry.js +4 -0
- package/lib/duet/p-2bec5be2.entry.js +4 -0
- package/lib/duet/p-2d7d1ff7.entry.js +4 -0
- package/lib/duet/p-2e54c1f8.system.entry.js +4 -0
- package/lib/duet/p-2e54c214.entry.js +4 -0
- package/lib/duet/p-3092d696.system.entry.js +4 -0
- package/lib/duet/p-30d1b2b5.entry.js +4 -0
- package/lib/duet/p-31d63beb.system.entry.js +4 -0
- package/lib/duet/p-3344fca3.entry.js +4 -0
- package/lib/duet/{p-3d89fa32.entry.js → p-34aa54e1.entry.js} +1 -1
- package/lib/duet/p-3538b0af.entry.js +4 -0
- package/lib/duet/{p-78b45ec6.system.entry.js → p-3768dda7.system.entry.js} +1 -1
- package/lib/duet/p-37ee4ceb.system.entry.js +4 -0
- package/lib/duet/p-3878572f.entry.js +4 -0
- package/lib/duet/p-39c72a24.system.entry.js +4 -0
- package/lib/duet/p-3a9779ee.entry.js +4 -0
- package/lib/duet/p-3ae39071.js +4 -0
- package/lib/duet/p-3b85f649.system.entry.js +4 -0
- package/lib/duet/p-3c2f1fd0.entry.js +4 -0
- package/lib/duet/p-42c64bb8.system.entry.js +4 -0
- package/lib/duet/{p-7a429565.system.entry.js → p-457ae87b.system.entry.js} +1 -1
- package/lib/duet/p-469892f4.system.entry.js +4 -0
- package/lib/duet/p-4903f5c4.system.entry.js +4 -0
- package/lib/duet/p-4b71c8e9.entry.js +4 -0
- package/lib/duet/p-4c04b1c6.entry.js +4 -0
- package/lib/duet/p-51328149.entry.js +4 -0
- package/lib/duet/p-529dc6fe.entry.js +4 -0
- package/lib/duet/p-54c07ffa.system.entry.js +4 -0
- package/lib/duet/p-5ab4d5d4.entry.js +4 -0
- package/lib/duet/p-5ac682b3.system.entry.js +4 -0
- package/lib/duet/p-5f2fc4bd.entry.js +4 -0
- package/lib/duet/{p-fa0d520a.system.entry.js → p-5f46f02e.system.entry.js} +1 -1
- package/lib/duet/p-5fb428c8.system.entry.js +4 -0
- package/lib/duet/p-60b4b7c1.system.js +4 -0
- package/lib/duet/p-64710156.entry.js +4 -0
- package/lib/duet/p-651d430e.system.entry.js +4 -0
- package/lib/duet/p-673a726a.entry.js +4 -0
- package/lib/duet/p-6b2c127a.entry.js +4 -0
- package/lib/duet/p-6d09651a.entry.js +4 -0
- package/lib/duet/p-6d620156.system.entry.js +4 -0
- package/lib/duet/p-6d71214f.entry.js +4 -0
- package/lib/duet/p-703c3662.system.entry.js +4 -0
- package/lib/duet/p-70c7a137.system.entry.js +4 -0
- package/lib/duet/p-729f35d8.system.entry.js +4 -0
- package/lib/duet/p-73242991.entry.js +4 -0
- package/lib/duet/{p-e8153582.js → p-733bb740.js} +1 -1
- package/lib/duet/p-737167be.system.js +4 -0
- package/lib/duet/p-73c9436a.entry.js +4 -0
- package/lib/duet/p-79266582.system.entry.js +4 -0
- package/lib/duet/p-792cbd42.system.entry.js +4 -0
- package/lib/duet/p-7966dc5b.system.entry.js +4 -0
- package/lib/duet/p-7a7da6cf.system.entry.js +4 -0
- package/lib/duet/p-7be35e53.system.entry.js +4 -0
- package/lib/duet/p-7ee29cc1.system.entry.js +4 -0
- package/lib/duet/{p-dd298295.system.entry.js → p-8156e5a5.system.entry.js} +1 -1
- package/lib/duet/p-8304e300.system.entry.js +4 -0
- package/lib/duet/p-84390ead.entry.js +4 -0
- package/lib/duet/{p-d09f834f.entry.js → p-84ebe175.entry.js} +1 -1
- package/lib/duet/p-85605193.system.entry.js +4 -0
- package/lib/duet/p-86b83b73.system.entry.js +4 -0
- package/lib/duet/p-88c01d1c.entry.js +4 -0
- package/lib/duet/{p-8ea61384.system.entry.js → p-8ac518e1.system.entry.js} +1 -1
- package/lib/duet/p-90f97748.entry.js +4 -0
- package/lib/duet/p-92c7c0ba.entry.js +4 -0
- package/lib/duet/p-9601bad5.entry.js +4 -0
- package/lib/duet/p-962a83ef.entry.js +4 -0
- package/lib/duet/{p-6cd9a2a7.entry.js → p-97076e02.entry.js} +1 -1
- package/lib/duet/p-9b992ce9.entry.js +4 -0
- package/lib/duet/p-9bdf6ce2.entry.js +4 -0
- package/lib/duet/p-9c1b089a.js +4 -0
- package/lib/duet/p-9c5860a3.entry.js +4 -0
- package/lib/duet/{p-1d345ae7.entry.js → p-9d317471.entry.js} +1 -1
- package/lib/duet/p-9f65b014.system.entry.js +4 -0
- package/lib/duet/p-9f975819.system.entry.js +4 -0
- package/lib/duet/{p-7b96058a.system.js → p-9f97eb07.system.js} +1 -1
- package/lib/duet/p-a095c36f.system.entry.js +4 -0
- package/lib/duet/p-a276bfbd.entry.js +4 -0
- package/lib/duet/p-a322b729.entry.js +4 -0
- package/lib/duet/p-a620d583.system.entry.js +4 -0
- package/lib/duet/p-a64cf9f8.system.entry.js +4 -0
- package/lib/duet/p-a6f6f073.system.entry.js +4 -0
- package/lib/duet/p-a7915b7d.entry.js +4 -0
- package/lib/duet/p-a922b309.system.entry.js +4 -0
- package/lib/duet/p-aa634481.entry.js +4 -0
- package/lib/duet/p-ab2d8091.entry.js +4 -0
- package/lib/duet/p-acb9ba1b.system.entry.js +4 -0
- package/lib/duet/p-acfae908.system.entry.js +4 -0
- package/lib/duet/p-ad70248d.entry.js +4 -0
- package/lib/duet/p-b3a1ea89.system.entry.js +4 -0
- package/lib/duet/p-b41ed3c4.entry.js +4 -0
- package/lib/duet/{p-c8cfeb6d.entry.js → p-b42b2676.entry.js} +1 -1
- package/lib/duet/p-b529eb0c.system.entry.js +4 -0
- package/lib/duet/p-b52f8ce1.entry.js +4 -0
- package/lib/duet/p-b6c212f5.system.entry.js +4 -0
- package/lib/duet/{p-24aa9591.system.entry.js → p-b6cf05c0.system.entry.js} +1 -1
- package/lib/duet/p-b6e50064.entry.js +4 -0
- package/lib/duet/p-baef301c.system.entry.js +4 -0
- package/lib/duet/{p-56970770.entry.js → p-bb5d22df.entry.js} +1 -1
- package/lib/duet/p-bc7c47f4.system.entry.js +4 -0
- package/lib/duet/p-bdb50607.system.entry.js +4 -0
- package/lib/duet/{p-54bf0354.entry.js → p-c135039c.entry.js} +1 -1
- package/lib/duet/p-c52e0917.entry.js +4 -0
- package/lib/duet/p-c655b7d1.system.entry.js +4 -0
- package/lib/duet/p-c8536d3f.entry.js +4 -0
- package/lib/duet/p-c8836a67.system.entry.js +4 -0
- package/lib/duet/p-ca112a3f.system.entry.js +4 -0
- package/lib/duet/p-cc48a8a0.system.entry.js +4 -0
- package/lib/duet/p-cfe09501.system.entry.js +4 -0
- package/lib/duet/p-d79fa6a4.system.entry.js +4 -0
- package/lib/duet/{p-1ee69ea1.system.entry.js → p-d86480ea.system.entry.js} +1 -1
- package/lib/duet/{p-667b24f7.entry.js → p-da7cc3d1.entry.js} +1 -1
- package/lib/duet/p-db2865b5.entry.js +4 -0
- package/lib/duet/p-dde971f6.system.entry.js +4 -0
- package/lib/duet/{p-228969f2.entry.js → p-e2daed97.entry.js} +1 -1
- package/lib/duet/p-e30d6bee.system.entry.js +4 -0
- package/lib/duet/p-e4fd145a.entry.js +4 -0
- package/lib/duet/p-e52631b1.entry.js +4 -0
- package/lib/duet/p-e58f4a37.entry.js +4 -0
- package/lib/duet/p-e62f72a3.entry.js +4 -0
- package/lib/duet/p-e96bed1e.system.entry.js +4 -0
- package/lib/duet/p-ea4f5d13.system.entry.js +4 -0
- package/lib/duet/p-ebf4a629.entry.js +4 -0
- package/lib/duet/p-edbc2774.entry.js +4 -0
- package/lib/duet/p-ee0ca0fd.entry.js +4 -0
- package/lib/duet/p-f30d3b09.system.entry.js +4 -0
- package/lib/duet/p-f5c2ccce.entry.js +4 -0
- package/lib/duet/p-f5e12c14.system.entry.js +4 -0
- package/lib/duet/p-f702fd53.entry.js +4 -0
- package/lib/duet/p-f7793f52.entry.js +4 -0
- package/lib/duet/{p-3da4bc97.system.entry.js → p-f9f1c707.system.entry.js} +1 -1
- package/lib/duet/p-fa5bcc42.system.js +4 -0
- package/lib/duet/{p-cbd6baf4.entry.js → p-fb238069.entry.js} +1 -1
- package/lib/duet/{p-02646df4.entry.js → p-fb7d7222.entry.js} +1 -1
- package/lib/duet/{p-4b2edf92.system.js → p-fc1fee5c.system.js} +1 -1
- package/lib/duet/p-fc26d56a.entry.js +4 -0
- package/lib/duet/p-fc6d2bf4.entry.js +4 -0
- package/lib/duet/p-ff9ef21e.system.entry.js +4 -0
- package/lib/esm/duet-action-button.entry.js +5 -1
- package/lib/esm/duet-alert.entry.js +4 -1
- package/lib/esm/duet-badge.entry.js +6 -1
- package/lib/esm/duet-banner.entry.js +5 -1
- package/lib/esm/duet-breadcrumb.entry.js +5 -1
- package/lib/esm/duet-breadcrumbs.entry.js +1 -1
- package/lib/esm/duet-button_2.entry.js +5 -1
- package/lib/esm/duet-callout.entry.js +5 -1
- package/lib/esm/duet-caption_4.entry.js +16 -1
- package/lib/esm/duet-card.entry.js +5 -1
- package/lib/esm/duet-checkbox.entry.js +5 -1
- package/lib/esm/duet-checkmark.entry.js +1 -1
- package/lib/esm/duet-chip.entry.js +18 -14
- package/lib/esm/duet-choice_2.entry.js +9 -2
- package/lib/esm/duet-collapsible.entry.js +5 -1
- package/lib/esm/duet-combobox.entry.js +1 -1
- package/lib/esm/duet-contact-card.entry.js +5 -1
- package/lib/esm/duet-cookie-consent.entry.js +5 -1
- package/lib/esm/duet-date-picker.entry.js +6 -2
- package/lib/esm/duet-divider_2.entry.js +1 -1
- package/lib/esm/duet-editable-table_3.entry.js +8 -1
- package/lib/esm/duet-empty-state.entry.js +6 -1
- package/lib/esm/duet-fieldset.entry.js +5 -1
- package/lib/esm/duet-footer.entry.js +5 -1
- package/lib/esm/duet-grid_2.entry.js +1 -1
- package/lib/esm/duet-header_2.entry.js +5 -1
- package/lib/esm/duet-hero.entry.js +6 -2
- package/lib/esm/duet-icon.entry.js +5 -1
- package/lib/esm/duet-input_2.entry.js +7 -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 +5 -1
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +5 -1
- package/lib/esm/duet-menu-bar-dropdown.entry.js +5 -1
- package/lib/esm/duet-menu-bar-link.entry.js +5 -1
- package/lib/esm/duet-menu-bar.entry.js +3 -1
- package/lib/esm/duet-modal.entry.js +5 -3
- package/lib/esm/duet-multiselect.entry.js +5 -1
- package/lib/esm/duet-nav.entry.js +1 -1
- package/lib/esm/duet-notification_2.entry.js +8 -1
- package/lib/esm/duet-number-input.entry.js +5 -1
- package/lib/esm/duet-page-heading.entry.js +5 -1
- package/lib/esm/duet-pagination_2.entry.js +4 -1
- package/lib/esm/duet-popup-menu-item.entry.js +5 -1
- package/lib/esm/duet-popup-menu.entry.js +4 -2
- package/lib/esm/duet-progress.entry.js +5 -1
- package/lib/esm/duet-promo-card.entry.js +5 -1
- package/lib/esm/duet-radio_2.entry.js +5 -1
- package/lib/esm/duet-range-slider.entry.js +5 -1
- package/lib/esm/duet-scrollable_3.entry.js +14 -7
- package/lib/esm/duet-section-layout.entry.js +1 -1
- package/lib/esm/duet-select.entry.js +5 -1
- package/lib/esm/duet-shaped-image.entry.js +1 -1
- package/lib/esm/duet-show-more.entry.js +5 -1
- package/lib/esm/duet-slideout-lang.entry.js +5 -1
- package/lib/esm/duet-slideout-link.entry.js +5 -1
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +5 -1
- package/lib/esm/duet-slideout-panel.entry.js +6 -2
- package/lib/esm/duet-slideout.entry.js +32 -3
- package/lib/esm/duet-step_2.entry.js +8 -1
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +5 -1
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +5 -1
- package/lib/esm/duet-submenu-bar-link.entry.js +5 -1
- package/lib/esm/duet-submenu-bar.entry.js +5 -1
- package/lib/esm/duet-textarea.entry.js +5 -1
- package/lib/esm/duet-toggle.entry.js +5 -1
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +5 -1
- package/lib/esm/duet-toolbar-dropdown.entry.js +5 -1
- package/lib/esm/duet-toolbar-link.entry.js +5 -1
- package/lib/esm/duet-toolbar.entry.js +1 -1
- package/lib/esm/duet-tooltip-button_2.entry.js +22 -2
- package/lib/esm/duet-tooltip.entry.js +4 -6
- package/lib/esm/duet-tray.entry.js +5 -1
- package/lib/esm/duet-upload-aria-status.entry.js +9 -1
- package/lib/esm/duet-upload-item.entry.js +6 -1
- package/lib/esm/duet-visually-hidden.entry.js +6 -1
- package/lib/esm/duet.js +3 -3
- package/lib/esm/{focus-utils-9d791cc9.js → focus-utils-8fc4feb5.js} +1 -1
- package/lib/esm/{index-4e67e7db.js → index-b1b085ac.js} +1 -1
- package/lib/esm/loader.js +3 -3
- package/lib/esm/nudge-a828c525.js +16 -0
- package/lib/esm/{teleport-6b18ccae.js → teleport-467626fe.js} +9 -12
- 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-banner.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-callout.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-chip.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 +2 -2
- package/lib/esm-es5/duet-grid_2.entry.js +1 -1
- 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 +1 -1
- 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-popup-menu-item.entry.js +1 -1
- package/lib/esm-es5/duet-popup-menu.entry.js +1 -1
- package/lib/esm-es5/duet-progress.entry.js +1 -1
- package/lib/esm-es5/duet-promo-card.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 +2 -2
- 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-shaped-image.entry.js +1 -1
- package/lib/esm-es5/duet-show-more.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 +2 -2
- 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 +2 -2
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +2 -2
- 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-button_2.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip.entry.js +2 -2
- 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-upload-item.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-8fc4feb5.js +4 -0
- package/lib/esm-es5/{index-4e67e7db.js → index-b1b085ac.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/nudge-a828c525.js +4 -0
- package/lib/esm-es5/teleport-467626fe.js +4 -0
- package/lib/types/components/duet-action-button/duet-action-button.d.ts +1 -0
- package/lib/types/components/duet-alert/duet-alert.d.ts +1 -0
- package/lib/types/components/duet-badge/duet-badge.d.ts +2 -0
- package/lib/types/components/duet-banner/duet-banner.d.ts +1 -0
- package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +1 -0
- package/lib/types/components/duet-button/duet-button.d.ts +1 -0
- package/lib/types/components/duet-callout/duet-callout.d.ts +1 -0
- package/lib/types/components/duet-caption/duet-caption.d.ts +2 -0
- package/lib/types/components/duet-card/duet-card.d.ts +1 -0
- package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +1 -0
- package/lib/types/components/duet-chip/duet-chip.d.ts +6 -1
- package/lib/types/components/duet-choice/duet-choice.d.ts +1 -0
- package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -0
- package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +1 -0
- package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +1 -0
- package/lib/types/components/duet-cookie-consent/duet-cookie-consent.d.ts +1 -0
- package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +1 -0
- package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +1 -0
- package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +2 -0
- package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +1 -0
- package/lib/types/components/duet-footer/duet-footer.d.ts +1 -0
- package/lib/types/components/duet-header/duet-header.d.ts +1 -0
- package/lib/types/components/duet-heading/duet-heading.d.ts +1 -0
- package/lib/types/components/duet-hero/duet-hero.d.ts +1 -0
- package/lib/types/components/duet-icon/duet-icon.d.ts +1 -0
- package/lib/types/components/duet-label/duet-label.d.ts +2 -0
- package/lib/types/components/duet-link/duet-link.d.ts +2 -0
- package/lib/types/components/duet-menu-bar-button/duet-menu-bar-button.d.ts +1 -0
- package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +1 -0
- package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +1 -0
- package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +1 -0
- package/lib/types/components/duet-modal/duet-modal.d.ts +1 -1
- package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +1 -0
- package/lib/types/components/duet-notification/duet-notification.d.ts +1 -0
- package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +1 -0
- package/lib/types/components/duet-number-input/duet-number-input.d.ts +1 -0
- package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +1 -0
- package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +1 -0
- package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +1 -0
- package/lib/types/components/duet-progress/duet-progress.d.ts +1 -0
- package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +1 -0
- package/lib/types/components/duet-radio-group/duet-radio-group.d.ts +1 -0
- package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +1 -0
- package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +1 -1
- package/lib/types/components/duet-select/duet-select.d.ts +1 -0
- package/lib/types/components/duet-show-more/duet-show-more.d.ts +1 -0
- package/lib/types/components/duet-slideout/duet-slideout.d.ts +5 -0
- package/lib/types/components/duet-slideout-lang/duet-slideout-lang.d.ts +1 -0
- package/lib/types/components/duet-slideout-link/duet-slideout-link.d.ts +1 -0
- package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +1 -0
- package/lib/types/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.d.ts +1 -0
- package/lib/types/components/duet-step/duet-step.d.ts +1 -0
- package/lib/types/components/duet-stepper/duet-stepper.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar/duet-submenu-bar.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +1 -0
- package/lib/types/components/duet-tab/duet-tab.d.ts +2 -0
- package/lib/types/components/duet-textarea/duet-textarea.d.ts +1 -0
- package/lib/types/components/duet-toggle/duet-toggle.d.ts +1 -0
- package/lib/types/components/duet-toolbar-dropdown/duet-toolbar-dropdown.d.ts +1 -0
- package/lib/types/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.d.ts +1 -0
- package/lib/types/components/duet-toolbar-link/duet-toolbar-link.d.ts +1 -0
- package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
- package/lib/types/components/duet-tooltip/duet-tooltip-popup.d.ts +3 -0
- package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +0 -1
- package/lib/types/components/duet-tray/duet-tray.d.ts +1 -0
- package/lib/types/components/duet-upload/duet-upload.d.ts +1 -0
- package/lib/types/components/duet-upload-aria-status/duet-upload-aria-status.d.ts +5 -0
- package/lib/types/components/duet-upload-item/duet-upload-item.d.ts +2 -0
- package/lib/types/components/duet-visually-hidden/duet-visually-hidden.d.ts +2 -0
- package/lib/types/components.d.ts +8 -0
- package/lib/types/utils/nudge.d.ts +7 -0
- package/lib/types/utils/teleport.d.ts +0 -2
- package/package.json +5 -5
- package/lib/duet/p-029be4ef.entry.js +0 -4
- package/lib/duet/p-0481ad6a.system.entry.js +0 -4
- package/lib/duet/p-056c8418.system.entry.js +0 -4
- package/lib/duet/p-0768183c.entry.js +0 -4
- package/lib/duet/p-0bafe70f.system.entry.js +0 -4
- package/lib/duet/p-0f19fb78.js +0 -4
- package/lib/duet/p-0f3ac34b.entry.js +0 -4
- package/lib/duet/p-11f73648.entry.js +0 -4
- package/lib/duet/p-1598bff0.system.entry.js +0 -4
- package/lib/duet/p-1773eef1.entry.js +0 -4
- package/lib/duet/p-1a84a12e.system.entry.js +0 -4
- package/lib/duet/p-1ae4025b.system.entry.js +0 -4
- package/lib/duet/p-1c4188fa.system.entry.js +0 -4
- package/lib/duet/p-1efda4c7.entry.js +0 -4
- package/lib/duet/p-1fd95298.system.entry.js +0 -4
- package/lib/duet/p-2175ed21.system.entry.js +0 -4
- package/lib/duet/p-25b55443.entry.js +0 -4
- package/lib/duet/p-26117eaf.system.entry.js +0 -4
- package/lib/duet/p-272d5428.system.entry.js +0 -4
- package/lib/duet/p-2abbdacf.entry.js +0 -4
- package/lib/duet/p-2bf922c1.system.js +0 -4
- package/lib/duet/p-2c9669e1.entry.js +0 -4
- package/lib/duet/p-2d5cc2e2.entry.js +0 -4
- package/lib/duet/p-2e3f5a08.system.entry.js +0 -4
- package/lib/duet/p-3078ef63.entry.js +0 -4
- package/lib/duet/p-32b89b56.system.entry.js +0 -4
- package/lib/duet/p-3521d168.system.entry.js +0 -4
- package/lib/duet/p-35648f8f.system.entry.js +0 -4
- package/lib/duet/p-3aed6255.system.entry.js +0 -4
- package/lib/duet/p-3fcc633b.entry.js +0 -4
- package/lib/duet/p-421c1632.entry.js +0 -4
- package/lib/duet/p-4362ce6c.system.entry.js +0 -4
- package/lib/duet/p-4418898f.system.entry.js +0 -4
- package/lib/duet/p-4733ad1d.system.entry.js +0 -4
- package/lib/duet/p-4742f8de.system.entry.js +0 -4
- package/lib/duet/p-4a9dcfad.entry.js +0 -4
- package/lib/duet/p-4aa7baaf.entry.js +0 -4
- package/lib/duet/p-4b71addd.system.entry.js +0 -4
- package/lib/duet/p-4b89c97b.entry.js +0 -4
- package/lib/duet/p-4e835302.system.entry.js +0 -4
- package/lib/duet/p-4ea0128e.system.entry.js +0 -4
- package/lib/duet/p-58622e2e.entry.js +0 -4
- package/lib/duet/p-5a48a309.system.entry.js +0 -4
- package/lib/duet/p-5ac22332.entry.js +0 -4
- package/lib/duet/p-5b418dbb.entry.js +0 -4
- package/lib/duet/p-5ba09f38.entry.js +0 -4
- package/lib/duet/p-5ef641ff.system.entry.js +0 -4
- package/lib/duet/p-6255710e.entry.js +0 -4
- package/lib/duet/p-64164662.entry.js +0 -4
- package/lib/duet/p-64e6988d.system.entry.js +0 -4
- package/lib/duet/p-668573a9.system.entry.js +0 -4
- package/lib/duet/p-669ac83a.entry.js +0 -4
- package/lib/duet/p-671d3a25.entry.js +0 -4
- package/lib/duet/p-6a8943bb.system.entry.js +0 -4
- package/lib/duet/p-6b8da313.system.entry.js +0 -4
- package/lib/duet/p-6e939587.system.entry.js +0 -4
- package/lib/duet/p-70c50e9c.entry.js +0 -4
- package/lib/duet/p-712c2eb8.system.js +0 -4
- package/lib/duet/p-72bf6e7c.entry.js +0 -4
- package/lib/duet/p-72c9518b.system.entry.js +0 -4
- package/lib/duet/p-737b7907.entry.js +0 -4
- package/lib/duet/p-7394e25f.js +0 -4
- package/lib/duet/p-75b83038.entry.js +0 -4
- package/lib/duet/p-7725c6ba.entry.js +0 -4
- package/lib/duet/p-77788ca3.system.entry.js +0 -4
- package/lib/duet/p-79195de4.system.entry.js +0 -4
- package/lib/duet/p-7d893e0e.system.entry.js +0 -4
- package/lib/duet/p-7fe774c3.system.entry.js +0 -4
- package/lib/duet/p-81d26fa7.entry.js +0 -4
- package/lib/duet/p-83b14d8d.system.entry.js +0 -4
- package/lib/duet/p-84029a06.entry.js +0 -4
- package/lib/duet/p-85b087f9.system.entry.js +0 -4
- package/lib/duet/p-881d6701.entry.js +0 -4
- package/lib/duet/p-88b9b08d.system.entry.js +0 -4
- package/lib/duet/p-8de878be.entry.js +0 -4
- package/lib/duet/p-8f61a9c0.entry.js +0 -4
- package/lib/duet/p-959d9711.entry.js +0 -4
- package/lib/duet/p-963a1f88.entry.js +0 -4
- package/lib/duet/p-978a8de4.entry.js +0 -4
- package/lib/duet/p-978c4aad.system.entry.js +0 -4
- package/lib/duet/p-9a48d06b.system.entry.js +0 -4
- package/lib/duet/p-9a9721ba.entry.js +0 -4
- package/lib/duet/p-9c5609e2.entry.js +0 -4
- package/lib/duet/p-9ce3d583.system.entry.js +0 -4
- package/lib/duet/p-9f1e6875.entry.js +0 -4
- package/lib/duet/p-a274d41f.system.entry.js +0 -4
- package/lib/duet/p-a5468bb1.system.entry.js +0 -4
- package/lib/duet/p-a6f53f4c.entry.js +0 -4
- package/lib/duet/p-aab07b21.system.entry.js +0 -4
- package/lib/duet/p-ad15eb07.system.entry.js +0 -4
- package/lib/duet/p-ad2e5ca1.system.entry.js +0 -4
- package/lib/duet/p-afb4e9a2.entry.js +0 -4
- package/lib/duet/p-b36de54a.entry.js +0 -4
- package/lib/duet/p-b5f4b891.entry.js +0 -4
- package/lib/duet/p-b61e227e.entry.js +0 -4
- package/lib/duet/p-b61e487c.system.entry.js +0 -4
- package/lib/duet/p-b7046095.entry.js +0 -4
- package/lib/duet/p-b99515a3.entry.js +0 -4
- package/lib/duet/p-ba932347.entry.js +0 -4
- package/lib/duet/p-bbbc3c68.system.entry.js +0 -4
- package/lib/duet/p-c00aa8e3.entry.js +0 -4
- package/lib/duet/p-c0d97cd4.entry.js +0 -4
- package/lib/duet/p-c0ec6576.entry.js +0 -4
- package/lib/duet/p-c28932f1.system.entry.js +0 -4
- package/lib/duet/p-c5ec657f.entry.js +0 -4
- package/lib/duet/p-c79008b6.system.entry.js +0 -4
- package/lib/duet/p-c7e98b4d.entry.js +0 -4
- package/lib/duet/p-c95084b4.system.entry.js +0 -4
- package/lib/duet/p-c9d20740.system.entry.js +0 -4
- package/lib/duet/p-cbd12d28.system.entry.js +0 -4
- package/lib/duet/p-cdfb3f0d.entry.js +0 -4
- package/lib/duet/p-ce25e402.system.entry.js +0 -4
- package/lib/duet/p-d4903d4e.system.entry.js +0 -4
- package/lib/duet/p-d5857745.entry.js +0 -4
- package/lib/duet/p-dbe1972d.entry.js +0 -4
- package/lib/duet/p-dc2ad84b.system.entry.js +0 -4
- package/lib/duet/p-dd835e61.system.entry.js +0 -4
- package/lib/duet/p-e08b30ff.system.entry.js +0 -4
- package/lib/duet/p-e0e0599e.entry.js +0 -4
- package/lib/duet/p-e1edc035.entry.js +0 -4
- package/lib/duet/p-e64b7188.entry.js +0 -4
- package/lib/duet/p-e837f021.system.entry.js +0 -4
- package/lib/duet/p-ea0abeb5.entry.js +0 -4
- package/lib/duet/p-ea0d1d98.entry.js +0 -4
- package/lib/duet/p-edddc79c.system.entry.js +0 -4
- package/lib/duet/p-ee89748e.system.entry.js +0 -4
- package/lib/duet/p-f19049b2.system.entry.js +0 -4
- package/lib/duet/p-f4101fbc.system.entry.js +0 -4
- package/lib/duet/p-f932476c.system.entry.js +0 -4
- package/lib/duet/p-f9e9a5d2.entry.js +0 -4
- package/lib/duet/p-fba56b19.entry.js +0 -4
- package/lib/duet/p-fbea12f3.system.entry.js +0 -4
- package/lib/duet/p-fbff318d.entry.js +0 -4
- package/lib/duet/p-fd26a2f4.entry.js +0 -4
- package/lib/esm-es5/focus-utils-9d791cc9.js +0 -4
- package/lib/esm-es5/teleport-6b18ccae.js +0 -4
package/hydrate/index.js
CHANGED
|
@@ -6074,6 +6074,18 @@ const disconnectLanguageChangeObserver = (component) => {
|
|
|
6074
6074
|
languageChangeTargets.delete(component);
|
|
6075
6075
|
};
|
|
6076
6076
|
|
|
6077
|
+
/**
|
|
6078
|
+
* This function is a workaround for a bug in Chromium-based browsers, where building the accessibility tree fails
|
|
6079
|
+
* with nested shadow roots. See https://atlassian.lahitapiola.fi/jira/browse/DUET-780
|
|
6080
|
+
*/
|
|
6081
|
+
function nudge(component) {
|
|
6082
|
+
setTimeout(() => {
|
|
6083
|
+
const el = document.createElement("template");
|
|
6084
|
+
component.element.appendChild(el);
|
|
6085
|
+
el.remove();
|
|
6086
|
+
}, 10);
|
|
6087
|
+
}
|
|
6088
|
+
|
|
6077
6089
|
const colorWarning = "rgb(247, 178, 40)";
|
|
6078
6090
|
const colorGrayDarker = "rgb(101, 119, 135)";
|
|
6079
6091
|
const colorGrayLighter = "rgb(245, 248, 250)";
|
|
@@ -6592,6 +6604,9 @@ class DuetActionButton {
|
|
|
6592
6604
|
componentWillLoad() {
|
|
6593
6605
|
inheritGlobalTheme(this);
|
|
6594
6606
|
}
|
|
6607
|
+
componentDidLoad() {
|
|
6608
|
+
nudge(this);
|
|
6609
|
+
}
|
|
6595
6610
|
connectedCallback() {
|
|
6596
6611
|
connectLanguageChangeObserver(this, { prop: "accessibleLabel", defaults: "accessibleLabelsDefaults" });
|
|
6597
6612
|
}
|
|
@@ -6719,6 +6734,7 @@ class DuetAlert {
|
|
|
6719
6734
|
if (this.autoDismiss) {
|
|
6720
6735
|
this.timeoutID = setTimeout(() => this.handleDismiss(), this.autoDismiss);
|
|
6721
6736
|
}
|
|
6737
|
+
nudge(this);
|
|
6722
6738
|
}
|
|
6723
6739
|
connectedCallback() {
|
|
6724
6740
|
connectLanguageChangeObserver(this, { prop: "accessibleLabel", defaults: "accessibleLabelDefaults" });
|
|
@@ -6777,6 +6793,7 @@ class DuetAlert {
|
|
|
6777
6793
|
this.alertContainer = element;
|
|
6778
6794
|
}, tabindex: this.focusable ? "0" : undefined }, this.icon && (hAsync("div", { class: "duet-alert-icon" }, hAsync("duet-icon", { size: "auto", name: this.icon, color: "currentColor" }))), hAsync("span", { id: this.descriptiveId }, hAsync("slot", null))), this.dismissible && (hAsync("div", { class: "duet-alert-dismiss" }, hAsync("duet-button", { variation: "plain", accessibleLabel: this.accessibleLabel, accessibleDescribedBy: this.descriptiveId, color: closeColor, iconSize: "medium", icon: "navigation-close", iconOnly: true, margin: "none", theme: this.theme, onClick: this.handleDismiss, fixed: true }))))));
|
|
6779
6795
|
}
|
|
6796
|
+
get element() { return getElement(this); }
|
|
6780
6797
|
static get style() { return duetAlertCss; }
|
|
6781
6798
|
static get cmpMeta() { return {
|
|
6782
6799
|
"$flags$": 9,
|
|
@@ -6821,6 +6838,9 @@ class DuetBadge {
|
|
|
6821
6838
|
componentWillLoad() {
|
|
6822
6839
|
inheritGlobalTheme(this);
|
|
6823
6840
|
}
|
|
6841
|
+
componentDidLoad() {
|
|
6842
|
+
nudge(this);
|
|
6843
|
+
}
|
|
6824
6844
|
/**
|
|
6825
6845
|
* render() function
|
|
6826
6846
|
* Always the last one of the class.
|
|
@@ -6834,6 +6854,7 @@ class DuetBadge {
|
|
|
6834
6854
|
"duet-theme-turva": this.theme === "turva",
|
|
6835
6855
|
} }, hAsync("slot", null))));
|
|
6836
6856
|
}
|
|
6857
|
+
get element() { return getElement(this); }
|
|
6837
6858
|
static get style() { return duetBadgeCss; }
|
|
6838
6859
|
static get cmpMeta() { return {
|
|
6839
6860
|
"$flags$": 9,
|
|
@@ -6875,6 +6896,9 @@ class DuetBanner {
|
|
|
6875
6896
|
this.hasDescriptionSlot = !!this.element.querySelector('[slot="description"]');
|
|
6876
6897
|
this.hasActionSlot = !!this.element.querySelector('[slot="action"]');
|
|
6877
6898
|
}
|
|
6899
|
+
componentDidLoad() {
|
|
6900
|
+
nudge(this);
|
|
6901
|
+
}
|
|
6878
6902
|
/**
|
|
6879
6903
|
* render() function
|
|
6880
6904
|
* Always the last one of the class.
|
|
@@ -6938,6 +6962,9 @@ class DuetBreadcrumb {
|
|
|
6938
6962
|
componentWillLoad() {
|
|
6939
6963
|
inheritGlobalTheme(this);
|
|
6940
6964
|
}
|
|
6965
|
+
componentDidLoad() {
|
|
6966
|
+
nudge(this);
|
|
6967
|
+
}
|
|
6941
6968
|
connectedCallback() {
|
|
6942
6969
|
connectLanguageChangeObserver(this);
|
|
6943
6970
|
}
|
|
@@ -7111,6 +7138,9 @@ class DuetButton {
|
|
|
7111
7138
|
console.warn("[DUET]: Button used as an external link will override any icon that is set");
|
|
7112
7139
|
}
|
|
7113
7140
|
}
|
|
7141
|
+
componentDidLoad() {
|
|
7142
|
+
nudge(this);
|
|
7143
|
+
}
|
|
7114
7144
|
connectedCallback() {
|
|
7115
7145
|
this.proxyButton = document.createElement("button");
|
|
7116
7146
|
this.proxyButton.style.display = "none";
|
|
@@ -7294,6 +7324,9 @@ class DuetCallout {
|
|
|
7294
7324
|
inheritGlobalTheme(this);
|
|
7295
7325
|
this.hasAuthorSlot = !!this.element.querySelector('[slot="author"]');
|
|
7296
7326
|
}
|
|
7327
|
+
componentDidLoad() {
|
|
7328
|
+
nudge(this);
|
|
7329
|
+
}
|
|
7297
7330
|
/**
|
|
7298
7331
|
* render() function
|
|
7299
7332
|
* Always the last one in the class.
|
|
@@ -7340,6 +7373,9 @@ class DuetCaption {
|
|
|
7340
7373
|
componentWillLoad() {
|
|
7341
7374
|
inheritGlobalTheme(this);
|
|
7342
7375
|
}
|
|
7376
|
+
componentDidLoad() {
|
|
7377
|
+
nudge(this);
|
|
7378
|
+
}
|
|
7343
7379
|
/**
|
|
7344
7380
|
* render() function
|
|
7345
7381
|
* Always the last one in the class.
|
|
@@ -7353,6 +7389,7 @@ class DuetCaption {
|
|
|
7353
7389
|
"duet-m-0": this.margin === "none",
|
|
7354
7390
|
} }, hAsync("slot", null)));
|
|
7355
7391
|
}
|
|
7392
|
+
get element() { return getElement(this); }
|
|
7356
7393
|
static get style() { return duetCaptionCss; }
|
|
7357
7394
|
static get cmpMeta() { return {
|
|
7358
7395
|
"$flags$": 9,
|
|
@@ -7426,6 +7463,9 @@ class DuetCard {
|
|
|
7426
7463
|
;
|
|
7427
7464
|
this.hasFooter = !!this.element.querySelector("[slot='footer']");
|
|
7428
7465
|
}
|
|
7466
|
+
componentDidLoad() {
|
|
7467
|
+
nudge(this);
|
|
7468
|
+
}
|
|
7429
7469
|
renderHeading() {
|
|
7430
7470
|
const safeHeadingLevel = sanitizeString$1(this.headingLevel);
|
|
7431
7471
|
const HeadingTag = [...duetHeadingLevels, duetBlock].some(tag => tag === safeHeadingLevel) ? safeHeadingLevel : "h2";
|
|
@@ -7573,6 +7613,9 @@ class DuetCheckbox {
|
|
|
7573
7613
|
this.value = this.identifier;
|
|
7574
7614
|
}
|
|
7575
7615
|
}
|
|
7616
|
+
componentDidLoad() {
|
|
7617
|
+
nudge(this);
|
|
7618
|
+
}
|
|
7576
7619
|
/**
|
|
7577
7620
|
* Sets focus on the specified `duet-checkbox`. Use this method instead of the global
|
|
7578
7621
|
* `input.focus()`.
|
|
@@ -7680,12 +7723,11 @@ class DuetChip {
|
|
|
7680
7723
|
*/
|
|
7681
7724
|
this.chipId = createID("DuetChip");
|
|
7682
7725
|
this.popupSetUp = () => {
|
|
7683
|
-
const popup =
|
|
7726
|
+
const popup = document.querySelector(`duet-popup-menu#${this.popup}`);
|
|
7684
7727
|
if (popup) {
|
|
7685
|
-
this.
|
|
7728
|
+
this.popupElement = popup;
|
|
7686
7729
|
popup.controller = this.element;
|
|
7687
|
-
const
|
|
7688
|
-
const originalText = labelSpan.textContent;
|
|
7730
|
+
const originalText = this.element.textContent;
|
|
7689
7731
|
const originalValue = this.value;
|
|
7690
7732
|
if (!popup.id) {
|
|
7691
7733
|
popup.id = "popup-menu";
|
|
@@ -7705,13 +7747,13 @@ class DuetChip {
|
|
|
7705
7747
|
if (!item.active) {
|
|
7706
7748
|
clearActive();
|
|
7707
7749
|
item.active = true;
|
|
7708
|
-
|
|
7750
|
+
this.element.textContent = item.innerText;
|
|
7709
7751
|
this.value = value;
|
|
7710
7752
|
this.checked = true;
|
|
7711
7753
|
}
|
|
7712
7754
|
else {
|
|
7713
7755
|
clearActive();
|
|
7714
|
-
|
|
7756
|
+
this.element.textContent = originalText;
|
|
7715
7757
|
this.value = originalValue;
|
|
7716
7758
|
this.checked = false;
|
|
7717
7759
|
}
|
|
@@ -7720,8 +7762,8 @@ class DuetChip {
|
|
|
7720
7762
|
// Chrome will emit a separate click event on the chip after the popup is closed, resulting popup.toggle() to
|
|
7721
7763
|
// open the popup again. Firefox does not have this behavior.
|
|
7722
7764
|
setTimeout(() => {
|
|
7723
|
-
if (this.
|
|
7724
|
-
this.
|
|
7765
|
+
if (this.popupElement.isOpen()) {
|
|
7766
|
+
this.popupElement.hide();
|
|
7725
7767
|
}
|
|
7726
7768
|
});
|
|
7727
7769
|
});
|
|
@@ -7782,10 +7824,10 @@ class DuetChip {
|
|
|
7782
7824
|
evt.preventDefault();
|
|
7783
7825
|
return;
|
|
7784
7826
|
}
|
|
7785
|
-
if (this.
|
|
7827
|
+
if (this.popupElement) {
|
|
7786
7828
|
evt.stopPropagation();
|
|
7787
7829
|
evt.preventDefault();
|
|
7788
|
-
this.
|
|
7830
|
+
this.popupElement.toggle();
|
|
7789
7831
|
}
|
|
7790
7832
|
};
|
|
7791
7833
|
/**
|
|
@@ -7797,10 +7839,11 @@ class DuetChip {
|
|
|
7797
7839
|
this.element.remove();
|
|
7798
7840
|
};
|
|
7799
7841
|
this.focus = false;
|
|
7800
|
-
this.
|
|
7842
|
+
this.popupElement = undefined;
|
|
7801
7843
|
this.popupOpen = undefined;
|
|
7802
7844
|
this.accessibleLabel = undefined;
|
|
7803
7845
|
this.variation = "button";
|
|
7846
|
+
this.popup = undefined;
|
|
7804
7847
|
this.icon = "";
|
|
7805
7848
|
this.theme = "";
|
|
7806
7849
|
this.identifier = undefined;
|
|
@@ -7826,6 +7869,9 @@ class DuetChip {
|
|
|
7826
7869
|
inheritGlobalTheme(this);
|
|
7827
7870
|
this.popupSetUp();
|
|
7828
7871
|
}
|
|
7872
|
+
componentDidLoad() {
|
|
7873
|
+
nudge(this);
|
|
7874
|
+
}
|
|
7829
7875
|
/**
|
|
7830
7876
|
* Sets focus. Use this method instead of the global focus().
|
|
7831
7877
|
*/
|
|
@@ -7840,7 +7886,7 @@ class DuetChip {
|
|
|
7840
7886
|
[`duet-chip-${this.variation}`]: true,
|
|
7841
7887
|
"duet-chip-focus": this.focus,
|
|
7842
7888
|
"duet-chip-has-icon": !!this.icon,
|
|
7843
|
-
"duet-chip-has-popup": this.variation === "filter" && !!this.
|
|
7889
|
+
"duet-chip-has-popup": this.variation === "filter" && !!this.popupElement,
|
|
7844
7890
|
"duet-theme-turva": this.theme === "turva",
|
|
7845
7891
|
"duet-chip-filter-checked": this.variation === "filter" && this.checked,
|
|
7846
7892
|
"duet-chip-radio-checked": this.variation === "radio" && this.checked,
|
|
@@ -7852,7 +7898,7 @@ class DuetChip {
|
|
|
7852
7898
|
onBlur: this.onBlur,
|
|
7853
7899
|
ref: el => (this.focusableElement = el),
|
|
7854
7900
|
};
|
|
7855
|
-
return (hAsync(Host, null, this.variation === "button" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel, "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)))), this.variation === "input" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, class: "duet-chip-input-button", "aria-label": this.accessibleLabel }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)), hAsync("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, hAsync("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (hAsync("div", { class: classes }, hAsync("input", Object.assign({ "aria-haspopup": this.
|
|
7901
|
+
return (hAsync(Host, null, this.variation === "button" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, "aria-label": this.accessibleLabel, "aria-disabled": this.disabled ? "true" : undefined, name: this.name, value: this.value, onClick: this.disabled ? evt => evt.stopPropagation() : undefined }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)))), this.variation === "input" && (hAsync("div", { class: classes }, hAsync("button", Object.assign({ id: identifier, class: "duet-chip-input-button", "aria-label": this.accessibleLabel }, focusHandlers), hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" }))), hAsync("slot", null)), hAsync("button", { class: "duet-chip-remove-button", onClick: this.onRemoveClick }, hAsync("duet-icon", { name: "activity-close", size: "xx-small", margin: "none", color: "currentColor" })))), this.variation === "filter" && (hAsync("div", { class: classes }, hAsync("input", Object.assign({ "aria-haspopup": this.popupElement && "menu", "aria-controls": (_a = this.popupElement) === null || _a === void 0 ? void 0 : _a.id, "aria-expanded": this.popupElement ? (this.popupOpen ? "true" : "false") : undefined, "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "checkbox", name: this.name, value: this.value, checked: this.checked, onClick: this.onFilterClick, onChange: this.onFilterChange }, focusHandlers)), hAsync("label", { htmlFor: identifier }, hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), hAsync("slot", null), this.popupElement && (hAsync("div", { class: "duet-chip-popup-disclosure" }, hAsync("duet-icon", { name: "action-arrow-down-small", size: "xxx-small", margin: "none", color: "currentColor" })))))), this.variation === "radio" && (hAsync("div", { class: classes }, hAsync("input", Object.assign({ "aria-disabled": this.disabled ? "true" : undefined, id: identifier, type: "radio", name: this.name, value: this.value, checked: this.checked, onChange: this.onRadioChange, onClick: this.disabled ? evt => evt.preventDefault() : undefined }, focusHandlers)), hAsync("label", { htmlFor: identifier }, hAsync("div", { class: "duet-chip-icon-container" }, this.icon && (hAsync("duet-icon", { name: this.icon, size: "x-small", margin: "none", color: "currentColor" })), hAsync("duet-icon", { name: "messaging-checked-small", size: "xx-small", margin: "none", color: "currentColor", class: "check-mark" })), hAsync("slot", null))))));
|
|
7856
7902
|
}
|
|
7857
7903
|
get element() { return getElement(this); }
|
|
7858
7904
|
static get watchers() { return {
|
|
@@ -7865,6 +7911,7 @@ class DuetChip {
|
|
|
7865
7911
|
"$members$": {
|
|
7866
7912
|
"accessibleLabel": [1, "accessible-label"],
|
|
7867
7913
|
"variation": [1],
|
|
7914
|
+
"popup": [1],
|
|
7868
7915
|
"icon": [1],
|
|
7869
7916
|
"theme": [1025],
|
|
7870
7917
|
"identifier": [1],
|
|
@@ -7873,7 +7920,7 @@ class DuetChip {
|
|
|
7873
7920
|
"checked": [1540],
|
|
7874
7921
|
"disabled": [4],
|
|
7875
7922
|
"focus": [32],
|
|
7876
|
-
"
|
|
7923
|
+
"popupElement": [32],
|
|
7877
7924
|
"popupOpen": [32],
|
|
7878
7925
|
"setFocus": [64]
|
|
7879
7926
|
},
|
|
@@ -8034,6 +8081,9 @@ class DuetChoice {
|
|
|
8034
8081
|
this.hasLabel = hasSlot(this.element, "label");
|
|
8035
8082
|
this.hasBeforeText = hasSlot(this.element, "before-text");
|
|
8036
8083
|
}
|
|
8084
|
+
componentDidLoad() {
|
|
8085
|
+
nudge(this);
|
|
8086
|
+
}
|
|
8037
8087
|
connectedCallback() {
|
|
8038
8088
|
connectLanguageChangeObserver(this, [
|
|
8039
8089
|
{ prop: "accessibleLabelInfoButton", defaults: "accessibleLabelInfoButtonDefaults" },
|
|
@@ -8321,6 +8371,9 @@ class DuetChoiceGroup {
|
|
|
8321
8371
|
componentWillLoad() {
|
|
8322
8372
|
inheritGlobalTheme(this);
|
|
8323
8373
|
}
|
|
8374
|
+
componentDidLoad() {
|
|
8375
|
+
nudge(this);
|
|
8376
|
+
}
|
|
8324
8377
|
/**
|
|
8325
8378
|
* Local methods
|
|
8326
8379
|
*/
|
|
@@ -8966,6 +9019,9 @@ class DuetCollapsible {
|
|
|
8966
9019
|
inheritGlobalTheme(this);
|
|
8967
9020
|
this.hasAfterHeading = hasSlot(this.element, "after-heading");
|
|
8968
9021
|
}
|
|
9022
|
+
componentDidLoad() {
|
|
9023
|
+
nudge(this);
|
|
9024
|
+
}
|
|
8969
9025
|
/**
|
|
8970
9026
|
* Sets focus on the specified `duet-collapsible`. Use this method instead of the global
|
|
8971
9027
|
* `collapsible.focus()`.
|
|
@@ -9445,6 +9501,9 @@ class DuetContactCard {
|
|
|
9445
9501
|
componentWillLoad() {
|
|
9446
9502
|
inheritGlobalTheme(this);
|
|
9447
9503
|
}
|
|
9504
|
+
componentDidLoad() {
|
|
9505
|
+
nudge(this);
|
|
9506
|
+
}
|
|
9448
9507
|
connectedCallback() {
|
|
9449
9508
|
connectLanguageChangeObserver(this);
|
|
9450
9509
|
}
|
|
@@ -9516,6 +9575,9 @@ class DuetCookieConsent {
|
|
|
9516
9575
|
componentWillLoad() {
|
|
9517
9576
|
inheritGlobalTheme(this);
|
|
9518
9577
|
}
|
|
9578
|
+
componentDidLoad() {
|
|
9579
|
+
nudge(this);
|
|
9580
|
+
}
|
|
9519
9581
|
/**
|
|
9520
9582
|
* render() function.
|
|
9521
9583
|
* Always the last one in the class.
|
|
@@ -10099,6 +10161,9 @@ class DuetDatePicker {
|
|
|
10099
10161
|
this.determineValidity(parseISODate(this.value));
|
|
10100
10162
|
this.updateInternalValue();
|
|
10101
10163
|
}
|
|
10164
|
+
componentDidLoad() {
|
|
10165
|
+
nudge(this);
|
|
10166
|
+
}
|
|
10102
10167
|
componentDidUpdate() {
|
|
10103
10168
|
// we want to run this code _after_ render
|
|
10104
10169
|
// to ensure all elements are visible (and thus focusable)
|
|
@@ -10436,6 +10501,9 @@ class DuetEditableTable {
|
|
|
10436
10501
|
this.hasHeadSlotLast = !!this.element.querySelector("[slot='thead-last']");
|
|
10437
10502
|
this.hasFootSlot = !!this.element.querySelector("[slot='tfoot']");
|
|
10438
10503
|
}
|
|
10504
|
+
componentDidLoad() {
|
|
10505
|
+
nudge(this);
|
|
10506
|
+
}
|
|
10439
10507
|
connectedCallback() {
|
|
10440
10508
|
connectLanguageChangeObserver(this);
|
|
10441
10509
|
}
|
|
@@ -10576,6 +10644,9 @@ class DuetEmptyState {
|
|
|
10576
10644
|
componentWillLoad() {
|
|
10577
10645
|
inheritGlobalTheme(this);
|
|
10578
10646
|
}
|
|
10647
|
+
componentDidLoad() {
|
|
10648
|
+
nudge(this);
|
|
10649
|
+
}
|
|
10579
10650
|
/**
|
|
10580
10651
|
* render() function
|
|
10581
10652
|
* Always the last one in the class.
|
|
@@ -10587,6 +10658,7 @@ class DuetEmptyState {
|
|
|
10587
10658
|
"duet-is-small": this.size === "small",
|
|
10588
10659
|
} }, hAsync("duet-icon", { color: "currentColor", name: this.icon, size: this.size === "small" ? "large" : "x-large" }), hAsync("div", null, hAsync("slot", null)))));
|
|
10589
10660
|
}
|
|
10661
|
+
get element() { return getElement(this); }
|
|
10590
10662
|
static get style() { return duetEmptyStateCss; }
|
|
10591
10663
|
static get cmpMeta() { return {
|
|
10592
10664
|
"$flags$": 9,
|
|
@@ -10634,6 +10706,9 @@ class DuetFieldset {
|
|
|
10634
10706
|
inheritGlobalTheme(this);
|
|
10635
10707
|
this.checkHasTooltip();
|
|
10636
10708
|
}
|
|
10709
|
+
componentDidLoad() {
|
|
10710
|
+
nudge(this);
|
|
10711
|
+
}
|
|
10637
10712
|
/**
|
|
10638
10713
|
* render() function
|
|
10639
10714
|
* Always the last one in the class.
|
|
@@ -10767,6 +10842,9 @@ class DuetFooter {
|
|
|
10767
10842
|
this.hasInfoSlot = Array.from(this.element.children).filter(el => el.matches("[slot='info']")).length > 0
|
|
10768
10843
|
;
|
|
10769
10844
|
}
|
|
10845
|
+
componentDidLoad() {
|
|
10846
|
+
nudge(this);
|
|
10847
|
+
}
|
|
10770
10848
|
connectedCallback() {
|
|
10771
10849
|
connectLanguageChangeObserver(this, {
|
|
10772
10850
|
prop: "accessibleLabelExternal",
|
|
@@ -11557,6 +11635,9 @@ class DuetHeader {
|
|
|
11557
11635
|
inheritGlobalTheme(this);
|
|
11558
11636
|
this.refresh();
|
|
11559
11637
|
}
|
|
11638
|
+
componentDidLoad() {
|
|
11639
|
+
nudge(this);
|
|
11640
|
+
}
|
|
11560
11641
|
connectedCallback() {
|
|
11561
11642
|
for (let i = 0; i < this.mql.length; i++) {
|
|
11562
11643
|
// addEventListener is not available in Stencil hydrate
|
|
@@ -11904,6 +11985,9 @@ class DuetHeading {
|
|
|
11904
11985
|
componentWillLoad() {
|
|
11905
11986
|
inheritGlobalTheme(this);
|
|
11906
11987
|
}
|
|
11988
|
+
componentDidLoad() {
|
|
11989
|
+
nudge(this);
|
|
11990
|
+
}
|
|
11907
11991
|
/**
|
|
11908
11992
|
* render() function
|
|
11909
11993
|
* Always the last one in the class.
|
|
@@ -11944,7 +12028,7 @@ class DuetHeading {
|
|
|
11944
12028
|
}; }
|
|
11945
12029
|
}
|
|
11946
12030
|
|
|
11947
|
-
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:160px;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-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:36px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:48px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:64px}}/*!@.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:125px;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:143px;left:-30px;width:450px;height:450px}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.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}}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:98%}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.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-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:78%}}@media (min-width: 30em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:66%}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:65%}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.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-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:52%}}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.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:375px;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-area.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background-area.narrow.sc-duet-hero{top:0}}/*!@.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-container.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background-container.narrow.sc-duet-hero{top:-160px}}/*!@.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 .background-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{left:181px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{right:0}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){right:-120px;width:736px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.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.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:175px;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 .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{top:-10px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:292px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:292px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{top:192px;right:35%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{top:192px;right:40%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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-hero-text .duet-hero-pre*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-pre.sc-duet-hero{margin-top:1rem;margin-bottom:0.5rem}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-pre.sc-duet-hero{margin-top:1.5rem;margin-bottom:0}}/*!@.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 #0077b3}/*!@.duet-theme-turva .duet-hero-link:focus, .duet-hero-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:focus,.duet-hero-link.sc-duet-hero:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-hero-link:hover, .duet-hero-link:hover .duet-hero-action-arrow*/.duet-hero-link.sc-duet-hero:hover,.duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color: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}";
|
|
12031
|
+
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}@media (min-width: 48em){/*!@.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{min-height:490px}}@media (min-width: 62em){/*!@.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{min-height:540px}}@media (min-width: 76.25em){/*!@.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{min-height:620px}}/*!@.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:160px;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-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:36px}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:48px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-campaign .duet-hero-text .duet-hero-heading::part(duet-heading), .duet-hero.duet-hero-section .duet-hero-text .duet-hero-heading::part(duet-heading)*/.duet-hero.duet-hero-campaign.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading),.duet-hero.duet-hero-section.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-heading.sc-duet-hero::part(duet-heading){font-size:64px}}/*!@.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:125px;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:143px;left:-30px;width:450px;height:450px}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .brand-shape, .duet-hero.duet-hero-section.duet-theme-turva .brand-shape*/.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}}/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n.duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:98%}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.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-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:78%}}@media (min-width: 30em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:66%}}@media (min-width: 36em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:65%}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.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-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-text duet-paragraph, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text .duet-hero-subheading,\n .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-text duet-paragraph*/.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-campaign.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-subheading.sc-duet-hero,.duet-hero.duet-hero-section.duet-theme-turva.sc-duet-hero .duet-hero-text.sc-duet-hero duet-paragraph.sc-duet-hero{width:52%}}@media (min-width: 22.5em){/*!@.duet-hero.duet-hero-campaign.duet-theme-turva .duet-hero-heading, .duet-hero.duet-hero-section.duet-theme-turva .duet-hero-heading*/.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: 48em){/*!@.duet-hero.duet-hero-section*/.duet-hero.duet-hero-section.sc-duet-hero{min-height:490px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-section*/.duet-hero.duet-hero-section.sc-duet-hero{min-height:auto}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-section*/.duet-hero.duet-hero-section.sc-duet-hero{min-height:560px}}@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:375px;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-area.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background-area.narrow.sc-duet-hero{top:0}}/*!@.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-container.narrow*/.duet-hero.duet-hero-product.sc-duet-hero .background-container.narrow.sc-duet-hero{top:-160px}}/*!@.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 .background-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background-mask*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .background-mask.sc-duet-hero{left:181px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero{right:0}}@media (min-width: 48em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-image.sc-duet-hero:not(.narrow){right:-120px;width:736px}}/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image .brand-shaped-image-bg*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-image .brand-shaped-image-bg:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.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.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:175px;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 .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero duet-icon.sc-duet-hero{top:-10px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon duet-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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 .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:292px}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.sc-duet-hero{top:292px}}@media (min-width: 62em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{top:192px;right:35%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon.narrow*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.sc-duet-hero .brand-shaped-icon.narrow.sc-duet-hero{top:192px;right:40%}}@media (min-width: 76.25em){/*!@.duet-hero.duet-hero-product.duet-theme-turva .background .brand-shaped-icon:not(.narrow)*/.duet-hero.duet-hero-product.duet-theme-turva.sc-duet-hero .background.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-hero-text .duet-hero-pre*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-pre.sc-duet-hero{margin-top:1rem;margin-bottom:0.5rem}@media (min-width: 62em){/*!@.duet-hero.duet-hero-content .duet-hero-text .duet-hero-pre*/.duet-hero.duet-hero-content.sc-duet-hero .duet-hero-text.sc-duet-hero .duet-hero-pre.sc-duet-hero{margin-top:1.5rem;margin-bottom:0}}/*!@.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 #0077b3}/*!@.duet-theme-turva .duet-hero-link:focus, .duet-hero-link:focus.duet-theme-turva*/.duet-theme-turva.sc-duet-hero .duet-hero-link.sc-duet-hero:focus,.duet-hero-link.sc-duet-hero:focus.duet-theme-turva{box-shadow:0 0 0 4px rgba(23, 28, 58, 0.2), 0 0 0 1px #171c3a}/*!@.duet-hero-link:hover, .duet-hero-link:hover .duet-hero-action-arrow*/.duet-hero-link.sc-duet-hero:hover,.duet-hero-link.sc-duet-hero:hover .duet-hero-action-arrow.sc-duet-hero{color: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}";
|
|
11948
12032
|
|
|
11949
12033
|
/**
|
|
11950
12034
|
* @part duet-hero - piercing selector for styling the hero container
|
|
@@ -12013,6 +12097,9 @@ class DuetHero {
|
|
|
12013
12097
|
this.hasSubHeadingSlot = !!this.element.querySelector('[slot="subheading"]');
|
|
12014
12098
|
this.refresh();
|
|
12015
12099
|
}
|
|
12100
|
+
componentDidLoad() {
|
|
12101
|
+
nudge(this);
|
|
12102
|
+
}
|
|
12016
12103
|
connectedCallback() {
|
|
12017
12104
|
connectLanguageChangeObserver(this, {
|
|
12018
12105
|
prop: "accessibleLabelExternal",
|
|
@@ -12197,6 +12284,9 @@ class DuetIcon {
|
|
|
12197
12284
|
}
|
|
12198
12285
|
this.loadIcon();
|
|
12199
12286
|
}
|
|
12287
|
+
componentDidLoad() {
|
|
12288
|
+
nudge(this);
|
|
12289
|
+
}
|
|
12200
12290
|
async loadIcon() {
|
|
12201
12291
|
// static icon known at build-time, so we can set it synchronously
|
|
12202
12292
|
if (this.icon) {
|
|
@@ -12555,6 +12645,7 @@ class DuetInput {
|
|
|
12555
12645
|
this.isPasswordRevealed = false;
|
|
12556
12646
|
});
|
|
12557
12647
|
}
|
|
12648
|
+
nudge(this);
|
|
12558
12649
|
}
|
|
12559
12650
|
connectedCallback() {
|
|
12560
12651
|
connectLanguageChangeObserver(this);
|
|
@@ -12734,6 +12825,9 @@ class DuetLabel {
|
|
|
12734
12825
|
componentWillLoad() {
|
|
12735
12826
|
inheritGlobalTheme(this);
|
|
12736
12827
|
}
|
|
12828
|
+
componentDidLoad() {
|
|
12829
|
+
nudge(this);
|
|
12830
|
+
}
|
|
12737
12831
|
/**
|
|
12738
12832
|
* render() function
|
|
12739
12833
|
* Always the last one in the class.
|
|
@@ -12747,6 +12841,7 @@ class DuetLabel {
|
|
|
12747
12841
|
"duet-m-0": this.margin === "none",
|
|
12748
12842
|
} }, hAsync("label", { htmlFor: this.for }, hAsync("span", null, hAsync("slot", null)))));
|
|
12749
12843
|
}
|
|
12844
|
+
get element() { return getElement(this); }
|
|
12750
12845
|
static get style() { return duetLabelCss; }
|
|
12751
12846
|
static get cmpMeta() { return {
|
|
12752
12847
|
"$flags$": 6,
|
|
@@ -12875,6 +12970,9 @@ class DuetLink {
|
|
|
12875
12970
|
componentWillLoad() {
|
|
12876
12971
|
inheritGlobalTheme(this);
|
|
12877
12972
|
}
|
|
12973
|
+
componentDidLoad() {
|
|
12974
|
+
nudge(this);
|
|
12975
|
+
}
|
|
12878
12976
|
connectedCallback() {
|
|
12879
12977
|
connectLanguageChangeObserver(this, {
|
|
12880
12978
|
prop: "accessibleLabelExternal",
|
|
@@ -12918,6 +13016,7 @@ class DuetLink {
|
|
|
12918
13016
|
}, target: this.external ? "_blank" : "_self", "aria-label": this.accessibleLabel, id: this.identifier, ref: el => (this.nativeLink = el), part: "duet-link", rel: this.external ? "noopener" : undefined }, this.variation === "block" ? this.renderGrid() : this.renderContent())));
|
|
12919
13017
|
}
|
|
12920
13018
|
static get delegatesFocus() { return true; }
|
|
13019
|
+
get element() { return getElement(this); }
|
|
12921
13020
|
static get style() { return duetLinkCss; }
|
|
12922
13021
|
static get cmpMeta() { return {
|
|
12923
13022
|
"$flags$": 25,
|
|
@@ -13376,6 +13475,9 @@ class DuetMenuBarButton {
|
|
|
13376
13475
|
componentWillLoad() {
|
|
13377
13476
|
inheritGlobalTheme(this);
|
|
13378
13477
|
}
|
|
13478
|
+
componentDidLoad() {
|
|
13479
|
+
nudge(this);
|
|
13480
|
+
}
|
|
13379
13481
|
connectedCallback() {
|
|
13380
13482
|
this.changeIconSize();
|
|
13381
13483
|
for (let i = 0; i < this.mql.length; i++) {
|
|
@@ -13492,6 +13594,9 @@ class DuetMenuBarDropdown {
|
|
|
13492
13594
|
componentWillLoad() {
|
|
13493
13595
|
inheritGlobalTheme(this);
|
|
13494
13596
|
}
|
|
13597
|
+
componentDidLoad() {
|
|
13598
|
+
nudge(this);
|
|
13599
|
+
}
|
|
13495
13600
|
connectedCallback() {
|
|
13496
13601
|
this.changeIconSize();
|
|
13497
13602
|
for (let i = 0; i < this.mql.length; i++) {
|
|
@@ -13587,6 +13692,9 @@ class DuetMenuBarDropdownLink {
|
|
|
13587
13692
|
componentWillLoad() {
|
|
13588
13693
|
inheritGlobalTheme(this);
|
|
13589
13694
|
}
|
|
13695
|
+
componentDidLoad() {
|
|
13696
|
+
nudge(this);
|
|
13697
|
+
}
|
|
13590
13698
|
handleEscape(e) {
|
|
13591
13699
|
if (isEscapeKey(e)) {
|
|
13592
13700
|
const dropdown = this.element.closest("duet-menu-bar-dropdown");
|
|
@@ -13653,6 +13761,9 @@ class DuetMenuBarLink {
|
|
|
13653
13761
|
componentWillLoad() {
|
|
13654
13762
|
inheritGlobalTheme(this);
|
|
13655
13763
|
}
|
|
13764
|
+
componentDidLoad() {
|
|
13765
|
+
nudge(this);
|
|
13766
|
+
}
|
|
13656
13767
|
connectedCallback() {
|
|
13657
13768
|
this.changeIconSize();
|
|
13658
13769
|
for (let i = 0; i < this.mql.length; i++) {
|
|
@@ -13712,7 +13823,6 @@ class DuetMenuBarLink {
|
|
|
13712
13823
|
*/
|
|
13713
13824
|
class Teleport {
|
|
13714
13825
|
constructor(element, target) {
|
|
13715
|
-
this.isReact = this._isReact();
|
|
13716
13826
|
this.isActive = false;
|
|
13717
13827
|
this.element = element;
|
|
13718
13828
|
this.target = target || document.body;
|
|
@@ -13722,13 +13832,12 @@ class Teleport {
|
|
|
13722
13832
|
* @param makeSiblingsInert - make all siblings of the element inert, use only with modals
|
|
13723
13833
|
*/
|
|
13724
13834
|
go(makeSiblingsInert = false) {
|
|
13725
|
-
//
|
|
13726
|
-
if (this.
|
|
13727
|
-
|
|
13835
|
+
// React handles teleporting itself with portals
|
|
13836
|
+
if (!this.element.dataset.reactPortal) {
|
|
13837
|
+
this.stub = document.createElement("template");
|
|
13838
|
+
this.element.insertAdjacentElement("afterend", this.stub);
|
|
13839
|
+
this.target.appendChild(this.element);
|
|
13728
13840
|
}
|
|
13729
|
-
this.stub = document.createElement("div");
|
|
13730
|
-
this.element.insertAdjacentElement("afterend", this.stub);
|
|
13731
|
-
this.target.appendChild(this.element);
|
|
13732
13841
|
if (makeSiblingsInert) {
|
|
13733
13842
|
this._makeSiblingsInert();
|
|
13734
13843
|
}
|
|
@@ -13749,8 +13858,10 @@ class Teleport {
|
|
|
13749
13858
|
}
|
|
13750
13859
|
}
|
|
13751
13860
|
_resume() {
|
|
13752
|
-
this.
|
|
13753
|
-
|
|
13861
|
+
if (!this.element.dataset.reactPortal) {
|
|
13862
|
+
this.stub.insertAdjacentElement("beforebegin", this.element);
|
|
13863
|
+
this.stub.remove();
|
|
13864
|
+
}
|
|
13754
13865
|
this._removeInertFromSiblings();
|
|
13755
13866
|
this.deletionObserver.disconnect();
|
|
13756
13867
|
}
|
|
@@ -13794,9 +13905,6 @@ class Teleport {
|
|
|
13794
13905
|
}
|
|
13795
13906
|
});
|
|
13796
13907
|
}
|
|
13797
|
-
_isReact() {
|
|
13798
|
-
return !!Object.keys(document).find(key => key.includes("react"));
|
|
13799
|
-
}
|
|
13800
13908
|
}
|
|
13801
13909
|
|
|
13802
13910
|
const duetModalCss = "/*!@*,\n*::after,\n*::before*/*.sc-duet-modal,*.sc-duet-modal::after,*.sc-duet-modal::before{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@:host*/.sc-duet-modal-h{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}/*!@.duet-modal-overlay*/.duet-modal-overlay.sc-duet-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;max-height:100vh;overflow-y:auto;visibility:hidden;background:rgba(0, 41, 77, 0.85);opacity:0;transition:300ms ease;transition-delay:200ms}/*!@.duet-modal-overlay.duet-theme-turva*/.duet-modal-overlay.duet-theme-turva.sc-duet-modal{background:rgba(23, 28, 58, 0.85)}/*!@.duet-modal-overlay.duet-modal-active*/.duet-modal-overlay.duet-modal-active.sc-duet-modal{visibility:visible;opacity:1;transition:300ms ease;transition-delay:0s}/*!@.duet-modal-overlay.duet-disable-transitions*/.duet-modal-overlay.duet-disable-transitions.sc-duet-modal{transition:none}/*!@::slotted(img)*/.sc-duet-modal-s>img{width:100%}/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{display:flex;align-items:center;width:100%;min-height:100%;padding:20px 16px}@media (min-width: 36em){/*!@.duet-modal-inner*/.duet-modal-inner.sc-duet-modal{padding:48px 16px}}@media (max-width: 35.9375em){/*!@.duet-modal-inner.duet-modal-large*/.duet-modal-inner.duet-modal-large.sc-duet-modal{padding-right:0;padding-left:0}}/*!@.duet-modal*/.duet-modal.sc-duet-modal{position:relative;width:100%;max-width:686px;margin:auto;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-weight:400;font-variant-numeric:tabular-nums;line-height:1.5;color:rgb(0, 41, 77);background:rgb(255, 255, 255);border-radius:4px;opacity:0;transition:300ms ease;transition-delay:0ms;transform:scale(0.96)}/*!@.duet-theme-turva .duet-modal*/.duet-theme-turva.sc-duet-modal .duet-modal.sc-duet-modal{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-modal-active .duet-modal*/.duet-modal-active.sc-duet-modal .duet-modal.sc-duet-modal{opacity:1;transition:300ms ease;transition-delay:200ms;transform:none}/*!@.duet-disable-transitions .duet-modal*/.duet-disable-transitions.sc-duet-modal .duet-modal.sc-duet-modal{transition:none}/*!@.duet-modal.small*/.duet-modal.small.sc-duet-modal{max-width:545px}/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:100%}@media (min-width: 36em){/*!@.duet-modal.large*/.duet-modal.large.sc-duet-modal{max-width:1110px}}/*!@.duet-modal:focus*/.duet-modal.sc-duet-modal:focus{outline:0}/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{width:100%;padding:36px 28px}/*!@.duet-modal-body.duet-modal-gutter-none*/.duet-modal-body.duet-modal-gutter-none.sc-duet-modal{padding:0 !important}/*!@.duet-modal-body.duet-modal-gutter-small*/.duet-modal-body.duet-modal-gutter-small.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}@media (max-width: 22.5em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 28px}}@media (max-width: 35.9375em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 20px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 36px}}@media (min-width: 36em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:28px 72px}}@media (min-width: 48em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 72px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:36px 72px}}@media (min-width: 76.25em){/*!@.duet-modal-body*/.duet-modal-body.sc-duet-modal{padding:36px 48px 48px}/*!@.duet-modal-body.duet-modal-gutter-large*/.duet-modal-body.duet-modal-gutter-large.sc-duet-modal{padding:48px 94px}/*!@.small .duet-modal-body*/.small.sc-duet-modal .duet-modal-body.sc-duet-modal{padding:36px 48px}}/*!@.duet-modal-header*/.duet-modal-header.sc-duet-modal{text-align:center}/*!@.duet-modal-close*/.duet-modal-close.sc-duet-modal{position:absolute;top:12px;right:12px}/*!@.duet-modal-heading*/.duet-modal-heading.sc-duet-modal{width:100%;padding-right:60px;overflow:hidden;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:1.25rem;font-style:normal;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25;color:rgb(0, 41, 77);text-decoration:none;text-overflow:ellipsis;letter-spacing:-0.01rem;white-space:nowrap}/*!@.duet-modal-heading.duet-p-0*/.duet-modal-heading.duet-p-0.sc-duet-modal{padding:0 !important}/*!@.duet-modal-heading.duet-m-0*/.duet-modal-heading.duet-m-0.sc-duet-modal{margin:0 !important}";
|
|
@@ -13911,6 +14019,7 @@ class DuetModal {
|
|
|
13911
14019
|
this.open = true;
|
|
13912
14020
|
this.modalEl.classList.add("duet-disable-transitions");
|
|
13913
14021
|
}
|
|
14022
|
+
nudge(this);
|
|
13914
14023
|
}
|
|
13915
14024
|
connectedCallback() {
|
|
13916
14025
|
connectLanguageChangeObserver(this, { prop: "accessibleCloseLabel", defaults: "accessibleCloseLabelDefaults" });
|
|
@@ -14192,6 +14301,9 @@ class DuetMultiselect {
|
|
|
14192
14301
|
this.isCaptionVisible = !!this.caption;
|
|
14193
14302
|
this.refresh();
|
|
14194
14303
|
}
|
|
14304
|
+
componentDidLoad() {
|
|
14305
|
+
nudge(this);
|
|
14306
|
+
}
|
|
14195
14307
|
connectedCallback() {
|
|
14196
14308
|
connectLanguageChangeObserver(this);
|
|
14197
14309
|
}
|
|
@@ -14337,6 +14449,9 @@ class DuetNotification {
|
|
|
14337
14449
|
componentWillLoad() {
|
|
14338
14450
|
inheritGlobalTheme(this);
|
|
14339
14451
|
}
|
|
14452
|
+
componentDidLoad() {
|
|
14453
|
+
nudge(this);
|
|
14454
|
+
}
|
|
14340
14455
|
connectedCallback() {
|
|
14341
14456
|
connectLanguageChangeObserver(this, { prop: "accessibleLabelUnread", defaults: "accessibleLabelUnreadDefaults" });
|
|
14342
14457
|
}
|
|
@@ -14424,6 +14539,9 @@ class DuetNotificationDrawer {
|
|
|
14424
14539
|
inheritGlobalTheme(this);
|
|
14425
14540
|
this.updateNotificationState();
|
|
14426
14541
|
}
|
|
14542
|
+
componentDidLoad() {
|
|
14543
|
+
nudge(this);
|
|
14544
|
+
}
|
|
14427
14545
|
connectedCallback() {
|
|
14428
14546
|
this.observer = new MutationObserver(this.updateNotificationState);
|
|
14429
14547
|
this.observer.observe(this.element, { childList: true });
|
|
@@ -14820,6 +14938,9 @@ class DuetNumberInput {
|
|
|
14820
14938
|
this.value = this.localizeValue(SafeParseFloat(this.value, this.locale));
|
|
14821
14939
|
}
|
|
14822
14940
|
}
|
|
14941
|
+
componentDidLoad() {
|
|
14942
|
+
nudge(this);
|
|
14943
|
+
}
|
|
14823
14944
|
connectedCallback() {
|
|
14824
14945
|
connectLanguageChangeObserver(this, [
|
|
14825
14946
|
{ prop: "accessibleLive", defaults: "accessibleLiveDefaults" },
|
|
@@ -14939,6 +15060,9 @@ class DuetPageHeading {
|
|
|
14939
15060
|
componentWillLoad() {
|
|
14940
15061
|
inheritGlobalTheme(this);
|
|
14941
15062
|
}
|
|
15063
|
+
componentDidLoad() {
|
|
15064
|
+
nudge(this);
|
|
15065
|
+
}
|
|
14942
15066
|
/**
|
|
14943
15067
|
* render() function
|
|
14944
15068
|
* Always the last one in the class.
|
|
@@ -15116,6 +15240,7 @@ class DuetPagination {
|
|
|
15116
15240
|
}
|
|
15117
15241
|
componentDidLoad() {
|
|
15118
15242
|
this.firstRenderDone = true;
|
|
15243
|
+
nudge(this);
|
|
15119
15244
|
}
|
|
15120
15245
|
componentWillRender() {
|
|
15121
15246
|
if (this.internalSectionIndex !== 0 && this.internalSectionIndex !== this.totalPages) {
|
|
@@ -15343,6 +15468,9 @@ class DuetParagraph {
|
|
|
15343
15468
|
componentWillLoad() {
|
|
15344
15469
|
inheritGlobalTheme(this);
|
|
15345
15470
|
}
|
|
15471
|
+
componentDidLoad() {
|
|
15472
|
+
nudge(this);
|
|
15473
|
+
}
|
|
15346
15474
|
/**
|
|
15347
15475
|
* render() function
|
|
15348
15476
|
* Always the last one in the class.
|
|
@@ -16667,6 +16795,7 @@ class DuetPopupMenu {
|
|
|
16667
16795
|
async handleKeyDown(evt) {
|
|
16668
16796
|
if (this.open) {
|
|
16669
16797
|
if (isArrowDownKey(evt)) {
|
|
16798
|
+
evt.preventDefault();
|
|
16670
16799
|
const current = await this.getFocusedItemIndex();
|
|
16671
16800
|
if (current !== -1) {
|
|
16672
16801
|
if (current < this.itemElements.length - 1) {
|
|
@@ -16678,6 +16807,7 @@ class DuetPopupMenu {
|
|
|
16678
16807
|
}
|
|
16679
16808
|
}
|
|
16680
16809
|
if (isArrowUpKey(evt)) {
|
|
16810
|
+
evt.preventDefault();
|
|
16681
16811
|
const current = await this.getFocusedItemIndex();
|
|
16682
16812
|
if (current !== -1) {
|
|
16683
16813
|
if (current === 0) {
|
|
@@ -16835,6 +16965,9 @@ class DuetPopupMenuItem {
|
|
|
16835
16965
|
componentWillLoad() {
|
|
16836
16966
|
inheritGlobalTheme(this);
|
|
16837
16967
|
}
|
|
16968
|
+
componentDidLoad() {
|
|
16969
|
+
nudge(this);
|
|
16970
|
+
}
|
|
16838
16971
|
/**
|
|
16839
16972
|
* Sets focus. Use this method instead of the global focus().
|
|
16840
16973
|
*/
|
|
@@ -16913,6 +17046,9 @@ class DuetProgress {
|
|
|
16913
17046
|
componentWillLoad() {
|
|
16914
17047
|
inheritGlobalTheme(this);
|
|
16915
17048
|
}
|
|
17049
|
+
componentDidLoad() {
|
|
17050
|
+
nudge(this);
|
|
17051
|
+
}
|
|
16916
17052
|
connectedCallback() {
|
|
16917
17053
|
connectLanguageChangeObserver(this, { prop: "accessibleLabelUpload", defaults: "accessibleLabelUploadDefaults" });
|
|
16918
17054
|
}
|
|
@@ -16981,6 +17117,9 @@ class DuetPromoCard {
|
|
|
16981
17117
|
this.hasDescriptionSlot = !!this.element.querySelector('[slot="description"]');
|
|
16982
17118
|
this.hasActionSlot = !!this.element.querySelector('[slot="action"]');
|
|
16983
17119
|
}
|
|
17120
|
+
componentDidLoad() {
|
|
17121
|
+
nudge(this);
|
|
17122
|
+
}
|
|
16984
17123
|
/**
|
|
16985
17124
|
* render() function
|
|
16986
17125
|
* Always the last one of the class.
|
|
@@ -17220,6 +17359,9 @@ class DuetRadioGroup {
|
|
|
17220
17359
|
componentWillLoad() {
|
|
17221
17360
|
inheritGlobalTheme(this);
|
|
17222
17361
|
}
|
|
17362
|
+
componentDidLoad() {
|
|
17363
|
+
nudge(this);
|
|
17364
|
+
}
|
|
17223
17365
|
/**
|
|
17224
17366
|
* Local methods.
|
|
17225
17367
|
*/
|
|
@@ -17369,6 +17511,9 @@ class DuetRangeSlider {
|
|
|
17369
17511
|
componentWillLoad() {
|
|
17370
17512
|
inheritGlobalTheme(this);
|
|
17371
17513
|
}
|
|
17514
|
+
componentDidLoad() {
|
|
17515
|
+
nudge(this);
|
|
17516
|
+
}
|
|
17372
17517
|
/**
|
|
17373
17518
|
* Sets focus on the specified `duet-range-slider`. Use this method instead of the global
|
|
17374
17519
|
* `input.focus()`.
|
|
@@ -17524,6 +17669,7 @@ class DuetRangeStepper {
|
|
|
17524
17669
|
}
|
|
17525
17670
|
componentDidLoad() {
|
|
17526
17671
|
this.watchStepIndexStateHandler(this.stepIndex);
|
|
17672
|
+
nudge(this);
|
|
17527
17673
|
}
|
|
17528
17674
|
connectedCallback() {
|
|
17529
17675
|
connectLanguageChangeObserver(this, { prop: "ariaLabels", defaults: "ariaLabelsDefaults" });
|
|
@@ -17670,14 +17816,15 @@ class DuetScrollable {
|
|
|
17670
17816
|
*/
|
|
17671
17817
|
componentWillLoad() {
|
|
17672
17818
|
inheritGlobalTheme(this);
|
|
17673
|
-
this.hasCollapseButtonLabelSlot = Array.from(this.
|
|
17819
|
+
this.hasCollapseButtonLabelSlot = Array.from(this.element.children).filter(el => el.matches("[slot='collapse-button-label']")).length > 0
|
|
17674
17820
|
;
|
|
17675
|
-
const slotted = Array.from(this.
|
|
17821
|
+
const slotted = Array.from(this.element.children).filter(el => el.matches("[slot='collapse-button-label']"))
|
|
17676
17822
|
;
|
|
17677
17823
|
this.childrenData = { hasChildren: slotted && slotted.length > 0, numberOfChildren: slotted && slotted.length };
|
|
17678
17824
|
}
|
|
17679
17825
|
componentDidLoad() {
|
|
17680
17826
|
this.resizeObserver.observe(this.tabListElement);
|
|
17827
|
+
nudge(this);
|
|
17681
17828
|
}
|
|
17682
17829
|
disconnectedCallback() {
|
|
17683
17830
|
this.resizeObserver.disconnect();
|
|
@@ -17687,11 +17834,11 @@ class DuetScrollable {
|
|
|
17687
17834
|
*/
|
|
17688
17835
|
getLastVisibleElement() {
|
|
17689
17836
|
const clientWidth = this.tabListElement.clientWidth;
|
|
17690
|
-
const xValues = Array.from(this.
|
|
17837
|
+
const xValues = Array.from(this.element.querySelectorAll("button")).findIndex(element => element.getBoundingClientRect().x > clientWidth);
|
|
17691
17838
|
return xValues;
|
|
17692
17839
|
}
|
|
17693
17840
|
getFirstVisibleElement() {
|
|
17694
|
-
const buttonCollection = this.
|
|
17841
|
+
const buttonCollection = this.element.querySelectorAll("button");
|
|
17695
17842
|
// reverse the array because we want the first invisible element form the middle, not the first in the list
|
|
17696
17843
|
const arrayOfXValues = Array.from(buttonCollection).map(el => el.getBoundingClientRect().x - el.getBoundingClientRect().width);
|
|
17697
17844
|
const xValues = arrayOfXValues.findIndex(element => {
|
|
@@ -17726,7 +17873,7 @@ class DuetScrollable {
|
|
|
17726
17873
|
if (index < 0) {
|
|
17727
17874
|
index = 0;
|
|
17728
17875
|
}
|
|
17729
|
-
const buttons = this.
|
|
17876
|
+
const buttons = this.element.querySelectorAll("button");
|
|
17730
17877
|
// store previous position
|
|
17731
17878
|
let prevPosition = buttons[0].getBoundingClientRect().x;
|
|
17732
17879
|
// iterations to run
|
|
@@ -17788,7 +17935,7 @@ class DuetScrollable {
|
|
|
17788
17935
|
"duet-scrollable-button--occluded": !this.isTabContentSmallerThanWrapper,
|
|
17789
17936
|
}, onClick: () => this.scrollRight(), disabled: this.tablistAtEnd, tabindex: "-1", hidden: !this.buttons }, hAsync("duet-icon", { name: "action-arrow-right-small", size: "small", margin: "none" })))));
|
|
17790
17937
|
}
|
|
17791
|
-
get
|
|
17938
|
+
get element() { return getElement(this); }
|
|
17792
17939
|
static get watchers() { return {
|
|
17793
17940
|
"selected": ["watchPropHandler"]
|
|
17794
17941
|
}; }
|
|
@@ -17960,6 +18107,9 @@ class DuetSelect {
|
|
|
17960
18107
|
this.isCaptionVisible = !!this.caption;
|
|
17961
18108
|
this.refresh();
|
|
17962
18109
|
}
|
|
18110
|
+
componentDidLoad() {
|
|
18111
|
+
nudge(this);
|
|
18112
|
+
}
|
|
17963
18113
|
/**
|
|
17964
18114
|
* Sets focus on the specified `duet-select`. Use this method instead of the global
|
|
17965
18115
|
* `select.focus()`.
|
|
@@ -18171,6 +18321,9 @@ class DuetShowMore {
|
|
|
18171
18321
|
inheritGlobalTheme(this);
|
|
18172
18322
|
this.buttonAriaOpen = this.open;
|
|
18173
18323
|
}
|
|
18324
|
+
componentDidLoad() {
|
|
18325
|
+
nudge(this);
|
|
18326
|
+
}
|
|
18174
18327
|
connectedCallback() {
|
|
18175
18328
|
connectLanguageChangeObserver(this, [
|
|
18176
18329
|
{ prop: "showMoreLabel", defaults: "showMoreLabelDefaults" },
|
|
@@ -18232,6 +18385,14 @@ class DuetSlideout {
|
|
|
18232
18385
|
sv: "Avsluta menyn",
|
|
18233
18386
|
};
|
|
18234
18387
|
this.isSafariBrowser = /^((?!chrome|android).)*safari/i.test(navigator === null || navigator === void 0 ? void 0 : navigator.userAgent);
|
|
18388
|
+
this.handleBodyScrolling = () => {
|
|
18389
|
+
if (this.displaying && this.open) {
|
|
18390
|
+
disableBodyScroll(this.dialog, { reserveScrollBarGap: true });
|
|
18391
|
+
}
|
|
18392
|
+
else {
|
|
18393
|
+
enableBodyScroll(this.dialog);
|
|
18394
|
+
}
|
|
18395
|
+
};
|
|
18235
18396
|
this.toggleMenu = (e) => {
|
|
18236
18397
|
const toggle = !this.open;
|
|
18237
18398
|
this.open = toggle;
|
|
@@ -18245,16 +18406,19 @@ class DuetSlideout {
|
|
|
18245
18406
|
const openPanel = this.element.querySelector("duet-slideout-panel[open]");
|
|
18246
18407
|
if (openPanel) {
|
|
18247
18408
|
openPanel.setFocus();
|
|
18409
|
+
this.handleBodyScrolling();
|
|
18248
18410
|
}
|
|
18249
18411
|
else {
|
|
18250
18412
|
setTimeout(() => {
|
|
18251
18413
|
this.closeButton.focus();
|
|
18414
|
+
this.handleBodyScrolling();
|
|
18252
18415
|
}, 200);
|
|
18253
18416
|
}
|
|
18254
18417
|
}
|
|
18255
18418
|
else {
|
|
18256
18419
|
setTimeout(() => {
|
|
18257
18420
|
this.openButton.setFocus();
|
|
18421
|
+
this.handleBodyScrolling();
|
|
18258
18422
|
}, 200);
|
|
18259
18423
|
}
|
|
18260
18424
|
};
|
|
@@ -18262,6 +18426,7 @@ class DuetSlideout {
|
|
|
18262
18426
|
this.toggleMenu(e);
|
|
18263
18427
|
};
|
|
18264
18428
|
this.language = getLanguage();
|
|
18429
|
+
this.displaying = false;
|
|
18265
18430
|
this.theme = "";
|
|
18266
18431
|
this.open = false;
|
|
18267
18432
|
this.backgroundColor = "gray-lightest";
|
|
@@ -18298,11 +18463,18 @@ class DuetSlideout {
|
|
|
18298
18463
|
this.openButton = this.openButton;
|
|
18299
18464
|
}
|
|
18300
18465
|
}
|
|
18466
|
+
async componentDidLoad() {
|
|
18467
|
+
{
|
|
18468
|
+
return;
|
|
18469
|
+
}
|
|
18470
|
+
}
|
|
18301
18471
|
connectedCallback() {
|
|
18302
18472
|
connectLanguageChangeObserver(this);
|
|
18303
18473
|
}
|
|
18304
18474
|
disconnectedCallback() {
|
|
18305
18475
|
disconnectLanguageChangeObserver(this);
|
|
18476
|
+
enableBodyScroll(this.dialog);
|
|
18477
|
+
this.intersectionObserver.disconnect();
|
|
18306
18478
|
}
|
|
18307
18479
|
/**
|
|
18308
18480
|
* Component event handling.
|
|
@@ -18335,7 +18507,7 @@ class DuetSlideout {
|
|
|
18335
18507
|
hidden: !this.open,
|
|
18336
18508
|
}, onClick: () => {
|
|
18337
18509
|
this.open = false;
|
|
18338
|
-
} }), hAsync("div", { tabindex: "-1", role: "dialog", id: "dialog", "aria-labelledby": "button", "aria-modal": this.isSafariBrowser ? false : true, "aria-flowto": "menubar", class: {
|
|
18510
|
+
} }), hAsync("div", { ref: element => (this.dialog = element), tabindex: "-1", role: "dialog", id: "dialog", "aria-labelledby": "button", "aria-modal": this.isSafariBrowser ? false : true, "aria-flowto": "menubar", class: {
|
|
18339
18511
|
dialog: true,
|
|
18340
18512
|
hidden: !this.open,
|
|
18341
18513
|
}, style: styles }, hAsync(FocusGuard, { moveFocusTo: this.closeButton }), hAsync("div", { class: "top" }, hAsync("button", { ref: element => (this.closeButton = element), "aria-haspopup": "dialog", "aria-controls": "dialog", "aria-expanded": this.open ? "true" : "false", "aria-label": `${exitTranslation}`, type: "button", class: {
|
|
@@ -18355,6 +18527,7 @@ class DuetSlideout {
|
|
|
18355
18527
|
"open": [1540],
|
|
18356
18528
|
"backgroundColor": [1537, "background-color"],
|
|
18357
18529
|
"language": [32],
|
|
18530
|
+
"displaying": [32],
|
|
18358
18531
|
"toggle": [64],
|
|
18359
18532
|
"setFocus": [64]
|
|
18360
18533
|
},
|
|
@@ -18386,6 +18559,9 @@ class DuetSlideoutLang {
|
|
|
18386
18559
|
componentWillLoad() {
|
|
18387
18560
|
inheritGlobalTheme(this);
|
|
18388
18561
|
}
|
|
18562
|
+
componentDidLoad() {
|
|
18563
|
+
nudge(this);
|
|
18564
|
+
}
|
|
18389
18565
|
connectedCallback() {
|
|
18390
18566
|
connectLanguageChangeObserver(this);
|
|
18391
18567
|
}
|
|
@@ -18436,6 +18612,9 @@ class DuetSlideoutLink {
|
|
|
18436
18612
|
componentWillLoad() {
|
|
18437
18613
|
inheritGlobalTheme(this);
|
|
18438
18614
|
}
|
|
18615
|
+
componentDidLoad() {
|
|
18616
|
+
nudge(this);
|
|
18617
|
+
}
|
|
18439
18618
|
/**
|
|
18440
18619
|
* render() function
|
|
18441
18620
|
* Always the last one in the class.
|
|
@@ -18527,6 +18706,9 @@ class DuetSlideoutPanel {
|
|
|
18527
18706
|
inheritGlobalTheme(this);
|
|
18528
18707
|
this.updateLabel();
|
|
18529
18708
|
}
|
|
18709
|
+
componentDidLoad() {
|
|
18710
|
+
nudge(this);
|
|
18711
|
+
}
|
|
18530
18712
|
connectedCallback() {
|
|
18531
18713
|
connectLanguageChangeObserver(this);
|
|
18532
18714
|
}
|
|
@@ -18630,6 +18812,9 @@ class DuetSlideoutPanelDropdown {
|
|
|
18630
18812
|
link.menuItem = true;
|
|
18631
18813
|
});
|
|
18632
18814
|
}
|
|
18815
|
+
componentDidLoad() {
|
|
18816
|
+
nudge(this);
|
|
18817
|
+
}
|
|
18633
18818
|
/**
|
|
18634
18819
|
* Sets focus. Use this method instead of the global focus().
|
|
18635
18820
|
*/
|
|
@@ -18806,6 +18991,9 @@ class DuetStep {
|
|
|
18806
18991
|
componentWillLoad() {
|
|
18807
18992
|
inheritGlobalTheme(this);
|
|
18808
18993
|
}
|
|
18994
|
+
componentDidLoad() {
|
|
18995
|
+
nudge(this);
|
|
18996
|
+
}
|
|
18809
18997
|
/**
|
|
18810
18998
|
* Programmatically shift focus to the step's heading.
|
|
18811
18999
|
*/
|
|
@@ -18912,6 +19100,9 @@ class DuetStepper {
|
|
|
18912
19100
|
componentWillLoad() {
|
|
18913
19101
|
inheritGlobalTheme(this);
|
|
18914
19102
|
}
|
|
19103
|
+
componentDidLoad() {
|
|
19104
|
+
nudge(this);
|
|
19105
|
+
}
|
|
18915
19106
|
async connectedCallback() {
|
|
18916
19107
|
this.updateStepState();
|
|
18917
19108
|
}
|
|
@@ -19053,6 +19244,9 @@ class DuetSubmenuBar {
|
|
|
19053
19244
|
child.setAttribute("role", "listitem");
|
|
19054
19245
|
}
|
|
19055
19246
|
}
|
|
19247
|
+
componentDidLoad() {
|
|
19248
|
+
nudge(this);
|
|
19249
|
+
}
|
|
19056
19250
|
connectedCallback() {
|
|
19057
19251
|
this.nav = document.querySelector("duet-nav > [slot='mobile']");
|
|
19058
19252
|
this.hasItems = this.checkIfHasItems();
|
|
@@ -19173,6 +19367,9 @@ class DuetSubmenuBarDropdown {
|
|
|
19173
19367
|
componentWillLoad() {
|
|
19174
19368
|
inheritGlobalTheme(this);
|
|
19175
19369
|
}
|
|
19370
|
+
componentDidLoad() {
|
|
19371
|
+
nudge(this);
|
|
19372
|
+
}
|
|
19176
19373
|
connectedCallback() {
|
|
19177
19374
|
this.checkIsDesktop();
|
|
19178
19375
|
for (let i = 0; i < this.mql.length; i++) {
|
|
@@ -19267,6 +19464,9 @@ class DuetSubmenuBarDropdownLink {
|
|
|
19267
19464
|
componentWillLoad() {
|
|
19268
19465
|
inheritGlobalTheme(this);
|
|
19269
19466
|
}
|
|
19467
|
+
componentDidLoad() {
|
|
19468
|
+
nudge(this);
|
|
19469
|
+
}
|
|
19270
19470
|
handleEscape(e) {
|
|
19271
19471
|
if (isEscapeKey(e)) {
|
|
19272
19472
|
const dropdown = this.element.closest("duet-submenu-bar-dropdown");
|
|
@@ -19335,6 +19535,9 @@ class DuetSubmenuBarLink {
|
|
|
19335
19535
|
componentWillLoad() {
|
|
19336
19536
|
inheritGlobalTheme(this);
|
|
19337
19537
|
}
|
|
19538
|
+
componentDidLoad() {
|
|
19539
|
+
nudge(this);
|
|
19540
|
+
}
|
|
19338
19541
|
connectedCallback() {
|
|
19339
19542
|
this.changeIconSize();
|
|
19340
19543
|
for (let i = 0; i < this.mql.length; i++) {
|
|
@@ -19404,6 +19607,9 @@ class DuetTab {
|
|
|
19404
19607
|
/**
|
|
19405
19608
|
* Component lifecycle events.
|
|
19406
19609
|
*/
|
|
19610
|
+
componentDidLoad() {
|
|
19611
|
+
nudge(this);
|
|
19612
|
+
}
|
|
19407
19613
|
connectedCallback() {
|
|
19408
19614
|
connectLanguageChangeObserver(this, { prop: "accessibleDescription", defaults: "accessibleDescriptionDefault" });
|
|
19409
19615
|
}
|
|
@@ -19416,6 +19622,7 @@ class DuetTab {
|
|
|
19416
19622
|
*/
|
|
19417
19623
|
render() {
|
|
19418
19624
|
}
|
|
19625
|
+
get element() { return getElement(this); }
|
|
19419
19626
|
static get style() { return duetTabCss; }
|
|
19420
19627
|
static get cmpMeta() { return {
|
|
19421
19628
|
"$flags$": 6,
|
|
@@ -19551,6 +19758,7 @@ class DuetTabGroup {
|
|
|
19551
19758
|
}
|
|
19552
19759
|
componentDidLoad() {
|
|
19553
19760
|
this.scrollToActive();
|
|
19761
|
+
nudge(this);
|
|
19554
19762
|
}
|
|
19555
19763
|
/**
|
|
19556
19764
|
* This method allows you to open any of the tabs by calling the method and
|
|
@@ -19941,6 +20149,9 @@ class DuetTextarea {
|
|
|
19941
20149
|
console.warn("[DUET WARNING]: counter requires counter-label to be set");
|
|
19942
20150
|
}
|
|
19943
20151
|
}
|
|
20152
|
+
componentDidLoad() {
|
|
20153
|
+
nudge(this);
|
|
20154
|
+
}
|
|
19944
20155
|
/**
|
|
19945
20156
|
* Sets focus on the specified `duet-textarea`. Use this method instead of the global
|
|
19946
20157
|
* `textarea.focus()`.
|
|
@@ -20069,6 +20280,9 @@ class DuetToggle {
|
|
|
20069
20280
|
this.value = this.identifier;
|
|
20070
20281
|
}
|
|
20071
20282
|
}
|
|
20283
|
+
componentDidLoad() {
|
|
20284
|
+
nudge(this);
|
|
20285
|
+
}
|
|
20072
20286
|
/**
|
|
20073
20287
|
* Sets focus on the specified `duet-toggle`. Use this method instead of the global
|
|
20074
20288
|
* `input.focus()`.
|
|
@@ -20203,6 +20417,9 @@ class DuetToolbarDropdown {
|
|
|
20203
20417
|
componentWillLoad() {
|
|
20204
20418
|
inheritGlobalTheme(this);
|
|
20205
20419
|
}
|
|
20420
|
+
componentDidLoad() {
|
|
20421
|
+
nudge(this);
|
|
20422
|
+
}
|
|
20206
20423
|
handleEscape(e) {
|
|
20207
20424
|
if (isEscapeKey(e)) {
|
|
20208
20425
|
this.open = false;
|
|
@@ -20273,6 +20490,9 @@ class DuetToolbarDropdownLink {
|
|
|
20273
20490
|
componentWillLoad() {
|
|
20274
20491
|
inheritGlobalTheme(this);
|
|
20275
20492
|
}
|
|
20493
|
+
componentDidLoad() {
|
|
20494
|
+
nudge(this);
|
|
20495
|
+
}
|
|
20276
20496
|
handleEscape(e) {
|
|
20277
20497
|
if (isEscapeKey(e)) {
|
|
20278
20498
|
const dropdown = this.element.closest("duet-toolbar-dropdown");
|
|
@@ -20327,6 +20547,9 @@ class DuetToolbarLink {
|
|
|
20327
20547
|
componentWillLoad() {
|
|
20328
20548
|
inheritGlobalTheme(this);
|
|
20329
20549
|
}
|
|
20550
|
+
componentDidLoad() {
|
|
20551
|
+
nudge(this);
|
|
20552
|
+
}
|
|
20330
20553
|
/**
|
|
20331
20554
|
* render() function
|
|
20332
20555
|
* Always the last one in the class.
|
|
@@ -20371,7 +20594,6 @@ class DuetTooltip {
|
|
|
20371
20594
|
this.openTooltip = () => {
|
|
20372
20595
|
this.active = true;
|
|
20373
20596
|
this.focusTarget = "tooltip";
|
|
20374
|
-
this.teleport.go();
|
|
20375
20597
|
};
|
|
20376
20598
|
this.closeTooltip = (moveFocusToButton = false) => {
|
|
20377
20599
|
this.active = false;
|
|
@@ -20379,7 +20601,6 @@ class DuetTooltip {
|
|
|
20379
20601
|
this.focusTarget = "trigger";
|
|
20380
20602
|
}
|
|
20381
20603
|
setTimeout(() => {
|
|
20382
|
-
this.teleport.resume();
|
|
20383
20604
|
this.updatePlacement();
|
|
20384
20605
|
}, 200);
|
|
20385
20606
|
};
|
|
@@ -20448,12 +20669,12 @@ class DuetTooltip {
|
|
|
20448
20669
|
async componentDidLoad() {
|
|
20449
20670
|
this.arrowEl = await this.popupElement.getArrowElement();
|
|
20450
20671
|
this.contentEl = await this.popupElement.getContentElement();
|
|
20451
|
-
this.teleport = new Teleport(this.popupElement);
|
|
20452
20672
|
if (this.active) {
|
|
20453
20673
|
this.openTooltip();
|
|
20454
20674
|
}
|
|
20455
20675
|
this.intersectionObserver = new IntersectionObserver(this.updatePlacement, { root: document.body });
|
|
20456
20676
|
this.intersectionObserver.observe(this.element);
|
|
20677
|
+
nudge(this);
|
|
20457
20678
|
}
|
|
20458
20679
|
componentDidUpdate() {
|
|
20459
20680
|
switch (this.focusTarget) {
|
|
@@ -20516,7 +20737,7 @@ class DuetTooltip {
|
|
|
20516
20737
|
}
|
|
20517
20738
|
async handleActiveChange(newActiveValue) {
|
|
20518
20739
|
if (newActiveValue) {
|
|
20519
|
-
this.updatePlacement();
|
|
20740
|
+
setTimeout(() => this.updatePlacement(), 10);
|
|
20520
20741
|
}
|
|
20521
20742
|
else {
|
|
20522
20743
|
setTimeout(() => this.updatePlacement(), 300);
|
|
@@ -20600,6 +20821,9 @@ class DuetTooltipButton {
|
|
|
20600
20821
|
componentWillLoad() {
|
|
20601
20822
|
inheritGlobalTheme(this);
|
|
20602
20823
|
}
|
|
20824
|
+
componentDidLoad() {
|
|
20825
|
+
nudge(this);
|
|
20826
|
+
}
|
|
20603
20827
|
async setFocus(options) {
|
|
20604
20828
|
if (this.buttonElement) {
|
|
20605
20829
|
this.buttonElement.focus(options);
|
|
@@ -20655,11 +20879,23 @@ class DuetTooltipPopup {
|
|
|
20655
20879
|
this.placement = undefined;
|
|
20656
20880
|
this.accessibleCloseLabel = undefined;
|
|
20657
20881
|
}
|
|
20882
|
+
handleActiveChange() {
|
|
20883
|
+
if (this.active) {
|
|
20884
|
+
this.teleport.go();
|
|
20885
|
+
}
|
|
20886
|
+
else {
|
|
20887
|
+
this.teleport.resume(200);
|
|
20888
|
+
}
|
|
20889
|
+
}
|
|
20658
20890
|
/**
|
|
20659
20891
|
* Component lifecycle events.
|
|
20660
20892
|
*/
|
|
20661
20893
|
componentWillLoad() {
|
|
20662
20894
|
inheritGlobalTheme(this);
|
|
20895
|
+
this.teleport = new Teleport(this.element);
|
|
20896
|
+
}
|
|
20897
|
+
componentDidLoad() {
|
|
20898
|
+
nudge(this);
|
|
20663
20899
|
}
|
|
20664
20900
|
async getArrowElement() {
|
|
20665
20901
|
return this.arrowEl;
|
|
@@ -20678,6 +20914,9 @@ class DuetTooltipPopup {
|
|
|
20678
20914
|
} }, hAsync(FocusGuard, { moveFocusTo: this.buttonEl }), hAsync("div", { ref: element => (this.contentEl = element), class: "duet-tooltip-content-area", tabindex: 0, id: this.tooltipId }, hAsync("slot", null)), hAsync("div", { ref: element => (this.arrowEl = element), class: { arrow: true, [this.placement]: true }, style: this.arrowStyles }, hAsync("div", { class: { "arrow-container": true, [this.placement]: true } })), hAsync("button", { type: "button", class: "duet-tooltip-close", onClick: this.handleCloseClick, ref: el => (this.buttonEl = el) }, hAsync("duet-icon", { name: "navigation-close-small", margin: "none", color: "currentColor", size: "xxx-small" }), hAsync("duet-visually-hidden", null, this.accessibleCloseLabel)), hAsync(FocusGuard, { moveFocusTo: this.contentEl }))));
|
|
20679
20915
|
}
|
|
20680
20916
|
get element() { return getElement(this); }
|
|
20917
|
+
static get watchers() { return {
|
|
20918
|
+
"active": ["handleActiveChange"]
|
|
20919
|
+
}; }
|
|
20681
20920
|
static get style() { return duetTooltipPopupCss; }
|
|
20682
20921
|
static get cmpMeta() { return {
|
|
20683
20922
|
"$flags$": 9,
|
|
@@ -20752,6 +20991,9 @@ class DuetTray {
|
|
|
20752
20991
|
inheritGlobalTheme(this);
|
|
20753
20992
|
this.hasAdditionalContent = !!this.element.querySelector("[slot='additional']");
|
|
20754
20993
|
}
|
|
20994
|
+
componentDidLoad() {
|
|
20995
|
+
nudge(this);
|
|
20996
|
+
}
|
|
20755
20997
|
connectedCallback() {
|
|
20756
20998
|
connectLanguageChangeObserver(this, [
|
|
20757
20999
|
{ prop: "accessibleOpenLabel", defaults: "accessibleOpenLabelDefaults" },
|
|
@@ -21814,6 +22056,9 @@ class DuetUpload {
|
|
|
21814
22056
|
this.onReady();
|
|
21815
22057
|
this.externalUploadButton = document.querySelector(`#${this.externalUploadButtonId}`);
|
|
21816
22058
|
}
|
|
22059
|
+
componentDidLoad() {
|
|
22060
|
+
nudge(this);
|
|
22061
|
+
}
|
|
21817
22062
|
componentWillRender() {
|
|
21818
22063
|
// listen to the events from the component
|
|
21819
22064
|
this.verifyValidity();
|
|
@@ -22162,6 +22407,12 @@ class DuetUploadAriaStatus {
|
|
|
22162
22407
|
this.getStatusMessage();
|
|
22163
22408
|
}
|
|
22164
22409
|
}
|
|
22410
|
+
/**
|
|
22411
|
+
* Component lifecycle events.
|
|
22412
|
+
*/
|
|
22413
|
+
componentDidLoad() {
|
|
22414
|
+
nudge(this);
|
|
22415
|
+
}
|
|
22165
22416
|
/**
|
|
22166
22417
|
* render() function
|
|
22167
22418
|
* Always the last one in the class.
|
|
@@ -22169,6 +22420,7 @@ class DuetUploadAriaStatus {
|
|
|
22169
22420
|
render() {
|
|
22170
22421
|
return (hAsync(Host, { role: "status", "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, hAsync("duet-visually-hidden", null, this.statusMessage)));
|
|
22171
22422
|
}
|
|
22423
|
+
get element() { return getElement(this); }
|
|
22172
22424
|
static get watchers() { return {
|
|
22173
22425
|
"valid": ["watchHandler"],
|
|
22174
22426
|
"invalid": ["watchHandler"],
|
|
@@ -22239,6 +22491,9 @@ class DuetUploadItem {
|
|
|
22239
22491
|
componentWillLoad() {
|
|
22240
22492
|
inheritGlobalTheme(this);
|
|
22241
22493
|
}
|
|
22494
|
+
componentDidLoad() {
|
|
22495
|
+
nudge(this);
|
|
22496
|
+
}
|
|
22242
22497
|
/**
|
|
22243
22498
|
* focusActionButton.
|
|
22244
22499
|
*/
|
|
@@ -22274,6 +22529,7 @@ class DuetUploadItem {
|
|
|
22274
22529
|
return (hAsync("duet-action-button", { actionMeta: Object.assign({}, meta || {}), actionId: uid || null, actionName: actionItem.name, theme: this.theme, iconName: actionItem.icon, iconColor: actionItem.color, iconSize: actionItem.size, background: actionItem.background, "accessible-label": `${actionDescription} ${getLocaleString(actionItem.label)} `, accessibleTitle: false, ref: button => (this.actionButton = button) }));
|
|
22275
22530
|
}))));
|
|
22276
22531
|
}
|
|
22532
|
+
get element() { return getElement(this); }
|
|
22277
22533
|
static get cmpMeta() { return {
|
|
22278
22534
|
"$flags$": 0,
|
|
22279
22535
|
"$tagName$": "duet-upload-item",
|
|
@@ -22302,6 +22558,9 @@ class DuetVisuallyHidden {
|
|
|
22302
22558
|
constructor(hostRef) {
|
|
22303
22559
|
registerInstance(this, hostRef);
|
|
22304
22560
|
}
|
|
22561
|
+
componentDidLoad() {
|
|
22562
|
+
nudge(this);
|
|
22563
|
+
}
|
|
22305
22564
|
/**
|
|
22306
22565
|
* render() function
|
|
22307
22566
|
* Always the last one in the class.
|
|
@@ -22309,6 +22568,7 @@ class DuetVisuallyHidden {
|
|
|
22309
22568
|
render() {
|
|
22310
22569
|
return (hAsync(Host, { class: "duet-visually-hidden" }, hAsync("slot", null)));
|
|
22311
22570
|
}
|
|
22571
|
+
get element() { return getElement(this); }
|
|
22312
22572
|
static get style() { return duetVisuallyHiddenCss; }
|
|
22313
22573
|
static get cmpMeta() { return {
|
|
22314
22574
|
"$flags$": 9,
|