Help
RSS
API
Feed
Maltego
Contact
Domain > www.valaire.at
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-02-09
212.172.96.2
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Mon, 09 Feb 2026 18:58:34 GMTServer: ApacheLocation: https://www.valaire.at/Content-Length: 231Content-Type: text/html; charsetiso-8859-1 !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN>html>head>title>301 Moved Permanently/title>/head>body>h1>Moved Permanently/h1>p>The document has moved a hrefhttps://www.valaire.at/>here/a>./p>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Mon, 09 Feb 2026 10:43:51 GMTServer: ApacheStrict-Transport-Security: max-age63072000x-built-with: Hyva ThemesReport-To: {group:report-endpoint,max_age:10886400,endpoints:{url:https:\/\/4b389dcc-7b01-4225-801a-74fac70c5da1.sansec.watch\/}}Content-Security-Policy-Report-Only: font-src fonts.gstatic.com use.typekit.net *.typekit.net *.gstatic.com *.klaviyo.com *.heyflow.cloud *.prd.heyflow.com *.reviews.io *.fontawesome.com self data: data: self unsafe-inline; form-action geostag.cardinalcommerce.com geo.cardinalcommerce.com 1eafstag.cardinalcommerce.com 1eaf.cardinalcommerce.com centinelapistag.cardinalcommerce.com centinelapi.cardinalcommerce.com pilot-payflowlink.paypal.com www.paypal.com www.sandbox.paypal.com *.paypal.com www.apptrian.com facebook.com www.facebook.com connect.facebook.net graph.facebook.com test.saferpay.com www.saferpay.com saferpay.com self unsafe-inline; frame-ancestors *.storyblok.com self; frame-src fast.amc.demdex.net *.adobe.com bid.g.doubleclick.net *.youtube.com *.youtube-nocookie.com geostag.cardinalcommerce.com geo.cardinalcommerce.com 1eafstag.cardinalcommerce.com 1eaf.cardinalcommerce.com centinelapistag.cardinalcommerce.com centinelapi.cardinalcommerce.com www.paypal.com www.sandbox.paypal.com pilot-payflowlink.paypal.com player.vimeo.com https://www.google.com/recaptcha/ *.braintreegateway.com *.paypal.com google.com *.google.com www.apptrian.com facebook.com www.facebook.com connect.facebook.net graph.facebook.com https://www.googletagmanager.com/ test.saferpay.com www.saferpay.com saferpay.com js.mollie.com www.youtube.com self unsafe-inline; img-src assets.adobedtm.com amcglobal.sc.omtrdc.net dpm.demdex.net cm.everesttech.net *.adobe.com widgets.magentocommerce.com data: www.googleadservices.com www.google-analytics.com googleads.g.doubleclick.net www.google.com bid.g.doubleclick.net analytics.google.com www.googletagmanager.com *.ftcdn.net *.behance.net t.paypal.com www.paypal.com www.paypalobjects.com fpdbs.paypal.com fpdbs.sandbox.paypal.com *.vimeocdn.com i.ytimg.com *.youtube.com p.typekit.net *.paypal.com *.typekit.net *.gstatic.com validator.swagger.io www.apptrian.com facebook.com www.facebook.com connect.facebook.net graph.facebook.com https://images.unsplash.com bat.bing.com bat.bing.net *.storyblok.com http://www.googleadservices.com/ http://www.google-analytics.com/ https://www.googleadservices.com/ https://www.google-analytics.com/ https://www.google.com/ test.saferpay.com www.saferpay.com saferpay.com https://*.usercentrics.eu https://userlike-cdn-operators.userlike.com https://static.klaviyo.com https://static-forms.klaviyo.com https://fast.a.klaviyo.com https://static-tracking.klaviyo.com/ https://a.klaviyo.com/ https://telemetrics.klaviyo.com/ magefan.com cm.magefan.com https://www.mollie.com *.hsforms.net *.hsforms.com self data: *.adobedtm.com data: self unsafe-inline; script-src assets.adobedtm.com *.adobe.com www.googleadservices.com www.google-analytics.com googleads.g.doubleclick.net analytics.google.com www.googletagmanager.com *.newrelic.com *.nr-data.net geostag.cardinalcommerce.com 1eafstag.cardinalcommerce.com geoapi.cardinalcommerce.com 1eafapi.cardinalcommerce.com songbird.cardinalcommerce.com includestest.ccdc02.com *.commerce-payment-services.com www.paypal.com www.sandbox.paypal.com www.paypalobjects.com t.paypal.com s.ytimg.com www.googleapis.com vimeo.com www.vimeo.com *.vimeocdn.com *.youtube.com https://www.gstatic.com/recaptcha/ https://www.google.com/recaptcha/ amcglobal.sc.omtrdc.net *.magento-ds.com use.typekit.net *.typekit.net google.com *.google.com *.cdn-apple.com *.braintreegateway.com www.apptrian.com facebook.com www.facebook.com connect.facebook.net graph.facebook.com https://maps.googleapis.com https://js-eu1.hsforms.net/forms/embed/v2.js bat.bing.com bat.bing.net cdn.mouseflow.com *.cloudfront.net *.prd.heyflow.com *.reviews.io *.clarity.ms *.abtasty.com *.storyblok.com http://www.googletagmanager.com/ https://www.googletagmanager.com/ test.saferpay.com www.saferpay.com saferpay.com https://*.usercentrics.eu https://userlike-cdn-widgets.s3-eu-west-1.amazonaws.com https://userlike-cdn-umm.b-cdn.net https://api.userlike.com https://static.klaviyo.com https://static-forms.klaviyo.com https://fast.a.klaviyo.com https://static-tracking.klaviyo.com/ https://a.klaviyo.com/ https://telemetrics.klaviyo.com/ js.mollie.com *.hsforms.net *.hsforms.com *.gstatic.com www.youtube.com player.vimeo.com self unsafe-inline unsafe-eval; style-src *.adobe.com fonts.googleapis.com *.typekit.net *.heyflow.cloud *.prd.heyflow.com *.reviews.io *.storyblok.com https://static.klaviyo.com *.fontawesome.com *.googleapis.com *.gstatic.com self unsafe-inline; object-src self unsafe-inline; media-src *.adobe.com www.apptrian.com facebook.com www.facebook.com connect.facebook.net graph.facebook.com *.storyblok.com http://www.googleadservices.com/ http://www.google-analytics.com/ https://www.googleadservices.com/ https://www.google-analytics.com/ *.amazonaws.com *.googleapis.com *.google.com self unsafe-inline; manifest-src self unsafe-inline; connect-src dpm.demdex.net amcglobal.sc.omtrdc.net www.google-analytics.com www.googleadservices.com analytics.google.com www.googletagmanager.com *.newrelic.com *.nr-data.net vimeo.com geostag.cardinalcommerce.com geo.cardinalcommerce.com 1eafstag.cardinalcommerce.com 1eaf.cardinalcommerce.com centinelapistag.cardinalcommerce.com centinelapi.cardinalcommerce.com www.sandbox.paypal.com www.paypalobjects.com www.paypal.com pilot-payflowlink.paypal.com *.adobe.io performance.typekit.net *.sentry.io *.paypal.com google.com *.google.com *.braintreegateway.com *.braintree-api.com www.apptrian.com facebook.com www.facebook.com connect.facebook.net graph.facebook.com https://maps.googleapis.com https://player.vimeo.com bat.bing.com bat.bing.net *.execute-api.eu-central-1.amazonaws.com *.clarity.ms *.abtasty.com http://stats.g.doubleclick.net/ https://stats.g.doubleclick.net/ http://www.google-analytics.com/ https://www.google-analytics.com/ test.saferpay.com www.saferpay.com saferpay.com https://*.usercentrics.eu https://userlike-cdn-widgets.s3-eu-west-1.amazonaws.com https://api.userlike.com https://static.klaviyo.com https://static-forms.klaviyo.com https://fast.a.klaviyo.com https://static-tracking.klaviyo.com/ https://a.klaviyo.com/ https://telemetrics.klaviyo.com/ t.elasticsuite.io *.hsforms.net *.hsforms.com *.google-analytics.com cdn.plyr.io noembed.com self unsafe-inline; child-src http: https: blob: self unsafe-inline; default-src test.saferpay.com www.saferpay.com saferpay.com *.googleapis.com self unsafe-inline unsafe-eval; base-uri self unsafe-inline; report-uri https://4b389dcc-7b01-4225-801a-74fac70c5da1.sansec.watch/; report-to report-endpoint;X-Content-Type-Options: nosniffX-XSS-Protection: 1; modeblockX-Frame-Options: SAMEORIGINVary: Accept-EncodingX-UA-Compatible: IEedgeX-Frame-Options: SAMEORIGINContent-Security-Policy: frame-ancestors self https://app.storyblok.comContent-Type: text/html; charsetUTF-8Accept-Ranges: bytesPragma: no-cacheExpires: -1Cache-Control: no-cache, must-revalidate, max-age0Content-Length: 372694 !doctype html>html langde>head > meta charsetutf-8/>meta nametitle contentValaire - Medizinische Berufsbekleidung zu guten Preisen - Valaire/>meta namedescription contentValaire: medizinische Berufsbekleidung in richtig guter Qualität zum besten Preis ➤ bestelle jetzt und überzeuge Dich selbst!/>meta namerobots contentINDEX,FOLLOW/>meta nameviewport contentwidthdevice-width, initial-scale1/>title>Valaire - Medizinische Berufsbekleidung zu guten Preisen - Valaire/title>link relstylesheet typetext/css mediaall hrefhttps://www.valaire.at/static/version1767596242/frontend/Basecom/valaire/de_AT/css/styles.css />link relicon typeimage/x-icon hrefhttps://www.valaire.at/static/version1767596242/frontend/Basecom/valaire/de_AT/Magento_Theme/favicon.ico />link relshortcut icon typeimage/x-icon hrefhttps://www.valaire.at/static/version1767596242/frontend/Basecom/valaire/de_AT/Magento_Theme/favicon.ico />link relpreconnect hrefhttps://static.klaviyo.com />link relpreconnect hrefhttps://static-tracking.klaviyo.com />link relpreconnect hrefhttps://www.googletagmanager.com />link relcanonical hrefhttps://www.valaire.at />style>.aw-rbslider-container { margin: 0 auto !important;}/style>!--J9o8Dyyc13f1DjTMXmGkxakOa6jhtGWM--> meta propertyog:type contentwebsite/>meta propertyog:title contentValaire - Medizinische Berufsbekleidung zu guten Preisen/>meta propertyog:description contentValaire: medizinische Berufsbekleidung in richtig guter Qualität zum besten Preis ➤ bestelle jetzt und überzeuge Dich selbst!/>meta propertyog:url contenthttps://www.valaire.at/>meta propertyog:site_name contentValaire/>/head>body idhtml-body classcms-home page-layout-1column cms-index-index page-layout-cms-full-width> !-- Google Tag Manager by MagePal --> noscript>iframe src//www.googletagmanager.com/ns.html?idGTM-WMN57KS6 height0 width0 styledisplay:none;visibility:hidden>/iframe>/noscript> !-- End Google Tag Manager by MagePal --> !-- Start DataLayer by MagePal --> !-- Start DataLayer by MagePal -->input nameform_key typehidden valueq0xkyiptT9tQ7DUR /> noscript> section classmessage global noscript border-b-2 border-blue-500 bg-blue-50 shadow-none m-0 px-0 rounded-none font-normal> div classcontainer text-center> p> strong>JavaScript scheint in Ihrem Browser deaktiviert zu sein./strong> span> Um unsere Website in bester Weise zu erfahren, aktivieren Sie Javascript in Ihrem Browser. /span> /p> /div> /section> /noscript>div classpage-wrapper>header idmain-header classpage-header mb-20 lg:mb-52>a classaction skip sr-only focus:not-sr-only focus:absolute focus:z-40 focus:bg-white contentarea href#contentarea> span> Direkt zum Inhalt /span>/a> div x-datainitKlaviyoCustomerTracking() @private-content-loaded.windowsendCustomerDataToKlaviyo(event.detail.data)>/div>header idheader x-datainitHeader() @private-content-loaded.windowgetData(event.detail.data) @scroll.windowheaderTop (window.pageYOffset > headerShrinkOffset ? false : true) classfixed top-0 z-50 w-full gap-4 transition-shadow bg-container-lighter :classheaderTop ? : shadow-md lg:shadow-lg x-cloak> div classhidden lg:block bg-primary-100> div classcontainer transition-all xl:px-20 :classheaderTop ? py-2 : py-1 x-cloak > div classflex justify-between text-m> div classflex gap-x-1 items-center> svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM19.53 6.47a.75.75 0 0 1 0 1.06l-10 10a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L9 15.94l9.47-9.47a.75.75 0 0 1 1.06 0Z clip-ruleevenodd/>/svg> Bei mindestens 60°C waschbar /div> div classflex gap-x-1 items-center> svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM19.53 6.47a.75.75 0 0 1 0 1.06l-10 10a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L9 15.94l9.47-9.47a.75.75 0 0 1 1.06 0Z clip-ruleevenodd/>/svg> Beste Preise /div> div classflex gap-x-1 items-centert> svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM19.53 6.47a.75.75 0 0 1 0 1.06l-10 10a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L9 15.94l9.47-9.47a.75.75 0 0 1 1.06 0Z clip-ruleevenodd/>/svg> Strapazierfähiges Material /div> div classflex gap-x-1 items-center> svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM19.53 6.47a.75.75 0 0 1 0 1.06l-10 10a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L9 15.94l9.47-9.47a.75.75 0 0 1 1.06 0Z clip-ruleevenodd/>/svg> Zeitloses Design /div> /div> /div>/div> div classrelative container items-center flex justify-between flex-wrap transition :classheaderTop ? px-5 py-5 : px-5 py-5 lg:py-2 x-cloak > a classhidden lg:block font-medium hover:underline hover:underline-offset-8 hrefhttps://www.valaire.at/about-valaire/> Über Valaire /a> nav class z-20 text-onyx-900 navigation lg:hidden x-datainitMenuMobile_6989b25b73ac4() @keydown.escapeopen && closeMenu @click.outsideopen && closeMenu aria-labelMain menu rolenavigation > div classflex items-center justify-center cursor-pointer appearance-none focus:outline-none> button x-refopen-menu-button @clickopenMenu typebutton aria-labelOpen menu :aria-expandedopen aria-haspopupmenu > svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM3.25 12a.75.75 0 0 1 .75-.75h16a.75.75 0 0 1 0 1.5H4a.75.75 0 0 1-.75-.75Zm0-6A.75.75 0 0 1 4 5.25h16a.75.75 0 0 1 0 1.5H4A.75.75 0 0 1 3.25 6Zm0 12a.75.75 0 0 1 .75-.75h16a.75.75 0 0 1 0 1.5H4a.75.75 0 0 1-.75-.75Z clip-ruleevenodd/>/svg> /button> /div> div classbackdrop x-showopen x-transition:enterease-in-out duration-500 x-transition:enter-startopacity-0 x-transition:enter-endopacity-100 x-transition:leaveease-in-out duration-500 x-transition:leave-startopacity-100 x-transition:leave-endopacity-0 @clickcloseMenu @private-content-loaded.windowcheckLoggedInState($event.detail.data) x-cloak >/div> div classfixed z-30 top-0 left-0 w-full h-full bg-container-lighter border-container overflow-y-auto overflow-x-hidden transform transition ease-in-out duration-500 sm:duration-700 :classopen ? translate-x-0 shadow-2xl : -translate-x-full x-refmenu-dialog roledialog aria-modaltrue aria-labelMain menu :aria-hiddenopen ? false : true x-cloak > div x-showopen classabsolute inset-0 pb-16 flex-col :classhasActiveSubmenu ? overflow-y-hidden : overflow-y-auto > div classflex items-center justify-end p-6> button @clickcloseMenu classflex justify-center items-center size-8 aria-labelClose menu typebutton > svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z clip-ruleevenodd/>/svg> /button> /div> div classpx-6> div classborder-b last:border-0> a hrefhttps://www.valaire.at/alle-produkte.html classfont-medium text-base block py-5 relative focus:underline focus:underline-offset-8 data-menumenu-3792 > Alle Produkte /a> /div> div classborder-b last:border-0> a hrefhttps://www.valaire.at/kasacks-kittel.html classfont-medium text-base block py-5 relative focus:underline focus:underline-offset-8 data-menumenu-3793 > Kasacks /a> /div> div classborder-b last:border-0> a hrefhttps://www.valaire.at/arzt-laborkittel.html classfont-medium text-base block py-5 relative focus:underline focus:underline-offset-8 data-menumenu-5327 > Arzt- & Laborkittel /a> /div> div classborder-b last:border-0> a hrefhttps://www.valaire.at/hosen.html classfont-medium text-base block py-5 relative focus:underline focus:underline-offset-8 data-menumenu-3794 > Hosen /a> /div> div classborder-b last:border-0> a hrefhttps://www.valaire.at/polos.html classfont-medium text-base block py-5 relative focus:underline focus:underline-offset-8 data-menumenu-3795 > Shirts /a> /div> div classborder-b last:border-0> a hrefhttps://www.valaire.at/jacken.html classfont-medium text-base block py-5 relative focus:underline focus:underline-offset-8 data-menumenu-3796 > Jacken /a> /div> div classborder-b last:border-0> a hrefhttps://www.valaire.at/sets.html classfont-medium text-base block py-5 relative focus:underline focus:underline-offset-8 data-menumenu-3797 > Spar-Sets /a> /div> /div> /div> /div> /nav> a classno-underline hover:no-underline hrefhttps://www.valaire.at/ aria-labelGo to Home page> svg classblock transition-all :classheaderTop ? w-128px h-30px lg:w-240px lg:h-56px : w-128px h-30px lg:w-176px lg:h-41px x-cloak strokecurrentColor viewBox0 0 753 175 fillnone xmlnshttp://www.w3.org/2000/svg> path dM256.488 129.655L217.65 45.0283H223.513L259.535 124.2L297.411 45.0283H303.042L262.235 129.655H256.488Z fill#222222/> path dM368.656 129.655L355.749 102.874H305.649L292.742 129.655H287.227L328.057 45.0283H333.572L374.403 129.655H368.656ZM330.757 50.4828L307.758 98.2505H353.628L330.745 50.4828H330.757Z fill#222222/> path dM386.604 129.655V45.0283H391.771V125.031H450.201L447.977 129.655H386.604Z fill#222222/> path dM541.594 129.655L528.687 102.874H478.587L465.68 129.655H460.165L500.995 45.0283H506.511L547.341 129.655H541.594ZM503.695 50.4828L480.696 98.2505H526.567L503.684 50.4828H503.695Z fill#222222/> path dM564.234 129.655V45.0283H569.402V129.655H564.234Z fill#222222/> path dM662.429 129.655L640.728 91.6138C638.619 91.8479 636.267 91.965 633.684 91.965H602.006V129.655H596.839V45.0283H634.854C644.633 45.0283 652.106 47.0299 657.262 51.0095C662.43 55.0009 665.002 60.7831 665.002 68.3679C665.002 80.3771 658.71 87.7629 646.116 90.537L668.408 129.655H662.429ZM633.927 87.3415C651.052 87.3415 659.626 80.9858 659.626 68.2626C659.626 55.5393 651.179 49.6518 634.286 49.6518H602.018V87.3415H633.927Z fill#222222/> path dM687.885 129.655V45.0283H751.598V49.6518H693.052V83.5491H748.667V88.1726H693.052V125.031H753L750.776 129.655H687.885Z fill#222222/> path dM77.177 174.696C74.1645 174.696 71.1984 173.9 68.6031 172.378L8.57393 137.357C3.29054 134.267 0 128.52 0 122.363V52.3326C0 46.1641 3.29054 40.417 8.57393 37.3386L68.6146 2.31757C73.898 -0.772524 80.4675 -0.772524 85.7625 2.31757L145.803 37.3269C151.087 40.4053 154.377 46.1641 154.377 52.3209V121.38C154.377 128.145 150.774 134.454 144.969 137.837L85.7625 172.366C83.1672 173.876 80.201 174.684 77.1886 174.684L77.177 174.696ZM77.177 2.3878C74.6164 2.3878 72.0674 3.05498 69.7849 4.38934L9.75575 39.3987C5.20229 42.0557 2.36363 47.0069 2.36363 52.3326V122.363C2.36363 127.677 5.19071 132.64 9.75575 135.297L69.7965 170.318C74.2688 172.928 80.1084 172.928 84.5807 170.318L143.787 135.789C148.862 132.827 152.014 127.314 152.014 121.403V52.3443C152.014 47.0303 149.186 42.0674 144.621 39.4104L84.5691 4.38934C82.2866 3.05498 79.7376 2.3878 77.177 2.3878Z fill#222222/> path dM94.6495 53.8662H90.3162L60.4233 115.82L32.2452 53.8662H27.6338L58.1408 120.35H62.5668L72.7049 99.3046H112.064L122.202 120.35H126.721L94.6379 53.8662H94.6495ZM74.3733 95.6761L92.4365 58.1502L110.407 95.6761H74.3617H74.3733Z fill#222222/> g classhidden lg:block transition-opacity duration-500 :classheaderTop ? lg:opacity-100 : opacity-0 x-cloak > path dM353.941 160.439H356.363L362.214 172.577L368.042 160.439H370.382V174.649H368.494V163.249L362.979 174.649H361.322L355.807 163.389V174.649H353.93V160.439H353.941Z fill#222222/> path dM383.035 160.439H394.228V162.172H384.993V166.456H393.776V168.188H384.993V172.929H394.645L394.309 174.661H383.047V160.451L383.035 160.439Z fill#222222/> path dM406.335 160.439H412.279C414.828 160.439 416.774 161.048 418.142 162.265C419.497 163.483 420.181 165.238 420.181 167.544C420.181 169.85 419.451 171.583 418.002 172.812C416.554 174.041 414.469 174.649 411.769 174.649H406.335V160.439ZM418.153 167.544C418.153 163.963 416.195 162.172 412.279 162.172H408.281V172.917H411.85C413.924 172.917 415.5 172.46 416.554 171.559C417.62 170.646 418.153 169.312 418.153 167.544Z fill#222222/> path dM430.308 160.439H432.254V174.649H430.308V160.439Z fill#222222/> path dM442.971 167.544C442.971 166.046 443.284 164.735 443.909 163.623C444.535 162.511 445.404 161.645 446.539 161.013C447.675 160.381 448.984 160.076 450.502 160.076C454.186 160.076 456.469 161.633 457.338 164.746L455.426 165.051C455.021 163.915 454.43 163.084 453.665 162.581C452.9 162.078 451.846 161.82 450.502 161.82C449.378 161.82 448.393 162.054 447.582 162.523C446.759 162.991 446.122 163.646 445.682 164.501C445.242 165.355 445.01 166.373 445.01 167.532C445.01 168.691 445.23 169.733 445.682 170.587C446.134 171.442 446.771 172.097 447.605 172.554C448.439 173.01 449.424 173.244 450.571 173.244C452.02 173.244 453.144 172.975 453.955 172.448C454.766 171.922 455.299 171.09 455.565 169.967H457.57C457.291 171.594 456.562 172.846 455.368 173.712C454.175 174.579 452.576 175 450.583 175C449.03 175 447.686 174.696 446.551 174.087C445.415 173.478 444.535 172.612 443.921 171.488C443.307 170.365 442.994 169.054 442.994 167.544H442.971Z fill#222222/> path dM468.207 174.649H466.121L472.934 160.439H474.938L481.751 174.649H479.585L477.731 170.728H470.026L468.195 174.649H468.207ZM473.896 162.546L470.779 169.089H477.001L473.884 162.546H473.896Z fill#222222/> path dM491.843 160.439H493.789V172.917H503.012L502.676 174.649H491.843V160.439Z fill#222222/> path dM546.704 160.439H548.848L544.016 174.649H541.85L537.968 162.944L534.064 174.649H531.978L527.146 160.439H529.371L533.079 172.203L536.983 160.521H539.069L542.985 172.238L546.693 160.439H546.704Z fill#222222/> path dM559.009 160.439H570.201V162.172H560.967V166.456H569.749V168.188H560.967V172.929H570.618L570.282 174.661H559.02V160.451L559.009 160.439Z fill#222222/> path dM581.243 174.649H579.157L585.97 160.439H587.974L594.787 174.649H592.621L590.767 170.728H583.062L581.231 174.649H581.243ZM586.943 162.546L583.827 169.089H590.048L586.932 162.546H586.943Z fill#222222/> path dM604.88 160.439H611.438C615.064 160.439 616.872 161.856 616.872 164.7C616.872 166.631 615.945 167.907 614.091 168.504L617.613 174.649H615.365L612.11 168.902C612.005 168.914 611.878 168.926 611.75 168.926H606.78V174.661H604.868V160.451L604.88 160.439ZM614.856 164.653C614.856 163.775 614.578 163.143 614.021 162.757C613.465 162.371 612.562 162.172 611.31 162.172H606.803V167.181H611.275C613.662 167.181 614.856 166.339 614.856 164.653Z fill#222222/> path dM332.622 166.607H299.774V168.48H332.622V166.607Z fill#222222/> path dM670.898 166.607H638.051V168.48H670.898V166.607Z fill#222222/> /g> /svg> /a> div classflex items-center gap-2 sm:gap-4> button typebutton idmenu-search-icon classrounded-sm p-1 hover:bg-primary-100 hover:text-primary-AAA outline-offset-2 transition-colors duration-200 aria-labelToggle search form aria-haspopuptrue x-refsearchButton :aria-expandedsearchOpen @clicksearchOpen !searchOpen; $dispatch(search-open); @keydown.escapesearchOpen false > svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM9.396 3.23c-3.402 0-6.17 2.779-6.17 6.217 0 3.439 2.768 6.218 6.17 6.218 3.403 0 6.17-2.78 6.17-6.218S12.799 3.23 9.396 3.23Zm-7.67 6.217c0-4.257 3.43-7.717 7.67-7.717s7.67 3.46 7.67 7.717a7.716 7.716 0 0 1-1.32 4.33l5.334 5.372c.595.6.717 1.64.057 2.305l-.362.364c-.654.66-1.698.565-2.307-.06l-5.462-5.5a7.597 7.597 0 0 1-3.61.907c-4.24 0-7.67-3.46-7.67-7.718Zm12.547 5.957 5.27 5.307a.185.185 0 0 0 .123.06c.017 0 .03-.002.036-.005a.022.022 0 0 0 .008-.005l.363-.364v-.001l.003-.006a.113.113 0 0 0 .005-.042.221.221 0 0 0-.066-.142l-5.23-5.267a7.722 7.722 0 0 1-.512.465ZM8.646 4.88a.75.75 0 0 1 .75-.75c2.926 0 5.287 2.385 5.287 5.318a.75.75 0 1 1-1.5 0c0-2.114-1.7-3.818-3.787-3.818a.75.75 0 0 1-.75-.75Z clip-ruleevenodd/>/svg> /button> div idsearch-content classz-30 absolute top-16 lg:top-24 inset-x-0 max-w-screen-sm ml-auto x-cloak x-showsearchOpen @click.outsidesearchOpen false @keydown.escapesearchOpen false; $refs.searchButton.focus() > div idsearch-content x-showtrue> div x-datainitMiniSearchComponent()> div x-cloak classfixed inset-0 bg-gradient-to-b from-transparent to-black/30 z-10 :classshow && searchable ? block : hidden>/div> form classform minisearch relative w-full idsearch_mini_form actionhttps://www.valaire.at/catalogsearch/result/ methodget @keydown.window.escapeshow false @click.awayshow false @submittrackSubmitSearch() rolesearch> div classp-2 shadow-md lg:shadow-lg bg-white relative z-10 flex items-center> label classsr-only forsearch> Artikelsuche / Bestellnummer /label> input idsearch x-on:input.debouncegetSearchResults() x-refsearchInput typesearch classw-full text-m leading-normal transition appearance-none text-grey-900 border border-gray-500 focus:border-gray-500 focus:ring-0 focus:outline-none placeholder:text-gray-AAA autocapitalizeoff autocompleteoff autocorrectoff nameq value placeholderArtikelsuche / Bestellnummer maxlength128 @search-open.window.debounce.10 $el.focus(); $el.select(); @focusgetSearchResults() /> button typesubmit nameenter_button titleSuche classaction search absolute right-2 mr-px w-10.5 h-10 flex justify-center opacity-20 lg:opacity-30 bg-primary-300 hover:bg-primary-100 transition-colors duration-300 ease-in-out aria-labelSearch :class{!opacity-100: searchable } x-cloak > svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 classsize-6 m-auto hover:text-black roleimg> path fillcurrentColor fill-ruleevenodd dM9.396 3.23c-3.402 0-6.17 2.779-6.17 6.217 0 3.439 2.768 6.218 6.17 6.218 3.403 0 6.17-2.78 6.17-6.218S12.799 3.23 9.396 3.23Zm-7.67 6.217c0-4.257 3.43-7.717 7.67-7.717s7.67 3.46 7.67 7.717a7.716 7.716 0 0 1-1.32 4.33l5.334 5.372c.595.6.717 1.64.057 2.305l-.362.364c-.654.66-1.698.565-2.307-.06l-5.462-5.5a7.597 7.597 0 0 1-3.61.907c-4.24 0-7.67-3.46-7.67-7.718Zm12.547 5.957 5.27 5.307a.185.185 0 0 0 .123.06c.017 0 .03-.002.036-.005a.022.022 0 0 0 .008-.005l.363-.364v-.001l.003-.006a.113.113 0 0 0 .005-.042.221.221 0 0 0-.066-.142l-5.23-5.267a7.722 7.722 0 0 1-.512.465ZM8.646 4.88a.75.75 0 0 1 .75-.75c2.926 0 5.287 2.385 5.287 5.318a.75.75 0 1 1-1.5 0c0-2.114-1.7-3.818-3.787-3.818a.75.75 0 0 1-.75-.75Z clip-ruleevenodd/>title>magnifying-glass/title>/svg> /button> button typebutton nameclear_button titleLöschen classaction search absolute right-14 w-10.5 h-10 flex justify-center hover:text-red-600 transition-colors duration-300 ease-in-out aria-labelClear x-showshowClearButton x-cloak @clickclearSearchInput() > svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 classsize-4 m-auto roleimg> path fillcurrentColor fill-ruleevenodd dM5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z clip-ruleevenodd/>title>x/title>/svg> /button> /div> div idsearch_autocomplete classsearch-autocomplete relative w-full x-showshow styledisplay:none; > div classabsolute top-0 2xl:left-0 shadow-md lg:shadow-lg bg-white z-50 w-full> div classmax-h-calc(100dvh-10rem) lg:max-h-calc(100dvh-20rem) overflow-y-auto scrollbar-md flex flex-wrap> template x-forsearchResultByType in Object.values(searchResultsByType)> div classpx-3 sm:px-6 mb-4 x-bind:class{ order-1 w-full sm:border-b border-gray-500 : searchResultByType0.type product, order-2 w-full sm:border-b border-gray-500 pb-4 : searchResultByType0.type product_attribute, order-3 flex-auto w-full sm:w-auto sm:flex-1_0_50% : searchResultByType0.type category, order-4 flex-auto w-full sm:w-auto sm:flex-1_0_50% border-t sm:border-t-0 sm:border-l -ml-px border-gray-500 : searchResultByType0.type term }> template x-ifsearchResultByType.hasOwnProperty(0) && templatessearchResultByType0.type.title && templatessearchResultByType0.type.titleRenderer undefined> div classfont-medium pt-4 pb-2 sm:pb-4 text-lg sm:border-b border-gray-500 x-texttemplatessearchResultByType0.type.title>/div> /template> template x-ifsearchResultByType.hasOwnProperty(0) && templatessearchResultByType0.type.titleRenderer ! undefined> div classfont-medium pt-4 pb-2 sm:pb-4 text-lg sm:border-b border-gray-500 x-textwindowtemplatessearchResultByType0.type.titleRenderer(searchResultByType)>/div> /template> template x-forsearchResult in searchResultByType> div> template x-ifsearchResult.type term> div classpy-1> a classgroup w-full grid grid-cols-1fr,1.5rem gap-x-4 py-2.5 transition-colors x-bind:hrefhttps://www.valaire.at/catalogsearch/result/?q + searchResult.title @clicktrackSubmitSearch() :titlesearchResult.title > div> span classfont-bold group-hover:text-primary transition-colors x-textsearchResult.title>/span> span x-text( + searchResult.num_results + )>/span> /div> svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 classsize-6 group-hover:text-primary transition-colors roleimg> path fillcurrentColor fill-ruleevenodd dM4 11.75a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5h-14a.75.75 0 0 1-.75-.75Z clip-ruleevenodd/> path fillcurrentColor fill-ruleevenodd dM11.22 4.22a.75.75 0 0 1 1.06 0l7 7a.75.75 0 0 1 0 1.06l-7 7a.75.75 0 1 1-1.06-1.06l6.47-6.47-6.47-6.47a.75.75 0 0 1 0-1.06Z clip-ruleevenodd/>title>arrow-right/title>/svg> /a> /div>/template> template x-ifsearchResult.type product> div class-mt-px sm:border-t border-gray-500 py-0.5 sm:py-2> a classgroup w-full grid grid-cols-4rem_1fr_1.5rem gap-x-4 p-2.5 sm:p-1 sm:pr-2.5 :hrefsearchResult.url @clicktrackSubmitSearch() > div> img :srcsearchResult.image width64 height80 classinline-block w-16 h-auto/> /div> div classmin-w-0 pt-1 flex flex-col> span classgroup-hover:text-primary-600 text-base font-bold transition-colors x-textsearchResult.title>/span> div classtext-m x-htmlconvertSku(searchResult.sku)>/div> span classtext-m x-htmlsearchResult.price>/span> /div> div classh-full flex items-center> svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 classsize-6 group-hover:text-primary-600 transition-colors roleimg> path fillcurrentColor fill-ruleevenodd dM4 11.75a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5h-14a.75.75 0 0 1-.75-.75Z clip-ruleevenodd/> path fillcurrentColor fill-ruleevenodd dM11.22 4.22a.75.75 0 0 1 1.06 0l7 7a.75.75 0 0 1 0 1.06l-7 7a.75.75 0 1 1-1.06-1.06l6.47-6.47-6.47-6.47a.75.75 0 0 1 0-1.06Z clip-ruleevenodd/>title>arrow-right/title>/svg> /div> /a> /div>/template> template x-ifsearchResult.type category> div class-mt-px border-t border-gray-500 py-0.5 sm:py-2> a classgroup w-full grid grid-cols-1fr_1.5rem gap-x-4 py-2.5 items-center transition-colors :hrefsearchResult.url :titlesearchResult.title @clicktrackSubmitSearch() > div> span classblock group-hover:text-primary transition-colors x-textsearchResult.title>/span> /div> svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 classsize-6 group-hover:text-primary transition-colors roleimg> path fillcurrentColor fill-ruleevenodd dM4 11.75a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5h-14a.75.75 0 0 1-.75-.75Z clip-ruleevenodd/> path fillcurrentColor fill-ruleevenodd dM11.22 4.22a.75.75 0 0 1 1.06 0l7 7a.75.75 0 0 1 0 1.06l-7 7a.75.75 0 1 1-1.06-1.06l6.47-6.47-6.47-6.47a.75.75 0 0 1 0-1.06Z clip-ruleevenodd/>title>arrow-right/title>/svg> /a> /div>/template> template x-ifsearchResult.type product_attribute> a classpy-2 inline-flex hover:text-primary transition-colors :hrefsearchResult.url :titlesearchResult.attribute_label @clicktrackSubmitSearch() > span classtext-sm x-textsearchResult.title>/span> /a>/template> template x-ifsearchResult.type cms_page>a classw-full block p-2 :hrefsearchResult.url :titlesearchResult.title>span classtext-sm x-textsearchResult.title>/span>/a>/template> /div> /template> /div> /template> div classsticky bottom-0 order-8 h-12 w-full items-center justify-center bg-white border-t border-gray-200 :classshow && searchable ? flex : hidden > button classbtn btn-size-sm btn-secondary typesubmit nameview_all value> Alle Ergebnisse anzeigen svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 classsize-6 ml-2 roleimg> path fillcurrentColor fill-ruleevenodd dM4 11.75a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5h-14a.75.75 0 0 1-.75-.75Z clip-ruleevenodd/> path fillcurrentColor fill-ruleevenodd dM11.22 4.22a.75.75 0 0 1 1.06 0l7 7a.75.75 0 0 1 0 1.06l-7 7a.75.75 0 1 1-1.06-1.06l6.47-6.47-6.47-6.47a.75.75 0 0 1 0-1.06Z clip-ruleevenodd/>title>arrow-right/title>/svg> /button> /div> /div> /div> /div> /form> /div>/div> /div> div classrelative inline-block x-data{ open: false } @keyup.escapeopen false @click.outsideopen false> button typebutton idcustomer-menu classblock rounded-sm p-1 hover:bg-primary-100 hover:text-primary-AAA outline-offset-2 transition-colors duration-200 @clickopen !open :aria-expandedopen ? true : false aria-labelMein Konto aria-haspopuptrue > svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM11.834 3.23a3.75 3.75 0 1 0 0 7.5 3.75 3.75 0 0 0 0-7.5Zm-5.25 3.75a5.25 5.25 0 1 1 10.5 0 5.25 5.25 0 0 1-10.5 0Zm1.114 4.9a.75.75 0 0 1 .796.095A5.519 5.519 0 0 0 12 13.227a5.52 5.52 0 0 0 3.506-1.252.75.75 0 0 1 .795-.096c3.536 1.679 5.985 5.368 5.985 9.641a.75.75 0 0 1-.75.75H2.464a.75.75 0 0 1-.75-.75c0-4.263 2.44-7.952 5.984-9.64Zm8.361 1.558A7.008 7.008 0 0 1 12 14.727a7.008 7.008 0 0 1-4.058-1.29c-2.605 1.413-4.448 4.136-4.699 7.333h17.514c-.252-3.205-2.1-5.928-4.698-7.332Z clip-ruleevenodd/>/svg> /button> nav classabsolute min-w-40 right-0 z-10 py-2 mt-2 -mr-9 px-0.5 origin-top-right overflow-hidden shadow-lg lg:mt-3 bg-white x-cloak x-showopen x-transition aria-labelledbycustomer-menu > a idcustomer.header.sign.in.link classblock text-m underline decoration-transparent underline-offset-8 whitespace-nowrap hover:text-primary-600 hover:decoration-primary-600 px-4 py-2 lg:px-5 lg:py-2 onclickhyva.setCookie && hyva.setCookie( login_redirect, window.location.href, 1 ) hrefhttps://www.valaire.at/customer/account/index/ titleAnmelden> Anmelden/a> a idcustomer.header.register.link classblock text-m underline decoration-transparent underline-offset-8 whitespace-nowrap hover:text-primary-600 hover:decoration-primary-600 px-4 py-2 lg:px-5 lg:py-2 hrefhttps://www.valaire.at/customer/account/create/ titleKonto anlegen > Konto anlegen /a> /nav>/div> button idmenu-cart-icon classrelative inline-block rounded-sm p-1 hover:bg-primary-100 hover:text-primary-AAA outline-offset-2 transition-colors duration-200 x-refcartButton :aria-disabledisCartEmpty() :aria-label` Toggle minicart, ${isCartEmpty() ? Der Warenkorb ist leer : cart.summary_count > 1 ? hyva.str(%1 Artikel, cart.summary_count) : hyva.str(%1 item, cart.summary_count) }` @click.prevent.stop() > { $dispatch(toggle-cart, { isOpen: true }) } @toggle-cart.windowtoggleCart($event) :aria-expandedisCartOpen aria-haspopupdialog > svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM12.136 2.75c-1.55 0-2.75 1.194-2.75 2.6v1.987h5.5V5.349c0-1.405-1.199-2.599-2.75-2.599Zm4.25 4.587V5.349c0-2.295-1.933-4.099-4.25-4.099-2.316 0-4.25 1.804-4.25 4.1v1.987H5.068a.75.75 0 0 0-.748.693L3.252 21.943A.75.75 0 0 0 4 22.75h16a.75.75 0 0 0 .748-.808L19.677 8.03a.75.75 0 0 0-.748-.692h-2.543Zm-1.5 1.5v2.038a.75.75 0 0 0 1.5 0V8.837h1.849l.955 12.413H4.81l.952-12.413h2.124v2.038a.75.75 0 0 0 1.5 0V8.837h5.5Z clip-ruleevenodd/>/svg> span x-textcart.summary_count x-show!isCartEmpty() x-cloak classabsolute -top-2 -right-2 px-2 py-0.5 rounded-full bg-primary-AA text-white text-sm font-semibold leading-none text-center uppercase tabular-nums aria-hiddentrue >/span> /button> /div> /div> div classrelative hidden lg:flex w-full justify-center after:content- after:z-0 after:absolute after:w-full after:h-0.5 after:bg-gray-900 :classheaderTop ? py-4 after:top-30px : py-2 after:top-23px x-cloak > div x-datainitTopmenuDesktop_6989b25b7f7fd() class bg-white z-10 px-12 @load.windowsetActiveMenu($root) > nav aria-labelMain menu> ul classrelative flex gap-x-6 xl:gap-x-12> li classsnowdog-top-link snowdog-menu-top-link menu-level-0 data-level0 > div classgroup top-group> a hrefhttps://www.valaire.at/alle-produkte.html classunderline decoration-transparent hover:decoration-gray-AAA duration-300 transition-colors :classheaderTop ? underline-offset-8 : underline-offset-4 x-cloak data-menumenu-3792 > Alle Produkte/a> /div> /li> li classsnowdog-top-link snowdog-menu-top-link menu-level-0 data-level0 > div classgroup top-group> a hrefhttps://www.valaire.at/kasacks-kittel.html classunderline decoration-transparent hover:decoration-gray-AAA duration-300 transition-colors :classheaderTop ? underline-offset-8 : underline-offset-4 x-cloak data-menumenu-3793 > Kasacks/a> /div> /li> li classsnowdog-top-link snowdog-menu-top-link menu-level-0 data-level0 > div classgroup top-group> a hrefhttps://www.valaire.at/arzt-laborkittel.html classunderline decoration-transparent hover:decoration-gray-AAA duration-300 transition-colors :classheaderTop ? underline-offset-8 : underline-offset-4 x-cloak data-menumenu-5327 > Arzt- & Laborkittel/a> /div> /li> li classsnowdog-top-link snowdog-menu-top-link menu-level-0 data-level0 > div classgroup top-group> a hrefhttps://www.valaire.at/hosen.html classunderline decoration-transparent hover:decoration-gray-AAA duration-300 transition-colors :classheaderTop ? underline-offset-8 : underline-offset-4 x-cloak data-menumenu-3794 > Hosen/a> /div> /li> li classsnowdog-top-link snowdog-menu-top-link menu-level-0 data-level0 > div classgroup top-group> a hrefhttps://www.valaire.at/polos.html classunderline decoration-transparent hover:decoration-gray-AAA duration-300 transition-colors :classheaderTop ? underline-offset-8 : underline-offset-4 x-cloak data-menumenu-3795 > Shirts/a> /div> /li> li classsnowdog-top-link snowdog-menu-top-link menu-level-0 data-level0 > div classgroup top-group> a hrefhttps://www.valaire.at/jacken.html classunderline decoration-transparent hover:decoration-gray-AAA duration-300 transition-colors :classheaderTop ? underline-offset-8 : underline-offset-4 x-cloak data-menumenu-3796 > Jacken/a> /div> /li> li classsnowdog-top-link snowdog-menu-top-link menu-level-0 data-level0 > div classgroup top-group> a hrefhttps://www.valaire.at/sets.html classunderline decoration-transparent hover:decoration-gray-AAA duration-300 transition-colors :classheaderTop ? underline-offset-8 : underline-offset-4 x-cloak data-menumenu-3797 > Spar-Sets/a> /div> /li> /ul> /nav> /div> /div> section x-cloak x-showcart idcart-drawer x-datainitCartDrawer() @private-content-loaded.windowgetData($event.detail.data) @toggle-cart.windowtoggleCartDrawer($event) @keydown.escapecloseCartDrawer> template x-ifcart && cart.summary_count> div roledialog aria-labelledbycart-drawer-title aria-modaltrue :aria-hidden!open classfixed inset-y-0 right-0 z-30 flex max-w-full> div classbackdrop x-showopen x-transition:enterease-in-out duration-500 x-transition:enter-startopacity-0 x-transition:enter-endopacity-100 x-transition:leaveease-in-out duration-500 x-transition:leave-startopacity-100 x-transition:leave-endopacity-0 rolebutton @clickcloseCartDrawer aria-labelClose minicart>/div> div classrelative w-screen h-full max-w-md bg-white bg-shadow-2xl x-showopen x-transition:entertransform transition ease-in-out duration-500 sm:duration-700 x-transition:enter-starttranslate-x-full x-transition:enter-endtranslate-x-0 x-transition:leavetransform transition ease-in-out duration-500 sm:duration-700 x-transition:leave-starttranslate-x-0 x-transition:leave-endtranslate-x-full x-refcartDialogContent roleregion :tabindexopen ? 0 : -1 aria-labelMein Warenkorb > div classflex flex-col h-full max-h-screen bg-white> div classrelative px-4 py-6 sm:px-6> header classflex justify-start lg:text-base items-center pb-4 mb-4 border-b border-gray-600> div idcart-drawer-title classtext-center font-semibold> template template x-ifcart.summary_count 1> span>Mein Warenkorb (1 Artikel)/span> /template> template x-ifcart.summary_count ! 1> span> Mein Warenkorb (span x-textcart.summary_count>/span> Artikel) /span> /template> template x-ifmaxItemsToDisplay && maxItemsToDisplay itemsCount> span classitems-total x-textgetItemCountTitle()>/span> /template> /div> /header> /div> template x-if!itemsCount> div classrelative px-4 py-6 bg-white border-bs sm:px-6 border-container> Der Warenkorb ist leer /div> /template> template x-ifitemsCount> div classrelative grid px-6 gap-4 overflow-y-auto bg-white> template x-foritem in cartItems> div classflex flex-row pb-4 justify-between border-b border-container> div classflex grow items-start space-x-4 transition duration-150 ease-in-out> a :hrefitem.product_url classw-1/4> img :srcitem.product_image.src :widthitem.product_image.width :heightitem.product_image.height classp-0 :althyva.strf(Product\u0020\u0022\u00250\u0022, item.product_name) loadinglazy /> /a> div classw-3/4 space-y-1> div> p classfont-semibold text-base -mt-1> span x-htmlitem.product_name>/span> /p> p classtext-sm>span x-htmlitem.product_sku>/span>/p> /div> div classtext-gray-800> template x-foroption in item.options> span classcapitalize border-r border-gray-500 pr-2 mr-2 last:border-0 x-textoption.value>/span> /template> /div> div classtable> div classtable-row> span classtable-cell font-semibold>Preis:/span> span classtable-cell pl-1 x-htmlitem.product_price>/span> /div> /div> /div> /div> /div> /template> /div> /template> template x-ifitemsCount> div> div classflex flex-col sticky bottom-0 pt-2 bg-white px-6> div classw-full flex justify-end mt-4> span>zzgl. Versandkosten/span> /div> div classw-full flex justify-between font-bold mb-4> span>Zwischensumme:/span> span x-htmlcart.subtotal>/span> /div> div classflex flex-wrap gap-4 w-full pb-2> a @click.prevent.stop$dispatch(toggle-authentication, {url: https://www.valaire.at/checkout/}); hrefhttps://www.valaire.at/checkout/ classw-full btn btn-primary btn-size-sm lg:btn-size-lg> Zur Kasse /a> a hrefhttps://www.valaire.at/checkout/cart/ classw-full text-center btn btn-tertiary btn-size-sm lg:btn-size-lg> Warenkorb ansehen /a> /div> div x-htmlgetSectionDataExtraActions()>/div> /div> /div> /template> /div> button typebutton @clickcloseCartDrawer aria-labelClose minicart classabsolute top-0 right-0 p-4 mt-2 text-gray-900 transition-colors hover:text-black > svg xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width2 strokecurrentColor width24 height24 aria-hiddentrue> path stroke-linecapround stroke-linejoinround dM6 18L18 6M6 6l12 12/>/svg> /button> /div> div classz-50 fixed inset-0 grid place-items-center bg-white/70 text-slate-800 x-cloak x-showisLoading x-transition.opacity.duration.200ms> div classflex gap-10 items-center p-4> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 57 57 width57 height57 fillnone strokecurrentColor stroke-width2 aria-hiddentrue> style> @keyframes spinner-ball-triangle1 { 0% { transform: translate(0%, 0%); } 33% { transform: translate(38%, -79%); } 66% { transform: translate(77%, 0%); } 100% { transform: translate(0%, 0%); } } @keyframes spinner-ball-triangle2 { 0% { transform: translate(0%, 0%); } 33% { transform: translate(38%, 79%); } 66% { transform: translate(-38%, 79%); } 100% { transform: translate(0%, 0%); } } @keyframes spinner-ball-triangle3 { 0% { transform: translate(0%, 0%); } 33% { transform: translate(-77%, 0%); } 66% { transform: translate(-38%, -79%); } 100% { transform: translate(0%, 0%); } } /style> circle cx5 cy50 r5 styleanimation: spinner-ball-triangle1 2.2s linear infinite/> circle cx27 cy5 r5 styleanimation: spinner-ball-triangle2 2.2s linear infinite/> circle cx49 cy50 r5 styleanimation: spinner-ball-triangle3 2.2s linear infinite/>/svg> span classtext-xl select-none> Laden... /span> /div>/div> /div> /template>/section> section idauthentication-popup x-datainitAuthentication @private-content-loaded.windowonPrivateContentLoaded @toggle-authentication.windowredirectIfAuthenticated @keydown.window.escapeclose> div classbackdrop aria-hiddentrue x-cloak x-showopen x-transition:enterease-in-out duration-500 x-transition:enter-startopacity-0 x-transition:enter-endopacity-100 x-transition:leaveease-in-out duration-500 x-transition:leave-startopacity-100 x-transition:leave-endopacity-0 @clickclose >/div> div roledialog aria-modaltrue @click.outsideclose classinset-y-0 right-0 z-30 flex max-w-full fixed x-cloak x-showopen > div classrelative w-screen max-w-md pt-16 bg-container-lighter x-showopen x-cloak x-transition:entertransform transition ease-in-out duration-500 sm:duration-700 x-transition:enter-starttranslate-x-full x-transition:enter-endtranslate-x-0 x-transition:leavetransform transition ease-in-out duration-500 sm:duration-700 x-transition:leave-starttranslate-x-0 x-transition:leave-endtranslate-x-full > div x-showopen x-cloak x-transition:enterease-in-out duration-500 x-transition:enter-startopacity-0 x-transition:enter-endopacity-100 x-transition:leaveease-in-out duration-500 x-transition:leave-startopacity-100 x-transition:leave-endopacity-0 classabsolute top-0 right-2 flex p-2 mt-2> button typebutton @clickclose aria-labelPanel schließen classp-2 text-gray-300 transition duration-150 ease-in-out hover:text-black > svg xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width2 strokecurrentColor width24 height24 aria-hiddentrue> path stroke-linecapround stroke-linejoinround dM6 18L18 6M6 6l12 12/>/svg> /button> /div> template x-ifopen> div classflex flex-col h-full py-6 space-y-6 bg-white shadow-xl overflow-y-auto> div classmx-4> div classmessage error mb-0 x-showerrors x-cloak> template x-for(message, index) in errorMessages :keyindex> div> template x-ifmessage> span x-htmlmessage>/span> /template> /div> /template> /div> /div> div classblock-customer-login bg-container border border-container mx-4 p-4 shadow-sm> p idauthenticate-customer-login classtext-lg leading-7 text-gray-900> strong classfont-medium>Auschecken über Ihr Konto/strong> /p> form classform form-login methodpost @submit.preventsubmitForm idlogin-form > div classfieldset login> div classfield email required> label classlabel forform-login-username formlogin-form > span>E-Mail-Adresse/span> /label> div classcontrol> input nameusername idform-login-username x-refcustomer-email @changeresetErrors typeemail required autocompleteoff classform-input > /div> /div> div classfield password required> label forform-login-password classlabel formlogin-form> span>Passwort/span> /label> div classcontrol> input namepassword idform-login-password typepassword classform-input required x-refcustomer-password autocompleteoff @changeresetErrors > /div> /div> input namecontext typehidden valuecheckout> div classactions-toolbar pt-6 pb-2> button typesubmit classinline-flex btn btn-primary disabled:opacity-75 > Anmelden /button> a hrefhttps://www.valaire.at/customer/account/forgotpassword/ > Passwort vergessen? /a> /div> /div> /form> /div> div classmx-4> /div> div classblock-new-customer bg-container border border-container mx-4 p-4 shadow-sm> p idauthenticate-new-customer classtext-lg mb-2 leading-7 text-gray-900> strong classfont-medium>Als Neukunde auschecken/strong> /p> div classblock-content> p classmb-1> Ein Konto zu erstellen hat viele Vorteile: /p> ul classlist-disc pl-5> li> Bestellungen und Sendungen verfolgen/li> li> Alte Bestellungen einsehen/li> li> Schneller zur Kasse gehen/li> /ul> div classactions-toolbar mt-6 mb-2> a hrefhttps://www.valaire.at/customer/account/create/ classinline-flex btn btn-primary> Ein Konto erstellen /a> /div> /div> /div> /div> /template> /div> /div>/section> /header>/header>main idmaincontent classpage-main-full-width>div idcontentarea tabindex-1>/div>div classpage messages>section idmessages x-datainitMessages x-bindeventListeners aria-liveassertive rolealert> template x-ifhasMessages> div classw-full> div classmessages container mx-auto space-y-2> template x-for(message, index) in messages :keyindex> div> template x-ifhasMessage> div classmessage :classmessage.type :ui-idgetMessageUiId > div classflex justify-start items-start p-3 gap-3> template x-ifmessageSuccess> svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 classtext-inherit shrink-0 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM19.53 6.47a.75.75 0 0 1 0 1.06l-10 10a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L9 15.94l9.47-9.47a.75.75 0 0 1 1.06 0Z clip-ruleevenodd/>/svg> /template> template x-ifmessageErr> svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 classtext-inherit shrink-0 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM12 2.75a9.25 9.25 0 1 0 0 18.5 9.25 9.25 0 0 0 0-18.5ZM1.25 12C1.25 6.063 6.063 1.25 12 1.25S22.75 6.063 22.75 12 17.937 22.75 12 22.75 1.25 17.937 1.25 12Z clip-ruleevenodd/> path fillcurrentColor fill-ruleevenodd dM12 7.25a.75.75 0 0 1 .75.75v5a.75.75 0 0 1-1.5 0V8a.75.75 0 0 1 .75-.75ZM11.25 16a.75.75 0 0 1 .75-.75h.01a.75.75 0 0 1 0 1.5H12a.75.75 0 0 1-.75-.75Z clip-ruleevenodd/>/svg> /template> template x-ifmessageInfo> svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 classtext-inherit shrink-0 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM12 2.75a9.25 9.25 0 1 0 0 18.5 9.25 9.25 0 0 0 0-18.5ZM1.25 12C1.25 6.063 6.063 1.25 12 1.25S22.75 6.063 22.75 12 17.937 22.75 12 22.75 1.25 17.937 1.25 12Z clip-ruleevenodd/> path fillcurrentColor fill-ruleevenodd dM12 11.25a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0v-4a.75.75 0 0 1 .75-.75ZM11.25 8a.75.75 0 0 1 .75-.75h.01a.75.75 0 0 1 0 1.5H12a.75.75 0 0 1-.75-.75Z clip-ruleevenodd/>/svg> /template> template x-ifmessageWarn> svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewBox0 0 24 24 classtext-inherit shrink-0 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM12 2.75a9.25 9.25 0 1 0 0 18.5 9.25 9.25 0 0 0 0-18.5ZM1.25 12C1.25 6.063 6.063 1.25 12 1.25S22.75 6.063 22.75 12 17.937 22.75 12 22.75 1.25 17.937 1.25 12Z clip-ruleevenodd/> path fillcurrentColor fill-ruleevenodd dM12 11.25a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0v-4a.75.75 0 0 1 .75-.75ZM11.25 8a.75.75 0 0 1 .75-.75h.01a.75.75 0 0 1 0 1.5H12a.75.75 0 0 1-.75-.75Z clip-ruleevenodd/>/svg> /template> span classtext-m x-htmlmessage.text>/span> /div> button typebutton classm-auto mr-0 shrink-0 text-inherit size-12 rounded-r-sm flex justify-center items-center hover:bg-white transition-colors duration-300 focus:bg-primary-300/70 focus:outline-none focus:ring-2 focus:ring-opacity-70 aria-labelClose message @click.preventremoveMessage > svg xmlnshttp://www.w3.org/2000/svg width18 height18 fillnone viewBox0 0 24 24 classsize-8 m-auto aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z clip-ruleevenodd/>/svg> /button> /div> /template> /div> /template> /div> /div> /template>/section>/div>div classcolumns>div classcolumn main>div data-content-typehtml data-appearancedefault data-elementmain data-decodedtrue>div classblock mt-0 lg:mt-12>div classcontainer block mb-24 overflow-hidden stylebackground-color: #B2D2C7> div classflex flex-col md:flex-row items-stretch justify-between lg:px-10> div classw-full md:w-1/2 relative z-10 order-2 py-12 md:order-1 md:pr-4 flex flex-col justify-center items-start> h1 classtext-xl sm:text-2xl md:text-3xl lg:text-4xl xl:text-5xl font-normal> Valaire. br>Richtig gute Qualität br>zu richtig guten Preisen. /h1> p classtext-m sm:text-base mt-6 font-medium before:content- before:block before:w-14 before:h-2 before:bg-gray-950 before:mb-6> Valaire Medical Wear. Dein neuer Shop für bequeme und langlebige Berufsbekleidung in zeitlosem Stil. /p> a href/alle-produkte.html classbtn btn-secondary mt-6 inline-flex> Entdecke unsere Styles /a> /div> div classw-full md:w-1/2 order-1 relative md:max-w-md xl:max-w-lg mx-auto mt-12 md:my-16 px-1 sm:px-6 md:px-0 md:pl-4> svg xmlnshttp://www.w3.org/2000/svg width144 height162 viewbox0 0 250 280 classh-24 sm:h-40 w-auto absolute -top-8 md:-top-12 -left-12 md:-left-24 text-brown-300 aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> video altJunge brünette Frau präsentiert sich in roter Berufsbekleidung von Valaire. Der Kasack hat eine graue Paspel und die Hose ist eine Schlupfhose mit Gummibund. loadinglazy classborder-12 md:border-16 border-white object-cover block stylebox-shadow: 18px -7px 18.6px -5px rgba(0, 0, 0, 0.25); transform: rotate(2.6deg); aspect-ratio: /; width height muted autoplay loop> source media(max-width: 1023px) typevideo/mp4 srchttps://a.storyblok.com/f/277970/x/dbbcadf037/svd24648-valaire-digitalkampagne-image-video-frau-musik-_-hl-2-1080x1080_5mb.mp4>/source> source media(min-width: 1024px) typevideo/mp4 srchttps://a.storyblok.com/f/277970/x/dbbcadf037/svd24648-valaire-digitalkampagne-image-video-frau-musik-_-hl-2-1080x1080_5mb.mp4>/source> /video> svg xmlnshttp://www.w3.org/2000/svg width84 height94 viewbox0 0 250 280 classh-14 sm:h-24 w-auto absolute -bottom-5 sm:-bottom-12 right-8 sm:right-16 md:right-8 text-blueGrey-500 aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> /div> /div>/div>div classmax-w-screen-2xl mx-auto flex justify-center items-center my-12 relative before:hidden md:before:block before:content- before:z-0 before:absolute before:w-full before:h-0.5 before:bg-gray-950> div classrelative z-10 px-5 lg:px-12 inline-grid grid-cols-3 md:inline-flex justify-center gap-y-8 gap-x-5 sm:gap-12 md:gap-2 lg:gap-6 bg-white> div classflex flex-col items-center justify-start> img srchttps://a.storyblok.com/f/277970/258x288/8c4fef1f52/usp-washable-clean.svg altWaschbar 60 Grad width66 height74 classw-16 h-auto loadinglazy> p classtext-center text-xs font-semibold mt-2 w-28>Hoher Hygienestandard/p>/div>div classflex flex-col items-center justify-start> img srchttps://a.storyblok.com/f/277970/258x288/034957bd49/usp-style-clean.svg altSchere width66 height74 classw-16 h-auto loadinglazy> p classtext-center text-xs font-semibold mt-2 w-28>Zeitloserbr>Stil/p>/div>div classflex flex-col items-center justify-start> img srchttps://a.storyblok.com/f/277970/258x288/0b1f78b6d1/usp-quality-clean.svg altQualität width66 height74 classw-16 h-auto loadinglazy> p classtext-center text-xs font-semibold mt-2 w-28>Langlebige Qualität/p>/div>div classflex flex-col items-center justify-start> img srchttps://a.storyblok.com/f/277970/258x288/7f7edc1ee3/usp-material-clean.svg altMaterial width66 height74 classw-16 h-auto loadinglazy> p classtext-center text-xs font-semibold mt-2 w-28>Hochwertige Stoffe/p>/div>div classflex flex-col items-center justify-start> img srchttps://a.storyblok.com/f/277970/258x288/835ae3681a/usp-choice-clean.svg altAuswahl width66 height74 classw-16 h-auto loadinglazy> p classtext-center text-xs font-semibold mt-2 w-28>Topbr> Auswahl/p>/div>div classflex flex-col items-center justify-start> img srchttps://a.storyblok.com/f/277970/258x288/8d4315f9ee/usp-price-clean.svg altBeste Preise width66 height74 classw-16 h-auto loadinglazy> p classtext-center text-xs font-semibold mt-2 w-28>Beste Preise/p>/div> /div>/div> link relpreload hrefhttps://assets.reviews.io/css/widgets/carousel-widget.css asstyle onloadthis.onloadnull;this.relstylesheet>noscript>link relstylesheet hrefhttps://assets.reviews.io/css/widgets/carousel-widget.css>/noscript>link relpreload hrefhttps://assets.reviews.io/iconfont/reviewsio-icons/style.css asstyle onloadthis.onloadnull;this.relstylesheet>noscript>link relstylesheet hrefhttps://assets.reviews.io/iconfont/reviewsio-icons/style.css>/noscript>div classcontainer block>div idreviewsio-carousel-widget>/div>/div>div classblock>div classproduct-slider generic-product-slider> div classgrid grid-cols-12 w-full lg:max-w-6xl mx-auto relative> svg xmlnshttp://www.w3.org/2000/svg width64 height64 viewbox0 0 250 280 classtop-2 -left-10 absolute lg:top-2 lg:left-20 z-10 text-aquamarine-100 size-52 rotate-18deg lg:rotate--16deg transform-gpu aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> svg xmlnshttp://www.w3.org/2000/svg width64 height64 viewbox0 0 250 280 classabsolute left-36 top-14 lg:top-28 lg:left-12 z-20 text-blueGrey-300 size-16 rotate--16deg lg:rotate-18deg transform-gpu aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> div classcol-span-12 lg:col-span-4 lg:h-80 lg:w-96 flex items-end justify-start px-5 pt-9 lg:py-4 lg:px-1 relative> img loadinglazy classabsolute hidden lg:block max-h-80 w-auto right-0 top-0 z-20 srchttps://a.storyblok.com/f/277970/125x150/700c01ca8a/oneliner-kasack.svg alt> h2 classtext-2xl font-bold z-30> a classfont-normal text-xl underline decoration-transparent hover:decoration-gray-950 leading-2 break-words hyphens-auto lg:inline-block lg:max-w-60 transition-colors href/kasacks-kittel.html> Kasacks & br>Kittel /a> /h2> /div> div classcol-span-12 lg:col-span-8 z-30 w-full> div x-datainitSliderComponent() x-initcalcPageSize(); x-idslider-nav, slider-desc, slider-id rolegroup @resize.window.debouncecalcPageSize(); $nextTick( function() { calcActive() }) aria-roledescriptionCarousel aria-labelCarousel Kasacks & br>Kittel :aria-describedby$id(slider-desc) classmy-12 text-gray-700 body-font mt-2 lg:mt-0 x-deferintersect> span classsr-only :id$id(slider-desc) tabindex-1> Navigating through the elements of the carousel is possible using the tab key. You can skip the carousel or go straight to carousel navigation using the skip links. /span> a href#magento%5Cframework%5Cview%5Celement%5Ctemplate_5-slider-end classaction skip sr-only focus:not-sr-only focus:absolute focus:z-30 focus:bg-white> Press to skip carousel /a> button x-showitemCount > pageSize typebutton classaction skip sr-only focus:not-sr-only focus:absolute focus:z-30 focus:bg-white @click.preventskipCarouselToNavigation($id(slider-nav))> Press to go to carousel navigation /button> div classrelative w-full> div classrelative flex gap-12 w-full overflow-auto js_slides snap @scroll.debouncecalcActive> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden1 > active && 1 (active + pageSize) ? false : true aria-labelItem 1 :aria-describedby`slide-desc-40463-${$id(slider-id)}`> div x-datainitProductItem__6989b3d887827(https://www.valaire.at/damen-kasack-k-p3477312-20592901.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477312_20592901 @update-hash-40463.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Kasack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40463.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205929_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205929_z_PLP_internet.jpg title205929_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40463.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40463 data-price-boxproduct-id-40463> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40463 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40463) data-price-amount19.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 19,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40463-${$id(slider-id)}` x-defer> Damen-Kasack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden2 > active && 2 (active + pageSize) ? false : true aria-labelItem 2 :aria-describedby`slide-desc-40462-${$id(slider-id)}`> div x-datainitProductItem__6989b3d89c8f9(https://www.valaire.at/unisex-kasack-k-p3477252-20589301.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477252_20589301 @update-hash-40462.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Kasack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40462.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205893_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205893_z_PLP_internet.jpg title205893_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40462.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40462 data-price-boxproduct-id-40462> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40462 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40462) data-price-amount24.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 24,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40462-${$id(slider-id)}` x-defer> Unisex-Kasack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden3 > active && 3 (active + pageSize) ? false : true aria-labelItem 3 :aria-describedby`slide-desc-40481-${$id(slider-id)}`> div x-datainitProductItem__6989b3d8ab59d(https://www.valaire.at/damen-kasack-k-p3477310-20592307.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477310_20592307 @update-hash-40481.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Kasack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40481.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205923_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205923_z_PLP_internet.jpg title205923_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40481.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40481 data-price-boxproduct-id-40481> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40481 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40481) data-price-amount32.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 32,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40481-${$id(slider-id)}` x-defer> Damen-Kasack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden4 > active && 4 (active + pageSize) ? false : true aria-labelItem 4 :aria-describedby`slide-desc-40517-${$id(slider-id)}`> div x-datainitProductItem__6989b3d8bf170(https://www.valaire.at/damen-kasack-k-p3477308-20591401.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477308_20591401 @update-hash-40517.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Kasack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40517.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205914_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205914_z_PLP_internet.jpg title205914_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40517.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40517 data-price-boxproduct-id-40517> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40517 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40517) data-price-amount24.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 24,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40517-${$id(slider-id)}` x-defer> Damen-Kasack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden5 > active && 5 (active + pageSize) ? false : true aria-labelItem 5 :aria-describedby`slide-desc-39888-${$id(slider-id)}`> div x-datainitProductItem__6989b3d8cc36c(https://www.valaire.at/arztkittel-damen-k-p3477316-20589001.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477316_20589001 @update-hash-39888.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleArztkittel Damen classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-39888.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205890_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205890_z_PLP_internet.jpg title205890_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-39888.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id39888 data-price-boxproduct-id-39888> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D39888 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D39888) data-price-amount37.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 37,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-39888-${$id(slider-id)}` x-defer> Arztkittel Damen /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden6 > active && 6 (active + pageSize) ? false : true aria-labelItem 6 :aria-describedby`slide-desc-40457-${$id(slider-id)}`> div x-datainitProductItem__6989b3d8d187b(https://www.valaire.at/unisex-kasack-k-p3477252-20589901.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477252_20589901 @update-hash-40457.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Kasack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40457.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205899_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205899_z_PLP_internet.jpg title205899_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40457.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40457 data-price-boxproduct-id-40457> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40457 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40457) data-price-amount24.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 24,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40457-${$id(slider-id)}` x-defer> Unisex-Kasack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden7 > active && 7 (active + pageSize) ? false : true aria-labelItem 7 :aria-describedby`slide-desc-40455-${$id(slider-id)}`> div x-datainitProductItem__6989b3d8de645(https://www.valaire.at/unisex-kasack-k-p3477252-20589801.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477252_20589801 @update-hash-40455.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Kasack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40455.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205898_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205898_z_PLP_internet.jpg title205898_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40455.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40455 data-price-boxproduct-id-40455> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40455 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40455) data-price-amount24.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 24,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40455-${$id(slider-id)}` x-defer> Unisex-Kasack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden8 > active && 8 (active + pageSize) ? false : true aria-labelItem 8 :aria-describedby`slide-desc-40477-${$id(slider-id)}`> div x-datainitProductItem__6989b3d8ef021(https://www.valaire.at/damen-kasack-k-p3477314-20594201.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477314_20594201 @update-hash-40477.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Kasack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40477.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205942_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205942_z_PLP_internet.jpg title205942_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40477.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40477 data-price-boxproduct-id-40477> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40477 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40477) data-price-amount19.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 19,99/span>/span> /span>/span> span classold-price sly-old-price no-display>span x-data x-idold\u002Dprice\u002D40477 classprice-container price-final_price tax weee> span :id$id(old\u002Dprice\u002D40477) data-price-amount32.99 data-price-typeoldPrice classprice-wrapper >span classprice>€ 32,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40477-${$id(slider-id)}` x-defer> Damen-Kasack /a> /div> /div> /div> div classslide js_dummy_slide last:mr-12 :class{pl-5 lg:pl-0 w-96 snap-center flex-none w\u002D1\u002F2\u0020lg\u003Aw\u002D1\u002F3 : pageFillers > 0}> /div> /div> template x-ifitemCount > pageSize> div classw-full absolute top-1/2 hidden xl:block :id$id(slider-nav)> button typebutton :disabledactive 0 classabsolute bottom-1/2 -right-0 z-40 text-black rounded-full shadow-xl outline-none focus:outline-none size-8 bg-white hover:bg-primary-300 transition-colors flex justify-center items-center :class{ opacity-25 shadow-0 pointer-events-none : active 0 } aria-labelPrevious slide @clickscrollPrevious>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewbox0 0 24 24 fillnone classsize-4 aria-hiddentrue> path fill-ruleevenodd clip-ruleevenodd dM4.25 12C4.25 11.5858 4.58579 11.25 5 11.25H19C19.4142 11.25 19.75 11.5858 19.75 12C19.75 12.4142 19.4142 12.75 19 12.75H5C4.58579 12.75 4.25 12.4142 4.25 12Z fillcurrentColor>/path> path fill-ruleevenodd clip-ruleevenodd dM12.5303 4.46967C12.8232 4.76256 12.8232 5.23744 12.5303 5.53033L6.06066 12L12.5303 18.4697C12.8232 18.7626 12.8232 19.2374 12.5303 19.5303C12.2374 19.8232 11.7626 19.8232 11.4697 19.5303L4.46967 12.5303C4.17678 12.2374 4.17678 11.7626 4.46967 11.4697L11.4697 4.46967C11.7626 4.17678 12.2374 4.17678 12.5303 4.46967Z fillcurrentColor>/path>/svg>/button> button typebutton :disabledactive > itemCount-pageSize classabsolute bottom-1/2 -right-10 shadow-lg hover:shadow-xl z-40 text-black rounded-full outline-none focus:outline-none size-8 bg-white hover:bg-primary-300 transition-colors flex justify-center items-center :class{ opacity-25 pointer-events-none : active > itemCount-pageSize } aria-labelNext slide @clickscrollNext>svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewbox0 0 24 24 classsize-4 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM4 11.75a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5h-14a.75.75 0 0 1-.75-.75Z clip-ruleevenodd>/path> path fillcurrentColor fill-ruleevenodd dM11.22 4.22a.75.75 0 0 1 1.06 0l7 7a.75.75 0 0 1 0 1.06l-7 7a.75.75 0 1 1-1.06-1.06l6.47-6.47-6.47-6.47a.75.75 0 0 1 0-1.06Z clip-ruleevenodd>/path>/svg>/button> /div> /template> /div> span idmagento\framework\view\element\template_5-slider-end tabindex-1>/span> /div> /div>/div> /div>/div>div classblock>div classproduct-slider generic-product-slider> div classgrid grid-cols-12 w-full lg:max-w-6xl mx-auto relative> svg xmlnshttp://www.w3.org/2000/svg width64 height64 viewbox0 0 250 280 classtop-2 -left-10 absolute lg:top-2 lg:left-20 z-10 text-aquamarine-100 size-52 rotate-18deg lg:rotate--16deg transform-gpu aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> svg xmlnshttp://www.w3.org/2000/svg width64 height64 viewbox0 0 250 280 classabsolute left-36 top-14 lg:top-28 lg:left-12 z-20 text-blueGrey-300 size-16 rotate--16deg lg:rotate-18deg transform-gpu aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> div classcol-span-12 lg:col-span-4 lg:h-80 lg:w-96 flex items-end justify-start px-5 pt-9 lg:py-4 lg:px-1 relative> img loadinglazy classabsolute hidden lg:block max-h-80 w-auto right-0 top-0 z-20 srchttps://a.storyblok.com/f/277970/125x150/8e44dc1c8f/oneliner-hose.svg alt> h2 classtext-2xl font-bold z-30> a classfont-normal text-xl underline decoration-transparent hover:decoration-gray-950 leading-2 break-words hyphens-auto lg:inline-block lg:max-w-60 transition-colors href/hosen.html> Hosen /a> /h2> /div> div classcol-span-12 lg:col-span-8 z-30 w-full> div x-datainitSliderComponent() x-initcalcPageSize(); x-idslider-nav, slider-desc, slider-id rolegroup @resize.window.debouncecalcPageSize(); $nextTick( function() { calcActive() }) aria-roledescriptionCarousel aria-labelCarousel Hosen :aria-describedby$id(slider-desc) classmy-12 text-gray-700 body-font mt-2 lg:mt-0 x-deferintersect> span classsr-only :id$id(slider-desc) tabindex-1> Navigating through the elements of the carousel is possible using the tab key. You can skip the carousel or go straight to carousel navigation using the skip links. /span> a href#magento%5Cframework%5Cview%5Celement%5Ctemplate_6-slider-end classaction skip sr-only focus:not-sr-only focus:absolute focus:z-30 focus:bg-white> Press to skip carousel /a> button x-showitemCount > pageSize typebutton classaction skip sr-only focus:not-sr-only focus:absolute focus:z-30 focus:bg-white @click.preventskipCarouselToNavigation($id(slider-nav))> Press to go to carousel navigation /button> div classrelative w-full> div classrelative flex gap-12 w-full overflow-auto js_slides snap @scroll.debouncecalcActive> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden1 > active && 1 (active + pageSize) ? false : true aria-labelItem 1 :aria-describedby`slide-desc-40489-${$id(slider-id)}`> div x-datainitProductItem__6989b3d931ccd(https://www.valaire.at/damen-komfortbundhose-k-p3477320-20594601.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477320_20594601 @update-hash-40489.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Komfortbundhose classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40489.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205946_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205946_z_PLP_internet.jpg title205946_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40489.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40489 data-price-boxproduct-id-40489> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40489 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40489) data-price-amount29.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 29,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40489-${$id(slider-id)}` x-defer> Damen-Komfortbundhose /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden2 > active && 2 (active + pageSize) ? false : true aria-labelItem 2 :aria-describedby`slide-desc-40488-${$id(slider-id)}`> div x-datainitProductItem__6989b3d93a39d(https://www.valaire.at/damen-komfortbundhose-k-p3477320-20594501.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477320_20594501 @update-hash-40488.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Komfortbundhose classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40488.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205945_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205945_z_PLP_internet.jpg title205945_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40488.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40488 data-price-boxproduct-id-40488> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40488 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40488) data-price-amount29.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 29,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40488-${$id(slider-id)}` x-defer> Damen-Komfortbundhose /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden3 > active && 3 (active + pageSize) ? false : true aria-labelItem 3 :aria-describedby`slide-desc-39891-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9429a8(https://www.valaire.at/unisex-komfortbundhose-k-p3516103-20589201.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3516103_20589201 @update-hash-39891.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Komfortbundhose classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-39891.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205892_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205892_z_PLP_internet.jpg title205892_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-39891.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id39891 data-price-boxproduct-id-39891> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D39891 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D39891) data-price-amount34.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 34,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-39891-${$id(slider-id)}` x-defer> Unisex-Komfortbundhose /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden4 > active && 4 (active + pageSize) ? false : true aria-labelItem 4 :aria-describedby`slide-desc-40494-${$id(slider-id)}`> div x-datainitProductItem__6989b3d946935(https://www.valaire.at/damen-komfortbundhose-k-p3477320-20594401.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477320_20594401 @update-hash-40494.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Komfortbundhose classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40494.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205944_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205944_z_PLP_internet.jpg title205944_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40494.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40494 data-price-boxproduct-id-40494> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40494 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40494) data-price-amount29.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 29,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40494-${$id(slider-id)}` x-defer> Damen-Komfortbundhose /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden5 > active && 5 (active + pageSize) ? false : true aria-labelItem 5 :aria-describedby`slide-desc-40496-${$id(slider-id)}`> div x-datainitProductItem__6989b3d94ef6b(https://www.valaire.at/unisex-komfortbundhose-k-p3477323-20595301.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477323_20595301 @update-hash-40496.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Komfortbundhose classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40496.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205953_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205953_z_PLP_internet.jpg title205953_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40496.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40496 data-price-boxproduct-id-40496> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40496 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40496) data-price-amount34.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 34,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40496-${$id(slider-id)}` x-defer> Unisex-Komfortbundhose /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden6 > active && 6 (active + pageSize) ? false : true aria-labelItem 6 :aria-describedby`slide-desc-40493-${$id(slider-id)}`> div x-datainitProductItem__6989b3d955e99(https://www.valaire.at/damen-komfortbundhose-k-p3477320-20595001.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477320_20595001 @update-hash-40493.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Komfortbundhose classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40493.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205950_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205950_z_PLP_internet.jpg title205950_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40493.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40493 data-price-boxproduct-id-40493> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40493 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40493) data-price-amount29.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 29,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40493-${$id(slider-id)}` x-defer> Damen-Komfortbundhose /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden7 > active && 7 (active + pageSize) ? false : true aria-labelItem 7 :aria-describedby`slide-desc-40498-${$id(slider-id)}`> div x-datainitProductItem__6989b3d95ee01(https://www.valaire.at/unisex-komfortbundhose-k-p3477323-20595101.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477323_20595101 @update-hash-40498.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Komfortbundhose classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40498.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205951_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205951_z_PLP_internet.jpg title205951_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40498.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40498 data-price-boxproduct-id-40498> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40498 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40498) data-price-amount34.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 34,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40498-${$id(slider-id)}` x-defer> Unisex-Komfortbundhose /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden8 > active && 8 (active + pageSize) ? false : true aria-labelItem 8 :aria-describedby`slide-desc-40491-${$id(slider-id)}`> div x-datainitProductItem__6989b3d965a73(https://www.valaire.at/damen-komfortbundhose-k-p3477320-20594801.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477320_20594801 @update-hash-40491.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Komfortbundhose classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40491.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205948_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205948_z_PLP_internet.jpg title205948_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40491.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40491 data-price-boxproduct-id-40491> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40491 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40491) data-price-amount29.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 29,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40491-${$id(slider-id)}` x-defer> Damen-Komfortbundhose /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden9 > active && 9 (active + pageSize) ? false : true aria-labelItem 9 :aria-describedby`slide-desc-40490-${$id(slider-id)}`> div x-datainitProductItem__6989b3d970b54(https://www.valaire.at/damen-komfortbundhose-k-p3477320-20594701.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3477320_20594701 @update-hash-40490.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Komfortbundhose classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40490.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205947_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205947_z_PLP_internet.jpg title205947_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40490.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40490 data-price-boxproduct-id-40490> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40490 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40490) data-price-amount29.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 29,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40490-${$id(slider-id)}` x-defer> Damen-Komfortbundhose /a> /div> /div> /div> /div> template x-ifitemCount > pageSize> div classw-full absolute top-1/2 hidden xl:block :id$id(slider-nav)> button typebutton :disabledactive 0 classabsolute bottom-1/2 -right-0 z-40 text-black rounded-full shadow-xl outline-none focus:outline-none size-8 bg-white hover:bg-primary-300 transition-colors flex justify-center items-center :class{ opacity-25 shadow-0 pointer-events-none : active 0 } aria-labelPrevious slide @clickscrollPrevious>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewbox0 0 24 24 fillnone classsize-4 aria-hiddentrue> path fill-ruleevenodd clip-ruleevenodd dM4.25 12C4.25 11.5858 4.58579 11.25 5 11.25H19C19.4142 11.25 19.75 11.5858 19.75 12C19.75 12.4142 19.4142 12.75 19 12.75H5C4.58579 12.75 4.25 12.4142 4.25 12Z fillcurrentColor>/path> path fill-ruleevenodd clip-ruleevenodd dM12.5303 4.46967C12.8232 4.76256 12.8232 5.23744 12.5303 5.53033L6.06066 12L12.5303 18.4697C12.8232 18.7626 12.8232 19.2374 12.5303 19.5303C12.2374 19.8232 11.7626 19.8232 11.4697 19.5303L4.46967 12.5303C4.17678 12.2374 4.17678 11.7626 4.46967 11.4697L11.4697 4.46967C11.7626 4.17678 12.2374 4.17678 12.5303 4.46967Z fillcurrentColor>/path>/svg>/button> button typebutton :disabledactive > itemCount-pageSize classabsolute bottom-1/2 -right-10 shadow-lg hover:shadow-xl z-40 text-black rounded-full outline-none focus:outline-none size-8 bg-white hover:bg-primary-300 transition-colors flex justify-center items-center :class{ opacity-25 pointer-events-none : active > itemCount-pageSize } aria-labelNext slide @clickscrollNext>svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewbox0 0 24 24 classsize-4 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM4 11.75a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5h-14a.75.75 0 0 1-.75-.75Z clip-ruleevenodd>/path> path fillcurrentColor fill-ruleevenodd dM11.22 4.22a.75.75 0 0 1 1.06 0l7 7a.75.75 0 0 1 0 1.06l-7 7a.75.75 0 1 1-1.06-1.06l6.47-6.47-6.47-6.47a.75.75 0 0 1 0-1.06Z clip-ruleevenodd>/path>/svg>/button> /div> /template> /div> span idmagento\framework\view\element\template_6-slider-end tabindex-1>/span> /div> /div>/div> /div>/div>div classblock>div classproduct-slider generic-product-slider> div classgrid grid-cols-12 w-full lg:max-w-6xl mx-auto relative> svg xmlnshttp://www.w3.org/2000/svg width64 height64 viewbox0 0 250 280 classtop-2 -left-10 absolute lg:top-2 lg:left-20 z-10 text-aquamarine-100 size-52 rotate-18deg lg:rotate--16deg transform-gpu aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> svg xmlnshttp://www.w3.org/2000/svg width64 height64 viewbox0 0 250 280 classabsolute left-36 top-14 lg:top-28 lg:left-12 z-20 text-blueGrey-300 size-16 rotate--16deg lg:rotate-18deg transform-gpu aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> div classcol-span-12 lg:col-span-4 lg:h-80 lg:w-96 flex items-end justify-start px-5 pt-9 lg:py-4 lg:px-1 relative> img loadinglazy classabsolute hidden lg:block max-h-80 w-auto right-0 top-0 z-20 srchttps://a.storyblok.com/f/277970/125x150/561f03e9fe/oneliner-polo.svg alt> h2 classtext-2xl font-bold z-30> a classfont-normal text-xl underline decoration-transparent hover:decoration-gray-950 leading-2 break-words hyphens-auto lg:inline-block lg:max-w-60 transition-colors href/polos.html> Shirts /a> /h2> /div> div classcol-span-12 lg:col-span-8 z-30 w-full> div x-datainitSliderComponent() x-initcalcPageSize(); x-idslider-nav, slider-desc, slider-id rolegroup @resize.window.debouncecalcPageSize(); $nextTick( function() { calcActive() }) aria-roledescriptionCarousel aria-labelCarousel Shirts :aria-describedby$id(slider-desc) classmy-12 text-gray-700 body-font mt-2 lg:mt-0 x-deferintersect> span classsr-only :id$id(slider-desc) tabindex-1> Navigating through the elements of the carousel is possible using the tab key. You can skip the carousel or go straight to carousel navigation using the skip links. /span> a href#magento%5Cframework%5Cview%5Celement%5Ctemplate_7-slider-end classaction skip sr-only focus:not-sr-only focus:absolute focus:z-30 focus:bg-white> Press to skip carousel /a> button x-showitemCount > pageSize typebutton classaction skip sr-only focus:not-sr-only focus:absolute focus:z-30 focus:bg-white @click.preventskipCarouselToNavigation($id(slider-nav))> Press to go to carousel navigation /button> div classrelative w-full> div classrelative flex gap-12 w-full overflow-auto js_slides snap @scroll.debouncecalcActive> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden1 > active && 1 (active + pageSize) ? false : true aria-labelItem 1 :aria-describedby`slide-desc-39889-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9b139e(https://www.valaire.at/langarmshirt-3er-pack-k-p3552321-20588701.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3552321_20588701 @update-hash-39889.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleLangarmshirt, 3er-Pack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-39889.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205887_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205887_z_PLP_internet.jpg title205887_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-39889.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id39889 data-price-boxproduct-id-39889> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D39889 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D39889) data-price-amount39.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 39,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-39889-${$id(slider-id)}` x-defer> Langarmshirt, 3er-Pack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden2 > active && 2 (active + pageSize) ? false : true aria-labelItem 2 :aria-describedby`slide-desc-39890-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9b611c(https://www.valaire.at/t-shirt-3er-pack-k-p3563959-20588801.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3563959_20588801 @update-hash-39890.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleT-Shirt, 3er-Pack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-39890.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205888_z_PLP_01_internet_9.jpg loadinglazy width700 height875 alt205888_z_PLP_01_internet.jpg title205888_z_PLP_01_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-39890.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id39890 data-price-boxproduct-id-39890> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D39890 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D39890) data-price-amount34.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 34,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-39890-${$id(slider-id)}` x-defer> T-Shirt, 3er-Pack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden3 > active && 3 (active + pageSize) ? false : true aria-labelItem 3 :aria-describedby`slide-desc-40499-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9bab67(https://www.valaire.at/damen-poloshirt-k-p3517695-20595601.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3517695_20595601 @update-hash-40499.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Poloshirt classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40499.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205956_z_PLP_internet_6.jpg loadinglazy width700 height875 alt205956_z_PLP_internet.jpg title205956_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40499.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40499 data-price-boxproduct-id-40499> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40499 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40499) data-price-amount28.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 28,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40499-${$id(slider-id)}` x-defer> Damen-Poloshirt /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden4 > active && 4 (active + pageSize) ? false : true aria-labelItem 4 :aria-describedby`slide-desc-40500-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9c628c(https://www.valaire.at/damen-poloshirt-k-p3517695-20596501.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3517695_20596501 @update-hash-40500.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Poloshirt classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40500.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205965_z_PLP_internet_6.jpg loadinglazy width700 height875 alt205965_z_PLP_internet.jpg title205965_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40500.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40500 data-price-boxproduct-id-40500> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40500 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40500) data-price-amount28.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 28,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40500-${$id(slider-id)}` x-defer> Damen-Poloshirt /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden5 > active && 5 (active + pageSize) ? false : true aria-labelItem 5 :aria-describedby`slide-desc-40501-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9cda71(https://www.valaire.at/damen-poloshirt-k-p3517695-20595701.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3517695_20595701 @update-hash-40501.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Poloshirt classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40501.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205957_z_PLP_internet_6.jpg loadinglazy width700 height875 alt205957_z_PLP_internet.jpg title205957_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40501.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40501 data-price-boxproduct-id-40501> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40501 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40501) data-price-amount28.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 28,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40501-${$id(slider-id)}` x-defer> Damen-Poloshirt /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden6 > active && 6 (active + pageSize) ? false : true aria-labelItem 6 :aria-describedby`slide-desc-40502-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9d5bf1(https://www.valaire.at/damen-poloshirt-k-p3517695-20595801.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3517695_20595801 @update-hash-40502.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Poloshirt classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40502.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205958_z_PLP_internet_6.jpg loadinglazy width700 height875 alt205958_z_PLP_internet.jpg title205958_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40502.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40502 data-price-boxproduct-id-40502> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40502 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40502) data-price-amount28.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 28,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40502-${$id(slider-id)}` x-defer> Damen-Poloshirt /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden7 > active && 7 (active + pageSize) ? false : true aria-labelItem 7 :aria-describedby`slide-desc-40503-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9def00(https://www.valaire.at/damen-poloshirt-k-p3517695-20595501.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3517695_20595501 @update-hash-40503.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleDamen-Poloshirt classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40503.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205955_z_PLP_internet_6.jpg loadinglazy width700 height875 alt205955_z_PLP_internet.jpg title205955_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40503.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40503 data-price-boxproduct-id-40503> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40503 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40503) data-price-amount28.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 28,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40503-${$id(slider-id)}` x-defer> Damen-Poloshirt /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden8 > active && 8 (active + pageSize) ? false : true aria-labelItem 8 :aria-describedby`slide-desc-40504-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9e8c95(https://www.valaire.at/unisex-poloshirt-k-p3525914-20596301.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3525914_20596301 @update-hash-40504.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Poloshirt classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40504.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205963_z_PLP_internet_8.jpg loadinglazy width700 height875 alt205963_z_PLP_internet.jpg title205963_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40504.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40504 data-price-boxproduct-id-40504> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40504 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40504) data-price-amount28.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 28,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40504-${$id(slider-id)}` x-defer> Unisex-Poloshirt /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden9 > active && 9 (active + pageSize) ? false : true aria-labelItem 9 :aria-describedby`slide-desc-40505-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9f3516(https://www.valaire.at/unisex-poloshirt-k-p3525914-20596201.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3525914_20596201 @update-hash-40505.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Poloshirt classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40505.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205962_z_PLP_internet_8.jpg loadinglazy width700 height875 alt205962_z_PLP_internet.jpg title205962_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40505.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40505 data-price-boxproduct-id-40505> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40505 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40505) data-price-amount28.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 28,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40505-${$id(slider-id)}` x-defer> Unisex-Poloshirt /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden10 > active && 10 (active + pageSize) ? false : true aria-labelItem 10 :aria-describedby`slide-desc-40506-${$id(slider-id)}`> div x-datainitProductItem__6989b3da07127(https://www.valaire.at/unisex-poloshirt-k-p3525914-20596101.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3525914_20596101 @update-hash-40506.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Poloshirt classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40506.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205961_z_PLP_internet_8.jpg loadinglazy width700 height875 alt205961_z_PLP_internet.jpg title205961_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40506.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40506 data-price-boxproduct-id-40506> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40506 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40506) data-price-amount28.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 28,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40506-${$id(slider-id)}` x-defer> Unisex-Poloshirt /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden11 > active && 11 (active + pageSize) ? false : true aria-labelItem 11 :aria-describedby`slide-desc-40507-${$id(slider-id)}`> div x-datainitProductItem__6989b3da0ec31(https://www.valaire.at/unisex-poloshirt-k-p3525914-20596001.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3525914_20596001 @update-hash-40507.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Poloshirt classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40507.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205960_z_PLP_internet_8.jpg loadinglazy width700 height875 alt205960_z_PLP_internet.jpg title205960_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40507.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40507 data-price-boxproduct-id-40507> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40507 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40507) data-price-amount28.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 28,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40507-${$id(slider-id)}` x-defer> Unisex-Poloshirt /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden12 > active && 12 (active + pageSize) ? false : true aria-labelItem 12 :aria-describedby`slide-desc-40508-${$id(slider-id)}`> div x-datainitProductItem__6989b3da158dd(https://www.valaire.at/unisex-poloshirt-k-p3525914-20595901.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3525914_20595901 @update-hash-40508.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Poloshirt classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40508.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205959_z_PLP_internet_8.jpg loadinglazy width700 height875 alt205959_z_PLP_internet.jpg title205959_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40508.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40508 data-price-boxproduct-id-40508> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40508 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40508) data-price-amount28.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 28,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40508-${$id(slider-id)}` x-defer> Unisex-Poloshirt /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden13 > active && 13 (active + pageSize) ? false : true aria-labelItem 13 :aria-describedby`slide-desc-40509-${$id(slider-id)}`> div x-datainitProductItem__6989b3da1c668(https://www.valaire.at/arm-shirt-3er-pack-k-p3568249-20588901.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3568249_20588901 @update-hash-40509.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl title¾-Arm-Shirt, 3er-Pack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40509.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205889_01_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205889_01_z_PLP_internet.jpg title205889_01_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40509.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40509 data-price-boxproduct-id-40509> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40509 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40509) data-price-amount34.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 34,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40509-${$id(slider-id)}` x-defer> ¾-Arm-Shirt, 3er-Pack /a> /div> /div> /div> div classslide js_dummy_slide last:mr-12 :class{pl-5 lg:pl-0 w-96 snap-center flex-none w\u002D1\u002F2\u0020lg\u003Aw\u002D1\u002F3 : pageFillers > 0}> /div> div classslide js_dummy_slide last:mr-12 :class{pl-5 lg:pl-0 w-96 snap-center flex-none w\u002D1\u002F2\u0020lg\u003Aw\u002D1\u002F3 : pageFillers > 1}> /div> /div> template x-ifitemCount > pageSize> div classw-full absolute top-1/2 hidden xl:block :id$id(slider-nav)> button typebutton :disabledactive 0 classabsolute bottom-1/2 -right-0 z-40 text-black rounded-full shadow-xl outline-none focus:outline-none size-8 bg-white hover:bg-primary-300 transition-colors flex justify-center items-center :class{ opacity-25 shadow-0 pointer-events-none : active 0 } aria-labelPrevious slide @clickscrollPrevious>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewbox0 0 24 24 fillnone classsize-4 aria-hiddentrue> path fill-ruleevenodd clip-ruleevenodd dM4.25 12C4.25 11.5858 4.58579 11.25 5 11.25H19C19.4142 11.25 19.75 11.5858 19.75 12C19.75 12.4142 19.4142 12.75 19 12.75H5C4.58579 12.75 4.25 12.4142 4.25 12Z fillcurrentColor>/path> path fill-ruleevenodd clip-ruleevenodd dM12.5303 4.46967C12.8232 4.76256 12.8232 5.23744 12.5303 5.53033L6.06066 12L12.5303 18.4697C12.8232 18.7626 12.8232 19.2374 12.5303 19.5303C12.2374 19.8232 11.7626 19.8232 11.4697 19.5303L4.46967 12.5303C4.17678 12.2374 4.17678 11.7626 4.46967 11.4697L11.4697 4.46967C11.7626 4.17678 12.2374 4.17678 12.5303 4.46967Z fillcurrentColor>/path>/svg>/button> button typebutton :disabledactive > itemCount-pageSize classabsolute bottom-1/2 -right-10 shadow-lg hover:shadow-xl z-40 text-black rounded-full outline-none focus:outline-none size-8 bg-white hover:bg-primary-300 transition-colors flex justify-center items-center :class{ opacity-25 pointer-events-none : active > itemCount-pageSize } aria-labelNext slide @clickscrollNext>svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewbox0 0 24 24 classsize-4 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM4 11.75a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5h-14a.75.75 0 0 1-.75-.75Z clip-ruleevenodd>/path> path fillcurrentColor fill-ruleevenodd dM11.22 4.22a.75.75 0 0 1 1.06 0l7 7a.75.75 0 0 1 0 1.06l-7 7a.75.75 0 1 1-1.06-1.06l6.47-6.47-6.47-6.47a.75.75 0 0 1 0-1.06Z clip-ruleevenodd>/path>/svg>/button> /div> /template> /div> span idmagento\framework\view\element\template_7-slider-end tabindex-1>/span> /div> /div>/div> /div>/div>div classblock>div classproduct-slider generic-product-slider> div classgrid grid-cols-12 w-full lg:max-w-6xl mx-auto relative> svg xmlnshttp://www.w3.org/2000/svg width64 height64 viewbox0 0 250 280 classtop-2 -left-10 absolute lg:top-2 lg:left-20 z-10 text-aquamarine-100 size-52 rotate-18deg lg:rotate--16deg transform-gpu aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> svg xmlnshttp://www.w3.org/2000/svg width64 height64 viewbox0 0 250 280 classabsolute left-36 top-14 lg:top-28 lg:left-12 z-20 text-blueGrey-300 size-16 rotate--16deg lg:rotate-18deg transform-gpu aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> div classcol-span-12 lg:col-span-4 lg:h-80 lg:w-96 flex items-end justify-start px-5 pt-9 lg:py-4 lg:px-1 relative> img loadinglazy classabsolute hidden lg:block max-h-80 w-auto right-0 top-0 z-20 srchttps://a.storyblok.com/f/277970/125x150/ddba8f2703/oneliner-jacke.svg alt> h2 classtext-2xl font-bold z-30> a classfont-normal text-xl underline decoration-transparent hover:decoration-gray-950 leading-2 break-words hyphens-auto lg:inline-block lg:max-w-60 transition-colors href/jacken.html> Jacken /a> /h2> /div> div classcol-span-12 lg:col-span-8 z-30 w-full> div x-datainitSliderComponent() x-initcalcPageSize(); x-idslider-nav, slider-desc, slider-id rolegroup @resize.window.debouncecalcPageSize(); $nextTick( function() { calcActive() }) aria-roledescriptionCarousel aria-labelCarousel Jacken :aria-describedby$id(slider-desc) classmy-12 text-gray-700 body-font mt-2 lg:mt-0 x-deferintersect> span classsr-only :id$id(slider-desc) tabindex-1> Navigating through the elements of the carousel is possible using the tab key. You can skip the carousel or go straight to carousel navigation using the skip links. /span> a href#magento%5Cframework%5Cview%5Celement%5Ctemplate_8-slider-end classaction skip sr-only focus:not-sr-only focus:absolute focus:z-30 focus:bg-white> Press to skip carousel /a> button x-showitemCount > pageSize typebutton classaction skip sr-only focus:not-sr-only focus:absolute focus:z-30 focus:bg-white @click.preventskipCarouselToNavigation($id(slider-nav))> Press to go to carousel navigation /button> div classrelative w-full> div classrelative flex gap-12 w-full overflow-auto js_slides snap @scroll.debouncecalcActive> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden1 > active && 1 (active + pageSize) ? false : true aria-labelItem 1 :aria-describedby`slide-desc-40511-${$id(slider-id)}`> div x-datainitProductItem__6989b3da2c95c(https://www.valaire.at/unisex-sweatjacke-k-p3571190-20588501.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3571190_20588501 @update-hash-40511.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Sweatjacke classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40511.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205885_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205885_z_PLP_internet.jpg title205885_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40511.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40511 data-price-boxproduct-id-40511> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40511 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40511) data-price-amount59.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 59,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40511-${$id(slider-id)}` x-defer> Unisex-Sweatjacke /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden2 > active && 2 (active + pageSize) ? false : true aria-labelItem 2 :aria-describedby`slide-desc-40512-${$id(slider-id)}`> div x-datainitProductItem__6989b3da331e4(https://www.valaire.at/unisex-sweatjacke-k-p3571190-20588601.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3571190_20588601 @update-hash-40512.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleUnisex-Sweatjacke classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40512.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205886_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205886_z_PLP_internet.jpg title205886_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40512.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40512 data-price-boxproduct-id-40512> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40512 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40512) data-price-amount59.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 59,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40512-${$id(slider-id)}` x-defer> Unisex-Sweatjacke /a> /div> /div> /div> div classslide js_dummy_slide last:mr-12 :class{pl-5 lg:pl-0 w-96 snap-center flex-none w\u002D1\u002F2\u0020lg\u003Aw\u002D1\u002F3 : pageFillers > 0}> /div> /div> template x-ifitemCount > pageSize> div classw-full absolute top-1/2 hidden xl:block :id$id(slider-nav)> button typebutton :disabledactive 0 classabsolute bottom-1/2 -right-0 z-40 text-black rounded-full shadow-xl outline-none focus:outline-none size-8 bg-white hover:bg-primary-300 transition-colors flex justify-center items-center :class{ opacity-25 shadow-0 pointer-events-none : active 0 } aria-labelPrevious slide @clickscrollPrevious>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewbox0 0 24 24 fillnone classsize-4 aria-hiddentrue> path fill-ruleevenodd clip-ruleevenodd dM4.25 12C4.25 11.5858 4.58579 11.25 5 11.25H19C19.4142 11.25 19.75 11.5858 19.75 12C19.75 12.4142 19.4142 12.75 19 12.75H5C4.58579 12.75 4.25 12.4142 4.25 12Z fillcurrentColor>/path> path fill-ruleevenodd clip-ruleevenodd dM12.5303 4.46967C12.8232 4.76256 12.8232 5.23744 12.5303 5.53033L6.06066 12L12.5303 18.4697C12.8232 18.7626 12.8232 19.2374 12.5303 19.5303C12.2374 19.8232 11.7626 19.8232 11.4697 19.5303L4.46967 12.5303C4.17678 12.2374 4.17678 11.7626 4.46967 11.4697L11.4697 4.46967C11.7626 4.17678 12.2374 4.17678 12.5303 4.46967Z fillcurrentColor>/path>/svg>/button> button typebutton :disabledactive > itemCount-pageSize classabsolute bottom-1/2 -right-10 shadow-lg hover:shadow-xl z-40 text-black rounded-full outline-none focus:outline-none size-8 bg-white hover:bg-primary-300 transition-colors flex justify-center items-center :class{ opacity-25 pointer-events-none : active > itemCount-pageSize } aria-labelNext slide @clickscrollNext>svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewbox0 0 24 24 classsize-4 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM4 11.75a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5h-14a.75.75 0 0 1-.75-.75Z clip-ruleevenodd>/path> path fillcurrentColor fill-ruleevenodd dM11.22 4.22a.75.75 0 0 1 1.06 0l7 7a.75.75 0 0 1 0 1.06l-7 7a.75.75 0 1 1-1.06-1.06l6.47-6.47-6.47-6.47a.75.75 0 0 1 0-1.06Z clip-ruleevenodd>/path>/svg>/button> /div> /template> /div> span idmagento\framework\view\element\template_8-slider-end tabindex-1>/span> /div> /div>/div> /div>/div>div classblock>div classproduct-slider generic-product-slider> div classgrid grid-cols-12 w-full lg:max-w-6xl mx-auto relative> svg xmlnshttp://www.w3.org/2000/svg width64 height64 viewbox0 0 250 280 classtop-2 -left-10 absolute lg:top-2 lg:left-20 z-10 text-aquamarine-100 size-52 rotate-18deg lg:rotate--16deg transform-gpu aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> svg xmlnshttp://www.w3.org/2000/svg width64 height64 viewbox0 0 250 280 classabsolute left-36 top-14 lg:top-28 lg:left-12 z-20 text-blueGrey-300 size-16 rotate--16deg lg:rotate-18deg transform-gpu aria-hiddentrue> path fillcurrentColor dM125 280c-4.88 0-9.68-1.28-13.88-3.71l-97.24-56.12A27.84 27.84 0 0 1 0 196.13V83.88C0 74 5.32 64.78 13.88 59.84l97.24-56.13a27.82 27.82 0 0 1 27.77 0l97.23 56.12A27.84 27.84 0 0 1 250 83.87v110.69a30.54 30.54 0 0 1-15.24 26.38l-95.88 55.35c-4.2 2.43-9 3.71-13.88 3.71Z>/path>/svg> div classcol-span-12 lg:col-span-4 lg:h-80 lg:w-96 flex items-end justify-start px-5 pt-9 lg:py-4 lg:px-1 relative> img loadinglazy classabsolute hidden lg:block max-h-80 w-auto right-0 top-0 z-20 srchttps://a.storyblok.com/f/277970/125x150/1e0bafea8e/oneliner-sets-shirts.svg alt> h2 classtext-2xl font-bold z-30> a classfont-normal text-xl underline decoration-transparent hover:decoration-gray-950 leading-2 break-words hyphens-auto lg:inline-block lg:max-w-60 transition-colors href/sets.html> Spar-Sets /a> /h2> /div> div classcol-span-12 lg:col-span-8 z-30 w-full> div x-datainitSliderComponent() x-initcalcPageSize(); x-idslider-nav, slider-desc, slider-id rolegroup @resize.window.debouncecalcPageSize(); $nextTick( function() { calcActive() }) aria-roledescriptionCarousel aria-labelCarousel Spar-Sets :aria-describedby$id(slider-desc) classmy-12 text-gray-700 body-font mt-2 lg:mt-0 x-deferintersect> span classsr-only :id$id(slider-desc) tabindex-1> Navigating through the elements of the carousel is possible using the tab key. You can skip the carousel or go straight to carousel navigation using the skip links. /span> a href#magento%5Cframework%5Cview%5Celement%5Ctemplate_9-slider-end classaction skip sr-only focus:not-sr-only focus:absolute focus:z-30 focus:bg-white> Press to skip carousel /a> button x-showitemCount > pageSize typebutton classaction skip sr-only focus:not-sr-only focus:absolute focus:z-30 focus:bg-white @click.preventskipCarouselToNavigation($id(slider-nav))> Press to go to carousel navigation /button> div classrelative w-full> div classrelative flex gap-12 w-full overflow-auto js_slides snap @scroll.debouncecalcActive> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden1 > active && 1 (active + pageSize) ? false : true aria-labelItem 1 :aria-describedby`slide-desc-39890-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9b611c(https://www.valaire.at/t-shirt-3er-pack-k-p3563959-20588801.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3563959_20588801 @update-hash-39890.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleT-Shirt, 3er-Pack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-39890.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205888_z_PLP_01_internet_9.jpg loadinglazy width700 height875 alt205888_z_PLP_01_internet.jpg title205888_z_PLP_01_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-39890.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id39890 data-price-boxproduct-id-39890> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D39890 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D39890) data-price-amount34.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 34,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-39890-${$id(slider-id)}` x-defer> T-Shirt, 3er-Pack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden2 > active && 2 (active + pageSize) ? false : true aria-labelItem 2 :aria-describedby`slide-desc-40525-${$id(slider-id)}`> div x-datainitProductItem__6989b3da5b4e8(https://www.valaire.at/3er-set-unisex-kasack-k-p3572489-20596701.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3572489_20596701 @update-hash-40525.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl title3er-SET: Unisex-Kasack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40525.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205967_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205967_z_PLP_internet.jpg title205967_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40525.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40525 data-price-boxproduct-id-40525> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40525 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40525) data-price-amount69.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 69,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40525-${$id(slider-id)}` x-defer> 3er-SET: Unisex-Kasack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden3 > active && 3 (active + pageSize) ? false : true aria-labelItem 3 :aria-describedby`slide-desc-40528-${$id(slider-id)}`> div x-datainitProductItem__6989b3da622a7(https://www.valaire.at/3er-set-damen-komfortbundhose-k-p3575062-20597101.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3575062_20597101 @update-hash-40528.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl title3er-SET: Damen-Komfortbundhose classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40528.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205971_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205971_z_PLP_internet.jpg title205971_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40528.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40528 data-price-boxproduct-id-40528> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40528 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40528) data-price-amount84.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 84,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40528-${$id(slider-id)}` x-defer> 3er-SET: Damen-Komfortbundhose /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden4 > active && 4 (active + pageSize) ? false : true aria-labelItem 4 :aria-describedby`slide-desc-40509-${$id(slider-id)}`> div x-datainitProductItem__6989b3da1c668(https://www.valaire.at/arm-shirt-3er-pack-k-p3568249-20588901.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3568249_20588901 @update-hash-40509.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl title¾-Arm-Shirt, 3er-Pack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40509.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205889_01_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205889_01_z_PLP_internet.jpg title205889_01_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40509.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40509 data-price-boxproduct-id-40509> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40509 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40509) data-price-amount34.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 34,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40509-${$id(slider-id)}` x-defer> ¾-Arm-Shirt, 3er-Pack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden5 > active && 5 (active + pageSize) ? false : true aria-labelItem 5 :aria-describedby`slide-desc-40526-${$id(slider-id)}`> div x-datainitProductItem__6989b3da6702d(https://www.valaire.at/3er-set-unisex-kasack-k-p3572489-20596801.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3572489_20596801 @update-hash-40526.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl title3er-SET: Unisex-Kasack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40526.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205968_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205968_z_PLP_internet.jpg title205968_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40526.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40526 data-price-boxproduct-id-40526> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40526 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40526) data-price-amount69.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 69,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40526-${$id(slider-id)}` x-defer> 3er-SET: Unisex-Kasack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden6 > active && 6 (active + pageSize) ? false : true aria-labelItem 6 :aria-describedby`slide-desc-40524-${$id(slider-id)}`> div x-datainitProductItem__6989b3da6f80c(https://www.valaire.at/3er-set-unisex-kasack-k-p3572489-20596901.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3572489_20596901 @update-hash-40524.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl title3er-SET: Unisex-Kasack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40524.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205969_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205969_z_PLP_internet.jpg title205969_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40524.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40524 data-price-boxproduct-id-40524> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40524 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40524) data-price-amount69.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 69,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40524-${$id(slider-id)}` x-defer> 3er-SET: Unisex-Kasack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden7 > active && 7 (active + pageSize) ? false : true aria-labelItem 7 :aria-describedby`slide-desc-40527-${$id(slider-id)}`> div x-datainitProductItem__6989b3da7b184(https://www.valaire.at/3er-set-unisex-kasack-k-p3572489-20597001.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3572489_20597001 @update-hash-40527.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl title3er-SET: Unisex-Kasack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-40527.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205970_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205970_z_PLP_internet.jpg title205970_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-40527.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id40527 data-price-boxproduct-id-40527> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D40527 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D40527) data-price-amount69.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 69,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-40527-${$id(slider-id)}` x-defer> 3er-SET: Unisex-Kasack /a> /div> /div> /div> div classslide js_slide pl-5 lg:pl-0 w-96 snap-center last:mr-12 w-1/2 lg:w-1/3 rolegroup :aria-hidden8 > active && 8 (active + pageSize) ? false : true aria-labelItem 8 :aria-describedby`slide-desc-39889-${$id(slider-id)}`> div x-datainitProductItem__6989b3d9b139e(https://www.valaire.at/langarmshirt-3er-pack-k-p3552321-20588701.html) classitem product product-item flex flex-col p-1.5 bg-gray-100 min-w-52 !gap-0 slider w-full h-full data-skuK_P3552321_20588701 @update-hash-39889.windowonUpdateHash($event.detail.hash)> a :hrefproductUrl titleLangarmshirt, 3er-Pack classmb-0 block mx-auto mb-3 bg-secondary-50 scale-100 hover:scale-105 transition-transform duration-200 transform tabindex-1> img classobject-contain aspect-4/5 max-w-full h-auto product-image-photo x-data @update-gallery-39889.window$root.src $event.detail srchttps://www.valaire.at/media/catalog/product/cache/cecf2573ad7b491f5f1ea34303afc31b/2/0/205887_z_PLP_internet_9.jpg loadinglazy width700 height875 alt205887_z_PLP_internet.jpg title205887_z_PLP_internet.jpg> /a> div classflex flex-col justify-center w-full px-2> div x-datainitPriceBox() x-deferintersect classwhitespace-nowrap text-center text-m @update-prices-39889.windowupdatePrice($event.detail);> div classprice-box price-final_price data-rolepriceBox data-product-id39889 data-price-boxproduct-id-39889> span classnormal-price>span x-data x-idproduct\u002Dprice\u002D39889 classprice-container price-final_price tax weee> span :id$id(product\u002Dprice\u002D39889) data-price-amount39.99 data-price-typefinalPrice classprice-wrapper >span classprice>€ 39,99/span>/span> /span>/span> /div> /div> a classtext-xs !leading-none text-center :hrefproductUrl :id`slide-desc-39889-${$id(slider-id)}` x-defer> Langarmshirt, 3er-Pack /a> /div> /div> /div> div classslide js_dummy_slide last:mr-12 :class{pl-5 lg:pl-0 w-96 snap-center flex-none w\u002D1\u002F2\u0020lg\u003Aw\u002D1\u002F3 : pageFillers > 0}> /div> /div> template x-ifitemCount > pageSize> div classw-full absolute top-1/2 hidden xl:block :id$id(slider-nav)> button typebutton :disabledactive 0 classabsolute bottom-1/2 -right-0 z-40 text-black rounded-full shadow-xl outline-none focus:outline-none size-8 bg-white hover:bg-primary-300 transition-colors flex justify-center items-center :class{ opacity-25 shadow-0 pointer-events-none : active 0 } aria-labelPrevious slide @clickscrollPrevious>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewbox0 0 24 24 fillnone classsize-4 aria-hiddentrue> path fill-ruleevenodd clip-ruleevenodd dM4.25 12C4.25 11.5858 4.58579 11.25 5 11.25H19C19.4142 11.25 19.75 11.5858 19.75 12C19.75 12.4142 19.4142 12.75 19 12.75H5C4.58579 12.75 4.25 12.4142 4.25 12Z fillcurrentColor>/path> path fill-ruleevenodd clip-ruleevenodd dM12.5303 4.46967C12.8232 4.76256 12.8232 5.23744 12.5303 5.53033L6.06066 12L12.5303 18.4697C12.8232 18.7626 12.8232 19.2374 12.5303 19.5303C12.2374 19.8232 11.7626 19.8232 11.4697 19.5303L4.46967 12.5303C4.17678 12.2374 4.17678 11.7626 4.46967 11.4697L11.4697 4.46967C11.7626 4.17678 12.2374 4.17678 12.5303 4.46967Z fillcurrentColor>/path>/svg>/button> button typebutton :disabledactive > itemCount-pageSize classabsolute bottom-1/2 -right-10 shadow-lg hover:shadow-xl z-40 text-black rounded-full outline-none focus:outline-none size-8 bg-white hover:bg-primary-300 transition-colors flex justify-center items-center :class{ opacity-25 pointer-events-none : active > itemCount-pageSize } aria-labelNext slide @clickscrollNext>svg xmlnshttp://www.w3.org/2000/svg width24 height24 fillnone viewbox0 0 24 24 classsize-4 aria-hiddentrue> path fillcurrentColor fill-ruleevenodd dM4 11.75a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5h-14a.75.75 0 0 1-.75-.75Z clip-ruleevenodd>/path> path fillcurrentColor fill-ruleevenodd dM11.22 4.22a.75.75 0 0 1 1.06 0l7 7a.75.75 0 0 1 0 1.06l-7 7a.75.75 0 1 1-1.06-1.06l6.47-6.47-6.47-6.47a.75.75 0 0 1 0-1.06Z clip-ruleevenodd>/path>/svg>/button> /div> /template> /div> span idmagento\framework\view\element\template_9-slider-end tabindex-1>/span> /div> /div>/div> /div>/div>/div>/div>/div>/div>/main>div classpage-bottom> /div>footer classpage-footer>div classfooter content> div classbg-secondary-50 py-9 mx-auto> div classcontainer grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-x-6 lg:gap-6> div classpt-4 pb-2 lg:pt-0 border-t border-gray-200 md:border-0 first:pt-0 first:border-0> span classtext-m md:text-base pb-4 md:pb-5 font-bold>Shop/span> div classlg:pb-0 font-medium> nav aria-labelShop> ul> li> a classinline-block text-m lg:text-base py-2 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 hrefhttps://www.valaire.at/alle-produkte.html > Alle Produkte /a> /li> li> a classinline-block text-m lg:text-base py-2 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 hrefhttps://www.valaire.at/kasacks-kittel.html > Kasacks /a> /li> li> a classinline-block text-m lg:text-base py-2 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 hrefhttps://www.valaire.at/arzt-laborkittel.html > Arzt- & Laborkittel /a> /li> li> a classinline-block text-m lg:text-base py-2 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 hrefhttps://www.valaire.at/hosen.html > Hosen /a> /li> li> a classinline-block text-m lg:text-base py-2 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 hrefhttps://www.valaire.at/polos.html > Shirts /a> /li> li> a classinline-block text-m lg:text-base py-2 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 hrefhttps://www.valaire.at/jacken.html > Jacken /a> /li> li> a classinline-block text-m lg:text-base py-2 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 hrefhttps://www.valaire.at/sets.html > Spar-Sets /a> /li> /ul>/nav> /div> /div> div classpt-4 pb-2 lg:pt-0 border-t border-gray-200 md:border-0 first:pt-0 first:border-0> span classtext-m md:text-base pb-4 md:pb-5 font-bold>Service/span> div classlg:pb-0 font-medium> nav aria-labelCustomer Services> ul> li> a classinline-block text-m lg:text-base py-2 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 hrefhttps://www.valaire.at/faq-haufig-gestellte-fragen > FAQ /a> /li> /ul>/nav> /div> /div> div classpt-4 pb-2 lg:pt-0 border-t border-gray-200 md:border-0 first:pt-0 first:border-0> span classtext-m md:text-base pb-4 md:pb-5 font-bold>Valaire/span> div classlg:pb-0 font-medium> nav aria-labelFirmenname/Praxis/Institution> ul> li> a classinline-block text-m lg:text-base py-2 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 hrefhttps://www.valaire.at/about-valaire > Über uns /a> /li> li> a classinline-block text-m lg:text-base py-2 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 hrefhttps://www.valaire.at/warum-valaire > Warum Valaire /a> /li> /ul>/nav> /div> /div> div classpt-4 pb-2 lg:pt-0 border-t border-gray-200 md:border-0 first:pt-0 first:border-0> span classtext-m md:text-base pb-4 md:pb-5 font-bold>Kundenkonto/span> div classlg:pb-0 font-medium> nav aria-labelAccount> ul> li> a classinline-block text-m lg:text-base py-2 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 onclickhyva.setCookie && hyva.setCookie( login_redirect, window.location.href, 1 ) hrefhttps://www.valaire.at/customer/account/index/ >Anmelden/a>/li> li> a classinline-block text-m lg:text-base py-1.5 underline decoration-transparent hover:decoration-gray-950 transition-colors duration-300 hrefhttps://www.valaire.at/customer/account/create/ >Ein Konto erstellen/a> /li> /ul>/nav> /div> /div> /div>/div> div classbg-white> div classcontainer py-4 flex gap-8 flex-wrap justify-center> img classrounded bg-gray-100/50 border-y border-b-gray-100 border-t-white/20 srchttps://www.valaire.at/static/version1767596242/frontend/Basecom/valaire/de_AT/images/payment/invoice.svg altRechnung width52 height32> img classrounded bg-gray-100/50 border-y border-b-gray-100 border-t-white/20 srchttps://www.valaire.at/static/version1767596242/frontend/Basecom/valaire/de_AT/images/payment/visa-card.svg altVisum width52 height32> img classrounded bg-gray-100/50 border-y border-b-gray-100 border-t-white/20 srchttps://www.valaire.at/static/version1767596242/frontend/Basecom/valaire/de_AT/images/payment/mastercard-card.svg altMastercard width52 height32> img classrounded bg-gray-100/50 border-y border-b-gray-100 border-t-white/20 srchttps://www.valaire.at/static/version1767596242/frontend/Basecom/valaire/de_AT/images/payment/paypal-card.svg altPaypal width52 height32>/div> /div>div classbg-gray-50 py-6> div classcontainer flex justify-between items-center flex-col sm:flex-row text-sm> div> span>© 2026/span>/div> nav aria-labelLegal Menu> a hrefhttps://www.valaire.at/impressum classinline-block py-1 px-2 sm:px-0 sm:mr-4 sm:last:mr-0 hover:underline >Impressum/a> a hrefhttps://www.valaire.at/datenschutz classinline-block py-1 px-2 sm:px-0 sm:mr-4 sm:last:mr-0 hover:underline >Datenschutz/a> a hrefhttps://www.valaire.at/agb classinline-block py-1 px-2 sm:px-0 sm:mr-4 sm:last:mr-0 hover:underline >AGB/a> /nav> /div>/div>/div>/footer> !-- Start Google Analytics 4 for Google Tag Manager by MagePal --> !-- End Google Analytics 4 for Google Tag Manager by MagePal --> style> @view-transition { navigation: auto; }/style> !-- Start Google Analytics 4 for Google Tag Manager by MagePal -->!-- End Google Analytics 4 for Google Tag Manager by MagePal --> /div>script typetext/javascript srchttps://www.valaire.at/static/version1767596242/frontend/Basecom/valaire/de_AT/Smile_ElasticsuiteTracker/js/tracking.js>/script>script typetext/javascript> function waitForEventOnce(target, eventName) { return new Promise(resolve > { const handler (event) > { target.removeEventListener(eventName, handler); resolve(event); }; target.addEventListener(eventName, handler); }); } function waitForDOMReady() { return document.readyState ! loading ? Promise.resolve() : waitForEventOnce(document, DOMContentLoaded); } function waitForConsentUpdate() { if (window.consent.analytics) { return Promise.resolve(); } return waitForEventOnce(window, uc-analytics-consent-granted); } function waitForPrivateContent() { return waitForEventOnce(window, private-content-loaded); } /** * This is triggered within the MagePal Ga4 DataLLayer Template override * @see app/design/frontend/Basecom/hyva/MagePal_GoogleAnalytics4/templates/data_layer.phtml * * @returns {Promiseunknown>} */ function waitForMpGa4Init() { return waitForEventOnce(window, google-analytics-4-data-layer-initialized); } function waitForAbTastyConsentInit() { return waitForEventOnce(window, ab-tasty-consent-initialized); } window.waitForConditions async function ( { dom false, consent false, privateContent false, mpGa4Init false, abTastyConsentInit false } {} ) { const result {}; const tasks ; if (dom) { tasks.push( waitForDOMReady().then(() > { result.dom true; }) ); } if (consent) { tasks.push( waitForConsentUpdate().then(() > { result.consent true; }) ); } if (abTastyConsentInit) { tasks.push( waitForAbTastyConsentInit().then(() > { result.abTastyConsentInit true; }) ); } if (privateContent) { tasks.push( waitForPrivateContent().then(event > { result.privateContent event.detail ?? null; }) ); } if (mpGa4Init) { tasks.push( waitForMpGa4Init().then(() > { result.mpGa4Init true; }) ); } await Promise.all(tasks); return result; } window.consent window.consent || { analytics: false, gtmLoaded: false }; window.dataLayer window.dataLayer || ; function gtag() { dataLayer.push(arguments); } gtag(consent, default, { ad_personalization: denied, ad_storage: denied, ad_user_data: denied, analytics_storage: denied, wait_for_update: 2000 }); const getMagentoCookiePath function () { if (window.COOKIE_CONFIG && window.COOKIE_CONFIG.path) { return window.COOKIE_CONFIG.path; } return /; } const setCookie function (name, value true) { const path getMagentoCookiePath(); document.cookie `${encodeURIComponent(name)}${encodeURIComponent(value)}; path${path}`; } const removeCookie function (name) { const path getMagentoCookiePath(); document.cookie `${encodeURIComponent(name)}; path${path}; expiresThu, 01 Jan 1970 00:00:00 GMT`; } const initGTM function (e) { if (window.consent.gtmLoaded) { return; } const serviceName Google Tag Manager; const hasService e.detail.hasOwnProperty(serviceName); if (!hasService) { return; } const serviceConsent e.detailserviceName; if (!serviceConsent) { return; } (function(w, d, s, l, i) { wl wl || ; wl.push({ gtm.start: new Date().getTime(), event: gtm.js }); var f d.getElementsByTagName(s)0, j d.createElement(s), dl l ! dataLayer ? &l + l : ; j.async true; j.src https://www.googletagmanager.com/gtm.js?id + i + dl + ; f.parentNode.insertBefore(j, f); })(window, document, script, dataLayer, GTM-WMN57KS6); window.consent.gtmLoaded true; } const consentUpdate function (e) { const ucAnalyticsService Google Analytics 4; const ucAdService Google Ads Remarketing; if (e.detail.hasOwnProperty(ucAnalyticsService) && e.detail.hasOwnProperty(ucAdService)) { gtag(consent, update, { ad_personalization: e.detailucAdService ? granted:denied, ad_storage: e.detailucAdService ? granted:denied, ad_user_data: e.detailucAdService ? granted:denied, analytics_storage: e.detailucAnalyticsService ? granted:denied }); } else { if (e.detail.hasOwnProperty(ucAdService)) { gtag(consent, update, { ad_personalization: e.detailucAdService ? granted:denied, ad_storage: e.detailucAdService ? granted:denied, ad_user_data: e.detailucAdService ? granted:denied, }); } if (e.detail.hasOwnProperty(ucAnalyticsService)) { gtag(consent, update, { analytics_storage: e.detailucAnalyticsService ? granted:denied }); } } } const startAnalytics function (e) { const serviceName Google Analytics 4; const hasService e.detail.hasOwnProperty(serviceName); if (!hasService) { return; } const serviceConsent e.detailserviceName; window.consent.analytics serviceConsent; if (!serviceConsent) { return; } window.dispatchEvent(new CustomEvent(uc-analytics-consent-granted)); } const initAbTastyCookie function (e) { removeCookie(ab_tasty_consent); const serviceName AB Tasty; const hasService e.detail.hasOwnProperty(serviceName); if (!hasService) { window.dispatchEvent(new CustomEvent(ab-tasty-consent-initialized)); return; } const serviceConsent e.detailserviceName; if (serviceConsent) { setCookie(ab_tasty_consent); } window.dispatchEvent(new CustomEvent(ab-tasty-consent-initialized)); } const convertBoolean function(ucCategory) { const converted {}; Object.keys(ucCategory).forEach((key) > { convertedkey ucCategorykey ? true : false; }); return converted; } window.addEventListener(uc-event, function (e) { if (e.detail && e.detail.event consent_status) { consentUpdate(e); const ucCategory convertBoolean(e.detail.ucCategory); try { setCookie(uc_consent, JSON.stringify(ucCategory)); } catch (err) { console.error(Failed to set uc_consent cookie:, err); } initAbTastyCookie(e); initGTM(e); startAnalytics(e); } }); let lastPushedCustomer null; let lastPushedCart null; window.waitForConditions({ consent: true }) .then(() > { const dataLayer {ecommerce:{currencyCode:EUR},pageType:cms_index_index,list:Home Page},{event:homePage},{event:allPage},{event:cmsIndexIndexPage}; if (Array.isArray(dataLayer)) { dataLayer.forEach(function (data) { bscAnalytics.pushEvent(data); }); } } ); /** * Original function from * @see vendor/hyva-themes/magento2-magepal-googletagmanager/src/view/frontend/templates/js.phtml * * @param object * @returns {unknown} */ function objectKeyExist(object) { const items Array.isArray(object) ? object : Object.values(object); return items.reduce((acc, v) > (acc || v.customer || v.cart), false); } const isObject x > x Object(x); const has (x, p) > isObject(x) && x.hasOwnProperty(p); const isEqual (x, y) > JSON.stringify(x) JSON.stringify(y); /** * Original function from * @see vendor/hyva-themes/magento2-magepal-googletagmanager/src/view/frontend/templates/js.phtml * * @param _gtmDataLayer * @param _dataObject * @param _forceUpdate */ function updateDataLayer(_gtmDataLayer, _dataObject, _forceUpdate) { let customer {isLoggedIn : false}, cart {hasItems: false}; if (_gtmDataLayer ! undefined && (!objectKeyExist(_gtmDataLayer) || _forceUpdate)) { if (isObject(_dataObject) && has(_dataObject, customer)) { customer _dataObject.customer; } if (isObject(_dataObject) && has(_dataObject, cart)) { cart _dataObject.cart; } if (!isEqual(lastPushedCart, cart) || !isEqual(lastPushedCustomer, customer)) { window.dispatchEvent(new CustomEvent(mpCustomerSession, {detail: customer, cart, _gtmDataLayer})); _gtmDataLayer.push({event: mpCustomerSession, customer: customer, cart: cart}); lastPushedCustomer customer; lastPushedCart cart; } } } window.waitForConditions({ consent: true, privateContent: true }) .then(({ privateContent }) > { updateDataLayer( window.dataLayer, privateContent.datamagepal-gtm-jsdatalayer || {}, true ); } );/script>script> document.addEventListener(DOMContentLoaded, function () { const inputsHoneySpamCheckTimeSubmit document.querySelectorAll(inputnamehoney_spam_focus_submit_times); window.jajumaHoneySpamTimeCheck {}; inputsHoneySpamCheckTimeSubmit.forEach(input > { const closestForm input.closest(form); if (closestForm) { const honeySpamFormInput closestForm.querySelector(inputnamehoney_spam_form); const valueHoneySpamForm honeySpamFormInput ? honeySpamFormInput.value : Math.random().toString(36).substring(2, 10); window.jajumaHoneySpamTimeCheckvalueHoneySpamForm ; const inputsHoneySpamCheck closestForm.querySelectorAll(input:not(typehidden), textarea); inputsHoneySpamCheck.forEach(inputForm > { inputForm.addEventListener(focus, function () { if (!window.jajumaHoneySpamTimeCheckvalueHoneySpamForm) { window.jajumaHoneySpamTimeCheckvalueHoneySpamForm Date.now(); } }); }); closestForm.addEventListener(submit, async function (event) { if (closestForm.id && closestForm.id review_form) return; event.preventDefault(); if (window.jajumaHoneySpamTimeCheckvalueHoneySpamForm) { const inputFocusSubmitTimeCheck closestForm.querySelector(inputnamehoney_spam_focus_submit_times); inputFocusSubmitTimeCheck.value window.jajumaHoneySpamTimeCheckvalueHoneySpamForm + _ + Date.now(); } closestForm.submit(); }); } }); });/script>script typetext/javascript> const initUsercentrics () > { const cmpScript document.createElement(script); cmpScript.id usercentrics-cmp; cmpScript.src https://web.cmp.usercentrics.eu/ui/loader.js; cmpScript.setAttribute(data-settings-id, ZBZ9Y41ssWvN1O); cmpScript.async true; const autoScript document.createElement(script); autoScript.src https://web.cmp.usercentrics.eu/modules/autoblocker.js; document.head.insertBefore(autoScript, document.head.firstChild); document.head.insertBefore(cmpScript, document.head.firstChild); }; window.addEventListener(DOMContentLoaded, initUsercentrics, { once: true });/script>script> use strict; (function (bscAnalytics) { function addMailHashModifier() { async function loadMailHash () { try { const response await fetch(`${BASE_URL}customer/section/load/?sectionsemail_hash`, { credentials: same-origin, method: GET, headers: { Content-Type: application/json, X-Requested-With: XMLHttpRequest } }); if (!response.ok) { return ; } const data await response.json(); return data?.email_hash?.email_hash ?? ; } catch (error) { return ; } }; function isInEventList (data) { const events add_to_cart, begin_checkout, view_cart, view_item_list, view_item, homePage ; return events.includes(data.event); }; return { execute: async function (data) { if (isInEventList(data)) { bscAnalytics.emailHash await loadMailHash(); dataemail_hash bscAnalytics.emailHash; } return data; } } }; bscAnalytics.pushModifier { addMailHash: addMailHashModifier() }; bscAnalytics.displayMode cms_index_index; bscAnalytics.pagination 1; bscAnalytics.currency EUR; /** * @returns {string} */ bscAnalytics.getCurrencyCode function () { return bscAnalytics.currency; }; /** * @param {array} itemsData * @returns {number} */ bscAnalytics.getValueFromItems function (itemsData) { let value 0; Array.from(itemsData).forEach(item > { const itemValue parseFloat(item.price) * item.quantity; value itemValue + value; }); return Number(value.toFixed(2)); }; /** * Build the event object for the dataLayer. * Overwrite all_items with null as it is unnecessary for the view_item_list event. * * @param event * @param {array} itemsData * @param {number} value * @returns {{pagination: *, ecommerce: {items}, currency: *, event, _clear: boolean}} */ bscAnalytics.buildItemsEventObject function (event, itemsData, value 0) { const eventData { event: event, ecommerce: { currency: bscAnalytics.currency, items: itemsData }, _clear: true }; const eventValue value 0 ? this.getValueFromItems(itemsData) : value; if (eventValue) { eventDataecommercevalue eventValue; } if (event view_item_list || event select_item) { eventDatapagination bscAnalytics.pagination } return eventData; }; /** * DataLayer push proxy also waits for the private content to be loaded. * * @param {object} data */ bscAnalytics.pushEvent async function (data) { if (!window.consent.analytics) { return; } for (const modifierKey in bscAnalytics.pushModifier) { const modifier bscAnalytics.pushModifiermodifierKey; data await modifier.execute(data); } const dataLayer window.dataLayer || ; dataLayer.push(data); }; bscAnalytics.deferToBrowser (callback, priority background) > { if (globalThis.scheduler?.postTask) { return scheduler.postTask(callback, { priority }); } return new Promise(resolve > { queueMicrotask(() > resolve(callback())); }); }; /** * @param eventName * @returns {null|object} */ bscAnalytics.getLayer function (eventName) { const layer dataLayer.find((layer) > layer.event eventName); return typeof layer undefined ? null : layer; } /** * @returns {string|null} */ bscAnalytics.getPlacement function () { const places { cms_page_view: CMS, cms_index_index: Homepage, catalog_category_view: PLP, catalog_product_view: PDP, checkout_cart_index: Cart, wishlist_index_index: Wishlist, checkout_cart_configure: PDP, hyva_checkout_index_index: Checkout, checkout_index_index: Checkout }; return typeof placesbscAnalytics.displayMode undefined ? null : placesbscAnalytics.displayMode; }; bscAnalytics.bindEventsToNodes function (elements, eventName) { Array.from(elements).forEach((element, index) > { element.addEventListener(click, (event) > { const target event?.currentTarget; if (!target || !(target instanceof HTMLElement)) { return; } const eventData { event: eventName, _clear: true }; const wishlistLocation target.dataset?.wishlistlocation; if (wishlistLocation) { eventDatawishlist_location wishlistLocation; } const isPromotion target.dataset?.promotionId; if (isPromotion) { index index + 1; eventDatapromotion_id target.dataset?.promotionId; eventDatapromotion_name target.dataset?.promotionName ?? ; eventDatacreative_slot index; } bscAnalytics.pushEvent(eventData); }); }); }; /** * Add an event listener to the element with the given data attribute name and * push the event to the dataLayer. * @param {string} className * @param {string} eventName * @returns {boolean} */ bscAnalytics.addClickEventToNodeByClass function (className, eventName) { const elements document.getElementsByClassName(className); if (elements.length 0) { return false; } bscAnalytics.bindEventsToNodes(elements, eventName); }; /** * Add an event listener to the element with the given class name and * push the event to the dataLayer. * @param {string} dataName * @param {string} eventName * @returns {boolean} */ bscAnalytics.addClickEventToNodeByData function (dataName, eventName) { const elements document.querySelectorAll(`${dataName}`); if (elements.length 0) { return false; } bscAnalytics.bindEventsToNodes(elements, eventName); }; /** * Add an event listener to the element with the given class name and * push the event to the dataLayer. * @param idName * @param eventName * @returns {boolean} */ bscAnalytics.addClickEventToNodeById function (idName, eventName) { const element document.getElementById(idName); if (element null) { return false; } element.addEventListener(click, function () { bscAnalytics.pushEvent({ event: eventName, _clear: true }); }); }; }(window.bscAnalytics window.bscAnalytics || {}));/script>script> var BASE_URL https://www.valaire.at/; var THEME_PATH https://www.valaire.at/static/version1767596242/frontend/Basecom/valaire/de_AT; var COOKIE_CONFIG { expires: null, path: \u002F, domain: .valaire.at, secure: true, lifetime: 604800, cookie_restriction_enabled: false }; var CURRENT_STORE_CODE at_valaire_de; var CURRENT_WEBSITE_ID 13; window.hyva window.hyva || {} window.cookie_consent_groups window.cookie_consent_groups || {} window.cookie_consent_groupsnecessary true; window.cookie_consent_config window.cookie_consent_config || {}; window.cookie_consent_confignecessary .concat( window.cookie_consent_confignecessary || , user_allowed_save_cookie, form_key, mage-messages, private_content_version, mage-cache-sessid, last_visited_store, section_data_ids );/script>script> use strict; (function( hyva, undefined ) { function lifetimeToExpires(options, defaults) { const lifetime options.lifetime || defaults.lifetime; if (lifetime) { const date new Date; date.setTime(date.getTime() + lifetime * 1000); return date; } return null; } function generateRandomString() { const allowedCharacters 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ, length 16; let formKey , charactersLength allowedCharacters.length; for (let i 0; i length; i++) { formKey + allowedCharactersMath.round(Math.random() * (charactersLength - 1)) } return formKey; } const sessionCookieMarker {noLifetime: true} const cookieTempStorage {}; const internalCookie { get(name) { const v document.cookie.match((^|;) ? + name + (^;*)(;|$)); return v ? v2 : null; }, set(name, value, days, skipSetDomain) { let expires, path, domain, secure, samesite; const defaultCookieConfig { expires: null, path: /, domain: null, secure: false, lifetime: null, samesite: lax }; const cookieConfig window.COOKIE_CONFIG || {}; expires days && days ! sessionCookieMarker ? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig) : lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires; path cookieConfig.path || defaultCookieConfig.path; domain !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain); secure cookieConfig.secure || defaultCookieConfig.secure; samesite cookieConfig.samesite || defaultCookieConfig.samesite; document.cookie name + + encodeURIComponent(value) + (expires && days ! sessionCookieMarker ? ; expires + expires.toGMTString() : ) + (path ? ; path + path : ) + (domain ? ; domain + domain : ) + (secure ? ; secure : ) + (samesite ? ; samesite + samesite : lax); }, isWebsiteAllowedToSaveCookie() { const allowedCookies this.get(user_allowed_save_cookie); if (allowedCookies) { const allowedWebsites JSON.parse(unescape(allowedCookies)); return allowedWebsitesCURRENT_WEBSITE_ID 1; } return false; }, getGroupByCookieName(name) { const cookieConsentConfig window.cookie_consent_config || {}; let group null; for (let prop in cookieConsentConfig) { if (!cookieConsentConfig.hasOwnProperty(prop)) continue; if (cookieConsentConfigprop.includes(name)) { group prop; break; } } return group; }, isCookieAllowed(name) { const cookieGroup this.getGroupByCookieName(name); return cookieGroup ? window.cookie_consent_groupscookieGroup : this.isWebsiteAllowedToSaveCookie(); }, saveTempStorageCookies() { for (const name, data of Object.entries(cookieTempStorage)) { if (this.isCookieAllowed(name)) { this.set(name, datavalue, datadays, dataskipSetDomain); delete cookieTempStoragename; } } } }; hyva.getCookie (name) > { const cookieConfig window.COOKIE_CONFIG || {}; if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) { return cookieTempStoragename ? cookieTempStoragenamevalue : null; } return internalCookie.get(name); } hyva.setCookie (name, value, days, skipSetDomain) > { const cookieConfig window.COOKIE_CONFIG || {}; if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) { cookieTempStoragename {value, days, skipSetDomain}; return; } return internalCookie.set(name, value, days, skipSetDomain); } hyva.setSessionCookie (name, value, skipSetDomain) > { return hyva.setCookie(name, value, sessionCookieMarker, skipSetDomain) } hyva.getBrowserStorage () > { const browserStorage window.localStorage || window.sessionStorage; if (!browserStorage) { console.warn(Browser Storage is unavailable); return false; } try { browserStorage.setItem(storage_test, 1); browserStorage.removeItem(storage_test); } catch (error) { console.warn(Browser Storage is not accessible, error); return false; } return browserStorage; } hyva.postForm (postParams) > { const form document.createElement(form); let data postParams.data; if (! postParams.skipUenc && ! data.uenc) { data.uenc btoa(window.location.href); } form.method POST; form.action postParams.action; Object.keys(postParams.data).map(key > { const field document.createElement(input); field.type hidden field.value postParams.datakey; field.name key; form.appendChild(field); }); const form_key document.createElement(input); form_key.type hidden; form_key.value hyva.getFormKey(); form_key.nameform_key; form.appendChild(form_key); document.body.appendChild(form); form.submit(); } hyva.getFormKey function () { let formKey hyva.getCookie(form_key); if (!formKey) { formKey generateRandomString(); hyva.setCookie(form_key, formKey); } return formKey; } hyva.formatPrice (value, showSign, options {}) > { const groupSeparator options.groupSeparator; const decimalSeparator options.decimalSeparator delete options.groupSeparator; delete options.decimalSeparator; const formatter new Intl.NumberFormat( de\u002DAT, Object.assign({ style: currency, currency: EUR, signDisplay: showSign ? always : auto }, options) ); return (typeof Intl.NumberFormat.prototype.formatToParts function) ? formatter.formatToParts(value).map(({type, value}) > { switch (type) { case currency: return \u20AC || value; case minusSign: return - ; case plusSign: return + ; case group: return groupSeparator ! undefined ? groupSeparator : value; case decimal: return decimalSeparator ! undefined ? decimalSeparator : value; default : return value; } }).reduce((string, part) > string + part) : formatter.format(value); } const formatStr function (str, nStart) { const args Array.from(arguments).slice(2); return str.replace(/(%+)(0-9+)/g, (m, p, n) > { const idx parseInt(n) - nStart; if (argsidx null || argsidx void 0) { return m; } return p.length % 2 ? p.slice(0, -1).replace(%%, %) + argsidx : p.replace(%%, %) + n; }) } hyva.str function (string) { const args Array.from(arguments); args.splice(1, 0, 1); return formatStr.apply(undefined, args); } hyva.strf function () { const args Array.from(arguments); args.splice(1, 0, 0); return formatStr.apply(undefined, args); } /** * Take a html string as `content` parameter and * extract an element from the DOM to replace in * the current page under the same selector, * defined by `targetSelector` */ hyva.replaceDomElement (targetSelector, content) > { const parser new DOMParser(); const doc parser.parseFromString(content, text/html); const contentNode doc.querySelector(targetSelector); if (!contentNode || !document.querySelector(targetSelector)) { return; } hyva.activateScripts(contentNode); document.querySelector(targetSelector).replaceWith(contentNode); window.dispatchEvent(new CustomEvent(reload-customer-section-data)); hyva.initMessages(); } hyva.removeScripts (contentNode) > { const scripts contentNode.getElementsByTagName(script); for (let i 0; i scripts.length; i++) { scriptsi.parentNode.removeChild(scriptsi); } const templates contentNode.getElementsByTagName(template); for (let i 0; i templates.length; i++) { const container document.createElement(div); container.innerHTML templatesi.innerHTML; hyva.removeScripts(container); templatesi.innerHTML container.innerHTML; } } hyva.activateScripts (contentNode) > { const scripts Array.from(contentNode.getElementsByTagName(script)); for (const original of scripts) { const script document.createElement(script); original.type && (script.type original.type); script.innerHTML original.innerHTML; original.parentNode.removeChild(original) document.head.appendChild(script); } return contentNode; } const replace {+: -, /: _, : ,}; hyva.getUenc () > btoa(window.location.href).replace(/+//g, match > replacematch); let currentTrap; const focusableElements (rootElement) > { const selector button, href, input, select, textarea, details, tabindex:not(tabindex-1; return Array.from(rootElement.querySelectorAll(selector)) .filter(el > { return el.style.display ! none && !el.disabled && el.tabIndex ! -1 && (el.offsetWidth || el.offsetHeight || el.getClientRects().length) }) } const focusTrap (e) > { const isTabPressed e.key Tab || e.keyCode 9; if (!isTabPressed) return; const focusable focusableElements(currentTrap) const firstFocusableElement focusable0 const lastFocusableElement focusablefocusable.length - 1 e.shiftKey ? document.activeElement firstFocusableElement && (lastFocusableElement.focus(), e.preventDefault()) : document.activeElement lastFocusableElement && (firstFocusableElement.focus(), e.preventDefault()) }; hyva.releaseFocus (rootElement) > { if (currentTrap && (!rootElement || rootElement currentTrap)) { currentTrap.removeEventListener(keydown, focusTrap) currentTrap null } } hyva.trapFocus (rootElement) > { if (!rootElement) return; hyva.releaseFocus() currentTrap rootElement rootElement.addEventListener(keydown, focusTrap) const firstElement focusableElements(rootElement)0 firstElement && firstElement.focus() } hyva.safeParseNumber (rawValue) > { const number rawValue ? parseFloat(rawValue) : null; return Array.isArray(number) || isNaN(number) ? rawValue : number; } const toCamelCase s > s.split(_).map(word > word.charAt(0).toUpperCase() + word.slice(1)).join(); hyva.createBooleanObject (name, value false, additionalMethods {}) > { const camelCase toCamelCase(name); const key __hyva_bool_ + name return new Proxy(Object.assign( additionalMethods, { key: !!value, name() {return !!thiskey}, ! + name() {return !thiskey}, not + camelCase() {return !thiskey}, toggle + camelCase() {thiskey !thiskey}, `set${camelCase}True`() {thiskey true}, `set${camelCase}False`() {thiskey false}, } ), { set(target, prop, value) { return prop name ? (targetkey !!value) : Reflect.set(...arguments); } }) } hyva.alpineInitialized (fn) > window.addEventListener(alpine:initialized, fn, {once: true}) window.addEventListener(alpine:init, () > Alpine.data({}, () > ({})), {once: true}); window.addEventListener(user-allowed-save-cookie, () > internalCookie.saveTempStorageCookies()) }( window.hyva window.hyva || {} ));/script>script> if (!window.IntersectionObserver) { window.IntersectionObserver function (callback) { this.observe el > el && callback(this.takeRecords()); this.takeRecords () > {isIntersecting: true, intersectionRatio: 1}; this.disconnect () > {}; this.unobserve () > {}; } }/script>script typeapplication/ld+json>{@context:http:\/\/schema.org,@type:WebSite,url:https:\/\/www.valaire.at\/,name:Valaire}/script>script typeapplication/ld+json>{@context:http:\/\/schema.org\/,@type:WebPage,speakable:{@type:SpeakableSpecification,cssSelector:.cms-content,xpath:\/html\/head\/title}}/script>script> use strict; (function () { function pushCouponEvents(coupon, response) { bscAnalytics.pushEvent({ event: add_coupon, coupon: coupon, _clear: true }); bscAnalytics.pushEvent({ event: coupon_response, coupon: coupon, response: response, page_path: window.location.pathname, _clear: true }); } function checkCouponCodeResponse(couponCookieValue) { let coupon; let response; const invalid _invalid; const later _later; const applied _applied; if (couponCookieValue.includes(invalid)) { coupon couponCookieValue.split(invalid)0; response no; } else if (couponCookieValue.includes(later)) { coupon couponCookieValue.split(later)0; response later; } else if (couponCookieValue.includes(applied)) { coupon couponCookieValue.split(applied)0; response yes; } return { coupon: coupon, response: response }; } function deleteCouponCookie() { if (typeof hyva undefined) { return; } hyva.setCookie(coupon_url_cookie, null, -1); } function dispatchMessages(message, type) { typeof window.dispatchMessages ! undefined && window.dispatchMessages( { type: type, text: message }, 10000 ); } function dispatchEventAndMessage(coupon, response) { pushCouponEvents(coupon, response); let message response yes ? The\u0020coupon\u0020code\u0020was\u0020successfully\u0020applied\u003A: The\u0020coupon\u0020code\u0020could\u0020not\u0020be\u0020applied\u003A; message + + coupon; let type response yes ? success : error; dispatchMessages(message, type); } window.waitForConditions({ dom: true, consent: true }) .then(() > { window.addEventListener(coupon-applied, function (event) { localStorage.setItem(buttonAppliedCoupon, event.detail.coupon); }); window.addEventListener(coupon-revoked, function () { deleteCouponCookie(); }); window.addEventListener(coupon-applied-luma, function (event) { const couponCodeInput document.getElementById(discount-code); pushCouponEvents(couponCodeInput.value, event.detail.response); }); } ); window.waitForConditions({ consent: true, privateContent: true }) .then(({ privateContent }) > { const couponCookieValue hyva.getCookie(coupon_url_cookie); if (!couponCookieValue) { const couponCodeInput document.getElementById(coupon_code); const appliedCoupon localStorage.getItem(buttonAppliedCoupon); if (appliedCoupon && couponCodeInput) { const response couponCodeInput.value appliedCoupon ? yes : no; pushCouponEvents(appliedCoupon, response); localStorage.removeItem(buttonAppliedCoupon); return; } return; } const couponResp checkCouponCodeResponse(couponCookieValue); if (couponResp.response later) { dispatchMessages( Ihr\u0020Rabattcode\u0020wurde\u0020f\u00FCr\u0020Sie\u0020gespeichert., success ); deleteCouponCookie(); return; } dispatchEventAndMessage(couponResp.coupon, couponResp.response); deleteCouponCookie(); } ); })();/script>script typetext/javascript> (function () { use strict; window.waitForConditions({ dom: true, consent: true }) .then(() > { const trackedElements document.querySelectorAll(data-promotion-id); const uniqueElements Array.from( new Map( Array.from(trackedElements).map(el > el.dataset.promotionId, el) ).values() ); const observer new IntersectionObserver((entries, obs) > { entries.forEach(entry > { if (entry.isIntersecting) { const el entry.target; const promotionId el.dataset?.promotionId; const promotionName el.dataset?.promotionName; const creativeSlot Array.from(uniqueElements).indexOf(el) + 1; bscAnalytics.deferToBrowser(() > { bscAnalytics.pushEvent({ event: view_promotion, promotion_id: promotionId, promotion_name: promotionName, creative_slot: creativeSlot, _clear: true }); }); obs.unobserve(el); } }); }); uniqueElements.forEach(el > observer.observe(el)); } ); })();/script>script> use strict; (function () { function getParentMenuNodes(element){ let currentElement element; let pathname element.innerText; while (currentElement ! null) { const parentList currentElement.closest(.snowdog-menu-top-link); if (parentList) { const childLink parentList.querySelector(.snowdog-menu-link); if (childLink ! currentElement) { pathname childLink.innerText + - + pathname; } currentElement parentList.parentElement; } else { break; } } return pathname; } function menuNavigationLinks() { const menuLinks document.getElementsByClassName(snowdog-menu-link); Array.from(menuLinks).forEach((link) > { link.addEventListener(click, function() { const navigationName getParentMenuNodes(this); const level level_ + this.getAttribute(data-level); bscAnalytics.pushEvent({ event: navigation_header, navigation_level: level, navigation_name: navigationName, _clear: true }); }); }); } function footerLinks () { const footerLinks document.querySelectorAll(.footer-main a); footerLinks.forEach((link) > { link.addEventListener(click, function() { const linkText this.innerText; const footerBlockHeading this.closest(details); if (footerBlockHeading ! null) { const footerBlockHeadingText footerBlockHeading.querySelector(summary).innerText; bscAnalytics.pushEvent({ event: navigation_footer, navigation_level: level_2, navigation_name: footerBlockHeadingText + - + linkText, _clear: true }); } }); }); } function categoryTileLinks () { const categoryTiles document.getElementsByClassName(category-tiles); Array.from(categoryTiles).forEach((tile) > { tile.addEventListener(click, function() { const tileName this.querySelector(itempropname).innerText; const categoryTileCollection document .getElementById(category-tile-collection) .getAttribute(data-name); bscAnalytics.pushEvent({ event: navigation_category, item_category: categoryTileCollection, item_category2: tileName, _clear: true }); }); }); } function quickOrder() { bscAnalytics.addClickEventToNodeByClass( js-quickorder, click_direct_order ); } function catalog() { bscAnalytics.addClickEventToNodeByClass( js-catalog, click_catalog ); bscAnalytics.addClickEventToNodeByClass( js-catalog-request, click_catalog_request ); } function wishlistViewButton() { bscAnalytics.addClickEventToNodeByClass( js-wishlist-view-button, view_wishlist ); } function myOrders() { bscAnalytics.addClickEventToNodeByClass( js-order-history, my_orders ); } function promotionLinks() { bscAnalytics.addClickEventToNodeByData( data-promotion-id, select_promotion ); } function embroideryService() { bscAnalytics.addClickEventToNodeByData( data-embroidery-service-start, start_embroidery ); bscAnalytics.addClickEventToNodeByData( data-embroidery-service-close, close_embroidery ); const modalElement document.getElementById(embroidery-service-modal); modalElement?.addEventListener( keydown, (event) > { if (event.key Escape) { bscAnalytics.pushEvent({ event: close_embroidery, _clear: true }); } } ); modalElement?.addEventListener( click, (event) > { const target event.target; const isModalContainer target.classList.contains(js-embroidery-modal-container); if (isModalContainer) { bscAnalytics.pushEvent({ event: close_embroidery, _clear: true }); } } ); } window.waitForConditions({ dom: true, consent: true }) .then(() > { menuNavigationLinks(); footerLinks(); categoryTileLinks(); quickOrder(); catalog(); wishlistViewButton(); myOrders(); promotionLinks(); embroideryService(); } ); })();/script>script typetext/javascript> (function() { use strict; function pageMeta(event) { const theme (window.THEME_PATH).split(/).pop(); const shop_language (theme.split(_)0).toUpperCase(); const shop_country (theme.split(_)1).toUpperCase(); const page_path window.location.pathname; const user_id event.data.customer.customer_id; const session_id event.data.customer.session_id; const login_status event.datamagepal-gtm-jsdatalayer.customer?.isLoggedIn ? login : logout; bscAnalytics.pushEvent({ event: page_meta, login_status: login_status, user_id: user_id, session_id: session_id, page_path: page_path, shop_country: shop_country, shop_language: shop_language, _clear: true }); } function customerAccountAction(event) { const magepalCustomerDatalayer event.data.customermpDataLayer; if (magepalCustomerDatalayer ! undefined) { magepalCustomerDatalayer.reverse(); magepalCustomerDatalayer.forEach((data) > { switch (dataevent) { case customerLoginAfter: bscAnalytics.pushEvent({ event: login, _clear: true }); break; case customerRegisterAfter: bscAnalytics.pushEvent({ event: registration, _clear: true }); break; } }); } } /** * Push event if the customer has unsubscribed from the newsletter * in a customer account. */ function CheckUnsubscribeCustomer() { if (JSON.parse(null) true) { bscAnalytics.pushEvent({ event: unsubscribe_newsletter, _clear: true }); } } /** * Push event if the customer has edited their account information * in a customer account. */ function CheckEditCustomer() { if (JSON.parse(null) true) { bscAnalytics.pushEvent({ event: change_account_information, _clear: true }); } } window.waitForConditions({ dom: true, consent: true, privateContent: true }) .then(({ privateContent }) > { customerAccountAction(privateContent); pageMeta(privateContent); } ); window.waitForConditions({ dom: true, consent: true }) .then(() > { CheckUnsubscribeCustomer(); CheckEditCustomer(); } ); })();/script>script typetext/javascript> window.dataLayer window.dataLayer || ; function init() { let refreshed false; const toCamelCase (str) > str.toLowerCase().replace(/^a-zA-Z0-9+(.)/g, (m, chr) > chr.toUpperCase()); /** Only enable after **/ window.addEventListener(reload-customer-section-data, (event) > { refreshed true }); let formValidationHistoryTracking null; ...document.querySelectorAll(required).forEach((input) > { input.addEventListener(invalid, () > { const id input.form.id if (id && id ! formValidationHistoryTracking) { const error { htmlId: id, pageTitle: document.title }; window.dataLayer.push({ event: formValidationFailed, formError: error }, { event: toCamelCase(validation Failed + id), formError: error }) formValidationHistoryTracking id; } }) }) } init()/script>script> document.body.addEventListener(touchstart, () > {}, {passive: true})/script>script typetext/plain data-usercentricsKlaviyo srchttps://static.klaviyo.com/onsite/js/klaviyo.js?company_idXB2vNw>/script>script> function initKlaviyoCustomerTracking() { return { sendCustomerDataToKlaviyo(data) { let _learnq window._learnq || ; let customer data.customer; if(customer.email && customer.klaviyo_tracking_allowed) { _learnq.push(identify, { $email: customer.email, $first_name: customer.firstname ? customer.firstname : , $last_name: customer.lastname ? customer.lastname : }); } } } }/script>script> function initHeader () { return { searchOpen: false, cart: {}, isCartOpen: false, headerTop: true, headerShrinkOffset: window.innerWidth > 768 ? 175 : 100, getData(data) { if (data.cart) { this.cart data.cart } }, isCartEmpty() { return !this.cart.summary_count }, toggleCart(event) { if (event.detail && event.detail.isOpen ! undefined) { this.isCartOpen event.detail.isOpen if (!this.isCartOpen && this.$refs && this.$refs.cartButton) { this.$refs.cartButton.focus() } } else { this.isCartOpen true } }, stickyHeader() { const stickableHeader document.getElementById(stickyheader); const messageBar document.querySelector(.page.messages); if (stickableHeader) { let headerHeight document.getElementById(stickyheader).offsetHeight; let prevScrollpos window.pageYOffset + headerHeight; let minScrollDistance 50; window.onscroll function() { let currentScrollPos window.pageYOffset; if (prevScrollpos > currentScrollPos || currentScrollPos minScrollDistance) { stickableHeader.style.top 0; messageBar ? messageBar.style.top headerHeight + px : null; } else { stickableHeader.style.top -100%; messageBar ? messageBar.style.top 0 : null; } prevScrollpos currentScrollPos; } } else { console.log(stickyHeader: required elements not found); } } } } function initCompareHeader() { return { compareProducts: null, itemCount: 0, receiveCompareData(data) { if (datacompare-products) { this.compareProducts datacompare-products; this.itemCount this.compareProducts.count; } } } }/script>script> use strict; const initMenuMobile_6989b25b73ac4 () > ({ open: false, activeNode: false, prevActiveNode: false, customerLoggedIn: false, hasActiveSubmenu: false, indexList: , openMenu(event) { this.open true this.$nextTick(() > hyva.trapFocus(this.$refsmenu-dialog)) document.body.classList.add(overflow-hidden); }, closeMenu(event) { event.stopPropagation() document.body.classList.remove(overflow-hidden); this.open false this.$nextTick(() > this.$refsopen-menu-button.focus() || hyva.releaseFocus()) }, toggleSubmenu(index) { if (this.activeNode index) { this.activeNode this.prevActiveNode; } else { this.prevActiveNode this.activeNode; this.activeNode index; } thisindex !thisindex; this.indexListindex thisindex; this.hasActiveSubmenu Object.values(this.indexList).some(value > value true); if (thisindex) { const focusableElements button:not(disabled), ahref:not(tabindex-1), tabindex:not(tabindex-1) this.$nextTick(() > { this.$refssubmenu- + index?.querySelector(focusableElements)?.focus() }) } }, checkLoggedInState(event) { this.customerLoggedIn event.customer && event.customer.firstname; } }) /script>script> function initMiniSearchComponent() { use strict; return { show: false, formSelector: #search_mini_form, url: https://www.valaire.at/search/ajax/suggest/, destinationSelector: #search_autocomplete, templates: {term:{title:Search terms,template:Hyva_SmileElasticsuite::core\/autocomplete\/term.phtml},product:{title:Produkte,template:Hyva_SmileElasticsuite::catalog\/autocomplete\/product.phtml},category:{title:Kategorien,template:Hyva_SmileElasticsuite::catalog\/autocomplete\/category.phtml},product_attribute:{title:Attribute,template:Hyva_SmileElasticsuite::catalog\/autocomplete\/product_attribute.phtml,titleRenderer:renderEsAutocompleteTitleAttribute},cms_page:{title:Cms page,template:Hyva_SmileElasticsuite::cms-search\/autocomplete\/cms.phtml}}, priceFormat: {pattern:\u20ac\u00a0%s,precision:2,requiredPrecision:2,decimalSymbol:,,groupSymbol:\u00a0,groupLength:3,integerRequired:false}, minSearchLength: 2, searchResultsByType: {}, currentRequest: null, searchable: false, showClearButton: false, resultCount: 0, /** * Get search results. */ getSearchResults: function () { let value document.querySelector(#search).value.trim(); const body document.querySelector(body); this.showClearButton value.length > 0; if (value.length parseInt(this.minSearchLength, 10)) { this.searchResultsByType ; this.searchable false; return false; } else { this.searchable true; } let url this.url + ? + new URLSearchParams({ q: document.querySelector(#search).value, _: Date.now() }).toString(); if (this.currentRequest ! null) { this.currentRequest.abort(); } this.currentRequest new AbortController(); fetch(url, { method: GET, signal: this.currentRequest.signal, }).then((response) > { if (response.ok) { return response.json(); } }).then((data) > { this.show data.length > 0; this.searchResultsByType data.reduce((acc, result) > { if (! accresult.type) accresult.type ; accresult.type.push(result); return acc; }, {}); this.resultCount data.length; if (this.show) { this.trackSearchSuggest(); } }).catch((error) > { }); }, convertSku: function (sku) { if (sku.indexOf(_) -1) { return sku; } const skuSplit sku.split(_); if (skuSplit.length 3) { return sku; } return skuSplit2.slice(0, 6); }, clearSearchInput: function() { this.show false; this.$refs.searchInput.value ; this.$refs.searchInput.focus(); }, getSearchEventData: function(event) { return { event: event, searchterm: this.$refs.searchInput.value, searchresults: this.resultCount } }, trackSearchSuggest: function() { bscAnalytics.pushEvent(this.getSearchEventData(search_suggest)); }, trackSubmitSearch: function() { if (this.resultCount 0) { bscAnalytics.pushEvent(this.getSearchEventData(search_not_found)); return; } bscAnalytics.pushEvent(this.getSearchEventData(search)); } } }/script>script> function renderEsAutocompleteTitleAttribute(data) { data data.filter(function(item) { return item.type product_attribute; }).map(function(item) { return itemattribute_label }).reduce(function(prev, item) { if (item in prev) { previtem++; } else { previtem 1; } return prev; }, {}); data Object.entries(data).sort(function(item1, item2) { return item21 - item11 }).map(function(item) {return item0}); if (data.length > 2) { data data.slice(0, 2); data.push(...); } return data.join(, ); }/script>script> use strict; const initTopmenuDesktop_6989b25b7f7fd () > ({ setActiveMenu(menuNode) { let active false; if (menuNode) { Array.from(document.querySelectorAll(a.snowdog-menu-link)).filter( link > { return link.href window.location.href.split(?)0 } ) .map(item > { item.classList.add(active); active true; for (let level 0; level 2; level++) { const nextLevel item.closest(li.menu-level- + level); if (nextLevel) { nextLevel.classList.add(active); } } }); if (!active && window.location.pathname /) { const rootNode menuNode.querySelector(li.snowdog-top-link); if (rootNode) { rootNode.classList.add(active); } } } } }) /script>script> function initCartDrawer() { return { open: false, isLoading: false, cart: {}, maxItemsToDisplay: 10, itemsCount: 0, totalCartAmount: 0, getData(data) { if (data.cart) { this.cart data.cart; this.itemsCount data.cart.items && data.cart.items.length || 0; this.totalCartAmount this.cart.summary_count; this.setCartItems(); } this.isLoading false; }, cartItems: , getItemCountTitle() { return hyva.strf(\u00250\u0020of\u0020\u00251\u0020products\u0020in\u0020cart\u0020displayed, this.maxItemsToDisplay, this.itemsCount) }, setCartItems() { this.cartItems this.cart.items && this.cart.items.sort((a, b) > b.item_id - a.item_id) || ; if (this.maxItemsToDisplay > 0) { this.cartItems this.cartItems.slice(0, parseInt(this.maxItemsToDisplay, 10)); } }, deleteItemFromCart(itemId) { this.isLoading true; const itemData this.cart.items.filter((item) > itemitem_id itemId); const formKey hyva.getFormKey(); const postUrl BASE_URL + checkout/sidebar/removeItem/; fetch(postUrl, { headers: { content-type: application/x-www-form-urlencoded; charsetUTF-8, }, body: form_key + formKey + &item_id + itemId, method: POST, mode: cors, credentials: include }).then(response > { if (response.redirected) { window.location.href response.url; } else if (response.ok) { return response.json(); } else { window.dispatchMessages && window.dispatchMessages({ type: warning, text: Could\u0020not\u0020remove\u0020item\u0020from\u0020quote. }); this.isLoading false; } }).then(result > { window.dispatchMessages && window.dispatchMessages({ type: result.success ? success : error, text: result.success ? Sie\u0020haben\u0020die\u0020Artikel\u0020entfernt. : result.error_message }, result.success ? 5000 : 0); if (result.success && itemData) { window.dispatchEvent(new CustomEvent(cart-item-removed, { detail: itemData })); } window.dispatchEvent(new CustomEvent(reload-customer-section-data)); }); }, scrollLock(use true) { document.body.style.overflow use ? hidden : ; }, toggleCartDrawer(event) { if (event.detail && event.detail.isOpen ! undefined) { if (event.detail.isOpen) { this.openCartDrawer(); } else { this.open false; this.scrollLock(false); this.$refs && this.$refs.cartDialogContent && hyva.releaseFocus(this.$refs.cartDialogContent); } } else { this.openCartDrawer() } }, openCartDrawer() { this.open true; this.scrollLock(true); this.$nextTick(() > { this.$refs && this.$refs.cartDialogContent && hyva.trapFocus(this.$refs.cartDialogContent) }) }, closeCartDrawer() { this.$dispatch(toggle-cart, { isOpen: false }) }, getSectionDataExtraActions() { if (!this.cart.extra_actions) { return ; } const contentNode document.createElement(div); contentNode.innerHTML this.cart.extra_actions; hyva.activateScripts(contentNode); return contentNode.innerHTML; } } }/script>script> function initAuthentication() { return { open: false, close() { this.open false; }, forceAuthentication: false, checkoutUrl: https://www.valaire.at/checkout/index/, errors: 0, hasCaptchaToken: 0, displayErrorMessage: false, errorMessages: , setErrorMessages(message) { this.errorMessages message; this.displayErrorMessage true; }, submitForm() { // Do not rename $form, the variable is expected to be declared in the recaptcha output const $form document.querySelector(#login-form); if (this.errors 0) { this.dispatchLoginRequest($form); } }, onPrivateContentLoaded() { const data this.$event.detail.data; const isLoggedIn data.customer && data.customer.firstname; if (data.cart && !isLoggedIn) { this.forceAuthentication !data.cart.isGuestCheckoutAllowed; } }, redirectIfAuthenticated() { const event this.$event; this.open this.forceAuthentication; if (event.detail && event.detail.url) { this.checkoutUrl event.detail.url; } if (!this.forceAuthentication) { window.location.href this.checkoutUrl; } }, resetErrors() { this.errors 0; }, dispatchLoginRequest(form) { this.isLoading true; const username this.$refscustomer-email.value; const password this.$refscustomer-password.value; const formKey hyva.getFormKey(); const bodyFields { username: username, password: password, formKey: formKey }; const fieldName g\u002Drecaptcha\u002Dresponse; const recaptchaField fieldName && formfieldName; if (recaptchaField) { bodyFieldsfieldName recaptchaField.value; } fetch(https://www.valaire.at/customer/ajax/login/, { method: POST, headers: { Content-Type: application/json, X-Requested-With: XMLHttpRequest }, body: JSON.stringify(bodyFields) } ).then(response > { return response.json() } ).then(data > { this.isLoading false; if (data.errors) { this.setErrorMessages(data.message); this.errors 1; this.hasCaptchaToken 0; } else { window.location.href this.checkoutUrl; } }); } } } window.addEventListener(alpine:init, () > Alpine.data(initAuthentication, initAuthentication), {once: true})/script>script> function initMessages() { use strict; return { messages: window.mageMessages || , isEmpty() { return this.messages.reduce( function (isEmpty, message) { return isEmpty && message undefined }, true ) }, hasMessages() { return !this.isEmpty(); }, hasMessage() { return !!this.message; }, removeMessage() { this.messagesthis.index undefined; }, messageSuccess() { return this.messagesthis.index.type success; }, messageErr() { const message this.messagesthis.index; return message.type error; }, messageWarn() { const message this.messagesthis.index; return message.type warning; }, messageInfo() { const message this.messagesthis.index; return message.type info; }, addMessages(messages, hideAfter) { messages.map((message) > { this.messages this.messages.concat(message); if (hideAfter undefined && message.type success && window.defaultSuccessMessageTimeout) { hideAfter window.defaultSuccessMessageTimeout; } if (hideAfter) { this.setHideTimeOut(this.messages.length -1, hideAfter); } }); }, setHideTimeOut(messageIndex, hideAfter) { setTimeout((messageIndex) > { this.messagesmessageIndex undefined; }, hideAfter, messageIndex); }, eventListeners: { @messages-loaded.window(event) { this.addMessages(event.detail.messages, event.detail.hideAfter) }, @private-content-loaded.window(event) { const data event.detail.data; if ( data.messages && data.messages.messages && data.messages.messages.length ) { this.addMessages(data.messages.messages); } }, @clear-messages.window() { this.messages ; } }, getMessageUiId() { return message- + this.message.type; } } } window.addEventListener(alpine:init, () > Alpine.data(initMessages, initMessages), {once: true})/script>script> use strict; window.addEventListener(reviewsio-ready, () > { window.reviewsio window.reviewsio || {}; if (typeof window.reviewsiocarousel undefined) { window.reviewsiocarousel initCarouselWidget(); } }); function initCarouselWidget () { return new carouselInlineWidget(reviewsio-carousel-widget,{ /*Your REVIEWS.io account ID:*/ store: valaire\u002Dat, sku: , lang: de, carousel_type: bulky, styles_carousel: CarouselWidget--sideHeader--withcards CarouselWidget--scrollButtons-coloured, /*Widget settings:*/ options:{ general:{ /*What reviews should the widget display? Available options: company, product, third_party. You can choose one type or multiple separated by comma.*/ review_type: company, /*Minimum number of reviews required for widget to be displayed*/ min_reviews: 5, /*Maximum number of reviews to include in the carousel widget.*/ max_reviews: 5, address_format: CITY, /*Carousel auto-scrolling speed. 3000 3 seconds. If you want to disable auto-scroll, set this value to false.*/ enable_auto_scroll: false, }, header:{ /*Show overall rating stars*/ enable_overall_stars: true, rating_decimal_places: 2, }, reviews: { /*Show customer name*/ enable_customer_name: true, /*Show customer location*/ enable_customer_location: true, /*Show verified review badge*/ enable_verified_badge: true, /*Show verified subscriber badge*/ enable_subscriber_badge: true, /*Show I recommend this product badge (Only for product reviews)*/ enable_recommends_badge: true, /*Show photos attached to reviews*/ enable_photos: false, /*Show videos attached to reviews*/ enable_videos: true, /*Show when review was written*/ enable_review_date: true, /*Hide reviews written by the same customer (This may occur when customer reviews multiple products)*/ disable_same_customer: true, /*Minimum star rating*/ min_review_percent: 4, /*Show 3rd party review source*/ third_party_source: true, /*Hide reviews without comments (still shows if review has a photo)*/ hide_empty_reviews: true, /*Show product name*/ enable_product_name: true, /*Show only reviews which have specific tags (multiple semicolon separated tags allowed i.e tag1;tag2)*/ tags: , /*Show branch, only one input*/ branch: , enable_branch_name: false, }, popups: { /*Make review items clickable (When they are clicked, a popup appears with more information about a customer and review)*/ enable_review_popups: true, /*Show was this review helpful buttons*/ enable_helpful_buttons: true, /*Show how many times review was upvoted as helpful*/ enable_helpful_count: true, /*Show share buttons*/ enable_share_buttons: true, }, }, translations: { verified_customer: Verified Customer, }, styles:{ /*Base font size is a reference size for all text elements. When base value gets changed, all TextHeading and TexBody elements get proportionally adjusted.*/ --base-font-size: 18px, --base-maxwidth:768px, /*Logo styles:*/ --reviewsio-logo-style:var(--logo-normal), /*Star styles:*/ --common-star-color: #0E1311, --common-star-disabled-color: rgba(0,0,0,0.25), --medium-star-size:28px, --small-star-size:19px, /*Modal*/ --x-small-star-size:22px, --x-small-star-display:inline-flex, /*Header styles:*/ --header-order:1, --header-width:160px, --header-bg-start-color:transparent, --header-bg-end-color:transparent, --header-gradient-direction:135deg, --header-padding:0.5em, --header-border-width:0px, --header-border-color:rgba(0,0,0,0.1), --header-border-radius:0px, --header-shadow-size:0px, --header-shadow-color:rgba(0, 0, 0, 0.1), /*Header content styles:*/ --header-star-color:inherit, --header-disabled-star-color:inherit, --header-heading-text-color:inherit, --header-heading-font-size:1.3em, --header-heading-font-weight:inherit, --header-heading-line-height:inherit, --header-heading-text-transform:inherit, --header-subheading-text-color:inherit, --header-subheading-font-size:inherit, --header-subheading-font-weight:inherit, --header-subheading-line-height:inherit, --header-subheading-text-transform:inherit, /*Review item styles:*/ --item-maximum-columns:1,/*Must be 1*/ --item-background-start-color:transparent, --item-background-end-color:transparent, --item-gradient-direction:135deg, --item-padding:0.5em, --item-border-width:0px, --item-border-color:rgba(0,0,0,0.1), --item-border-radius:0px, --item-shadow-size:0px, --item-shadow-color:rgba(0,0,0,0.1), /*Heading styles:*/ --heading-text-color: #0E1311, --heading-text-font-weight: 600, --heading-text-font-family: inherit, --heading-text-line-height: 1.4, --heading-text-letter-spacing:0, --heading-text-transform:none, /*Body text styles:*/ --body-text-color: #0E1311, --body-text-font-weight:400, --body-text-font-family: inherit, --body-text-line-height: 1.4, --body-text-letter-spacing:0, --body-text-transform:none, /*Scroll button styles:*/ --scroll-button-icon-color:#0E1311, --scroll-button-icon-size:24px, --scroll-button-bg-color:transparent, --scroll-button-border-width:0px, --scroll-button-border-color:rgba(0,0,0,0.1), --scroll-button-border-radius:60px, --scroll-button-shadow-size:0px, --scroll-button-shadow-color:rgba(0,0,0,0.1), --scroll-button-horizontal-position:0px, --scroll-button-vertical-position:0px, /*Badge styles:*/ --badge-icon-color:#0E1311, --badge-icon-font-size:20px, --badge-text-color:#0E1311, --badge-text-font-size:1.2em, --badge-text-letter-spacing:inherit, --badge-text-transform:inherit, /*Author styles:*/ --author-font-size:1.2em, --author-font-weight:inherit, --author-text-transform:inherit, /*Product photo or review photo styles:*/ --photo-video-thumbnail-size:60px, --photo-video-thumbnail-border-radius:0px, /*Popup styles:*/ --popup-backdrop-color:rgba(0,0,0,0.75), --popup-color:#ffffff, --popup-star-color:inherit, --popup-disabled-star-color:inherit, --popup-heading-text-color:inherit, --popup-body-text-color:inherit, --popup-badge-icon-color:inherit, --popup-badge-icon-font-size:19px, --popup-badge-text-color:inherit, --popup-badge-text-font-size:14px, --popup-border-width:0px, --popup-border-color:rgba(0,0,0,0.1), --popup-border-radius:0px, --popup-shadow-size:0px, --popup-shadow-color:rgba(0,0,0,0.1), --popup-icon-color:#0E1311, /*Tooltip styles:*/ --tooltip-bg-color:#0E1311, --tooltip-text-color:#ffffff, }, }); }/script>script typetext/plain data-usercentricsReviews.io defer srchttps://widget.reviews.io/carousel-inline-iframeless/dist.js onloadwindow.dispatchEvent(new CustomEvent(reviewsio-ready))>/script>script> use strict; function initSliderComponent() { return { active: 0, itemCount: 0, pageSize: 3, pageFillers: 0, getSlider() { return this.$root.querySelector(.js_slides); }, calcPageSize() { const slider this.getSlider(); if (slider) { this.itemCount slider.querySelectorAll(.js_slide).length; this.pageSize Math.floor(slider.clientWidth / slider.querySelector(.js_slide).clientWidth); this.pageFillers ( this.pageSize * Math.ceil(this.itemCount / this.pageSize) ) - this.itemCount; // set dummy slide width because its not properly set due to late painting const $dummySlides slider.querySelectorAll(.js_dummy_slide); $dummySlides.forEach($dummySlide > { $dummySlide.style.width slider.querySelector(.js_slide).clientWidth + px; }); } }, calcActive() { const slider this.getSlider(); if (slider) { const sliderItems this.itemCount + this.pageFillers; const calculatedActiveSlide slider.scrollLeft / (slider.scrollWidth / sliderItems); this.active Math.round(calculatedActiveSlide / this.pageSize) * this.pageSize; } }, scrollPrevious() { this.scrollTo(this.active - this.pageSize); }, scrollNext() { this.scrollTo(this.active + this.pageSize); }, scrollTo(idx) { const slider this.getSlider(); if (slider) { const slideWidth slider.scrollWidth / (this.itemCount + this.pageFillers); slider.scrollLeft Math.floor(slideWidth) * idx; this.active idx; } }, skipCarouselToNavigation(navSelector) { const element document.getElementById(navSelector) if (element) { element.scrollIntoView({behavior: smooth, block: end}); const button element.querySelector(button:not(disabled)); this.$nextTick(() > button && button.focus({preventScroll: true})) } } } }/script>script> function initProductItem__6989b3d887827(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d89c8f9(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d8ab59d(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d8bf170(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d8cc36c(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d8d187b(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d8de645(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d8ef021(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> use strict; window.addEventListener(DOMContentLoaded, function() { if (! window.productSliderEventHandlerInitialized) { window.productSliderEventHandlerInitialized true; } }); /script>script> function initProductItem__6989b3d931ccd(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d93a39d(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d9429a8(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d946935(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d94ef6b(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d955e99(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d95ee01(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d965a73(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d970b54(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d9b139e(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d9b611c(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d9bab67(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d9c628c(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d9cda71(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d9d5bf1(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d9def00(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d9e8c95(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3d9f3516(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3da07127(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3da0ec31(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3da158dd(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3da1c668(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3da2c95c(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3da331e4(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3da5b4e8(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3da622a7(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3da6702d(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3da6f80c(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script> function initProductItem__6989b3da7b184(initialProductUrl) { return { initialProductUrl, productUrl: initialProductUrl, onUpdateHash(hash) { if (typeof hash ! string || hash) { this.productUrl this.initialProductUrl; return; } this.productUrl this.initialProductUrl + # + hash; }, } }/script>script>use strictwindow.addEventListener(private-content-loaded, function (event) { const sectionData event.detail.data; if (sectionData.customer && sectionData.customer.signin_token) { const $navOpenIcon document.getElementById(customer-menu); const $parentDiv $navOpenIcon?.parentElement; const $nav $parentDiv?.querySelector(nav); const $links $nav?.querySelectorAll(a); const $lastLink $links?.$links.length-1; const $giftCardLink $lastLink?.cloneNode(); if ($giftCardLink) { $giftCardLink.innerText Meine Gutscheine; $giftCardLink.href BASE_URL + mageworx_giftcards/account/cardlist; $giftCardLink.id mageworx-giftcard; $lastLink.before($giftCardLink); } }}, { once: true });/script>script typetext/javascript> use strict; let update false; let items ; function addProductUrlEventListener() { const targetElements document.getElementsByClassName(product-item); if (targetElements.length 0) { return; } for (let i 0; i targetElements.length; i++) { let productUrlElements Array.from(targetElementsi.querySelectorAll(a)).filter(element > { return Array.from(element.classList).some(className > className.startsWith(product-url)); }); if (productUrlElements.length 0) { continue; } productUrlElements.forEach(element > { element.addEventListener(click, function() { const productId element.closest(.product-item).querySelector(nameproduct).value; let foundItem items.find(item > item.configurable_product_id parseInt(productId)); if (!foundItem) { return; } foundItemcross_selling bscAnalytics.getPlacement() PLP || bscAnalytics.getPlacement() null ? no : yes; foundItemplacement_location bscAnalytics.getPlacement(); bscAnalytics.pushEvent(bscAnalytics.buildItemsEventObject(select_item, foundItem)); }); }); } } function updatePrice(event, itemsArray) { if (itemsArray null || itemsArray.length 0) { return false; } const configurableProductId parseInt(event.detail.configurable_product_id); const finalPrice parseFloat(event.detail.final_price); const basePrice Math.round(parseFloat(event.detail.base_price) * 100) / 100; const oldPrice parseFloat(event.detail.old_price); const discount Math.round((oldPrice - finalPrice) * 100) / 100; const isSaleItem discount > 0 ? yes : no; let foundIndex itemsArray.findIndex(item > item.configurable_product_id configurableProductId); if (foundIndex ! -1) { itemsArrayfoundIndex.price basePrice; itemsArrayfoundIndex.price_incl_tax finalPrice; itemsArrayfoundIndex.discount discount; itemsArrayfoundIndex.sale_item isSaleItem; return itemsArray; } return false; } function updateOrderNumber(event) { if (items null || items.length 0) { return; } const configurableProductId parseInt(event.detail.configurable_product_id); const foundIndex items.findIndex(item > item.configurable_product_id configurableProductId); if (foundIndex ! -1) { itemsfoundIndex.item_id event.detail.order_number; } }/script>script typetext/javascript> (function () { use strict; function initItems(event) { items JSON.parse(null); } window.addEventListener(swatch-product-listing-renderer-change-option, function (event) { let updatedItems updatePrice(event, items); if (updatedItems ! false) { items updatedItems; } updateOrderNumber(event); }); window.waitForConditions({ dom: true, consent: true }) .then(() > { initItems(); addProductUrlEventListener(); } ); })();/script>script typetext/javascript> (function() { window.addEventListener(private-content-loaded, event > { const dataObject event.detail.datamagepal-eegtm-jsdatalayer || {}; pushAddRemoveItemDataLayer(dataObject) }); const isObject x > x Object(x); const has (x, p) > isObject(x) && x.hasOwnProperty(p); var itemListName null; var itemListId null; function isEmpty(obj){ return JSON.stringify(obj) {}; } function addDynamicElements(storedData, item) { if (has(storedData, index)) { item.index storedData.index; } if (has(storedData, item_list_id)) { item.item_list_id itemListId storedData.item_list_id; } if (has(storedData, item_list_name)) { item.item_list_name itemListName storedData.item_list_name; } } /** * Add click position/index to data * @param ecommerceData * @return {*} */ function processData(ecommerceData) { var storedData JSON.parse(window.localStorage.getItem(product-click-ga4)); ecommerceData.forEach((data) > { if (has(data, parent_sku) && isObject(storedData) && has(storedData, item_id) && data.parent_sku storedData.item_id ) { addDynamicElements(storedData, data); } else if (has(data, parent_sku)) { var product getProductBySku(data.parent_sku); if (product) { addDynamicElements(product, data); } } }); return ecommerceData; } function getProductBySku(sku) { var dlItems window.dataLayer.find((item) > item?.ecommerce?.items) if (dlItems ! undefined) { var dlItem dlItems?.ecommerce?.items.find((item) > item.item_id sku) if (dlItem ! undefined) { return dlItem; } } return false; } function pushAddRemoveItemDataLayer(data) { if (isObject(data) && has(data, cart_items)) { var ts window.localStorage.getItem(magepal-eegtm-jsdatalayer-ts); if (ts ! undefined && parseInt(ts) parseInt(data.data_id)) { return false; } else { window.localStorage.setItem(magepal-eegtm-jsdatalayer-ts, parseInt(data.data_id)); } var cartGenericLayer {}; var dataLayer window.dataLayer; var self this; data.cart_items.forEach((cartItem) > { if (has(cartItem, event)) { if (has(cartItem,ecommerce)) { cartItem.ecommerce.currency EUR; } if (cartItem.event add_to_cart) { var itemsAdded processData(cartItem.ecommerce.items); //$(body).trigger(mpGa4ItemAddToCart, itemsAdded, dataLayer); } if (cartItem.event remove_from_cart) { var itemsRemoved processData(cartItem.ecommerce.items); //$(body).trigger(mpGa4ItemRemoveFromCart, itemsRemoved, dataLayer); } } if (!isEmpty(cartGenericLayer)) { cartItem.cart cartGenericLayer; } cartItem._clear true; bscAnalytics.pushEvent(cartItem); }); } } })(); /script>script typespeculationrules>{prefetch:{source:document,where:{and:{href_matches:\/*},{not:{href_matches:\/*(customer|login|logout|auth|cart|checkout|search|download|redirect|rewrite|store|productalert)\/*}},{not:{href_matches:*.pdf}},{not:{href_matches:*.zip}},{not:{selector_matches:.do-not-prerender}},{not:{selector_matches:relnofollow}},{not:{selector_matches:target_blank}},{not:{selector_matches:target_parent}},{not:{selector_matches:target_top}}},eagerness:moderate}}/script>script>(() > { class BFCacheHandler { constructor() { this.options { isCustomerLoggedIn: false, enableUserInteractionRefreshMiniCart: true, autoCloseMenuMobile: true }; this.userInteractionEvents touchstart, mouseover, wheel, scroll, keydown; this._reloadTriggered false; this.dom {}; this.selectors { cartDrawer: x-data^initCartDrawer, mobileMenu: x-data^initMenuMobile, desktopMenu: x-data^initMenuDesktop }; } getElement(key) { const cached this.domkey; if (cached && document.contains(cached)) return cached; const el document.querySelector(this.selectorskey); if (el) this.domkey el; return el; } init() { this.refreshMiniCart(); this.reloadCustomerLoginPage(); this.actionAutoCloseMenu(this.options.autoCloseMenuMobile); } refreshMiniCart() { if (this.options.enableUserInteractionRefreshMiniCart) { this.refreshMiniCartOnUserInteraction(); } else { this.actionRefreshMiniCart(); } } refreshMiniCartOnUserInteraction() { const refreshMiniCart () > { this.userInteractionEvents.forEach(eventType > window.removeEventListener(eventType, refreshMiniCart) ); this.actionRefreshMiniCart(); }; const opts { once: true, passive: true }; this.userInteractionEvents.forEach(eventType > window.addEventListener(eventType, refreshMiniCart, opts) ); } reloadCustomerLoginPage() { const backendLoggedInState this.options.isCustomerLoggedIn; let customerData null; try { const cacheStorage localStorage.getItem(mage-cache-storage); if (cacheStorage) { customerData JSON.parse(cacheStorage).customer || null; } } catch { } const frontendLoggedInState Boolean(customerData?.firstname); if (frontendLoggedInState ! backendLoggedInState && !this._reloadTriggered) { this._reloadTriggered true; window.location.reload(); } } actionRefreshMiniCart() { window.dispatchEvent(new CustomEvent(reload-customer-section-data)); } actionAutoCloseMenu(autoCloseMenuMobile) { window.dispatchEvent(new Event(clear-messages)); const cartDrawer this.getElement(cartDrawer); if (cartDrawer && typeof Alpine ! undefined) { requestAnimationFrame(() > { const cartDrawerData Alpine.$data(cartDrawer); if (cartDrawerData?.open ! undefined) { cartDrawerData.open false; document.body.style.overflow ; } }); } if (autoCloseMenuMobile) { this.handleMenuClosure(); } } handleMenuClosure() { if (typeof Alpine undefined || !Alpine.$data) return; const mobileMenu this.getElement(mobileMenu); if (mobileMenu) { const mobileMenuData Alpine.$data(mobileMenu); if (mobileMenuData?.open ! undefined) { mobileMenuData.open false; } } const desktopMenu this.getElement(desktopMenu); if (desktopMenu) { const desktopMenuData Alpine.$data(desktopMenu); if (desktopMenuData?.hoverPanelActiveId ! undefined) { desktopMenuData.hoverPanelActiveId 0; } } } } window.addEventListener(pageshow, (event) > { if (event.persisted) { (window._bfcacheHandler ?? new BFCacheHandler()).init(); } }, { passive: true });})();/script>script> (() > { function src_default(Alpine) { Alpine.directive(intersect, Alpine.skipDuringClone((el, { value, expression, modifiers }, { evaluateLater, cleanup }) > { let evaluate evaluateLater(expression); let options { rootMargin: getRootMargin(modifiers), threshold: getThreshold(modifiers) }; let observer new IntersectionObserver((entries) > { entries.forEach((entry) > { if (entry.isIntersecting (value leave)) return; evaluate(); modifiers.includes(once) && observer.disconnect(); }); }, options); observer.observe(el); cleanup(() > { observer.disconnect(); }); })); } function getThreshold(modifiers) { if (modifiers.includes(full)) return 0.99; if (modifiers.includes(half)) return 0.5; if (!modifiers.includes(threshold)) return 0; let threshold modifiersmodifiers.indexOf(threshold) + 1; if (threshold 100) return 1; if (threshold 0) return 0; return Number(`.${threshold}`); } function getLengthValue(rawValue) { let match rawValue.match(/^(-?0-9+)(px|%)?$/); return match ? match1 + (match2 || px) : void 0; } function getRootMargin(modifiers) { const key margin; const fallback 0px 0px 0px 0px; const index modifiers.indexOf(key); if (index -1) return fallback; let values ; for (let i 1; i 5; i++) { values.push(getLengthValue(modifiersindex + i || )); } values values.filter((v) > v ! void 0); return values.length ? values.join( ).trim() : fallback; } document.addEventListener(alpine:init, () > { window.Alpine.plugin(src_default); }); })();/script>script> for (const selector, deferUntil of Object.entries({.product-slider sectionx-data:not(x-data x-data):intersect,.product-info x-data:not(x-data x-data):intersect,#filters-content x-data:not(x-data x-data):intersect,#review_form:intersect,sectionx-data^initRecentlyViewedProductsComponent:intersect,divx-data^initBundleOptions:intersect,#product_addtocart_form x-data:not(x-data x-data):intersect,#notice-cookie-block:idle})) { document.querySelectorAll(selector).forEach(el > el.setAttribute(x-defer, `${deferUntil}`)); }/script>script> (function () { use strict; const hasAlpine new Promise(resolve > { window.addEventListener(alpine:initialized, resolve, {once: true, passive: true}); }); const hasInteract new Promise(resolve > { (events > { const onInteract () > { resolve(); events.forEach(type > window.removeEventListener(type, onInteract)); } events.forEach(type > window.addEventListener(type, onInteract, {once: true, passive: true})) })(touchstart, mouseover, wheel, scroll, keydown) }); const onIntersect (el) > { return new Promise(resolve > { const observer new IntersectionObserver(entries > { for (const entry of entries) { if (entry.isIntersecting) { observer.disconnect() resolve(); } } }, {}); observer.observe(el); }); } function runComponent(el) { hasAlpine.then(() > { el.removeAttribute(x-ignore); queueMicrotask(() > Alpine.initTree(el)); }); } function initDeferredComponents() { document.querySelectorAll(x-datax-defer).forEach(el > { el.setAttribute(x-ignore, ); const deferUntil (el.getAttribute(x-defer) || ).trim(); switch (deferUntil) { case interact: hasInteract.then(() > runComponent(el)); break; case intersect: onIntersect(el).then(() > runComponent(el)) break; case idle: window.requestIdleCallback ? window.requestIdleCallback(() > runComponent(el), {timeout: 4000}) : setTimeout(() > runComponent(el), 4000); break; case eager: runComponent(el); break; default: if (deferUntil.startsWith(event:) && deferUntil.length > 6) { window.addEventListener(deferUntil.substring(6), () > runComponent(el), {once: true, passive: true}); } } }); } window.addEventListener(alpine:init, initDeferredComponents, {once: true, passive: true}); })()/script>script>(()>{function g(n){n.directive(collapse,e),e.inline(t,{modifiers:i})>{i.includes(min)&&(t._x_doShow()>{},t._x_doHide()>{})};function e(t,{modifiers:i}){let rl(i,duration,250)/1e3,ul(i,min,0),h!i.includes(min);t._x_isShown||(t.style.height`${u}px`),!t._x_isShown&&h&&(t.hidden!0),t._x_isShown||(t.style.overflowhidden);let c(d,s)>{let on.setStyles(d,s);return s.height?()>{}:o},f{transitionProperty:height,transitionDuration:`${r}s`,transitionTimingFunction:cubic-bezier(0.4, 0.0, 0.2, 1)};t._x_transition{in(d()>{},s()>{}){h&&(t.hidden!1),h&&(t.style.displaynull);let ot.getBoundingClientRect().height;t.style.heightauto;let at.getBoundingClientRect().height;oa&&(ou),n.transition(t,n.setStyles,{during:f,start:{height:o+px},end:{height:a+px}},()>t._x_isShown!0,()>{t.getBoundingClientRect().heighta&&(t.style.overflownull)})},out(d()>{},s()>{}){let ot.getBoundingClientRect().height;n.transition(t,c,{during:f,start:{height:o+px},end:{height:u+px}},()>t.style.overflowhidden,()>{t._x_isShown!1,t.style.height`${u}px`&&h&&(t.style.displaynone,t.hidden!0)})}}}}function l(n,e,t){if(n.indexOf(e)-1)return t;let inn.indexOf(e)+1;if(!i)return t;if(eduration){let ri.match(/(0-9+)ms/);if(r)return r1}if(emin){let ri.match(/(0-9+)px/);if(r)return r1}return i}document.addEventListener(alpine:init,()>{window.Alpine.plugin(g)});})();/script>script typemodule srchttps://www.valaire.at/static/version1767596242/frontend/Basecom/valaire/de_AT/Hyva_Theme/js/alpine3.min.js defer crossorigin>/script>script> use strict; function dispatchMessages(messages, hideAfter) { const messagesEvent new CustomEvent(messages-loaded, { detail: { messages: messages, hideAfter: hideAfter } }); window.dispatchEvent(messagesEvent); } if (typeof hyva undefined || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) { console.warn(Hyvä helpers are not loaded yet. Make sure they are included before this script); } (function( hyva, undefined ) { hyva.initFormKey () > { const inputSelector inputnameform_key, formKey hyva.getFormKey(); Array.from(document.querySelectorAll(inputSelector)).map(function (input) { input.value formKey }); } hyva.initMessages () > { try { const messages hyva.getCookie(mage-messages); window.mageMessages messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, )) : ; dispatchMessages(window.mageMessages); const skipSetDomain true; hyva.setCookie(mage-messages,, -1, skipSetDomain); } catch (error) { console.warn(Error parsing Cookie Messages:, error); } } window.addEventListener(DOMContentLoaded, hyva.initFormKey); hyva.alpineInitialized(hyva.initMessages) }( window.hyva window.hyva || {} ));/script>script> use strict; { const private_content_key mage-cache-storage; const private_content_expire_key mage-cache-timeout; const private_content_version_key private_content_version; const section_data_ids_key section_data_ids; const mage_cache_session_id_key mage-cache-sessid; const last_visited_store_key last_visited_store; const ttl 604800; if (typeof hyva undefined || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) { console.warn(Hyvä helpers are not loaded yet. Make sure they are included before this script); } function loadSectionData () { const browserStorage hyva.getBrowserStorage(); if (!browserStorage) { typeof window.dispatchMessages ! undefined && window.dispatchMessages( { type: warning, text: Please enable LocalStorage in your browser. } ); return; } try { let isInvalid false; if (hyva.getCookie(last_visited_store_key) ! CURRENT_STORE_CODE) { isInvalid true; } hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false); if (!hyva.getCookie(mage_cache_session_id_key)) { isInvalid true; browserStorage.removeItem(private_content_key); const skipSetDomain true; const days false; hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain) } const cookieVersion hyva.getCookie(private_content_version_key); const storageVersion browserStorage.getItem(private_content_version_key); if (cookieVersion && !storageVersion || cookieVersion ! storageVersion) { isInvalid true; } const privateContentExpires browserStorage.getItem(private_content_expire_key); if (privateContentExpires && new Date(privateContentExpires) new Date()) { browserStorage.removeItem(private_content_key); } if (isInvalid && cookieVersion) { fetchPrivateContent(); } else if (cookieVersion && storageVersion && cookieVersion storageVersion) { const privateContent JSON.parse(browserStorage.getItem(private_content_key)); if ( privateContent && privateContentExpires && privateContent.cart && privateContent.customer ) { dispatchPrivateContent(privateContent); } else { fetchPrivateContent(); } } else { if (document.getElementById(default-section-data)) { const privateContent JSON.parse(document.getElementById(default-section-data).innerText.trim()); dispatchPrivateContent(privateContent); } else { dispatchPrivateContent({}); } } } catch (error) { console.warn(Error retrieving Private Content:, error); } } hyva.alpineInitialized(loadSectionData) window.addEventListener(reload-customer-section-data, loadSectionData); window.processSectionDataBeforeDispatch window.processSectionDataBeforeDispatch || (data > data); function dispatchPrivateContent(data) { const privateContentEvent new CustomEvent(private-content-loaded, { detail: { data: window.processSectionDataBeforeDispatch(data) } }); window.dispatchEvent(privateContentEvent); } function fetchPrivateContent(sections) { fetch(`${BASE_URL}customer/section/load/?sections${encodeURIComponent(sections.join(,))}`, { method: GET, headers: { Content-Type: application/json, X-Requested-With: XMLHttpRequest } }) .then(response > response.ok && response.json()) .then( data > { if (data) { try { const browserStorage hyva.getBrowserStorage(); const oldSectionData JSON.parse(browserStorage.getItem(private_content_key) || {}) || {}; if ((! data.cart || ! data.cart.cartId) && oldSectionDatacheckout-data) { delete oldSectionDatacheckout-data; } const newSectionData Object.assign(oldSectionData, data); dispatchPrivateContent(newSectionData); if (newSectionData.messages && newSectionData.messages.messages ) { newSectionData.messages.messages ; } browserStorage.setItem(private_content_key, JSON.stringify(newSectionData)); const expiresAt new Date(Date.now() + (ttl * 1000)).toISOString(); browserStorage.setItem(private_content_expire_key, expiresAt); const newCookieVersion hyva.getCookie(private_content_version_key); browserStorage.setItem(private_content_version_key, newCookieVersion); hyva.setCookie( section_data_ids_key, JSON.stringify( Object.keys(data).reduce((sectionDataIds, sectionKey) > { sectionDataIdssectionKey datasectionKeydata_id; return sectionDataIds; }, {}) ), false, true ); } catch (error) { console.warn(Couldnt store privateContent, error); } } } ); } }/script>script> (() > { document.addEventListener(submit, event > event.target.action event.target.action.replace(%25uenc%25, hyva.getUenc())); })()/script>script> (events > { const dispatchUserInteractionEvent () > { events.forEach(type > window.removeEventListener(type, dispatchUserInteractionEvent)) window.dispatchEvent(new Event(init-external-scripts)) }; events.forEach(type > window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true})) })(touchstart, mousemove, wheel, scroll, keydown)/script>script> function initConfigurableOptions(productId, optionConfig) { function findPathParam(key) { const baseUrl (BASE_URL.substring(0, 2) // ? http: : ) + BASE_URL; const baseUrlParts (new URL(baseUrl)).pathname.replace(/\/$/, ).split(/); const pathParts window.location.pathname.split(/).slice(baseUrlParts.length + 3); for (let i 0; i pathParts.length; i + 2) { if (pathPartsi key && pathParts.length > i) { return pathPartsi + 1; } } } return { optionConfig, productId, itemId: (new URLSearchParams(window.location.search)).get(id) || findPathParam(id), allowedAttributeOptions: , selectedValues: , attributesThatEffectProductData: , init() { this.findAllowedAttributeOptions(); this.findAttributesThatEffectProductData(); this.$nextTick(() > { if (window.location.hash ! ) { this.preselectLocationHashItemsByCode(); return; } if (typeof this.optionConfig.defaultValues object) { for (const attributeId, value of Object.entries(this.optionConfig.defaultValues)) { this.changeOption(attributeId, value + ); } } }); }, productIndex: 0, productIndexForPrice: 0, optionIsActive(attributeId, optionId) { return !!this.getAllowedAttributeOptions(attributeId).find( option > option.id optionId ) }, optionIsEnabled(attributeId, optionId) { for (const productId in this.optionConfig.index) { if (this.optionConfig.indexproductIdattributeId optionId) { return true; } } return false; }, findSimpleIndex() { this.productIndex this.calculateSimpleIndexForPartialSelection(this.selectedValues); this.productIndexForPrice this.findCheapestProductForPartialSelection(this.selectedValues); }, calculateSimpleIndexForPartialSelection(selectedValues) { if (selectedValues.length 0) return 0; return this.findProductIdsForPartialSelection(selectedValues)0; }, calculateSimpleIndexForFullSelection(selectedValues) { if (! this.isFullSelection(selectedValues)) return false; const productIndexes this.optionConfig.index; return Object.keys(productIndexes).find(productIndex > { const productCandidateOptions productIndexesproductIndex; for (const productOption in productCandidateOptions) { if ( !selectedValuesproductOption || selectedValuesproductOption ! productCandidateOptionsproductOption ) { return false; } } return productIndex; }); }, findAllowedAttributeOptions() { this.allowedAttributeOptions this.calculateAllowedAttributeOptions(this.selectedValues); }, findAttributesThatEffectProductData() { this.attributesThatEffectProductData Object.keys(this.optionConfig.attributes).filter(attribute > { return true this.optionConfig.attributesattribute.doesChangeProductAttributes; }); }, calculateAllowedAttributeOptions(selectedValues) { const allAttributes this.optionConfig.attributes; const allAttributesSorted Object.values(allAttributes).sort((a,b) > { return a.position - b.position }); const newAllowedAttributeOptions ; allAttributesSorted.forEach(attribute > { const selectionWithoutAttr Object.assign({}, this.removeAttrFromSelection(selectedValues, attribute.id)); const availableIndexes this.calculateAvailableProductIndexes(selectionWithoutAttr); newAllowedAttributeOptionsattribute.id allAttributesattribute.id.options.filter(option > { return !!option.products.find(product > { return availableIndexes.includes(product); }) }); }); return newAllowedAttributeOptions; }, calculateAvailableProductIndexes(selectedOptions) { if (Object.keys(selectedOptions).length 0) { if (Object.values(this.optionConfig.salable || {}).length) { return .concat.apply(, .concat.apply(, Object.values(this.optionConfig.salable).map(Object.values))).filter((x, i, a) > a.indexOf(x) i) } return Object.keys(this.optionConfig.index); } const selectedIds Object.keys(selectedOptions); if (Object.values(this.optionConfig.salable || {}).length) { const selectedOptionIndexes selectedIds.map(attrId > { const optionValue selectedOptionsattrId; return this.optionConfig.salableattrId && this.optionConfig.salableattrIdoptionValue || }) return selectedOptionIndexes.reduce((acc, optionIndexes) > { return acc.filter(index > optionIndexes.includes(index)); }); } else { const productIndexes this.optionConfig.index; return Object.keys(productIndexes).filter(index > { for (const attrId of selectedIds) { if (productIndexesindexattrId ! `${selectedOptionsattrId}`) return false } return true }); } }, findAttributeByOptionId(optionId) { for (const attributeId in this.optionConfig.attributes) { const attributeOptions this.optionConfig.attributesattributeId.options || ; if (attributeOptions.find(option > option.id optionId)) { return attributeId; } } }, getAllowedAttributeOptions(attributeId) { return this.allowedAttributeOptionsattributeId || }, getAllAttributeOptions(attributeId) { return ( this.optionConfig.attributesattributeId && this.optionConfig.attributesattributeId.options ) || }, getProductIdsForOption(option) { const attributeId this.findAttributeByOptionId(option.id); const allOptions this.optionConfig.attributesattributeId; const opt (allOptions && allOptions.options || ).find(o > o.id option.id); return opt && opt.products ? opt.products : ; }, findProductIdsForPartialSelection(optionSelection) { const candidateProducts Object.values(optionSelection).reduce((candidates, optionId) > { const newCandidates this.getProductIdsForOption({id: optionId}); return candidates null ? newCandidates : candidates.filter(productId > newCandidates.includes(productId)); }, null); return candidateProducts || ; }, findCheapestProductForPartialSelection(optionSelection) { const candidateProducts this.findProductIdsForPartialSelection(optionSelection); return candidateProducts.reduce((cheapest, simpleIdx) > { // in the first iteration we start with simpleIdx as the currently cheapest product if (! this.optionConfig.optionPricescheapest) return simpleIdx; const knownCheapestPrice this.optionConfig.optionPricescheapest.finalPrice.amount; return knownCheapestPrice > this.optionConfig.optionPricessimpleIdx.finalPrice.amount ? simpleIdx : cheapest; }, 0) }, findProductIdToUseForOptionPrice(option) { // try to find a product for a complete selection const attributeId this.findAttributeByOptionId(option.id); const optionSelection Object.assign({}, this.selectedValues, {attributeId: option.id}); const matchingSimpleIndex this.calculateSimpleIndexForFullSelection(optionSelection); // if there is no complete selection, use the cheapest product for the option return matchingSimpleIndex || this.findCheapestProductForPartialSelection(optionSelection); }, getAttributeOptionLabel(option) { const optionProduct this.findProductIdToUseForOptionPrice(option); if ((! optionProduct) || (optionProduct this.productIndexForPrice)) { return option.label; } const currentPrice this.getOptionPriceAdjustmentBasePrice(); if (this.optionConfig.optionPricesoptionProduct) { const optionPrice this.optionConfig.optionPricesoptionProduct.finalPrice.amount; if (optionPrice ! currentPrice){ return option.label + + hyva.formatPrice(optionPrice - currentPrice, true); } } return option.label; }, getOptionPriceAdjustmentBasePrice() { if (this.optionConfig.optionPricesthis.productIndexForPrice) { return this.optionConfig.optionPricesthis.productIndexForPrice.finalPrice.amount } const cheapestForSelection this.findCheapestProductForPartialSelection(this.selectedValues); return this.optionConfig.optionPricescheapestForSelection ? this.optionConfig.optionPricescheapestForSelection.finalPrice.amount : this.optionConfig.prices.finalPrice.amount; // default price if no option selection }, clearOptionIfActive(optionId, value) { if (this.selectedValuesoptionId value) { this.blurLabel() this.changeOption(optionId, ) } }, removeAttrFromSelection(selectedValues, attributeId) { attributeId parseInt(attributeId); return selectedValues.reduce((newSelection, val, attr) > { if (attr ! attributeId) { newSelectionattr val; } return newSelection; }, ); }, changeOption(optionId, value) { if (value ) { this.selectedValues this.removeAttrFromSelection(this.selectedValues, optionId); } else { if (optionConfig.attributesoptionId.code color_value_brand) { Alpine.store(selectedColor, optionConfig.attributesoptionId.options.find(option > option.id value).label); } this.selectedValuesoptionId value; } this.findSimpleIndex(); this.findAllowedAttributeOptions(); this.updatePrices(); this.updateGallery(); this.updateHash(); const candidates this.findProductIdsForPartialSelection(this.selectedValues); if (this.shouldChangeAttributes(optionId.toString())) { this.updateSku(candidates0); this.updateRemainingInfo(candidates0); } window.dispatchEvent( new CustomEvent( configurable-selection-changed, { detail: { productId: this.productId, optionId: optionId, value: value, productIndex: this.productIndex, selectedValues: this.selectedValues, candidates: candidates, skuCandidates: Object.values(candidates).map(id > this.optionConfig.skuid), } } ) ); }, /** * @param {String} optionId - the id of the option that was changed */ shouldChangeAttributes(optionId) { if (!this.attributesThatEffectProductData.includes(optionId)) { return false; } const testAttributes this.attributesThatEffectProductData.filter(attributeThatEffectsProductData > { return this.selectedValuesattributeThatEffectsProductData ! undefined; }) return testAttributes.length ! 0; }, calculateIsMinimalPrice() { return ! this.isFullSelection(this.selectedValues); }, isFullSelection(selectedValues) { return Object.values(selectedValues).length Object.keys(this.optionConfig.attributes).length; }, updatePrices() { const value this.optionConfig.optionPricesthis.productIndexForPrice || this.optionConfig.prices; window.dispatchEvent( new CustomEvent( update-prices- + this.productId, { detail: Object.assign( value, { isMinimalPrice: this.calculateIsMinimalPrice() } ) } ) ); }, updateGallery () { if (this.productIndex) { const images this.optionConfig.imagesthis.productIndex; images && window.dispatchEvent(new CustomEvent( update-gallery, { detail: this.sortImagesByPosition(images) } )); } else { window.dispatchEvent(new Event(reset-gallery)); } }, updateHash() { let hash this.createHashBySelectedValues(this.selectedValues); window.dispatchEvent( new CustomEvent( update-hash- + this.productId, { detail: { hash } } ) ); }, /** * @param {Integer} productId - the id of the product with the correct sku */ updateSku(productId) { window.dispatchEvent( new CustomEvent( update-sku, { detail: { sku: this.optionConfig.optionOrderNumberproductId, parentSku: this.optionConfig.parentSku } } ) ); }, /** * @param {Integer} productId - the id of the product with the correct attribute data */ updateRemainingInfo(productId) { window.dispatchEvent( new CustomEvent( update-remaining-info, { detail: { optionIsNew: this.optionConfig.optionIsNewproductId, optionIsSale: this.optionConfig.optionIsSaleproductId, optionInventory: this.optionConfig.optionInventoryproductId, optionDescription: this.optionConfig.optionDescriptionproductId, optionAttributes: this.optionConfig.optionAttributesproductId, optionSku: this.optionConfig.optionSkusproductId, } } ) ); }, createHashBySelectedValues (selectedValues) { let hash ; for (let attributeId in selectedValues) { if (hash ! ) { hash + &; } hash + this.getAttributeCodeById(attributeId) + + selectedValuesattributeId; } return hash; }, getAttributeCodeById: function (attributeId) { let attribute this.optionConfig.attributesattributeId return attribute ? attribute.code : attributeId; }, sortImagesByPosition(images) { return images.sort((x, y) > { return x.position y.position ? 0 : (parseInt(x.position) > parseInt(y.position) ? 1 : -1) }); }, onGetCartData(data) { /** * In the original, this is wrapped in an if so that it only matters on PDP. * That it now happens also on plp is a problem which causes race conditions, * thats why I added it back */ }, preselectCartItems(data) { // pre-select options based on cart data for current (quote) itemId const cart data && data.cart; if (cart && cart.items) { const cartItem cart.items.find((item) > { return ( item.item_id this.itemId && item.product_id this.productId ) }); if (cartItem && cartItem.options && cartItem.options.length) { cartItem.options.map(option > { this.changeOption(option.option_id, option.option_value); }) } } }, preselectQuerystringItems() { // pre-select option like ?size167 const urlQueryParams new URLSearchParams(window.location.search.replace(?,)); this.preselectItemsBasedOnLocation(attribute > urlQueryParams.get(attribute.code)); }, preselectLocationHashItems() { // pre-select option like #144167 const urlHashParams new URLSearchParams(window.location.hash.replace(#,)); this.preselectItemsBasedOnLocation(attribute > urlHashParams.get(attribute.id)); }, preselectLocationHashItemsByCode() { // pre-select option like #color_value_brand230 const urlHashParams new URLSearchParams(window.location.hash.replace(#,)); Object.values(this.optionConfig.attributes).map(attribute > { urlHashParams.get(attribute.code) && this.changeOption(attribute.id, urlHashParams.get(attribute.code)); }); }, preselectItemsBasedOnLocation(getLocationValue) { Object.values(this.optionConfig.attributes).map(attribute > { const v getLocationValue(attribute); v && this.changeOption(attribute.id, v) }); } } }/script>script> function initSwatchOptions(swatchConfig) { return { swatchConfig, getAttributeSwatchData(attributeId) { const swatchConfig Object.assign({}, this.swatchConfigattributeId); swatchConfigdetails JSON.parse(swatchConfigadditional_data); return swatchConfig; }, getAllAttributeOptions(attributeId) { return ( this.optionConfig.attributesattributeId && this.optionConfig.attributesattributeId.options ) || }, optionIsActive(attributeId, optionId) { // return true if a product with this option is in stock return !!this.getAllowedAttributeOptions(attributeId).find( option > option.id optionId ) }, optionIsEnabled(attributeId, optionId) { // return true if a product with this option is enabled for (const productId in this.optionConfig.index) { if (this.optionConfig.indexproductIdattributeId optionId) { return true; } } return false; }, isSelected(attributeId, item) { return this.selectedValuesattributeId item.id; }, mapSwatchTypeNumberToTypeCode(typeNumber) { switch ( + typeNumber) { case 1: return color case 2: return image case 3: return empty case 0: default: return text } }, getTypeOfFirstOption(attributeId) { for (const optionId in this.swatchConfigattributeId) { const option this.swatchConfigattributeIdoptionId; if (typeof option.type ! undefined) { return this.mapSwatchTypeNumberToTypeCode(option.type); } } }, getVisualSwatchType(attributeId, targetOptionId) { // If a type configuration is present for the given option id, use it const config this.swatchConfigattributeId; if (configtargetOptionId && typeof configtargetOptionId.type ! undefined) { return this.mapSwatchTypeNumberToTypeCode(configtargetOptionId.type); } // Otherwise - if no config is present for the target option - use the type of the first option // with a type property from the attribute, thus assuming its the same type as the target option. // (This edge case condition can occur on single swatch products if some options are not salable) return this.getTypeOfFirstOption(attributeId); }, getSwatchType(attributeId, optionId) { // Deserialize the attribute details the first time they are used if (this.swatchConfigattributeId && ! this.swatchConfigattributeId.details) { this.swatchConfigattributeId this.getAttributeSwatchData(attributeId); } const type this.swatchConfigattributeId && this.swatchConfigattributeId.details && this.swatchConfigattributeId.details.swatch_input_type || empty; return type visual ? this.getVisualSwatchType(attributeId, optionId) : type; }, isTextSwatch(attributeId, optionId) { return this.getSwatchType(attributeId, optionId) text; }, isVisualSwatch(attributeId, optionId) { const type this.getSwatchType(attributeId, optionId); return image, color.includes(type); }, getSwatchBackgroundStyle(attributeId, optionId) { const config this.getSwatchConfig(attributeId, optionId); const type this.getSwatchType(attributeId, optionId); if (type color) { return background-color: + config.value; } else if (type image) { return background: #ffffff url( + config.value + ) no-repeat center; } else { return ; } }, getSwatchText(attributeId, optionId) { const config this.getSwatchConfig(attributeId, optionId); return config.label || config.value || this.getOptionLabelFromOptionConfig(attributeId, optionId); }, getOptionLabelFromOptionConfig(attributeId, optionId) { // Fallback if no value is present in swatchConfig data // Reference issue https://gitlab.hyva.io/hyva-themes/magento2-default-theme/-/issues/190 const option this.getAllAttributeOptions(attributeId).filter(option > option.id optionId); return option && option0 && option0.label ||; }, getSwatchConfig(attributeId, optionId) { return this.swatchConfigattributeId && this.swatchConfigattributeIdoptionId ? this.swatchConfigattributeIdoptionId : false; }, activeTooltipItem: false, tooltipPositionElement: false, isTooltipVisible() { return this.activeTooltipItem && this.getSwatchConfig( this.activeTooltipItem.attribute, this.activeTooltipItem.item ); }, isFirstItemCol() { return this.activeTooltipItem.index 0; }, getTooltipImageStyle(attributeId, optionId) { const config this.getSwatchConfig(attributeId, optionId); const type this.getSwatchType(attributeId, optionId); if (type color) { return background-color: + config.value + ; width: 110px; height: 90px;; } else if (type image) { return background: #ffffff url( + config.thumb + ) center center no-repeat; width: 110px; height: 90px;; } else { return display:none; } }, getTooltipPosition() { return this.tooltipPositionElement ? `top: ${this.tooltipPositionElement.offsetTop}px;` + `left: ${ this.tooltipPositionElement.offsetLeft - ( this.tooltipPositionElement.closest(.snap) && this.tooltipPositionElement.closest(.snap).scrollLeft || 0 ) }px;` : }, getTooltipLabel() { return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label }, focusedLabel: false, focusLabel(optionId) { this.focusedLabel optionId; }, blurLabel() { this.focusedLabel false; }, showSwatches: false, initShowSwatchesIntersect() { if (IntersectionObserver in window && !window.scrollY) { let io new IntersectionObserver( entries > { entries.map(entry > { if (entry.isIntersecting) { this.showSwatches true; io.unobserve(this.$root); } }) } ); io.observe(this.$root); } else { this.showSwatches true } } } }/script>script typetext/javascript> (function () { let globalDatalayer window.dataLayer window.dataLayer || ; function init() { const data ; if (data) { let storedData null; data.forEach((item) > { // Set category data on product detail page if (item?.event view_item) { if (storedData null) { storedData JSON.parse(window.localStorage.getItem(product-click-ga4)); } item?.ecommerce?.items?.forEach((product) > { if (storedData?.index) { product.index storedData.index } if (storedData?.item_list_name) { product.item_list_name storedData.item_list_name; product.item_list_id storedData.item_list_id; } }); } globalDatalayer.push(item); }) window.dispatchEvent(new CustomEvent(google-analytics-4-data-layer-initialized)); } } window.waitForConditions({ consent: true }) .then(() > { init(); } ); })();/script>script typetext/json iddefault-section-data> {messages:,customer:,compare-products:,last-ordered-items:,cart:,directory-data:{AT:{name:\u00d6sterreich,regions:{102:{code:BL,name:Burgenland},99:{code:KN,name:K\u00e4rnten},96:{code:NO,name:Nieder\u00f6sterreich},97:{code:OO,name:Ober\u00f6sterreich},98:{code:SB,name:Salzburg},100:{code:ST,name:Steiermark},101:{code:TI,name:Tirol},103:{code:VB,name:Vorarlberg},95:{code:WI,name:Wien}}},data_id:1770633831},captcha:,instant-purchase:,loggedAsCustomer:,persistent:,review:,payments:,wishlist:{items:},apptrian_metapixelapi_matching_section:,hyva_checkout:,email_hash:,recently_viewed_product:,recently_compared_product:,product_data_storage:,paypal-billing-agreement:,magepal-gtm-jsdatalayer:,magepal-eegtm-jsdatalayer:}/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]