@duetds/components 7.0.13 → 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 +275 -37
- 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 +2 -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 +4 -2
- 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-a94e86a5.js → focus-utils-09463cf4.js} +1 -1
- package/lib/cjs/{index-04d05fd9.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-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 +2 -0
- 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 +2 -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 +4 -2
- 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-32b3e436.js → p-12a46182.js} +1 -1
- package/lib/dist-custom-elements/{p-8a544a4a.js → p-1a8cb0ad.js} +1 -1
- package/lib/dist-custom-elements/{p-580110b9.js → p-1d90b10e.js} +1 -1
- package/lib/dist-custom-elements/{p-e8146874.js → p-21dd956e.js} +8 -3
- package/lib/dist-custom-elements/p-3ae39071.js +16 -0
- package/lib/dist-custom-elements/{p-235639a0.js → p-479fa83d.js} +7 -3
- package/lib/dist-custom-elements/{p-147839fe.js → p-4d9d4c43.js} +10 -2
- package/lib/dist-custom-elements/{p-ae9d10ef.js → p-53148470.js} +7 -2
- package/lib/dist-custom-elements/{p-811e436b.js → p-53fba128.js} +6 -1
- package/lib/dist-custom-elements/{p-216ee242.js → p-67b279fa.js} +5 -1
- package/lib/dist-custom-elements/{p-9510958d.js → p-6816fd1b.js} +8 -5
- package/lib/dist-custom-elements/{p-86766141.js → p-6958bba3.js} +15 -10
- package/lib/dist-custom-elements/{p-e4de8f7b.js → p-6a66573f.js} +8 -4
- package/lib/dist-custom-elements/{p-7ccf98f1.js → p-72c9e944.js} +6 -1
- package/lib/dist-custom-elements/{p-e7815ffd.js → p-77c93063.js} +1 -1
- package/lib/dist-custom-elements/{p-7a8c2aed.js → p-7c6ee265.js} +8 -10
- package/lib/dist-custom-elements/{p-3b2d38bd.js → p-85087518.js} +6 -2
- package/lib/dist-custom-elements/{p-70bf0b69.js → p-87cf7266.js} +13 -11
- package/lib/dist-custom-elements/{p-778299c4.js → p-89dec98e.js} +6 -2
- package/lib/dist-custom-elements/{p-31d056ee.js → p-954d4096.js} +12 -10
- package/lib/dist-custom-elements/{p-457ad3b4.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-6ff6de66.js → p-a5b5343b.js} +12 -8
- package/lib/dist-custom-elements/{p-b4fb8e06.js → p-ad704699.js} +20 -3
- package/lib/dist-custom-elements/{p-9ec763ef.js → p-c2533c03.js} +1 -1
- package/lib/dist-custom-elements/{p-891cf00a.js → p-cedaa97e.js} +1 -1
- package/lib/dist-custom-elements/{p-5128c90e.js → p-d6e49c93.js} +6 -2
- package/lib/dist-custom-elements/{p-89f61853.js → p-d8859df9.js} +1 -1
- package/lib/dist-custom-elements/{p-54138086.js → p-d8c53f43.js} +1 -1
- package/lib/dist-custom-elements/{p-dddcc1da.js → p-dd33aa4e.js} +1 -1
- package/lib/dist-custom-elements/{p-87ab6444.js → p-decdd69c.js} +5 -1
- package/lib/dist-custom-elements/{p-6658c850.js → p-e611a3df.js} +5 -1
- package/lib/dist-custom-elements/{p-fbdc5afe.js → p-e90b70ac.js} +1 -1
- package/lib/dist-custom-elements/{p-735d77aa.js → p-f7337164.js} +6 -1
- package/lib/dist-custom-elements/{p-e9d838dd.js → p-fc3ae836.js} +1 -1
- package/lib/dist-custom-elements/{p-444a8a81.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-7fe6bf2c.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-0acc8f88.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-1d463cc4.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-a678835a.entry.js → p-34aa54e1.entry.js} +1 -1
- package/lib/duet/p-3538b0af.entry.js +4 -0
- package/lib/duet/{p-25495204.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-7dc87593.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-16abb2d5.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-18f1d30e.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-e7cc2826.system.entry.js → p-8156e5a5.system.entry.js} +1 -1
- package/lib/duet/{p-a87a2760.system.entry.js → p-8304e300.system.entry.js} +2 -2
- package/lib/duet/p-84390ead.entry.js +4 -0
- package/lib/duet/{p-b760effb.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-8a3fcbdb.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-e91a7222.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-e4734600.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-a7c2017b.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-213ba11f.entry.js → p-a322b729.entry.js} +1 -1
- 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-f5903e7d.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-0c6705bb.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-e4e0578f.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-4ab24dcd.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-429a181d.system.entry.js → p-d86480ea.system.entry.js} +1 -1
- package/lib/duet/{p-c201968f.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-6d711206.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-8db716f2.system.entry.js → p-f9f1c707.system.entry.js} +1 -1
- package/lib/duet/p-fa5bcc42.system.js +4 -0
- package/lib/duet/{p-7804ff1e.entry.js → p-fb238069.entry.js} +1 -1
- package/lib/duet/{p-7174ea1e.entry.js → p-fb7d7222.entry.js} +1 -1
- package/lib/duet/{p-3cb9e865.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 +2 -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 +4 -2
- 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-e26ba3b3.js → focus-utils-8fc4feb5.js} +1 -1
- package/lib/esm/{index-c1a17a4c.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 +2 -2
- 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 +2 -2
- 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 +1 -1
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip-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-e26ba3b3.js → focus-utils-8fc4feb5.js} +1 -1
- package/lib/esm-es5/{index-c1a17a4c.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-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-00abf5b6.entry.js +0 -4
- package/lib/duet/p-02b7e1ef.system.entry.js +0 -4
- package/lib/duet/p-02f1d7cc.system.js +0 -4
- package/lib/duet/p-0478d0eb.entry.js +0 -4
- package/lib/duet/p-04940a8a.system.entry.js +0 -4
- package/lib/duet/p-059c9d4e.entry.js +0 -4
- package/lib/duet/p-066f7fdf.entry.js +0 -4
- package/lib/duet/p-076228e9.system.entry.js +0 -4
- package/lib/duet/p-076aef18.entry.js +0 -4
- package/lib/duet/p-0b0a898d.entry.js +0 -4
- package/lib/duet/p-0c3d7e64.system.entry.js +0 -4
- package/lib/duet/p-0e697654.system.entry.js +0 -4
- package/lib/duet/p-0ffc3cf9.entry.js +0 -4
- package/lib/duet/p-108d9370.system.entry.js +0 -4
- package/lib/duet/p-11e79c8c.system.entry.js +0 -4
- package/lib/duet/p-14285f86.system.entry.js +0 -4
- package/lib/duet/p-14bd6514.entry.js +0 -4
- package/lib/duet/p-1719aa4e.entry.js +0 -4
- package/lib/duet/p-1b398a07.entry.js +0 -4
- package/lib/duet/p-1c0ad101.system.entry.js +0 -4
- package/lib/duet/p-23ba9eba.entry.js +0 -4
- package/lib/duet/p-243a9ef5.system.entry.js +0 -4
- package/lib/duet/p-24e2be74.entry.js +0 -4
- package/lib/duet/p-29280d68.entry.js +0 -4
- package/lib/duet/p-2992af15.entry.js +0 -4
- package/lib/duet/p-29be2109.entry.js +0 -4
- package/lib/duet/p-29f1e1a4.system.entry.js +0 -4
- package/lib/duet/p-2bf922c1.system.js +0 -4
- package/lib/duet/p-2e9a772c.entry.js +0 -4
- package/lib/duet/p-2ea04945.entry.js +0 -4
- package/lib/duet/p-2eabea79.entry.js +0 -4
- package/lib/duet/p-31b566c1.entry.js +0 -4
- package/lib/duet/p-3346552d.entry.js +0 -4
- package/lib/duet/p-34928212.entry.js +0 -4
- package/lib/duet/p-3536fd40.system.entry.js +0 -4
- package/lib/duet/p-356745e0.system.entry.js +0 -4
- package/lib/duet/p-3709d186.entry.js +0 -4
- package/lib/duet/p-380c94f6.system.entry.js +0 -4
- package/lib/duet/p-388e6ec4.entry.js +0 -4
- package/lib/duet/p-3ec86ced.entry.js +0 -4
- package/lib/duet/p-417357f9.system.entry.js +0 -4
- package/lib/duet/p-427dbb96.system.entry.js +0 -4
- package/lib/duet/p-43b0c3d2.system.entry.js +0 -4
- package/lib/duet/p-43b42819.entry.js +0 -4
- package/lib/duet/p-45bec102.entry.js +0 -4
- package/lib/duet/p-46b3ed07.entry.js +0 -4
- package/lib/duet/p-4a4faa7d.entry.js +0 -4
- package/lib/duet/p-4e886433.system.entry.js +0 -4
- package/lib/duet/p-521c96ec.entry.js +0 -4
- package/lib/duet/p-56952081.entry.js +0 -4
- package/lib/duet/p-5738c25c.system.entry.js +0 -4
- package/lib/duet/p-60a70493.entry.js +0 -4
- package/lib/duet/p-67862509.system.entry.js +0 -4
- package/lib/duet/p-67d9de79.system.entry.js +0 -4
- package/lib/duet/p-6c93f614.system.entry.js +0 -4
- package/lib/duet/p-6d74aac6.system.entry.js +0 -4
- package/lib/duet/p-6f677b2a.system.entry.js +0 -4
- package/lib/duet/p-6f6a58e4.system.entry.js +0 -4
- package/lib/duet/p-701b89a1.entry.js +0 -4
- package/lib/duet/p-70477e77.system.entry.js +0 -4
- package/lib/duet/p-7260f799.entry.js +0 -4
- package/lib/duet/p-7326a4c0.system.entry.js +0 -4
- package/lib/duet/p-7394e25f.js +0 -4
- package/lib/duet/p-74216caa.entry.js +0 -4
- package/lib/duet/p-79075bec.system.entry.js +0 -4
- package/lib/duet/p-7ac0621b.system.entry.js +0 -4
- package/lib/duet/p-7b7faa01.system.entry.js +0 -4
- package/lib/duet/p-7cf9e266.system.entry.js +0 -4
- package/lib/duet/p-81c35152.entry.js +0 -4
- package/lib/duet/p-822a791e.entry.js +0 -4
- package/lib/duet/p-8364fae3.entry.js +0 -4
- package/lib/duet/p-8433b6d1.system.entry.js +0 -4
- package/lib/duet/p-850eacf6.entry.js +0 -4
- package/lib/duet/p-87ca87df.entry.js +0 -4
- package/lib/duet/p-8810df88.js +0 -4
- package/lib/duet/p-8b5d616e.system.entry.js +0 -4
- package/lib/duet/p-8b641c9c.system.entry.js +0 -4
- package/lib/duet/p-8e5253bc.entry.js +0 -4
- package/lib/duet/p-97fc4a88.system.entry.js +0 -4
- package/lib/duet/p-98488fab.system.entry.js +0 -4
- package/lib/duet/p-9949a334.entry.js +0 -4
- package/lib/duet/p-9ce8627c.system.entry.js +0 -4
- package/lib/duet/p-9d505129.system.entry.js +0 -4
- package/lib/duet/p-9e3276c6.system.entry.js +0 -4
- package/lib/duet/p-9f9ada02.system.entry.js +0 -4
- package/lib/duet/p-a374de00.entry.js +0 -4
- package/lib/duet/p-a39844b6.entry.js +0 -4
- package/lib/duet/p-a8e6dcb9.entry.js +0 -4
- package/lib/duet/p-ac962b74.system.entry.js +0 -4
- package/lib/duet/p-afee3739.system.entry.js +0 -4
- package/lib/duet/p-b0475c8a.entry.js +0 -4
- package/lib/duet/p-b07fe45f.system.entry.js +0 -4
- package/lib/duet/p-b465c929.entry.js +0 -4
- package/lib/duet/p-b71c141b.system.entry.js +0 -4
- package/lib/duet/p-b7605eb1.entry.js +0 -4
- package/lib/duet/p-b7e61bdc.system.entry.js +0 -4
- package/lib/duet/p-b8b12400.system.entry.js +0 -4
- package/lib/duet/p-b9eb37ae.system.entry.js +0 -4
- package/lib/duet/p-bd594a8b.entry.js +0 -4
- package/lib/duet/p-bde9a702.system.entry.js +0 -4
- package/lib/duet/p-c1573ac3.system.entry.js +0 -4
- package/lib/duet/p-c1fb544b.system.entry.js +0 -4
- package/lib/duet/p-c2731be1.system.entry.js +0 -4
- package/lib/duet/p-c2b0861c.system.entry.js +0 -4
- package/lib/duet/p-c3a883e3.entry.js +0 -4
- package/lib/duet/p-c4fac0b5.system.entry.js +0 -4
- package/lib/duet/p-cb451f23.entry.js +0 -4
- package/lib/duet/p-cba1009b.entry.js +0 -4
- package/lib/duet/p-cd05fea5.system.entry.js +0 -4
- package/lib/duet/p-cf824b6b.system.entry.js +0 -4
- package/lib/duet/p-d183a3e7.system.entry.js +0 -4
- package/lib/duet/p-d1f815a3.system.entry.js +0 -4
- package/lib/duet/p-d4d63fbd.system.entry.js +0 -4
- package/lib/duet/p-d68c84ab.entry.js +0 -4
- package/lib/duet/p-d6d5ef13.entry.js +0 -4
- package/lib/duet/p-d7c5ac53.entry.js +0 -4
- package/lib/duet/p-db6887df.entry.js +0 -4
- package/lib/duet/p-db95e133.entry.js +0 -4
- package/lib/duet/p-dfc66b98.entry.js +0 -4
- package/lib/duet/p-e27a7520.system.entry.js +0 -4
- package/lib/duet/p-e356ca29.entry.js +0 -4
- package/lib/duet/p-e3f8becc.entry.js +0 -4
- package/lib/duet/p-e50d1003.system.entry.js +0 -4
- package/lib/duet/p-e9b8cee0.system.entry.js +0 -4
- package/lib/duet/p-ea1287ce.system.entry.js +0 -4
- package/lib/duet/p-f0317574.entry.js +0 -4
- package/lib/duet/p-f27b134c.system.entry.js +0 -4
- package/lib/duet/p-f74b6629.entry.js +0 -4
- package/lib/duet/p-faf2b9d1.entry.js +0 -4
- package/lib/duet/p-fbdb1eec.entry.js +0 -4
- package/lib/duet/p-fc0f56ae.system.entry.js +0 -4
- package/lib/duet/p-fee0f558.entry.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.
|
|
@@ -16837,6 +16965,9 @@ class DuetPopupMenuItem {
|
|
|
16837
16965
|
componentWillLoad() {
|
|
16838
16966
|
inheritGlobalTheme(this);
|
|
16839
16967
|
}
|
|
16968
|
+
componentDidLoad() {
|
|
16969
|
+
nudge(this);
|
|
16970
|
+
}
|
|
16840
16971
|
/**
|
|
16841
16972
|
* Sets focus. Use this method instead of the global focus().
|
|
16842
16973
|
*/
|
|
@@ -16915,6 +17046,9 @@ class DuetProgress {
|
|
|
16915
17046
|
componentWillLoad() {
|
|
16916
17047
|
inheritGlobalTheme(this);
|
|
16917
17048
|
}
|
|
17049
|
+
componentDidLoad() {
|
|
17050
|
+
nudge(this);
|
|
17051
|
+
}
|
|
16918
17052
|
connectedCallback() {
|
|
16919
17053
|
connectLanguageChangeObserver(this, { prop: "accessibleLabelUpload", defaults: "accessibleLabelUploadDefaults" });
|
|
16920
17054
|
}
|
|
@@ -16983,6 +17117,9 @@ class DuetPromoCard {
|
|
|
16983
17117
|
this.hasDescriptionSlot = !!this.element.querySelector('[slot="description"]');
|
|
16984
17118
|
this.hasActionSlot = !!this.element.querySelector('[slot="action"]');
|
|
16985
17119
|
}
|
|
17120
|
+
componentDidLoad() {
|
|
17121
|
+
nudge(this);
|
|
17122
|
+
}
|
|
16986
17123
|
/**
|
|
16987
17124
|
* render() function
|
|
16988
17125
|
* Always the last one of the class.
|
|
@@ -17222,6 +17359,9 @@ class DuetRadioGroup {
|
|
|
17222
17359
|
componentWillLoad() {
|
|
17223
17360
|
inheritGlobalTheme(this);
|
|
17224
17361
|
}
|
|
17362
|
+
componentDidLoad() {
|
|
17363
|
+
nudge(this);
|
|
17364
|
+
}
|
|
17225
17365
|
/**
|
|
17226
17366
|
* Local methods.
|
|
17227
17367
|
*/
|
|
@@ -17371,6 +17511,9 @@ class DuetRangeSlider {
|
|
|
17371
17511
|
componentWillLoad() {
|
|
17372
17512
|
inheritGlobalTheme(this);
|
|
17373
17513
|
}
|
|
17514
|
+
componentDidLoad() {
|
|
17515
|
+
nudge(this);
|
|
17516
|
+
}
|
|
17374
17517
|
/**
|
|
17375
17518
|
* Sets focus on the specified `duet-range-slider`. Use this method instead of the global
|
|
17376
17519
|
* `input.focus()`.
|
|
@@ -17526,6 +17669,7 @@ class DuetRangeStepper {
|
|
|
17526
17669
|
}
|
|
17527
17670
|
componentDidLoad() {
|
|
17528
17671
|
this.watchStepIndexStateHandler(this.stepIndex);
|
|
17672
|
+
nudge(this);
|
|
17529
17673
|
}
|
|
17530
17674
|
connectedCallback() {
|
|
17531
17675
|
connectLanguageChangeObserver(this, { prop: "ariaLabels", defaults: "ariaLabelsDefaults" });
|
|
@@ -17672,14 +17816,15 @@ class DuetScrollable {
|
|
|
17672
17816
|
*/
|
|
17673
17817
|
componentWillLoad() {
|
|
17674
17818
|
inheritGlobalTheme(this);
|
|
17675
|
-
this.hasCollapseButtonLabelSlot = Array.from(this.
|
|
17819
|
+
this.hasCollapseButtonLabelSlot = Array.from(this.element.children).filter(el => el.matches("[slot='collapse-button-label']")).length > 0
|
|
17676
17820
|
;
|
|
17677
|
-
const slotted = Array.from(this.
|
|
17821
|
+
const slotted = Array.from(this.element.children).filter(el => el.matches("[slot='collapse-button-label']"))
|
|
17678
17822
|
;
|
|
17679
17823
|
this.childrenData = { hasChildren: slotted && slotted.length > 0, numberOfChildren: slotted && slotted.length };
|
|
17680
17824
|
}
|
|
17681
17825
|
componentDidLoad() {
|
|
17682
17826
|
this.resizeObserver.observe(this.tabListElement);
|
|
17827
|
+
nudge(this);
|
|
17683
17828
|
}
|
|
17684
17829
|
disconnectedCallback() {
|
|
17685
17830
|
this.resizeObserver.disconnect();
|
|
@@ -17689,11 +17834,11 @@ class DuetScrollable {
|
|
|
17689
17834
|
*/
|
|
17690
17835
|
getLastVisibleElement() {
|
|
17691
17836
|
const clientWidth = this.tabListElement.clientWidth;
|
|
17692
|
-
const xValues = Array.from(this.
|
|
17837
|
+
const xValues = Array.from(this.element.querySelectorAll("button")).findIndex(element => element.getBoundingClientRect().x > clientWidth);
|
|
17693
17838
|
return xValues;
|
|
17694
17839
|
}
|
|
17695
17840
|
getFirstVisibleElement() {
|
|
17696
|
-
const buttonCollection = this.
|
|
17841
|
+
const buttonCollection = this.element.querySelectorAll("button");
|
|
17697
17842
|
// reverse the array because we want the first invisible element form the middle, not the first in the list
|
|
17698
17843
|
const arrayOfXValues = Array.from(buttonCollection).map(el => el.getBoundingClientRect().x - el.getBoundingClientRect().width);
|
|
17699
17844
|
const xValues = arrayOfXValues.findIndex(element => {
|
|
@@ -17728,7 +17873,7 @@ class DuetScrollable {
|
|
|
17728
17873
|
if (index < 0) {
|
|
17729
17874
|
index = 0;
|
|
17730
17875
|
}
|
|
17731
|
-
const buttons = this.
|
|
17876
|
+
const buttons = this.element.querySelectorAll("button");
|
|
17732
17877
|
// store previous position
|
|
17733
17878
|
let prevPosition = buttons[0].getBoundingClientRect().x;
|
|
17734
17879
|
// iterations to run
|
|
@@ -17790,7 +17935,7 @@ class DuetScrollable {
|
|
|
17790
17935
|
"duet-scrollable-button--occluded": !this.isTabContentSmallerThanWrapper,
|
|
17791
17936
|
}, onClick: () => this.scrollRight(), disabled: this.tablistAtEnd, tabindex: "-1", hidden: !this.buttons }, hAsync("duet-icon", { name: "action-arrow-right-small", size: "small", margin: "none" })))));
|
|
17792
17937
|
}
|
|
17793
|
-
get
|
|
17938
|
+
get element() { return getElement(this); }
|
|
17794
17939
|
static get watchers() { return {
|
|
17795
17940
|
"selected": ["watchPropHandler"]
|
|
17796
17941
|
}; }
|
|
@@ -17962,6 +18107,9 @@ class DuetSelect {
|
|
|
17962
18107
|
this.isCaptionVisible = !!this.caption;
|
|
17963
18108
|
this.refresh();
|
|
17964
18109
|
}
|
|
18110
|
+
componentDidLoad() {
|
|
18111
|
+
nudge(this);
|
|
18112
|
+
}
|
|
17965
18113
|
/**
|
|
17966
18114
|
* Sets focus on the specified `duet-select`. Use this method instead of the global
|
|
17967
18115
|
* `select.focus()`.
|
|
@@ -18173,6 +18321,9 @@ class DuetShowMore {
|
|
|
18173
18321
|
inheritGlobalTheme(this);
|
|
18174
18322
|
this.buttonAriaOpen = this.open;
|
|
18175
18323
|
}
|
|
18324
|
+
componentDidLoad() {
|
|
18325
|
+
nudge(this);
|
|
18326
|
+
}
|
|
18176
18327
|
connectedCallback() {
|
|
18177
18328
|
connectLanguageChangeObserver(this, [
|
|
18178
18329
|
{ prop: "showMoreLabel", defaults: "showMoreLabelDefaults" },
|
|
@@ -18408,6 +18559,9 @@ class DuetSlideoutLang {
|
|
|
18408
18559
|
componentWillLoad() {
|
|
18409
18560
|
inheritGlobalTheme(this);
|
|
18410
18561
|
}
|
|
18562
|
+
componentDidLoad() {
|
|
18563
|
+
nudge(this);
|
|
18564
|
+
}
|
|
18411
18565
|
connectedCallback() {
|
|
18412
18566
|
connectLanguageChangeObserver(this);
|
|
18413
18567
|
}
|
|
@@ -18458,6 +18612,9 @@ class DuetSlideoutLink {
|
|
|
18458
18612
|
componentWillLoad() {
|
|
18459
18613
|
inheritGlobalTheme(this);
|
|
18460
18614
|
}
|
|
18615
|
+
componentDidLoad() {
|
|
18616
|
+
nudge(this);
|
|
18617
|
+
}
|
|
18461
18618
|
/**
|
|
18462
18619
|
* render() function
|
|
18463
18620
|
* Always the last one in the class.
|
|
@@ -18549,6 +18706,9 @@ class DuetSlideoutPanel {
|
|
|
18549
18706
|
inheritGlobalTheme(this);
|
|
18550
18707
|
this.updateLabel();
|
|
18551
18708
|
}
|
|
18709
|
+
componentDidLoad() {
|
|
18710
|
+
nudge(this);
|
|
18711
|
+
}
|
|
18552
18712
|
connectedCallback() {
|
|
18553
18713
|
connectLanguageChangeObserver(this);
|
|
18554
18714
|
}
|
|
@@ -18652,6 +18812,9 @@ class DuetSlideoutPanelDropdown {
|
|
|
18652
18812
|
link.menuItem = true;
|
|
18653
18813
|
});
|
|
18654
18814
|
}
|
|
18815
|
+
componentDidLoad() {
|
|
18816
|
+
nudge(this);
|
|
18817
|
+
}
|
|
18655
18818
|
/**
|
|
18656
18819
|
* Sets focus. Use this method instead of the global focus().
|
|
18657
18820
|
*/
|
|
@@ -18828,6 +18991,9 @@ class DuetStep {
|
|
|
18828
18991
|
componentWillLoad() {
|
|
18829
18992
|
inheritGlobalTheme(this);
|
|
18830
18993
|
}
|
|
18994
|
+
componentDidLoad() {
|
|
18995
|
+
nudge(this);
|
|
18996
|
+
}
|
|
18831
18997
|
/**
|
|
18832
18998
|
* Programmatically shift focus to the step's heading.
|
|
18833
18999
|
*/
|
|
@@ -18934,6 +19100,9 @@ class DuetStepper {
|
|
|
18934
19100
|
componentWillLoad() {
|
|
18935
19101
|
inheritGlobalTheme(this);
|
|
18936
19102
|
}
|
|
19103
|
+
componentDidLoad() {
|
|
19104
|
+
nudge(this);
|
|
19105
|
+
}
|
|
18937
19106
|
async connectedCallback() {
|
|
18938
19107
|
this.updateStepState();
|
|
18939
19108
|
}
|
|
@@ -19075,6 +19244,9 @@ class DuetSubmenuBar {
|
|
|
19075
19244
|
child.setAttribute("role", "listitem");
|
|
19076
19245
|
}
|
|
19077
19246
|
}
|
|
19247
|
+
componentDidLoad() {
|
|
19248
|
+
nudge(this);
|
|
19249
|
+
}
|
|
19078
19250
|
connectedCallback() {
|
|
19079
19251
|
this.nav = document.querySelector("duet-nav > [slot='mobile']");
|
|
19080
19252
|
this.hasItems = this.checkIfHasItems();
|
|
@@ -19195,6 +19367,9 @@ class DuetSubmenuBarDropdown {
|
|
|
19195
19367
|
componentWillLoad() {
|
|
19196
19368
|
inheritGlobalTheme(this);
|
|
19197
19369
|
}
|
|
19370
|
+
componentDidLoad() {
|
|
19371
|
+
nudge(this);
|
|
19372
|
+
}
|
|
19198
19373
|
connectedCallback() {
|
|
19199
19374
|
this.checkIsDesktop();
|
|
19200
19375
|
for (let i = 0; i < this.mql.length; i++) {
|
|
@@ -19289,6 +19464,9 @@ class DuetSubmenuBarDropdownLink {
|
|
|
19289
19464
|
componentWillLoad() {
|
|
19290
19465
|
inheritGlobalTheme(this);
|
|
19291
19466
|
}
|
|
19467
|
+
componentDidLoad() {
|
|
19468
|
+
nudge(this);
|
|
19469
|
+
}
|
|
19292
19470
|
handleEscape(e) {
|
|
19293
19471
|
if (isEscapeKey(e)) {
|
|
19294
19472
|
const dropdown = this.element.closest("duet-submenu-bar-dropdown");
|
|
@@ -19357,6 +19535,9 @@ class DuetSubmenuBarLink {
|
|
|
19357
19535
|
componentWillLoad() {
|
|
19358
19536
|
inheritGlobalTheme(this);
|
|
19359
19537
|
}
|
|
19538
|
+
componentDidLoad() {
|
|
19539
|
+
nudge(this);
|
|
19540
|
+
}
|
|
19360
19541
|
connectedCallback() {
|
|
19361
19542
|
this.changeIconSize();
|
|
19362
19543
|
for (let i = 0; i < this.mql.length; i++) {
|
|
@@ -19426,6 +19607,9 @@ class DuetTab {
|
|
|
19426
19607
|
/**
|
|
19427
19608
|
* Component lifecycle events.
|
|
19428
19609
|
*/
|
|
19610
|
+
componentDidLoad() {
|
|
19611
|
+
nudge(this);
|
|
19612
|
+
}
|
|
19429
19613
|
connectedCallback() {
|
|
19430
19614
|
connectLanguageChangeObserver(this, { prop: "accessibleDescription", defaults: "accessibleDescriptionDefault" });
|
|
19431
19615
|
}
|
|
@@ -19438,6 +19622,7 @@ class DuetTab {
|
|
|
19438
19622
|
*/
|
|
19439
19623
|
render() {
|
|
19440
19624
|
}
|
|
19625
|
+
get element() { return getElement(this); }
|
|
19441
19626
|
static get style() { return duetTabCss; }
|
|
19442
19627
|
static get cmpMeta() { return {
|
|
19443
19628
|
"$flags$": 6,
|
|
@@ -19573,6 +19758,7 @@ class DuetTabGroup {
|
|
|
19573
19758
|
}
|
|
19574
19759
|
componentDidLoad() {
|
|
19575
19760
|
this.scrollToActive();
|
|
19761
|
+
nudge(this);
|
|
19576
19762
|
}
|
|
19577
19763
|
/**
|
|
19578
19764
|
* This method allows you to open any of the tabs by calling the method and
|
|
@@ -19963,6 +20149,9 @@ class DuetTextarea {
|
|
|
19963
20149
|
console.warn("[DUET WARNING]: counter requires counter-label to be set");
|
|
19964
20150
|
}
|
|
19965
20151
|
}
|
|
20152
|
+
componentDidLoad() {
|
|
20153
|
+
nudge(this);
|
|
20154
|
+
}
|
|
19966
20155
|
/**
|
|
19967
20156
|
* Sets focus on the specified `duet-textarea`. Use this method instead of the global
|
|
19968
20157
|
* `textarea.focus()`.
|
|
@@ -20091,6 +20280,9 @@ class DuetToggle {
|
|
|
20091
20280
|
this.value = this.identifier;
|
|
20092
20281
|
}
|
|
20093
20282
|
}
|
|
20283
|
+
componentDidLoad() {
|
|
20284
|
+
nudge(this);
|
|
20285
|
+
}
|
|
20094
20286
|
/**
|
|
20095
20287
|
* Sets focus on the specified `duet-toggle`. Use this method instead of the global
|
|
20096
20288
|
* `input.focus()`.
|
|
@@ -20225,6 +20417,9 @@ class DuetToolbarDropdown {
|
|
|
20225
20417
|
componentWillLoad() {
|
|
20226
20418
|
inheritGlobalTheme(this);
|
|
20227
20419
|
}
|
|
20420
|
+
componentDidLoad() {
|
|
20421
|
+
nudge(this);
|
|
20422
|
+
}
|
|
20228
20423
|
handleEscape(e) {
|
|
20229
20424
|
if (isEscapeKey(e)) {
|
|
20230
20425
|
this.open = false;
|
|
@@ -20295,6 +20490,9 @@ class DuetToolbarDropdownLink {
|
|
|
20295
20490
|
componentWillLoad() {
|
|
20296
20491
|
inheritGlobalTheme(this);
|
|
20297
20492
|
}
|
|
20493
|
+
componentDidLoad() {
|
|
20494
|
+
nudge(this);
|
|
20495
|
+
}
|
|
20298
20496
|
handleEscape(e) {
|
|
20299
20497
|
if (isEscapeKey(e)) {
|
|
20300
20498
|
const dropdown = this.element.closest("duet-toolbar-dropdown");
|
|
@@ -20349,6 +20547,9 @@ class DuetToolbarLink {
|
|
|
20349
20547
|
componentWillLoad() {
|
|
20350
20548
|
inheritGlobalTheme(this);
|
|
20351
20549
|
}
|
|
20550
|
+
componentDidLoad() {
|
|
20551
|
+
nudge(this);
|
|
20552
|
+
}
|
|
20352
20553
|
/**
|
|
20353
20554
|
* render() function
|
|
20354
20555
|
* Always the last one in the class.
|
|
@@ -20393,7 +20594,6 @@ class DuetTooltip {
|
|
|
20393
20594
|
this.openTooltip = () => {
|
|
20394
20595
|
this.active = true;
|
|
20395
20596
|
this.focusTarget = "tooltip";
|
|
20396
|
-
this.teleport.go();
|
|
20397
20597
|
};
|
|
20398
20598
|
this.closeTooltip = (moveFocusToButton = false) => {
|
|
20399
20599
|
this.active = false;
|
|
@@ -20401,7 +20601,6 @@ class DuetTooltip {
|
|
|
20401
20601
|
this.focusTarget = "trigger";
|
|
20402
20602
|
}
|
|
20403
20603
|
setTimeout(() => {
|
|
20404
|
-
this.teleport.resume();
|
|
20405
20604
|
this.updatePlacement();
|
|
20406
20605
|
}, 200);
|
|
20407
20606
|
};
|
|
@@ -20470,12 +20669,12 @@ class DuetTooltip {
|
|
|
20470
20669
|
async componentDidLoad() {
|
|
20471
20670
|
this.arrowEl = await this.popupElement.getArrowElement();
|
|
20472
20671
|
this.contentEl = await this.popupElement.getContentElement();
|
|
20473
|
-
this.teleport = new Teleport(this.popupElement);
|
|
20474
20672
|
if (this.active) {
|
|
20475
20673
|
this.openTooltip();
|
|
20476
20674
|
}
|
|
20477
20675
|
this.intersectionObserver = new IntersectionObserver(this.updatePlacement, { root: document.body });
|
|
20478
20676
|
this.intersectionObserver.observe(this.element);
|
|
20677
|
+
nudge(this);
|
|
20479
20678
|
}
|
|
20480
20679
|
componentDidUpdate() {
|
|
20481
20680
|
switch (this.focusTarget) {
|
|
@@ -20538,7 +20737,7 @@ class DuetTooltip {
|
|
|
20538
20737
|
}
|
|
20539
20738
|
async handleActiveChange(newActiveValue) {
|
|
20540
20739
|
if (newActiveValue) {
|
|
20541
|
-
this.updatePlacement();
|
|
20740
|
+
setTimeout(() => this.updatePlacement(), 10);
|
|
20542
20741
|
}
|
|
20543
20742
|
else {
|
|
20544
20743
|
setTimeout(() => this.updatePlacement(), 300);
|
|
@@ -20622,6 +20821,9 @@ class DuetTooltipButton {
|
|
|
20622
20821
|
componentWillLoad() {
|
|
20623
20822
|
inheritGlobalTheme(this);
|
|
20624
20823
|
}
|
|
20824
|
+
componentDidLoad() {
|
|
20825
|
+
nudge(this);
|
|
20826
|
+
}
|
|
20625
20827
|
async setFocus(options) {
|
|
20626
20828
|
if (this.buttonElement) {
|
|
20627
20829
|
this.buttonElement.focus(options);
|
|
@@ -20677,11 +20879,23 @@ class DuetTooltipPopup {
|
|
|
20677
20879
|
this.placement = undefined;
|
|
20678
20880
|
this.accessibleCloseLabel = undefined;
|
|
20679
20881
|
}
|
|
20882
|
+
handleActiveChange() {
|
|
20883
|
+
if (this.active) {
|
|
20884
|
+
this.teleport.go();
|
|
20885
|
+
}
|
|
20886
|
+
else {
|
|
20887
|
+
this.teleport.resume(200);
|
|
20888
|
+
}
|
|
20889
|
+
}
|
|
20680
20890
|
/**
|
|
20681
20891
|
* Component lifecycle events.
|
|
20682
20892
|
*/
|
|
20683
20893
|
componentWillLoad() {
|
|
20684
20894
|
inheritGlobalTheme(this);
|
|
20895
|
+
this.teleport = new Teleport(this.element);
|
|
20896
|
+
}
|
|
20897
|
+
componentDidLoad() {
|
|
20898
|
+
nudge(this);
|
|
20685
20899
|
}
|
|
20686
20900
|
async getArrowElement() {
|
|
20687
20901
|
return this.arrowEl;
|
|
@@ -20700,6 +20914,9 @@ class DuetTooltipPopup {
|
|
|
20700
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 }))));
|
|
20701
20915
|
}
|
|
20702
20916
|
get element() { return getElement(this); }
|
|
20917
|
+
static get watchers() { return {
|
|
20918
|
+
"active": ["handleActiveChange"]
|
|
20919
|
+
}; }
|
|
20703
20920
|
static get style() { return duetTooltipPopupCss; }
|
|
20704
20921
|
static get cmpMeta() { return {
|
|
20705
20922
|
"$flags$": 9,
|
|
@@ -20774,6 +20991,9 @@ class DuetTray {
|
|
|
20774
20991
|
inheritGlobalTheme(this);
|
|
20775
20992
|
this.hasAdditionalContent = !!this.element.querySelector("[slot='additional']");
|
|
20776
20993
|
}
|
|
20994
|
+
componentDidLoad() {
|
|
20995
|
+
nudge(this);
|
|
20996
|
+
}
|
|
20777
20997
|
connectedCallback() {
|
|
20778
20998
|
connectLanguageChangeObserver(this, [
|
|
20779
20999
|
{ prop: "accessibleOpenLabel", defaults: "accessibleOpenLabelDefaults" },
|
|
@@ -21836,6 +22056,9 @@ class DuetUpload {
|
|
|
21836
22056
|
this.onReady();
|
|
21837
22057
|
this.externalUploadButton = document.querySelector(`#${this.externalUploadButtonId}`);
|
|
21838
22058
|
}
|
|
22059
|
+
componentDidLoad() {
|
|
22060
|
+
nudge(this);
|
|
22061
|
+
}
|
|
21839
22062
|
componentWillRender() {
|
|
21840
22063
|
// listen to the events from the component
|
|
21841
22064
|
this.verifyValidity();
|
|
@@ -22184,6 +22407,12 @@ class DuetUploadAriaStatus {
|
|
|
22184
22407
|
this.getStatusMessage();
|
|
22185
22408
|
}
|
|
22186
22409
|
}
|
|
22410
|
+
/**
|
|
22411
|
+
* Component lifecycle events.
|
|
22412
|
+
*/
|
|
22413
|
+
componentDidLoad() {
|
|
22414
|
+
nudge(this);
|
|
22415
|
+
}
|
|
22187
22416
|
/**
|
|
22188
22417
|
* render() function
|
|
22189
22418
|
* Always the last one in the class.
|
|
@@ -22191,6 +22420,7 @@ class DuetUploadAriaStatus {
|
|
|
22191
22420
|
render() {
|
|
22192
22421
|
return (hAsync(Host, { role: "status", "aria-live": "assertive", "aria-atomic": "true", "aria-relevant": "all" }, hAsync("duet-visually-hidden", null, this.statusMessage)));
|
|
22193
22422
|
}
|
|
22423
|
+
get element() { return getElement(this); }
|
|
22194
22424
|
static get watchers() { return {
|
|
22195
22425
|
"valid": ["watchHandler"],
|
|
22196
22426
|
"invalid": ["watchHandler"],
|
|
@@ -22261,6 +22491,9 @@ class DuetUploadItem {
|
|
|
22261
22491
|
componentWillLoad() {
|
|
22262
22492
|
inheritGlobalTheme(this);
|
|
22263
22493
|
}
|
|
22494
|
+
componentDidLoad() {
|
|
22495
|
+
nudge(this);
|
|
22496
|
+
}
|
|
22264
22497
|
/**
|
|
22265
22498
|
* focusActionButton.
|
|
22266
22499
|
*/
|
|
@@ -22296,6 +22529,7 @@ class DuetUploadItem {
|
|
|
22296
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) }));
|
|
22297
22530
|
}))));
|
|
22298
22531
|
}
|
|
22532
|
+
get element() { return getElement(this); }
|
|
22299
22533
|
static get cmpMeta() { return {
|
|
22300
22534
|
"$flags$": 0,
|
|
22301
22535
|
"$tagName$": "duet-upload-item",
|
|
@@ -22324,6 +22558,9 @@ class DuetVisuallyHidden {
|
|
|
22324
22558
|
constructor(hostRef) {
|
|
22325
22559
|
registerInstance(this, hostRef);
|
|
22326
22560
|
}
|
|
22561
|
+
componentDidLoad() {
|
|
22562
|
+
nudge(this);
|
|
22563
|
+
}
|
|
22327
22564
|
/**
|
|
22328
22565
|
* render() function
|
|
22329
22566
|
* Always the last one in the class.
|
|
@@ -22331,6 +22568,7 @@ class DuetVisuallyHidden {
|
|
|
22331
22568
|
render() {
|
|
22332
22569
|
return (hAsync(Host, { class: "duet-visually-hidden" }, hAsync("slot", null)));
|
|
22333
22570
|
}
|
|
22571
|
+
get element() { return getElement(this); }
|
|
22334
22572
|
static get style() { return duetVisuallyHiddenCss; }
|
|
22335
22573
|
static get cmpMeta() { return {
|
|
22336
22574
|
"$flags$": 9,
|