1<!doctype html> 2<html class="no-js" lang="nl"><head> 3<!-- "snippets/limespot.liquid" was not rendered, the associated app was uninstalled --> 4<!-- "snippets/booster-seo.liquid" was not rendered, the associated app was uninstalled --> 5<!-- Leadinfo tracking code -->
6<script> (function(l,e,a,d,i,n,f,o){if(!l[i]){l.GlobalLeadinfoNamespace=l.GlobalLeadinfoNamespace||[]; l.GlobalLeadinfoNamespace.push(i);l[i]=function(){(l[i].q=l[i].q||[]).push(arguments)};l[i].t=l[i].t||n; l[i].q=l[i].q||[];o=e.createElement(a);f=e.getElementsByTagName(a)[0];o.async=1;o.src=d;f.parentNode.insertBefore(o,f);} }(window,document,"script","https://cdn.leadinfo.net/ping.js","leadinfo","LI-615C34A5EB539")); </script>
6 7 <!-- Google Tag Manager -->
8<script>
vendor: 327 bytes, lines 8-12
8(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 9new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 10j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 11'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 12})(window,document,'script','dataLayer','
12GTM-K2SW6LB
vendor: 3 bytes, line 12
12');
12</script>
12 13<!-- End Google Tag Manager --> 14 <!-- Hotjar Tracking Code for www.buttler.shop -->
15<script>
vendor: 125 bytes, lines 15-18
15 16 (function(h,o,t,j,a,r){ 17 h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; 18 h._hjSettings={hjid:
181932391
vendor: 258 bytes, lines 18-23
18,hjsv:6}; 19 a=o.getElementsByTagName('head')[0]; 20 r=o.createElement('script');r.async=1; 21 r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; 22 a.appendChild(r); 23 })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
24</script>
24 25 <meta charset="utf-8"> 26 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 27 <meta name="viewport" content="width=device-width,initial-scale=1"> 28 <meta name="theme-color" content="#00a499"><link rel="canonical" href="https://buttler.shop/products/zwarte-toiletrolhouder"><!-- ======================= Pipeline Theme V5.2.1 ========================= --> 29 30 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 31 <link rel="preconnect" href="https://fonts.shopify.com" crossorigin> 32 <link rel="preconnect" href="https://monorail-edge.shopifysvc.com" crossorigin> 33 34 35 <link rel="preload" href="//buttler.shop/cdn/shop/t/7/assets/lazysizes.js?v=111431644619468174291627561413" as="script"> 36 <link rel="preload" href="//buttler.shop/cdn/shop/t/7/assets/vendor.js?v=155572812401370692831627561417" as="script"> 37 <link rel="preload" href="//buttler.shop/cdn/shop/t/7/assets/theme.js?v=87314982410804635821644607475" as="script"> 38 <link rel="preload" href="//buttler.shop/cdn/shop/t/7/assets/theme.css?v=183286650998057920221628504140" as="style"><link rel="shortcut icon" href="//buttler.shop/cdn/shop/files/Buttler_logo_favicon_32x32.png?v=1626986808" type="image/png"><!-- Title and description ================================================ --> 39 40 41<!-- /snippets/social-meta-tags.liquid --><meta property="og:site_name" content="Buttler.shop"> 42<meta property="og:url" content="https://buttler.shop/products/zwarte-toiletrolhouder"> 43<meta property="og:title" content="de Wasstraat toiletrolhouder"> 44<meta property="og:type" content="product"> 45<meta property="og:description" content="Je auto gaat toch ook door de wasstraat. Waarom jij dan niet? Een stijlvolle spray verdient natuurlijk een mooi en handig plekje op je toilet. Ook daar heeft BUTTLER aan gedacht. Zie hier: De Wasstraat Toiletrolhouder zwart voor het Toilet of Badkamer."><meta property="og:price:amount" content="34,00"> 46 <meta property="og:price:currency" content="EUR"> 47 <meta property="og:image" content="http://buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441"> 48 <meta property="og:image:secure_url" content="https://buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441"> 49 <meta property="og:image:height" content="2048"> 50 <meta property="og:image:width" content="2048"> 51 <meta property="og:image" content="http://buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b.jpg?v=1627025253"> 52 <meta property="og:image:secure_url" content="https://buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b.jpg?v=1627025253"> 53 <meta property="og:image:height" content="2048"> 54 <meta property="og:image:width" content="2048"> 55 <meta property="og:image" content="http://buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_02_80bcab43-4999-4adc-bb13-19cb891a9d78.jpg?v=1627025255"> 56 <meta property="og:image:secure_url" content="https://buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_02_80bcab43-4999-4adc-bb13-19cb891a9d78.jpg?v=1627025255"> 57 <meta property="og:image:height" content="2048"> 58 <meta property="og:image:width" content="2048"> 59<meta property="twitter:image" content="http://buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1200x1200.jpg?v=1639398441"> 60 61<meta name="twitter:site" content="@"> 62<meta name="twitter:card" content="summary_large_image"> 63<meta name="twitter:title" content="de Wasstraat toiletrolhouder"> 64<meta name="twitter:description" content="Je auto gaat toch ook door de wasstraat. Waarom jij dan niet? Een stijlvolle spray verdient natuurlijk een mooi en handig plekje op je toilet. Ook daar heeft BUTTLER aan gedacht. Zie hier: De Wasstraat Toiletrolhouder zwart voor het Toilet of Badkamer."> 65<!-- CSS ================================================================== --> 66 67 <link href="//buttler.shop/cdn/shop/t/7/assets/font-settings.css?v=27217245467768751861773153569" rel="stylesheet" type="text/css" media="all" /> 68 69 70<style data-shopify> 71 72:root { 73/* ================ Product video ================ */ 74 75---color_video_bg: #f2f2f2; 76 77 78/* ================ Color Variables ================ */ 79
80/* === Backgrounds ===*/ 81---color-bg: #ffffff; 82---color-bg-accent: #fcfaf7; 83 84/* === Text colors ===*/ 85---color-text-dark: #000b0c; 86---color-text: #004f59; 87---color-text-light: #4d848b; 88 89/* === Bright color ===*/ 90---color-primary: #00a499; 91---color-primary-hover: #005852; 92---color-primary-fade: rgba(0, 164, 153, 0.05); 93---color-primary-fade-hover: rgba(0, 164, 153, 0.1);---color-primary-opposite: #ffffff; 94 95/* === Secondary/link Color ===*/ 96---color-secondary: #00a499; 97---color-secondary-hover: #005852; 98---color-secondary-fade: rgba(0, 164, 153, 0.05); 99---color-secondary-fade-hover: rgba(0, 164, 153, 0.1);---color-secondary-opposite: #000000; 100 101/* === Shades of grey ===*/ 102---color-a5: rgba(0, 79, 89, 0.05); 103---color-a10: rgba(0, 79, 89, 0.1); 104---color-a20: rgba(0, 79, 89, 0.2); 105---color-a35: rgba(0, 79, 89, 0.35); 106---color-a50: rgba(0, 79, 89, 0.5); 107---color-a80: rgba(0, 79, 89, 0.8); 108---color-a90: rgba(0, 79, 89, 0.9); 109---color-a95: rgba(0, 79, 89, 0.95); 110 111 112/* ================ Inverted Color Variables ================ */ 113 114---inverse-bg: #453d38; 115---inverse-bg-accent: #191008; 116 117/* === Text colors ===*/ 118---inverse-text-dark: #ffffff; 119---inverse-text: #ffffff; 120---inverse-text-light: #c7c5c3; 121 122/* === Bright color ===*/ 123---inverse-primary: #ffe5da; 124---inverse-primary-hover: #ffaf8e; 125---inverse-primary-fade: rgba(255, 229, 218, 0.05); 126---inverse-primary-fade-hover: rgba(255, 229, 218, 0.1);---inverse-primary-opposite: #000000; 127 128 129/* === Second Color ===*/ 130---inverse-secondary: #dff3fd; 131---inverse-secondary-hover: #91dbff; 132---inverse-secondary-fade: rgba(223, 243, 253, 0.05); 133---inverse-secondary-fade-hover: rgba(223, 243, 253, 0.1);---inverse-secondary-opposite: #000000; 134 135 136/* === Shades of grey ===*/ 137---inverse-a5: rgba(255, 255, 255, 0.05); 138---inverse-a10: rgba(255, 255, 255, 0.1); 139---inverse-a20: rgba(255, 255, 255, 0.2); 140---inverse-a35: rgba(255, 255, 255, 0.3); 141---inverse-a80: rgba(255, 255, 255, 0.8); 142---inverse-a90: rgba(255, 255, 255, 0.9); 143---inverse-a95: rgba(255, 255, 255, 0.95); 144 145 146/* === Account Bar ===*/ 147---color-announcement-bg: #00a499; 148---color-announcement-text: #ffffff; 149 150/* === Nav and dropdown link background ===*/ 151---color-nav: #ffffff; 152---color-nav-text: #004f59; 153---color-nav-border: rgba(0,0,0,0); 154---color-nav-a10: rgba(0, 79, 89, 0.1); 155---color-nav-a50: rgba(0, 79, 89, 0.5); 156 157/* === Site Footer ===*/ 158---color-footer-bg: #004f59; 159---color-footer-text: #ffffff; 160---color-footer-a5: rgba(255, 255, 255, 0.05); 161---color-footer-a15: rgba(255, 255, 255, 0.15); 162---color-footer-a90: rgba(255, 255, 255, 0.9); 163 164/* === Products ===*/ 165---color-bg-product: #ffffff; 166---product-grid-aspect-ratio: 100%; 167 168/* === Product badges ===*/ 169---color-badge: #ffffff; 170---color-badge-text: #656565; 171 172/* === disabled form colors ===*/ 173---color-disabled-bg: #e6edee; 174---color-disabled-text: #a6c1c5; 175 176---inverse-disabled-bg: #58504c; 177---inverse-disabled-text: #86817e; 178 179/* === Gallery padding === */ 180---gallery-padding: 32px; 181 182/* === Button Radius === */ 183---button-radius: 0px; 184 185 186/* ================ Typography ================ */ 187 188---font-stack-body: Poppins, sans-serif; 189---font-style-body: normal; 190---font-weight-body: 400; 191---font-weight-body-bold: 500; 192---font-adjust-body: 1.0; 193 194---font-stack-heading: Poppins, sans-serif; 195---font-style-heading: normal; 196---font-weight-heading: 800; 197---font-weight-heading-bold: 900; 198---font-adjust-heading: 0.75; 199 200 ---font-heading-space: initial; 201 ---font-heading-caps: initial; 202 203 204---font-stack-accent: Poppins, sans-serif; 205---font-style-accent: normal; 206---font-weight-accent: 600; 207---font-weight-accent-bold: 700; 208---font-adjust-accent: 1.0; 209 210---ico-select: url('//buttler.shop/cdn/shop/t/7/assets/ico-select.svg?v=89362840887307663821627562278'); 211 212---url-zoom: url('//buttler.shop/cdn/shop/t/7/assets/cursor-zoom.svg?v=23655536257669700161627562278'); 213---url-zoom-2x: url('//buttler.shop/cdn/shop/t/7/assets/cursor-zoom-2x.svg?v=99440058367304940241627562278'); 214 215 216 217} 218 219</style> 220 221 <link href="//buttler.shop/cdn/shop/t/7/assets/theme.css?v=183286650998057920221628504140" rel="stylesheet" type="text/css" media="all" /> 222 223
223<script> 224 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 225 var theme = { 226 routes: { 227 root_url: '/', 228 cart: '/cart', 229 cart_add_url: '/cart/add', 230 product_recommendations_url: '/recommendations/products' 231 }, 232 assets: { 233 photoswipe: '//buttler.shop/cdn/shop/t/7/assets/photoswipe.js?v=92904272307011895101627561414', 234 smoothscroll: '//buttler.shop/cdn/shop/t/7/assets/smoothscroll.js?v=37906625415260927261627561415', 235 swatches: '//buttler.shop/cdn/shop/t/7/assets/swatches.json?v=53974917612029877311627561415', 236 noImage: '//buttler.shop/cdn/shopifycloud/storefront/assets/no-image-2048-a2addb12.gif', 237 base: '//buttler.shop/cdn/shop/t/7/assets/' 238 }, 239 strings: { 240 swatchesKey: "Kleur", 241 addToCart: "Voeg toe aan winkelmandje", 242 estimateShipping: "Geschatte verzending", 243 noShippingAvailable: "We verzenden niet naar deze locatie", 244 free: "Gratis", 245 from: "Vanaf", 246 preOrder: "Pre-order", 247 soldOut: "Uitverkocht", 248 sale: "Uitverkoop", 249 subscription: "Subscription", 250 unavailable: "Niet beschikbaar", 251 unitPrice: "Eenheid prijs", 252 unitPriceSeparator: "per", 253 stockout: "Alle beschikbare voorraad is in winkelwagen", 254 products: "Producten", 255 pages: "Pagina\u0026#39;s", 256 collections: "Collectie", 257 resultsFor: "Resultaten voor", 258 noResultsFor: "Geen resultaten", 259 articles: "Artikelen" 260 }, 261 settings: { 262 badge_sale_type: "percentage", 263 search_products: true, 264 search_collections: true, 265 search_pages: true, 266 search_articles: true, 267 animate_hover: true, 268 animate_scroll: true 269 }, 270 info: { 271 name: 'pipeline' 272 }, 273 moneyFormat: "â¬{{amount_with_comma_separator}}", 274 version: '5.2.1' 275 } 276 </script>
276<!-- Theme Javascript ============================================================== --> 277
277<script src="//buttler.shop/cdn/shop/t/7/assets/lazysizes.js?v=111431644619468174291627561413" async="async"></script>
277 278
278<script src="//buttler.shop/cdn/shop/t/7/assets/vendor.js?v=155572812401370692831627561417" defer="defer"></script>
278 279
279<script src="//buttler.shop/cdn/shop/t/7/assets/theme.js?v=87314982410804635821644607475" defer="defer"></script>
279 280 281
281<script> 282 (function () { 283 function onPageShowEvents() { 284 if ('requestIdleCallback' in window) { 285 requestIdleCallback(initCartEvent) 286 } else { 287 initCartEvent() 288 } 289 function initCartEvent(){ 290 document.documentElement.dispatchEvent(new CustomEvent('theme:cart:init', { 291 bubbles: true 292 })); 293 } 294 }; 295 window.onpageshow = onPageShowEvents; 296 })(); 297 </script>
297 298 299
299<script type="text/javascript"> 300 if (window.MSInputMethodContext && document.documentMode) { 301 var scripts = document.getElementsByTagName('script')[0]; 302 var polyfill = document.createElement("script"); 303 polyfill.defer = true; 304 polyfill.src = "//buttler.shop/cdn/shop/t/7/assets/ie11.js?v=144489047535103983231627561413"; 305 306 scripts.parentNode.insertBefore(polyfill, scripts); 307 } 308 </script>
308 309
309<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
309 310 <!-- Shopify app scripts =========================================================== --> 311
311<script src="https://smarteucookiebanner.upsell-apps.com/gdpr_adapter.js?shop=buttler-shop.myshopify.com" type="application/javascript"></script>
311 312
312<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
312<meta name="google-site-verification" content="8gs3to21V1rqlopAeO3fIR8iaS5BaGNRcQeHc113hB8"> 313<meta name="facebook-domain-verification" content="ofbm18hauyan28g3blgcn8jfqsp9d1"> 314<meta name="google-site-verification" content="UW6mmwKiHSPUD9_WeFemW9Q2i2k0GdBGIhGlakJJKEM"> 315<meta name="google-site-verification" content="LcS5NSfq6Tb6C4i8z7iKc-0loG1R03LmjG9aZObTFZg"> 316<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/58688602298/digital_wallets/dialog"> 317<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/40575348441274:1?ucp/version=2026-08-25&context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" hreflang="x-default" href="https://buttler.shop/products/zwarte-toiletrolhouder"> 318<link rel="alternate" hreflang="nl" href="https://buttler.shop/products/zwarte-toiletrolhouder"> 319<link rel="alternate" hreflang="nl-DE" href="https://buttler.shop/nl-de/products/zwarte-toiletrolhouder"> 320<link rel="alternate" hreflang="nl-BE" href="https://buttler.shop/nl-be/products/zwarte-toiletrolhouder"> 321<link rel="alternate" type="application/json+oembed" href="https://buttler.shop/products/zwarte-toiletrolhouder.oembed">
322<script async="async" src="/checkouts/internal/preloads.js?locale=nl-US"></script>
322 323<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
324<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=nl-US&shop_id=58688602298" crossorigin="anonymous"></script>
vendor: 1 bytes, line 324
324
325<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":58688602298,"countryCode":"NL","currencyCode":"EUR","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/58688602298","merchantName":"Buttler.shop","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","maestro"],"total":{"type":"pending","label":"Buttler.shop","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 325
325
326<script id="shopify-features" type="application/json">{"accessToken":"9682d487e9a5b953c0b467c7cb0dc3a1","betas":["rich-media-storefront-analytics"],"domain":"buttler.shop","predictiveSearch":true,"shopId":58688602298,"locale":"nl"}</script>
vendor: 1 bytes, line 326
326
327<script>var Shopify = Shopify || {}; 328Shopify.shop = "buttler-shop.myshopify.com"; 329Shopify.locale = "nl"; 330Shopify.currency = {"active":"EUR","rate":"1.0"}; 331Shopify.country = "US"; 332Shopify.theme = {"name":"Pipeline","id":125309649082,"schema_name":"Pipeline","schema_version":"5.2.1","theme_store_id":739,"role":"main"}; 333Shopify.theme.handle = "null"; 334Shopify.theme.style = {"id":null,"handle":null}; 335Shopify.cdnHost = "buttler.shop/cdn"; 336Shopify.routes = Shopify.routes || {}; 337Shopify.routes.root = "/"; 338Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 339Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 340Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 341Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 341
341
342<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 342
342
343<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 343
343
344<script> 345 window.ShopifyPay = window.ShopifyPay || {}; 346 window.ShopifyPay.apiHost = "shop.app\/pay"; 347 window.ShopifyPay.redirectState = null; 348</script>
vendor: 1 bytes, line 348
348
349<script> 350 window.Shopify = window.Shopify || {}; 351 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 352 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 353 window.Shopify.SignInWithShop.eligible = true; 354</script>
vendor: 1 bytes, line 354
354
355<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 355
355
356<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.nl.esm.js"></script>
vendor: 1 bytes, line 356
356
357<script type="module"> 358 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.nl.esm.js"); 359 360 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 361 362</script>
vendor: 1 bytes, line 362
362
363<script> 364 window.Shopify = window.Shopify || {}; 365 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 366 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.nl.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.nl.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.nl.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.nl.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.nl.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.nl.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.nl.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.nl.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.nl.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.nl.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.nl.esm.js"],"listener":["modules/v2/loader.listener.nl.esm.js"],"pay-button":["modules/v2/loader.pay-button.nl.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.nl.esm.js"],"shop-button":["modules/v2/loader.shop-button.nl.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.nl.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.nl.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.nl.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.nl.esm.js"],"shop-login":["modules/v2/loader.shop-login.nl.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.nl.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.nl.esm.js"]}; 367</script>
vendor: 1 bytes, line 367
367
368<script>(function() { 369 var isLoaded = false; 370 function asyncLoad() { 371 if (isLoaded) return; 372 isLoaded = true; 373 var urls = ["https:\/\/cdn.shopify.com\/s\/files\/1\/0586\/8860\/2298\/t\/7\/assets\/booster_eu_cookie_58688602298.js?v=1628601803\u0026shop=buttler-shop.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0184\/4255\/1360\/files\/quicklink.v2.min.js?v=1619661100\u0026shop=buttler-shop.myshopify.com"]; 374 for (var i = 0; i < urls.length; i++) { 375 var s = document.createElement('script'); 376 s.type = 'text/javascript'; 377 s.async = true; 378 s.src = urls[i]; 379 var x = document.getElementsByTagName('script')[0]; 380 x.parentNode.insertBefore(s, x); 381 } 382 }; 383 if(window.attachEvent) { 384 window.attachEvent('onload', asyncLoad); 385 } else { 386 window.addEventListener('load', asyncLoad, false); 387 } 388})();</script>
vendor: 1 bytes, line 388
388
389<script id="__st">var __st={"a":58688602298,"offset":7200,"reqid":"2208510c-c568-4d0a-bba6-85c289842a8d-1791460007","pageurl":"buttler.shop\/products\/zwarte-toiletrolhouder","u":"2b0c0bb56a82","p":"product","rtyp":"product","rid":6759520895162};</script>
vendor: 1 bytes, line 389
389
390<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 390
390
391<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Beschermd door hCaptcha',privacyText:'Privacy',termsText:'Voorwaarden'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 391
391
392<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//buttler.shop/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 392
392
393<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//buttler.shop/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
393<script crossorigin="anonymous" defer="defer" src="//buttler.shop/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-f0e26bdf.js?v=20250812"></script>
vendor: 1 bytes, line 393
393
394<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 394
394
395<script> 396 window.Shopify = window.Shopify || {}; 397 window.Shopify.MCP = window.Shopify.MCP || {}; 398 window.Shopify.MCP.enabled = true; 399 window.Shopify.MCP.shop = "buttler-shop.myshopify.com"; 400 window.Shopify.MCP.mcpEndpoint = "https:\/\/buttler.shop\/api\/mcp"; 401 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 402</script>
vendor: 1 bytes, line 402
402
403<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/buttler.shop\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 404</script>
vendor: 1 bytes, line 404
404
405<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://buttler.shop/cdn/shopifycloud/portable-wallets/latest/portable-wallets.nl.js",t.type="module",document.head.appendChild(t)}}; 406</script>
vendor: 1 bytes, line 406
406
407<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 408 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 409</script>
vendor: 1 bytes, line 409
409
410<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 411</script>
411 412<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://buttler.shop/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 413<style id="shopify-accelerated-checkout-cart"> 414 #shopify-buyer-consent { 415 margin-top: 1em; 416 display: inline-block; 417 width: 100%; 418} 419 420#shopify-buyer-consent.hidden { 421 display: none; 422} 423 424#shopify-subscription-policy-button { 425 background: none; 426 border: none; 427 padding: 0; 428 text-decoration: underline; 429 font-size: inherit; 430 cursor: pointer; 431} 432 433#shopify-subscription-policy-button::before { 434 box-shadow: none; 435} 436 437 </style> 438
439<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
439 440 441 442
443<script>window.__pagefly_analytics_settings__={"acceptTracking":true};</script>
443 444 <!-- PickyStory code, do not modify. Safe to remove after the app is uninstalled --> 445 446 <!-- PickyStory code end --> 447 <!-- "snippets/vitals-loader.liquid" was not rendered, the associated app was uninstalled --> 448 <link href="//buttler.shop/cdn/shop/t/7/assets/shopstorm-apps.scss.css?v=78144829907206888501632922638" rel="stylesheet" type="text/css" media="all" /> 449
449<script async src="https://app-cdn.productcustomizer.com/assets/storefront/product-customizer-v2-8458517f7a15d564840defdd0800be0a053f54ac0464ee4a64bd5e6baef7ccbd.js?shop=buttler-shop.myshopify.com" type="text/javascript"></script>
449 450<!-- "snippets/hulkcode_common.liquid" was not rendered, the associated app was uninstalled -->
450<script src='https://ha-product-option.nyc3.digitaloceanspaces.com/assets/api/v2/hulkcode.js' defer='defer'></script>
450 451 452 453<!-- PageFly Header Render begins --> 454 455 456
456<script> 457 458 window.pfPageInfo = Object.assign(window.pfPageInfo || {}); 459 460 document.addEventListener("PageFlyHelperContentLoaded", () => { 461 462 let pageId = window.__pagefly_setting__?.pageId; 463 let pageTitle = window.__pagefly_setting__?.pageTitle; 464 let pageType = window.__pagefly_setting__?.pageType; 465 466 if(window.__pagefly_page_setting__) { 467 pageId = window.__pagefly_page_setting__.pageId; 468 pageTitle = window.__pagefly_page_setting__.pageTitle; 469 pageType = window.__pagefly_page_setting__.pageType; 470 } 471 472 473 window.pfPageInfo = Object.assign(window.pfPageInfo || {}, { 474 pf_page_id: pageId, 475 pf_page_name: pageTitle, 476 pf_page_type: pageType, 477 pf_page_subject_id: '', 478 479 480 481 482 483 484 485 pf_product_name: "de Wasstraat toiletrolhouder", 486 pf_product_id: '6759520895162', 487 pf_product_page_image: "\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_small.jpg?v=1639398441", 488 489 490 }); 491 492 493 494 window.__pagefly_analytics_settings__={ 495 acceptNewTracking: true, 496 enableTrackingRevenue: false, 497 sessionTimeout: 30, 498 timezoneOffset: 0 499 }; 500 if(typeof analyticsSrc === 'undefined'){ 501 let analyticsSrc = "https://cdn.pagefly.io/pagefly/core/analytics.js"; 502 const scriptPFAnalytic = document.createElement('script'); 503 scriptPFAnalytic.src = analyticsSrc; 504 scriptPFAnalytic.async = true; 505 scriptPFAnalytic.defer = false; 506 scriptPFAnalytic.onload = () => { 507 console.log("load analytics new version successfully") 508 }; 509 scriptPFAnalytic.onerror = () => { 510 console.log("load analytics new version unsuccessfully") 511 }; 512 document.body.appendChild(scriptPFAnalytic); 513 } 514 }, { once: true }); 515 </script>
515 516 517
517<script> 518 window.addEventListener('load', () => { 519 // fallback for gtag when not initialized 520 if(typeof window.gtag !== 'function') { 521 window.gtag = (str1, str2, obj) => { 522 } 523 } 524 }) 525 </script>
525 526 <!-- PageFly begins loading Google fonts --><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="preload" as="style" fetchpriority="low" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400&family=Lato:wght@400&family=Source+Sans+Pro:wght@400&display=block"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400&family=Lato:wght@400&family=Source+Sans+Pro:wght@400&display=block" media="(min-width: 640px)"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400&family=Lato:wght@400&family=Source+Sans+Pro:wght@400&display=block" media="print" onload="this.onload=null;this.media='all'"><!-- PageFly ends loading Google fonts --> 527 528<style>.__pf .pf-c-ct,.__pf .pf-c-lt,.__pf .pf-c-rt{align-content:flex-start}.__pf .oh,.pf-sr-only{overflow:hidden}.__pf img,.__pf video{max-width:100%;border:0;vertical-align:middle}.__pf [tabIndex],.__pf button,.__pf input,.__pf select,.__pf textarea{touch-action:manipulation}.__pf:not([data-pf-editor-version=gen-2]) :focus-visible{outline:0!important;box-shadow:none!important}.__pf:not([data-pf-editor-version=gen-2]) :not(input):not(select):not(textarea):not([data-active=true]):focus-visible{border:none!important}.__pf *,.__pf :after,.__pf :before{box-sizing:border-box}.__pf [disabled],.__pf [readonly]{cursor:default}.__pf [data-href],.__pf button:not([data-pf-id]):hover{cursor:pointer}.__pf [disabled]:not([disabled=false]),.pf-dialog svg{pointer-events:none}.__pf [hidden]{display:none!important}.__pf [data-link=inherit]{color:inherit;text-decoration:none}.__pf [data-pf-placeholder]{outline:0;height:auto;display:none;pointer-events:none!important}.__pf .pf-ifr,.__pf [style*="--ratio"] img{height:100%;left:0;top:0;width:100%;position:absolute}.__pf .pf-r,.__pf .pf-r-eh>.pf-c{display:flex}.__pf [style*="--cw"]{padding:0 15px;width:100%;margin:auto;max-width:var(--cw)}.__pf .pf-ifr{border:0}.__pf .pf-bg-lazy{background-image:none!important}.__pf .pf-r{flex-wrap:wrap}.__pf .pf-r-dg{display:grid}.__pf [style*="--c-xs"]{max-width:calc(100%/12*var(--c-xs));flex-basis:calc(100%/12*var(--c-xs))}.__pf [style*="--s-xs"]{margin:0 calc(-1 * var(--s-xs))}.__pf [style*="--s-xs"]>.pf-c{padding:var(--s-xs)}.__pf .pf-r-ew>.pf-c{flex-grow:1;flex-basis:0}.__pf [style*="--ew-xs"]>.pf-c{flex-basis:calc(100% / var(--ew-xs));max-width:calc(100% / var(--ew-xs))}.__pf [style*="--ratio"]{position:relative;padding-bottom:var(--ratio)}.main-content{padding:0}.footer-section,.site-footer,.site-footer-wrapper,main .accent-background+.shopify-section{margin:0}@media (max-width:767.4999px){.__pf .pf-hide{display:none!important}}@media (max-width:1024.4999px) and (min-width:767.5px){.__pf .pf-sm-hide{display:none!important}}@media (max-width:1199.4999px) and (min-width:1024.5px){.__pf .pf-md-hide{display:none!important}}@media (min-width:767.5px){.__pf [style*="--s-sm"]{margin:0 calc(-1 * var(--s-sm))}.__pf [style*="--c-sm"]{max-width:calc(100%/12*var(--c-sm));flex-basis:calc(100%/12*var(--c-sm))}.__pf [style*="--s-sm"]>.pf-c{padding:var(--s-sm)}.__pf [style*="--ew-sm"]>.pf-c{flex-basis:calc(100% / var(--ew-sm));max-width:calc(100% / var(--ew-sm))}}@media (min-width:1024.5px){.__pf [style*="--s-md"]{margin:0 calc(-1 * var(--s-md))}.__pf [style*="--c-md"]{max-width:calc(100%/12*var(--c-md));flex-basis:calc(100%/12*var(--c-md))}.__pf [style*="--s-md"]>.pf-c{padding:var(--s-md)}.__pf [style*="--ew-md"]>.pf-c{flex-basis:calc(100% / var(--ew-md));max-width:calc(100% / var(--ew-md))}}@media (min-width:1199.5px){.__pf [style*="--s-lg"]{margin:0 calc(-1 * var(--s-lg))}.__pf [style*="--c-lg"]{max-width:calc(100%/12*var(--c-lg));flex-basis:calc(100%/12*var(--c-lg))}.__pf [style*="--s-lg"]>.pf-c{padding:var(--s-lg)}.__pf [style*="--ew-lg"]>.pf-c{flex-basis:calc(100% / var(--ew-lg));max-width:calc(100% / var(--ew-lg))}.__pf .pf-lg-hide{display:none!important}}.__pf .pf-r-eh>.pf-c>div{width:100%}.__pf .pf-c-lt{justify-content:flex-start;align-items:flex-start}.__pf .pf-c-ct{justify-content:center;align-items:flex-start}.__pf .pf-c-rt{justify-content:flex-end;align-items:flex-start}.__pf .pf-c-lm{justify-content:flex-start;align-items:center;align-content:center}.__pf .pf-c-cm{justify-content:center;align-items:center;align-content:center}.__pf .pf-c-rm{justify-content:flex-end;align-items:center;align-content:center}.__pf .pf-c-cb,.__pf .pf-c-lb,.__pf .pf-c-rb{align-content:flex-end}.__pf .pf-c-lb{justify-content:flex-start;align-items:flex-end}.__pf .pf-c-cb{justify-content:center;align-items:flex-end}.__pf .pf-c-rb{justify-content:flex-end;align-items:flex-end}.pf-no-border:not(:focus-visible){border:none;outline:0}.pf-sr-only{position:absolute;width:1px;height:1px;padding:0;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0}.pf-close-dialog-btn,.pf-dialog{background:0 0;border:none;padding:0}.pf-visibility-hidden{visibility:hidden}.pf-dialog{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(calc(9/16*100vw),calc(100% - 6px - 2em));-webkit-overflow-scrolling:touch;overflow:hidden;margin:0}.pf-dialog::backdrop{background:rgba(0,0,0,.9);opacity:1}.pf-close-dialog-btn{position:absolute;top:0;right:0;height:16px;margin-bottom:8px;
528cursor:pointer}.pf-close-dialog-btn:not(:focus-visible){box-shadow:none}.pf-dialog-content{display:block;margin:24px auto auto;width:100%;height:calc(100% - 24px)}.pf-dialog-content>*{width:100%;height:100%;border:0}</style> 529<style>@media all{.__pf .pf-gs-button-1,.__pf .pf-gs-button-2,.__pf .pf-gs-button-3{padding:12px 20px;font-size:16px;line-height:16px;letter-spacing:0;margin:0}.__pf{--pf-primary-color:rgb(250, 84, 28);--pf-secondary-color:rgb(121, 103, 192);--pf-foreground-color:rgb(28, 29, 31);--pf-background-color:rgb(244, 245, 250);--pf-primary-font:"Playfair Display";--pf-secondary-font:"Lato";--pf-tertiary-font:"Source Sans Pro"}.__pf .pf-gs-button-1{background-color:#919da9;color:#fff}.__pf .pf-gs-button-2{color:#919da9;border:1px solid #919da9}.__pf .pf-gs-button-3{background-color:#919da9;color:#fff;border-radius:40px}.__pf .pf-gs-button-4{color:#919da9;border-radius:40px;border:1px solid #919da9;padding:12px 20px;margin:0;font-size:16px;line-height:16px;letter-spacing:0}.__pf .pf-gs-button-5,.__pf .pf-gs-button-6{color:#919da9;border-style:solid;border-color:#919da9;padding:12px 20px;font-size:16px;line-height:16px;letter-spacing:0}.__pf .pf-gs-button-5{border-width:0 0 3px;margin:0}.__pf .pf-gs-button-6{border-width:0 3px 3px 0;margin:0}.__pf .pf-gs-icon-1,.__pf .pf-gs-icon-2{background-color:#919da9;color:#fff;padding:8px;margin:0;border-style:none}.__pf .pf-gs-icon-1{border-radius:0}.__pf .pf-gs-icon-2{border-radius:50%}.__pf .pf-gs-icon-3,.__pf .pf-gs-icon-4{background-color:#fff;color:#919da9;padding:8px;margin:0;border:1px solid #919da9}.__pf .pf-gs-icon-4{border-radius:50%}.__pf .pf-gs-icon-5,.__pf .pf-gs-icon-6{background-color:#f5f5f5;color:#919da9;padding:8px;margin:0;border:1px solid #919da9}.__pf .pf-gs-icon-6{border-radius:50%}.__pf .pf-gs-image-1{width:100%}.__pf .pf-gs-image-2{border:3px solid #919da9;width:100%}.__pf .pf-gs-image-3{border:3px solid #919da9;padding:10px;width:100%}.__pf .pf-gs-image-4,.__pf .pf-gs-image-5{border-radius:50%;width:100%}.__pf .pf-gs-image-5{border:3px solid #919da9}.__pf .pf-gs-image-6{border-radius:50%;border:3px solid #919da9;padding:10px;width:100%}.__pf .pf-gs-heading-1,.__pf .pf-gs-heading-2,.__pf .pf-gs-heading-3,.__pf .pf-gs-heading-4,.__pf .pf-gs-heading-5{color:#000;padding:0;margin:18px 0}.__pf .pf-gs-heading-1{font-size:32px}.__pf .pf-gs-heading-2{font-size:24px}.__pf .pf-gs-heading-3{font-size:20px}.__pf .pf-gs-heading-4{font-size:18px}.__pf .pf-gs-heading-5{font-size:16px}.__pf .pf-gs-heading-6{margin:18px 0;font-size:14px;color:#000;padding:0}.__pf .pf-gs-paragraph-1,.__pf .pf-gs-paragraph-2,.__pf .pf-gs-paragraph-3,.__pf .pf-gs-paragraph-4{color:#000;padding:0;margin:16px 0;font-size:16px}.__pf .pf-gs-paragraph-1{text-align:left}.__pf .pf-gs-paragraph-2{text-align:right}.__pf .pf-gs-paragraph-3{text-align:center}.__pf .pf-gs-divider-1{color:#919da9;padding:16px 0;margin:0}.__pf .pf-gs-divider-2{color:#444749;padding:16px 0;margin:0}.__pf .pf-gs-divider-3{color:#b9bfca;padding:16px 0;margin:0}}</style> 530<style>.pf-color-scheme-1,.pf-color-scheme-2{--pf-scheme-shadow-color:rgb(0, 0, 0, 0.25)}.pf-color-scheme-1{--pf-scheme-bg-color: ;--pf-scheme-text-color: ;--pf-scheme-btn-bg-color: ;--pf-scheme-btn-text-color: ;--pf-scheme-border-color: ;background-color:var(--pf-scheme-bg-color);background-image:var(--pf-scheme-bg-gradient-color);border-color:var(--pf-scheme-border-color);color:var(--pf-scheme-text-color)}.pf-color-scheme-2,.pf-color-scheme-3{--pf-scheme-btn-text-color:rgb(255, 255, 255);background-color:var(--pf-scheme-bg-color);background-image:var(--pf-scheme-bg-gradient-color);border-color:var(--pf-scheme-border-color);color:var(--pf-scheme-text-color)}.pf-color-scheme-2{--pf-scheme-bg-color:rgba(255, 255, 255, 0);--pf-scheme-text-color:rgb(0, 0, 0);--pf-scheme-btn-bg-color:rgb(145, 157, 169);--pf-scheme-border-color:rgba(0, 0, 0)}.pf-color-scheme-3,.pf-color-scheme-4{--pf-scheme-text-color:rgb(18, 18, 18);--pf-scheme-btn-bg-color:rgb(18, 18, 18);--pf-scheme-border-color:rgb(18, 18, 18)}.pf-color-scheme-3{--pf-scheme-bg-color:rgb(255, 255, 255);--pf-scheme-shadow-color:rgb(18, 18, 18)}.pf-color-scheme-4{--pf-scheme-bg-color:rgb(243, 243, 243);--pf-scheme-btn-text-color:rgb(243, 243, 243);--pf-scheme-shadow-color:rgb(18, 18, 18);background-color:var(--pf-scheme-bg-color);background-image:var(--pf-scheme-bg-gradient-color);border-color:var(--pf-scheme-border-color);color:var(--pf-scheme-text-color)}.pf-color-scheme-5,.pf-color-scheme-6,.pf-color-scheme-7{--pf-scheme-text-color:rgb(255, 255, 255);--pf-scheme-btn-bg-color:rgb(255, 255, 255);--pf-scheme-border-color:rgb(255, 255, 255);--pf-scheme-shadow-color:rgb(18, 18, 18);background-color:var(--pf-scheme-bg-color);background-image:var(--pf-scheme-bg-gradient-color);border-color:var(--pf-scheme-border-color);color:var(--pf-scheme-text-color)}.pf-color-scheme-5{--pf-scheme-bg-color:rgb(36, 40, 51);--pf-scheme-btn-text-color:rgb(0, 0, 0)}.pf-color-scheme-6{--pf-scheme-bg-color:rgb(18, 18, 18);--pf-scheme-btn-text-color:rgb(18, 18, 18)}.pf-color-scheme-7{--pf-scheme-bg-color:rgb(51, 79, 180);--pf-scheme-btn-text-color:rgb(51, 79, 180)}[data-pf-type^=Button]{background-color:var(--pf-scheme-btn-bg-color);background-image:var(--pf-scheme-btn-bg-gradient-color);color:var(--pf-scheme-btn-text-color)}@media all{.__pf .pf-button-1,.__pf .pf-button-2{color:#fff;background-color:#919da9}.__pf .pf-button-2,.__pf .pf-button-3,.__pf .pf-button-4{padding:12px 20px;margin:0;font-size:16px;line-height:16px;letter-spacing:0}.__pf .pf-button-1{padding:12px 20px}.__pf .pf-button-3{color:#919da9;border:1px solid #919da9}.__pf .pf-button-4{background-color:#919da9;color:#fff;border-radius:40px}.__pf .pf-button-5{color:#919da9;border-radius:40px;border:1px solid #919da9;padding:12px 20px;margin:0;font-size:16px;line-height:16px;letter-spacing:0}.__pf .pf-button-6,.__pf .pf-button-7{color:#919da9;border-style:solid;border-color:#919da9;padding:12px 20px;margin:0;font-size:16px;line-height:16px;letter-spacing:0}.__pf .pf-button-6{border-width:0 0 3px}.__pf .pf-button-7{border-width:0 3px 3px 0}.__pf .pf-icon-1,.__pf .pf-text-1,.__pf .pf-text-6,.__pf .pf-text-7,.pf-icon2-1,.pf-icon2-2,.pf-icon2-3,.pf-icon2-4,.pf-icon2-5,.pf-icon2-6,.pf-icon2-7{background-color:var(--pf-scheme-bg-color);color:var(--pf-scheme-text-color)}.__pf .pf-icon-2,.__pf .pf-icon-3{background-color:#919da9;color:#fff;padding:8px;margin:0;border-style:none}.__pf .pf-icon-2{border-radius:0}.__pf .pf-icon-3{border-radius:50%}.__pf .pf-icon-4,.__pf .pf-icon-5{background-color:#fff;color:#919da9;padding:8px;margin:0;border:1px solid #919da9}.__pf .pf-icon-5{border-radius:50%}.__pf .pf-icon-6,.__pf .pf-icon-7{background-color:#f5f5f5;color:#919da9;padding:8px;margin:0;border:1px solid #919da9}.__pf .pf-icon-7{border-radius:50%}.__pf .pf-image-2{width:100%}.__pf .pf-image-3{border:3px solid #919da9;width:100%}.__pf .pf-image-4{border:3px solid #919da9;padding:10px;width:100%}.__pf .pf-image-5,.__pf .pf-image-6{border-radius:50%;width:100%}.__pf .pf-image-6{border:3px solid #919da9}.__pf .pf-image-7{border-radius:50%;border:3px solid #919da9;padding:10px;width:100%}.__pf .pf-text-2,.__pf .pf-text-3,.__pf .pf-text-4,.__pf .pf-text-5{color:#000;padding:0;margin:16px 0;font-size:16px}.__pf .pf-text-2{text-align:left}.__pf .pf-text-3{text-align:right}.__pf .pf-text-4{text-align:center}.__pf .pf-divider-1{color:var(--pf-scheme-text-color)}.__pf .pf-divider-2{color:#919da9;padding:16px 0;margin:0}.__pf .pf-divider-3{color:#444749;padding:16px 0;margin:0}.__pf .pf-divider-4{color:#b9bfca;padding:16px 0;margin:0}.__pf .pf-heading-1-h1,.__pf .pf-heading-1-h2,.__pf .pf-heading-1-h3,.__pf .pf-heading-1-h4,.__pf .pf-heading-1-h5,.__pf .pf-heading-1-h6{color:var(--pf-scheme-text-color);background-color:var(--pf-scheme-bg-color)}.__pf .pf-heading-2-h1,.__pf .pf-heading-2-h2,.__pf .pf-heading-2-h3,.__pf .pf-heading-2-h4,.__pf .pf-heading-2-h5,.__pf .pf-heading-2-h6{margin:18px 0;font-size:32px;color:#000;padding:0}.__pf .pf-heading-3-h1,.__pf .pf-heading-3-h2,.__pf .pf-heading-3-h3,.__pf .pf-heading-3-h4,.__pf .pf-heading-3-h5,.__pf .pf-heading-3-h6{margin:18px 0;font-size:24px;color:#000;padding:0}.__pf .pf-heading-4-h1,.__pf .pf-heading-4-h2,.__pf .pf-heading-4-h3,.__pf .pf-heading-4-h4,.__pf .pf-heading-4-h5,.__pf .pf-heading-4-h6{margin:18px 0;font-size:20px;color:#000;padding:0}.__pf .pf-heading-5-h1,.__pf .pf-heading-5-h2,.__pf .pf-heading-5-h3,.__pf .pf-heading-5-h4,.__pf .pf-heading-5-h5,.__pf .pf-heading-5-h6{margin:18px 0;font-size:18px;color:#000;padding:0}.__pf .pf-heading-6-h1,.__pf .pf-heading-6-h2,.__pf .pf-heading-6-h3,.__pf .pf-heading-6-h4,.__pf .pf-heading-6-h5,.__pf .pf-heading-6-h6{margin:18px 0;font-size:16px;color:#000;padding:0}.__pf .pf-heading-7-h1,.__pf .pf-heading-7-h2,.__pf .pf-heading-7-h3,.__pf .pf-heading-7-h4,.__pf .pf-heading-7-h5,.__pf .pf-heading-7-h6{margin:18px 0;font-size:14px;color:#000;padding:0}.__pf .pf-field-1,.__pf .pf-field-2,.__pf .pf-field-3,.__pf .pf-field-4,.__pf .pf-field-5,.__pf .pf-field-6{background-color:#fdfdfd;border:.66px solid #8a8a8a;border-radius:8px;padding:6px 12px}}</style> 531<style id="pf-shopify-font">
531div.__pf {--pf-shopify-font-family-type-heading-font: Poppins, sans-serif; 532 --pf-shopify-font-style-type-heading-font: normal; 533 --pf-shopify-font-weight-type-heading-font: 800; 534--pf-shopify-font-family-type-accent-font: Poppins, sans-serif; 535 --pf-shopify-font-style-type-accent-font: normal; 536 --pf-shopify-font-weight-type-accent-font: 600; 537--pf-shopify-font-family-type-base-font: Poppins, sans-serif; 538 --pf-shopify-font-style-type-base-font: normal; 539 --pf-shopify-font-weight-type-base-font: 400;}</style> 540<link rel="stylesheet" href="//buttler.shop/cdn/shop/t/7/assets/pagefly-animation.css?v=35569424405882025761732894849" media="print" onload="this.media='all'"><!-- PageFly Header Render ends --><!-- BEGIN app block: shopify://apps/pagefly-ai-page-builder/blocks/app-embed/83e179f7-59a0-4589-8c66-c0dddf959200 --> 541 542<!-- BEGIN app snippet: pagefly-cro-ab-testing-main --> 543 544 545 546 547 548 549
550<script> 551 ;(function () { 552 const url = new URL(window.location) 553 const viewParam = url.searchParams.get('view') 554 if (viewParam && viewParam.includes('variant-pf-')) { 555 url.searchParams.set('pf_v', viewParam) 556 url.searchParams.delete('view') 557 window.history.replaceState({}, '', url) 558 } 559 })() 560</script>
560 561 562 563
564<script type='module'> 565 566 window.PAGEFLY_CRO = window.PAGEFLY_CRO || {} 567 568 window.PAGEFLY_CRO['data_debug'] = { 569 original_template_suffix: "pf-cb767062", 570 allow_ab_test: false, 571 ab_test_start_time: 0, 572 ab_test_end_time: 0, 573 today_date_time: 1791460007000, 574 } 575 window.PAGEFLY_CRO['GA4'] = { enabled: false} 576</script>
576 577 578<!-- END app snippet --> 579 580 581 582 583 584 585 586 587
587<script src='https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-helper.js' defer='defer'></script>
587 588 589
589<script src='https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-general-helper.js' defer='defer'></script>
589 590 591
591<script src='https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-snap-slider.js' defer='defer'></script>
591 592 593
593<script src='https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-slideshow-v3.js' defer='defer'></script>
593 594 595
595<script src='https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-slideshow-v4.js' defer='defer'></script>
595 596 597
597<script src='https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-glider.js' defer='defer'></script>
597 598 599
599<script src='https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-slideshow-v1-v2.js' defer='defer'></script>
599 600 601
601<script src='https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-product-media.js' defer='defer'></script>
601 602 603
603<script src='https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-product.js' defer='defer'></script>
603 604 605
606<script id='pagefly-helper-data' type='application/json'> 607 { 608 "page_optimization": { 609 "assets_prefetching": false 610 }, 611 "elements_asset_mapper": { 612 "Accordion": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-accordion.js", 613 "Accordion3": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-accordion3.js", 614 "CountDown": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-countdown.js", 615 "GMap1": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-gmap.js", 616 "GMap2": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-gmap.js", 617 "GMapBasicV2": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-gmap.js", 618 "GMapAdvancedV2": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-gmap.js", 619 "HTML.Video": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-htmlvideo.js", 620 "HTML.Video2": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-htmlvideo2.js", 621 "HTML.Video3": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-htmlvideo2.js", 622 "BackgroundVideo": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-htmlvideo2.js", 623 "Instagram": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-instagram.js", 624 "Instagram2": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-instagram.js", 625 "Insta3": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-instagram3.js", 626 "Tabs": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-tab.js", 627 "Tabs3": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-tab3.js", 628 "ProductBox": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-cart.js", 629 "FBPageBox2": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-facebook.js", 630 "FBLikeButton2": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-facebook.js", 631 "TwitterFeed2": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-twitter.js", 632 "Paragraph4": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-paragraph4.js", 633 634 "AliReviews": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 635 "BackInStock": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 636 "GloboBackInStock": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 637 "GrowaveWishlist": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 638 "InfiniteOptionsShopPad": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 639 "InkybayProductPersonalizer": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder
639-367/assets/pagefly-3rd-elements.js", 640 "LimeSpot": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 641 "Loox": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 642 "Opinew": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 643 "Powr": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 644 "ProductReviews": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 645 "PushOwl": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 646 "ReCharge": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 647 "Rivyo": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 648 "TrackingMore": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 649 "Vitals": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js", 650 "Wiser": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-3rd-elements.js" 651 }, 652 "custom_elements_mapper": { 653 "pf-click-action-element": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-click-action-element.js", 654 "pf-dialog-element": "https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-dialog-element.js" 655 } 656 } 657</script>
657 658
659<script id='pagefly-heatmap-config' type='application/json'> 660 {} 661</script>
vendor: 1 bytes, line 661
661
662<script> 663 (function () { 664 var el = document.getElementById('pagefly-heatmap-config') 665 if (!el) { window.__pagefly_heatmap_config__ = {}; return } 666 try { 667 window.__pagefly_heatmap_config__ = JSON.parse(el.textContent || '{}') || {} 668 } catch (e) { 669 window.__pagefly_heatmap_config__ = {} 670 } 671 })() 672</script>
vendor: 1 bytes, line 672
672
673<script> 674 // Heatmap overlay loader. Three gates, all of them cheap, none of them trusting the URL: 675 // the visitor must have arrived on a pf_heatmap link, the SERVER must have published an 676 // overlay path in the metafield, and this page must already be one the merchant enabled 677 // tracking for. The last gate is what stops a crafted link pulling the asset onto an 678 // arbitrary storefront page. Everything else is decided inside the asset, and by the server. 679 (function () { 680 var cfg = window.__pagefly_heatmap_config__ || {} 681 var id = (window.__pagefly_page_setting__ || {}).pageId 682 if (!/[#&]pf_heatmap=/.test(window.location.hash || '')) return 683 if (!cfg.overlay_data_path || !Array.isArray(cfg.enabled_page_ids)) return 684 if (!id || cfg.enabled_page_ids.indexOf(id) === -1) return 685 var s = document.createElement('script') 686 s.src = 'https://cdn.shopify.com/extensions/01a115fb-add3-73f7-a337-6aea6d12aa8f/pagefly-ai-page-builder-367/assets/pagefly-heatmap-overlay.js' 687 s.defer = true 688 document.head.appendChild(s) 689 })() 690</script>
690 691 692<!-- BEGIN app snippet: pf-ai-schema --> 693<!-- END app snippet --> 694 695 696<!-- END app block -->
696<script src="https://cdn.shopify.com/extensions/019ddf98-0d13-797e-affa-36a8c7d15d5d/eu-cookie-bar-6/assets/nova-cookie-app-embed.js" type="text/javascript" defer="defer"></script>
696 697<link href="https://cdn.shopify.com/extensions/019ddf98-0d13-797e-affa-36a8c7d15d5d/eu-cookie-bar-6/assets/nova-cookie.css" rel="stylesheet" type="text/css" media="all"> 698<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
699<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 58688602298,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 699
699
700<script> 701 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 702</script>
vendor: 1 bytes, line 702
702
703<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
703).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 58688602298,storefrontBaseUrl: "https://buttler.shop",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://buttler.shop/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"4645585237","configuration":"{\"pixelCode\":\"D8JB7CJC77U4IS6CP4R0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":[]},"dataSharingState":"optimized"}
703,{"id":"1218478421","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"AW-0\\\",\\\"target_country\\\":\\\"NL\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"AW-10830533902\\\/ooSACMDuqYwDEI6qs6wo\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"AW-10830533902\\\/tiMMCMPuqYwDEI6qs6wo\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"AW-10830533902\\\/R7hkCMbuqYwDEI6qs6wo\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"AW-10830533902\\\/kDaQCMnuqYwDEI6qs6wo\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"AW-10830533902\\\/Lf0NCMzuqYwDEI6qs6wo\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"AW-10830533902\\\/euGPCM_uqYwDEI6qs6wo\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"AW-10830533902\\\/6ASqCNLuqYwDEI6qs6wo\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"440729941","configuration":"{\"pixel_id\":\"270135373933110\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"151683413","configuration":"{\"tagID\":\"2613522825799\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":[]},"dataSharingState":"optimized"},{"id":"193003861","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Buttler.shop","paymentSettings":{"currencyCode":"EUR"},"myshopifyDomain":"buttler-shop.myshopify.com","countryCode":"NL","storefrontUrl":"https:\/\/buttler.shop"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":40.95,"currencyCode":"EUR"},"product":{"title":"de Wasstraat toiletrolhouder","vendor":"Buttler.shop","id":"6759520895162","untranslatedTitle":"de Wasstraat toiletrolhouder","url":"\/products\/zwarte-toiletrolhouder","type":"Toiletmeubeltjes"},"id":"40575348441274","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441"},"sku":"BUTT0073","title":"Toiletpapier spray","untranslatedTitle":"Toiletpapier spray"},{"price":{"amount":48.95,"currencyCode":"EUR"},"product":{"title":"de Wasstraat toiletrolhouder","vendor":"Buttler.shop","id":"6759520895162","untranslatedTitle":"de Wasstraat toiletrolhouder","url":"\/products\/zwarte-toiletrolhouder","type":"Toiletmeubeltjes"},"id":"40575348474042","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453"},"sku":"BUTT0068","title":"O! de Toilette roomspray - Noordse Nevel","untranslatedTitle":"O! de Toilette roomspray - Noordse Nevel"},{"price":{"amount":48.95,"currencyCode":"EUR"},"product":{"title":"de Wasstraat toiletrolhouder","vendor":"Buttler.shop","id":"6759520895162","untranslatedTitle":"de Wasstraat toiletrolhouder","url":"\/products\/zwarte-toiletrolhouder","type":"Toiletmeubeltjes"},"id":"40575348506810","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449"},"sku":"BUTT0070","title":"O! de Toilette roomspray - Knisperend Katoen","untranslatedTitle":"O! de Toilette roomspray - Knisperend Katoen"},{"price":{"amount":48.95,"currencyCode":"EUR"},"product":{"title":"de Wasstraat toiletrolhouder","vendor":"Buttler.shop","id":"6759520895162","untranslatedTitle":"de Wasstraat toiletrolhouder","url":"\/products\/zwarte-toiletrolhouder","type":"Toiletmeubeltjes"},"id":"40575348539578","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452"},"sku":"BUTT0069","title":"O! de Toilette roomspray - Brute Bloesem","untranslatedTitle":"O! de Toilette roomspray - Brute Bloesem"},{"price":{"amount":48.95,"currencyCode":"EUR"},"product":{"title":"de Wasstraat toiletrolhouder","vendor":"Buttler.shop","id":"6759520895162","untranslatedTitle":"de Wasstraat toiletrolhouder","url":"\/products\/zwarte-toiletrolhouder","type":"Toiletmeubeltjes"},"id":"40575348637882","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447"},"sku":"BUTT0071","title":"O! de Toilette - Groene Glorie","untranslatedTitle":"O! de Toilette - Groene Glorie"},{"price":{"amount":40.95,"currencyCode":"EUR"},"product":{"title":"de Wasstraat toiletrolhouder","vendor":"Buttler.shop","id":"6759520895162","untranslatedTitle":"de Wasstraat toiletrolhouder","url":"\/products\/zwarte-toiletrolhouder","type":"Toiletmeubeltjes"},"id":"40575348572346","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-4
7031d7-97b4-7a7449931aa2.jpg?v=1639398459"},"sku":"BUTT0072","title":"Hygiëne desinfectie spray","untranslatedTitle":"Hygiëne desinfectie spray"},{"price":{"amount":34.0,"currencyCode":"EUR"},"product":{"title":"de Wasstraat toiletrolhouder","vendor":"Buttler.shop","id":"6759520895162","untranslatedTitle":"de Wasstraat toiletrolhouder","url":"\/products\/zwarte-toiletrolhouder","type":"Toiletmeubeltjes"},"id":"40575348605114","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460"},"sku":"BUTT0074","title":"Geen","untranslatedTitle":"Geen"}],"products":[{"id":"6759520895162","handle":"zwarte-toiletrolhouder","isCollective":null,"title":"de Wasstraat toiletrolhouder","type":"Toiletmeubeltjes","untranslatedTitle":"de Wasstraat toiletrolhouder","url":"\/products\/zwarte-toiletrolhouder","vendor":"Buttler.shop","remoteShopId":null,"variants":[{"id":"40575348441274","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441"},"price":{"amount":40.95,"currencyCode":"EUR"},"sku":"BUTT0073","title":"Toiletpapier spray","untranslatedTitle":"Toiletpapier spray"},{"id":"40575348474042","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453"},"price":{"amount":48.95,"currencyCode":"EUR"},"sku":"BUTT0068","title":"O! de Toilette roomspray - Noordse Nevel","untranslatedTitle":"O! de Toilette roomspray - Noordse Nevel"},{"id":"40575348506810","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449"},"price":{"amount":48.95,"currencyCode":"EUR"},"sku":"BUTT0070","title":"O! de Toilette roomspray - Knisperend Katoen","untranslatedTitle":"O! de Toilette roomspray - Knisperend Katoen"},{"id":"40575348539578","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452"},"price":{"amount":48.95,"currencyCode":"EUR"},"sku":"BUTT0069","title":"O! de Toilette roomspray - Brute Bloesem","untranslatedTitle":"O! de Toilette roomspray - Brute Bloesem"},{"id":"40575348637882","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447"},"price":{"amount":48.95,"currencyCode":"EUR"},"sku":"BUTT0071","title":"O! de Toilette - Groene Glorie","untranslatedTitle":"O! de Toilette - Groene Glorie"},{"id":"40575348572346","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-41d7-97b4-7a7449931aa2.jpg?v=1639398459"},"price":{"amount":40.95,"currencyCode":"EUR"},"sku":"BUTT0072","title":"Hygiëne desinfectie spray","untranslatedTitle":"Hygiëne desinfectie spray"},{"id":"40575348605114","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460"},"price":{"amount":34.0,"currencyCode":"EUR"},"sku":"BUTT0074","title":"Geen","untranslatedTitle":"Geen"}]},{"id":"6758687080634","handle":"toiletpapier-spray","isCollective":null,"title":"Toiletpapier spray","type":"Hygiëneproducten","untranslatedTitle":"Toiletpapier spray","url":"\/products\/toiletpapier-spray","vendor":"Buttler.shop","remoteShopId":null,"variants":[{"id":"40120121950394","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_spray_grijs.jpg?v=1633433202"},"price":{"amount":6.95,"currencyCode":"EUR"},"sku":"BUTT0001","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"6759521976506","handle":"bij-de-hand","isCollective":null,"title":"Bij de Hand","type":null,"untranslatedTitle":"Bij de Hand","url":"\/products\/bij-de-hand","vendor":"Buttler.shop","remoteShopId":null,"variants":[{"id":"40570351255738","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954"},"price":{"amount":29.95,"currencyCode":"EUR"},"sku":"BUTT0062","title":"O! de Toilette roomspray - Noordse Nevel","untranslatedTitle":"O! de Toilette roomspray - Noordse Nevel"}]},{"id":"6759521845434","handle":"buttler-schone-start","isCollective":null,"title":"Buttler schone start","type":null,"untranslatedTitle":"Buttler schone start","url":"\/products\/buttler-schone-start","vendor":"Buttler.shop","remoteShopId":null,"variants":[{"id":"40122086949050","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_schone_start_grijs_921ca8c5-a1f8-49c5-8c88-2b0a47ba8a0d.jpg?v=1639398334"},"price":{"amount":21.8,"currencyCode":"EUR"},"sku":"BUTT0018","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"6759521386682","handle":"toiletpapier","isCollective":null,"title":"Het duurzaamste toiletpapier","type":null,"untranslatedTitle":"Het duurzaamste toiletpapier","url":"\/products\/toiletpapier","vendor":"Buttler.shop","remoteShopId":null,"variants":[{"id":"40122086097082","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_doos_grijs_ba61f76a-5c50-4485-a26d-daea66a1af45.jpg?v=1639398497"},"price":{"amount":24.95,"currencyCode":"EUR"},"sku":"20200207","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"6759521616058","handle":"duurzamestart","isCollective":null,"title":"Buttler duurzame start","type":null,"untranslatedTitle":"Buttler duurzame start","url":"\/products\/duurzamestart","vendor":"Buttler.shop","remoteShopId":null,"variants":[{"id":"40122086588602","image":{"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Duurzame_start_grijs.jpg?v=1639398056"},"price":{"amount":21.33,"currencyCode":"EUR"},"sku":"BUTT010","title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://buttler.shop/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"125309649082","themeStoreId":"739","themePublished":"true","eventMetadataId":"e7622bed-5047-41ac-b19b-1d3b6c5f7b0c","pageType":"product","resourceId":"6759520895162","shopId":"58688602298","storefrontBaseUrl":"https:\/\/buttler.shop","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":40.95,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"de Wasstraat toiletrolhouder\",\"vendor\":\"Buttler.shop\",\"id\":\"6759520895162\",\"untranslatedTitle\":\"de Wasstraat toiletrolhouder\",\"url\":\"\/products\/zwarte-toiletrolhouder\",\"type\":\"Toiletmeubeltjes\"},\"id\":\"40575348441274\",\"image\":{\"src\":\"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441\"},\"sku\":\"BUTT0073\",\"title\":\"Toiletpapier spray\",\"untranslatedTitle\":\"Toiletpapier spray\"}}]]"});})();</script>
703<script> 704 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 705 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 706 window.ShopifyAnalytics.meta.currency = 'EUR'; 707 var meta = {"product":{"id":6759520895162,"gid":"gid:\/\/shopify\/Product\/6759520895162","vendor":"Buttler.shop","type":"Toiletmeubeltjes","handle":"zwarte-toiletrolhouder","variants":[{"id":40575348441274,"price":4095,"name":"de Wasstraat toiletrolhouder - Toiletpapier spray","public_title":"Toiletpapier spray","sku":"BUTT0073"},{"id":40575348474042,"price":4895,"name":"de Wasstraat toiletrolhouder - O! de Toilette roomspray - Noordse Nevel","public_title":"O! de Toilette roomspray - Noordse Nevel","sku":"BUTT0068"},{"id":40575348506810,"price":4895,"name":"de Wasstraat toiletrolhouder - O! de Toilette roomspray - Knisperend Katoen","public_title":"O! de Toilette roomspray - Knisperend Katoen","sku":"BUTT0070"},{"id":40575348539578,"price":4895,"name":"de Wasstraat toiletrolhouder - O! de Toilette roomspray - Brute Bloesem","public_title":"O! de Toilette roomspray - Brute Bloesem","sku":"BUTT0069"},{"id":40575348637882,"price":4895,"name":"de Wasstraat toiletrolhouder - O! de Toilette - Groene Glorie","public_title":"O! de Toilette - Groene Glorie","sku":"BUTT0071"},{"id":40575348572346,"price":4095,"name":"de Wasstraat toiletrolhouder - Hygiëne desinfectie spray","public_title":"Hygiëne desinfectie spray","sku":"BUTT0072"},{"id":40575348605114,"price":3400,"name":"de Wasstraat toiletrolhouder - Geen","public_title":"Geen","sku":"BUTT0074"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":6759520895162,"requestId":"2208510c-c568-4d0a-bba6-85c289842a8d-1791460007"}}; 708 for (var attr in meta) { 709 window.ShopifyAnalytics.meta[attr] = meta[attr]; 710 } 711</script>
vendor: 1 bytes, line 711
711
712<script class="analytics"> 713 (function () { 714 var customDocumentWrite = function(content) { 715 var jquery = null; 716 717 if (window.jQuery) { 718 jquery = window.jQuery; 719 } else if (window.Checkout && window.Checkout.$) { 720 jquery = window.Checkout.$; 721 } 722 723 if (jquery) { 724 jquery('body').append(content); 725 } 726 }; 727 728 var hasLoggedConversion = function(token) { 729 if (token) { 730 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 731 } 732 return false; 733 } 734 735 var setCookieIfConversion = function(token) { 736 if (token) { 737 var twoMonthsFromNow = new Date(Date.now()); 738 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 739 740 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 741 } 742 } 743 744 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 745 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 746 if (trekkie.integrations) { 747 return; 748 } 749 trekkie.methods = [ 750 'identify', 751 'page', 752 'ready', 753 'track', 754 'trackForm', 755 'trackLink' 756 ]; 757 trekkie.factory = function(method) { 758 return function() { 759 var args = Array.prototype.slice.call(arguments); 760 args.unshift(method); 761 trekkie.push(args); 762 if (method == 'track' || method == 'page') { 763 var pageUrl; 764 try { 765 pageUrl = window.location.href; 766 } catch (e) {} 767 var pageReferrer; 768 try { 769 pageReferrer = document.referrer; 770 } catch (e) {} 771 try { 772 if (window.__TREKKIE_SHIM_QUEUE == null) { 773 window.__TREKKIE_SHIM_QUEUE = []; 774 } 775 window.__TREKKIE_SHIM_QUEUE.push({ 776 from: 'trekkie-stub', 777 method: method, 778 args: args.slice(1), 779 pageContext: { 780 url: pageUrl, 781 referrer: pageReferrer 782 } 783 }); 784 } catch (e) { 785 // no-op 786 } 787 } 788 return trekkie; 789 }; 790 }; 791 for (var i = 0; i < trekkie.methods.length; i++) { 792 var key = trekkie.methods[i]; 793 trekkie[key] = trekkie.factory(key); 794 } 795 trekkie.load = function(config) { 796 trekkie.config = config || {}; 797 trekkie.config.initialDocumentCookie = document.cookie; 798 var first = document.getElementsByTagName('script')[0]; 799var script = document.createElement('script'); 800script.type = 'text/javascript'; 801script.onerror = function(e) { 802 var scriptFallback = document.createElement('script'); 803 scriptFallback.type = 'text/javascript'; 804 scriptFallback.onerror = function(error) { 805 var Monorail = { 806 produce: function produce(monorailDomain, schemaId, payload) { 807 var currentMs = new Date().getTime(); 808 var event = { 809 schema_id: schemaId, 810 payload: payload, 811 metadata: { 812 event_created_at_ms: currentMs, 813 event_sent_at_ms: currentMs 814 } 815 }; 816 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 817 }, 818 sendRequest: function sendRequest(endpointUrl, payload) { 819 // Try the sendBeacon API 820 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 821 var blobData = new window.Blob([payload], { 822 type: 'text/plain' 823 }); 824 825 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 826 return true; 827 } // sendBeacon was not successful 828 829 } // XHR beacon 830 831 var xhr = new XMLHttpRequest(); 832 833 try { 834 xhr.open('POST', endpointUrl); 835 xhr.setRequestHeader('Content-Type', 'text/plain'); 836 xhr.send(payload); 837 } catch (e) { 838 console.log(e); 839 } 840 841 return false; 842 }, 843 isIos12: function isIos12() { 844 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 845 } 846 }; 847 Monorail.produce('monorail-edge.shopifysvc.com', 848 'trekkie_storefront_load_errors/1.1', 849 {shop_id: 58688602298, 850 theme_id: 125309649082, 851 app_name: "storefront", 852 context_url: window.location.href, 853 source_url: "//buttler.shop/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"}); 854 855 }; 856 scriptFallback.async = true; 857 scriptFallback.src = '//buttler.shop/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 858 first.parentNode.insertBefore(scriptFallback, first); 859}; 860script.async = true; 861script.src = '//buttler.shop/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js'; 862first.parentNode.insertBefore(script, first); 863 864 }; 865 trekkie.load( 866 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":58688602298,"isMerchantRequest":null,"themeId":125309649082,"themeCityHash":"9600670313479048418","contentLanguage":"nl","currency":"EUR","eventMetadataId":"e7622bed-5047-41ac-b19b-1d3b6c5f7b0c"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 867 ); 868 869 var loaded = false;
870 trekkie.ready(function() { 871 if (loaded) return; 872 loaded = true; 873 874 window.ShopifyAnalytics.lib = window.trekkie; 875 876 var originalDocumentWrite = document.write; 877 document.write = customDocumentWrite; 878 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 879 document.write = originalDocumentWrite; 880 881 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 882 var token = match? match[1]: undefined; 883 if (!hasLoggedConversion(token)) { 884 setCookieIfConversion(token); 885 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"EUR","variantId":40575348441274,"productId":6759520895162,"productGid":"gid:\/\/shopify\/Product\/6759520895162","name":"de Wasstraat toiletrolhouder - Toiletpapier spray","price":"40.95","sku":"BUTT0073","brand":"Buttler.shop","variant":"Toiletpapier spray","category":"Toiletmeubeltjes","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 886 } 887 }); 888 889 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":6759520895162,"requestId":"2208510c-c568-4d0a-bba6-85c289842a8d-1791460007","shopifyEmitted":true}); 890 891 var eventsListenerScript = document.createElement('script'); 892 eventsListenerScript.async = true; 893 eventsListenerScript.src = "//buttler.shop/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 894 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 895})();</script>
895 896
896<script> 897 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 898 window.ga = function ga() { 899 (window.ga.q = window.ga.q || []).push(arguments); 900 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 901 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 902 } 903 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 904 }; 905 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 906 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 907 } 908 } 909</script>
vendor: 1 bytes, line 909
909
910<script 911 defer 912 src="https://buttler.shop/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.0.min.js" 913 data-application="storefront-renderer" 914 data-shop-id="58688602298" 915 data-render-region="gcp-us-west1" 916 data-page-type="product" 917 data-theme-instance-id="125309649082" 918 data-theme-name="Pipeline" 919 data-theme-version="5.2.1" 920 data-monorail-region="shop_domain" 921 data-resource-timing-sampling-rate="10" 922 data-shs="true" 923 data-shs-beacon="true" 924 data-shs-export-with-fetch="true" 925 data-shs-logs-sample-rate="1" 926 data-shs-beacon-endpoint="https://buttler.shop/api/collect" 927></script>
927 928<meta name="shopify-y" content="8b373356-e91e-43bd-a344-953b92fdc491" data-expiration="1823017607000"><meta name="shopify-s" content="95819c7c-7c00-407d-86e0-9e474237ec74" data-expiration="1791461807000"><meta name="new-cookie-storage-activated" content="t"> 929</head> 930<body id="de-wasstraat-toiletrolhouder-zwart-voor-het-toilet-of-badkamer" class="template-product"> 931 932 <a class="in-page-link visually-hidden skip-link" href="#MainContent">Doorgaan naar artikel</a> 933 934 <div id="shopify-section-announcement" class="shopify-section"> 935 936 937</div> 938 <div id="shopify-section-header" class="shopify-section"><style> 939 :root { 940 ---color-nav-text-transparent: #004f59; 941 --menu-height: calc(67px); 942 } 943</style> 944 945 946 947 948 949 950 951 952 953 954 955 956 957<div class="header__wrapper" 958 data-header-wrapper 959 style="--bar-opacity: 0; --bar-width: 0; --bar-left: 0;" 960 data-header-transparent="false" 961 data-underline-current="true" 962 data-header-sticky="sticky" 963 data-header-style="menu_center" 964 data-section-id="header" 965 data-section-type="header"> 966 967 <header class="theme__header" role="banner" data-header-height> 968 <div class="wrapper"> 969 <div class="header__mobile"> 970 971 <div class="header__mobile__left"> 972 <button class="header__mobile__button" 973 data-drawer-toggle="hamburger" 974 aria-label="Open menu" 975 aria-haspopup="true" 976 aria-expanded="false" 977 aria-controls="header-menu"> 978 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-nav" viewBox="0 0 25 25"><path d="M0 4.062h25v2H0zm0 7h25v2H0zm0 7h25v2H0z"/></svg> 979 </button> 980 </div> 981 982<div class="header__logo header__logo--image"> 983 <a class="header__logo__link" 984 href="/" 985 style="width: 230px;"> 986 987<img data-src="//buttler.shop/cdn/shop/files/Buttler_Logo_Header_3e55c27f-5d14-4f09-a477-0a1f8e3bc8e7_{width}x.png?v=1628768058" 988 class="lazyload logo__img logo__img--color" 989 width="230px" 990 height="37.56152125279642" 991 data-widths="[110, 160, 220, 320, 480, 540, 720, 900]" 992 data-sizes="auto" 993 data-aspectratio="6.123287671232877" 994 alt="Buttler.shop"> 995 996 997 998 <noscript> 999 <img class="logo__img" style="opacity: 1;" src="//buttler.shop/cdn/shop/files/Buttler_Logo_Header_3e55c27f-5d14-4f09-a477-0a1f8e3bc8e7_360x.png?v=1628768058" alt=""/> 1000 </noscript> 1001 </a> 1002 </div> 1003 1004 <div class="header__mobile__right"> 1005 <a class="header__mobile__button" 1006 data-drawer-toggle="drawer-cart" 1007 href="/cart"> 1008 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 25 25"><path d="M5.058 23a2 2 0 104.001-.001A2 2 0 005.058 23zm12.079 0c0 1.104.896 2 2 2s1.942-.896 1.942-2-.838-2-1.942-2-2 .896-2 2zM0 1a1 1 0 001 1h1.078l.894 3.341L5.058 13c0 .072.034.134.042.204l-1.018 4.58A.997.997 0 005.058 19h16.71a1 1 0 000-2H6.306l.458-2.061c.1.017.19.061.294.061h12.31c1.104 0 1.712-.218 2.244-1.5l3.248-6.964C25.423 4.75 24.186 4 23.079 4H5.058c-.157 0-.292.054-.438.088L3.844.772A1 1 0 002.87 0H1a1 1 0 00-1 1zm5.098 5H22.93l-3.192 6.798c-.038.086-.07.147-.094.19-.067.006-.113.012-.277.012H7.058v-.198l-.038-.195L5.098 6z"/></svg> 1009 <span class="visually-hidden">Winkelwagen</span> 1010 1011 <span class="header__cart__status"> 1012 <span data-header-cart-price="0"> 1013 â¬0,00 1014 </span> 1015 <span data-header-cart-count="0"> 1016 (0) 1017 </span> 1018 1019<span data-header-cart-full="false"></span> 1020 </span> 1021 1022 </a> 1023 </div> 1024 1025 </div> 1026 <div data-header-desktop class="header__desktop header__desktop--menu_center"><div data-takes-space class="header__desktop__bar__l"> 1027<div class="header__logo header__logo--image"> 1028 <a class="header__logo__link" 1029 href="/" 1030 style="width: 230px;"> 1031 1032<img data-src="//buttler.shop/cdn/shop/files/Buttler_Logo_Header_3e55c27f-5d14-4f09-a477-0a1f8e3bc8e7_{width}x.png?v=1628768058" 1033 class="lazyload logo__img logo__img--color" 1034 width="230px" 1035 height="37.56152125279642" 1036 data-widths="[110, 160, 220, 320, 480, 540, 720, 900]" 1037 data-sizes="auto" 1038 data-aspectratio="6.123287671232877" 1039 alt="Buttler.shop"> 1040 1041 1042 1043 <noscript> 1044 <img class="logo__img" style="opacity: 1;" src="//buttler.shop/cdn/shop/files/Buttler_Logo_Header_3e55c27f-5d14-4f09-a477-0a1f8e3bc8e7_360x.png?v=1628768058" alt=""/> 1045 </noscript> 1046 </a> 1047 </div> 1048</div> 1049 <div data-takes-space class="header__desktop__bar__c"> 1050 <nav class="header__menu"> 1051 <div class="header__menu__inner" data-text-items-wrapper> 1052 1053 1054 1055<div class="menu__item grandparent kids-5 " 1056 data-main-menu-text-item 1057 1058 aria-haspopup="true" 1059 aria-expanded="false" 1060 data-hover-disclosure-toggle="dropdown-52cb5c499e2dab1ead5f815fcc4
1060104ea" 1061 aria-controls="dropdown-52cb5c499e2dab1ead5f815fcc4104ea" 1062 > 1063 <a href="/pages/shop" data-top-link class="navlink navlink--toplevel"> 1064 <span class="navtext">Shop</span> 1065 </a> 1066 1067 <div class="header__dropdown" 1068 data-hover-disclosure 1069 id="dropdown-52cb5c499e2dab1ead5f815fcc4104ea"> 1070 <div class="header__dropdown__wrapper"> 1071 <div class="header__dropdown__inner"> 1072 <div class="dropdown__family"> 1073 1074 <a href="/collections/houders-accessoires" data-stagger class="navlink navlink--grandchild"> 1075 <span class="navtext">Houders & Accessoires</span> 1076 </a> 1077 1078 <a href="/collections/toiletpapier-spray" data-stagger class="navlink navlink--grandchild"> 1079 <span class="navtext">Toiletpapier spray</span> 1080 </a> 1081 1082 <a href="/collections/geurproducten" data-stagger class="navlink navlink--grandchild"> 1083 <span class="navtext">Geur</span> 1084 </a> 1085 1086 <a href="/collections/hygiene" data-stagger class="navlink navlink--grandchild"> 1087 <span class="navtext">Hygiëne</span> 1088 </a> 1089 1090 <a href="/collections/sets-1" data-stagger class="navlink navlink--grandchild"> 1091 <span class="navtext">Sets</span> 1092 </a> 1093 1094 <a href="/pages/shop" data-stagger class="navlink navlink--grandchild"> 1095 <span class="navtext">Alle producten</span> 1096 </a> 1097 1098 </div> 1099 1100 1101 1102 1103 1104 1105 1106 1107 <div > 1108 1109 1110<div class="product-grid-item " data-grid-item> 1111 <div > 1112 <a href="/products/zwarte-toiletrolhouder" data-grid-link class="lazy-image double__image" style="padding-top:100%; background-image: url('//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1x1.jpg?v=1639398441');"> 1113 <div class="lazyload fade-in collection__image__top" 1114 data-bgset=" 1115//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_180x.jpg?v=1639398441 180w 180h, 1116 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_360x.jpg?v=1639398441 360w 360h, 1117 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_540x.jpg?v=1639398441 540w 540h, 1118 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_720x.jpg?v=1639398441 720w 720h, 1119 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_900x.jpg?v=1639398441 900w 900h, 1120 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1080x.jpg?v=1639398441 1080w 1080h, 1121 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1296x.jpg?v=1639398441 1296w 1296h, 1122 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1512x.jpg?v=1639398441 1512w 1512h, 1123 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1728x.jpg?v=1639398441 1728w 1728h, 1124 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1950x.jpg?v=1639398441 1950w 1950h, 1125 1126 1127 1128 1129 1130 1131 1132 1133 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441 2048w 2048h" 1134 role="img" 1135 aria-label="toiletrolhouder"></div> 1136 1137 <div class="collection__image__bottom lazyload lazypreload" 1138 data-bgset=" 1139//buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_180x.jpg?v=1627025253 180w 180h, 1140 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_360x.jpg?v=1627025253 360w 360h, 1141 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_540x.jpg?v=1627025253 540w 540h, 1142 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_720x.jpg?v=1627025253 720w 720h, 1143 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_900x.jpg?v=1627025253 900w 900h, 1144 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_1080x.jpg?v=1627025253 1080w 1080h, 1145 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_1296x.jpg?v=1627025253 1296w 1296h, 1146 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_1512x.jpg?v=1627025253 1512w 1512h, 1147 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_1728x.jpg?v=1627025253 1728w 1728h, 1148 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_1950x.jpg?v=1627025253 1950w 1950h, 1149 1150 1151 1152 1153 1154 1155 1156 1157 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b.jpg?v=1627025253 2048w 2048h" 1158 role="img" 1159 aria-label="Iemand die het flesje pakt uit de Wasstraat en een stuk wc-papier pakt."></div> 1160 1161 <div class="product-grid-item__slide" data-grid-slide></div> 1162 1163 </a> 1164 </div> 1165 <noscript> 1166 <a href="/products/zwarte-toiletrolhouder"> 1167 <img class="responsive-wide-image" src="//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_360x.jpg?v=1639398441" alt="toiletrolhouder"> 1168 1169 </a> 1170 </noscript>
1171 <div class="product__grid__info product__grid__info--under text-center"> 1172 <a href="/products/zwarte-toiletrolhouder"> 1173 <p class="product__grid__title"> 1174 de Wasstraat toiletrolhouder 1175 </p> 1176 <div class="product__grid__price"> 1177 <span class="price"> 1178 Vanaf 1179 â¬34,00 1180 </span> 1181 1182 1183 1184 1185 1186 1187 </div> 1188 </a> 1189 </div> 1190</div> 1191 1192 </div> 1193 1194 <div > 1195 1196 1197<div class="product-grid-item " data-grid-item> 1198 <div > 1199 <a href="/products/toiletpapier-spray" data-grid-link class="lazy-image double__image" style="padding-top:100%; background-image: url('//buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1x1.jpg?v=1633433202');"> 1200 <div class="lazyload fade-in collection__image__top" 1201 data-bgset=" 1202//buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_180x.jpg?v=1633433202 180w 180h, 1203 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_360x.jpg?v=1633433202 360w 360h, 1204 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_540x.jpg?v=1633433202 540w 540h, 1205 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_720x.jpg?v=1633433202 720w 720h, 1206 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_900x.jpg?v=1633433202 900w 900h, 1207 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1080x.jpg?v=1633433202 1080w 1080h, 1208 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1296x.jpg?v=1633433202 1296w 1296h, 1209 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1512x.jpg?v=1633433202 1512w 1512h, 1210 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1728x.jpg?v=1633433202 1728w 1728h, 1211 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1950x.jpg?v=1633433202 1950w 1950h, 1212 1213 1214 1215 1216 1217 1218 1219 1220 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs.jpg?v=1633433202 2048w 2048h" 1221 role="img" 1222 aria-label="Toiletpapier spray - Buttler.shop"></div> 1223 1224 <div class="collection__image__bottom lazyload lazypreload" 1225 data-bgset=" 1226//buttler.shop/cdn/shop/products/Buttler_Flesje_01_180x.jpg?v=1626990698 180w 180h, 1227 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_360x.jpg?v=1626990698 360w 360h, 1228 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_540x.jpg?v=1626990698 540w 540h, 1229 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_720x.jpg?v=1626990698 720w 720h, 1230 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_900x.jpg?v=1626990698 900w 900h, 1231 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_1080x.jpg?v=1626990698 1080w 1080h, 1232 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_1296x.jpg?v=1626990698 1296w 1296h, 1233 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_1512x.jpg?v=1626990698 1512w 1512h, 1234 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_1728x.jpg?v=1626990698 1728w 1728h, 1235 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_1950x.jpg?v=1626990698 1950w 1950h, 1236 1237 1238 1239 1240 1241 1242 1243 1244 //buttler.shop/cdn/shop/products/Buttler_Flesje_01.jpg?v=1626990698 2048w 2048h" 1245 role="img" 1246 aria-label="Toiletpapier spray - Buttler.shop"></div> 1247 1248 <div class="product-grid-item__slide" data-grid-slide></div> 1249 1250 </a> 1251 </div> 1252 <noscript> 1253 <a href="/products/toiletpapier-spray"> 1254 <img class="responsive-wide-image" src="//buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_360x.jpg?v=1633433202" alt="Toiletpapier spray - Buttler.shop"> 1255 1256 </a> 1257 </noscript> 1258 <div class="product__grid__info product__grid__info--under text-center"> 1259 <a href="/products/toiletpapier-spray"> 1260 <p class="product__grid__title"> 1261 Toiletpapier spray 1262 </p> 1263 <div class="product__grid__price"> 1264 <span class="price"> 1265 1266 â¬6,95 1267 </span> 1268 1269 1270 1271 1272 1273 1274 </div> 1275 </a> 1276 </div> 1277</div> 1278 1279 </div> 1280 1281 <div > 1282 1283 1284<div class="product-grid-item on-sale tagged" data-grid-item> 1285 <div > 1286 <a href="/products/duurzamestart" data-grid-link class="lazy-image double__image" style="padding-top:100%; background-image: url('//buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1x1.jpg?v=1639398056');"> 1287 <div class="lazyload fade-in collection__image__top" 1288 data-bgset=" 1289//buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_180x.jpg?v=1639398056 180w 180h, 1290 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_360x.jpg?v=1639398056 360w 360h, 1291 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_540x.jpg?v=1639398056 540w 540h, 1292 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_720x.jpg?v=1639398056 720w 720h, 1293 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_900x.jpg?v=1639398056 900w 900h, 1294 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1080x.jpg?v=1639398056 1080w 1080h, 1295 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1296x.jpg?v=1639398056 1296w 1296h, 1296 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1512x.jpg?v=1639398056 1512w 1512h, 1297 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1728x.jpg?v=1639398056 1728w 1728h, 1298 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1950x.jpg?v=1639398056 1950w 1950h, 1299 1300 1301 1302 1303 1304 1305 1306 1307 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs.jpg?v=1639398056 2048w 2048h" 1308 role="img" 1309 aria-label="duurzame start"></div> 1310 1311 <div class="collection__image__bottom lazyload lazypreload" 1312 data-bgset=" 1313//buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_180x.jpg?v=1627025264 180w 180h, 1314 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_360x.jpg?v=1627025264 360w 360h, 1315 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_540x.jpg?v=1627025264 540w 540h, 1316 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_720x.jpg?v=1627025264 720w 720h, 1317 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_900x.jpg?v=1627025264 900w 900h, 1318 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_1080x.jpg?v=1627025264 1080w 1080h, 1319 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_1296x.jpg?v=1627025264 1296w 1296h, 1320 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_1512x.jpg?v=1627025264 1512w 1512h, 1321 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_1728x.jpg?v=1627025264 1728w 1728h, 1322 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_1950x.jpg?v=1627025264 1950w 1950h, 1323 1324 1325 1326 1327 1328 1329 1330 1331 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03.jpg?v=1627025264 2048w 2048h" 1332 role="img" 1333 aria-label="De Buttler navulzak die de toiletpapier spray bijvult."></div> 1334 1335 <div class="product-grid-item__slide" data-grid-slide></div> 1336 1337<div class="product__badge product__badge--custom">Voordeel</div> 1338 </a> 1339 </div> 1340 <noscript> 1341 <a href="/products/duurzamestart"> 1342 <img class="responsive-wide-image" src="//buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_360x.jpg?v=1639398056" alt="duurzame start"> 1343 1344<div class="product__badge product__badge--custom">Voordeel</div> 1345 </a> 1346 </noscript>
1347 <div class="product__grid__info product__grid__info--under text-center"> 1348 <a href="/products/duurzamestart"> 1349 <p class="product__grid__title"> 1350 Buttler duurzame start 1351 </p> 1352 <div class="product__grid__price"> 1353 <span class="price on-sale"> 1354 1355 â¬21,33 1356 </span> 1357 1358 1359 <span class="compare-at"> 1360 â¬25,90 1361 </span> 1362 1363 1364 1365 1366 1367 </div> 1368 </a> 1369 </div> 1370</div> 1371 1372 </div> 1373 1374 <div > 1375 1376 1377<div class="product-grid-item " data-grid-item> 1378 <div > 1379 <a href="/products/bij-de-hand" data-grid-link class="lazy-image double__image" style="padding-top:100%; background-image: url('//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1x1.jpg?v=1639397954');"> 1380 <div class="lazyload fade-in collection__image__top" 1381 data-bgset=" 1382//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_180x.jpg?v=1639397954 180w 180h, 1383 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_360x.jpg?v=1639397954 360w 360h, 1384 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_540x.jpg?v=1639397954 540w 540h, 1385 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_720x.jpg?v=1639397954 720w 720h, 1386 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_900x.jpg?v=1639397954 900w 900h, 1387 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1080x.jpg?v=1639397954 1080w 1080h, 1388 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1296x.jpg?v=1639397954 1296w 1296h, 1389 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1512x.jpg?v=1639397954 1512w 1512h, 1390 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1728x.jpg?v=1639397954 1728w 1728h, 1391 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1950x.jpg?v=1639397954 1950w 1950h, 1392 1393 1394 1395 1396 1397 1398 1399 1400 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954 2048w 2048h" 1401 role="img" 1402 aria-label="bij de hand"></div> 1403 1404 <div class="collection__image__bottom lazyload lazypreload" 1405 data-bgset=" 1406//buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_180x.jpg?v=1639397957 180w 180h, 1407 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_360x.jpg?v=1639397957 360w 360h, 1408 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_540x.jpg?v=1639397957 540w 540h, 1409 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_720x.jpg?v=1639397957 720w 720h, 1410 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_900x.jpg?v=1639397957 900w 900h, 1411 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_1080x.jpg?v=1639397957 1080w 1080h, 1412 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_1296x.jpg?v=1639397957 1296w 1296h, 1413 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_1512x.jpg?v=1639397957 1512w 1512h, 1414 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_1728x.jpg?v=1639397957 1728w 1728h, 1415 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_1950x.jpg?v=1639397957 1950w 1950h, 1416 1417 1418 1419 1420 1421 1422 1423 1424 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a.jpg?v=1639397957 2048w 2048h" 1425 role="img" 1426 aria-label="bij de hand houder"></div> 1427 1428 <div class="product-grid-item__slide" data-grid-slide></div> 1429 1430 </a> 1431 </div> 1432 <noscript> 1433 <a href="/products/bij-de-hand"> 1434 <img class="responsive-wide-image" src="//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_360x.jpg?v=1639397954" alt="bij de hand"> 1435 1436 </a> 1437 </noscript>
1438 <div class="product__grid__info product__grid__info--under text-center"> 1439 <a href="/products/bij-de-hand"> 1440 <p class="product__grid__title"> 1441 Bij de Hand 1442 </p> 1443 <div class="product__grid__price"> 1444 <span class="price"> 1445 Vanaf 1446 â¬14,95 1447 </span> 1448 1449 1450 1451 1452 1453 1454 </div> 1455 </a> 1456 </div> 1457</div> 1458 1459 </div> 1460 1461 1462 </div> 1463 </div> 1464 </div> 1465 1466</div> 1467 1468 1469 1470 1471<div class="menu__item child" 1472 data-main-menu-text-item 1473 > 1474 <a href="/blogs/nieuws" data-top-link class="navlink navlink--toplevel"> 1475 <span class="navtext">Nieuws</span> 1476 </a> 1477 1478</div> 1479 1480 1481 1482 1483<div class="menu__item child" 1484 data-main-menu-text-item 1485 > 1486 <a href="/pages/contact" data-top-link class="navlink navlink--toplevel"> 1487 <span class="navtext">Contact</span> 1488 </a> 1489 1490</div> 1491 1492 1493 <div class="hover__bar"></div> 1494 <div class="hover__bg"></div> 1495 </div> 1496 </nav> 1497</div> 1498 <div data-takes-space class="header__desktop__bar__r"> 1499<div class="header__desktop__buttons header__desktop__buttons--icons" ><div class="header__desktop__button " > 1500 <a href="/account" class="navlink"> 1501 1502 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-account" viewBox="0 0 16 16"><path d="M10.713 8.771c.31.112.53.191.743.27.555.204.985.372 1.367.539 1.229.535 1.993 1.055 2.418 1.885.464.937.722 1.958.758 2.997.03.84-.662 1.538-1.524 1.538H1.525c-.862 0-1.554-.697-1.524-1.538a7.36 7.36 0 01.767-3.016c.416-.811 1.18-1.33 2.41-1.866a25.25 25.25 0 011.366-.54l.972-.35a1.42 1.42 0 00-.006-.072c-.937-1.086-1.369-2.267-1.369-4.17C4.141 1.756 5.517 0 8.003 0c2.485 0 3.856 1.755 3.856 4.448 0 2.03-.492 3.237-1.563 4.386.169-.18.197-.253.207-.305a1.2 1.2 0 00-.019.16l.228.082zm-9.188 5.742h12.95a5.88 5.88 0 00-.608-2.402c-.428-.835-2.214-1.414-4.46-2.224-.608-.218-.509-1.765-.24-2.053.631-.677 1.166-1.471 1.166-3.386 0-1.934-.782-2.96-2.33-2.96-1.549 0-2.336 1.026-2.336 2.96 0 1.915.534 2.709 1.165 3.386.27.288.369 1.833-.238 2.053-2.245.81-4.033 1.389-4.462 2.224a5.88 5.88 0 00-.607 2.402z"/></svg> 1503 <span class="visually-hidden">Mijn account</span> 1504 1505 </a> 1506 </div> 1507 1508 1509 1510 1511 <div class="header__desktop__button " > 1512 <a href="/cart" 1513 class="navlink navlink--cart" 1514 data-drawer-toggle="drawer-cart"> 1515 1516 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 25 25"><path d="M5.058 23a2 2 0 104.001-.001A2 2 0 005.058 23zm12.079 0c0 1.104.896 2 2 2s1.942-.896 1.942-2-.838-2-1.942-2-2 .896-2 2zM0 1a1 1 0 001 1h1.078l.894 3.341L5.058 13c0 .072.034.134.042.204l-1.018 4.58A.997.997 0 005.058 19h16.71a1 1 0 000-2H6.306l.458-2.061c.1.017.19.061.294.061h12.31c1.104 0 1.712-.218 2.244-1.5l3.248-6.964C25.423 4.75 24.186 4 23.079 4H5.058c-.157 0-.292.054-.438.088L3.844.772A1 1 0 002.87 0H1a1 1 0 00-1 1zm5.098 5H22.93l-3.192 6.798c-.038.086-.07.147-.094.19-.067.006-.113.012-.277.012H7.058v-.198l-.038-.195L5.098 6z"/></svg> 1517 <span class="visually-hidden">Winkelwagen</span> 1518 1519 <span class="header__cart__status"> 1520 <span data-header-cart-price="0"> 1521 â¬0,00 1522 </span> 1523 <span data-header-cart-count="0"> 1524 (0) 1525 </span> 1526 1527<span data-header-cart-full="false"></span> 1528 </span> 1529 1530 1531 </a> 1532 </div> 1533 1534 </div> 1535</div></div> 1536 </div> 1537 </header> 1538 1539 <nav class="drawer header__drawer display-none" 1540 data-drawer="hamburger" 1541 aria-label="Hoofdmenu" 1542 id="header-menu"> 1543 <div class="drawer__content"> 1544 <div class="drawer__top"> 1545 1546 1547 <div class="drawer__top__left"><form method="post" action="/localization" id="localization-form-drawer" accept-charset="UTF-8" class="header__drawer__selects" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/products/zwarte-toiletrolhouder" /></form><a class="drawer__account" href="/account"> 1548 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-account" viewBox="0 0 16 16"><path d="M10.713 8.771c.31.112.53.191.743.27.555.204.985.372 1.367.539 1.229.535 1.993 1.055 2.418 1.885.464.937.722 1.958.758 2.997.03.84-.662 1.538-1.524 1.538H1.525c-.862 0-1.554-.697-1.524-1.538a7.36 7.36 0 01.767-3.016c.416-.811 1.18-1.33 2.41-1.866a25.25 25.25 0 011.366-.54l.972-.35a1.42 1.42 0 00-.006-.072c-.937-1.086-1.369-2.267-1.369-4.17C4.141 1.756 5.517 0 8.003 0c2.485 0 3.856 1.755 3.856 4.448 0 2.03-.492 3.237-1.563 4.386.169-.18.197-.253.207-.305a1.2 1.2 0 00-.019.16l.228.082zm-9.188 5.742h12.95a5.88 5.88 0 00-.608-2.402c-.428-.835-2.214-1.414-4.46-2.224-.608-.218-.509-1.765-.24-2.053.631-.677 1.166-1.471 1.166-3.386 0-1.934-.782-2.96-2.33-2.96-1.549 0-2.336 1.026-2.336 2.96 0 1.915.534 2.709 1.165 3.386.27.288.369 1.833-.238 2.053-2.245.81-4.033 1.389-4.462 2.224a5.88 5.88 0 00-.607 2.402z"/></svg>
1549 <span class="visually-hidden">Mijn account</span> 1550 </a></div> 1551 1552 <button class="drawer__button drawer__close" 1553 data-drawer-toggle="hamburger" 1554 aria-label="Sluiten"> 1555 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="M2.06 1l12.02 12.021-1.06 1.061L1 2.062z"/><path d="M1 13.02L13.022 1l1.061 1.06-12.02 12.02z"/></g></svg> 1556 </button> 1557 </div> 1558 <div class="drawer__inner" data-drawer-scrolls> 1559 1560 <div class="drawer__menu" data-stagger-animation data-sliderule-pane="0"> 1561 1562 1563 1564<div class="sliderule__wrapper"><button class="sliderow" 1565 data-animates 1566 data-sliderule-open="sliderule-84f76213981091e5dcdbfe5253bb5dc6"> 1567 <span class="sliderow__title">Shop</span> 1568 <span class="sliderule__chevron--right"> 1569 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-medium-right" viewBox="0 0 9 15"><path fill-rule="evenodd" d="M6.875 7.066L.87 1.06 1.93 0l6.006 6.005L7.94 6 9 7.06l-.004.006.005.005-1.06 1.06-.006-.004-6.005 6.005-1.061-1.06 6.005-6.006z"/></svg> 1570 <span class="visually-hidden">Toon menu</span> 1571 </span> 1572 </button> 1573 1574 <div class="mobile__menu__dropdown sliderule__panel" 1575 data-sliderule 1576 id="sliderule-84f76213981091e5dcdbfe5253bb5dc6"> 1577 1578 <div class="sliderow" data-animates> 1579 <button class="drawer__button" 1580 data-sliderule-close="sliderule-84f76213981091e5dcdbfe5253bb5dc6"> 1581 <span class="sliderule__chevron--left"> 1582 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow-medium-left" viewBox="0 0 9 15"><path fill-rule="evenodd" d="M2.127 7.066L8.132 1.06 7.072 0 1.065 6.005 1.061 6 0 7.06l.004.006L0 7.07l1.06 1.06.006-.004 6.005 6.005 1.061-1.06-6.005-6.006z"/></svg> 1583 <span class="visually-hidden">Verberg menu</span> 1584 </span> 1585 </button> 1586 1587<a class="sliderow__title" href="/pages/shop">Shop</a> 1588 </div> 1589 1590 1591 1592 1593 1594 1595<div class="sliderule__wrapper"> 1596 <div class="sliderow" data-animates> 1597 1598<a class="sliderow__title" href="/collections/houders-accessoires">Houders & Accessoires</a> 1599 </div></div> 1600 1601 1602 1603 1604 1605<div class="sliderule__wrapper"> 1606 <div class="sliderow" data-animates> 1607 1608<a class="sliderow__title" href="/collections/toiletpapier-spray">Toiletpapier spray</a> 1609 </div></div> 1610 1611 1612 1613 1614 1615<div class="sliderule__wrapper"> 1616 <div class="sliderow" data-animates> 1617 1618<a class="sliderow__title" href="/collections/geurproducten">Geur</a> 1619 </div></div> 1620 1621 1622 1623 1624 1625<div class="sliderule__wrapper"> 1626 <div class="sliderow" data-animates> 1627 1628<a class="sliderow__title" href="/collections/hygiene">Hygiëne</a> 1629 </div></div> 1630 1631 1632 1633 1634 1635<div class="sliderule__wrapper"> 1636 <div class="sliderow" data-animates> 1637 1638<a class="sliderow__title" href="/collections/sets-1">Sets</a> 1639 </div></div> 1640 1641 1642 1643 1644 1645<div class="sliderule__wrapper"> 1646 <div class="sliderow" data-animates> 1647 1648<a class="sliderow__title" href="/pages/shop">Alle producten</a> 1649 </div></div> 1650 1651<div class="sliderule-grid blocks-4"> 1652 1653 1654 1655 1656 1657 1658 <div > 1659 1660 1661<div class="product-grid-item " data-grid-item> 1662 <div > 1663 <a href="/products/zwarte-toiletrolhouder" data-grid-link class="lazy-image double__image" style="padding-top:100%; background-image: url('//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1x1.jpg?v=1639398441');"> 1664 <div class="lazyload fade-in collection__image__top" 1665 data-bgset=" 1666//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_180x.jpg?v=1639398441 180w 180h, 1667 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_360x.jpg?v=1639398441 360w 360h, 1668 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_540x.jpg?v=1639398441 540w 540h, 1669 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_720x.jpg?v=1639398441 720w 720h, 1670 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_900x.jpg?v=1639398441 900w 900h, 1671 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1080x.jpg?v=1639398441 1080w 1080h, 1672 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1296x.jpg?v=1639398441 1296w 1296h, 1673 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1512x.jpg?v=1639398441 1512w 1512h, 1674 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1728x.jpg?v=1639398441 1728w 1728h, 1675 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_1950x.jpg?v=1639398441 1950w 1950h, 1676 1677 1678 1679 1680 1681 1682 1683 1684 //buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441 2048w 2048h" 1685 role="img" 1686 aria-label="toiletrolhouder"></div> 1687 1688 <div class="collection__image__bottom lazyload lazypreload" 1689 data-bgset=" 1690//buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_180x.jpg?v=1627025253 180w 180h, 1691 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_360x.jpg?v=1627025253 360w 360h, 1692 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_540x.jpg?v=1627025253 540w 540h, 1693 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_720x.jpg?v=1627025253 720w 720h, 1694 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_900x.jpg?v=1627025253 900w 900h, 1695 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_1080x.jpg?v=1627025253 1080w 1080h, 1696 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_1296x.jpg?v=1627025253 1296w 1296h, 1697 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_1512x.jpg?v=1627025253 1512w 1512h, 1698 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_1728x.jpg?v=1627025253 1728w 1728h, 1699 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b_1950x.jpg?v=1627025253 1950w 1950h, 1700 1701 1702 1703 1704 1705 1706 1707 1708 //buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b.jpg?v=1627025253 2048w 2048h" 1709 role="img" 1710 aria-label="Iemand die het flesje pakt uit de Wasstraat en een stuk wc-papier pakt."></div> 1711 1712 <div class="product-grid-item__slide" data-grid-slide></div> 1713 1714 </a> 1715 </div> 1716 <noscript> 1717 <a href="/products/zwarte-toiletrolhouder"> 1718 <img class="responsive-wide-image" src="//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539_360x.jpg?v=1639398441" alt="toiletrolhouder"> 1719 1720 </a> 1721 </noscript>
1722 <div class="product__grid__info product__grid__info--under text-center"> 1723 <a href="/products/zwarte-toiletrolhouder"> 1724 <p class="product__grid__title"> 1725 de Wasstraat toiletrolhouder 1726 </p> 1727 <div class="product__grid__price"> 1728 <span class="price"> 1729 Vanaf 1730 â¬34,00 1731 </span> 1732 1733 1734 1735 1736 1737 1738 </div> 1739 </a> 1740 </div> 1741</div> 1742 1743 </div> 1744 1745 <div > 1746 1747 1748<div class="product-grid-item " data-grid-item> 1749 <div > 1750 <a href="/products/toiletpapier-spray" data-grid-link class="lazy-image double__image" style="padding-top:100%; background-image: url('//buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1x1.jpg?v=1633433202');"> 1751 <div class="lazyload fade-in collection__image__top" 1752 data-bgset=" 1753//buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_180x.jpg?v=1633433202 180w 180h, 1754 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_360x.jpg?v=1633433202 360w 360h, 1755 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_540x.jpg?v=1633433202 540w 540h, 1756 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_720x.jpg?v=1633433202 720w 720h, 1757 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_900x.jpg?v=1633433202 900w 900h, 1758 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1080x.jpg?v=1633433202 1080w 1080h, 1759 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1296x.jpg?v=1633433202 1296w 1296h, 1760 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1512x.jpg?v=1633433202 1512w 1512h, 1761 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1728x.jpg?v=1633433202 1728w 1728h, 1762 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_1950x.jpg?v=1633433202 1950w 1950h, 1763 1764 1765 1766 1767 1768 1769 1770 1771 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs.jpg?v=1633433202 2048w 2048h" 1772 role="img" 1773 aria-label="Toiletpapier spray - Buttler.shop"></div> 1774 1775 <div class="collection__image__bottom lazyload lazypreload" 1776 data-bgset=" 1777//buttler.shop/cdn/shop/products/Buttler_Flesje_01_180x.jpg?v=1626990698 180w 180h, 1778 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_360x.jpg?v=1626990698 360w 360h, 1779 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_540x.jpg?v=1626990698 540w 540h, 1780 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_720x.jpg?v=1626990698 720w 720h, 1781 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_900x.jpg?v=1626990698 900w 900h, 1782 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_1080x.jpg?v=1626990698 1080w 1080h, 1783 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_1296x.jpg?v=1626990698 1296w 1296h, 1784 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_1512x.jpg?v=1626990698 1512w 1512h, 1785 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_1728x.jpg?v=1626990698 1728w 1728h, 1786 //buttler.shop/cdn/shop/products/Buttler_Flesje_01_1950x.jpg?v=1626990698 1950w 1950h, 1787 1788 1789 1790 1791 1792 1793 1794 1795 //buttler.shop/cdn/shop/products/Buttler_Flesje_01.jpg?v=1626990698 2048w 2048h" 1796 role="img" 1797 aria-label="Toiletpapier spray - Buttler.shop"></div> 1798 1799 <div class="product-grid-item__slide" data-grid-slide></div> 1800 1801 </a> 1802 </div> 1803 <noscript> 1804 <a href="/products/toiletpapier-spray"> 1805 <img class="responsive-wide-image" src="//buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs_360x.jpg?v=1633433202" alt="Toiletpapier spray - Buttler.shop"> 1806 1807 </a> 1808 </noscript> 1809 <div class="product__grid__info product__grid__info--under text-center"> 1810 <a href="/products/toiletpapier-spray"> 1811 <p class="product__grid__title"> 1812 Toiletpapier spray 1813 </p> 1814 <div class="product__grid__price"> 1815 <span class="price"> 1816 1817 â¬6,95 1818 </span> 1819 1820 1821 1822 1823 1824 1825 </div> 1826 </a> 1827 </div> 1828</div> 1829 1830 </div> 1831 1832 <div > 1833 1834 1835<div class="product-grid-item on-sale tagged" data-grid-item> 1836 <div > 1837 <a href="/products/duurzamestart" data-grid-link class="lazy-image double__image" style="padding-top:100%; background-image: url('//buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1x1.jpg?v=1639398056');"> 1838 <div class="lazyload fade-in collection__image__top" 1839 data-bgset=" 1840//buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_180x.jpg?v=1639398056 180w 180h, 1841 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_360x.jpg?v=1639398056 360w 360h, 1842 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_540x.jpg?v=1639398056 540w 540h, 1843 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_720x.jpg?v=1639398056 720w 720h, 1844 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_900x.jpg?v=1639398056 900w 900h, 1845 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1080x.jpg?v=1639398056 1080w 1080h, 1846 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1296x.jpg?v=1639398056 1296w 1296h, 1847 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1512x.jpg?v=1639398056 1512w 1512h, 1848 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1728x.jpg?v=1639398056 1728w 1728h, 1849 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_1950x.jpg?v=1639398056 1950w 1950h, 1850 1851 1852 1853 1854 1855 1856 1857 1858 //buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs.jpg?v=1639398056 2048w 2048h" 1859 role="img" 1860 aria-label="duurzame start"></div> 1861 1862 <div class="collection__image__bottom lazyload lazypreload" 1863 data-bgset=" 1864//buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_180x.jpg?v=1627025264 180w 180h, 1865 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_360x.jpg?v=1627025264 360w 360h, 1866 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_540x.jpg?v=1627025264 540w 540h, 1867 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_720x.jpg?v=1627025264 720w 720h, 1868 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_900x.jpg?v=1627025264 900w 900h, 1869 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_1080x.jpg?v=1627025264 1080w 1080h, 1870 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_1296x.jpg?v=1627025264 1296w 1296h, 1871 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_1512x.jpg?v=1627025264 1512w 1512h, 1872 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_1728x.jpg?v=1627025264 1728w 1728h, 1873 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03_1950x.jpg?v=1627025264 1950w 1950h, 1874 1875 1876 1877 1878 1879 1880 1881 1882 //buttler.shop/cdn/shop/products/Buttler_Toiletpapier-srpay_Navulzak_Gallerij-03.jpg?v=1627025264 2048w 2048h" 1883 role="img" 1884 aria-label="De Buttler navulzak die de toiletpapier spray bijvult."></div> 1885 1886 <div class="product-grid-item__slide" data-grid-slide></div> 1887 1888<div class="product__badge product__badge--custom">Voordeel</div> 1889 </a> 1890 </div> 1891 <noscript> 1892 <a href="/products/duurzamestart"> 1893 <img class="responsive-wide-image" src="//buttler.shop/cdn/shop/products/Buttler_Duurzame_start_grijs_360x.jpg?v=1639398056" alt="duurzame start"> 1894 1895<div class="product__badge product__badge--custom">Voordeel</div> 1896 </a> 1897 </noscript>
1898 <div class="product__grid__info product__grid__info--under text-center"> 1899 <a href="/products/duurzamestart"> 1900 <p class="product__grid__title"> 1901 Buttler duurzame start 1902 </p> 1903 <div class="product__grid__price"> 1904 <span class="price on-sale"> 1905 1906 â¬21,33 1907 </span> 1908 1909 1910 <span class="compare-at"> 1911 â¬25,90 1912 </span> 1913 1914 1915 1916 1917 1918 </div> 1919 </a> 1920 </div> 1921</div> 1922 1923 </div> 1924 1925 <div > 1926 1927 1928<div class="product-grid-item " data-grid-item> 1929 <div > 1930 <a href="/products/bij-de-hand" data-grid-link class="lazy-image double__image" style="padding-top:100%; background-image: url('//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1x1.jpg?v=1639397954');"> 1931 <div class="lazyload fade-in collection__image__top" 1932 data-bgset=" 1933//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_180x.jpg?v=1639397954 180w 180h, 1934 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_360x.jpg?v=1639397954 360w 360h, 1935 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_540x.jpg?v=1639397954 540w 540h, 1936 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_720x.jpg?v=1639397954 720w 720h, 1937 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_900x.jpg?v=1639397954 900w 900h, 1938 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1080x.jpg?v=1639397954 1080w 1080h, 1939 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1296x.jpg?v=1639397954 1296w 1296h, 1940 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1512x.jpg?v=1639397954 1512w 1512h, 1941 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1728x.jpg?v=1639397954 1728w 1728h, 1942 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_1950x.jpg?v=1639397954 1950w 1950h, 1943 1944 1945 1946 1947 1948 1949 1950 1951 //buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954 2048w 2048h" 1952 role="img" 1953 aria-label="bij de hand"></div> 1954 1955 <div class="collection__image__bottom lazyload lazypreload" 1956 data-bgset=" 1957//buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_180x.jpg?v=1639397957 180w 180h, 1958 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_360x.jpg?v=1639397957 360w 360h, 1959 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_540x.jpg?v=1639397957 540w 540h, 1960 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_720x.jpg?v=1639397957 720w 720h, 1961 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_900x.jpg?v=1639397957 900w 900h, 1962 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_1080x.jpg?v=1639397957 1080w 1080h, 1963 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_1296x.jpg?v=1639397957 1296w 1296h, 1964 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_1512x.jpg?v=1639397957 1512w 1512h, 1965 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_1728x.jpg?v=1639397957 1728w 1728h, 1966 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a_1950x.jpg?v=1639397957 1950w 1950h, 1967 1968 1969 1970 1971 1972 1973 1974 1975 //buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a.jpg?v=1639397957 2048w 2048h" 1976 role="img" 1977 aria-label="bij de hand houder"></div> 1978 1979 <div class="product-grid-item__slide" data-grid-slide></div> 1980 1981 </a> 1982 </div> 1983 <noscript> 1984 <a href="/products/bij-de-hand"> 1985 <img class="responsive-wide-image" src="//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs_360x.jpg?v=1639397954" alt="bij de hand"> 1986 1987 </a> 1988 </noscript>
1989 <div class="product__grid__info product__grid__info--under text-center"> 1990 <a href="/products/bij-de-hand"> 1991 <p class="product__grid__title"> 1992 Bij de Hand 1993 </p> 1994 <div class="product__grid__price"> 1995 <span class="price"> 1996 Vanaf 1997 â¬14,95 1998 </span> 1999 2000 2001 2002 2003 2004 2005 </div> 2006 </a> 2007 </div> 2008</div> 2009 2010 </div> 2011 2012 2013 2014 </div></div></div> 2015 2016 2017 2018<div class="sliderule__wrapper"> 2019 <div class="sliderow" data-animates> 2020 2021<a class="sliderow__title" href="/blogs/nieuws">Nieuws</a> 2022 </div></div> 2023 2024 2025 2026<div class="sliderule__wrapper"> 2027 <div class="sliderow" data-animates> 2028 2029<a class="sliderow__title" href="/pages/contact">Contact</a> 2030 </div></div> 2031 2032 </div> 2033 </div> 2034 </div> 2035 <span class="drawer__underlay" data-drawer-underlay> 2036 <span class="drawer__underlay__fill"></span> 2037 <span class="drawer__underlay__blur"></span> 2038 </span> 2039 </nav> 2040 2041 2042<nav class="drawer cart__drawer drawer--pop " 2043 data-drawer="drawer-cart" 2044 aria-label="Winkelwagen"
2045 id="drawer-cart"> 2046 <div class="drawer__content"> 2047 <div class="drawer__top"> 2048 2049 <div class="drawer__top__left"> 2050 <p class="cart__drawer__title">Winkelwagen</p> 2051 </div> 2052 2053 <button class="drawer__button drawer__close" 2054 data-drawer-toggle="drawer-cart" 2055 aria-label="Sluiten"> 2056 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="M2.06 1l12.02 12.021-1.06 1.061L1 2.062z"/><path d="M1 13.02L13.022 1l1.061 1.06-12.02 12.02z"/></g></svg> 2057 </button> 2058 </div> 2059 <div class="drawer__body" data-drawer-scrolls> 2060 <div class="errors" data-form-errors style="display: none;"></div> 2061 2062 2063 <div class="cart--hidden" data-cart-empty > 2064 <div class="cart__empty align--middle-center"> 2065 <div class="wrapper"> 2066 <p class="h4--body m0">Je wagentje is leeg</p> 2067 <div class="image-overlay image-overlay-5"></div> 2068 </div> 2069</div> 2070<a href="/collections/all" class="cart__circle__wrapper"> 2071 <div class="cart__circle"> 2072 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 25 25"><path d="M5.058 23a2 2 0 104.001-.001A2 2 0 005.058 23zm12.079 0c0 1.104.896 2 2 2s1.942-.896 1.942-2-.838-2-1.942-2-2 .896-2 2zM0 1a1 1 0 001 1h1.078l.894 3.341L5.058 13c0 .072.034.134.042.204l-1.018 4.58A.997.997 0 005.058 19h16.71a1 1 0 000-2H6.306l.458-2.061c.1.017.19.061.294.061h12.31c1.104 0 1.712-.218 2.244-1.5l3.248-6.964C25.423 4.75 24.186 4 23.079 4H5.058c-.157 0-.292.054-.438.088L3.844.772A1 1 0 002.87 0H1a1 1 0 00-1 1zm5.098 5H22.93l-3.192 6.798c-.038.086-.07.147-.094.19-.067.006-.113.012-.277.012H7.058v-.198l-.038-.195L5.098 6z"/></svg> 2073 </div> 2074 <p class="cart__continue__link"> 2075 Doorgaan met browsen 2076 </p> 2077</a> 2078 </div> 2079 2080 2081 <div data-cart-form data-cart-loading> 2082 <div data-line-items> 2083 <div class="cart__items cart__items--blankstate"> 2084 <div class="cart__items__row"> 2085 <div class="item--loadbar"></div> 2086 <div class="cart__items__grid"> 2087 <div class="cart__items__image"> 2088 <span class="cart__items__img empty-content"></span> 2089 </div> 2090 <div class="cart__items__title empty-content"></div> 2091 <div class="cart__items__price empty-content"></div> 2092 </div> 2093 </div> 2094 </div> 2095 </div> 2096 </div> 2097 </div> 2098 <div class="drawer__bottom cart--hidden" data-cart-bottom><p class="drawer__bottom__meta small"><em>Verzendkosten worden berekend in checkout</em></p> 2099 2100 <form action="/cart" method="post" novalidate class="cart"> 2101 <button type="submit" name="checkout" class="btn btn--primary btn--large btn--full uppercase checkout__button"> 2102 Checkout ⢠<span data-cart-final>â¬0,00</span> 2103 </button> 2104 </form> 2105 2106 </div> 2107 </div> 2108 <span class="drawer__underlay" data-drawer-underlay> 2109 <span class="drawer__underlay__fill"></span> 2110 <span class="drawer__underlay__blur"></span> 2111 </span> 2112</nav> 2113 2114</div> 2115 2116<div class="header__backfill" 2117 data-header-backfill 2118 style="height: var(--menu-height);"></div> 2119 2120
2121<script type="application/ld+json"> 2122{ 2123 "@context": "http://schema.org", 2124 "@type": "Organization", 2125 "name": "Buttler.shop", 2126 2127 2128 "logo": "https:\/\/buttler.shop\/cdn\/shop\/files\/Buttler_Logo_Header_3e55c27f-5d14-4f09-a477-0a1f8e3bc8e7_894x.png?v=1628768058", 2129 2130 "sameAs": [ 2131 "", 2132 "https:\/\/www.facebook.com\/buttler.shop\/", 2133 "https:\/\/www.instagram.com\/buttler.shop\/?hl=nl", 2134 "https:\/\/nl.pinterest.com\/buttlertoilet\/", 2135 "https:\/\/www.youtube.com\/channel\/UCRZZV0wRoRqqufuULZbLUJQ", 2136 "", 2137 "", 2138 "", 2139 "" 2140 ], 2141 "url": "https:\/\/buttler.shop" 2142} 2143</script>
2143 2144 2145 2146 2147 2148</div> 2149 2150 <main class="main-content" id="MainContent" role="main"> 2151 2152 2153
2154<script>window.__pagefly_analytics_settings__={ 2155 acceptNewTracking: true, 2156 enableTrackingRevenue: false, 2157 sessionTimeout: 30, 2158 timezoneOffset: 0 2159}; 2160 // load pagefly analytics new verion 2161 const analyticsSrc = "https://cdn.pagefly.io/pagefly/core/analytics.js" 2162 const script = document.createElement('script') 2163 script.src = analyticsSrc 2164 script.async = true 2165 script.defer = false 2166 script.onload = () => { 2167 console.log("load analytics new version sucessfully") 2168 } 2169 script.onerror = () => { 2170 console.log("load analytics new version unsuccessfully") 2171 } 2172 document.body.appendChild(script) 2173</script>
2173 2174 2175
2176<script>window.__pagefly_global_settings__={fontFamilies:["Playfair Display","Lato","Source Sans Pro"],selectedFonts:{"Playfair Display":{"400":0},"Lato":{"400":0},"Source Sans Pro":{"400":0}}};</script>
2176 2177<link href="//buttler.shop/cdn/shop/t/7/assets/pagefly-main.css?v=25862946352216667501783686205" rel="stylesheet" type="text/css" media="all" /> 2178 <link rel="stylesheet" href="//buttler.shop/cdn/shop/t/7/assets/pagefly.cb767062.css?v=23460955079056696701635427305" media="print" onload="this.media='all'"> 2179
2179<script> 2180 window.__pageflyProducts = window.__pageflyProducts || {}; 2181 window.__pageflyProducts["6759520895162"] = { 2182 id: 6759520895162, 2183 handle: "zwarte-toiletrolhouder", 2184 title: "de Wasstraat toiletrolhouder", 2185 type: "Toiletmeubeltjes", 2186 url: "\/products\/zwarte-toiletrolhouder", 2187 vendor: "Buttler.shop", 2188 variants: [{"id":40575348441274,"title":"Toiletpapier spray","option1":"Toiletpapier spray","option2":null,"option3":null,"sku":"BUTT0073","requires_shipping":true,"taxable":true,"featured_image":{"id":29763630989498,"product_id":6759520895162,"position":1,"created_at":"2021-10-07T15:04:43+02:00","updated_at":"2021-12-13T13:27:21+01:00","alt":"toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441","variant_ids":[40575348441274]},"available":true,"name":"de Wasstraat toiletrolhouder - Toiletpapier spray","public_title":"Toiletpapier spray","options":["Toiletpapier spray"],"price":4095,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090901597574","featured_media":{"alt":"toiletrolhouder","id":22121590063290,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348474042,"title":"O! de Toilette roomspray - Noordse Nevel","option1":"O! de Toilette roomspray - Noordse Nevel","option2":null,"option3":null,"sku":"BUTT0068","requires_shipping":true,"taxable":true,"featured_image":{"id":29763664019642,"product_id":6759520895162,"position":7,"created_at":"2021-10-07T15:08:01+02:00","updated_at":"2021-12-13T13:27:33+01:00","alt":"buttler toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453","variant_ids":[40575348474042]},"available":true,"name":"de Wasstraat toiletrolhouder - O! de Toilette roomspray - Noordse Nevel","public_title":"O! de Toilette roomspray - Noordse Nevel","options":["O! de Toilette roomspray - Noordse Nevel"],"price":4895,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090902444457","featured_media":{"alt":"buttler toiletrolhouder","id":22121622995130,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348506810,"title":"O! de Toilette roomspray - Knisperend Katoen","option1":"O! de Toilette roomspray - Knisperend Katoen","option2":null,"option3":null,"sku":"BUTT0070","requires_shipping":true,"taxable":true,"featured_image":{"id":29763664052410,"product_id":6759520895162,"position":6,"created_at":"2021-10-07T15:08:01+02:00","updated_at":"2021-12-13T13:27:29+01:00","alt":"buttler toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449","variant_ids":[40575348506810]},"available":true,"name":"de Wasstraat toiletrolhouder - O! de Toilette roomspray - Knisperend Katoen","public_title":"O! de Toilette roomspray - Knisperend Katoen","options":["O! de Toilette roomspray - Knisperend Katoen"],"price":4895,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090902826826","featured_media":{"alt":"buttler toiletrolhouder","id":22121622962362,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348539578,"title":"O! de Toilette roomspray - Brute Bloesem","option1":"O! de Toilette roomspray - Brute Bloesem","option2":null,"option3":null,"sku":"BUTT0069","requires_shipping":true,"taxable":true,"featured_image":{"id":29763663954106,"product_id":6759520895162,"position":8,"created_at":"2021-10-07T15:08
2188:01+02:00","updated_at":"2021-12-13T13:27:32+01:00","alt":"buttler toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452","variant_ids":[40575348539578]},"available":true,"name":"de Wasstraat toiletrolhouder - O! de Toilette roomspray - Brute Bloesem","public_title":"O! de Toilette roomspray - Brute Bloesem","options":["O! de Toilette roomspray - Brute Bloesem"],"price":4895,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090923477427","featured_media":{"alt":"buttler toiletrolhouder","id":22121623027898,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348637882,"title":"O! de Toilette - Groene Glorie","option1":"O! de Toilette - Groene Glorie","option2":null,"option3":null,"sku":"BUTT0071","requires_shipping":true,"taxable":true,"featured_image":{"id":29763663888570,"product_id":6759520895162,"position":5,"created_at":"2021-10-07T15:08:01+02:00","updated_at":"2021-12-13T13:27:27+01:00","alt":"buttler toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447","variant_ids":[40575348637882]},"available":true,"name":"de Wasstraat toiletrolhouder - O! de Toilette - Groene Glorie","public_title":"O! de Toilette - Groene Glorie","options":["O! de Toilette - Groene Glorie"],"price":4895,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090907443424","featured_media":{"alt":"buttler toiletrolhouder","id":22121622929594,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348572346,"title":"Hygiëne desinfectie spray","option1":"Hygiëne desinfectie spray","option2":null,"option3":null,"sku":"BUTT0072","requires_shipping":true,"taxable":true,"featured_image":{"id":29763722772666,"product_id":6759520895162,"position":9,"created_at":"2021-10-07T15:14:23+02:00","updated_at":"2021-12-13T13:27:39+01:00","alt":"buttler toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-41d7-97b4-7a7449931aa2.jpg?v=1639398459","variant_ids":[40575348572346]},"available":false,"name":"de Wasstraat toiletrolhouder - Hygiëne desinfectie spray","public_title":"Hygiëne desinfectie spray","options":["Hygiëne desinfectie spray"],"price":4095,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090907963960","featured_media":{"alt":"buttler toiletrolhouder","id":22121682436282,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-41d7-97b4-7a7449931aa2.jpg?v=1639398459"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348605114,"title":"Geen","option1":"Geen","option2":null,"option3":null,"sku":"BUTT0074","requires_shipping":true,"taxable":true,"featured_image":{"id":29763663986874,"product_id":6759520895162,"position":10,"created_at":"2021-10-07T15:08:01+02:00","updated_at":"2021-12-13T13:27:40+01:00","alt":"toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460","variant_ids":[40575348605114]},"available":true,"name":"de Wasstraat toiletrolhouder - Geen","public_title":"Geen","options":["Geen"],"price":3400,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"609090454
21880584","featured_media":{"alt":"toiletrolhouder","id":22121623060666,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}], 2189 options: ["Kies een spray naar keuze?"], 2190 media: [{"alt":"toiletrolhouder","id":22121590063290,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441","width":2048},{"alt":"Iemand die het flesje pakt uit de Wasstraat en een stuk wc-papier pakt.","id":21372059746490,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b.jpg?v=1627025253"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b.jpg?v=1627025253","width":2048},{"alt":"Close-up van het logo van de Buttler Wasstraat.","id":21372060270778,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_02_80bcab43-4999-4adc-bb13-19cb891a9d78.jpg?v=1627025255"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_02_80bcab43-4999-4adc-bb13-19cb891a9d78.jpg?v=1627025255","width":2048},{"alt":"De Buttler wasstraat met telefoon en toiletpapier spray","id":21372061089978,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_03_16743013-167a-4ba9-a03b-519534644171.jpg?v=1627025258"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_03_16743013-167a-4ba9-a03b-519534644171.jpg?v=1627025258","width":2048},{"alt":"buttler toiletrolhouder","id":22121622929594,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447","width":2048},{"alt":"buttler toiletrolhouder","id":22121622962362,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449","width":2048},{"alt":"buttler toiletrolhouder","id":22121622995130,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453","width":2048},{"alt":"buttler toiletrolhouder","id":22121623027898,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452","width":2048},{"alt":"buttler toiletrolhouder","id":22121682436282,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-4
21901d7-97b4-7a7449931aa2.jpg?v=1639398459"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-41d7-97b4-7a7449931aa2.jpg?v=1639398459","width":2048},{"alt":"toiletrolhouder","id":22121623060666,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460","width":2048},{"alt":null,"id":55874910028117,"position":11,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_1.png?v=1776419566"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_1.png?v=1776419566","width":1080},{"alt":null,"id":55874910060885,"position":12,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_2.png?v=1776419566"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_2.png?v=1776419566","width":1080},{"alt":null,"id":55874921791829,"position":13,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_1.png?v=1776419617"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_1.png?v=1776419617","width":1080}], 2191 has_only_default_variant: false, 2192 options_with_values: [{"name":"Kies een spray naar keuze?","position":1,"values":["Toiletpapier spray","O! de Toilette roomspray - Noordse Nevel","O! de Toilette roomspray - Knisperend Katoen","O! de Toilette roomspray - Brute Bloesem","O! de Toilette - Groene Glorie","Hygiëne desinfectie spray","Geen"]}], 2193 selected_variant: null, 2194 selected_or_first_available_variant: {"id":40575348441274,"title":"Toiletpapier spray","option1":"Toiletpapier spray","option2":null,"option3":null,"sku":"BUTT0073","requires_shipping":true,"taxable":true,"featured_image":{"id":29763630989498,"product_id":6759520895162,"position":1,"created_at":"2021-10-07T15:04:43+02:00","updated_at":"2021-12-13T13:27:21+01:00","alt":"toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441","variant_ids":[40575348441274]},"available":true,"name":"de Wasstraat toiletrolhouder - Toiletpapier spray","public_title":"Toiletpapier spray","options":["Toiletpapier spray"],"price":4095,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090901597574","featured_media":{"alt":"toiletrolhouder","id":22121590063290,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}, 2195 tags: ["de Wasstraat","import_2021_07_23_070912"], 2196 template_suffix: "pf-cb767062", 2197 featured_image: "\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441", 2198 featured_media: {"alt":"toiletrolhouder","id":22121590063290,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441","width":2048}, 2199 images: ["\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b.jpg?v=1627025253","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_02_80bcab43-4999-4adc-bb13-19cb891a9d78.jpg?v=1627025255","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_03_16743013-167a-4ba9-a03b-519534644171.jpg?v=1627025258","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-4
21991d7-97b4-7a7449931aa2.jpg?v=1639398459","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460","\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_1.png?v=1776419566","\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_2.png?v=1776419566","\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_1.png?v=1776419617"], 2200 quantity: ["40575348441274:84","40575348474042:58","40575348506810:48","40575348539578:47","40575348637882:84","40575348572346:0","40575348605114:84"] 2201 }; 2202 </script>
2202<script> 2203 window.__pageflyCollections = window.__pageflyCollections || {}; 2204 window.__pageflyCollections["273752686778"] = {"id":273752686778,"handle":"frontpage","updated_at":"2026-09-20T13:06:32+02:00","published_at":"2021-07-21T13:40:43+02:00","sort_order":"manual","template_suffix":"pf-4f93d62e","published_scope":"web","title":"Homepage","body_html":null}; 2205 </script>
2205<div style="opacity:0" class="sc-bKoJNE hTFgFD __pf" id="__pf"><div data-pf-type="Body" class="sc-dvXYtj iduHXF pf-1_"><div data-pf-type="Layout" class="sc-ckTSus kVjkXt pf-2_"><div data-pf-type="Section" class="sc-eKYRIR llyViG pf-4_"><div style="--cw:1380px" class="sc-hmbstg iriXCP"><div class="sc-hiKfDv dRsyqq pf-5_ pf-r pf-r-eh" style="--s-xs:15px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-lg:12"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-6_"><div data-product-id="6759520895162" data-pf-type="ProductBox" class="sc-gJpXkD inBmZO pf-7_"><form method="post" action="/cart/add" id="product_form_6759520895162" accept-charset="UTF-8" class="pf-product-form" enctype="multipart/form-data" data-productid="6759520895162"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><div class="sc-hiKfDv dRsyqq pf-8_ pf-r pf-r-eh" style="--s-xs:15px;--s-lg:30px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:6;--c-lg:6"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-9_"><div data-product-id="6759520895162" data-pf-type="ProductImage" class="sc-dksuTV zPuL pf-10_"><div style="--g-xs:10px;--l-xs:5;--l-lg:4;--w-xs:" class="sc-hYIrvc jwOTVp pf-r-dg"><div data-pf-type="MasterImage" style="order:0" class="sc-iXquSf utzYL"><img src="//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441" alt="toiletrolhouder" loading="eager" width="2048" height="2048"/><div data-pf-type="ProductImagePagination" class="sc-jhGUec eGyFMq pf-sm-hide pf-md-hide pf-lg-hide"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div></div><div class="sc-bShgHC aBwtF "><div data-pf-type="ProductImageList" class="sc-juXuNZ KigMW pf-r-dg"> 2206 2207 2208 2209 2210 2211 2212 2213 <div class="sc-ecQkzk vPeNx pf-11_ " data-img-id="29763630989498" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441" alt="toiletrolhouder" draggable="false"/></div> 2214 2215 2216 <div class="sc-ecQkzk vPeNx pf-11_ " data-img-id="29028936122554" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b.jpg?v=1627025253" alt="Iemand die het flesje pakt uit de Wasstraat en een stuk wc-papier pakt." draggable="false"/></div> 2217 2218 2219 <div class="sc-ecQkzk vPeNx pf-11_ " data-img-id="29028936843450" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_02_80bcab43-4999-4adc-bb13-19cb891a9d78.jpg?v=1627025255" alt="Close-up van het logo van de Buttler Wasstraat." draggable="false"/></div> 2220 2221 2222 <div class="sc-ecQkzk vPeNx pf-11_ " data-img-id="29028937728186" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Wasstraat_Gallery_03_16743013-167a-4ba9-a03b-519534644171.jpg?v=1627025258" alt="De Buttler wasstraat met telefoon en toiletpapier spray" draggable="false"/></div> 2223 2224 2225 <div class="sc-ecQkzk vPeNx pf-11_ pf-lg-hide " data-img-id="29763663888570" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447" alt="buttler toiletrolhouder" draggable="false"/></div> 2226 2227 2228 <div class="sc-ecQkzk vPeNx pf-11_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29763664052410" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449" alt="buttler toiletrolhouder" draggable="false"/></div> 2229 2230 2231 <div class="sc-ecQkzk vPeNx pf-11_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29763664019642" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453" alt="buttler toiletrolhouder" draggable="false"/></div> 2232 2233 2234 <div class="sc-ecQkzk vPeNx pf-11_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29763663954106" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452" alt="buttler toiletrolhouder" draggable="false"/></div> 2235 2236 2237 <div class="sc-ecQkzk vPeNx pf-11_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29763722772666" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-4
22371d7-97b4-7a7449931aa2.jpg?v=1639398459" alt="buttler toiletrolhouder" draggable="false"/></div> 2238 2239 2240 <div class="sc-ecQkzk vPeNx pf-11_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29763663986874" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460" alt="toiletrolhouder" draggable="false"/></div> 2241 2242 2243 <div class="sc-ecQkzk vPeNx pf-11_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="73632166019413" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/files/wasstraat_tesa_-_1.png?v=1776419566" alt="de Wasstraat toiletrolhouder" draggable="false"/></div> 2244 2245 2246 <div class="sc-ecQkzk vPeNx pf-11_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="73632166052181" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/files/wasstraat_tesa_-_2.png?v=1776419566" alt="de Wasstraat toiletrolhouder" draggable="false"/></div> 2247 2248 2249 <div class="sc-ecQkzk vPeNx pf-11_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="73632177520981" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/files/wasstraat_tesa_1.png?v=1776419617" alt="de Wasstraat toiletrolhouder" draggable="false"/></div></div><div data-pf-nav="prev" class="sc-hkoqWr jwZvNA"><i class="pfa pfa-angle-left"></i></div><div data-pf-nav="next" class="sc-hkoqWr jwZvNA"><i class="pfa pfa-angle-right"></i></div></div></div></div></div></div><div class="pf-c" style="--c-xs:12;--c-sm:6;--c-lg:6"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-13_"><h1 data-product-type="title" data-product-id="6759520895162" data-pf-type="ProductTitle" class="sc-tsGVs liNYvh pf-14_">de Wasstraat toiletrolhouder</h1><div data-product-type="price" data-product-id="6759520895162" data-product-price="true" data-pf-type="ProductPrice" class="sc-bUQyIj exIfBg pf-15_">â¬40,95</div><p class="sc-daBunf bWmajK pf-16_" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-18_">Een retehandig minimeubeltje voor op je toilet. Voor je toiletrol en je spray. En een veilige plek voor je mobiele telefoon. Of je lippenstift. Of je koffie. Maar vooral: je toiletpapier en je spray altijd bij de hand.Puur Nederlands design afgewerkt in een matzwarte duurzame poedercoating. Eenvoudig te monteren. (In de verpakking vind je een monteermal, schroeven en pluggen. Plak je de wasstraat liever vast? Wij doen er ook een stuk oersterke tape bij.)</span></p><div data-pf-type="Block" class="sc-fXazdy UjHkE pf-19_"><i class="sc-Arkif eJDRKz pf-20_ pfa pfa-star" data-pf-type="Icon"></i><i class="sc-Arkif eJDRKz pf-21_ pfa pfa-star" data-pf-type="Icon"></i><i class="sc-Arkif eJDRKz pf-22_ pfa pfa-star" data-pf-type="Icon"></i><i class="sc-Arkif eJDRKz pf-23_ pfa pfa-star" data-pf-type="Icon"></i><i class="sc-Arkif eJDRKz pf-24_ pfa pfa-star-half" data-pf-type="Icon"></i><p class="sc-daBunf bWmajK pf-25_" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-27_">Wij halen 4,7 sterren uit 5 op <span style="font-weight: bold; color: rgb(0, 181, 122);"><a href="https://nl.trustpilot.com/review/buttler.shop?utm_medium=trustbox&utm_source=MicroReviewCount" target="_self">Trustpilot</a></span>!</span></p></div><h3 data-pf-type="Heading" class="sc-dPaNzc kXWuay pf-28_"><i class="sc-Arkif eJDRKz pf-29_ pfa pfa-check-circle" data-pf-type="Icon"></i><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-30_">Voor <span style="background-color: rgb(255, 255, 255);">â¬4,95</span> binnen 4 werkdagen thuisbezorgd </span></h3><h3 data-pf-type="Heading" class="sc-dPaNzc kXWuay pf-31_"><i class="sc-Arkif eJDRKz pf-32_ pfa pfa-check-circle" data-pf-type="Icon"></i><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-33_">100% Dutch design</span></h3><h3 data-pf-type="Heading" class="sc-dPaNzc kXWuay pf-34_"><i class="sc-Arkif eJDRKz pf-35_ pfa pfa-check-circle" data-pf-type="Icon"></i><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-36_">Eenvoudig te monteren</span></h3><h3 data-pf-type="Heading" class="sc-dPaNzc kXWuay pf-37_"><i class="sc-Arkif eJDRKz pf-38_ pfa pfa-check-circle" data-pf-type="Icon"></i><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-39_">
2249Uniek om cadeau te geven</span></h3><h3 data-pf-type="Heading" class="sc-dPaNzc kXWuay pf-40_"><i class="sc-Arkif eJDRKz pf-41_ pfa pfa-check-circle" data-pf-type="Icon"></i><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-42_">Onderhoudsvriendelijk</span></h3><div data-pf-type="Divider" class="sc-carFqZ dlXZAw pf-43_"></div><h3 data-pf-type="Heading" class="sc-dPaNzc kXWuay pf-46_"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-48_">Kies een spray naar keuze:</span></h3><div data-combined="true" data-display="dropdown" data-label="true" data-product-id="6759520895162" class="sc-iueNdr jsrRnr pf-49_" data-pf-type="ProductVariant"><select name="id" data-productid="6759520895162" class="pf-variant-select" data-product-option="true"><option value="40575348441274">Toiletpapier spray - â¬40,95 </option><option value="40575348474042">O! de Toilette roomspray - Noordse Nevel - â¬48,95 </option><option value="40575348506810">O! de Toilette roomspray - Knisperend Katoen - â¬48,95 </option><option value="40575348539578">O! de Toilette roomspray - Brute Bloesem - â¬48,95 </option><option value="40575348637882">O! de Toilette - Groene Glorie - â¬48,95 </option><option value="40575348572346">Hygiëne desinfectie spray - Sold Out </option><option value="40575348605114">Geen - â¬34,00 </option></select></div><div data-pf-type="Block" class="sc-fXazdy UjHkE pf-50_"><button data-product-id="6759520895162" data-checkout="same" data-soldout="Uitverkocht" data-adding="Toevoegen..." data-added="Bedankt!" type="button" data-pf-type="ProductATC" class="sc-dkuGKe iMlANe pf-51_"><span>In winkelmand</span><i class="sc-Arkif eJDRKz pf-52_ pfa pfa-shopping-cart" data-pf-type="Icon"></i></button><div data-product-id="6759520895162" size="40" data-pf-type="ProductQuantity" class="sc-igOmtu cuCBhi pf-54_"><button data-quantity-action="decrease" type="button" data-pf-type="QuantityButton" class="sc-Jgsit bNqXxX pf-55_"><i class="pfa pfa-minus"></i></button><input type="number" value="1" min="1" max="84" data-hidespinner="true" name="quantity" data-variants-continue="" data-pf-type="QuantityField" class="sc-gGuRsA cCVlOR pf-56_"/><button data-quantity-action="increase" type="button" data-pf-type="QuantityButton" class="sc-Jgsit bNqXxX pf-57_"><i class="pfa pfa-plus"></i></button></div></div></div></div></div><input type="hidden" name="product-id" value="6759520895162" /></form></div></div></div></div></div></div><div data-pf-type="Section" class="sc-eKYRIR llyViG pf-69_"><div style="--cw:1380px" class="sc-hmbstg iriXCP"><div class="sc-hiKfDv dRsyqq pf-70_ pf-r pf-r-eh" style="--s-xs:15px;--s-lg:30px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-md:6;--c-lg:6"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-71_"><h2 data-pf-type="Heading" class="sc-dPaNzc kXWuay pf-72_"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-74_">Je auto gaat toch ook door de wasstraat? Waarom jij dan niet?</span></h2><div data-show-button="false" data-more="" data-less="" data-product-type="content" data-product-id="6759520895162" data-pf-type="ProductDescription" class="sc-bUQyIj exIfBg pf-75_"><p><strong>Je auto gaat toch ook door de wasstraat. Waarom jij dan niet?</strong></p> 2250 2251<p><strong>Een stijlvolle spray verdient natuurlijk een mooi en handig plekje op je toilet. Ook daar heeft BUTTLER aan gedacht. Zie hier: de Wasstraat. Een minimeubeltje voor op je toilet. Voor je toiletrol en je spray. En een veilige plek voor je mobiele telefoon. Of je lippenstift. Of je koffie. Maar vooral: je toiletpapier en je spray altijd bij de hand.</strong></p> 2252 2253<p>De Wasstraat heeft een uniek design en is gemaakt van hoogwaardig staal. Elke toiletrol past in de houder en rolt perfect af. Niet alleen een veilige plek voor je toiletrol en spray, maar het voorkomt ook ongevraagde zwemles voor je mobiele telefoon.</p></div></div></div><div class="pf-c" style="--c-xs:12;--c-md:6;--c-lg:6"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-76_"><div data-scrolling="false" data-multiple="false" data-pf-type="Accordion" class="sc-iklJeh ieggUd pf-77_"><div data-pf-type="Accordion.Content.Wrapper" class="sc-jJMGnK laKGqb pf-78_"><button type="button" class="sc-bYwzuL fDDjHD pf-79_ pf-anchor" data-header-id="3e12c0c1-ecd0-4bed-91a4-9dba2beeb01d" data-active="false" data-pf-type="Accordion.Header"><i class="pfa pfa-chevron-right pfa-arrow"></i><span>Ophangwijze</span></button><div data-pf-expandable="true" data-id="3e12c0c1-ecd0-4bed-91a4-9dba2beeb01d" style="display:none" data-pf-type="Accordion.Content"
2253class="sc-kLojOw iehvjW pf-81_"><p class="sc-daBunf bWmajK pf-82_" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-84_">Inclusief bevestigingsmaterialen bestaande uit hoogwaardige dubbelzijdige tape voor een makkelijk installatie of RVS schroeven en Fischer pluggen.</span></p></div></div><div data-pf-type="Accordion.Content.Wrapper" class="sc-jJMGnK laKGqb pf-85_"><button type="button" class="sc-bYwzuL fDDjHD pf-86_ pf-anchor" data-header-id="6362c4bd-51e6-433e-92c0-c1ecd07bedd1" data-active="false" data-pf-type="Accordion.Header"><i class="pfa pfa-chevron-right pfa-arrow"></i><span>Kleur</span></button><div data-pf-expandable="true" data-id="6362c4bd-51e6-433e-92c0-c1ecd07bedd1" style="display:none" data-pf-type="Accordion.Content" class="sc-kLojOw iehvjW pf-88_"><p class="sc-daBunf bWmajK pf-89_" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-91_">Zwart</span></p></div></div><div data-pf-type="Accordion.Content.Wrapper" class="sc-jJMGnK laKGqb pf-92_"><button type="button" class="sc-bYwzuL fDDjHD pf-93_ pf-anchor" data-header-id="edd1a49d-ba2b-4eb0-9d57-d9bc19e2f7a7" data-active="false" data-pf-type="Accordion.Header"><i class="pfa pfa-chevron-right pfa-arrow"></i><span>Materiaal & Afmetingen</span></button><div data-pf-expandable="true" data-id="edd1a49d-ba2b-4eb0-9d57-d9bc19e2f7a7" style="display:none" data-pf-type="Accordion.Content" class="sc-kLojOw iehvjW pf-95_"><p class="sc-daBunf bWmajK pf-96_" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-98_">Materiaal: staal<br>Product breedte: 22 cm<br>Product hoogte: 7 cm<br>Product diepte: 9 cm</span></p></div></div><div data-pf-type="Accordion.Content.Wrapper" class="sc-jJMGnK laKGqb pf-99_"><button type="button" class="sc-bYwzuL fDDjHD pf-100_ pf-anchor" data-header-id="b01d57d9-bc19-42f7-a7bc-6eaa6a2a5476" data-active="false" data-pf-type="Accordion.Header"><i class="pfa pfa-chevron-right pfa-arrow"></i><span>Levertijd</span></button><div data-pf-expandable="true" data-id="b01d57d9-bc19-42f7-a7bc-6eaa6a2a5476" style="display:none" data-pf-type="Accordion.Content" class="sc-kLojOw iehvjW pf-102_"><p class="sc-daBunf bWmajK pf-103_" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-105_">Binnen 4 werkdagen thuisbezorgd</span></p></div></div><div data-pf-type="Accordion.Content.Wrapper" class="sc-jJMGnK laKGqb pf-106_"><button type="button" class="sc-bYwzuL fDDjHD pf-107_ pf-anchor" data-header-id="49aa9e5e-d5b5-4205-9ab9-d886404f7323" data-active="false" data-pf-type="Accordion.Header"><i class="pfa pfa-chevron-right pfa-arrow"></i><span>Inhoud verpakking</span></button><div data-pf-expandable="true" data-id="49aa9e5e-d5b5-4205-9ab9-d886404f7323" style="display:none" data-pf-type="Accordion.Content" class="sc-kLojOw iehvjW pf-109_"><p class="sc-daBunf bWmajK pf-110_" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-112_">- 1 Flesje spray naar keuze (100ml)<br>- de Wasstraat houder<br>- Montage materiaal (schroeven, pluggen & dubbelzijdige tape)</span></p></div></div></div></div></div></div></div></div><div data-pf-type="Section" class="sc-eKYRIR llyViG pf-113_"><div style="--cw:1380px" class="sc-hmbstg iriXCP"><div class="sc-hiKfDv dRsyqq pf-114_ pf-r pf-c-cm" style="--s-xs:0px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:6;--c-lg:6"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-115_"><img src="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-ab8b2939--Buttlerwasstraaticoon.png?v=1627900090" srcSet="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-ab8b2939--Buttlerwasstraaticoon.png?v=1627900090 1536w" width="50" height="49" data-pf-type="Image" class="sc-khIgEk hQhHpX pf-116_"/><h3 data-pf-type="Heading" class="sc-dPaNzc kXWuay pf-117_"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-119_">100%<br> Dutch Design</span></h3><p class="sc-daBunf bWmajK pf-120_" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-122_">De Wasstraat heeft een uniek design en is gemaakt van hoogwaardig staal.Elke toiletrol past in de houder en rolt perfect af. Niet alleen een veilige plek voor je toiletrol en spray, maar het voorkomt ook ongevraagde zwemles voor je mobiele telefoon.</span></p></div></div><div class="pf-c" style="--c-xs:12;--c-sm:6;--c-lg:6"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-123_"><img src="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-f73dfdc0--ButtlerWasstraathero.jpg?v=1627637444" srcSet="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-f73dfdc0--ButtlerWasstraathero.jpg?v=1627637444 1536w, https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-f73dfdc0--ButtlerWasstraathero_500x.jpg?v=1627637444 320w" width="675" height="450" data-pf-type="Image" class="sc-khIgEk hQhHpX pf-124_"/></div></div></div><div class="sc-hiKfDv dRsyqq pf-125_ pf-r pf-c-cm" style="--s-xs:0px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-sm:6;--c-lg:6"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-126_"><img src="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-2cb9886c--ButtlerGiftsethome.jpg?v=1627981571" srcSet="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-2cb9886c--ButtlerGiftsethome.jpg?v=1627981571 1536w, https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-2cb9886c--ButtlerGiftsethome_500x.jpg?v=1627981571 320w" width="675" height="506" data-pf-type="Image" class="sc-khIgEk hQhHpX pf-127_"/></div></div><div class="pf-c" style="--c-xs:12;--c-sm:6;--c-lg:6"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-128_"><img src="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-0e24f3e7--ButtlerNatuurlijkeingredientenicoon.png?v=1627644686" srcSet="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-0e24f3e7--ButtlerNatuurlijkeingredientenicoon.png?v=1627644686 1536w" width="50" height="53" data-pf-type="Image" class="sc-khIgEk hQhHpX pf-129_"/><h3 data-pf-type="Heading" class="sc-dPaNzc kXWuay pf-130_"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-132_">Duurzaam <br>verpakt</span></h3><p class="sc-daBunf bWmajK pf-133_" data-pf-type="Paragraph"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-135_">De materialen die Buttler gebruikt in al haar producten zijn zo duurzaam mogelijk geproduceerd. Onze flacons zijn herbruikbaar, onze metalen producten zijn zeer duurzaam en recyclebaar. Dat geldt ook voor al ons verpakkings- en verzendmateriaal.</sp
2253an></p></div></div></div></div></div><div data-pf-type="Section" class="sc-eKYRIR llyViG pf-58_"><div style="--cw:1380px" class="sc-hmbstg iriXCP"><div class="sc-hiKfDv dRsyqq pf-59_ pf-r pf-r-eh" style="--s-xs:15px;--s-lg:22px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-lg:12"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-60_"><h3 data-pf-type="Heading" class="sc-dPaNzc kXWuay pf-61_"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-63_">Bekend van</span></h3><img src="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-fb90d3c1--buttler538logo2x.png?v=1628516811" srcSet="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-fb90d3c1--buttler538logo2x.png?v=1628516811 1536w" width="121" height="39" data-pf-type="Image" class="sc-khIgEk hQhHpX pf-64_"/><img src="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-c169074c--buttlermargrietlogo2x.png?v=1628516820" srcSet="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-c169074c--buttlermargrietlogo2x.png?v=1628516820 1536w" width="153" height="46" data-pf-type="Image" class="sc-khIgEk hQhHpX pf-65_"/><img src="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-90d3c169--buttleradlogo2x.png?v=1628516814" srcSet="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-90d3c169--buttleradlogo2x.png?v=1628516814 1536w" width="58" height="57" data-pf-type="Image" class="sc-khIgEk hQhHpX pf-66_"/><img src="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-69074c98--buttlerunievanwaterschappenlogo2x.png?v=1628516823" srcSet="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-69074c98--buttlerunievanwaterschappenlogo2x.png?v=1628516823 1536w" width="181" height="37" data-pf-type="Image" class="sc-khIgEk hQhHpX pf-67_"/><img src="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-d3c16907--buttlerandclogo2x.png?v=1628516817" srcSet="https://cdn.shopify.com/s/files/1/0586/8860/2298/t/8/assets/pf-d3c16907--buttlerandclogo2x.png?v=1628516817 1536w" width="58" height="58" data-pf-type="Image" class="sc-khIgEk hQhHpX pf-68_"/></div></div></div></div></div><div data-pf-type="Section" class="sc-eKYRIR llyViG pf-136_"><div style="--cw:1380px" class="sc-hmbstg iriXCP"><div class="sc-hiKfDv dRsyqq pf-137_ pf-r pf-r-eh" style="--s-xs:15px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-lg:12"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-138_"><h3 data-pf-type="Heading" class="sc-dPaNzc kXWuay pf-139_"><span data-pf-type="Text" class="sc-ikXwFM hZHGfK pf-141_">Meer van Buttler</span></h3><div class="sc-fyGvY hRwmuy pf-142_ pf-r pf-r-ew" style="--s-xs:5px;--s-sm:15px;--ew-xs:2;--ew-sm:2;--ew-md:4" data-pf-type="ProductList"><div class="pf-c"><div data-product-id="6758687080634" data-pf-type="ProductBox" class="sc-gJpXkD inBmZO pf-143_"><form method="post" action="/cart/add" id="product_form_6758687080634" accept-charset="UTF-8" class="pf-product-form" enctype="multipart/form-data" data-productid="6758687080634"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><div class="sc-hiKfDv dRsyqq pf-144_ pf-r pf-r-eh" style="--s-xs:15px;--s-lg:0px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-lg:12"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-145_"><div data-product-id="6758687080634" data-pf-type="ProductImage" class="sc-dksuTV zPuL pf-146_"><div style="--w-xs:0" class="sc-hYIrvc hKSglD pf-r-dg"><div data-href="/products/toiletpapier-spray" data-pf-type="MasterImage" style="order:0" class="sc-iXquSf utzYL"><img src="//buttler.shop/cdn/shop/products/[email protected]?v=1633433202" alt="Toiletpapier spray - Buttler.shop" loading="eager" width="2048" height="2048"/><div data-pf-type="ProductImagePagination" class="sc-jhGUec eGyFMq pf-hide pf-sm-hide pf-md-hide pf-lg-hide"><span></span><span></span><span></span><span></span><span></span></div></div><div class="sc-bShgHC aBwtF pf-hide pf-sm-hide pf-md-hide pf-lg-hide"><div data-pf-type="ProductImageList" class="sc-juXuNZ KigMW pf-r-dg"> 2254 2255 2256 2257 2258 2259 2260 2261 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29741282001082" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Toiletpapier_spray_grijs.jpg?v=1633433202" alt="Toiletpapier spray - Buttler.shop" draggable="false"/></div> 2262 2263 2264 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29026321170618" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Flesje_01.jpg?v=1626990698" alt="Toiletpapier spray - Buttler.shop" draggable="false"/></div> 2265 2266 2267 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29026321105082" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Flesje_02.jpg?v=1626990698" alt="Toiletpapier spray - Buttler.shop" draggable="false"/></div> 2268 2269 2270 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29026321236154" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Flesje_03.jpg?v=1626990698" alt="Toiletpapier spray - Buttler.shop" draggable="false"/></div> 2271 2272 2273 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29026321268922" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Flesje_04.jpg?v=1626990698" alt="Toiletpapier spray - Buttler.shop" draggable="false"/></div></div><div data-pf-nav="prev" class="sc-hkoqWr jwZvNA"><i class="pfa pfa-angle-left"></i></div><div data-pf-nav="next" class="sc-hkoqWr jwZvNA"><i class="pfa pfa-angle-right"></i></div></div></div></div><h4 data-product-type="title" data-product-id="6758687080634" data-href="/products/toiletpapier-spray" data-pf-type="ProductTitle" class="sc-cGKJhA fTwFWY pf-149_">Toiletpapier spray</h4><div data-product-type="price" data-product-id="6758687080634" data-product-price="true" data-pf-type="ProductPrice" class="sc-bUQyIj exIfBg pf-150_">â¬6,95</div></div></div></div><input type="hidden" name="product-id" value="6758687080634" /></form></div>
2273<script> 2274 window.__pageflyProducts = window.__pageflyProducts || {}; 2275 window.__pageflyProducts["6758687080634"] = { 2276 id: 6758687080634, 2277 handle: "toiletpapier-spray", 2278 title: "Toiletpapier spray", 2279 type: "Hygiëneproducten", 2280 url: "\/products\/toiletpapier-spray", 2281 vendor: "Buttler.shop", 2282 variants: [{"id":40120121950394,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"BUTT0001","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Toiletpapier spray","public_title":null,"options":["Default Title"],"price":695,"weight":100,"compare_at_price":null,"inventory_management":"shopify","barcode":"6013715558593","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}], 2283 options: ["Title"], 2284 media: [{"alt":"Toiletpapier spray - Buttler.shop","id":22098938724538,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_spray_grijs.jpg?v=1633433202"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_spray_grijs.jpg?v=1633433202","width":2048},{"alt":"Toiletpapier spray - Buttler.shop","id":21369382109370,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_01.jpg?v=1626990698"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_01.jpg?v=1626990698","width":2048},{"alt":"Toiletpapier spray - Buttler.shop","id":21369382142138,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_02.jpg?v=1626990698"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_02.jpg?v=1626990698","width":2048},{"alt":"Toiletpapier spray - Buttler.shop","id":21369382174906,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_03.jpg?v=1626990698"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_03.jpg?v=1626990698","width":2048},{"alt":"Toiletpapier spray - Buttler.shop","id":21369382207674,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_04.jpg?v=1626990698"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_04.jpg?v=1626990698","width":2048}], 2285 has_only_default_variant: true, 2286 options_with_values: [{"name":"Title","position":1,"values":["Default Title"]}], 2287 selected_variant: null, 2288 selected_or_first_available_variant: {"id":40120121950394,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"BUTT0001","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Toiletpapier spray","public_title":null,"options":["Default Title"],"price":695,"weight":100,"compare_at_price":null,"inventory_management":"shopify","barcode":"6013715558593","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}, 2289 tags: [], 2290 template_suffix: "pf-7d712b95", 2291 featured_image: "\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_spray_grijs.jpg?v=1633433202", 2292 featured_media: {"alt":"Toiletpapier spray - Buttler.shop","id":22098938724538,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_spray_grijs.jpg?v=1633433202"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_spray_grijs.jpg?v=1633433202","width":2048}, 2293 images: ["\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_spray_grijs.jpg?v=1633433202","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_01.jpg?v=1626990698","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_02.jpg?v=1626990698","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_03.jpg?v=1626990698","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Flesje_04.jpg?v=1626990698"], 2294 quantity: ["40120121950394:9340"] 2295 2296 };</script>
2296</div><div class="pf-c"><div data-product-id="6759521976506" data-pf-type="ProductBox" class="sc-gJpXkD inBmZO pf-143_"><form method="post" action="/cart/add" id="product_form_6759521976506" accept-charset="UTF-8" class="pf-product-form" enctype="multipart/form-data" data-productid="6759521976506"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><div class="sc-hiKfDv dRsyqq pf-144_ pf-r pf-r-eh" style="--s-xs:15px;--s-lg:0px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-lg:12"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-145_"><div data-product-id="6759521976506" data-pf-type="ProductImage" class="sc-dksuTV zPuL pf-146_"><div style="--w-xs:0" class="sc-hYIrvc hKSglD pf-r-dg"><div data-href="/products/bij-de-hand" data-pf-type="MasterImage" style="order:0" class="sc-iXquSf utzYL"><img src="//buttler.shop/cdn/shop/products/[email protected]?v=1639397954" alt="bij de hand" loading="eager" width="2048" height="2048"/><div data-pf-type="ProductImagePagination" class="sc-jhGUec eGyFMq pf-hide pf-sm-hide pf-md-hide pf-lg-hide"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div></div><div class="sc-bShgHC aBwtF pf-hide pf-sm-hide pf-md-hide pf-lg-hide"><div data-pf-type="ProductImageList" class="sc-juXuNZ KigMW pf-r-dg"> 2297 2298 2299 2300 2301 2302 2303 2304 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29742308360378" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954" alt="bij de hand" draggable="false"/></div> 2305 2306 2307 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29742696235194" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a.jpg?v=1639397957" alt="bij de hand houder" draggable="false"/></div> 2308 2309 2310 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29028942708922" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/201125_Buttler_Bij-de-hand_Sfeer_10.jpg?v=1627025281" alt="Bij de hand - Buttler.shop" draggable="false"/></div> 2311 2312 2313 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29742704328890" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_SchoneStart_Gallerij_03_d5e69e84-edb4-487b-83a7-e8466f84d382.jpg?v=1639397962" alt="houder" draggable="false"/></div> 2314 2315 2316 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29028943102138" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/201125_Buttler_Bij-de-hand_Sfeer_11.jpg?v=1627025283" alt="Bij de hand - Buttler.shop" draggable="false"/></div> 2317 2318 2319 <div class="sc-ecQkzk vPeNx pf-147_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29742339817658" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_knisperend_katoen_grijs.jpg?v=1639397968" alt="bij de hand" draggable="false"/></div> 2320 2321 2322 <div class="sc-ecQkzk vPeNx pf-147_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29742361346234" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_brute_bloesem_grijs.jpg?v=1639397976" alt="bij de hand" draggable="false"/></div> 2323 2324 2325 <div class="sc-ecQkzk vPeNx pf-147_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29741985530042" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_toiletpapier_spray_grijs.jpg?v=1639397975" alt="bij de hand" draggable="false"/></div> 2326 2327 2328 <div class="sc-ecQkzk vPeNx pf-147_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29742421835962" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_groene_glorie_grijs.jpg?v=1639397974" alt="bij de hand" draggable="false"/></div> 2329 2330 2331 <div class="sc-ecQkzk vPeNx pf-147_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29741959938234" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_los_grijs.jpg?v=1639397973" alt="bij de hand" draggable="false"/></div> 2332 2333 2334 <div class="sc-ecQkzk vPeNx pf-147_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29742448246970" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Bij_de_hand_desinfectie_grijs.jpg?v=1639397973" alt="bij de hand" draggable="false"/></div></div><div data-pf-nav="prev" class="sc-hkoqWr jwZvNA"><i class="pfa pfa-angle-left"></i></div><div data-pf-nav="next" class="sc-hkoqWr jwZvNA"><i class="pfa pfa-angle-right"></i></div></div></div></div><h4 data-product-type="title" data-product-id="6759521976506" data-href="/products/bij-de-hand" data-pf-type="ProductTitle" class="sc-cGKJhA fTwFWY pf-149_">Bij de Hand</h4><div data-product-type="price" data-product-id="6759521976506" data-product-price="true" data-pf-type="ProductPrice" class="sc-bUQyIj exIfBg pf-150_">â¬29,95</div></div></div></div><input type="hidden" name="product-id" value="6759521976506" /></form></div>
2334<script> 2335 window.__pageflyProducts = window.__pageflyProducts || {}; 2336 window.__pageflyProducts["6759521976506"] = { 2337 id: 6759521976506, 2338 handle: "bij-de-hand", 2339 title: "Bij de Hand", 2340 type: "", 2341 url: "\/products\/bij-de-hand", 2342 vendor: "Buttler.shop", 2343 variants: [{"id":40570351255738,"title":"O! de Toilette roomspray - Noordse Nevel","option1":"O! de Toilette roomspray - Noordse Nevel","option2":null,"option3":null,"sku":"BUTT0062","requires_shipping":true,"taxable":true,"featured_image":{"id":29742308360378,"product_id":6759521976506,"position":1,"created_at":"2021-10-05T15:21:59+02:00","updated_at":"2021-12-13T13:19:14+01:00","alt":"bij de hand","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954","variant_ids":[40570351255738]},"available":true,"name":"Bij de Hand - O! de Toilette roomspray - Noordse Nevel","public_title":"O! de Toilette roomspray - Noordse Nevel","options":["O! de Toilette roomspray - Noordse Nevel"],"price":2995,"weight":350,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090914912982","featured_media":{"alt":"bij de hand","id":22099983892666,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40570382647482,"title":"O! de Toilette roomspray - Knisperend Katoen","option1":"O! de Toilette roomspray - Knisperend Katoen","option2":null,"option3":null,"sku":"BUTT0063","requires_shipping":true,"taxable":true,"featured_image":{"id":29742339817658,"product_id":6759521976506,"position":6,"created_at":"2021-10-05T15:24:21+02:00","updated_at":"2021-12-13T13:19:28+01:00","alt":"bij de hand","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_knisperend_katoen_grijs.jpg?v=1639397968","variant_ids":[40570382647482]},"available":true,"name":"Bij de Hand - O! de Toilette roomspray - Knisperend Katoen","public_title":"O! de Toilette roomspray - Knisperend Katoen","options":["O! de Toilette roomspray - Knisperend Katoen"],"price":2995,"weight":350,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090903428418","featured_media":{"alt":"bij de hand","id":22100015579322,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_knisperend_katoen_grijs.jpg?v=1639397968"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40570407256250,"title":"O! de Toilette roomspray - Brute Bloesem","option1":"O! de Toilette roomspray - Brute Bloesem","option2":null,"option3":null,"sku":"BUTT0064","requires_shipping":true,"taxable":true,"featured_image":{"id":29742361346234,"product_id":6759521976506,"position":7,"created_at":"2021-10-05T15:25:44+02:00","updated_at":"2021-12-13T13:19:36+01:00","alt":"bij de hand","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_brute_bloesem_grijs.jpg?v=1639397976","variant_ids":[40570407256250]},"available":true,"name":"Bij de Hand - O! de Toilette roomspray - Brute Bloesem","public_title":"O! de Toilette roomspray - Brute Bloesem","options":["O! de Toilette roomspray - Brute Bloesem"],"price":2995,"weight":350,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090912726727","featured_media":{"alt":"bij de hand","id":22100037140666,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_brute_bloesem_grijs.jpg?v=1639397976"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40570434912442,"title":"O! de Toilette roomspray - Groene Glorie","option1":"O! de Toilette roomspray - Groene Glorie","option2":null,"option3":null,"sku":"BUTT006
23435","requires_shipping":true,"taxable":true,"featured_image":{"id":29742421835962,"product_id":6759521976506,"position":9,"created_at":"2021-10-05T15:30:43+02:00","updated_at":"2021-12-13T13:19:34+01:00","alt":"bij de hand","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_groene_glorie_grijs.jpg?v=1639397974","variant_ids":[40570434912442]},"available":true,"name":"Bij de Hand - O! de Toilette roomspray - Groene Glorie","public_title":"O! de Toilette roomspray - Groene Glorie","options":["O! de Toilette roomspray - Groene Glorie"],"price":2995,"weight":350,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090905815827","featured_media":{"alt":"bij de hand","id":22100098318522,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_groene_glorie_grijs.jpg?v=1639397974"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40570296598714,"title":"Toiletpapier spray","option1":"Toiletpapier spray","option2":null,"option3":null,"sku":"BUTT0061","requires_shipping":true,"taxable":true,"featured_image":{"id":29741985530042,"product_id":6759521976506,"position":8,"created_at":"2021-10-05T14:49:51+02:00","updated_at":"2021-12-13T13:19:35+01:00","alt":"bij de hand","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_toiletpapier_spray_grijs.jpg?v=1639397975","variant_ids":[40570296598714]},"available":true,"name":"Bij de Hand - Toiletpapier spray","public_title":"Toiletpapier spray","options":["Toiletpapier spray"],"price":2195,"weight":350,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090904914965","featured_media":{"alt":"bij de hand","id":22099657425082,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_toiletpapier_spray_grijs.jpg?v=1639397975"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40570463125690,"title":"Hygiëne desinfectie spray","option1":"Hygiëne desinfectie spray","option2":null,"option3":null,"sku":"BUTT0066","requires_shipping":true,"taxable":true,"featured_image":{"id":29742448246970,"product_id":6759521976506,"position":11,"created_at":"2021-10-05T15:33:11+02:00","updated_at":"2021-12-13T13:19:33+01:00","alt":"bij de hand","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_desinfectie_grijs.jpg?v=1639397973","variant_ids":[40570463125690]},"available":false,"name":"Bij de Hand - Hygiëne desinfectie spray","public_title":"Hygiëne desinfectie spray","options":["Hygiëne desinfectie spray"],"price":2195,"weight":350,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090901314331","featured_media":{"alt":"bij de hand","id":22100125057210,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_desinfectie_grijs.jpg?v=1639397973"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40122087080122,"title":"Geen","option1":"Geen","option2":null,"option3":null,"sku":"BUTT0061","requires_shipping":true,"taxable":true,"featured_image":{"id":29741959938234,"product_id":6759521976506,"position":10,"created_at":"2021-10-05T14:46:54+02:00","updated_at":"2021-12-13T13:19:33+01:00","alt":"bij de hand","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_los_grijs.jpg?v=1639397973","variant_ids":[40122087080122]},"available":true,"name":"Bij de Hand - Geen","public_title":"Geen","options":["Geen"],"price":1495,"weight":250,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090910527500","featured_media":{"alt":"bij de hand","id":22099631866042,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_los_grijs.jpg?v=1639397973"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}], 2344 options: ["Voeg een spray naar keuze toe"], 2345 media: [{"alt":"bij de hand","id":22099983892666,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954","width":2048},{"alt":"bij de hand houder","id":22100374585530,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a.jpg?v=1639397957"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a.jpg?v=1639397957","width":2048},{"alt":"Bij de hand - Buttler.shop","id":21372066169018,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_10.jpg?v=1627025281"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_10.jpg?v=1627025281","width":2048},{"alt":"houder","id":22100382548154,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_03_d5e69e84-edb4-487b-83a7-e8466f84d382.jpg?v=1639397962"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_03_d5e69e84-edb4-487b-83a7-e8466f84d382.jpg?v=1639397962","width":2048},{"alt":"Bij de hand - Buttler.shop","id":21372066562234,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_11.jpg?v=1627025283"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_11.jpg?v=1627025283","width":2048},{"alt":"bij de hand","id":22100015579322,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_knisperend_katoen_grijs.jpg?v=1639397968"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_knisperend_katoen_grijs.jpg?v=1639397968","width":2048},{"alt":"bij de hand","id":22100037140666,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_brute_bloesem_grijs.jpg?v=1639397976"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_brute_bloesem_grijs.jpg?v=1639397976","width":2048},{"alt":"bij de hand","id":22099657425082,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_toiletpapier_spray_grijs.jpg?v=1639397975"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_toiletpapier_spray_grijs.jpg?v=1639397975","width":2048},{"alt":"bij de hand","id":22100098318522,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_groene_glorie_grijs.jpg?v=1639397974"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_groene_glorie_grijs.jpg?v=1639397974","width":2048},{"alt":"bij de hand","id":22099631866042,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_los_grijs.jpg?v=1639397973"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_los_grijs.jpg?v=1639397973","width":2048},{"alt":"bij de hand","id":22100125057210,"position":11,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_desinfectie_grijs.jpg?v=1639397973"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_desinfectie_grijs.jpg?v=1639397973","width":2048}], 2346 has_only_default_variant: false, 2347 options_with_values: [{"name":"Voeg een spray naar keuze toe","position":1,"values":["O! de Toilette roomspray - Noordse Nevel","O! de Toilette roomspray - Knisperend Katoen","O! de Toilette roomspray - Brute Bloesem","O! de Toilette roomspray - Groene Glorie","Toiletpapier spray","Hygiëne desinfectie spray","Geen"]}], 2348 selected_variant: null, 2349 selected_or_first_available_variant: {"id":40570351255738,"title":"O! de Toilette roomspray - Noordse Nevel","option1":"O! de Toilette roomspray - Noordse Nevel","option2":null,"option3":null,"sku":"BUTT0062","requires_shipping":true,"taxable":true,"featured_image":{"id":29742308360378,"product_id":6759521976506,"position":1,"created_at":"2021-10-05T15:21:59+02:00","updated_at":"2021-12-13T13:19:14+01:00","alt":"bij de hand","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954","variant_ids":[40570351255738]},"available":true,"name":"Bij de Hand - O! de Toilette roomspray - Noordse Nevel","public_title":"O! de Toilette roomspray - Noordse Nevel","options":["O! de Toilette roomspray - Noordse Nevel"],"price":2995,"weight":350,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090914912982","featured_media":{"alt":"bij de hand","id":22099983892666,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}, 2350 tags: ["Bij de hand","import_2021_07_23_070912"], 2351 template_suffix: "pf-a5cf68f8", 2352 featured_image: "\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954", 2353 featured_media: {"alt":"bij de hand","id":22099983892666,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954","width":2048}, 2354 images: ["\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_Noordse_nevel_grijs.jpg?v=1639397954","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Roomspray_Groene-glorie_Gallerij_05_2b49dca1-9859-4039-85f1-05d905d3c48a.jpg?v=1639397957","\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_10.jpg?v=1627025281","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_03_d5e69e84-edb4-487b-83a7-e8466f84d382.jpg?v=1639397962","\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_11.jpg?v=1627025283","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_knisperend_katoen_grijs.jpg?v=1639397968","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_brute_bloesem_grijs.jpg?v=1639397976","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_toiletpapier_spray_grijs.jpg?v=1639397975","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_groene_glorie_grijs.jpg?v=1639397974","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_los_grijs.jpg?v=1639397973","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Bij_de_hand_desinfectie_grijs.jpg?v=1639397973"], 2355 quantity: ["40570351255738:10","40570382647482:10","40570407256250:10","40570434912442:10","40570296598714:5","40570463125690:0","40122087080122:10"] 2356 2357 };</script>
2357</div><div class="pf-c"><div data-product-id="6759521845434" data-pf-type="ProductBox" class="sc-gJpXkD inBmZO pf-143_"><form method="post" action="/cart/add" id="product_form_6759521845434" accept-charset="UTF-8" class="pf-product-form" enctype="multipart/form-data" data-productid="6759521845434"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><div class="sc-hiKfDv dRsyqq pf-144_ pf-r pf-r-eh" style="--s-xs:15px;--s-lg:0px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-lg:12"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-145_"><div data-product-id="6759521845434" data-pf-type="ProductImage" class="sc-dksuTV zPuL pf-146_"><div style="--w-xs:0" class="sc-hYIrvc hKSglD pf-r-dg"><div data-href="/products/buttler-schone-start" data-pf-type="MasterImage" style="order:0" class="sc-iXquSf utzYL"><img src="//buttler.shop/cdn/shop/products/Buttler_schone_start_grijs_921ca8c5-a1f8-49c5-8c88-2b0a47ba8a0d_x300@2x.jpg?v=1639398334" alt="schone start" loading="eager" width="2048" height="2048"/><div data-pf-type="ProductImagePagination" class="sc-jhGUec eGyFMq pf-hide pf-sm-hide pf-md-hide pf-lg-hide"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div></div><div class="sc-bShgHC aBwtF pf-hide pf-sm-hide pf-md-hide pf-lg-hide"><div data-pf-type="ProductImageList" class="sc-juXuNZ KigMW pf-r-dg"> 2358 2359 2360 2361 2362 2363 2364 2365 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29742529380538" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_schone_start_grijs_921ca8c5-a1f8-49c5-8c88-2b0a47ba8a0d.jpg?v=1639398334" alt="schone start" draggable="false"/></div> 2366 2367 2368 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29585453252794" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_SchoneStart_Gallerij_02.jpg?v=1639398334" alt="desinfectie spray" draggable="false"/></div> 2369 2370 2371 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29585453285562" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_SchoneStart_Gallerij_01.jpg?v=1639398338" alt="schone start" draggable="false"/></div> 2372 2373 2374 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29028943626426" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/201125_Buttler_Bij-de-hand_Sfeer_08_2fc621e4-6d2f-4812-9e35-8e58eeae8406.jpg?v=1627025286" alt="Buttler schone start - Buttler.shop" draggable="false"/></div> 2375 2376 2377 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29028944019642" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/201125_Buttler_Bij-de-hand_Sfeer_07_989c149f-0a8f-4ad5-bc94-ddb171d17989.jpg?v=1627025288" alt="Buttler schone start - Buttler.shop" draggable="false"/></div> 2378 2379 2380 <div class="sc-ecQkzk vPeNx pf-147_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29028944707770" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/201125_Buttler_Bij-de-hand_Sfeer_06_78037946-0fda-43f3-8bc3-ef64729c8f10.jpg?v=1627025291" alt="vieze toiletbril" draggable="false"/></div> 2381 2382 2383 <div class="sc-ecQkzk vPeNx pf-147_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29028945035450" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/201125_Buttler_Bij-de-hand_Sfeer_05_16fac2aa-add0-4f35-a2c0-ad77a66629aa.jpg?v=1627025293" alt="Buttler schone start - Buttler.shop" draggable="false"/></div> 2384 2385 2386 <div class="sc-ecQkzk vPeNx pf-147_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29585453220026" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_SchoneStart_Gallerij_03.jpg?v=1639398342" alt="bij de hand" draggable="false"/></div> 2387 2388 2389 <div class="sc-ecQkzk vPeNx pf-147_ pf-lg-hide pf-md-hide pf-sm-hide pf-hide" data-img-id="29028946346170" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Hygie_CC_88ne-designfectie-spray-navulzak_02.jpg?v=1627025298" alt="Buttler schone start - Buttler.shop" draggable="false"/></div></div><div data-pf-nav="prev" class="sc-hkoqWr jwZvNA"><i class="pfa pfa-angle-left"></i></div><div data-pf-nav="next" class="sc-hkoqWr jwZvNA"><i class="pfa pfa-angle-right"></i></div></div></div></div><h4 data-product-type="title" data-product-id="6759521845434" data-href="/products/buttler-schone-start" data-pf-type="ProductTitle" class="sc-cGKJhA fTwFWY pf-149_">Buttler schone start</h4><div data-product-type="price" data-product-id="6759521845434" data-product-price="true" data-pf-type="ProductPrice" class="sc-bUQyIj exIfBg pf-150_">â¬21,80</div></div></div></div><input type="hidden" name="product-id" value="6759521845434" /></form></div>
2389<script> 2390 window.__pageflyProducts = window.__pageflyProducts || {}; 2391 window.__pageflyProducts["6759521845434"] = { 2392 id: 6759521845434, 2393 handle: "buttler-schone-start", 2394 title: "Buttler schone start", 2395 type: "", 2396 url: "\/products\/buttler-schone-start", 2397 vendor: "Buttler.shop", 2398 variants: [{"id":40122086949050,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"BUTT0018","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Buttler schone start","public_title":null,"options":["Default Title"],"price":2180,"weight":400,"compare_at_price":null,"inventory_management":"shopify","barcode":"6013716174105","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}], 2399 options: ["Title"], 2400 media: [{"alt":"schone start","id":22100206518458,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_schone_start_grijs_921ca8c5-a1f8-49c5-8c88-2b0a47ba8a0d.jpg?v=1639398334"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_schone_start_grijs_921ca8c5-a1f8-49c5-8c88-2b0a47ba8a0d.jpg?v=1639398334","width":2048},{"alt":"desinfectie spray","id":21940883357882,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_02.jpg?v=1639398334"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_02.jpg?v=1639398334","width":2048},{"alt":"schone start","id":21940883292346,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_01.jpg?v=1639398338"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_01.jpg?v=1639398338","width":2048},{"alt":"Buttler schone start - Buttler.shop","id":21372067086522,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_08_2fc621e4-6d2f-4812-9e35-8e58eeae8406.jpg?v=1627025286"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_08_2fc621e4-6d2f-4812-9e35-8e58eeae8406.jpg?v=1627025286","width":2048},{"alt":"Buttler schone start - Buttler.shop","id":21372067479738,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_07_989c149f-0a8f-4ad5-bc94-ddb171d17989.jpg?v=1627025288"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_07_989c149f-0a8f-4ad5-bc94-ddb171d17989.jpg?v=1627025288","width":2048},{"alt":"vieze toiletbril","id":21372068200634,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_06_78037946-0fda-43f3-8bc3-ef64729c8f10.jpg?v=1627025291"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_06_78037946-0fda-43f3-8bc3-ef64729c8f10.jpg?v=1627025291","width":2048},{"alt":"Buttler schone start - Buttler.shop","id":21372068495546,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_05_16fac2aa-add0-4f35-a2c0-ad77a66629aa.jpg?v=1627025293"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_05_16fac2aa-add0-4f35-a2c0-ad77a66629aa.jpg?v=1627025293","width":2048},{"alt":"bij de hand","id":21940883456186,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_03.jpg?v=1639398342"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_03.jpg?v=1639398342","width":2048},{"alt":"Buttler schone start - Buttler.shop","id":21372069839034,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Hygie_CC_88ne-designfectie-spray-navulzak_02.jpg?v=1627025298"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Hygie_CC_88ne-designfectie-spray-navulzak_02.jpg?v=1627025298","width":2048}], 2401 has_only_default_variant: true, 2402 options_with_values: [{"name":"Title","position":1,"values":["Default Title"]}], 2403 selected_variant: null, 2404 selected_or_first_available_variant: {"id":40122086949050,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"BUTT0018","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Buttler schone start","public_title":null,"options":["Default Title"],"price":2180,"weight":400,"compare_at_price":null,"inventory_management":"shopify","barcode":"6013716174105","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}, 2405 tags: ["Hygiëne desinfectie spray","import_2021_07_23_070912"], 2406 template_suffix: "pf-2a4b5df4", 2407 featured_image: "\/\/buttler.shop\/cdn\/shop\/products\/Buttler_schone_start_grijs_921ca8c5-a1f8-49c5-8c88-2b0a47ba8a0d.jpg?v=1639398334", 2408 featured_media: {"alt":"schone start","id":22100206518458,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_schone_start_grijs_921ca8c5-a1f8-49c5-8c88-2b0a47ba8a0d.jpg?v=1639398334"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_schone_start_grijs_921ca8c5-a1f8-49c5-8c88-2b0a47ba8a0d.jpg?v=1639398334","width":2048}, 2409 images: ["\/\/buttler.shop\/cdn\/shop\/products\/Buttler_schone_start_grijs_921ca8c5-a1f8-49c5-8c88-2b0a47ba8a0d.jpg?v=1639398334","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_02.jpg?v=1639398334","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_01.jpg?v=1639398338","\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_08_2fc621e4-6d2f-4812-9e35-8e58eeae8406.jpg?v=1627025286","\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_07_989c149f-0a8f-4ad5-bc94-ddb171d17989.jpg?v=1627025288","\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_06_78037946-0fda-43f3-8bc3-ef64729c8f10.jpg?v=1627025291","\/\/buttler.shop\/cdn\/shop\/products\/201125_Buttler_Bij-de-hand_Sfeer_05_16fac2aa-add0-4f35-a2c0-ad77a66629aa.jpg?v=1627025293","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_SchoneStart_Gallerij_03.jpg?v=1639398342","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Hygie_CC_88ne-designfectie-spray-navulzak_02.jpg?v=1627025298"], 2410 quantity: ["40122086949050:0"] 2411 2412 };</script>
2412</div><div class="pf-c"><div data-product-id="6759521386682" data-pf-type="ProductBox" class="sc-gJpXkD inBmZO pf-143_"><form method="post" action="/cart/add" id="product_form_6759521386682" accept-charset="UTF-8" class="pf-product-form" enctype="multipart/form-data" data-productid="6759521386682"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><div class="sc-hiKfDv dRsyqq pf-144_ pf-r pf-r-eh" style="--s-xs:15px;--s-lg:0px" data-pf-type="Row"><div class="pf-c" style="--c-xs:12;--c-lg:12"><div data-pf-type="Column" class="sc-TtZnY gnBPmJ pf-145_"><div data-product-id="6759521386682" data-pf-type="ProductImage" class="sc-dksuTV zPuL pf-146_"><div style="--w-xs:0" class="sc-hYIrvc hKSglD pf-r-dg"><div data-href="/products/toiletpapier" data-pf-type="MasterImage" style="order:0" class="sc-iXquSf utzYL"><img src="//buttler.shop/cdn/shop/products/Buttler_Toiletpapier_doos_grijs_ba61f76a-5c50-4485-a26d-daea66a1af45_x300@2x.jpg?v=1639398497" alt="het duurzaamste toiletpapier" loading="eager" width="2048" height="2048"/><div data-pf-type="ProductImagePagination" class="sc-jhGUec eGyFMq pf-hide pf-sm-hide pf-md-hide pf-lg-hide"><span></span><span></span><span></span><span></span><span></span></div></div><div class="sc-bShgHC aBwtF pf-hide pf-sm-hide pf-md-hide pf-lg-hide"><div data-pf-type="ProductImageList" class="sc-juXuNZ KigMW pf-r-dg"> 2413 2414 2415 2416 2417 2418 2419 2420 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29742975484090" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Toiletpapier_doos_grijs_ba61f76a-5c50-4485-a26d-daea66a1af45.jpg?v=1639398497" alt="het duurzaamste toiletpapier" draggable="false"/></div> 2421 2422 2423 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29585528160442" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Toiletpapier_Gallerij_01.jpg?v=1639398502" alt="duurzaam toiletpapier" draggable="false"/></div> 2424 2425 2426 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29028941234362" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/200513_Buttler-producten_Toiletpapier_02_51a2939c-4e48-45fe-8234-8db8ebe1447f.jpg?v=1627025273" alt="Iemand die de toiletpapier spray uit de Wasstraat haalt." draggable="false"/></div> 2427 2428 2429 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29585528389818" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/Buttler_Toiletpapier_Gallerij_02.jpg?v=1639398507" alt="toiletpapier duurzaam" draggable="false"/></div> 2430 2431 2432 <div class="sc-ecQkzk vPeNx pf-147_ " data-img-id="29028941496506" data-pf-type="ImageItem"><img loading="eager" src="//buttler.shop/cdn/shop/products/200513_Buttler-producten_Toiletpapier_01.jpg?v=1627025276" alt="vies_toilet_voorkomen" draggable="false"/></div></div><div data-pf-nav="prev" class="sc-hkoqWr jwZvNA"><i class="pfa pfa-angle-left"></i></div><div data-pf-nav="next" class="sc-hkoqWr jwZvNA"><i class="pfa pfa-angle-right"></i></div></div></div></div><h4 data-product-type="title" data-product-id="6759521386682" data-href="/products/toiletpapier" data-pf-type="ProductTitle" class="sc-cGKJhA fTwFWY pf-149_">Het duurzaamste toiletpapier</h4><div data-product-type="price" data-product-id="6759521386682" data-product-price="true" data-pf-type="ProductPrice" class="sc-bUQyIj exIfBg pf-150_">â¬24,95</div></div></div></div><input type="hidden" name="product-id" value="6759521386682" /></form></div>
2432<script> 2433 window.__pageflyProducts = window.__pageflyProducts || {}; 2434 window.__pageflyProducts["6759521386682"] = { 2435 id: 6759521386682, 2436 handle: "toiletpapier", 2437 title: "Het duurzaamste toiletpapier", 2438 type: "", 2439 url: "\/products\/toiletpapier", 2440 vendor: "Buttler.shop", 2441 variants: [{"id":40122086097082,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"20200207","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Het duurzaamste toiletpapier","public_title":null,"options":["Default Title"],"price":2495,"weight":1000,"compare_at_price":null,"inventory_management":"shopify","barcode":"7422236281207","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}], 2442 options: ["Title"], 2443 media: [{"alt":"het duurzaamste toiletpapier","id":22100655440058,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_doos_grijs_ba61f76a-5c50-4485-a26d-daea66a1af45.jpg?v=1639398497"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_doos_grijs_ba61f76a-5c50-4485-a26d-daea66a1af45.jpg?v=1639398497","width":2048},{"alt":"duurzaam toiletpapier","id":21940959281338,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_Gallerij_01.jpg?v=1639398502"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_Gallerij_01.jpg?v=1639398502","width":2048},{"alt":"Iemand die de toiletpapier spray uit de Wasstraat haalt.","id":21372064661690,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/200513_Buttler-producten_Toiletpapier_02_51a2939c-4e48-45fe-8234-8db8ebe1447f.jpg?v=1627025273"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/200513_Buttler-producten_Toiletpapier_02_51a2939c-4e48-45fe-8234-8db8ebe1447f.jpg?v=1627025273","width":2048},{"alt":"toiletpapier duurzaam","id":21940959314106,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_Gallerij_02.jpg?v=1639398507"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_Gallerij_02.jpg?v=1639398507","width":2048},{"alt":"vies_toilet_voorkomen","id":21372064923834,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/200513_Buttler-producten_Toiletpapier_01.jpg?v=1627025276"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/200513_Buttler-producten_Toiletpapier_01.jpg?v=1627025276","width":2048}], 2444 has_only_default_variant: true, 2445 options_with_values: [{"name":"Title","position":1,"values":["Default Title"]}], 2446 selected_variant: null, 2447 selected_or_first_available_variant: {"id":40122086097082,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"20200207","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Het duurzaamste toiletpapier","public_title":null,"options":["Default Title"],"price":2495,"weight":1000,"compare_at_price":null,"inventory_management":"shopify","barcode":"7422236281207","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}, 2448 tags: ["import_2021_07_23_070912","Toiletpapier","validate-product-description"], 2449 template_suffix: "pf-f853d3d5", 2450 featured_image: "\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_doos_grijs_ba61f76a-5c50-4485-a26d-daea66a1af45.jpg?v=1639398497", 2451 featured_media: {"alt":"het duurzaamste toiletpapier","id":22100655440058,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_doos_grijs_ba61f76a-5c50-4485-a26d-daea66a1af45.jpg?v=1639398497"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_doos_grijs_ba61f76a-5c50-4485-a26d-daea66a1af45.jpg?v=1639398497","width":2048}, 2452 images: ["\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_doos_grijs_ba61f76a-5c50-4485-a26d-daea66a1af45.jpg?v=1639398497","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_Gallerij_01.jpg?v=1639398502","\/\/buttler.shop\/cdn\/shop\/products\/200513_Buttler-producten_Toiletpapier_02_51a2939c-4e48-45fe-8234-8db8ebe1447f.jpg?v=1627025273","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Toiletpapier_Gallerij_02.jpg?v=1639398507","\/\/buttler.shop\/cdn\/shop\/products\/200513_Buttler-producten_Toiletpapier_01.jpg?v=1627025276"], 2453 quantity: ["40122086097082:0"] 2454 2455 };</script>
2455</div></div></div></div></div></div></div></div></div></div>
2455<script>window.__pagefly_setting__={"baseURL":"https://apps.pagefly.io","analyticsURL":"https://analytics.pagefly.io","isBackend":false,"cdnURL":"https://cdn.pagefly.io","pageflyVersion":"3.12.1","shopDomain":"buttler-shop.myshopify.com","elementData":{"pf-10_":{"listPosition":2,"limit":{"all":4,"laptop":5,"tablet":5,"mobile":5},"spacing":{"all":"10px","laptop":"10px","tablet":"10px","mobile":"10px"},"listLayout":1,"hoverAction":1,"onHover":0,"clickAction":2,"imageSource":"featured","id":"4284f545-77f8-4582-9c1a-c290c2ed9a6f","_type":"ProductImage"},"pf-12_":{"applyCondition":false,"collectionSource":"all","collectionIds":[],"tags":"","id":"d64284f5-4577-4865-825c-1ac290c2ed9a","_type":"ProductBadge"},"pf-146_":{"listPosition":2,"limit":{"all":5,"laptop":5,"tablet":5,"mobile":5},"spacing":{"all":"10px","laptop":"10px","tablet":"10px","mobile":"10px"},"listLayout":1,"hoverAction":2,"onHover":0,"clickAction":1,"imageSource":"featured","id":"b4eb31b4-5c6d-4f19-a69a-f4f028850bd3","_type":"ProductImage"},"pf-148_":{"applyCondition":false,"collectionSource":"all","collectionIds":[],"tags":"","id":"97b4eb31-b45c-4ddf-9926-9af4f028850b","_type":"ProductBadge"}},"pageTitle":"Wasstraat productpagina","pageType":"product","pageId":"cb767062-d642-44f5-8577-f865825c1ac2","lazyLoad":false,"forceByPassGoogleLightHouse":false,"imageLazyLoad":false,"nativeImageLazyLoad":true,"useThemeJQ":false,"selectedFonts":{"Poppins":{"400":0,"600":0,"700":0,"800":0},"Open Sans":{"400":0}},"trackingIDs":[{"elementIndex":51,"elementId":"63cf42f7-c284-49ea-aa93-d1d83e3e561b","elementType":"ProductATC","elementName":"ProductATC"},{"elementIndex":146,"elementId":"b4eb31b4-5c6d-4f19-a69a-f4f028850bd3","elementType":"ProductImage","elementName":"ProductImage"},{"elementIndex":149,"elementId":"eb31b45c-6ddf-4926-9af4-f028850bd3b3","elementType":"ProductTitle","elementName":"ProductTitle"}],"shopifyProxyPath":"/a/pf_preview"};window.__pagefly_setting__.moneyFormat="â¬{{amount_with_comma_separator}}";</script>
2455<script src="https://cdn.pagefly.io/pagefly/3.12.1/core/helper.js" async></script>
2455 2456<limespot></limespot> 2457 </main> 2458 2459 <div id="shopify-section-footer" class="shopify-section"><footer class="site-footer-wrapper" 2460 role="contentinfo" 2461 data-section-id="footer" 2462 data-section-type="footer"> 2463 2464 <div class="wrapper site-footer"> 2465 <div class="grid grid--uniform"> 2466 2467 2468 2469 2470 2471 <div class="grid__item medium-up--one-quarter footer__block" > 2472 <p class="uppercase footer__title">Contact</p> 2473 <hr class="hr--underline"> 2474 <div class="rte rte--column"><p>E-mail<br/><a href="mailto:[email protected]" target="_blank" title="mailto:[email protected]">[email protected]<br/></a></p></div> 2475 </div> 2476 2477 2478 2479 2480 2481 <div class="grid__item medium-up--one-quarter footer__block" > 2482 <p class="uppercase footer__title">Hoofdmenu</p> 2483 <hr class="hr--underline"> 2484 <ul class="footer-quicklinks"> 2485 2486 <li><a href="/pages/shop">Shop</a></li> 2487 2488 <li><a href="/blogs/nieuws">Nieuws</a></li> 2489 2490 <li><a href="/pages/contact">Contact</a></li> 2491 2492 </ul> 2493 </div> 2494 2495 2496 2497 2498 2499 <div class="grid__item medium-up--one-quarter footer__block" > 2500 <p class="uppercase footer__title">Service</p> 2501 <hr class="hr--underline"> 2502 <ul class="footer-quicklinks"> 2503 2504 <li><a href="https://buttler.shop/pages/toilet-inspiratieboek">Toilet inspiratieboek</a></li> 2505 2506 <li><a href="/pages/verzenden-retourneren">Verzenden en retouneren</a></li> 2507 2508 <li><a href="/pages/algemene-voorwaarden">Algemene voorwaarden</a></li> 2509 2510 <li><a href="/pages/privacy-en-cookies">Privacy en cookies</a></li> 2511 2512 <li><a href="/pages/faq">Veelgestelde vragen</a></li> 2513 2514 <li><a href="https://buttler.shop/pages/b2b-brochure">B2B</a></li> 2515 2516 </ul> 2517 </div> 2518 2519 2520 2521 2522 <div class="grid__item medium-up--one-quarter footer__block" > 2523 <p class="uppercase footer__title">Nieuwsbrief</p> 2524 <hr class="hr--underline"> 2525 <div class="rte rte--column"> 2526 <p>Mis niks van de laatste nieuwtjes en producten van Buttler en meld je aan voor de nieuwsbrief.</p> 2527 </div> 2528 <!-- /snippets/newsletter-form.liquid --> 2529 2530<form method="post" action="/contact#footer-newsletter" id="footer-newsletter" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 2531 2532 2533 <input type="hidden" name="contact[tags]" value="newsletter"> 2534 <input type="hidden" name="contact[accepts_marketing]" value="true"> 2535 <div class="input-group input-group--inner-button float__wrapper"> 2536 <label for="email">Email</label> 2537 <input class="input-group-field" 2538 type="email" 2539 placeholder="[email protected]" 2540 id="mail-footer-newsletter" 2541 aria-label="[email protected]" 2542 autocorrect="off" 2543 autocapitalize="off" 2544 name="contact[email]" /> 2545 <span class="input-group-button"> 2546 <button type="submit" class="btn btn--secondary uppercase" name="subscribe" id="subscribe-footer-newsletter"> 2547 Inschrijven 2548 </button> 2549 </span> 2550 </div> 2551 </form> 2552 2553 </div> 2554 2555 2556 2557 </div> 2558 2559 <div class="grid footer-secondary-wrapper"> 2560 2561 <div class="footer-selects"><form method="post" action="/localization" id="localization_form" accept-charset="UTF-8" class="popout--footer" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/products/zwarte-toiletrolhouder" /></form></div> 2562 2563 2564 <ul class="footer-secondary inline-list"> 2565 <li>© <a href="/" title="">Buttler.shop</a> 2026</li> 2566 2567 <!-- Remove the following line to remove 'Powered by Shopify' from your footer --> 2568 <li data-powered-link>Ontwerp & realisatie: <a href="https://nultothonderd.nl/">nul tot honderd</a></li> 2569 <!-- Do not delete below this line --> 2570 </ul> 2571 2572 2573 <ul class="footer-social social-icons grid__item inline-list"> 2574<li> 2575 <a href="https://www.facebook.com/buttler.shop/" title="Facebook"> 2576 2577<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewB
2577ox="0 0 20 20"><path fill="#444" d="M18.05.811q.439 0 .744.305t.305.744v16.637q0 .439-.305.744t-.744.305h-4.732v-7.221h2.415l.342-2.854h-2.757v-1.83q0-.659.293-1t1.073-.342h1.488V3.762q-.976-.098-2.171-.098-1.634 0-2.635.964t-1 2.72V9.47H7.951v2.854h2.415v7.221H1.413q-.439 0-.744-.305t-.305-.744V1.859q0-.439.305-.744T1.413.81H18.05z"/></svg> 2578 <span class="visually-hidden">Facebook</span> 2579 </a> 2580 </li> 2581 2582<li> 2583 <a href="https://tiktok.com/@buttler.shop" title="Tiktok"> 2584 2585<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok" viewBox="0 0 19 19"><path d="M12.917 1c.289 2.412 1.674 3.85 4.083 4.004v2.713c-1.396.133-2.619-.311-4.04-1.148v5.075c0 6.447-7.232 8.461-10.14 3.84-1.867-2.973-.723-8.19 5.27-8.4v2.862a8.879 8.879 0 00-1.391.331c-1.333.439-2.089 1.26-1.879 2.708.404 2.775 5.641 3.596 5.206-1.825V1.005h2.891V1z" fill="#000" fill-rule="evenodd"/></svg> 2586 <span class="visually-hidden">Tiktok</span> 2587 </a> 2588 </li> 2589<li> 2590 <a href="https://nl.pinterest.com/buttlertoilet/" title="Pinterest"> 2591 2592<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-pinterest" viewBox="0 0 20 20"><path fill="#444" d="M9.958.811q1.903 0 3.635.744t2.988 2 2 2.988.744 3.635q0 2.537-1.256 4.696t-3.415 3.415-4.696 1.256q-1.39 0-2.659-.366.707-1.147.951-2.025l.659-2.561q.244.463.903.817t1.39.354q1.464 0 2.622-.842t1.793-2.305.634-3.293q0-2.171-1.671-3.769t-4.257-1.598q-1.586 0-2.903.537T5.298 5.897 4.066 7.775t-.427 2.037q0 1.268.476 2.22t1.427 1.342q.171.073.293.012t.171-.232q.171-.61.195-.756.098-.268-.122-.512-.634-.707-.634-1.83 0-1.854 1.281-3.183t3.354-1.329q1.83 0 2.854 1t1.025 2.61q0 1.342-.366 2.476t-1.049 1.817-1.561.683q-.732 0-1.195-.537t-.293-1.269q.098-.342.256-.878t.268-.915.207-.817.098-.732q0-.61-.317-1t-.927-.39q-.756 0-1.269.695t-.512 1.744q0 .39.061.756t.134.537l.073.171q-1 4.342-1.22 5.098-.195.927-.146 2.171-2.513-1.122-4.062-3.44T.59 10.177q0-3.879 2.744-6.623T9.957.81z"/></svg> 2593 <span class="visually-hidden">Pinterest</span> 2594 </a> 2595 </li> 2596<li> 2597 <a href="https://www.instagram.com/buttler.shop/?hl=nl" title="Instagram"> 2598 2599<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 20 20"><path d="M10.034 1.763h2.644c.407 0 .881 0 1.424.068.474 0 .881.067 1.152.135.271.068.543.136.678.203.271.068.475.204.61.34.136.135.34.27.543.406.203.204.339.34.407.543.067.203.203.406.339.61.067.203.135.407.203.678.068.27.135.678.135 1.152 0 .543.068 1.017.068 1.424v5.288c0 .407 0 .882-.068 1.424 0 .474-.067.881-.135 1.152-.068.272-.136.543-.203.678a1.31 1.31 0 01-.34.61c-.135.204-.27.34-.406.543-.204.203-.34.339-.543.407a2.38 2.38 0 01-.61.27 7.737 7.737 0 01-.678.204 4.868 4.868 0 01-1.152.136c-.543 0-1.017.068-1.424.068H7.39c-.407 0-.882 0-1.424-.068-.474 0-.881-.068-1.152-.136-.272-.067-.543-.135-.678-.203-.272-.068-.475-.203-.61-.271-.204-.136-.34-.271-.543-.407-.203-.203-.339-.339-.407-.542-.135-.204-.203-.407-.339-.61a8.558 8.558 0 01-.203-.679 4.868 4.868 0 01-.136-1.152c0-.542-.067-1.017-.067-1.424V7.322c0-.407 0-.881.067-1.424
25990-.474.068-.881.136-1.152.068-.271.135-.543.203-.678.068-.204.204-.407.34-.61.135-.204.27-.34.406-.543.203-.203.339-.339.542-.407.204-.135.407-.203.61-.339.204-.067.407-.135.679-.203a4.868 4.868 0 011.152-.135c.542 0 1.017-.068 1.424-.068h2.644zm0-1.763H7.322c-.407 0-.881 0-1.424.068-.542 0-1.017.068-1.356.135-.406.068-.745.204-1.084.34-.34.135-.61.27-.95.474-.27.203-.542.407-.813.678-.271.271-.542.542-.678.881-.136.34-.339.543-.475.882-.135.339-.27.678-.339 1.084a6.993 6.993 0 00-.135 1.356C0 6.441 0 6.915 0 7.322v5.356c0 .407 0 .881.068 1.424 0 .542.068 1.017.135 1.356.068.406.204.745.34 1.084.135.34.27.61.474.95.203.27.407.542.678.813.271.271.542.475.813.678.272.203.61.339.95.475.339.135.678.203 1.084.339.407.067.814.135 1.356.135.543 0 1.017.068 1.424.068h5.424c.407 0 .881 0 1.423-.068.543 0 1.017-.068 1.356-.135.407-.068.746-.204 1.085-.34.34-.135.61-.27.95-.474.27-.203.542-.407.88-.678.272-.271.475-.542.679-.881.203-.271.339-.61.474-.882.136-.339.204-.678.271-1.084.068-.407.136-.814.136-1.424 0-.542.068-1.017.068-1.424V7.254c0-.407 0-.881-.068-1.423 0-.543-.068-1.017-.136-1.424-.067-.407-.203-.746-.27-1.085a6.199 6.199 0 00-.475-.95c-.204-.338-.407-.541-.678-.813a4.353 4.353 0 00-.882-.678c-.27-.203-.61-.339-.949-.474-.339-.136-.678-.271-1.085-.34-.406-.067-.813-.135-1.356-.135h-1.423C12.27 0 11.39 0 10.034 0zm0 4.881c-.746 0-1.356.136-2.034.407-.61.271-1.153.61-1.627 1.085C5.898 6.847 5.559 7.39 5.288 8a4.863 4.863 0 00-.407 1.966c0 .746.136 1.356.407 2.034.271.61.61 1.153 1.085 1.627.474.475 1.017.814 1.627 1.085.61.271 1.288.407 2.034.407.746 0 1.356-.136 2.034-.407a4.57 4.57 0 001.627-1.085c.474-.474.813-1.017 1.085-1.627.27-.61.406-1.288.406-2.034 0-.678-.135-1.356-.406-1.966-.272-.61-.61-1.153-1.085-1.627-.475-.475-1.017-.814-1.627-1.085-.61-.271-1.356-.407-2.034-.407zm0 8.475c-.95 0-1.695-.34-2.373-.95-.678-.677-.95-1.423-.95-2.372 0-.881.34-1.695.95-2.373.61-.678 1.424-1.017 2.373-1.017.949 0 1.695.339 2.373 1.017.678.678.949 1.424.949 2.373 0 .949-.34 1.695-.95 2.373-.677.61-1.49.949-2.372.949zm6.508-8.678c0-.339-.135-.61-.339-.814a1.25 1.25 0 00-.813-.339c-.34 0-.61.136-.814.34a1.25 1.25 0 00-.339.813c0 .271.136.61.34.881.203.272.542.34.813.34.339 0 .61-.136.813-.34.204-.27.34-.61.34-.881z"/></svg> 2600 <span class="visually-hidden">Instagram</span> 2601 </a> 2602 </li> 2603 2604 2605<li> 2606 <a href="https://www.linkedin.com/company/buttler-shop/" title="Linkedin"> 2607 2608<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-linkedin" viewBox="0 0 24 24"><path d="M19 0H5a5 5 0 00-5 5v14a5 5 0 005 5h14a5 5 0 005-5V5a5 5 0 00-5-5zM8 19H5V8h3v11zM6.5 6.732c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zM20 19h-3v-5.604c0-3.368-4-3.113-4 0V19h-3V8h3v1.765c1.396-2.586 7-2.777 7 2.476V19z"/></svg> 2609 <span class="visually-hidden">Linkedin</span> 2610 </a> 2611 </li> 2612<li> 2613 <a href="https://www.youtube.com/channel/UCRZZV0wRoRqqufuULZbLUJQ" title="YouTube"> 2614 2615<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-youtube" viewBox="0 0 21 20"><path fill="#444" d="M-.196 15.803q0 1.23.812 2.092t1.977.861h14.946q1.165 0 1.977-.861t.812-2.092V3.909q0-1.23-.82-2.116T17.539.907H2.593q-1.148 0-1.969.886t-.82 2.116v11.894zm7.465-2.149V6.058q0-.115.066-.18.049-.016.082-.016l.082.016 7.153 3.806q.066.066.066.164 0 .066-.066.131l-7.153 3.806q-.033.033-.066.033-.066 0-.098-.033-.066-.066-.066-.131z"/></svg> 2616 <span class="visually-hidden">YouTube</span> 2617 </a> 2618 </li> 2619 2620</ul> 2621 2622 2623 2624 2625 <ul class="footer-payment payment-icons inline-list"> 2626 2627 <li> 2628 <svg class="payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-american_express"><title id="pi-american_express">American Express</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#0071CE" style="fill:#0071CE;fill:color(display-p3 0.0000 0.4431 0.8078);fill-opacity:1;"/>
2628<path d="M3 0.5H35C36.3348 0.5 37.5 1.58692 37.5 3V21C37.5 22.4239 36.4239 23.5 35 23.5H3C1.66524 23.5 0.5 22.4131 0.5 21V3C0.5 1.57614 1.57614 0.5 3 0.5Z" stroke="black" stroke-opacity="0.07" style="stroke:black;stroke-opacity:0.07;"/><path d="M25.8662 6.33203V3H31L31.8662 5.5332L32.7334 3H37V14.2002H36.7998L34.8672 16.2656L36.7998 18.3594H37V21.2666H33.5996L31.9336 19.3994L30.2002 21.2666H19.4668V12.666H16L20.2666 3H24.4004L25.8662 6.33203ZM20.5996 20.2656H27V18.5322H22.666V17.3994H26.8662V15.666H22.666V14.5322H27V12.7988H20.5996V20.2656ZM30.5332 16.5322L27 20.2656H29.5996L31.8662 17.8662L34.0664 20.2656H36.7324L33.1992 16.4658L36.7324 12.7988H34.1328L31.8662 15.1992L29.7324 12.7988H27L30.5332 16.5322ZM17.666 11.7324H19.9326L20.5332 10.1992H23.999L24.666 11.7324H26.999L23.666 4.19922H20.999L17.666 11.7324ZM33.5996 4.19922L31.9326 8.86621L30.1992 4.19922H27V11.666H29.0664V6.39941L31 11.666H32.7998L34.7324 6.39941V11.666H36.7324V4.13281L33.5996 4.19922ZM23.2656 8.46582H21.2656L22.2656 5.99902L23.2656 8.46582Z" fill="white" style="fill:white;fill-opacity:1;"/></svg> 2629 2630 <span class="visually-hidden">American express</span> 2631 </li> 2632 2633 <li> 2634 <svg class="payment-icon" version="1.1" xmlns="http://www.w3.org/2000/svg" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z" /><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875" /><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858" /><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048" /></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z" />
2634<path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z" /><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z" /></g></g></svg> 2635 2636 <span class="visually-hidden">Apple pay</span> 2637 </li> 2638 2639 <li> 2640 <svg class="payment-icon" xmlns="http://www.w3.org/2000/svg" aria-labelledby="pi-bancontact" role="img" viewBox="0 0 38 24" width="38" height="24"><title id="pi-bancontact">Bancontact</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M4.703 3.077h28.594c.139 0 .276.023.405.068.128.045.244.11.343.194a.9.9 0 0 1 .229.29c.053.107.08.223.08.34V20.03a.829.829 0 0 1-.31.631 1.164 1.164 0 0 1-.747.262H4.703a1.23 1.23 0 0 1-.405-.068 1.09 1.09 0 0 1-.343-.194.9.9 0 0 1-.229-.29.773.773 0 0 1-.08-.34V3.97c0-.118.027-.234.08-.342a.899.899 0 0 1 .23-.29c.098-.082.214-.148.342-.193a1.23 1.23 0 0 1 .405-.068Z" fill="#fff"/><path d="M6.38 18.562v-3.077h1.125c.818 0 1.344.259 1.344.795 0 .304-.167.515-.401.638.338.132.536.387.536.734 0 .62-.536.91-1.37.91H6.38Zm.724-1.798h.537c.328 0 .468-.136.468-.387 0-.268-.255-.356-.599-.356h-.406v.743Zm0 1.262h.448c.438 0 .693-.093.693-.383 0-.286-.219-.404-.63-.404h-.51v.787Zm3.284.589c-.713 0-1.073-.295-1.073-.69 0-.436.422-.69 1.047-.695.156.002.31.014.464.035v-.105c0-.269-.183-.396-.531-.396a2.128 2.128 0 0 0-.688.105l-.13-.474a3.01 3.01 0 0 1 .9-.132c.767 0 1.147.343 1.147.936v1.222c-.214.093-.615.194-1.136.194Zm.438-.497v-.47a2.06 2.06 0 0 0-.37-.036c-.24 0-.427.08-.427.286 0 .185.156.281.432.281a.947.947 0 0 0 .365-.061Zm1.204.444v-2.106a3.699 3.699 0 0 1 1.177-.193c.76 0 1.198.316 1.198.9v1.399h-.719v-1.354c0-.303-.167-.444-.484-.444a1.267 1.267 0 0 0-.459.079v1.719h-.713Zm4.886-2.167-.135.479a1.834 1.834 0 0 0-.588-.11c-.422 0-.652.25-.652.664 0 .453.24.685.688.685.2-.004.397-.043.578-.114l.115.488a2.035 2.035 0 0 1-.75.128c-.865 0-1.365-.453-1.365-1.17 0-.712.495-1.182 1.323-1.182.27-.001.538.043.787.132Zm1.553 2.22c-.802 0-1.302-.47-1.302-1.178 0-.704.5-1.174 1.302-1.174.807 0 1.297.47 1.297 1.173 0 .708-.49 1.179-1.297 1.179Zm0-.502c.37 0 .563-.259.563-.677 0-.413-.193-.672-.563-.672-.364 0-.568.26-.568.672 0 .418.204.677.568.677Zm1.713.449v-2.106a3.699 3.699 0 0 1 1.177-.193c.76 0 1.198.316 1.198.9v1.399h-.719v-1.354c0-.303-.166-.444-.484-.444a1.268 1.268 0 0 0-.459.079v1.719h-.713Zm3.996.053c-.62 0-.938-.286-.938-.866v-.95h-.354v-.484h.355v-.488l.718-.03v.518h.578v.484h-.578v.94c0 .256.125.374.36.374.093 0 .185-.008.276-.026l.036.488c-.149.028-.3.041-.453.04Zm1.814 0c-.713 0-1.073-.295-1.073-.69 0-.436.422-.69 1.047-.695.155.002.31.014.464.035v-.105c0-.269-.183-.396-.532-.396a2.128 2.128 0 0 0-.687.105l-.13-.474a3.01 3.01 0 0 1 .9-.132c.766 0 1.146.343 1.146.936v1.222c-.213.093-.614.194-1.135.194Zm.438-.497v-.47a2.06 2.06 0 0 0-.37-.036c-.24 0-.427.08-.427.286 0 .185.156.281.432.281a.946.946 0 0 0 .365-.061Zm3.157-1.723-.136.479a1.834 1.834 0 0 0-.588-.11c-.422 0-.651.25-.651.664 0 .453.24.685.687.685.2-.004.397-.043.578-.114l.115.488a2.035 2.035 0 0 1-.75.128c-.865 0-1.365-.453-1.365-1.17 0-.712.495-1.182 1.323-1.182.27-.001.538.043.787.132Zm1.58 2.22c-.62 0-.938-.286-.938-.866v-.95h-.354v-.484h.354v-.488l.72-.03v.518h.577v.484h-.578v.94c0 .256.125.374.36.374.092 0 .185-.008.276-.026l.036.488c-.149.028-.3.041-.453.04Z" fill="#1E3764"/><path d="M11.394 13.946c3.803 0 5.705-2.14 7.606-4.28H6.38v4.28h5.014Z" fill="url(#pi-bancontact-a)"/>
2640<path d="M26.607 5.385c-3.804 0-5.705 2.14-7.607 4.28h12.62v-4.28h-5.013Z" fill="url(#pi-bancontact-b)"/><defs><linearGradient id="pi-bancontact-a" x1="8.933" y1="12.003" x2="17.734" y2="8.13" gradientUnits="userSpaceOnUse"><stop stop-color="#005AB9"/><stop offset="1" stop-color="#1E3764"/></linearGradient><linearGradient id="pi-bancontact-b" x1="19.764" y1="10.037" x2="29.171" y2="6.235" gradientUnits="userSpaceOnUse"><stop stop-color="#FBA900"/><stop offset="1" stop-color="#FFD800"/></linearGradient></defs></svg> 2641 <span class="visually-hidden">Bancontact</span> 2642 </li> 2643 2644 <li> 2645 <svg class="payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-google_pay"><title id="pi-google_pay">Google Pay</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/><path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.
264506zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"/><path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"/><path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"/><path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04"/><path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"/></svg> 2646 2647 <span class="visually-hidden">Google pay</span> 2648 </li> 2649 2650 <li> 2651 <svg class="payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" viewBox="0 0 38 24" aria-labelledby="pi-klarna" fill="none"><title id="pi-klarna">Klarna</title><rect width="38" height="24" rx="2" fill="#FFA8CD"/><rect x=".5" y=".5" width="37" height="23" rx="1.5" stroke="#000" stroke-opacity=".07"/><path d="M30.62 14.755c-.662 0-1.179-.554-1.179-1.226 0-.673.517-1.226 1.18-1.226.663 0 1.18.553 1.18 1.226 0 .672-.517 1.226-1.18 1.226zm-.33 1.295c.565 0 1.286-.217 1.686-1.068l.04.02c-.176.465-.176.742-.176.81v.11h1.423v-4.786H31.84v.109c0 .069 0 .346.175.81l-.039.02c-.4-.85-1.121-1.068-1.687-1.068-1.355 0-2.31 1.088-2.31 2.522 0 1.433.955 2.521 2.31 2.521zm-4.788-5.043c-.643 0-1.15.228-1.56 1.068l-.039-.02c.175-.464.175-.741.175-.81v-.11h-1.423v4.787h1.462V13.4c0-.662.38-1.078.995-1.078.614 0 .917.356.917 1.068v2.532h1.462v-3.046c0-1.088-.838-1.869-1.989-1.869zm-4.963 1.068l-.039-.02c.176-.464.176-.741.176-.81v-.11h-1.424v4.787h1.463l.01-2.304c0-.673.35-1.078.926-1.078.156 0 .282.02.429.06v-1.464c-.644-.139-1.22.109-1.54.94zm-4.65 2.68c-.664 0-1.18-.554-1.18-1.226 0-.673.516-1.226 1.18-1.226.662 0 1.179.553 1.179 1.226 0 .672-.517 1.226-1.18 1.226zm-.332 1.295c.565 0 1.287-.217 1.687-1.068l.038.02c-.175.465-.175.742-.175.81v.11h1.424v-4.786h-1.424v.109c0 .069 0 .346.175.81l-.038.02c-.4-.85-1.122-1.068-1.687-1.068-1.356 0-2.311 1.088-2.311 2.522 0 1.433.955 2.521 2.31 2.521zm-4.349-.128h1.463V9h-1.463v6.922zM10.136 9H8.644c0 1.236-.751 2.343-1.892 3.134l-.448.317V9h-1.55v6.922h1.55V12.49l2.564 3.43h1.892L8.293 12.64c1.121-.82 1.852-2.096 1.843-3.639z" fill="#0B051D"/></svg> 2652 <span class="visually-hidden">Klarna</span> 2653 </li> 2654 2655 <li> 2656 <svg class="payment-icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-maestro"><title id="pi-maestro">Maestro</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><circle fill="#EB001B" cx="15" cy="12" r="7"/><circle fill="#00A2E5" cx="23" cy="12" r="7"/><path fill="#7375CF" d="M22 12c0-2.4-1.2-4.5-3-5.7-1.8 1.3-3 3.4-3 5.7s1.2 4.5 3 5.7c1.8-1.2 3-3.3 3-5.7z"/></svg> 2657 <span class="visually-hidden">Maestro</span> 2658 </li> 2659 2660 <li> 2661 <svg class="payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#1C1C1C" style="fill:#1C1C1C;fill:color(display-p3 0.1098 0.1098 0.1098);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#232323" style="fill:#232323;fill:color(display-p3 0.1373 0.1373 0.1373);fill-opacity:1;"/>
2661<path d="M14.6364 19.2727C18.8538 19.2727 22.2727 15.8538 22.2727 11.6364C22.2727 7.41892 18.8538 4 14.6364 4C10.4189 4 7 7.41892 7 11.6364C7 15.8538 10.4189 19.2727 14.6364 19.2727Z" fill="#EB001B" style="fill:#EB001B;fill:color(display-p3 0.9216 0.0000 0.1059);fill-opacity:1;"/><path d="M23.3637 19.2727C27.5811 19.2727 31 15.8538 31 11.6364C31 7.41892 27.5811 4 23.3637 4C19.1462 4 15.7273 7.41892 15.7273 11.6364C15.7273 15.8538 19.1462 19.2727 23.3637 19.2727Z" fill="#F79E1B" style="fill:#F79E1B;fill:color(display-p3 0.9686 0.6196 0.1059);fill-opacity:1;"/><path d="M22.2727 11.6362C22.2727 9.01797 20.9637 6.72706 19 5.41797C17.0364 6.83615 15.7273 9.12706 15.7273 11.6362C15.7273 14.1452 17.0364 16.5452 19 17.8543C20.9637 16.5452 22.2727 14.2543 22.2727 11.6362Z" fill="#FF5F00" style="fill:#FF5F00;fill:color(display-p3 1.0000 0.3725 0.0000);fill-opacity:1;"/></svg> 2662 2663 <span class="visually-hidden">Master</span> 2664 </li> 2665 2666 <li> 2667 <svg class="payment-icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-mobilepay"><title id="pi-mobilepay">MobilePay</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill-rule="evenodd" clip-rule="evenodd" d="M20.05 15.296s2.53-.771 4.282-.776c2.896-.007 4.857 1.15 4.857 1.15V10.06s-1.97-1.02-4.453-1.09c-2.481-.068-4.687 1.012-4.687 1.012v5.313z" fill="#5A78FF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M17.308 9.19l2.082 4.957V9.396s1.646-.882 3.485-1.13c1.84-.249 4.181.08 4.181.08l-1.133-2.707s-2.461-.159-4.69.794c-2.228.952-3.925 2.756-3.925 2.756z" fill="#5A78FF"/><path d="M21.428 5.676l-.82-1.99a1.818 1.818 0 00-2.37-.996l-5.663 2.334a1.818 1.818 0 00-.98 2.376l5.46 13.247a1.818 1.818 0 002.37.995l5.662-2.334a1.817 1.817 0 00.98-2.376l-.677-1.642s-.462-.027-.676-.033c-.226-.006-.644-.001-.644-.001l.88 2.136a.606.606 0 01-.326.793l-5.663 2.333a.606.606 0 01-.79-.331L12.711 6.94a.606.606 0 01.327-.792L18.7 3.814a.606.606 0 01.79.332l.83 2.011s.383-.187.59-.27c.206-.082.518-.211.518-.211z" fill="#5A78FF"/></svg> 2668 <span class="visually-hidden">Mobilepay</span> 2669 </li> 2670 2671 <li> 2672 <svg class="payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-shopify_pay"><title id="pi-shopify_pay">Shop Pay</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000"/><path d="M35.889 0C37.05 0 38 .982 38 2.182v19.636c0 1.2-.95 2.182-2.111 2.182H2.11C.95 24 0 23.018 0 21.818V2.182C0 .982.95 0 2.111 0H35.89z" fill="#5A31F4"/><path d="M9.35 11.368c-1.017-.223-1.47-.31-1.47-.705 0-.372.306-.558.92-.558.54 0 .934.238 1.225.704a.079.079 0 00.104.03l1.146-.584a.082.082 0 00.032-.114c-.475-.831-1.353-1.286-2.51-1.286-1.52 0-2.464.755-2.464 1.956 0 1.275 1.15 1.597 2.17 1.82 1.02.222 1.474.31 1.474.705 0 .396-.332.582-.993.582-.612 0-1.065-.282-1.34-.83a.08.08 0 00-.107-.035l-1.143.57a.083.083 0 00-.036.111c.454.92 1.384 1.437 2.627 1.437 1.583 0 2.539-.742 2.539-1.98s-1.155-1.598-2.173-1.82v-.003zM15.49 8.855c-.65 0-1.224.232-1.636.646a.04.04 0 01-.069-.03v-2.64a.08.08 0 00-.08-.081H12.27a.08.08 0 00-.08.082v8.194a.08.08 0 00.08.082h1.433a.08.08 0 00.081-.082v-3.594c0-.695.528-1.227 1.239-1.227.71 0 1.226.521 1.226 1.227v3.594a.08.08 0 00.081.082h1.433a.08.08 0 00.081-.082v-3.594c0-1.51-.981-2.577-2.355-2.577zM20.753 8.62c-.778 0-1.507.24-2.03.588a.082.082 0 00-.027.109l.632 1.088a.08.08 0 00.11.03 2.5 2.5 0 011.318-.366c1.25 0 2.17.891 2.17 2.068 0 1.003-.736 1.745-1.669 1.745-.76 0-1.288-.446-1.288-1.077 0-.361.152-.657.548-.866a.08.08 0 00.032-.113l-.596-1.018a.08.08 0 00-.098-.035c-.799.299-1.359 1.018-1.359 1.984 0 1.46 1.152 2.55 2.76 2.55 1.877 0 3.227-1.313 3.227-3.195 0-2.018-1.57-3.492-3.73-3.492zM28.675 8.843c-.724 0-1.373.27-1.845.746-.026.027-.069.007-.069-.029v-.572a.08.08 0 00-.08-.082h-1.397a.08.08 0 00-.08.082v8.182a.08.08 0 00.08.081h1.433a.08.08 0 00.081-.081v-2.683c0-.036.043-.054.069-.03a2.6 2.6 0 001.808.7c1.682 0 2.993-1.373 2.993-3.157s-1.313-3.157-2.993-3.157zm-.271 4.929c-.956 0-1.681-.768-1.681-1.783s.723-1.783 1.681-1.783c.958 0 1.68.755 1.68 1.783 0 1.027-.713 1.783-1.681 1.783h.001z" fill="#fff"/></svg> 2673
2674 <span class="visually-hidden">Shopify pay</span> 2675 </li> 2676 2677 <li> 2678 <svg class="payment-icon" viewBox="-36 25 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-unionpay"><title id="pi-unionpay">Union Pay</title><path fill="#005B9A" d="M-36 46.8v.7-.7zM-18.3 25v24h-7.2c-1.3 0-2.1-1-1.8-2.3l4.4-19.4c.3-1.3 1.9-2.3 3.2-2.3h1.4zm12.6 0c-1.3 0-2.9 1-3.2 2.3l-4.5 19.4c-.3 1.3.5 2.3 1.8 2.3h-4.9V25h10.8z"/><path fill="#E9292D" d="M-19.7 25c-1.3 0-2.9 1.1-3.2 2.3l-4.4 19.4c-.3 1.3.5 2.3 1.8 2.3h-8.9c-.8 0-1.5-.6-1.5-1.4v-21c0-.8.7-1.6 1.5-1.6h14.7z"/><path fill="#0E73B9" d="M-5.7 25c-1.3 0-2.9 1.1-3.2 2.3l-4.4 19.4c-.3 1.3.5 2.3 1.8 2.3H-26h.5c-1.3 0-2.1-1-1.8-2.3l4.4-19.4c.3-1.3 1.9-2.3 3.2-2.3h14z"/><path fill="#059DA4" d="M2 26.6v21c0 .8-.6 1.4-1.5 1.4h-12.1c-1.3 0-2.1-1.1-1.8-2.3l4.5-19.4C-8.6 26-7 25-5.7 25H.5c.9 0 1.5.7 1.5 1.6z"/><path fill="#fff" d="M-21.122 38.645h.14c.14 0 .28-.07.28-.14l.42-.63h1.19l-.21.35h1.4l-.21.63h-1.68c-.21.28-.42.42-.7.42h-.84l.21-.63m-.21.91h3.01l-.21.7h-1.19l-.21.7h1.19l-.21.7h-1.19l-.28 1.05c-.07.14 0 .28.28.21h.98l-.21.7h-1.89c-.35 0-.49-.21-.35-.63l.35-1.33h-.77l.21-.7h.77l.21-.7h-.7l.21-.7zm4.83-1.75v.42s.56-.42 1.12-.42h1.96l-.77 2.66c-.07.28-.35.49-.77.49h-2.24l-.49 1.89c0 .07 0 .14.14.14h.42l-.14.56h-1.12c-.42 0-.56-.14-.49-.35l1.47-5.39h.91zm1.68.77h-1.75l-.21.7s.28-.21.77-.21h1.05l.14-.49zm-.63 1.68c.14 0 .21 0 .21-.14l.14-.35h-1.75l-.14.56 1.54-.07zm-1.19.84h.98v.42h.28c.14 0 .21-.07.21-.14l.07-.28h.84l-.14.49c-.07.35-.35.49-.77.56h-.56v.77c0 .14.07.21.35.21h.49l-.14.56h-1.19c-.35 0-.49-.14-.49-.49l.07-2.1zm4.2-2.45l.21-.84h1.19l-.07.28s.56-.28 1.05-.28h1.47l-.21.84h-.21l-1.12 3.85h.21l-.21.77h-.21l-.07.35h-1.19l.07-.35h-2.17l.21-.77h.21l1.12-3.85h-.28m1.26 0l-.28 1.05s.49-.21.91-.28c.07-.35.21-.77.21-.77h-.84zm-.49 1.54l-.28 1.12s.56-.28.98-.28c.14-.42.21-.77.21-.77l-.91-.07zm.21 2.31l.21-.77h-.84l-.21.77h.84zm2.87-4.69h1.12l.07.42c0 .07.07.14.21.14h.21l-.21.7h-.77c-.28 0-.49-.07-.49-.35l-.14-.91zm-.35 1.47h3.57l-.21.77h-1.19l-.21.7h1.12l-.21.77h-1.26l-.28.42h.63l.14.84c0 .07.07.14.21.14h.21l-.21.7h-.7c-.35 0-.56-.07-.56-.35l-.14-.77-.56.84c-.14.21-.35.35-.63.35h-1.05l.21-.7h.35c.14 0 .21-.07.35-.21l.84-1.26h-1.05l.21-.77h1.19l.21-.7h-1.19l.21-.77zm-19.74-5.04c-.14.7-.42 1.19-.91 1.54-.49.35-1.12.56-1.89.56-.7 0-1.26-.21-1.54-.56-.21-.28-.35-.56-.35-.98 0-.14 0-.35.07-.56l.84-3.92h1.19l-.77 3.92v.28c0 .21.07.35.14.49.14.21.35.28.7.28s.7-.07.91-.28c.21-.21.42-.42.49-.77l.77-3.92h1.19l-.84 3.92m1.12-1.54h.84l-.07.49.14-.14c.28-.28.63-.42 1.05-.42.35 0 .63.14.77.35.14.21.21.49.14.91l-.49 2.38h-.91l.42-2.17c.07-.28.07-.49 0-.56-.07-.14-.21-.14-.35-.14-.21 0-.42.07-.56.21-.14.14-.28.35-.28.63l-.42 2.03h-.91l.63-3.57m9.8 0h.84l-.07.49.14-.14c.28-.28.63-.42 1.05-.42.35 0 .63.14.77.35s.21.49.14.91l-.49 2.38h-.91l.42-2.24c.07-.21 0-.42-.07-.49-.07-.14-.21-.14-.35-.14-.21 0-.42.07-.56.21-.14.14-.28.35-.28.63l-.42 2.03h-.91l.7-3.57m-5.81 0h.98l-.77 3.5h-.98l.77-3.5m.35-1.33h.98l-.21.84h-.98l.21-.84zm1.4 4.55c-.21-.21-.35-.56-.35-.98v-.21c0-.07 0-.21.07-.28.14-.56.35-1.05.7-1.33.35-.35.84-.49 1.33-.49.42 0 .77.14 1.05.35.21.21.35.56.35.98v.21c0 .07 0 .21-.07.28-.14.56-.35.98-.7 1.33-.35.35-.84.49-1.33.49-.35 0-.7-.14-1.05-.35m1.89-.7c.14-.21.28-.49.35-.84v-.35c0-.21-.07-.35-.14-.49a.635.635 0 0 0-.49-.21c-.28 0-.49.07-.63.28-.14.21-.28.49-.35.84v.28c0 .21.07.35.14.49.14.14.28.21.49.21.28.07.42 0 .63-.21m6.51-4.69h2.52c.49 0 .84.14 1.12.35.28.21.35.56.35.91v.28c0 .07 0 .21-.07.28-.07.49-.35.98-.7 1.26-.42.35-.84.49-1.4.49h-1.4l-.42 2.03h-1.19l1.19-5.6m.56 2.59h1.12c.28 0 .49-.07.7-.21.14-.14.28-.35.35-.63v-.28c0-.21-.07-.35-.21-.42-.14-.07-.35-.14-.7-.14h-.91l-.35 1.68zm8.68 3.71c-.35.77-.7 1.26-.91 1.47-.21.21-.63.7-1.61.7l.07-.63c.84-.28 1.26-1.4 1.54-1.96l-.28-3.78h1.19l.07 2.38.91-2.31h1.05l-2.03 4.13m-2.94-3.85l-.42.28c-.42-.35-.84-.56-1.54-.21-.98.49-1.89 4.13.91 2.94l.14.21h1.12l.7-3.29-.91.07m-.56 1.82c-.21.56-.56.84-.91.77-.28-.14-.35-.63-.21-1.19.21-.56.56-.84.91-.77.28.14.35.63.21 1.19"/></svg>
2679 <span class="visually-hidden">Unionpay</span> 2680 </li> 2681 2682 <li> 2683 <svg class="payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#142FBD" style="fill:#142FBD;fill:color(display-p3 0.0784 0.1843 0.7412);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#1532CB" style="fill:#1532CB;fill:color(display-p3 0.0824 0.1961 0.7961);fill-opacity:1;"/><path d="M29.5944 10.2167H29.2778C28.8556 11.2722 28.5389 11.8 28.2222 13.3833H30.2278C29.9111 11.8 29.9111 11.0611 29.5944 10.2167V10.2167ZM32.6556 16.4444H30.8611C30.7556 16.4444 30.7556 16.4444 30.65 16.3389L30.4389 15.3889L30.3333 15.1778H27.8C27.6944 15.1778 27.5889 15.1778 27.5889 15.3889L27.2722 16.3389C27.2722 16.4444 27.1667 16.4444 27.1667 16.4444H24.95L25.1611 15.9167L28.2222 8.73889C28.2222 8.21111 28.5389 8 29.0667 8H30.65C30.7556 8 30.8611 8 30.8611 8.21111L32.3389 15.0722C32.4444 15.4944 32.55 15.8111 32.55 16.2333C32.6556 16.3389 32.6556 16.3389 32.6556 16.4444V16.4444ZM18.5111 16.1278L18.9333 14.2278C19.0389 14.2278 19.1444 14.3333 19.1444 14.3333C19.8833 14.65 20.6222 14.8611 21.3611 14.7556C21.5722 14.7556 21.8889 14.65 22.1 14.5444C22.6278 14.3333 22.6278 13.8056 22.2056 13.3833C21.9944 13.1722 21.6778 13.0667 21.3611 12.8556C20.9389 12.6444 20.5167 12.4333 20.2 12.1167C18.9333 11.0611 19.3556 9.58333 20.0944 8.84444C20.7278 8.42222 21.0444 8 21.8889 8C23.1556 8 24.5278 8 25.1611 8.21111H25.2667C25.1611 8.84444 25.0556 9.37222 24.8444 10.0056C24.3167 9.79444 23.7889 9.58333 23.2611 9.58333C22.9444 9.58333 22.6278 9.58333 22.3111 9.68889C22.1 9.68889 21.9944 9.79444 21.8889 9.9C21.6778 10.1111 21.6778 10.4278 21.8889 10.6389L22.4167 11.0611C22.8389 11.2722 23.2611 11.4833 23.5778 11.6944C24.1056 12.0111 24.6333 12.5389 24.7389 13.1722C24.95 14.1222 24.6333 14.9667 23.7889 15.6C23.2611 16.0222 23.05 16.2333 22.3111 16.2333C20.8333 16.2333 19.6722 16.3389 18.7222 16.0222C18.6167 16.2333 18.6167 16.2333 18.5111 16.1278V16.1278ZM14.8167 16.4444C14.9222 15.7056 14.9222 15.7056 15.0278 15.3889C15.5556 13.0667 16.0833 10.6389 16.5056 8.31667C16.6111 8.10556 16.6111 8 16.8222 8H18.7222C18.5111 9.26667 18.3 10.2167 17.9833 11.3778C17.6667 12.9611 17.35 14.5444 16.9278 16.1278C16.9278 16.3389 16.8222 16.3389 16.6111 16.3389L14.8167 16.4444ZM5 8.21111C5 8.10556 5.21111 8 5.31667 8H8.90556C9.43333 8 9.85556 8.31667 9.96111 8.84444L10.9111 13.4889C10.9111 13.5944 10.9111 13.5944 11.0167 13.7C11.0167 13.5944 11.1222 13.5944 11.1222 13.5944L13.3389 8.21111C13.2333 8.10556 13.3389 8 13.4444 8H15.6611C15.6611 8.10556 15.6611 8.10556 15.5556 8.21111L12.2833 15.9167C12.1778 16.1278 12.1778
268316.2333 12.0722 16.3389C11.9667 16.4444 11.7556 16.3389 11.5444 16.3389H9.96111C9.85556 16.3389 9.75 16.3389 9.75 16.1278L8.06111 9.58333C7.85 9.37222 7.53333 9.05556 7.11111 8.95C6.47778 8.63333 5.31667 8.42222 5.10556 8.42222L5 8.21111Z" fill="white" style="fill:white;fill-opacity:1;"/></svg> 2684 2685 <span class="visually-hidden">Visa</span> 2686 </li> 2687 2688 </ul> 2689 2690 2691 2692 </div> 2693 </div> 2694</footer> 2695 2696 2697</div> 2698 2699 2700 2701 <div class="search--popdown"> 2702 2703 2704<div data-search-popdown-wrap> 2705 <div id="search-popdown" class="search-popdown search__predictive" data-popdown-outer> 2706 <div class="item--loadbar" data-loading-indicator style="display: none;"></div> 2707 <div class="search__predictive__outer"> 2708 <div class="wrapper"> 2709 <div class="search__predictive__main"> 2710 <form class="search__predictive__form" 2711 action="/search" 2712 method="get" 2713 role="search"> 2714 <button class="search__predictive__form__button" type="submit"> 2715 <span class="visually-hidden">Zoek</span> 2716 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 16 16"><path d="M16 14.864L14.863 16l-4.24-4.241a6.406 6.406 0 01-4.048 1.392 6.61 6.61 0 01-4.65-1.925A6.493 6.493 0 01.5 9.098 6.51 6.51 0 010 6.575a6.536 6.536 0 011.922-4.652A6.62 6.62 0 014.062.5 6.52 6.52 0 016.575 0 6.5 6.5 0 019.1.5c.8.332 1.51.806 2.129 1.423a6.454 6.454 0 011.436 2.13 6.54 6.54 0 01.498 2.522c0 1.503-.468 2.853-1.4 4.048L16 14.864zM3.053 10.091c.973.972 2.147 1.461 3.522 1.461 1.378 0 2.551-.489 3.525-1.461.968-.967 1.45-2.138 1.45-3.514 0-1.37-.482-2.545-1.45-3.524-.981-.968-2.154-1.45-3.525-1.45-1.376 0-2.547.483-3.513 1.45-.973.973-1.46 2.146-1.46 3.523 0 1.375.483 2.548 1.45 3.515z"/></svg> 2717 </button> 2718 <input type="search" 2719 data-predictive-search-input 2720 name="q" 2721 value="" 2722 placeholder="Zoeken..." 2723 aria-label="Zoeken..."> 2724 </form> 2725 <div class="search__predictive__close"> 2726 <button class="search__predictive__close__inner" data-close-popdown> 2727 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close-small" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="M2.237 1.073l12.021 12.021-1.414 1.414L.824 2.488z"/><path d="M.823 13.094l12.021-12.02 1.414 1.413-12.02 12.021z"/></g></svg> 2728 </button> 2729 </div> 2730 2731 <div class="search__predictive__clear"> 2732 <button class="search__predictive__close__inner" data-clear-input> 2733 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 15 15"><g fill-rule="evenodd"><path d="M2.06 1l12.02 12.021-1.06 1.061L1 2.062z"/><path d="M1 13.02L13.022 1l1.061 1.06-12.02 12.02z"/></g></svg> 2734 </button> 2735 </div> 2736 </div> 2737 </div> 2738 </div> 2739 <div class="header__search__results" data-predictive-search-results> 2740 <div class="wrapper"> 2741 <div class="search__results__empty" data-predictive-search-aria></div> 2742 <div class="search__results__outer"> 2743 2744 <div class="search__results__products"> 2745 <div class="search__results__products__title" data-product-title-wrap></div> 2746 <div class="search__results__products__list" data-product-wrap> 2747 2748 </div> 2749 </div> 2750 <div class="search__results__other"> 2751 <div class="search__results__other__list" data-collection-wrap></div> 2752 <div class="search__results__other__list" data-article-wrap></div> 2753 <div class="search__results__other__list" data-page-wrap></div> 2754 </div> 2755 </div> 2756 </div> 2757 </div> 2758 </div> 2759 2760 2761 <span class="drawer__underlay" data-search-underlay></span> 2762 2763 2764
2764<script data-predictive-search-aria-template type="text/x-template"> 2765 <div aria-live="polite"> 2766 <p> 2767 2768 {{@if(it.count)}} 2769 <span class="badge">{{ it.count }}</span> 2770 {{/if}} 2771 {{ it.title }} <em>{{ it.query }}</em> 2772 2773 </p> 2774 </div> 2775 </script>
2775 2776 2777
2777<script data-predictive-search-title-template type="text/x-template"> 2778 <div class="search__results__heading"> 2779 2780 <p> 2781 <span class="search__results__title">{{ it.title }}</span> 2782 <span class="badge">{{ it.count }}</span> 2783 </p> 2784 2785 </div> 2786 </script>
2786 2787 2788
2788<script data-search-other-template type="text/x-template"> 2789 2790 {{@each(it) => object, index}} 2791 <div class="other__inline animates" style="animation-delay: {{ index | animationDelay }}ms;"> 2792 <p class="other__inline__title"> 2793 <a href="{{ object.url }}">{{ object.title | safe }}</a> 2794 </p> 2795 </div> 2796 {{/each}} 2797 2798 </script>
2798 2799 2800
2800<script data-search-product-template type="text/x-template"> 2801 2802 {{@each(it) => object, index}} 2803 <a href="{{ object.url }}" class="product__inline animates" style="animation-delay: {{ index | animationDelay }}ms;"> 2804 <div class="product__inline__image"> 2805 <img class="img-aspect-ratio" width="{{object.featured_image.width}}" height="{{ object.featured_image.height }}" alt="{{ object.featured_image.alt }}" src="{{ object.thumb }}"> 2806 </div> 2807 <div> 2808 <p class="product__inline__title"> 2809 {{ object.title | safe }} 2810 </p> 2811 <p class="product__inline__price"> 2812 <span class="price {{ object.classes }}"> 2813 {{ object.price | safe }} 2814 </span> 2815 {{@if(object.sold_out)}} 2816 <br /><em>{{ object.sold_out_translation }}</em> 2817 {{/if}} 2818 {{@if(object.on_sale)}} 2819 <span class="compare-at"> 2820 {{ object.compare_at_price | safe }} 2821 </span> 2822 {{/if}} 2823 </p> 2824 </div> 2825 </a> 2826 {{/each}} 2827 2828 </script>
2828 2829 2830</div> 2831 </div> 2832 2833 2834
2834<script data-swatch-template type="text/x-template"> 2835 2836 <span class="swatch__button" data-swatch-button> 2837 <input type="radio" 2838 name="grouped" 2839 value="{{ it.color }}" 2840 id="{{ it.uniq }}"> 2841 <label for="{{ it.uniq }}" 2842 data-swatch="{{ it.color }}" 2843 data-swatch-variant="{{ it.variant }}" 2844 data-swatch-image="{{ it.image }}"> 2845 <span class="visually-hidden">{{ it.color }}</span> 2846 </label> 2847 </span> 2848 2849 </script>
2849 2850 2851 <div data-modal-container></div><!-- Paste popup code or third party scripts below this comment line ============== --> 2852 2853 2854 <!-- And above this comment line ================================================== --> 2855 2856 2857 2858 2859 2860 2861<style>.ocu-hidden.ocu-hidden.ocu-hidden,.bold_hidden.bold_hidden.bold_hidden{display:none !important}</style>
2862<script> 2863!function(){ 2864if (window.performance) { 2865 const navEntries = window.performance.getEntriesByType && window.performance.getEntriesByType('navigation'); 2866 if (navEntries && navEntries.length > 0 && navEntries[0].type === 'back_forward') { 2867 location.reload(); 2868 } else if (window.performance.navigation && window.performance.navigation.type === window.performance.navigation.TYPE_BACK_FORWARD) { 2869 location.reload(); 2870 } 2871} 2872 2873!function(){var e=[];window.Promise||e.push("Promise"),window.URLSearchParams||e.push("URL"),Element.prototype.closest||e.push("Element.prototype.closest"),Array.from||e.push("Array.from"),Object.assign||e.push("Object.assign"), Object.entries||e.push("Object.entries"),Object.values||e.push("Object.values");try{new Event("event")}catch(t){e.push("Event")}try{Symbol}catch(t){e.push("Symbol")}if(e.length){var t=document.createElement("script");t.src="https://polyfill-fastly.net/v3/polyfill.min.js?features="+e.join(",")+"&flags=gated",t.async=!0,document.head.appendChild(t)}Object.setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e}}(); 2874 2875var ajax,utils={store:Object.freeze(new Store),cookie:{options:{expires:86400,path:"/",encodeValue:!1},get:function(e){var t=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},set:function(e,t,n){var i=(n=n||this.options).expires;if("number"==typeof i&&i){var r=new Date;r.setTime(r.getTime()+1e3*i),i=n.expires=r}i&&i.toUTCString&&(n.expires=i.toUTCString());var o=e+"="+(t=encodeURIComponent(t));for(var s in n){o+="; "+s;var a=n[s];!0!==a&&(o+="="+a)}document.cookie=o},remove:function(e){this.set(e,null,{expires:-1})}},queryParams:function(e){var t={};return e.replace("?","").split("&").forEach(function(e){var n=e.split("=")[0],i=e.split("=")[1];t[n]=decodeURIComponent(i)}),t},shareableDiscount:function(e){e=e||{};var t=utils.queryParams(location.search)[e.key||"discount"];t&&(utils.cookie.set(e.name||"ocu-share-discount",t,utils.cookie.options),!e.clear||history.pushState(null,null,location.href.replace(/\?.+/,"")))},serializeForm:function(e){return new URLSearchParams(new FormData(e).fd || new FormData(e)).toString()},serializeFormEdge:function(e){var t,n=[];if("object"==typeof e&&"FORM"==e.nodeName){var r=e.elements.length;for(i=0;i<r;i++)if((t=e.elements[i]).name&&!t.disabled&&"file"!=t.type&&"reset"!=t.type&&"submit"!=t.type&&"button"!=t.type)if("select-multiple"==t.type)for(j=e.elements[i].options.length-1;j>=0;j--)t.options[j].selected&&(n[n.length]=encodeURIComponent(t.name)+"="+encodeURIComponent(t.options[j].value));else("checkbox"!=t.type&&"radio"!=t.type||t.checked)&&(n[n.length]=encodeURIComponent(t.name)+"="+encodeURIComponent(t.value))}return n.join("&").replace(/%20/g,"+")},serialize:function(e,t,n,i){if(this.helpers.isFormData(t)&&(i=n,n=t,t=null),(t=t||{}).indices=t.indices||!1,n=n||new URLSearchParams,this.helpers.isUndefined(e))return n;if(this.helpers.isNull(e))n.append(i,"");else if(this.helpers.isArray(e))if(e.length)e.forEach(function(e,r){var o="object"==typeof e,s=i+"["+(t.indices&&o?r:"")+"]";this.serialize(e,t,n,s)}.bind(this));else{var r=i+"[]";n.append(r,"")}else this.helpers.isDate(e)?n.append(i,e.toISOString()):!this.helpers.isObject(e)||this.helpers.isFile(e)||this.helpers.isBlob(e)?n.append(i,e):Object.keys(e).forEach(function(r){var o=e[r];if(this.helpers.isArray(o))for(;2<r.length&&r.lastIndexOf("[]")===r.length-2;)r=r.substring(0,r.length-2);var s=i?i+"["+r+"]":r;this.serialize(o,t,n,s)}.bind(this));return n},inArray:function(e,t,n){return e.some(function(e){return e[t]===n})},filterObject:function(e,t){return t.reduce(function(t,n){return t[n]=e[n],t},{})},helpers:{isUndefined:function(e){return void 0===e},isNull:function(e){return null===e},isObject:function(e){return e===Object(e)},isArray:function(e){return Array.isArray(e)},isDate:function(e){return e instanceof Date},isBlob:function(e){return e&&"number"==typeof e.size&&"string"==typeof e.type&&"function"==typeof e.slice},isFile:function(e){return this.isBlob(e)&&("object"==typeof e.lastModifiedDate||"number"==typeof e.lastModified)&&"string"==typeof e.name},isFormData:function(e){return e instanceof FormData}}}; 2876 2877function PrecheckoutIntegrations(cartItems) { 2878 this.cartItems = cartItems; 2879} 2880 2881PrecheckoutIntegrations.prototype = { 2882 get advancedProductOptions() { 2883 const cartItems = this.cartItems; 2884 2885 return { 2886 get present() { 2887 return !!window.mwProductOptions; 2888 }, 2889 get relations() { 2890 return cartItems.reduce(function(acc, item) { 2891 if (item.properties && item.properties._mw_option_relation) { 2892 acc.push(+item.properties._mw_option_relation.split('_')[0]); 2893 } 2894 return acc; 2895 }, []); 2896 } 2897 }; 2898 }, 2899 2900 get zapiet() { 2901 return { 2902 get present() { 2903 return !!(window.Zapiet && document.querySelector('#storePickupApp')); 2904 }, 2905 get params() { 2906 const params = (Zapiet.Cart && Zapiet.Cart.getUrlParams()) || {}; 2907 2908 return Object.entries(params).reduce(function(acc, keyValue) { 2909 if (/^\s*$/.test(keyValue[1])) return acc; 2910 const param = {}; 2911 param[keyValue[0]] = keyValue[1]; 2912 return (acc.push(param), acc); 2913 }, []); 2914 }, 2915 merge: function(params) { 2916 return (params || []).concat(this.params); 2917 }, 2918 }; 2919 }, 2920 2921 get simpleInStorePickup() { 2922 return { 2923 get present() { 2924 const checkbox = document.querySelector('#in-store-pick-up'); 2925 return checkbox && checkbox.checked; 2926 }, 2927 get params() { 2928 const form = document.querySelector('form[action^="/cart"]'); 2929 if (!form) return []; 2930 const action = form.action.split(/\?|&/); 2931 const data = action.slice(7).slice(0, 3); 2932 const address = action.slice(-6); 2933 const params = data.concat(address); 2934 2935 return params.reduce(function(acc, item) {
2936 const keyValue = item.split('='); 2937 const param = {}; 2938 param[keyValue[0]] = decodeURIComponent(keyValue[1]); 2939 return (acc.push(param), acc); 2940 }, []); 2941 }, 2942 merge: function(params) { 2943 return (params || []).concat(this.params); 2944 } 2945 }; 2946 }, 2947 2948 get weglot() { 2949 return { 2950 get present() { 2951 return !!window.Weglot; 2952 }, 2953 get params() { 2954 const param = { locale: window.Weglot.getCurrentLang()} 2955 2956 return [param]; 2957 }, 2958 merge: function(params) { 2959 return (params || []).concat(this.params); 2960 } 2961 } 2962 }, 2963 2964 get exemptify() { 2965 return { 2966 get present() { 2967 const checkoutExemptifyBtn = document.querySelector('[name="checkout-exemptify"]'); 2968 const checkoutButtons = document.querySelectorAll('[data-ocu-checkout]'); 2969 return !!checkoutExemptifyBtn && checkoutButtons.length > 1 2970 }, 2971 }; 2972 } 2973}; 2974 2975function PopupDispatcher() {} 2976 2977PopupDispatcher.prototype = { 2978 2979 proceed: function(event, target, context) { 2980 this.context = context; 2981 this.target = target; 2982 this.event = event; 2983 2984 if (!event.isTrusted) return this.context.helpers.clearFallback(); 2985 if (this.isProductLocationOption(target)) return this.productLocation(event, target); 2986 2987 this.context.prevent(event); 2988 return this.check(event, target); 2989 }, 2990 2991 check: function(event, target, data) { 2992 const self = this.context; 2993 return self.cart.getLqd() 2994 .then(self.cart.update) 2995 .then(function(res) { 2996 OCUIncart.cart_items = res.data.items || res.data.cart.items; 2997 lqd.cart = res.data.items ? res.data : res.data.cart; 2998 2999 try { 3000 const app = self.helpers.isSubscriptionProductInCart(lqd.cart); 3001 if (app) return self.integrations[app].redirect(event, lqd.cart); 3002 } catch (e) { 3003 return this.checkout(); 3004 } 3005 3006 if ((utils.store.get('amazonPayInitiated') || lqd.is_precheckout) && !utils.cookie.get('ocu_shown_popup')) { 3007 return this.show(event, target, data); 3008 } 3009 3010 this.checkout(); 3011 }.bind(this)) 3012 .catch(this.checkout); 3013 }, 3014 3015 show: function(event, target, data) { 3016 const self = this.context; 3017 self.prevent(event); 3018 3019 if (utils.store.get('amazonPayInitiated')) return null; 3020 const form = target.closest('[action="/cart"], [action="/checkout"]'); 3021 if (form && !self.validate(form)) { 3022 clearTimeout(utils.store.get('fallback').id); 3023 utils.store.set('submitted', false); 3024 return form.reportValidity(); 3025 } 3026 3027 if (window.disableBodyScroll) disableBodyScroll(); // fix locked scroll at mobile for themes with libs.min.js 3028 3029 const isRechargeEnabled = lqd.integrate_with_recharge && !lqd.disabled_by_subscription_app; 3030 3031 const precheckoutConfig = { 3032 utils: utils, 3033 Updater: Updater, 3034 is_recharge_enabled: isRechargeEnabled 3035 }; 3036 3037 return this.getIncartConfig(data) 3038 .then(function(response) { 3039 const kind = response.data.kind; 3040 precheckoutConfig.config = response.data; 3041 self.utils.beforePrecheckoutPopup(); 3042 utils.store.set('isTargetBuyNow', self.helpers.isBuyNow(event)); 3043 return OCUIncart[kind + 'Upsells'].setData(precheckoutConfig); 3044 }) 3045 .catch(this.checkout.bind(this)); 3046 }, 3047 3048 getIncartConfig: function(data) { 3049 let query = '/pre_purchase/v1/checkout_offers/appropriate?'; 3050 const endpoint = window.OCUIncart && OCUIncart.appEndpoint; 3051 const headers = { 3052 'Content-Type': 'application/json', 3053 'Shop-Domain': lqd.permanent_domain 3054 }; 3055 const self = this.context; 3056 const isSameCart = self.helpers.isSameCart(lqd.cart); 3057 const isSameCartToken = self.helpers.isSameCartToken(lqd.cart); 3058
3059 if (!isSameCart && !isSameCartToken) utils.cookie.remove('ocu_popup_ids') 3060 const isShownOfferIdPresent = utils.cookie.get('ocu_popup_ids'); 3061 3062 if (isShownOfferIdPresent) query += 'split_test_weight=' + isShownOfferIdPresent; 3063 3064 const payload = this._incartPayload(data); 3065 3066 return axios.post(endpoint + query, payload, { headers: headers }); 3067 }, 3068 3069 checkout: function(error) { 3070 if (error) { 3071 if (error.response) console.error(error.response.data.message); 3072 else console.error(error); 3073 } 3074 if(this.isProductAction && !lqd.skip_cart) return; 3075 return this.context.checkout({ redirect: true }); 3076 }, 3077 3078 isProductLocationOption: function(target) { 3079 return lqd.isPopupTriggerPage 3080 && target.tagName.toLowerCase() === 'form' 3081 && this._isAddAction(target); 3082 }, 3083 3084 productLocation: function(event, target) { 3085 const variantId = this._formVariantId(target); 3086 if(this.popupAccepted) return this.context.helpers.clearFallback(); 3087 if (!this._variantWasTrigger(variantId) && !this._productWasTrigger()) return this.breakHandling(event, target); // exit handling if product not trigger 3088 3089 this.context.prevent(event); 3090 target.disabled = true; 3091 this.verifyToken() 3092 .then(function() { 3093 this.getIncartConfig({ product_id: lqd.product.id, variant_id: variantId }) 3094 .then(this.addAndCheck.bind(this)) 3095 .catch(this.nativeClick.bind(this)); 3096 }.bind(this)) 3097 3098 }, 3099 3100 verifyToken: function() { 3101 // create cart token if no exist, for new session 3102 return !this.cartToken ? this.context.cart.bulkAdd() : this._emptyResolve(); 3103 }, 3104 3105 addAndCheck: function() { 3106 this.context.cart.add(this.target) 3107 .then(function(response) { 3108 this.check(this.event, this.target, response.data); 3109 }.bind(this)) 3110 .catch(this.checkout); 3111 }, 3112 3113 nativeClick: function() { 3114 utils.store.set('submitted', false); 3115 this.context.helpers.clearFallback(); 3116 this.secondAttempt = true; 3117 // this.target.submit(); 3118 const button = this.target.querySelector('[type="submit"], [name="add"], [name="checkout"]'); 3119 button.click(); 3120 }, 3121 3122 getTriggerAction() { 3123 const templateTrigger = this.isAcceptableAction(this.targetAction) ? this.targetAction : 'cart'; 3124 return { 3125 cart: 'cart', 3126 product: 'product' 3127 }[templateTrigger]; 3128 }, 3129 3130 isAcceptableAction: function(type) { 3131 return lqd.isPopupTriggerPage && !!~OCUIncart.popupLocation.indexOf(type); 3132 }, 3133 3134 breakHandling: function(event, target) { 3135 if (!lqd.skip_cart) return this.context.helpers.clearFallback(); 3136 this.context.prevent(event); 3137 return this.context.cart.add(target) 3138 .then(this.checkout.bind(this)) 3139 .catch(this.checkout.bind(this)); 3140 }, 3141 3142 _incartPayload(data) { 3143 const payload = this.context.helpers.getCartItems(lqd.cart.items); 3144 payload.cart_token = this.cartToken; 3145 payload.location = this.getTriggerAction(); 3146 3147 if (payload.location === 'product' && data) { 3148 payload.product_page_product_id = data.product_id; 3149 payload.product_page_variant_id = data.variant_id; 3150 } 3151 3152 return payload; 3153 }, 3154 3155 _isAddAction: function(el) { 3156 return el && /cart\/add/.test(el.action); 3157 }, 3158 3159 _variantWasTrigger: function(id) { 3160 const funnels = OCUIncart.funnels; 3161 if (funnels.triggers.all) return true; 3162 return !!~funnels.triggers.variants.indexOf(id); 3163 }, 3164 3165 _productWasTrigger: function() { 3166 const triggers = OCUIncart.funnels.triggers; 3167 if (triggers.all) return true; 3168 return !!~triggers.products.indexOf(lqd.product.id); 3169 }, 3170 3171 _formVariantId: function(target) { 3172 let form = this.context.cart.serialize(target); 3173 form = decodeURI(form); 3174 return +form.match(/id=(\d+)/)[1]; 3175 }, 3176 3177 _emptyResolve: function(response) { 3178 return new Promise(function(resolve) { resolve(response); }); 3179 }, 3180 3181 get cartToken() { 3182 return lqd.cart.token || utils.cookie.get('cart'); 3183 }, 3184 3185 get isProductAction() { 3186 return this.getTriggerAction() === 'product'; 3187 }, 3188 3189 get destination() { 3190 if(utils.store.get('isTargetBuyNow')) return 'checkout'; 3191 return this.isProductAction ? 'same' : 'checkout'; 3192 }, 3193 3194 get popupAccepted() { 3195 return OCUIncart.settings.popup_frequency === 'accept_or_decline' 3196 && utils.cookie.get('cart') === utils.cookie.get('ocu_popup_token') 3197 && !!utils.cookie.get('ocu_accepted'); 3198 }, 3199 3200 get targetAction() { 3201 if (!this.target) return 'cart'; 3202 const form = this.target && this.target.tagName.toLowerCase() === 'form' ? this.target : this.target.closest('form'); 3203 return this._isAddAction(form) ? 'product' : 'cart'; 3204 } 3205} 3206 3207window.OCUIncart = { 3208 cart_items: [], 3209 subscription_tags: '', 3210 money_format: 'â¬{{amount_with_comma_separator}}', 3211 option_selection: '//buttler.shop/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js', 3212 integrations: function(cartItems) { 3213 return new PrecheckoutIntegrations(cartItems); 3214 }, 3215 3216 metafields: { 3217 main: {"general":{"settings":{"app_endpoint":"https:\/\/ocu.zipify.com","proxy_url":"\/apps\/oneclickupsell","sdp":"https:\/\/[email protected]\/57","popup_locations":{"product":true,"cart":false},"popup_settings":{"popup_frequency":"accept_or_decline"}},"integrations":{"skip_cart":"false"},"triggers":{"pre_checkout":{"metafields":{"products":"pre_checkout_product_ids","variants":"pre_checkout_variant_ids","excluded":{"products":"pre_excluded_product_ids"}},"all_products":false},"post_checkout":{"metafields":{"products":"post_checkout_product_ids","variants":"post_checkout_variant_ids","excluded":{"products":"post_excluded_product_ids"}},"all_products":false}},"incarts":{"93794":{"priority":1,"offer_id":292994,"shopify_product_id":6759520895162,"hide_if_in_cart":false}}},"post_checkout_product_ids":[],"post_checkout_variant_ids":[],"post_excluded_product_ids":[],"pre_checkout_product_ids":[],"pre_checkout_variant_ids":[40120121950394,40122085507258,40122085605562,40122085736634,40122086588602],"pre_excluded_product_ids":[]} || {}, 3218 get general() { 3219 return this.main.general || {}; 3220 }, 3221 get settings() { 3222 return this.general.settings || {}; 3223 }, 3224 get triggers() { 3225 return this.general.triggers ? this.general.triggers.pre_checkout : {}; 3226 },
3227 get types() { 3228 return this.triggers.metafields || { 3229 products: 'pre_checkout_product_ids', 3230 variants: 'pre_checkout_variant_ids' 3231 }; 3232 }, 3233 get products() { 3234 return this.getMetafields(this.types.products) || []; 3235 }, 3236 get variants() { 3237 return this.getMetafields(this.types.variants) || []; 3238 }, 3239 get proxy_url() { 3240 return this.settings.proxy_url || '/apps/secure-checkout'; 3241 }, 3242 get excluded() { 3243 const keys = this.triggers.metafields.excluded || { products: 'pre_excluded_product_ids' }; 3244 3245 return { 3246 products: this.getMetafields(keys.products, '[]'), 3247 }; 3248 }, 3249 getMetafields: function(key) { 3250 return this.main[key]; 3251 } 3252 }, 3253 get triggers() { 3254 const funnels = this.funnels; 3255 const cartItems = this.cart_items; 3256 const integrations = this.integrations(cartItems); 3257 const adp = integrations.advancedProductOptions; 3258 3259 return { 3260 products: this.cart_items.map(function(item) { return item.product_id }), 3261 get variants() { 3262 const ids = cartItems.map(function(item) { return item.id }); 3263 if (!adp.present) return ids; 3264 return ids.concat(adp.relations); // Advanced Product Options integration 3265 }, 3266 get all() { 3267 if (!funnels.triggers.all) return; 3268 3269 return !!this.products.filter(function(trigger) { 3270 return !~funnels.triggers.excluded.products.indexOf(trigger); 3271 }).length; 3272 } 3273 }; 3274 }, 3275 get funnels() { 3276 return { 3277 triggers: { 3278 all: this.metafields.triggers.all_products, 3279 excluded: this.metafields.excluded, 3280 variants: this.metafields.variants || [], 3281 products: this.metafields.products || [], 3282 }, 3283 get types() { 3284 const exclude = /all|excluded/; 3285 return Object.keys(this.triggers).filter(function(key) { 3286 return !exclude.test(key); 3287 }); 3288 } 3289 } 3290 }, 3291 get is_precheckout() { 3292 const funnels = this.funnels; 3293 const triggers = this.triggers; 3294 3295 if (triggers.all) return true; 3296 3297 return funnels.types.some(function(type) { 3298 return triggers[type].some(function(trigger) { 3299 return ~funnels.triggers[type].indexOf(trigger); 3300 }); 3301 }); 3302 }, 3303 get hasOfferInCart() { 3304 return this.cart_items.find(function(item) { 3305 return item && item.properties && item.properties._ocu_offer_id; 3306 }); 3307 }, 3308 get settings() { 3309 return this.metafields.settings.popup_settings; 3310 }, 3311 get proxy_url() { 3312 return this.metafields.proxy_url; 3313 }, 3314 3315 get appEndpoint() { 3316 return this.metafields.settings.app_endpoint; 3317 }, 3318 3319 get popup_location() { 3320 return this.metafields.general.settings.popup_locations; 3321 }, 3322 get popupLocation() { 3323 return Object.entries(this.popup_location) 3324 .map(function(item) { 3325 if (item[1]) return item[0]; 3326 }); 3327 }, 3328 get permanent_domain() { 3329 return lqd.permanent_domain; 3330 } 3331}; 3332 3333var lqd = { 3334 cart: {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"EUR","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}, 3335 path: '' === 'true' ? 'd56719fefdd75e95ba06caea3d9a3732' : '5965fedc7708e03e1024db4bf2ed5fe6', 3336 template_name: 'product', 3337 shop_currency: 'EUR', 3338 skip_cart: false, 3339 cart_products_json: JSON.parse("[{\"id\":null,\"title\":null,\"handle\":null,\"featured_image\":null,\"tags\":null,\"vendor\":null,\"type\":null,\"published_at\":null,\"collection_ids\":\"\",\"variants\":[]}]"), 3340 cart_collections_json: [], 3341 cart_variants_json: [], 3342 customer_id: "", 3343 customer: { id: "", email: '' }, 3344 proxy_url: '/apps/oneclickupsell', 3345 permanent_domain: 'buttler-shop.myshopify.com', 3346 current_domain: 'buttler.shop', 3347 disabled_by_subscription_app: false, 3348 subscription_app_enabled: false, 3349 subscription_products_json: '', 3350 subscription_variants_json: '', 3351 subscription_products_size: 0, 3352 integrate_with_recharge: '' === 'true', 3353 product: {"id":6759520895162,"title":"de Wasstraat toiletrolhouder","handle":"zwarte-toiletrolhouder","description":"\u003cp\u003e\u003cstrong\u003eJe auto gaat toch ook door de wasstraat. Waarom jij dan niet?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eEen stijlvolle spray verdient natuurlijk een mooi en handig plekje op je toilet. Ook daar heeft BUTTLER aan gedacht. Zie hier: de Wasstraat. Een minimeubeltje voor op je toilet. Voor je toiletrol en je spray. En een veilige plek voor je mobiele telefoon. Of je lippenstift. Of je koffie. Maar vooral: je toiletpapier en je spray altijd bij de hand.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eDe Wasstraat heeft een uniek design en is gemaakt van hoogwaardig staal. Elke toiletrol past in de houder en rolt perfect af. Niet alleen een veilige plek voor je toiletrol en spray, maar het voorkomt ook ongevraagde zwemles voor je mobiele telefoon.\u003c\/p\u003e","published_at":"2021-07-23T09:28:41+02:00","created_at":"2021-07-23T09:27:14+02:00","vendor":"Buttler.shop","type":"Toiletmeubeltjes","tags":["de Wasstraat","import_2021_07_23_070912"],"price":3400,"price_min":3400,"price_max":4895,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":40575348441274,"title":"Toiletpapier spray","option1":"Toiletpapier spray","option2":null,"option3":null,"sku":"BUTT0073","requires_shipping":true,"taxable":true,"featured_image":{"id":29763630989498,"product_id":6759520895162,"position":1,"created_at":"2021-10-07T15:04:43+02:00","updated_at":"2021-12-13T13:27:21+01:00","alt":"toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441","variant_ids":[40575348441274]},"available":true,"name":"de Wasstraat toiletrolhouder - Toiletpapier spray","public_title":"Toiletpapier spray","options":["Toiletpapier spray"],"price":4095,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090901597574","featured_media":{"alt":"toiletrolhouder","id":22121590063290,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348474042,"title":"O! de Toilette roomspray - Noordse Nevel","option1":"O! de Toilette roomspray - Noordse Nevel","option2":null,"option3":null,"sku":"BUTT0068","requires_shipping":true,"taxable":true,"featured_image":{"id":29763664019642,"product_id":6759520895162,"position":7,"created_at":"2021-10-07T15:08
3353:01+02:00","updated_at":"2021-12-13T13:27:33+01:00","alt":"buttler toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453","variant_ids":[40575348474042]},"available":true,"name":"de Wasstraat toiletrolhouder - O! de Toilette roomspray - Noordse Nevel","public_title":"O! de Toilette roomspray - Noordse Nevel","options":["O! de Toilette roomspray - Noordse Nevel"],"price":4895,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090902444457","featured_media":{"alt":"buttler toiletrolhouder","id":22121622995130,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348506810,"title":"O! de Toilette roomspray - Knisperend Katoen","option1":"O! de Toilette roomspray - Knisperend Katoen","option2":null,"option3":null,"sku":"BUTT0070","requires_shipping":true,"taxable":true,"featured_image":{"id":29763664052410,"product_id":6759520895162,"position":6,"created_at":"2021-10-07T15:08:01+02:00","updated_at":"2021-12-13T13:27:29+01:00","alt":"buttler toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449","variant_ids":[40575348506810]},"available":true,"name":"de Wasstraat toiletrolhouder - O! de Toilette roomspray - Knisperend Katoen","public_title":"O! de Toilette roomspray - Knisperend Katoen","options":["O! de Toilette roomspray - Knisperend Katoen"],"price":4895,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090902826826","featured_media":{"alt":"buttler toiletrolhouder","id":22121622962362,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348539578,"title":"O! de Toilette roomspray - Brute Bloesem","option1":"O! de Toilette roomspray - Brute Bloesem","option2":null,"option3":null,"sku":"BUTT0069","requires_shipping":true,"taxable":true,"featured_image":{"id":29763663954106,"product_id":6759520895162,"position":8,"created_at":"2021-10-07T15:08:01+02:00","updated_at":"2021-12-13T13:27:32+01:00","alt":"buttler toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452","variant_ids":[40575348539578]},"available":true,"name":"de Wasstraat toiletrolhouder - O! de Toilette roomspray - Brute Bloesem","public_title":"O! de Toilette roomspray - Brute Bloesem","options":["O! de Toilette roomspray - Brute Bloesem"],"price":4895,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090923477427","featured_media":{"alt":"buttler toiletrolhouder","id":22121623027898,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348637882,"title":"O! de Toilette - Groene Glorie","option1":"O! de Toilette - Groene Glorie","option2":null,"option3":null,"sku":"BUTT0071","requires_shipping":true,"taxable":true,"featured_image":{"id":29763663888570,"product_id":6759520895162,"position":5,"created_at":"2021-10-07T15:08:01+02:00","updated_at":"2021-12-13T13:27:27+01:00","alt":"buttler toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447","variant_ids":[40575348637882]},"available":true,"name":"de Wasstraat toiletrolhouder - O! de Toilette - Groene Glorie","public_title":"O! de Toilette - Groene Glorie","options":["O! de Toilette - Groene Glorie"],"price":4895,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090907443424","featured_media":{"alt":"buttler toiletrolhouder","id":22121622929594,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348572346,"title":"Hygiëne desinfectie spray","option1":"Hygiëne desinfectie spray","option2":null,"option3":null,"sku":"BUTT0072","requires_shipping":true,"taxable":true,"featured_image":{"id":29763722772666,"product_id":6759520895162,"position":9,"created_at":"2021-10-07T15:14:23+02:00","updated_at":"2021-12-13T13:27:39+01:00","alt":"buttler toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-4
33531d7-97b4-7a7449931aa2.jpg?v=1639398459","variant_ids":[40575348572346]},"available":false,"name":"de Wasstraat toiletrolhouder - Hygiëne desinfectie spray","public_title":"Hygiëne desinfectie spray","options":["Hygiëne desinfectie spray"],"price":4095,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090907963960","featured_media":{"alt":"buttler toiletrolhouder","id":22121682436282,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-41d7-97b4-7a7449931aa2.jpg?v=1639398459"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40575348605114,"title":"Geen","option1":"Geen","option2":null,"option3":null,"sku":"BUTT0074","requires_shipping":true,"taxable":true,"featured_image":{"id":29763663986874,"product_id":6759520895162,"position":10,"created_at":"2021-10-07T15:08:01+02:00","updated_at":"2021-12-13T13:27:40+01:00","alt":"toiletrolhouder","width":2048,"height":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460","variant_ids":[40575348605114]},"available":true,"name":"de Wasstraat toiletrolhouder - Geen","public_title":"Geen","options":["Geen"],"price":3400,"weight":700,"compare_at_price":null,"inventory_management":"shopify","barcode":"6090904540584","featured_media":{"alt":"toiletrolhouder","id":22121623060666,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460"}},"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b.jpg?v=1627025253","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_02_80bcab43-4999-4adc-bb13-19cb891a9d78.jpg?v=1627025255","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_03_16743013-167a-4ba9-a03b-519534644171.jpg?v=1627025258","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-41d7-97b4-7a7449931aa2.jpg?v=1639398459","\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460","\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_1.png?v=1776419566","\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_2.png?v=1776419566","\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_1.png?v=1776419617"],"featured_image":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441","options":["Kies een spray naar keuze?"],"media":[{"alt":"toiletrolhouder","id":22121590063290,"position":1,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_grijs_579c077b-61f2-4cbb-835e-39166ebc1539.jpg?v=1639398441","width":2048},{"alt":"Iemand die het flesje pakt uit de Wasstraat en een stuk wc-papier pakt.","id":21372059746490,"position":2,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b.jpg?v=1627025253"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_01_7ddeddf7-0105-4402-a601-8238615d1f5b.jpg?v=1627025253","width":2048},{"alt":"Close-up van het logo van de Buttler Wasstraat.","id":21372060270778,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_02_80bcab43-4999-4adc-bb13-19cb891a9d78.jpg?v=1627025255"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_02_80bcab43-4999-4adc-bb13-19cb891a9d78.jpg?v=1627025255","width":2048},{"alt":"De Buttler wasstraat met telefoon en toiletpapier spray","id":21372061089978,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_03_16743013-167a-4ba9-a03b-519534644171.jpg?v=1627025258"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_Wasstraat_Gallery_03_16743013-167a-4ba9-a03b-519534644171.jpg?v=1627025258","width":2048},{"alt":"buttler toiletrolhouder","id":22121622929594,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_groene_glorie_grijs_72ff58a4-0095-41d0-b366-2852d10e9481.jpg?v=1639398447","width":2048},{"alt":"buttler toiletrolhouder","id":22121622962362,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Knisperend_katoen_grijs_696a58a3-d710-455b-aec8-e645ec24533f.jpg?v=1639398449","width":2048},{"alt":"buttler toiletrolhouder","id":22121622995130,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Noordse_nevel_grijs_af7d10d4-ce2d-416c-9562-efe354c9dc9c.jpg?v=1639398453","width":2048},{"alt":"buttler toiletrolhouder","id":22121623027898,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_brute_bloesem_grijs_f0b26766-f7ae-4d61-bfc9-1475d3454927.jpg?v=1639398452","width":2048},{"alt":"buttler toiletrolhouder","id":22121682436282,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-4
33531d7-97b4-7a7449931aa2.jpg?v=1639398459"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_Desinfectie_grijs_dbba9886-cbea-41d7-97b4-7a7449931aa2.jpg?v=1639398459","width":2048},{"alt":"toiletrolhouder","id":22121623060666,"position":10,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/products\/Buttler_de_Wasstraat_los_grijs.jpg?v=1639398460","width":2048},{"alt":null,"id":55874910028117,"position":11,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_1.png?v=1776419566"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_1.png?v=1776419566","width":1080},{"alt":null,"id":55874910060885,"position":12,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_2.png?v=1776419566"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_-_2.png?v=1776419566","width":1080},{"alt":null,"id":55874921791829,"position":13,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_1.png?v=1776419617"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/buttler.shop\/cdn\/shop\/files\/wasstraat_tesa_1.png?v=1776419617","width":1080}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e\u003cstrong\u003eJe auto gaat toch ook door de wasstraat. Waarom jij dan niet?\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eEen stijlvolle spray verdient natuurlijk een mooi en handig plekje op je toilet. Ook daar heeft BUTTLER aan gedacht. Zie hier: de Wasstraat. Een minimeubeltje voor op je toilet. Voor je toiletrol en je spray. En een veilige plek voor je mobiele telefoon. Of je lippenstift. Of je koffie. Maar vooral: je toiletpapier en je spray altijd bij de hand.\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eDe Wasstraat heeft een uniek design en is gemaakt van hoogwaardig staal. Elke toiletrol past in de houder en rolt perfect af. Niet alleen een veilige plek voor je toiletrol en spray, maar het voorkomt ook ongevraagde zwemles voor je mobiele telefoon.\u003c\/p\u003e"}, 3354 product_tags: [], 3355 amazon_pay: '' === 'true', 3356 themePopup: '' === 'true' || '' === 'true', 3357 root_url: '/', 3358 themeSkipCart: '' === 'redirect_checkout' 3359 || '' === 'true' 3360 || '' === 'skip_cart', 3361 3362 get is_precheckout() { 3363 return OCUIncart.is_precheckout; 3364 }, 3365 get upsell_cart_include_subscription_upsells() { 3366 var self = this; 3367 3368 var hasSubscription = this.product_tags.reduce(function(acc, tag) { 3369 return acc || ~self.postcheckout_tags.indexOf(tag.toLowerCase()); 3370 }, false); 3371 3372 return hasSubscription; 3373 }, 3374 get isThemePopupTag() { 3375 return this.product && this.product.tags.some(function(tag) { 3376 return /cross-sell-\d/.test(tag); 3377 }); 3378 }, 3379 get isSkipCartPage() { 3380 return /index|collection|product/.test(this.template_name); 3381 }, 3382 get isSkipCartCondition() { 3383 return (this.skip_cart || this.themeSkipCart) && this.isSkipCartPage && !this.isThemePopupTag; 3384 }, 3385 get checkoutUrl() { 3386 return (this.root_url === '/' ? '' : this.root_url) + '/checkout'; 3387 }, 3388 get isPopupTriggerPage() { 3389 return OCUIncart.popupLocation && !!~OCUIncart.popupLocation.indexOf(lqd.template_name); 3390 } 3391}; 3392 3393lqd.cart_products_json = lqd.cart_products_json.filter(function(item) { 3394 return item.handle && !item.error; 3395}); 3396 3397utils.shareableDiscount({ clear:false }); 3398 3399if (lqd.is_precheckout) requireOptionSelectors(); 3400 3401var ocuCdn="https://d1u9wuqimc88kc.cloudfront.net"; 3402function Application() { 3403 ajax = axios.create({ timeout: 8000 }); 3404 ajax.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 3405 3406 new PublicMethod(); 3407 new SkipCart(); 3408 new HistoryApi(); 3409 3410 this.setAttributes(); 3411} 3412 3413Application.prototype = { 3414 checkout: null, 3415 ocuSelectors: utils.store.get('ocuSelectors'), 3416 integrations: new Integrations(), 3417 helpers: new Helpers(), 3418 // verify: new Verify(), 3419 cart: new Cart(), 3420 utils: new ApplicationsUtils(), 3421 popupDispatcher: new PopupDispatcher(), 3422 3423 setAttributes: function() { 3424 if (/register|account|login|reset_password|search|^$/.test(lqd.template_name)) return; 3425
3426 const forEach = Array.prototype.forEach; 3427 const checkoutButtons = document.querySelectorAll(this.ocuSelectors); 3428 const links = document.querySelectorAll('a'); // for ios 3429 3430 forEach.call(checkoutButtons, function(item) { 3431 if (item.name === 'update') return; 3432 item.dataset.ocuCheckout = true; 3433 }); 3434 3435 forEach.call(links, function(link) { 3436 var isNeededHref = utils.store.get('permalink').test(link.href); 3437 if (isNeededHref) link.dataset.ocuCheckoutLink = true; 3438 }); 3439 3440 this.listenEvents(); 3441 setTimeout(this.helpers.showCheckoutButton); 3442 }, 3443 3444 check: function(event, target) { 3445 this.prevent(event); 3446 3447 var form = target.closest('[action="/cart"], [action="/checkout"]'); 3448 if (form && !this.validate(form)) { 3449 clearTimeout(utils.store.get('fallback').id); 3450 utils.store.set('submitted', false); 3451 return form.reportValidity(); 3452 } 3453 if (!utils.store.get('cartChanged')) return this.handle(target); 3454 3455 // utils.store.listen('cartChanged').then(function() {this.handle(target)}.bind(this)); 3456 }, 3457 3458 handle: function(target) { 3459 this.integrations.discounts(); 3460 3461 if (utils.store.get('checkoutButtonState')) return; 3462 // if (utils.store.get('submitted')) return; // TODO fix_ff_multi_requests_2384 3463 utils.store.set('checkoutButtonState', true); 3464 3465 this.helpers.payPal(target); 3466 this.checkout({ redirect: true }); 3467 // this.verify.init(target); 3468 }, 3469 3470 init: function(event, target) { 3471 var self = this; 3472 3473 if (lqd.template_name === 'cart' && utils.store.get('submitted')) { 3474 event.stopPropagation(); 3475 return event.preventDefault(); 3476 } 3477 utils.store.set('submitted', true); 3478 3479 this.fallbackRedirect(); 3480 3481 if (window.RevyApp) this.handleMonkeyPatching(); 3482 3483 if (!this.allowUpsells(target)) return; 3484 3485 if (lqd.template_name === 'product' && target.name === 'add' && !target.closest('form[action$="/cart/add"]')) { 3486 event.preventDefault(); 3487 event.stopPropagation(); 3488 const form = document.querySelector('form[action$="/cart/add"]'); 3489 return form.submit(); 3490 } 3491 const anyPrePurchases = window.OCUIncart && (OCUIncart.singleUpsells || OCUIncart.multipleUpsells); 3492 if (anyPrePurchases) { 3493 // self.prevent(event, true); 3494 return this.popupDispatcher.proceed(event, target, self); 3495 } 3496 3497 if (target.dataset.customBuyNow) { 3498 self.prevent(event); 3499 3500 var id = target.dataset.varientId; 3501 var qty = target.dataset.itemQuantity; 3502 var data = { id: id, quantity: qty }; 3503 var handle = function() { self.checkout({ redirect:true }) }; 3504 var onError = function() { alert('Network Error') }; 3505 3506 this.cart.add(null, null, data).then(handle).catch(onError); 3507 } 3508 3509 return this.check(event, target); 3510 }, 3511 3512 prevent: function(event, immediate) { 3513 event.preventDefault(); 3514 event.stopPropagation(); 3515 if (immediate) event.stopImmediatePropagation(); 3516 }, 3517 3518 validate: function(form) { 3519 var elems = form.querySelectorAll('[type="text"], [type="checkbox"], select, textarea'); 3520 3521 var requiredElems = Array.prototype.filter.call(elems, function(el) { 3522 if (el && ~utils.store.get('excludedRequiredFormIds').indexOf(el.form.id)) return false; 3523 3524 return el && el.required; 3525 }); 3526 3527 if (!requiredElems.length) return true; 3528 3529 return !requiredElems.some(function(el) { 3530 return !el.checkValidity(); 3531 }); 3532 }, 3533 3534 allowUpsells: function(el) { 3535 // if (window.mixed_cart) return; //integration with Recurring Orders & Subscriptions by Bold 3536 if (window.popup_upsell && !document.querySelector('#upsellclosebtn')) return; // integration with Product Upsell 3537 if (window.ol_checkout_ok instanceof Function && !ol_checkout_ok()) return; // integration with OrderLogic 3538 if (el.dataset.zpaSubmitButton === '') return; // integration with ZipifyPages CRM popup 3539 3540 return true; 3541 }, 3542 3543 fallbackRedirect: function() { 3544 var fallback = utils.store.get('fallback'); 3545 fallback.id = setTimeout(function() { this.checkout({ redirect:true }) }.bind(this), fallback.timeout); 3546 utils.store.set('fallback', fallback); 3547 }, 3548 3549 handleMonkeyPatching: function() { 3550 const send = utils.store.get('XHR').send; 3551 3552 if (XMLHttpRequest.prototype.send !== send) { 3553 XMLHttpRequest.prototype.send = send; 3554 } 3555 }, 3556 3557 handleClick: function(e) { 3558 if (lqd.template_name === 'page' && !e.isTrusted) return; 3559 3560 if (e.target.name === 'update' || e.target.closest('[name="update"]')) return; 3561 3562 if (!lqd.amazon_pay && e.target.closest('form[action^="https://payments.amazon"]')) return; 3563 3564 if (this.helpers.zpPreventRedirect(e.target)) return; 3565 3566 if (this.helpers.isBuyNow(e) && !lqd.isPopupTriggerPage) return new BuyNow(e); 3567 3568 // if (this.helpers.checkDirectCheckoutButtons(e.target)) { 3569 // e.target.dataset.ocuCheckout = true; 3570 // utils.store.set('redirect_url', '/checkout'); 3571 // } 3572 3573 if (e.target.dataset.ocuCheckoutLink || e.target.closest('[data-ocu-checkout-link]')) { 3574 e.preventDefault(); 3575 var href = (e.target.dataset.ocuCheckoutLink ? e.target : e.target.closest('[data-ocu-checkout-link]')).href; 3576 if (utils.store.get('isPermalinkHandling')) return; 3577 utils.store.set('isPermalinkHandling', true); 3578 var result = this.integrations.handlePermalink(href, 'redirect'); 3579 return result.promise.then(result.callback); 3580 } 3581
3582 if ((e.target.dataset.skipCart === 'true' || e.target.closest('[data-skip-cart]')) && utils.store.get('submitted')) { 3583 e.preventDefault(); 3584 e.stopPropagation(); 3585 e.stopImmediatePropagation(); 3586 return; 3587 } 3588 3589 var target = this.helpers.checkSelector(e.target); 3590 if (lqd.isPopupTriggerPage) target = this.helpers.checkAddToCart(e.target) || target; 3591 if (target) this.init(e, target); 3592 }, 3593 3594 handleMousedown: function(e) { 3595 var self = this; 3596 3597 if (e.target.dataset.skipCart !== 'true' && !e.target.closest('[data-skip-cart]')) return; 3598 3599 if (e.target.name === 'update' || e.target.closest('[name="update"]')) return; // 283fa429 3600 3601 if (this.helpers.zpPreventRedirect(e.target)) return; 3602 3603 var amazonForm = e.target.closest('form[action^="https://payments.amazon"]'); 3604 if (amazonForm && lqd.amazon_pay) { 3605 e.preventDefault(); 3606 e.stopPropagation(); 3607 3608 var path = { 3609 ocu: lqd.proxy_url + '/amazon/forward', 3610 shopify: amazonForm.querySelector('[name="redirectURL"]').value 3611 }; 3612 3613 var handle = function() { 3614 self.checkout() 3615 .then(function(res) { location = path[res.status ? 'ocu' : 'shopify'] }) 3616 .catch(function(res) { location = path.shopify }) 3617 }; 3618 3619 var onError = function(form) { 3620 form.submit(); 3621 }; 3622 3623 if (!e.target.closest('form[action="/cart/add"]')) return handle(); 3624 3625 var cart = document.querySelector('form[action="/cart/add"]'); 3626 var button = amazonForm.querySelector('[type="submit"]'); 3627 return self.cart.add(cart, button, path).then(handle).catch(onError.bind(null, amazonForm)); 3628 } 3629 3630 var form = e.target.closest('form[action="/cart/add"]') || document.querySelector('form[action="/cart/add"]'); 3631 var button = e.target.dataset.skipCart === 'true' ? e.target : e.target.closest('[data-skip-cart]'); 3632 3633 if (!form) return; 3634 3635 e.preventDefault(); 3636 e.stopPropagation(); 3637 utils.store.set('submitted', true); 3638 3639 var handle = function() { self.checkout({ redirect:true }) }; 3640 var onError = function(form) { form.submit(); }; 3641 return self.cart.add(form, button).then(handle).catch(onError.bind(null, form)); 3642 }, 3643 3644 handleFocus: function() { 3645 // handle cart drawers focus event for iOS select 3646 window.addEventListener('focus', function(e) { 3647 e.stopImmediatePropagation(); 3648 }, true); 3649 }, 3650 3651 listenEvents: function() { 3652 const touchEventConfig = { 3653 capture: true, 3654 passive: false 3655 }; 3656 3657 const onClick = function(e) { 3658 if (window.OCUDisableEvents) return; 3659 this.handleClick(e); 3660 }.bind(this); 3661 3662 document.addEventListener('mousedown', this.integrations.amazonPay.bind(this), true); 3663 document.addEventListener('touchstart', onClick, touchEventConfig); 3664 document.addEventListener('click', onClick, true); 3665 window.addEventListener('pagehide', this.helpers.disableButtons); 3666 3667 window.addEventListener('locationchange', function() { 3668 document.removeEventListener('click', onClick, true); 3669 document.addEventListener('click', onClick, true); 3670 }.bind(this)); 3671 3672 window.addEventListener('pageshow', function(e) { 3673 if (e.persisted) location.reload(); 3674 this.helpers.disableButtons(); 3675 }.bind(this)); 3676 3677 // if (lqd.template_name !== 'cart') return; 3678 // document.addEventListener('mousedown', this.cart.update.bind(this), true); 3679 // document.addEventListener('change', this.cart.state.bind(this)); 3680 } 3681}; 3682 3683function amazonPay(e) { 3684 const self = this; 3685 const amazonForm = e.target.closest('form[action^="https://payments.amazon"]'); 3686 3687 if (!amazonForm || !lqd.amazon_pay) return; 3688 3689 e.preventDefault(); 3690 e.stopPropagation(); 3691 3692 utils.store.set('amazonPayInitiated', true); 3693 3694 const addForm = e.target.closest('form[action="/cart/add"]'); 3695 const path = lqd.proxy_url + '/amazon/forward'; 3696 3697 const getToken = function(url) { 3698 const escaped = lqd.proxy_url.replace(/\//g, '\\/'); 3699 const reg = new RegExp(escaped + '\\/((?:\\w+[-_]?)+)\\/?'); 3700 const match = reg.exec(url); 3701 3702 return match && match[1]; 3703 }; 3704 3705 const fallback = function() { 3706 amazonForm.submit(); 3707 }; 3708 3709 const onSuccess = function(res) { 3710 if (!res.status) return fallback(); 3711 3712 const token = getToken(res.checkout_url); 3713 if (!token) return fallback(); 3714 3715 utils.cookie.set('ocu_checkout_token', token); 3716 location.assign(path); 3717 }; 3718 3719 if (!addForm) { 3720 return self.checkout().then(onSuccess).catch(fallback); 3721 } 3722 3723 const cart = document.querySelector('form[action="/cart/add"]'); 3724 const button = amazonForm.querySelector('[type="submit"]'); 3725 3726 self.cart.add(cart, button) 3727 .then(self.checkout) 3728 .then(onSuccess) 3729 .catch(fallback); 3730} 3731 3732function Bold() { 3733 this.isBoldRecuring = function() { 3734 var boldRecurringEl = document.querySelector('[data-bold-recurring]'); 3735 var isBoldRecuring = boldRecurringEl && boldRecurringEl.checked; 3736 return isBoldRecuring; 3737 }; 3738 3739 this.upsellPopup = function(target) { 3740 var modalButtons = [ 3741 target.querySelector('[data-bold-component-id="upsell_continue"]'), 3742 target.querySelector('[data-bold-component-id="upsell_no_thanks"]'), 3743 target.querySelector('#bold-modal__btn-close') 3744 ]; 3745 3746 modalButtons.forEach(function(item) { 3747 if (!item) return; 3748 item.addEventListener('click', function(e) { 3749 setTimeout(function() { 3750 self.checkout({ redirect: true }); 3751 }, 500); 3752 }); 3753 }); 3754 }; 3755 3756 this.initRecurring = function() { 3757 var clones = document.querySelectorAll('[data-ocu-clone]'); 3758 var clone = Array.prototype.filter.call(clones, function(i) { return i && !i.dataset.ocuCheckout; })[0]; 3759 if (clone) clone.click(); 3760 }; 3761 3762 this.redirect = function(event) { 3763 if (!window.BOLD || !BOLD.recurring_orders || !BOLD.recurring_orders.app || !event.isTrusted) throw new Error('Bold Recurring not found'); 3764 if(!BOLD.common.cartDoctor.cart.is_recurring) throw new Error('Bold Recurring cart error'); 3765 3766 event.preventDefault(); 3767 event.stopImmediatePropagation(); 3768 BOLD.recurring_orders.app.cartWidget.checkoutEvent = event; 3769 BOLD.recurring_orders.app.cartWidget.checkRecurringCheckout(event); 3770 }, 3771 this.recurring = function(form, token) { 3772 var cfg = { 3773 protocol: 'https://', 3774 host: 'recurringcheckout.com', 3775 proxy: '/s/', 3776 permanent: /(\w+)\.myshopify\.com/.exec(BOLD.common.Shopify.shop.permanent_domain)[1], 3777 path: '/checkout/recurring/', 3778 query: '?shop_url=' + location.host 3779 }; 3780
3781 form.action = cfg.protocol + cfg.host + cfg.proxy + cfg.permanent + cfg.path + token + cfg.query; 3782 form.submit(); 3783 }; 3784} 3785 3786function BuyNowBtns() { 3787 if (!lqd.themeSkipCart) return; 3788 3789 const self = this; 3790 3791 const buyNowBtn = document.querySelector('button[id="AddToCart"]'); 3792 if (!buyNowBtn) return; 3793 3794 const innerTextEl = buyNowBtn.querySelector('#AddToCartText'); 3795 if (!/buy\s*(it)?\s*now/i.test(innerTextEl && innerTextEl.innerText)) return; 3796 3797 const cb = function() { self.checkout({ redirect: true }); }; 3798 const onError = function(form) { form.submit() }; 3799 3800 buyNowBtn.addEventListener('click', function(e) { 3801 e.preventDefault(); 3802 const form = buyNowBtn.closest('form[action="/cart/add"]'); 3803 self.cart.add(form, e.target).then(cb).catch(onError.bind(null, form)); 3804 }); 3805} 3806 3807function HandlePermalink(url, redirect) { 3808 var self = this; 3809 var reg = utils.store.get('permalink'); 3810 var match = reg.exec(url); 3811 var cfg = { redirect: redirect }; 3812 3813 if (!match) return { 3814 promise: new Promise(function(resolve) { resolve({ checkout_url: url }); }), 3815 callback: function(res) { 3816 return redirect ? location.assign(url) : new Promise(function(resolve) { resolve(res); }) 3817 } 3818 }; 3819 3820 var discount = match[2]; 3821 if (discount) cfg.params = [{ discount: discount }]; 3822 3823 var groups = match[1].split(','); 3824 3825 var data = groups.reduce(function(acc, item, i, arr) { 3826 var id = +item.split(':')[0]; 3827 var qty = +item.split(':')[1]; 3828 3829 var cartItem = lqd.cart_variants_json.filter(function(item) { return item.id === id })[0]; 3830 if (cartItem) qty += cartItem.quantity; 3831 3832 if (acc) acc += '&'; 3833 return acc += 'updates[' + id + ']=' + qty; 3834 }, ''); 3835 3836 return { 3837 promise: self.cart.bulkAdd(data), 3838 callback: function() { return self.checkout(cfg); } 3839 }; 3840} 3841 3842function CartDrawer(target) { 3843 var form = target.querySelector('form[action="/cart"]'); 3844 var btn = form && form.querySelector('input[type="submit"]'); 3845 if (!btn) return; 3846 3847 btn.type = 'button'; 3848 btn.addEventListener('click', function(e) { 3849 self.checkout({ redirect: true }); 3850 }); 3851} 3852 3853function CartPopup() { 3854 var btn = document.querySelector('.bkt--upsell-target-checkout'); 3855 if (!btn) return; 3856 3857 var cfg = { 3858 tag: 'input ', 3859 type: 'type="button" ', 3860 style: 'style="position:absolute;left:0;top:0;width:100%;height:100%;cursor:pointer;opacity:0" ', 3861 data: 'data-ocu-dialog-btn ' 3862 }; 3863 3864 btn.style.position = 'relative'; 3865 btn.insertAdjacentHTML('beforeend','<'+cfg.tag+cfg.type+cfg.style+cfg.data+'>'); 3866 3867 var clone = document.querySelector('[data-ocu-dialog-btn]'); 3868 clone.addEventListener('click', function(e) { 3869 e.stopPropagation(); 3870 btn.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="bkt--nc-icon" x="0px" y="0px" width="64px" height="15px" viewBox="0 0 64 64"><g><circle class="nc-dots-7-2" data-color="color-2" fill="#445FFF" cx="32" cy="32" r="26" transform="translate(6.26687999999989 6.26687999999989) scale(0.8041600000000034)" style="opacity:0.8041600000000034"></circle><circle class="nc-dots-7-1" fill="#445FFF" cx="-72" cy="32" r="26" transform="translate(3.2332800000000272 12.933120000000109) scale(0.5958399999999966)" style="opacity:0.5958399999999966"></circle><circle class="nc-dots-7-3" fill="#445FFF" cx="132" cy="32" r="26" transform="translate(33.6 19.2) scale(0.4)" style="opacity:0.4"></circle></g></svg>'; 3871 function setAttributes(e,t){for (var i in t)e.setAttribute(i,t[i]);} function dotsSevenStep(e){startDots7||(startDots7=e);var t=e-startDots7,n=Math.min(t/250,4);n=4==n?0:n,decimalRot=n%1,upperInteger=Math.ceil(n),1e3>t||(startDots7+=1e3);if (circleDots7[0][0]){window.requestAnimationFrame(dotsSevenStep);var a=[],r=[],o=[],s=[-72,32,132],c=[32,32,32];for (j = 0; circleDots7Number > j ; j++) {for (a[0]=a[1]=a[2]=.4,1==upperInteger?(a[0]=1-3*decimalRot/5,a[1]=.4+3*decimalRot/5):2==upperInteger?(a[1]=1-3*decimalRot/5,a[2]=.4+3*decimalRot/5):3==upperInteger?(a[1]=.4+3*decimalRot/5,a[2]=1-3*decimalRot/5):4==upperInteger?(a[0]=.4+3*decimalRot/5,a[1]=1-3*decimalRot/5):a[0]=1,i=0;3>i;i++)r[i]=(1-a[i])*s[i],o[i]=(1-a[i])*c[i],setAttributes(circleDots7[i][j],{ 3872transform: 'translate('+r[i]+' '+o[i]+') scale('+a[i]+')', 3873style: 'opacity:'+a[i]+';' 3874});}}}!function(){var e=0;window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var i=(new Date).getTime(),n=Math.max(0,16-(i-e)),a=window.setTimeout(function(){t(i+n);},n);return e=i+n,a;});}();var circleDots7=[],startDots7=null;circleDots7[0]=document.getElementsByClassName('nc-dots-7-1'),circleDots7[1]=document.getElementsByClassName('nc-dots-7-2'),circleDots7[2]=document.getElementsByClassName('nc-dots-7-3'),circleDots7Number = circleDots7[0].length,window.requestAnimationFrame(dotsSevenStep); 3875 self.checkout({ redirect: true }); 3876 }); 3877} 3878 3879function CheckoutLinks() { 3880 var checkoutLinks = document.querySelectorAll('a[href="/checkout"]'); 3881 3882 Array.prototype.forEach.call(checkoutLinks, function(link) { 3883 if (!link) return; 3884 3885 link.addEventListener('click', function(e) { 3886 e.stopPropagation(); 3887 e.preventDefault(); 3888 self.checkout({ redirect: true }); 3889 }); 3890 }); 3891} 3892 3893function Discounts() { 3894 var discount = document.querySelector('input[name="discount"]'); 3895 var discountCC = utils.cookie.get('discount_code'); // integration with CouponCountdown
3896 var discountShare = utils.cookie.get('ocu-share-discount'); 3897 var isPopupShown = utils.cookie.get('popupcookie'); 3898 3899 if (window._chpmgr && !isPopupShown) return; // integration with chilliapps exit popup 3900 if (!discount && !discountCC && !discountShare) return; 3901 3902 var code; 3903 if (discount) code = discount.value; 3904 if (discountCC) { 3905 code = discountCC; 3906 utils.cookie.remove('discount_code'); 3907 } 3908 3909 if (discountShare) { 3910 code = discountShare; 3911 utils.cookie.remove('ocu-share-discount'); 3912 } 3913 3914 var param = { 3915 name: 'discount', 3916 value: encodeURIComponent(code) 3917 }; 3918 3919 var params = utils.store.get('params'); 3920 3921 if (discountShare && lqd.template_name === 'page' || !param.value) return; // zp & shareable discount 3922 3923 params.arr.push(param); 3924 utils.store.set('params', params); 3925} 3926 3927function Recharge() { 3928 var self = this; 3929 3930 this.isSubscription = function(res) { 3931 const cart = res.cart || res.data.cart || res.data; 3932 3933 return cart.items.some(function(item) { 3934 return item.properties && (item.properties.subscription_id || item.properties.shipping_interval_frequency); 3935 }); 3936 }; 3937 3938 this.processCart = function() { 3939 window.reChargeProcessCart = function() { 3940 self.checkout({ redirect: true }); 3941 }; 3942 }; 3943 3944 this.redirect = function(event, cart, checkoutUrl) { 3945 let checkout_url = "https://checkout.rechargeapps.com"; 3946 function buildCheckoutUrl(){var t=["myshopify_domain="+Shopify.shop];return checkout_url+"/r/checkout?"+(t=t.concat(get_cart_token()).concat(get_ga_linker())).join("&")}function filterVisible(t){return t.filter(function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)})}function filterValues(t){return t.filter(function(t){var e="radio"===t.getAttribute("type")&&t.checked,n="checkbox"===t.getAttribute("type")&&t.checked,r="checkbox"!==t.getAttribute("type")&&"radio"!==t.getAttribute("type");return!!t.value&&(r||e||n)})}function getCartJSON(){return fetch("/cart.js").then(function(t){return t.json()}).then(function(t){return{cart:JSON.stringify(t)}}).catch(function(t){return console.error("Error retreiving cart: ",t),{cart:{}}})}function getTermsAndConditions(){var t=document.querySelectorAll(["#terms","#agree"].join(",")),e=filterValues(Array.prototype.slice.apply(t)).map(function(t){return t.value});return e.length?{terms_and_conditions:e.join(", ")}:{}}function getNotes(){var t=document.querySelectorAll(['[name="note"]'].join(",")),e=filterVisible(Array.prototype.slice.apply(t)).map(function(t){return t.value}),n=new URLSearchParams(decodeURIComponent(window.location.search)).get("note");return n&&e.push(n),e.length?{note:e.filter(function(t,e,n){return n.indexOf(t)===e}).join(", ")}:""}function getUTMAttributes(){var t=/^_shopify_sa_p/,e=/^utm_/,n=/^_shopify_sa_t/,r={},o="",i="";document.cookie.split(";").map(function(t){return t.trim()}).forEach(function(e){t.test(e)&&(o=e),n.test(e)&&(i=decodeURIComponent(e.split("=")[1]))});var c=o.split("=")[1];if(decodeURIComponent(c).split("&").forEach(function(t){var n=t.split("=")[0],o=t.split("=")[1];if(e.test(n))return r[n]=o}),Object.keys(r).length)return r.utm_timestamp=i,r.utm_data_source="shopify_cookie",r}function getAttributes(){var t=/attributes\[(.*?)\]/,e=/\[(.*?)\]/,n=document.querySelectorAll(['[name*="attributes"]'].join(",")),r=filterValues(Array.prototype.slice.apply(n)),o={},i=getUTMAttributes(),c=new URLSearchParams(decodeURIComponent(window.location.search));for(let n of c)if(t.test(n[0])){var u=n[0].match(e)[0];u=u.substring(1,u.length-1),o[u]=c.get(n[0])}return r.forEach(function(n){var r=n.getAttribute("name"),i=n.value;if(t.test(r)){var c=r.match(e)[0];return c=c.substring(1,c.length-1),o[c]=i}return o[r]=i}
3946),i&&Object.keys(i).forEach(function(t){o[t]=i[t]}),Object.keys(o).length?{attributes:Object.assign({},o)}:{}}function getCartData(){return getCartJSON().then(function(t){var e={};return[getTermsAndConditions(),getNotes(),getAttributes(),e=t].forEach(function(t){Object.assign(e,t)}),e})}function get_cart_token(){try{return["cart_token="+(document.cookie.match("(^|; )cart=([^;]*)")||0)[2]]}catch(t){return[]}}function get_ga_linker(){try{return[ga.getAll()[0].get("linkerParam")]}catch(t){return[]}}function buildInputs(t,e){Object.keys(e).forEach(function(n){var r=document.createElement("input");r.setAttribute("type","hidden"),r.setAttribute("name",n),r.setAttribute("value","object"==typeof e[n]?JSON.stringify(e[n]):e[n]),t.appendChild(r)})}function buildForm(t,e){var n=document.createElement("form");return n.setAttribute("method","post"),n.setAttribute("action",e),n.setAttribute("id","rc_form"),n.style.display="none",buildInputs(n,t),n}function hasSubscription(t){return[...JSON.parse(t.cart).items].some(t=>t.properties&&t.properties.shipping_interval_unit_type)}function ReChargeCartSubmit(){return getCartData().then(function(t){if(hasSubscription(t)){var e=buildCheckoutUrl();if(t){var n=new XMLHttpRequest;n.open("POST","/cart/update.js"),n.setRequestHeader("Content-Type","application/json"),n.onload=function(){200===n.status?window.console.log("done",JSON.parse(n.responseText)):200!==n.status&&window.console.log("fail",JSON.parse(n.responseText));var r=buildForm(t,e);document.body.appendChild(r),r.submit()},n.send(JSON.stringify(t))}else window.location.href=e}else window.location.href=checkoutUrl||"/checkout"})} 3947 ReChargeCartSubmit(); 3948 }; 3949} 3950 3951function smar7() { 3952 var self = this; 3953 3954 var isSmar7Installed = ~document.head.innerHTML.indexOf('bundle-upsell'); 3955 if (!isSmar7Installed) return; 3956 3957 var ctaBtns = document.querySelectorAll("[name='checkout'], [href^='/checkout'], form[action='/checkout'] [type='submit'], #checkout, [name='goto_pp'], .checkout_button"); 3958 Array.prototype.forEach.call(ctaBtns, function(btn) { 3959 btn.disabled = true; 3960 }); 3961 3962 var i = 0; 3963 var int = setInterval(function() { 3964 if ((++i && i > 7) || (window.SMAR7 && SMAR7.bundle)) { 3965 Array.prototype.forEach.call(ctaBtns, function(btn) { 3966 btn.disabled = false; 3967 }); 3968 clearInterval(int); 3969 } 3970 }, 3000); 3971 3972 var redirect = function(discount) { 3973 var button, path, params = utils.store.get('params'); 3974 3975 if (discount) { 3976 SMAR7.util.setCookie('smar7coupon', discount, 3600); 3977 3978 params.arr.push({ 3979 name: 'discount', 3980 value: encodeURIComponent(discount) 3981 }); 3982 } else { 3983 discount = SMAR7.bundle.helper.determineCoupon && SMAR7.bundle.helper.determineCoupon(); 3984 } 3985 3986 if (SMAR7.paypal) {
3987 path = '/checkout?goto_pp=paypal_express&discount=' + encodeURIComponent(discount); 3988 button = document.querySelector('[name="goto_pp"]'); 3989 } else { 3990 path = '/checkout?discount=' + encodeURIComponent(discount); 3991 button = document.querySelector( 3992 '[name="checkout"], [href="/checkout"], form[action="/checkout"] input[type="submit"], #checkout' 3993 ); 3994 } 3995 3996 utils.store.set('params', params); 3997 self.checkout({ redirect: true }); 3998 }; 3999 4000 var handle = function() { 4001 if (window.SMAR7 && SMAR7.bundle) SMAR7.bundle.redirect = redirect; 4002 }; 4003 4004 document.addEventListener('click', handle, true); 4005}; 4006 4007function Integrations() { 4008 var self = this; 4009 var bold = new Bold(); 4010 var recharge = new Recharge(); 4011 4012 this.list = { 4013 bold: { 4014 get isInstalled() { return window.BOLD && BOLD.apps_installed; }, 4015 get productOptions() { return this.isInstalled && BOLD.apps_installed['Product Options']; }, 4016 get productUpsell() { return this.isInstalled && BOLD.apps_installed['Product Upsell']; }, 4017 }, 4018 recharge: { 4019 isSubscriptionProduct: function(cart) { 4020 return cart.items.some(function(item) { 4021 return item.properties && (item.properties.subscription_id || item.properties.shipping_interval_frequency); 4022 }); 4023 } 4024 } 4025 }; 4026 4027 4028 // for future integartion 4029 this.boldUpsellCheckoutOffer = function() { 4030 if (!window.BOLD || !window.Shopify) return; 4031 4032 var data = { 4033 data: { 4034 cart: { 4035 items: lqd.cart.items, 4036 total_price: lqd.cart.total_price 4037 } 4038 } 4039 }; 4040 4041 return ajax.request({ 4042 method: 'post', 4043 url: window.BOLD.upsell.path + window.Shopify.shop + '/validate_checkout_offer', 4044 data: JSON.stringify(data) 4045 }); 4046 }; 4047 4048 this.needSkipClick = this.list.bold.productOptions || this.list.bold.productUpsell; 4049 4050 this.start = function() { 4051 if (!lqd.upsell_cart_include_upsells) return; 4052 if (lqd.template_name !== 'cart') this.main(); 4053 // try { 4054 // this[(lqd.template_name === 'cart' ? 'cart' : 'main')](); 4055 // } catch (e) { console.warn(e); } 4056 }; 4057 4058 this.main = function() { 4059 var handleMutation = function(mutation) { 4060 if ( 4061 mutation.type !== 'attributes' 4062 || mutation.target !== document.querySelector(self.ocuSelectors) 4063 || !/cart-?(popup|container|drawer)/i.test(mutation.target.id) 4064 || !/bold-upsell-modal-window/i.test(mutation.target.id) 4065 ) return; 4066 4067 if (mutation.target.id === 'bold-upsell-modal-window') { 4068 return self.boldUpsellPopup(mutation.target); 4069 } 4070 4071 var checkoutButtons = document.querySelectorAll(self.ocuSelectors); 4072 // var dataOcuCheckoutValue = checkoutButtons[0].dataset.ocuCheckout === 'true'; 4073 var dataDisableRechargeValue = checkoutButtons[0].dataset.disableRecharge === 'true'; 4074 var forEach = Array.prototype.forEach; 4075 4076 forEach.call(checkoutButtons, function(item) { 4077 if (item.innerHTML === 'Checkout') item.removeAttribute('onclick'); // Integration with AceCase store 4078 }); 4079 4080 // if (!dataOcuCheckoutValue) { // Integration with MyDietChief store 4081 // Array.prototype.forEach.call(checkoutButtons, function(item) {s 4082 // item.dataset.ocuCheckout = true; 4083 // }); 4084 // } 4085 4086 if (lqd.disabled_by_subscription_app && dataDisableRechargeValue) return; 4087 4088 forEach.call(checkoutButtons, function(item) { 4089 item.disableRecharge = true; 4090 }); 4091 4092 self.cartPopup(); 4093 self.cartDrawer(mutation.target); 4094 self.checkoutLinks(); 4095 self.listenEvents(); 4096 }; 4097 4098 var handleMutations = function(mutations) { mutations.forEach(handleMutation); }; 4099 4100 var config = { 4101 childList: true, 4102 subtree: true, 4103 attributes: true 4104 }; 4105 4106 new MutationObserver(handleMutations).observe(document, config); 4107 4108 self.buyNowBtns(); 4109 self.recharge.processCart(); 4110 self.revy(); 4111 }; 4112 4113 // this.cart = function() { 4114 // // var handleMutation = function(mutation) { 4115 // // var target = document.querySelector(self.ocuSelectors); 4116 // // if (mutation.type === 'attributes' && mutation.target === target) { 4117 // // self.smar7(); 4118 // // } 4119 // // }; 4120 4121 // // var handleMutations = function(mutations) { mutations.forEach(handleMutation); }; 4122 4123 // // var config = { 4124 // // subtree: true, 4125 // // attributes: true 4126 // // }; 4127 4128 // // new MutationObserver(handleMutations).observe(document, config); 4129 4130 // self.revy(); 4131 // }; 4132 4133 this.revy = function() { 4134 if (window.RevyApp && RevyApp.events) RevyApp.events.updatedCart = []; 4135 }; 4136 4137 this.discounts = Discounts; 4138 this.smar7 = smar7; 4139 this.isBoldRecuring = bold.isBoldRecuring; 4140 this.boldRecurring = bold.initRecurring; 4141 this.bold = bold; 4142 this.boldUpsellPopup = bold.upsellPopup; 4143 this.cartPopup = CartPopup; 4144 this.cartDrawer = CartDrawer; 4145 this.checkoutLinks = CheckoutLinks; 4146 this.handlePermalink = window.oneClickUpsellHandlePermalink = HandlePermalink.bind(this); 4147 this.buyNowBtns = BuyNowBtns; 4148 this.recharge = recharge; 4149 this.amazonPay = amazonPay; 4150 // this.amazonPay = function() { AmazonPay(self) }; 4151 4152 this.start(); 4153} 4154 4155function HistoryApi() { 4156 history.pushState = (function(f) { 4157 return function() { 4158 var result = f.apply(this, arguments); 4159 window.dispatchEvent(new Event('pushState')); 4160 window.dispatchEvent(new Event('locationchange')); 4161 return result; 4162 }; 4163 })(history.pushState); 4164 4165 history.replaceState = (function(f) { 4166 return function() { 4167 var result = f.apply(this, arguments); 4168 window.dispatchEvent(new Event('replaceState')); 4169 window.dispatchEvent(new Event('locationchange')); 4170 return result; 4171 }; 4172 })(history.replaceState); 4173 4174 window.addEventListener('popstate', function() { 4175 window.dispatchEvent(new Event('locationchange')); 4176 }); 4177} 4178 4179// function Verify() { 4180// var self = this; 4181// var target; 4182 4183// this.init = function(target) { 4184// target = target; 4185 4186// if (window.catchXHR) { 4187// catchXHR = false;
4188// XMLHttpRequest.callbacks = []; 4189// } 4190// if (window.beeketingWPJP) beeketingWPJP = {}; 4191 4192// self.checkout() 4193// .then(self.handle) 4194// .catch(self.helpers.redirect); 4195// }; 4196 4197// this.data = function() { 4198// var options = { 4199// method: 'get', 4200// url: self.helpers.getProxyUrl() + utils.store.get('lqdCart') 4201// }; 4202 4203// return ajax.request(options); 4204// }; 4205 4206// this.upsells = function(res) { 4207// if (self.integrations.recharge.isSubscription(res)) { 4208// var url = self.integrations.recharge.init(res, target); 4209// utils.store.set('redirect_url', url); 4210// res.data.redirect_url = url; 4211 4212// if (!lqd.integrate_with_recharge) { 4213// return new Promise(function(resolve) { resolve(res); }); 4214// } 4215// } 4216 4217// res = self.cart.modify(res); 4218 4219// const cart = res.data; 4220// return self._addToken(cart) 4221// .then(function(c) { 4222// return self._makeCheckUpsells(c, res); 4223// }); 4224// }; 4225 4226// this.handle = function(res) { 4227// // var isAppSkipCart = lqd.skip_cart && /index|collection|product/.test(lqd.template_name); 4228// // var isThemeSkipCart = lqd.themeSkipCart; 4229// // if (cart.redirect_url) return location = cart.redirect_url; 4230// if (!res.status && !lqd.themeSkipCart) return self.helpers.redirect(res); 4231// // if (!res.status && !lqd.themeSkipCart) return location.assign('/cart'); 4232 4233// location = res.status || lqd.themeSkipCart 4234// ? res.checkout_url 4235// : '/cart'; 4236// }; 4237 4238// this._makeCheckUpsells = function(cart, res) { 4239// cart.items = self.helpers.filterCartItemFields(cart.items); 4240 4241// const data = { 4242// shop_domain: lqd.current_domain, 4243// cart: cart, 4244// require_paypal: utils.store.get('requirePayPal'), 4245// customer: { id: res.data.customer_id }, 4246// incarts: utils.store.get('incarts') 4247// // incarts: { 47: { status: 'declined', shopify_variant_id: 16052480475207, quantity: 1, shown_at: Date.now() }} 4248// // incarts: { 47: { status: 'offered', shopify_variant_id: 16052480475207, quantity: 1, shown_at: Date.now() }} 4249// }; 4250 4251// const options = { 4252// method: 'post', 4253// url: self.helpers.getProxyUrl() + utils.store.get('checkUpsells'), 4254// data: utils.serialize(data, { indices: true }) 4255// }; 4256 4257// return ajax.request(options); 4258// }; 4259 4260 4261// this._addToken = function(cart) { 4262// const store_token = utils.store.get('cart_token'); 4263// return new Promise(function(resolve, reject) { 4264// if (!cart.token && store_token) { 4265// cart.token = store_token; 4266// resolve(cart); 4267// } else if (!cart.token) { 4268// self.cart.get().then(function(res) { 4269// cart.token = res.data.token; 4270// resolve(cart); 4271// }); 4272// } else { 4273// resolve(cart); 4274// } 4275// }); 4276// } 4277// }; 4278 4279const appendChain = window.Symbol ? Symbol('appendChain') : 'oneClickUpsellAppendChain'; 4280Object[appendChain]=function(t,o){for(var n=o,e=o2nd=oLast=t instanceof this?t:new t.constructor(t),r=this.getPrototypeOf(o2nd);r!==Object.prototype&&r!==Function.prototype;r=this.getPrototypeOf(o2nd))o2nd=r;return o.constructor===String&&(n=Function.prototype,e=Function.apply(null,Array.prototype.slice.call(arguments,1)),this.setPrototypeOf(e,oLast)),this.setPrototypeOf(o2nd,n),e}; 4281 4282function Updater(res) { 4283 this.res = res; 4284 this.cart = res && res.data.cart; 4285 this.isCartUpdated = utils.store.get('cartUpdated'); 4286 this.isOfferDeclined = utils.store.get('offerDeclined'); 4287 this.options = { 4288 add: { method: 'post', url: '/cart/add.js' }, 4289 change: { method: 'post', url: '/cart/change.js' }, 4290 update: { method: 'post', url: '/cart/update.js' } 4291 }; 4292 this.regs = { 4293 attributes: /\[(.+?)\]/, 4294 key: /(?:(?:updates|quantity)_(?:.*?))?(\d+:\w+)/, 4295 id: /(?:(?:updates|quantity)_(?:.*?))?(\d+):?/ 4296 }; 4297 this.selectors = { 4298 form: 'form[action^="/checkout"], form[action^="/cart"]', 4299 attributes: '[name^="attributes["]', 4300 currency: '[name="currency"]', 4301 geolocation_currency: 'form[action="/localization"] input[name="currency_code"]', 4302 updates: '[name^="updates["], [data-cart-item-input-quantity], [data-cart-item-quantity], input[data-line]', 4303 note: '[name="note"]', 4304 cartItemKey: '[data-cart-item-key]' 4305 }; 4306 this.data = { 4307 currency: lqd.shop_currency, 4308 attributes: {}, 4309 lineItems: [], 4310 updates: {}, 4311 changes: [], 4312 sameIds: [], 4313 note: '' 4314 }; 4315 this.payload = { 4316 updates: {}, 4317 currency: '', 4318 note: null, 4319 attributes: {} 4320 }; 4321} 4322Updater.prototype = { 4323 init: function() { 4324 if (this.isCartUpdated && !this.isOfferDeclined) return this.resolve(this.res); 4325 if (!this.form) return this.updateCurrency(); 4326 4327 this.buildPayload(); 4328 if (this.res) return this.updateCart(); 4329 } 4330}; 4331const UpdaterRequests = { 4332 updateCart: function(data, isUpgrade) { 4333 const options = this._getOptions('update', data, isUpgrade); 4334 const params = isUpgrade && data.changeData; 4335 const updateCart = function() { return ajax.request(options); }; 4336 4337 return this._updateSameId(params).then(updateCart); 4338 }, 4339 addToCart: function(data) { 4340 const options = this._getOptions('add', data); 4341 4342 return ajax.request(options); 4343 }, 4344 changeCart: function(data, chain) { 4345 const options = this._getOptions('change', data); 4346 const request = !chain || chain instanceof Object 4347 ? ajax.request(options) 4348 : function() { return ajax.request(options); }; 4349 4350 return request; 4351 }, 4352 updateCurrency: function() { 4353 if (!this.needCurrencyUpdate) return this.resolve(this.res); 4354 4355 this.getCurrency(); 4356 const options = this._getOptions('update', { currency: this.data.currency }); 4357 4358 return ajax.request(options).catch(this.resolve.bind(this, this.res)); 4359 },
4360 _updateSameId: function(changeData) { 4361 if (!this.data.sameIds.length || !changeData) return this.resolve(false); 4362 4363 const allRequests = this._getCartChangeRequests(changeData); 4364 const requestChain = this._requestChain(allRequests); 4365 4366 return new Promise(requestChain.bind(this)); 4367 }, 4368 _getCartChangeRequests: function(changeData) { 4369 const cb = function(acc, change) { 4370 if (!change.id && !change.line) return acc; 4371 if (changeData) { 4372 const id = changeData.id; 4373 const line = changeData.__line || changeData.line; 4374 const isUpgradeItem = change.line === line || (id && change.id === id); 4375 if (isUpgradeItem) return acc; 4376 } 4377 4378 delete change.__variantId; 4379 acc.push(this.changeCart(change, 'chain')); 4380 4381 return acc; 4382 }; 4383 4384 return this.data.changes.reduce(cb.bind(this), []); 4385 }, 4386 _requestChain: function(allRequests) { 4387 return function(resolve, reject) { 4388 if (!allRequests.length) return resolve(false); 4389 !function createRequest() { 4390 const req = allRequests.pop(); 4391 const cb = function(res) { 4392 if (allRequests.length) return createRequest(); 4393 resolve(res); 4394 }; 4395 4396 return req().then(cb).catch(reject); 4397 }(); 4398 } 4399 }, 4400 _getOptions: function(type, data, isUpgrade) { 4401 const options = Object.assign({}, this.options[type]); 4402 options.data = isUpgrade ? data.updateData : (data || this.payload); 4403 return options; 4404 } 4405}; 4406const UpdaterPayload = { 4407 buildPayload: function() { 4408 this.getUpdates(); 4409 this.getAttributes(); 4410 this.getCurrency(); 4411 this.getNote(); 4412 4413 Object.keys(this.payload).forEach(function(key) { 4414 this.payload[key] = this.data[key]; 4415 }.bind(this)); 4416 4417 return this.payload; 4418 }, 4419 getUpdates: function() { 4420 this.updateElements.forEach(function(item) { 4421 if (!item) return; 4422 const closestKey = item.closest(this.selectors.cartItemKey); 4423 const isNoId = ( 4424 !item.dataset.id && 4425 !item.dataset.key && 4426 !item.id && 4427 !(closestKey && closestKey.dataset.cartItemKey) 4428 ); 4429 const quantity = parseFloat(item.value); 4430 const line = this._getLine(item); 4431 if (isNoId) return this._saveLineItem(null, null, line, quantity); 4432 4433 const key = this._getKey(item); 4434 const id = this._getId(item); 4435 const isIdMissing = id.toString().length < 3; 4436 4437 this._saveLineItem(id, key, line, quantity); 4438 if (this.data.updates[id] || isIdMissing) this._saveSameId(id); 4439 this._saveChanges(); 4440 if (~this.data.sameIds.indexOf(id) || isIdMissing) return; 4441 this._saveUpdates(id, quantity); 4442 }.bind(this)); 4443 4444 return this.data.updates; 4445 }, 4446 getAttributes: function() { 4447 if (!this.attributesElements.length) return {}; 4448 4449 const cb = function(acc, item) { 4450 const attribute = this._getAttribute(item); 4451 if (!attribute.key) return acc; 4452 4453 acc[attribute.key] = attribute.value; 4454 return acc; 4455 }; 4456 4457 this.data.attributes = this.attributesElements.reduce(cb.bind(this), {}); 4458 return this.data.attributes; 4459 }, 4460 getCurrency: function() { 4461 if (!this.currencyElement) return this.data.currency; 4462 this.data.currency = this.currencyElement.value; 4463 return this.data.currency; 4464 }, 4465 getNote: function() { 4466 if (!this.noteElement) return ''; 4467 this.data.note = this.noteElement.value; 4468 return this.data.note; 4469 } 4470}; 4471const UpdaterPrecheckout = { 4472 acceptAddOffer: function(data) { 4473 return this.updateCart().then(this.addToCart.bind(this, data)); 4474 }, 4475 acceptUpgradeOffer: function(addData, cartItem, cartItemLine) { 4476 const data = this._getUpgradeOfferData(cartItem, cartItemLine); 4477 const changeData = Object.assign({}, data.changeData); 4478 delete changeData.__line; 4479
4480 return this.updateCart(data, 'upgrade') 4481 .then(this.changeCart.bind(this, changeData)) 4482 .then(this.addToCart.bind(this, addData)); 4483 }, 4484 _getUpgradeOfferData: function(cartItem, cartItemLine) { 4485 const udpateData = Object.assign({}, this.payload); 4486 const lineItemByKey = this.data.lineItems.find(function(item) { 4487 return item.id === cartItem.key; 4488 }); 4489 const lineItemById = this.data.lineItems.find(function(item) { 4490 return item.__variantId === cartItem.id; 4491 }); 4492 const lineItemByLine = this.data.lineItems.find(function(item) { 4493 return item.line === cartItemLine; 4494 }); 4495 const lineItem = lineItemByKey || lineItemById || lineItemByLine; 4496 const quantity = lineItem.quantity ? lineItem.quantity - 1 : 0; 4497 const changeData = { 4498 // __line: cartItemLine, 4499 // id: cartItem.key, 4500 line: cartItemLine, 4501 quantity: quantity 4502 }; 4503 4504 delete udpateData.updates[cartItem.id]; 4505 4506 return { 4507 updateData: udpateData, 4508 changeData: changeData 4509 }; 4510 } 4511}; 4512const UpdaterElements = { 4513 get forms() { 4514 const forms = document.querySelectorAll(this.selectors.form); 4515 const visibleForms = this.arrayFrom(forms).filter(function(form) { 4516 return form.offsetHeight || this._isVisible(form); 4517 }.bind(this)); 4518 4519 return visibleForms; 4520 }, 4521 get form() { 4522 const isNotePresent = this.forms.some(function(e) { 4523 return e.note && e.note.value; 4524 }); 4525 const filteredForm = this.forms.find(function(form) { 4526 return form.querySelector(this.selectors.updates) && (isNotePresent ? form.note && form.note.value : true); 4527 }.bind(this)); 4528 4529 return filteredForm; 4530 }, 4531 get updateElements() { 4532 const arr = this.arrayFrom(this.form.querySelectorAll(this.selectors.updates)); 4533 4534 return arr 4535 .filter(function(item) { 4536 return item && !item.disabled && !item.dataset.removedItemRow; 4537 }) 4538 .map(function(item) { 4539 const child = item.querySelector('input'); 4540 return child ? child : item; 4541 }); 4542 }, 4543 get attributesElements() { 4544 const nodeList = this.form.querySelectorAll(this.selectors.attributes); 4545 return this.arrayFrom(nodeList); 4546 }, 4547 get noteElement() { 4548 return this.form.querySelector(this.selectors.note); 4549 }, 4550 get currencyElement() { 4551 return document.querySelector(this.selectors.currency) || document.querySelector(this.selectors.geolocation_currency); 4552 } 4553}; 4554const UpdaterHelpers = { 4555 resolve: function(res) { 4556 return new Promise(function(resolve) { resolve(res); }); 4557 }, 4558 arrayFrom: function(nodeList) { 4559 if (!(nodeList instanceof NodeList)) nodeList = [nodeList]; 4560 return Array.prototype.slice.call(nodeList); 4561 }, 4562 _getLine: function(item) { 4563 return +( 4564 item.dataset.quantityItem || 4565 item.dataset.lineId || 4566 item.dataset.line || 4567 item.closest('[data-line]') && item.closest('[data-line]').dataset.line); 4568 }, 4569 _getKey: function(item) { 4570 const closestKey = item.closest(this.selectors.cartItemKey); 4571 const match = this.regs.key.exec( 4572 item.dataset.id || 4573 item.dataset.key || 4574 item.id || 4575 (closestKey && closestKey.dataset.cartItemKey) 4576 ); 4577 return match && match[1].split('_')[0]; 4578 }, 4579 _getId: function(item) { 4580 const closestKey = item.closest(this.selectors.cartItemKey); 4581 const match = this.regs.id.exec( 4582 item.dataset.id || 4583 item.dataset.key || 4584 item.id || 4585 (closestKey && closestKey.dataset.cartItemKey) 4586 ); 4587 return match && +match[1]; 4588 }, 4589 _saveSameId: function(id) { 4590 delete this.data.updates[id]; 4591 this.data.sameIds.push(id); 4592 }, 4593 _saveLineItem: function(id, key, line, quantity) { 4594 const lineItem = { 4595 __variantId: id, 4596 quantity: quantity, 4597 }; 4598 4599 if (line) lineItem.line = line; 4600 else if (key) lineItem.id = key; 4601 4602 this.data.lineItems.push(lineItem); 4603 }, 4604 _saveChanges: function() { 4605 this.data.changes = this.data.lineItems.filter(function(item) { 4606 return ~this.data.sameIds.indexOf(item.__variantId); 4607 }.bind(this)); 4608 }, 4609 _saveUpdates: function(id, quantity) { 4610 this.data.updates[id] = quantity; 4611 }, 4612 _getAttribute: function(item) { 4613 const match = this.regs.attributes.exec(item.name); 4614 if (!match) return {}; 4615 return { key: match[1], value: item.value }; 4616 }, 4617 _isVisible: function(el) { 4618 const styles = window.getComputedStyle(el); 4619 return styles.display === 'block' && styles.visibility === 'visible'; 4620 }, 4621 get needCurrencyUpdate() { 4622 return this.currencyElement && this.currencyElement.value !== this.data.currency; 4623 } 4624}; 4625 4626[UpdaterRequests, UpdaterPayload, UpdaterPrecheckout, UpdaterElements, UpdaterHelpers] 4627.forEach(function(module) { 4628 Updater.prototype = Object[appendChain](Updater.prototype, module); 4629}); 4630 4631function Cart() { 4632 var self = this; 4633 4634 this.add = function(form, button, data) { 4635 if (form) { 4636 var noId = function(serialized) { return !/id/.test(serialized); }; 4637 4638 data = self.serialize(form); 4639 4640 if (noId(data)) { 4641 data = self.serialize(document.querySelector('#AddToCartForm')); 4642 } 4643 4644 if (noId(data)) { 4645 var idOnBtn = document.querySelector('[data-cart-add]'); 4646 if (idOnBtn) data = 'id=' + idOnBtn.dataset.cartAdd; 4647 } 4648 } 4649 4650 var options = { 4651 method: 'post', 4652 url: '/cart/add.js', 4653 data: data 4654 }; 4655 4656 return ajax.request(options); 4657 }; 4658 4659 this.bulkAdd = function(data) { 4660 var options = { 4661 method: 'post', 4662 url: '/cart/update.js', 4663 data: data 4664 }; 4665 4666 return ajax.request(options) 4667 }; 4668 4669 this.get = function() { 4670 var options = { 4671 method: 'get', 4672 url: '/cart.js' 4673 }; 4674 4675 return ajax.request(options); 4676 }; 4677 4678 this.getLqd = function() { 4679 const options = { 4680 method: 'get', 4681 url: self.helpers.getProxyUrl() + utils.store.get('lqdCart') 4682 }; 4683 4684 return ajax.request(options); 4685 }; 4686 4687 this.update = function(res) { 4688 return new Updater(res).init(); 4689 }; 4690 4691 this.save = function(res) { 4692 // if (self.needCurrencyUpdate()) self.updateCurrency(); 4693 self.disableMultiUpdate(res.data.cart.items); 4694 self.saveTags(res); 4695 4696 // if (!lqd.is_precheckout && lqd.is_ajax_precheckout && !utils.cookie.get('ocu_countdown_start')) { 4697 // return window.OCUPrecheckout({ utils: utils }); 4698 // } 4699 4700 lqd.cart_products_json = res.data.cart_products; 4701 lqd.cart_collections_json = res.data.cart_collections; 4702 lqd.subscription_products_json = res.data.subscription_products; 4703 lqd.subscription_variants_json = res.data.subscription_variants; 4704 4705 return self.resolve(res); 4706 }; 4707 4708 this.modify = function(res) { 4709 const cart = res.cart || res.data.cart || res.data; 4710 4711 // res.data = self.helpers.filterFields(cart); 4712 res.data = cart; 4713 res.data.subscription_products = lqd.subscription_products_json; 4714 res.data.cart_collections = lqd.cart_collections_json; 4715 res.data.cart_products = lqd.cart_products_json.filter(function(item) { return !item.error; }); 4716 res.data.customer_id = lqd.customer_id; 4717 res = self.helpers.addBuyXGetYDiscount(res); 4718 if (cart.cart_level_discount_applications) res.data.automatic_discount = cart.cart_level_discount_applications[0]; 4719 4720 return res; 4721 }; 4722 4723 this.serialize = function(form) { 4724 return /trident|edge/i.test(navigator.userAgent) 4725 ? utils.serializeFormEdge(form) 4726 : utils.serializeForm(form); 4727 }; 4728 4729 this.attrubutes = function(attr) { 4730 const options = { 4731 method: 'post', 4732 url: '/cart/update.js', 4733 data: { attributes: attr } 4734 }; 4735 4736 ajax.request(options); 4737 }; 4738 4739 this.prepareUpdate = function(items) { 4740 var handle = function(acc, item) { 4741 var id = item.id.replace(/(\w+_)(\d+)(:\w+)/, '$2'); 4742 acc[id] = item.value; 4743 4744 return acc; 4745 }; 4746 4747 items = items.length ? items : [items]; 4748 4749 var updates = Array.prototype.reduce.call(items, handle, {}); 4750 4751 return { 4752 updates: updates, 4753 currency: lqd.shop_currency 4754 }; 4755 }; 4756 4757 this.saveTags = function(res) { 4758 var tags = res.data.cart_products.reduce(function(acc, product) { 4759 return acc.concat(product.tags); 4760 }, []); 4761 4762 utils.store.set('tags', tags); 4763 }; 4764 4765 this.disableMultiUpdate = function(lineItems) { 4766 const inputs = document.querySelectorAll('input[name="updates[]"]'); 4767 const offer = utils.store.get('offer'); 4768 const isAdd = offer === 'add'; 4769 4770 if (isAdd && lineItems.length === inputs.length + 1) return; 4771 if (!isAdd && lineItems.length === inputs.length) return; 4772 4773 Array.prototype.forEach.call(inputs, function(input) { 4774 if (!input.offsetHeight) input.disabled = true; 4775 }); 4776 }; 4777 4778 this.state = function(e) { 4779 if (e.target.name !== 'updates[]') return; 4780 utils.store.set('cartChanged', true); 4781 }; 4782 4783 this.resolve = function(res) { 4784 return new Promise(function(resolve) { resolve(res); }); 4785 }; 4786 4787 this.needCurrencyUpdate = function() { 4788 return document.querySelector('[name="currency"]'); 4789 }; 4790 4791 this.updateCurrency = function() { 4792 var options = { 4793 method: 'post', 4794 url: '/cart/update.js', 4795 data: { currency: lqd.shop_currency } 4796 }; 4797 4798 ajax.request(options).then(function() { utils.store.set('cartChanged', false); }); 4799 }; 4800 4801 this.isNotePresent = function(forms) { 4802 return Array.prototype.some.call(forms, function(e) { return e.note && e.note.value }); 4803 }; 4804 4805 this.filterFormsIfNotes = function(forms, isNotePresent) { 4806 var handle = function(form) { 4807 return form['updates[]'] && (isNotePresent ? form.note && form.note.value : true); 4808 }; 4809 4810 return Array.prototype.filter.call(forms, handle)[0]; 4811 }; 4812 4813 this.error = function(e) { 4814 var desc = e.data.description; 4815 4816 if (e.status !== 422) return alert(desc || 'Something went wrong. Please try again.'); 4817 4818 var allInCart = /all/i.test(desc); 4819 var soldOut = /sold out/i.test(desc); 4820 4821 alert(desc); 4822 4823 if (allInCart) return self.checkout({ redirect: true }); 4824 if (soldOut) location.reload(); 4825 }; 4826}; 4827 4828var SyncQtyFields = { 4829 init: function() { 4830 // if (!lqd.upsell_cart_include_upsells) return; 4831 if (!this.fields.length) return; 4832 this.listenEvents(); 4833 }, 4834 get fields() { 4835 return document.querySelectorAll('[data-quantity-item]'); 4836 }, 4837 getFiledsForUpdate: function(target) { 4838 var id = this.getId(target); 4839 var elems = document.querySelectorAll('[data-quantity-item="' + id + '"]'); 4840 var arr = this.getArray(elems); 4841 4842 return arr; 4843 }, 4844 getId: function(target) { 4845 return target.dataset.quantityItem; 4846 }, 4847 getArray: function(nodeList) { 4848 return Array.prototype.slice.call(nodeList); 4849 }, 4850 update: function(target, value) { 4851 this.getFiledsForUpdate(target).forEach(function(field) { 4852 field.value = value; 4853 }); 4854 }, 4855 handle: function(e) { 4856 this.update(e.target, e.target.value); 4857 }, 4858 listenEvents: function(e) {
4859 this.getArray(this.fields).forEach(function(field) { 4860 field.addEventListener('input', this.handle.bind(this)); 4861 }.bind(this)); 4862 } 4863}.init(); 4864 4865function SkipCart() { 4866 var self = this; 4867 4868 // if (lqd.themePopup && lqd.isThemePopupTag) return; 4869 4870 this.init = function() { 4871 const isSkipCartPage = /index|collection|product/.test(lqd.template_name); 4872 lqd.skip_cart && isSkipCartPage && setTimeout(self.prepare); 4873 }; 4874 4875 this.prepare = function() { 4876 // TODO: move selectors to store 4877 const forEach = Array.prototype.forEach; 4878 const getArr = function(nodeList) { return Array.prototype.slice.call(nodeList); }; 4879 const fakeForms = getArr(document.querySelectorAll('.product-form__cart')); 4880 let forms = getArr(document.querySelectorAll('form[action*="cart"], [data-zp-add-to-cart-form], #AddToCartForm1')); 4881 forms = forms.filter(function(form) { return form.dataset.zpLinkType !== 'zipify_page'; }); 4882 4883 if (fakeForms.length) forms = forms.concat(fakeForms); 4884 4885 forms.forEach(function(form) { 4886 const buttons = getArr(form.querySelectorAll('*[type="submit"], input[type="button"], button')); 4887 4888 buttons.forEach(function(button) { 4889 if (button.dataset.qty) return; 4890 if (button.getAttribute('aria-controls')) return; 4891 if (/plus|minus|zpa-quantity/.test(button.className)) return; 4892 if (/error_txt|quantity|sold-out/i.test(button.id)) return; 4893 if (/amount|review/i.test(button.value)) return; 4894 4895 button.removeAttribute('onclick'); 4896 button.dataset.skipCart = true; 4897 button.type = 'button'; 4898 }); 4899 }); 4900 4901 self.listenEvents(forms); 4902 }; 4903 4904 this.handle = function(e) { 4905 if (self.popupDispatcher.isProductAction && !self.popupDispatcher.secondAttempt) return; 4906 let button = e.target.dataset.skipCart ? e.target : null; 4907 if (!button) button = e.target.closest('[data-skip-cart]'); 4908 if (!button) return; 4909 4910 button.disabled = true; 4911 4912 e.stopImmediatePropagation(); 4913 e.stopPropagation(); 4914 e.preventDefault(); 4915 4916 let form = button.closest('form'); 4917 if (!form) form = document.querySelector('form[action="/cart/add"]'); 4918 4919 self.cart.add(form, button) 4920 .then(self.cart.get) 4921 .then(self.onSuccess) 4922 .catch(self.onError.bind(null, form)); 4923 }; 4924 4925 this.onSuccess = function(res) { 4926 utils.store.set('cart_token', res.data.token); 4927 if (self.helpers.isSubscriptionProductInCart(res.data)) return location = '/cart'; 4928 self.checkout({ redirect: true }); 4929 }; 4930 4931 this.onError = function(form) { 4932 form.submit(); 4933 }; 4934 4935 this.listenEvents = function(forms) { 4936 document.addEventListener('click', self.handle, true); 4937 }; 4938 4939 this.init(); 4940} 4941 4942function BuyNow(e) { 4943 const self = this; 4944 4945 if (lqd.themePopup && lqd.isThemePopupTag) return; 4946 if (!e.isTrusted) return; 4947 4948 const form = e.target.closest('form[action="/cart/add"]') || document.querySelector('form[action="/cart/add"]'); 4949 if (!form) return; 4950 4951 e.stopImmediatePropagation(); 4952 e.preventDefault(); 4953 e.target.disabled = true; 4954 4955 const cb = function() { self.checkout({ redirect: true }) }; 4956 const onError = function(form) { form.submit() }; 4957 4958 self.cart.add(form, e.target).then(cb).catch(onError.bind(null, form)); 4959} 4960 4961function PublicMethod() { 4962 var self = this; 4963 var proto = self.__proto__.__proto__; 4964 4965 this.init = function() { 4966 window.oneClickUpsellGetCheckoutUrl = proto.checkout = self.create; 4967 }; 4968 4969 this.create = function(config) { 4970 if (config === 'skip_cart') { 4971 return new Promise(function(resolve) { resolve(lqd.skip_cart); }); 4972 } 4973 4974 4975 if (!OCUIncart.hasOfferInCart || config.redirect_url) return self._checkout(config); 4976 4977 return self._verify() 4978 .then(function(response) { 4979 self._checkout(Object.assign(config, { 4980 redirect_url: response.data.redirect_url || lqd.checkoutUrl 4981 })); 4982 }) 4983 .catch(function() { self._checkout(config); }); 4984 4985 }; 4986 4987 this.prepare = function(config) { 4988 const params = utils.store.get('params'); 4989 self.config = config || {}; 4990 self.config.incarts && utils.store.set('incarts', self.config.incarts); 4991 self.config.path && utils.store.set('amazonPath', self.config.path); 4992 self.config.button && self.helpers.payPal(self.config.button); 4993 self.integrations.discounts(); 4994 self.params(); 4995 self.handleDeclineOffer(config); 4996 4997 params.str = params.str ? '?' + params.str : ''; 4998 self.config.checkoutUrl = (self.config.redirect_url || lqd.checkoutUrl) + params.str; 4999 5000 utils.store.set('params', params); 5001 }; 5002 5003 this.redirect = function(result) { 5004 const recharge = self.integrations.recharge; 5005 if (recharge.isSubscription(lqd)) return recharge.redirect(null, null, result.checkout_url); 5006 if (result.destination === 'same' && !result.skip_cart) return location.reload(); 5007 location.assign(result.checkout_url); 5008 } 5009 5010 this._checkout = function(config) { 5011 self.prepare(config); 5012 5013 const result = { 5014 status: false, 5015 checkout_url: self.config.checkoutUrl, 5016 skip_cart: lqd.skip_cart, 5017 get redirect_url() { 5018 return this.checkout_url; 5019 }, 5020 destination: proto.popupDispatcher.destination 5021 }; 5022 5023 5024 if (self.config.redirect) return this.redirect(result); 5025 return new Promise(function(resolve) { resolve(result) }); 5026 } 5027 5028 this._verify = function() { 5029 const url = '/pre_purchase/v1/draft_orders/verify'; 5030 const endpoint = window.OCUIncart && OCUIncart.appEndpoint; 5031 const headers = { 5032 'Content-Type': 'application/json', 5033 'Shop-Domain': lqd.permanent_domain 5034 }; 5035 return axios.post(endpoint + url, this._verifyPayload(), { headers: headers }); 5036 } 5037 5038 this._verifyPayload = function() { 5039 const cartToken = utils.cookie.get('cart'); 5040 const payload = { checkout: self.helpers.getCartItems(OCUIncart.cart_items) }; 5041 5042 payload.checkout = Object.assign(payload.checkout, { 5043 cart_token: cartToken, 5044 verify_draft_order: true, 5045 note: lqd.cart.note, 5046 attributes: lqd.cart.attributes 5047 }); 5048 5049 return payload; 5050 } 5051 5052 this.params = function() { 5053 const params = utils.store.get('params'); 5054 const integrations = OCUIncart.integrations(); 5055 const zapiet = integrations.zapiet; 5056 const simpleInStorePickup = integrations.simpleInStorePickup; 5057 const weglot = integrations.weglot; 5058 5059 if (zapiet.present) self.config.params = zapiet.merge(self.config.params); 5060 if (simpleInStorePickup.present) self.config.params = simpleInStorePickup.merge(self.config.params); 5061 if (weglot.present) self.config.params = weglot.merge(self.config.params); 5062 5063 (self.config.params || []) 5064 .concat(self.gaLinker()) 5065 .map(function(param) { 5066 return Object.keys(param).map(function(key) { 5067 const value = key === 'discount' || zapiet.present 5068 ? param[key] 5069 : encodeURIComponent(param[key]); 5070 5071 return { 5072 name: encodeURIComponent(key), 5073 value: value 5074 }; 5075 })[0]; 5076 }) 5077 .forEach(function(param) { 5078 params.arr.push(param); 5079 }); 5080 5081 utils.store.set('params', params); 5082 self.helpers.params(); 5083 }; 5084 5085 this.handleDeclineOffer = function(config) { 5086 if (!config || config && !config.incarts) return; 5087 5088 const isDeclined = Object.keys(config.incarts).some(function(key) { 5089 return config.incarts[key].status === 'declined'; 5090 }); 5091 5092 utils.store.set('offerDeclined', isDeclined); 5093 }; 5094 5095 this.gaLinker = function() { 5096 try { 5097 const linkerParam = ga.getAll()[0].get('linkerParam');
5098 const keyValue = linkerParam.split('='); 5099 const param = {}; 5100 return ((param[keyValue[0]] = keyValue[1]), [param]); 5101 } catch (e) { 5102 return []; 5103 } 5104 }; 5105 5106 this.init(); 5107} 5108 5109function Helpers() { 5110 var self = this; 5111 5112 this.disableButtons = function() { 5113 utils.store.set('checkoutButtonState', false); 5114 }; 5115 5116 this.params = function() { 5117 var params = utils.store.get('params'); 5118 5119 for (var i = 0; params.arr.length > i; i++) { 5120 var reg = new RegExp(params.arr[i].name); 5121 if (reg.test(params.str)) continue; 5122 5123 params.str += params.arr[i].name + '=' + params.arr[i].value; 5124 if (i + 1 !== params.arr.length) params.str += '&'; 5125 } 5126 5127 utils.store.set('params', params); 5128 }; 5129 5130 this.redirect = function(res) { 5131 if (res.redirect_url) return location.assign(res.redirect_url); 5132 if (!lqd.subscription_products_size) return location.assign(res.checkout_url); 5133 5134 const form = document.querySelector('form[action="/checkout"], form[action="/cart"]'); 5135 if (!form) return self.checkout({ redirect: true }); 5136 5137 form.submit(); 5138 }; 5139 5140 this.simulateSubmit = function() { 5141 var checkoutButtons = document.querySelectorAll(self.ocuSelectors); 5142 if (!checkoutButtons.length) return location = '/cart'; 5143 5144 var last = Array.prototype.slice.call(checkoutButtons, -1)[0]; 5145 last.dispatchEvent(new MouseEvent('click')); 5146 }; 5147 5148 this.simulateDocumentClick = function() { 5149 var event = new Event('click'); 5150 var target = document.createElement('button'); 5151 5152 target.type = 'submit'; 5153 target.name = 'checkout'; 5154 Object.defineProperty(event, 'target', { value: target }); 5155 5156 document.dispatchEvent(event); 5157 }; 5158 5159 this.preventMouseDown = function(e) { 5160 e.preventDefault(); 5161 e.stopPropagation(); 5162 // e.stopImmediatePropagation(); 5163 }; 5164 5165 this.payPal = function(el) { 5166 if (el.name !== 'goto_pp' || el.value !== 'paypal_express') return; 5167 5168 var params = utils.store.get('params'); 5169 5170 params.arr.push({ 5171 name: el.name, 5172 value: el.value 5173 }); 5174 5175 utils.store.set('requirePayPal', true); 5176 utils.store.set('params', params); 5177 }; 5178 5179 this.filterFields = function(cart) { 5180 var needed_cart_fileds = utils.store.get('neededCartFileds'); 5181 var needed_cart_items_fields = utils.store.get('neededCartItemsFields'); 5182 5183 cart = utils.filterObject(cart, needed_cart_fileds); 5184 5185 cart.items = cart.items.map(function(item) { 5186 return utils.filterObject(item, needed_cart_items_fields); 5187 }); 5188 5189 return cart; 5190 }; 5191 5192 this.filterCartItemFields = function(items) { 5193 return items.map(function(item) { 5194 return Object.keys(item).reduce(function(acc, key) { 5195 if (key === 'product_description') return acc; 5196 acc[key] = item[key]; 5197 return acc; 5198 }, {}); 5199 }); 5200 }; 5201 5202 this.getProxyUrl = function() { 5203 return lqd.proxy_url || utils.store.get('proxy'); 5204 }; 5205 5206 this.checkSelector = function(target) { 5207 if (target.dataset.ocuCheckout === 'true') return target; 5208 5209 const checkoutButtons = document.querySelectorAll(self.ocuSelectors); 5210 const isInclude = Array.prototype.some.call(checkoutButtons, function(item) { 5211 return item === target; 5212 }); 5213 5214 const isCartContentParent = target.closest('.cart_content') && target.closest('form[action="/checkout"] [type="submit"]'); 5215 const isCartTemplate = lqd.template_name === 'cart' && target.closest('form[action="/cart"] [type="submit"]'); 5216 const isCartAction = target.closest(self.ocuSelectors) || isCartContentParent || isCartTemplate; 5217 const notIncartUpsell = !target.closest('.nudge-offer'); // check if triggered Incart Upsell widget triggered 5218 5219 const addToCartButton = (lqd.template_name === 'product' && !target.closest('form[action$="/cart/add"]')) 5220 && (((target.name === 'add' && target.type === 'submit') ? target : null) 5221 || (target.closest('[name="add"]')) && target.closest('[type="submit"]')); 5222 5223 const parent = !isInclude 5224 && (isCartAction || target.closest('[name="checkout"]')) 5225 || addToCartButton; 5226 5227 if ((isInclude || parent) && notIncartUpsell) return isInclude ? target : parent; 5228 }; 5229 5230 this.checkDirectCheckoutButtons = function(target) { 5231 return /\/checkout/.test(target.onclick && target.onclick.toString()) 5232 }; 5233 5234 this.checkAddToCart = function(target) { 5235 const isTargetSubmit = /submit|add|checkout/.test(target.name) || this.isActionButton(target); 5236 return (isTargetSubmit || this.isBuyNow({target: target})) && target.closest('form[action="/cart/add"]'); 5237 }; 5238 5239 this.zpPreventRedirect = function(target) { 5240 const condition = target.dataset.type === 'crm_dest' 5241 || target.dataset.zpProductRedirectLink === '' 5242 || target.dataset.zpAddToCart === '' 5243 || target.closest('[data-type="crm_dest"]') 5244 || target.closest('[data-zp-product-redirect-link]') 5245 || target.closest('[data-zp-add-to-cart]'); 5246 5247 if (condition) return true; 5248 }; 5249 5250 this.isOfferProduct = function() { 5251 return lqd.cart_variants_json.some(function(item) { 5252 return item.properties && item.properties._ocu_offer_id; 5253 }); 5254 }; 5255 5256 this.addBuyXGetYDiscount = function(res) { 5257 var discounts = res.data.items.reduce(function(acc, variant) { 5258 if (!variant.discounts[0]) return acc; 5259 let item = { 5260 item_key: variant.key, 5261 discount: variant.discounts, 5262 }; 5263 if (variant.line_level_discount_allocations[0]) item.discount_data = variant.line_level_discount_allocations; 5264 acc.push(item); 5265 return acc; 5266 }, []); 5267 5268 if (discounts.length) res.data.per_item_discounts = discounts; 5269 return res; 5270 }; 5271 5272 this.isActionButton = function(e) { 5273 const submitSelectors = ['[type="submit"]', '[name="add"]', '[name="checkout"]']; 5274 return submitSelectors.reduce(function(acc,select) { 5275 const el = e.closest(select); 5276 if (el) acc = true; 5277 return acc; 5278 }, false); 5279 }; 5280 5281 this.isBuyNow = function(e) { 5282 const selectors = utils.store.get('classList'); 5283 return e.target.classList.contains(selectors.buyNow) && !e.target.classList.contains(selectors.buyNowBranded); 5284 }; 5285 5286 this.getCartItems = function(items) { 5287 const itemProperties = [ 5288 'properties', 5289 'quantity', 5290 'variant_id', 5291 'product_id', 5292 'price', 5293 'original_price', 5294 'discounted_price', 5295 'line_price', 5296 'original_line_price', 5297 'final_price', 5298 'final_line_price' 5299 ]; 5300 5301 const prepareItem = function(item) {
5302 return itemProperties.reduce(function(acc, prop) { 5303 acc[prop] = item[prop]; 5304 return acc; 5305 }, {}); 5306 }; 5307 5308 return { line_items: items.map(prepareItem) }; 5309 }; 5310 5311 this.isSameCart = function(cart) { 5312 const lastCart = utils.cookie.get('ocu_cart_items'); 5313 const newCartItemsKeys = cart.items.map(item => item.key); 5314 utils.cookie.set('ocu_cart_items', JSON.stringify(newCartItemsKeys)); 5315 5316 if (!lastCart) return false; 5317 5318 const newCartSet = new Set(newCartItemsKeys); 5319 const lastCartSet = new Set(JSON.parse(lastCart)); 5320 5321 return this.areSetsEqual(newCartSet, lastCartSet); 5322 }; 5323 5324 this.isSameCartToken = function(cart) { 5325 return cart.token === utils.cookie.get('ocu_popup_token'); 5326 }; 5327 5328 this.areSetsEqual = function(setA, setB) { 5329 return setA.size === setB.size && Array.from(setA).every(value => setB.has(value)); 5330 }; 5331 5332 this.isSubscriptionProductInCart = function(cart) { 5333 return cart.items.reduce(this.isSubscriptionItem, null); 5334 }; 5335 5336 this.isSubscriptionItem = function(acc, item) { 5337 const properties = utils.store.get('subscriptionProperties'); 5338 let result = acc; 5339 Object.entries(properties).some(function(prop) { 5340 const somePropMatch = prop[1].some(function(field) { 5341 return item.properties && item.properties[field]; 5342 }); 5343 5344 if (somePropMatch) { 5345 result = prop[0]; 5346 return result 5347 } 5348 5349 return result; 5350 }); 5351 5352 return result; 5353 }; 5354 5355 this.showCheckoutButton = function() { 5356 const config = utils.store.get('checkoutButton'); 5357 const checkoutBtn = document.querySelector(config.selector); 5358 const exemptify = OCUIncart.integrations().exemptify; 5359 5360 if (!checkoutBtn || exemptify.present) return; 5361 5362 const isValidButton = Object.entries(config.excludes).every(function(item) { 5363 return !item[1].test(checkoutBtn[item[0]]); 5364 }); 5365 5366 if (isValidButton) checkoutBtn.style.display = 'inline-block'; 5367 }; 5368 5369 this.clearFallback = function() { 5370 const fallbackTimeout = utils.store.get('fallback').id; 5371 clearTimeout(fallbackTimeout); 5372 } 5373} 5374 5375function ApplicationsUtils() { 5376 5377 const Z_INDEX_VALUE = 1000; 5378 5379 const Z_INDEX_ELEMENTS = { 5380 overlay: '.slidecarthq-overlay', 5381 cartDrawer: '[cart-drawer-show], .slidecarthq, #sidebar-cart', 5382 chatWindow: '#chat-window', 5383 chatButton: '#chat-button' 5384 }; 5385 5386 this.beforePrecheckoutPopup = function() { 5387 this.adjustZIndex(); 5388 this.hideSlidecart(); 5389 } 5390 5391 this.adjustZIndex = function() { 5392 Object 5393 .values(Z_INDEX_ELEMENTS) 5394 .forEach(function(selector) { 5395 const element = document.querySelector(selector); 5396 if (element) element.style.zIndex = Z_INDEX_VALUE; 5397 }); 5398 }, 5399 5400 this.hideSlidecart = function() { 5401 if (this.isMobile()) { 5402 if (window.SLIDECART_CLOSE) SLIDECART_CLOSE(); 5403 } 5404 } 5405 5406 this.isMobile = function() { 5407 return /Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Mobile|Opera Mini/i.test(navigator.userAgent); 5408 } 5409} 5410 5411[Helpers, Integrations, Cart, PublicMethod, SkipCart, BuyNow].forEach(function(item) { 5412 Object.setPrototypeOf(item.prototype, Application.prototype); 5413}); 5414 5415const script = document.createElement('script'); 5416document.head.appendChild(script); 5417script.src = ocuCdn + '/vendor/axios.min.js'; 5418script.onload = function() { 5419 if (window.axios) return new Application(); 5420 if (window.require) { 5421 require([ocuCdn + '/vendor/axios.min.js'], function(e) { 5422 window.axios = e; 5423 new Application(); 5424 }); 5425 } 5426}; 5427 5428function requireOptionSelectors() { 5429 if (window.Shopify && Shopify.OptionSelectors) return; 5430 5431 const s = document.createElement('script'); 5432 document.head.appendChild(s); 5433 s.src = OCUIncart.option_selection; 5434 s.onload = function() { 5435 window.Shopify = window.Shopify || {}; 5436 Shopify.money_format = OCUIncart.money_format; 5437 }; 5438} 5439 5440function Store() { 5441 var _private = { 5442 store: { 5443 ocuSelectors: '[name="checkout"], [href^="/checkout"], form[action^="/checkout"] [type="submit"], form[action$="/cart"] [type="submit"], #checkout, [name="goto_pp"], .checkout_button, .checkout-button, [value="Checkout"], .cart
5443-button-checkout, #btn-checkout, .btn__checkout.js-prefill-url, form[action^="/checkout"] .chk_out, form[action^="/cart"] .chk_out', 5444 addToCartButton: '[name="add"]', 5445 proxy: '/apps/secure-checkout', 5446 lqdCart: '/upsellapp_cart', 5447 checkUpsells: '/check_upsells', 5448 excludedRequiredFormIds: ['cbb-shipping-rates-calculator-form'], 5449 neededCartFileds: ['token','note','attributes','items', 'currency', 'cart_level_discount_applications'], 5450 neededCartItemsFields: ['product_id','variant_id','quantity','grams','price','line_price','title','properties','vendor','sku','key'], 5451 permalink: /cart\/(\d+:\d+(?:,\d+:\d+)*)(?:[?&]discount=([-\w! %205]+))*/, 5452 subscriptionProperties: { 5453 recharge: ['subscription_id', 'shipping_interval_frequency', 'shipping_interval_unit_type'], 5454 bold: ['frequency_num', 'frequency_type'] 5455 }, 5456 isAddToCartClicked: false, 5457 cartChanged: false, 5458 cartUpdated: false, 5459 requirePayPal: false, 5460 checkoutButtonState: false, 5461 submitted: false, 5462 amazonPayInitiated: false, 5463 redirect_url: null, 5464 offer: null, 5465 offerDeclined: false, 5466 incarts: {}, 5467 tags: [], 5468 isPermalinkHandling: false, 5469 isTargetBuyNow: false, 5470 cart_token: null, 5471 classList: { 5472 buyNow: 'shopify-payment-button__button', 5473 buyNowBranded: 'shopify-payment-button__button--branded' 5474 }, 5475 params: { 5476 str: '', 5477 arr: [] 5478 }, 5479 fallback: { 5480 timeout: 15000, 5481 id: 0 5482 }, 5483 XHR: { 5484 send: XMLHttpRequest.prototype.send 5485 }, 5486 checkoutButton: { 5487 selector: '[data-ocu-checkout]', 5488 excludes: { 5489 tagName: /^P$/, 5490 id: /^ProceedToCheckout(Top|Bottom)$/, 5491 } 5492 } 5493 }, 5494 event: function(e) { 5495 return new Event('store:' + e); 5496 }, 5497 emit: function(e) { 5498 document.dispatchEvent(this.event(e)); 5499 } 5500 }; 5501 5502 this.get = function(key) { 5503 return _private.store[key]; 5504 }; 5505 5506 this.set = function(key, val) { 5507 if (!_private.store.hasOwnProperty(key)) return console.error('Unavailable key! ', key); 5508 _private.emit(key); 5509 _private.store[key] = val; 5510 }; 5511 5512 this.listen = function(e) { 5513 return new Promise(function(resolve) { 5514 document.addEventListener('store:' + e, resolve); 5515 }); 5516 }; 5517} 5518 5519}(); 5520</script>
5520 5521 5522 5523 5524 5525 <!-- PAGEFLY CART HELPER - DO NOT DELETE --> 5526
5526<script> 5527 try { 5528 setTimeout(function () { 5529 window.__pagefly_helper_store__ && 5530 window.__pagefly_helper_store__.subscribe(function (res) { 5531 $('[data-header-cart-full]').attr('data-header-cart-full', true); 5532 $.get(window.theme.routes.cart+".js").then((e=>{ 5533 document.dispatchEvent(new CustomEvent("theme:cart:change",{ 5534 detail:{cart:e.data}, 5535 bubbles:!0 5536 }) 5537 )} 5538 )) 5539 }); 5540 }, 2500); 5541 } catch (e) { 5542 console.warn(e); 5543 } 5544 </script>
5544 5545 <!-- PickyStory code, do not modify. Safe to remove after the app is uninstalled --> 5546 5547 <!-- PickyStory code end --> 5548 <!-- PickyStory snippet "main_widget_script", do not modify. Safe to remove after the app is uninstalled --> 5549 5550 <!-- PickyStory end snippet "main_widget_script" --> 5551 5552<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.0.0/animate.min.css"/> 5553<style> 5554 #asw-core-loading{ 5555 position: fixed; 5556 top: 50%; 5557 left: 0; 5558 z-index: 99999; 5559 box-shadow: 0px 0px 20px #006e52; 5560 background-color: #006e52; 5561 border-radius: 0px 5px 5px 0px; 5562 text-align: center; 5563 padding: 10px; 5564 color: white; 5565 } 5566 .asw-core-hidden{ 5567 display: none !important; 5568 } 5569</style> 5570<div id="asw-core-loading" class="animate__animated animate__pulse animate__infinite asw-core-hidden"> 5571 <svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="45.000000pt" height="45.000000pt" viewBox="0 0 65.000000 75.000000" preserveAspectRatio="xMidYMid meet"> 5572 <g transform="translate(0.000000,75.000000) scale(0.100000,-0.100000)" fill="#ffffff" stroke="none"> 5573 <path d="M408 645 c-8 -19 -8 -31 0 -51 10 -21 18 -25 44 -22 17 2 33 9 36 16 5574 3 9 -5 12 -24 10 -21 -2 -29 2 -32 16 -6 28 12 40 39 25 13 -6 27 -17 31 -23 5575 5 -7 8 -6 8 4 -1 51 -81 71 -102 25z"></path> 5576 <path d="M320 645 c-30 -7 -71 -16 -90 -20 -19 -4 -56 -14 -82 -22 -45 -14 5577 -48 -17 -48 -48 0 -55 19 -58 166 -28 71 14 130 27 132 28 2 2 -4 15 -13 29 5578 -11 16 -15 35 -11 51 4 14 5 25 4 24 -2 0 -28 -6 -58 -14z"></path> 5579 <path d="M508 544 c-4 -23 -13 -46 -20 -51 -7 -6 -47 -15 -88 -22 -84 -14 5580 -100 -23 -83 -49 9 -16 18 -100 14 -140 0 -8 -10 -12 -23 -10 -21 3 -23 10 5581 -26 62 -2 32 0 66 4 75 4 9 8 24 9 34 3 26 19 34 87 41 81 10 108 21 108 46 0 5582 16 -5 20 -17 16 -10 -2 -91 -20 -181 -38 l-162 -32 2 -155 c2 -108 7 -156 15 5583 -158 8 -3 13 11 15 38 3 49 27 71 52 50 12 -10 16 -32 16 -88 0 -66 2 -74 18 5584 -71 13 2 18 17 22 68 5 61 6 65 30 65 22 0 26 -5 30 -39 5 -39 26 -60 34 -34 5585 3 7 7 34 11 60 4 34 12 51 26 59 29 15 59 -14 59 -58 0 -28 3 -33 25 -33 34 0 5586 36 15 33 225 -2 117 -6 166 -10 139z"></path> 5587 </g> 5588 </svg> 5589 <div id="asw-core-loading-text"> 5590 </div> 5591</div> 5592 5593 5594 5595 5596 5597 5598
5598<script> 5599 function waitForPCLogicComplete(){ 5600 if(typeof(shopstorm.ConditionalLogic.runAll) != "undefined") 5601 setTimeout(function(){ shopstorm.ConditionalLogic.runAll(); },100); 5602 else setTimeout(waitForPCLogicComplete,300); 5603 } 5604 function run_pc_js_init(){ 5605 window.shopstorm = {}; 5606 window.shopstorm.shop = window.shopstorm.shop || {}; 5607 window.shopstorm.shop.moneyFormat = window.shopstorm.shop.moneyFormat || 'â¬{{amount_with_comma_separator}}'; 5608 window.shopstorm.apps = window.shopstorm.apps || {}; 5609 window.shopstorm.apps.productCustomizer = window.shopstorm.apps.productCustomizer || {}; 5610 if (typeof(shopstorm.apps.productCustomizer.$) === 'undefined' && typeof($) !== 'undefined') { shopstorm.apps.productCustomizer.$ = $; } 5611 window.shopstorm.apps.productCustomizer.pricingVariantId = window.shopstorm.apps.productCustomizer.pricingVariantId || ''; 5612 window.shopstorm.apps.productCustomizer.options = window.shopstorm.apps.productCustomizer.options || []; 5613 window.shopstorm.ConditionalLogic = window.shopstorm.ConditionalLogic || {}; 5614 shopstorm.apps.productCustomizer.options.push({ id: "6759520895162", title: "de Wasstraat toiletrolhouder", data: {"000000000000000000000011222507":"{\"position\":\"0000001000\",\"type\":\"upswatch\",\"options\":\"O! de Toilette roomspray- Brute Bloesem\",\"images\":\"https:\/\/swatch-images-bucket-production.s3.us-east-2.amazonaws.com\/uploads\/506afc36-c76f-4690-a286-1559153c8693\/Buttler_de_Wasstraat_brute_bloesem_wit.jpg\",\"base_url\":\"https:\/\/swatch-images-bucket-production.s3.us-east-2.amazonaws.com\/\",\"description\":\"\",\"required\":\"1\",\"label\":\"Welke spray wil je in de houder?\",\"fonts\":\"0\",\"option_id\":\"566269\",\"product_option_id\":\"11222507\",\"name\":\"Spray\"}"}, discount: 0 }); 5615 shopstorm.ConditionalLogic.rules = (shopstorm.ConditionalLogic.rules || []).concat([]); 5616 shopstorm.jsSection = 'product-customizer:product-init'; 5617 shopstorm.apps.productCustomizer.swatchTriggered = true; 5618 shopstorm.ConditionalLogic.$ = $; 5619 waitForPCLogicComplete(); 5620 } 5621 var aswm_pp_config_data = Object.freeze(new Array( 5622 String('<div class="product-customizer-options" data-product-id="6759520895162" data-product-price="3400" data-version="2.0.0"><div class="product-customizer-option option-type-upswatch option-required" data-option-id="566269" data-product-option-id="11222507" data-option-name="spray" ><label for="6759520895162_option_1">Welke spray wil je in de houder?</label> <div><div class="product-customizer-upswatch-wrapper"> <!-- Custom Swatch Dropdown --> <ul id="6759520895162_option_1"><li> <input type="radio" name="properties[Spray]" id="6759520895162_option_1__image_0" value="O! de Toilette roomspray- Brute Bloesem" required="required"> <label for="6759520895162_option_1__image_0"> <picture> <img src="https://swatch-images-bucket-production.s3.us-east-2.amazonaws.com/uploads/506afc36-c76f-4690-a286-1559153c8693/Buttler_de_Wasstraat_brute_bloesem_wit.jpg" alt="asd" width="50" height="50"> </picture> <span class="option-value">O! de Toilette roomspray- Brute Bloesem</span> </label> </li></ul> </div></div> </div></div><script src="//buttler.shop/cdn/shop/t/7/assets/shopstorm-apps.js?v=2071921990566086081632922625" type="text/javascript"></script> ').replace(/\'/g,"\\'"), 5623 String(" <div class="product-customizer-options aswm-mode" data-product-id="4538964967560" data-product-price="7800" data-version="2.0.0"> <div class="product-customizer-option option-type-select " data-option-id="447585" data-product-option-id="9231794" data-option-name="dropdown"> <label for="4538964967560_option_1">Dropdown</label><div><span class="product-customizer-select-wrap"> <select id="4538964967560_option_1" name="properties[Dropdown]"> <option value="">Select an option</option> <option value="First Choice" data-index="0">First Choice</option> <option value="Second Choice" data-index="1">Second Choice</option> <option value="Third Choice" data-index="2">Third Choice</option></select></span></div></div> <div class="product-customizer-option option-type-text " data-option-id="447586" data-product-option-id="9231795" data-option-name="single-line-text"> <label for="4538964967560_option_2">Single Line Text</label> <div><input type="text" id="4538964967560_option_2" name="properties[Single Line Text]" maxlength="" placeholder="Enter something..."></div></div> <div class="product-customizer-option option-type-multiline " data-option-id="447588" data-product-option-id="9231866" data-option-name="paragraph-text"> <label for="4538964967560_option_3">Paragraph Text</label><div> <textarea id="4538964967560_option_3" name="properties[Paragraph Text]" maxlength="" placeholder=""></textarea></div></div> <div class="product-customizer-option option-type-checkbox " data-option-id="447590" data-product-option-id="9231868" data-option-name="single-checkbox"> <input type="checkbox" id="4538964967560_option_4" value="true" name="properties[Single Checkbox]"> <div><label for="4538964967560_option_4">Single Checkbox</label></div></div> <div class="product-customizer-option option-type-checkbox_group " data-option-id="447591" data-product-option-id="9231869" data-option-name="checkbox-group"> <label for="4538964967560_option_5">Checkbox Group</label><div> <ul><li><input type="checkbox" id="4538964967560_option_5_0" value="First Choice"><label for="4538964967560_option_5_0">First Choice</label></li> <li><input type="checkbox" id="4538964967560_option_5_1" value="Second Choice"><label for="4538964967560_option_5_1">Second Choice</label></li><li><input type="checkbox" id="4538964967560_option_5_2" value="Third Choice"> <label for="4538964967560_option_5_2">Third Choice</label></li></ul><input type="hidden" id="4538964967560_option_5" name="properties[Checkbox Group]" value=""></div></div> <div class="product-customizer-option option-type-radio " data-option-id="447592" data-product-option-id="9231870" data-option-name="radio-buttons"> <label for="4538964967560_option_6">Radio Buttons</label> <div><ul id="4538964967560_option_6"><li><input type="radio" id="4538964967560_option_6_0" name="properties[Radio Buttons]" value="First Choice"><label for="4538964967560_option_6_0">First Choice</label> </li><li> <input type="radio" id="4538964967560_option_6_1" name="properties[Radio Buttons]" value="Second Choice"><label for="4538964967560_option_6_1">Second Choice</label></li> <li><input type="radio" id="4538964967560_option_6_2" name="properties[Radio Buttons]" value="Third Choice"> <label for="4538964967560_option_6_2">Third Choice</label></li></ul></div></div> <div class="product-customizer-option option-type-date " data-option-id="447593" data-product-option-id="9231871" data-option-name="date-picker"> <label for="4538964967560_option_7">Date Picker</label><div><input type="text" autocomplete="off" id="4538964967560_option_7" class="pc_date" name="properties[Date Picker]"></div> </div><div class="product-customizer-option option-type-swatch " data-option-id="447594" data-product-option-id="9231872" data-option-name="swatch-picker"><label for="4538964967560_option_8">Swatch Picker</label> <div><span class="product-customizer-select-wrap"><select id="4538964967560_option_8" name="properties[Swatch Picker]" style="display:none;"> <option value=""></option> <option value="First Choice" data-index="0">First Choice</option> <option value="Second Choice" data-index="1">Second Choice</option> <option value="Third Choice" data-index="2">Third Choice</option></select><!-- Custom Swatch Dropdown --> <div class="product-customizer-swatch-wrapper"><div class="product-customizer-swatch-container"><div class="product-customizer-swatch__trigger"> <span class="product-customizer-selected-swatch"><span>Select a color...</span></span> <div class="product-customizer-arrow"></div></div><div class="product-customizer-swatches"> <span class="product-customizer-swatch" data-id="4538964967560_option_8" data-value="First Choice" data-index="0"> <span style="background: #000; padding: 0 12px; margin-right: 7px; border-radius:5px;"></span> <span style="width: 150px"><span class="option-value">First Choice</span></span></span> <span class="product-customizer-swatch" data-id="4538964967560_option_8" data-value="Second Choice" data-index="1"> <span style="background: #FF0000; padding: 0 12px; margin-right: 7px; border-radius:5px;"></span><span style="width: 150px"> <span class="option-value">Second Choice</span></span></span><span class="product-customizer-swatch" data-id="4538964967560_option_8" data-value="Third Choice" data-index="2"><span style="background: #0000FF; padding: 0 12px; margin-right: 7px; border-radius:5px;"></span> <span style="width: 150px"><span class="option-value">Third Choice</span></span></span></div></div></div></span></div></div> <div class="product-customizer-option option-type-file " data-option-id="447605" data-product-option-id="9232125" data-option-name="file-upload"> <label for="4538964967560_option_9">File Upload</label><div><input type="file" id="4538964967560_option_9" name="properties[File Upload]"></div></div></div> ") 5624 )); 5625 var aswm_pc_options = aswm_pp_config_data[0]; 5626 var aswm_pc_data = aswm_pp_config_data[1]; 5627 </script>
5627 5628
5628<script id="aswm-pc-script"> 5629 function aswm_inject_product_customizer_script(){ 5630 var ss_script = new String(' <script async src="https://app-cdn.productcustomizer.com/assets/storefront/product-customizer-v2-8458517f7a15d564840defdd0800be0a053f54ac0464ee4a64bd5e6baef7ccbd.js?shop=buttler-shop.myshopify.com" type="text/javascript"></script> ').replace("async",""); 5631 $("script[src*='productcustomizer']").remove(); 5632 $("body").append(new DOMParser().parseFromString(ss_script,"text/html").documentElement.textContent); 5633 $("#aswm-pc-script").remove(); 5634 } 5635 </script>
5635 5636
5637<script> 5638 var __aswcx = false; 5639 var __aswcx_data = `{ 5640 "0": { 5641 "_aswm_old_config_version": "2.6", 5642 "_aswm_config_version": "2.6", 5643 "_aswm_config_timestamp": 1632922668865, 5644 "_aswm_theme_id": "125309649082", 5645 "_aswm_theme_tsid": "739", 5646 "_aswm_system_version": "5.0 Beta", 5647 "_aswm_setup_on_product": "/products/2-toiletpapier-sprays", 5648 "_aswm_save_error_reported": "|NULL|" 5649 }, 5650 "1": { 5651 "selector": "form[action*='cart'] div.sc-jffHpj.jjTcTs.pf-34_:nth-child(9):first" 5652 }, 5653 "2": { 5654 "aswm_customize_pc_default_0_vertical_align": "aswm-customize-pc-default-0|.product-customizer-options .product-customizer-option input|vertical-align|middle|INPUT", 5655 "aswm_customize_pc_default_1_display": "aswm-customize-pc-default-1|.product-customizer-options .product-customizer-option input + div, .product-customizer-options .product-customizer-option input + label|display|inline-block|INPUT", 5656 "aswm_customize_pc_default_1_margin_left": "aswm-customize-pc-default-1|.product-customizer-options .product-customizer-option input + div, .product-customizer-options .product-customizer-option input + label|margin-left|5px|INPUT", 5657 "aswm_customize_pc_default_2_right": "aswm-customize-pc-default-2|.product-customizer-options .product-customizer-arrow|right|10px|INPUT", 5658 "aswm_customize_pc_default_3_display": "aswm-customize-pc-default-3|.product-customizer-options|display|block|INPUT", 5659 "aswm_customize_pc_default_3_width": "aswm-customize-pc-default-3|.product-customizer-options|width|100%|INPUT", 5660 "aswm_customize_pc_default_4_display": "aswm-customize-pc-default-4|.product-customizer-option .product-customizer-upswatch-wrapper ul li label picture|display|inline-block|INPUT", 5661 "aswm_customize_pc_default_4_padding": "aswm-customize-pc-default-4|.product-customizer-option .product-customizer-upswatch-wrapper ul li label picture|padding|0px|INPUT", 5662 "aswm_customize_pc_default_5_display": "aswm-customize-pc-default-5|.product-customizer-option .product-customizer-upswatch-wrapper ul li label .option-value, .product-customizer-option .product-customizer-upswatch-wrapper ul li label .option-price|display|inline-block|INPUT", 5663 "aswm_customize_pc_default_5_padding": "aswm-customize-pc-default-5|.product-customizer-option .product-customizer-upswatch-wrapper ul li label .option-value, .product-customizer-option .product-customizer-upswatch-wrapper ul li label .option-price|padding|10px|INPUT", 5664 "aswm_customize_pc_label_width": "aswm-customize-pc-label|.product-customizer-options|width|100%|INPUT", 5665 "aswm_customize_pc_label_display": "aswm-customize-pc-label|.product-customizer-customizations-total|display|block|SELECT", 5666 "aswm_customize_pc_label_color": "aswm-customize-pc-label|.product-customizer-option > label|color|#000000|INPUT", 5667 "aswm_customize_pc_label_font_size": "aswm-customize-pc-label|.product-customizer-option > label|font-size|14px|INPUT", 5668 "aswm_customize_pc_label_font_weight": "aswm-customize-pc-label|.product-customizer-option > label|font-weight|normal|SELECT", 5669 "aswm_customize_pc_label_margin_top": "aswm-customize-pc-label|.product-customizer-option > label|margin-top|10px|INPUT", 5670 "aswm_customize_pc_label_margin_bottom": "aswm-customize-pc-label|.product-customizer-option > label|margin-bottom|10px|INPUT", 5671 "aswm_customize_pc_all_options_background_color": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture|background-color|#ffffff|INPUT", 5672 "aswm_customize_pc_all_options_color": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture|color|#000000|INPUT", 5673 "aswm_customize_pc_all_options_border_color": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture|border-color|#000000|INPUT", 5674 "aswm_customize_pc_all_options_width": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture|width|auto|INPUT", 5675 "aswm_customize_pc_all_options_border_width": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture:not(.product-customizer-option .product-customizer-upswatch-wrapper picture)|border-width|1px|INPUT", 5676 "aswm_customize_pc_all_options_border_style": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture:not(.product-customizer-option .product-customizer-upswatch-wrapper picture)|border-style|solid|SELECT", 5677 "aswm_customize_pc_all_options_border_radius": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture|border-radius|0px|SELECT", 5678 "aswm_customize_pc_all_options_font_size": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture|font-size|14px|INPUT", 5679 "aswm_customize_pc_all_options_font_weight": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture|font-weight|normal|SELECT", 5680 "aswm_customize_pc_all_options_margin_top": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture|margin-top|10px|INPUT", 5681 "aswm_customize_pc_all_options_margin_bottom": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture|margin-bottom|10px|INPUT", 5682 "aswm_customize_pc_all_options_padding": "aswm-customize-pc-all-options|.product-customizer-option select, .product-customizer-option textarea, .product-customizer-option input, .product-customizer-option.option-type-swatch .product-customizer-swatch__trigger, .product-customizer-option .product-customizer-upswatch-wrapper ul li label picture:not(.product-customizer-option .product-customizer-upswatch-wrapper picture)|padding|10px|INPUT", 5683 "_aswm_pre_initialized": "true" 5684 }, 5685 "3": {}, 5686 "4": {}, 5687 "5": { 5688 "_aswm_user_plan": "_aswm_user_plan_basic" 5689 }, 5690 "6": {}, 5691 "7": {}, 5692 "aswm_setup_mpu": {} 5693}`; 5694 window.shopstorm = window.shopstorm || {}; // Extending the SS object 5695 window.shopstorm.shop = window.shopstorm.shop || {}; 5696 window.shopstorm.shop.moneyFormat = window.shopstorm.shop.moneyFormat || 'â¬{{amount_with_comma_separator}}'; 5697 window.shopstorm.cart = {}; 5698 window.shopstorm.cart.true_cart_count = String( 5699 `0 5700`) 5701 .trim(); 5702 function aswInit(){ 5703 if (location.search.indexOf("aswmToken") != -1 || localStorage.getItem("_aswm_shop_token")){ 5704 // We're gonna grab the wizard! 5705 $("#asw-core-loading-text").text("Loading Wizard..."); 5706 $("#asw-core-loading").removeClass("asw-core-hidden"); 5707 var token = localStorage.getItem("_aswm_shop_token"); 5708 if (!token){ 5709 var search = location.search.substr(1); 5710 search.split("&"); 5711 for (var s in search){ 5712 if (typeof(search) == "array") var sitem = search[s].split("="); 5713 else sitem = search.split("="); 5714 if (sitem[0] == "aswmToken"){ 5715 token = sitem[1]; 5716 break; 5717 } 5718 } 5719 } 5720 if (token){ 5721 localStorage.setItem("_aswm_shop_token",token); 5722 $.ajax({ 5723 url: "https://advanced-sw-core.herokuapp.com/wizard/?aswm_token="+token, 5724 method: "GET", 5725 success: function(resp){ 5726 setTimeout(function(resp){ 5727 $("#asw-core-loading").addClass("asw-core-hidden"); 5728 $("body").append(resp); 5729 },2000,resp); 5730 }, 5731 error: function(err){ 5732 return; 5733 } 5734 }); 5735 } 5736 else { 5737 console.log("[ASWM] Can't get wizard"); 5738 $("#asw-core-loading").addClass("asw-core-hidden"); 5739 } 5740 } 5741 else {
5742 // We're in worker mode 5743 /* ASWCX Loader */ 5744 try{ 5745 localStorage.setItem("_aswm_s_config",__aswcx_data); 5746 __aswcx = true; 5747 try{ 5748 var aswmcx = JSON.parse(localStorage.getItem("_aswm_s_config")); 5749 var cart_page_config_a = aswmcx[5]; 5750 var cart_page_config_b = aswmcx[6]; 5751 if(!cart_page_config_a || !cart_page_config_b) throw "ASWMCX Error 681"; 5752 var cart_page_config = { 5753 id: cart_page_config_a._aswm_cart_form_id, 5754 index: cart_page_config_a._aswm_cart_form_index, 5755 index_updated: false, 5756 resolved: cart_page_config_a._aswm_resolved_cart_form_conflicts, 5757 line_item_sel: cart_page_config_b._aswm_cart_line_item_layout_sel, 5758 price_sel: cart_page_config_b._aswm_cart_line_item_price_selectors, 5759 quantity_sel: cart_page_config_b._aswm_cart_line_item_quantity_sel, 5760 subtotal_sel: cart_page_config_b._aswm_cart_subtotal_sel, 5761 cart_count_sel: cart_page_config_b._aswm_cart_count_selector, 5762 skip_indexes: cart_page_config_b._aswm_cart_form_skip_indexes 5763 }; 5764 if(cart_page_config.cart_count_sel){ 5765 $(cart_page_config.cart_count_sel).text(shopstorm.cart.true_cart_count); 5766 var cart_count_monitor_func = function(){ 5767 $(cart_page_config.cart_count_sel).off("DOMSubtreeModified"); 5768 $(cart_page_config.cart_count_sel).text(shopstorm.cart.true_cart_count); 5769 setTimeout(function(){ 5770 $(cart_page_config.cart_count_sel).text(shopstorm.cart.true_cart_count); 5771 $(cart_page_config.cart_count_sel).on("DOMSubtreeModified",cart_count_monitor_func); 5772 },2); 5773 } 5774 $(cart_page_config.cart_count_sel).on("DOMSubtreeModified",cart_count_monitor_func); 5775 } 5776 5777 } 5778 catch(e){ 5779 console.log(e); 5780 // Another one... 5781 } 5782 } 5783 catch(e){ 5784 console.log(e); 5785 // It failed 5786 } 5787 var url_endpoint = "https://advanced-sw-core.herokuapp.com/wizard/?aswm_worker=true&aswm_tsid="+Shopify.theme.theme_store_id; 5788 if (location.href.indexOf("products") != -1) url_endpoint += "&aswm_product=1"; 5789 $.ajax({ 5790 url: url_endpoint, 5791 method: "GET", 5792 success: function(resp){ 5793 $("body").append(resp); 5794 }, 5795 error: function(err){ 5796 return; 5797 } 5798 }); 5799 } 5800 } 5801 function waitForjQuery(){ 5802 if(typeof($) != "undefined") aswInit(); 5803 else if (typeof(jQuery) != "undefined"){ 5804 $ = jQuery; 5805 aswInit(); 5806 } 5807 else setTimeout(waitForjQuery,200); 5808 } 5809 function checkjQuery(){ 5810 if(typeof(jQuery) == 'undefined' && typeof($) == 'undefined'){ 5811 const script = document.createElement('script'); 5812 script.src = 'https://code.jquery.com/jquery-3.4.1.min.js'; 5813 document.head.appendChild(script); 5814 waitForjQuery(); 5815 } 5816 else if (typeof(jQuery)){ 5817 $ = jQuery; 5818 aswInit(); 5819 } 5820 } 5821 window.addEventListener('DOMContentLoaded', checkjQuery); 5822</script>
5822 5823 5824 5825<!-- **BEGIN** Hextom QAB Integration // Main Include - DO NOT MODIFY --> 5826 <!-- **BEGIN** Hextom QAB Integration // Main - DO NOT MODIFY -->
5827<script type="application/javascript"> 5828 window.hextom_qab_meta = { 5829 p1: [ 5830 5831 5832 "taartssaW ed" 5833 , 5834 5835 "219070_32_70_1202_tropmi" 5836 5837 5838 5839 ], 5840 p2: { 5841 5842 } 5843 }; 5844</script>
5844 5845<!-- **END** Hextom QAB Integration // Main - DO NOT MODIFY --> 5846 <!-- **END** Hextom QAB Integration // Main Include - DO NOT MODIFY -->
5847<script src="//cdn.shopify.com/s/files/1/0194/1736/6592/t/1/assets/booster-page-speed-optimizer.js?23" type="text/javascript"></script>
5847 5848<div id="shopify-block-Ab0VjVkd3ZVM4T1pCW__12198985164985445843" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: cookie-init -->
5848<script type="text/javascript" id="nova-cookie-app-embed-init"> 5849 window.Nova = window.Nova || {}; 5850 window.Nova.cookie_config = window.Nova.cookie_config || {}; 5851 5852 5853 window.Nova.cookie_config = {"banner_config":{"enabled":true,"law":{"regionalLaw":false},"location":true,"content":{"message":"Buttler gebruikt cookies om je de beste shopervaring te bieden. Als je gebruik blijft maken van onze diensten, gaan we ervan uit dat je akkoord gaat met het gebruik van dergelijke cookies. ","dismiss":"Accepteren","link":"Lees meer","href":"https:\/\/buttler.shop\/pages\/privacy-en-cookies"},"palette":{"popup":{"background":"#00a09b","text":"#ffffff","link":"#434343"},"button":{"background":"#feeb7f","border":"#feeb7f","text":"#434343"}}}}; 5854 5855 5856 window.Nova.cookie_config.shop_country_code = "NL"; 5857</script>
5857 5858<!-- END app snippet --> 5859 5860 5861</div>
5861<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
5861 5862</body> 5863<!-- Google Tag Manager (noscript) --> 5864<noscript><iframe src=https://www.googletagmanager.com/ns.html?id=GTM-K2SW6LB 5865height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 5866<!-- End Google Tag Manager (noscript) -->
5867<script async type="text/javascript" src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=WJmaCa"></script>
5867 5868 5869</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.