1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17<!doctype html><html class="no-js" lang="en" dir="ltr"> 18 <head> 19 20
20<script type="text/javascript" async src="https://na.shgcdn3.com/pixel-collector.js"></script>
20 21 <meta charset="utf-8"> 22 <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0, maximum-scale=1.0"> 23 <meta name="theme-color" content="#fdfef8"> 24 25 <title>Your Shopping Cart</title><link rel="canonical" href="https://hauswitchstore.com/cart"><link rel="shortcut icon" href="//hauswitchstore.com/cdn/shop/files/HW_Favicon_filled_df02e3d6-d186-4c00-ba90-0d41505965b9.png?v=1661098943&width=96" type="image/png"><link rel="preconnect" href="https://cdn.shopify.com"> 26 <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com"> 27 <link rel="dns-prefetch" href="https://www.google-analytics.com"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><link rel="preload" as="style" href="//hauswitchstore.com/cdn/shop/t/42/assets/theme.css?v=140338211211407047401787946647"> 28 <link rel="preload" as="script" href="//hauswitchstore.com/cdn/shop/t/42/assets/vendor.js?v=32643890569905814191787946647"> 29 <link rel="preload" as="script" href="//hauswitchstore.com/cdn/shop/t/42/assets/theme.js?v=67266250694785655251787946647"><meta property="og:type" content="website"> 30 <meta property="og:title" content="Your Shopping Cart"><meta property="og:image" content="http://hauswitchstore.com/cdn/shop/files/google.jpg?v=1777555466&width=1024"> 31 <meta property="og:image:secure_url" content="https://hauswitchstore.com/cdn/shop/files/google.jpg?v=1777555466&width=1024"> 32 <meta property="og:image:width" content="1200"> 33 <meta property="og:image:height" content="628"><meta property="og:url" content="https://hauswitchstore.com/cart"> 34<meta property="og:site_name" content="HausWitch"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Your Shopping Cart"> 35 <meta name="twitter:description" content="Your Shopping Cart"><meta name="twitter:image" content="https://hauswitchstore.com/cdn/shop/files/google.jpg?v=1777555466&width=1200"> 36 <meta name="twitter:image:alt" content=""> 37
37<script type="application/ld+json"> 38 { 39 "@context": "https://schema.org", 40 "@type": "BreadcrumbList", 41 "itemListElement": [{ 42 "@type": "ListItem", 43 "position": 1, 44 "name": "Home", 45 "item": "https://hauswitchstore.com" 46 }] 47 } 48</script>
48 49 <link rel="preload" href="//hauswitchstore.com/cdn/fonts/bricolage_grotesque/bricolagegrotesque_n4.3c051773a9f927cd8737c10568a7e4175690f7d9.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//hauswitchstore.com/cdn/fonts/bricolage_grotesque/bricolagegrotesque_n4.3c051773a9f927cd8737c10568a7e4175690f7d9.woff2" as="font" type="font/woff2" crossorigin><style> 50 /* Typography (heading) */ 51 @font-face { 52 font-family: "Bricolage Grotesque"; 53 font-weight: 400; 54 font-style: normal; 55 font-display: swap; 56 src: url("//hauswitchstore.com/cdn/fonts/bricolage_grotesque/bricolagegrotesque_n4.3c051773a9f927cd8737c10568a7e4175690f7d9.woff2") format("woff2"), 57 url("//hauswitchstore.com/cdn/fonts/bricolage_grotesque/bricolagegrotesque_n4.58698d726495f44d45631b33dcda62f474c467fc.woff") format("woff"); 58} 59 60/* Typography (body) */ 61 @font-face { 62 font-family: "Bricolage Grotesque"; 63 font-weight: 400; 64 font-style: normal; 65 font-display: swap; 66 src: url("//hauswitchstore.com/cdn/fonts/bricolage_grotesque/bricolagegrotesque_n4.3c051773a9f927cd8737c10568a7e4175690f7d9.woff2") format("woff2"), 67 url("//hauswitchstore.com/cdn/fonts/bricolage_grotesque/bricolagegrotesque_n4.58698d726495f44d45631b33dcda62f474c467fc.woff") format("woff"); 68} 69 70@font-face { 71 font-family: "Bricolage Grotesque"; 72 font-weight: 600; 73 font-style: normal; 74 font-display: swap; 75 src: url("//hauswitchstore.com/cdn/fonts/bricolage_grotesque/bricolagegrotesque_n6.17eeb21593c407cef2956fb34ef1600d7c579b0c.woff2") format("woff2"), 76 url("//hauswitchstore.com/cdn/fonts/bricolage_grotesque/bricolagegrotesque_n6.730eb5f49d56c0f7b763727330354d7315ee8a60.woff") format("woff"); 77} 78 79:root {--heading-color: 26, 26, 26; 80 --text-color: 26, 26, 26; 81 --background: 253, 254, 248; 82 --secondary-background: 235, 215, 214; 83 --border-color: 219, 220, 215; 84 --border-color-darker: 162, 163, 159; 85 --success-color: 204, 194, 41; 86 --success-background: 243, 242, 207; 87 --error-color: 222, 42, 42; 88 --error-background: 251, 239, 234; 89 --primary-button-background: 0, 0, 0; 90 --primary-button-text-color: 255, 255, 255; 91 --secondary-button-background: 252, 194, 255; 92 --secondary-button-text-color: 255, 255, 255; 93 --product-star-rating: 204, 194, 41; 94 --product-on-sale-accent: 145, 59, 89; 95 --product-sold-out-accent: 111, 113, 155; 96 --product-custom-label-background: 64, 93, 230; 97 --product-custom-label-text-color: 255, 255, 255; 98 --product-custom-label-2-background: 255, 255, 255; 99 --product-custom-label-2-text-color: 0, 0, 0; 100 --product-low-stock-text-color: 252, 194, 255; 101 --product-in-stock-text-color: 117, 135, 116; 102 --loading-bar-background: 26, 26, 26; 103 104 /* We duplicate some "base" colors as root colors, which is useful to use on drawer elements or popover without. Those should not be overridden to avoid issues */ 105 --root-heading-color: 26, 26, 26; 106 --root-text-color: 26, 26, 26; 107 --root-background: 253, 254, 248; 108 --root-border-color: 219, 220, 215; 109 --root-primary-button-background: 0, 0, 0; 110 --root-primary-button-text-color: 255, 255, 255; 111 112 --base-font-size: 16px; 113 --heading-font-family: "Bricolage Grotesque", sans-serif; 114 --heading-font-weight: 400; 115 --heading-font-style: normal; 116 --heading-text-transform: normal; 117 --text-font-family: "Bricolage Grotesque", sans-serif; 118 --text-font-weight: 400; 119 --text-font-style: normal; 120 --text-font-bold-weight: 600; 121 122 /* Typography (font size) */ 123 --heading-xxsmall-font-size: 11px; 124 --heading-xsmall-font-size: 11px; 125 --heading-small-font-size: 12px; 126 --heading-large-font-size: 36px; 127 --heading-h1-font-size: 36px; 128 --heading-h2-font-size: 30px; 129 --heading-h3-font-size: 26px; 130 --heading-h4-font-size: 24px; 131 --heading-h5-font-size: 20px; 132 --heading-h6-font-size: 16px; 133 134 /* Control the look and feel of the theme by changing radius of various elements */ 135 --button-border-radius: 30px; 136 --block-border-radius: 0px; 137 --block-border-radius-reduced: 0px; 138 --color-swatch-border-radius: 0px; 139 140 /* Button size */ 141 --button-height: 48px; 142 --button-small-height: 40px; 143 144 /* Form related */ 145 --form-input-field-height: 48px; 146 --form-input-gap: 16px; 147 --form-submit-margin: 24px; 148 149 /* Product listing related variables */ 150 --product-list-block-spacing: 32px; 151 152 /* Video related */ 153 --play-button-background: 253, 254, 248; 154 --play-button-arrow: 26, 26, 26; 155 156 /* RTL support */ 157 --transform-logical-flip: 1; 158 --transform-origin-start: left;
159 --transform-origin-end: right; 160 161 /* Other */ 162 --zoom-cursor-svg-url: url(//hauswitchstore.com/cdn/shop/t/42/assets/zoom-cursor.svg?v=610717859710181091787946647); 163 --arrow-right-svg-url: url(//hauswitchstore.com/cdn/shop/t/42/assets/arrow-right.svg?v=42390173268973406361787946647); 164 --arrow-left-svg-url: url(//hauswitchstore.com/cdn/shop/t/42/assets/arrow-left.svg?v=169212205685208573411787946647); 165 166 /* Some useful variables that we can reuse in our CSS. Some explanation are needed for some of them: 167 - container-max-width-minus-gutters: represents the container max width without the edge gutters 168 - container-outer-width: considering the screen width, represent all the space outside the container 169 - container-outer-margin: same as container-outer-width but get set to 0 inside a container 170 - container-inner-width: the effective space inside the container (minus gutters) 171 - grid-column-width: represents the width of a single column of the grid 172 - vertical-breather: this is a variable that defines the global "spacing" between sections, and inside the section 173 to create some "breath" and minimum spacing 174 */ 175 --container-max-width: 1600px; 176 --container-gutter: 24px; 177 --container-max-width-minus-gutters: calc(var(--container-max-width) - (var(--container-gutter)) * 2); 178 --container-outer-width: max(calc((100vw - var(--container-max-width-minus-gutters)) / 2), var(--container-gutter)); 179 --container-outer-margin: var(--container-outer-width); 180 --container-inner-width: calc(100vw - var(--container-outer-width) * 2); 181 182 --grid-column-count: 10; 183 --grid-gap: 24px; 184 --grid-column-width: calc((100vw - var(--container-outer-width) * 2 - var(--grid-gap) * (var(--grid-column-count) - 1)) / var(--grid-column-count)); 185 186 --vertical-breather: 28px; 187 --vertical-breather-tight: 28px; 188 189 /* Shopify related variables */ 190 --payment-terms-background-color: #fdfef8; 191 } 192 193 @media screen and (min-width: 741px) { 194 :root { 195 --container-gutter: 40px; 196 --grid-column-count: 20; 197 --vertical-breather: 40px; 198 --vertical-breather-tight: 40px; 199 200 /* Typography (font size) */ 201 --heading-xsmall-font-size: 12px; 202 --heading-small-font-size: 13px; 203 --heading-large-font-size: 52px; 204 --heading-h1-font-size: 48px; 205 --heading-h2-font-size: 38px; 206 --heading-h3-font-size: 32px; 207 --heading-h4-font-size: 24px; 208 --heading-h5-font-size: 20px; 209 --heading-h6-font-size: 18px; 210 211 /* Form related */ 212 --form-input-field-height: 52px; 213 --form-submit-margin: 32px; 214 215 /* Button size */ 216 --button-height: 52px; 217 --button-small-height: 44px; 218 } 219 } 220 221 @media screen and (min-width: 1200px) { 222 :root { 223 --vertical-breather: 48px; 224 --vertical-breather-tight: 48px; 225 --product-list-block-spacing: 48px; 226 227 /* Typography */ 228 --heading-large-font-size: 64px; 229 --heading-h1-font-size: 56px; 230 --heading-h2-font-size: 48px; 231 --heading-h3-font-size: 36px; 232 --heading-h4-font-size: 30px; 233 --heading-h5-font-size: 24px; 234 --heading-h6-font-size: 18px; 235 } 236 } 237 238 @media screen and (min-width: 1600px) { 239 :root { 240 --vertical-breather: 48px; 241 --vertical-breather-tight: 48px; 242 } 243 } 244</style> 245
245<script> 246 // This allows to expose several variables to the global scope, to be used in scripts 247 window.themeVariables = { 248 settings: { 249 direction: "ltr", 250 pageType: "cart", 251 cartCount: 0, 252 moneyFormat: "${{amount}}", 253 moneyWithCurrencyFormat: "${{amount}} USD", 254 showVendor: false, 255 discountMode: "saving", 256 currencyCodeEnabled: false, 257 cartType: "page", 258 cartCurrency: "USD", 259 mobileZoomFactor: 2.5 260 }, 261 262 routes: { 263 host: "hauswitchstore.com", 264 rootUrl: "\/", 265 rootUrlWithoutSlash: '', 266 cartUrl: "\/cart", 267 cartAddUrl: "\/cart\/add", 268 cartChangeUrl: "\/cart\/change", 269 searchUrl: "\/search", 270 predictiveSearchUrl: "\/search\/suggest", 271 productRecommendationsUrl: "\/recommendations\/products" 272 }, 273 274 strings: { 275 accessibilityDelete: "Delete", 276 accessibilityClose: "Close", 277 collectionSoldOut: "Sold out", 278 collectionDiscount: "Save @savings@", 279 productSalePrice: "Sale price", 280 productRegularPrice: "Regular price", 281 productFormUnavailable: "Unavailable", 282 productFormSoldOut: "Sold out", 283 productFormPreOrder: "Pre-order", 284 productFormAddToCart: "Add to cart", 285 searchNoResults: "No results could be found.", 286 searchNewSearch: "New search", 287 searchProducts: "Products", 288 searchArticles: "Journal", 289 searchPages: "Pages", 290 searchCollections: "Collections", 291 cartViewCart: "View cart", 292 cartItemAdded: "Item added to your cart!", 293 cartItemAddedShort: "Added to your cart!", 294 cartAddOrderNote: "Add order note", 295 cartEditOrderNote: "Edit order note", 296 shippingEstimatorNoResults: "Sorry, we do not ship to your address.", 297 shippingEstimatorOneResult: "There is one shipping rate for your address:", 298 shippingEstimatorMultipleResults: "There are several shipping rates for your address:", 299 shippingEstimatorError: "One or more error occurred while retrieving shipping rates:" 300 }, 301 302 libs: { 303 flickity: "\/\/hauswitchstore.com\/cdn\/shop\/t\/42\/assets\/flickity.js?v=176646718982628074891787946647", 304 photoswipe: "\/\/hauswitchstore.com\/cdn\/shop\/t\/42\/assets\/photoswipe.js?v=132268647426145925301787946647", 305 qrCode: "\/\/hauswitchstore.com\/cdn\/shopifycloud\/storefront\/assets\/themes_support\/vendor\/qrcode-1f6c2eb7.js" 306 }, 307 308 breakpoints: { 309 phone: 'screen and (max-width: 740px)', 310 tablet: 'screen and (min-width: 741px) and (max-width: 999px)', 311 tabletAndUp: 'screen and (min-width: 741px)', 312 pocket: 'screen and (max-width: 999px)', 313 lap: 'screen and (min-width: 1000px) and (max-width: 1199px)', 314 lapAndUp: 'screen and (min-width: 1000px)', 315 desktop: 'screen and (min-width: 1200px)', 316 wide: 'screen and (min-width: 1400px)' 317 } 318 }; 319 320 window.addEventListener('pageshow', async () => { 321 const cartContent = await (await fetch(`${window.themeVariables.routes.cartUrl}.js`, {cache: 'reload'})).json(); 322 document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', {detail: {cart: cartContent}})); 323 }); 324 325 if ('noModule' in HTMLScriptElement.prototype) { 326 // Old browsers (like IE) that does not support module will be considered as if not executing JS at all 327 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 328 329 requestAnimationFrame(() => { 330 const viewportHeight = (window.visualViewport ? window.visualViewport.height : document.documentElement.clientHeight); 331 document.documentElement.style.setProperty('--window-height',viewportHeight + 'px'); 332 }); 333 }</script>
333 334 335 <link rel="stylesheet" href="//hauswitchstore.com/cdn/shop/t/42/assets/theme.css?v=140338211211407047401787946647"> 336 337
337<script src="//hauswitchstore.com/cdn/shop/t/42/assets/vendor.js?v=32643890569905814191787946647" defer></script>
337 338
338<script src="//hauswitchstore.com/cdn/shop/t/42/assets/theme.js?v=67266250694785655251787946647" defer></script>
338 339
339<script src="//hauswitchstore.com/cdn/shop/t/42/assets/custom.js?v=102850519662287391531787946647" defer></script>
339 340 341 342
342<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
342<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/41558212771/digital_wallets/dialog"> 343<meta id="in-context-paypal-metadata" data-shop-id="41558212771" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 344<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
344<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
344 345<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
346<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=41558212771" crossorigin="anonymous"></script>
vendor: 1 bytes, line 346
346
347<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":41558212771,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/41558212771","merchantName":"HausWitch","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"HausWitch","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 347
347
348<script id="shopify-features" type="application/json">{"accessToken":"93566312261212e7cb50cfe02af3551c","betas":["rich-media-storefront-analytics"],"domain":"hauswitchstore.com","predictiveSearch":true,"shopId":41558212771,"locale":"en"}</script>
vendor: 1 bytes, line 348
348
349<script>var Shopify = Shopify || {}; 350Shopify.shop = "hauswitch.myshopify.com"; 351Shopify.locale = "en"; 352Shopify.currency = {"active":"USD","rate":"1.0"}; 353Shopify.country = "US"; 354Shopify.theme = {"name":"Copy of Updated copy of LK April 2026","id":165266424051,"schema_name":"Focal","schema_version":"13.0.0","theme_store_id":714,"role":"main"}; 355Shopify.theme.handle = "null"; 356Shopify.theme.style = {"id":null,"handle":null}; 357Shopify.cdnHost = "hauswitchstore.com/cdn"; 358Shopify.routes = Shopify.routes || {}; 359Shopify.routes.root = "/"; 360Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 361Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 362Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 363Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 363
363
364<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 364
364
365<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 365
365
366<script> 367 window.ShopifyPay = window.ShopifyPay || {}; 368 window.ShopifyPay.apiHost = "shop.app\/pay"; 369 window.ShopifyPay.redirectState = null; 370</script>
vendor: 1 bytes, line 370
370
371<script> 372 window.Shopify = window.Shopify || {}; 373 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 374 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 375 window.Shopify.SignInWithShop.eligible = true; 376</script>
vendor: 1 bytes, line 376
376
377<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 377
377
378<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 378
378
379<script type="module"> 380 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 381 382 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 383 384</script>
vendor: 1 bytes, line 384
384
385<script> 386 window.Shopify = window.Shopify || {}; 387 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 388 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 389</script>
vendor: 1 bytes, line 389
389
390<script>(function() { 391 var isLoaded = false; 392 function asyncLoad() { 393 if (isLoaded) return; 394 isLoaded = true; 395 var urls = ["https:\/\/scripttags.jst.ai\/shopify_justuno_41558212771_8d54e8c0-ed9a-11ea-aee1-9d341c2767db.js?shop=hauswitch.myshopify.com","https:\/\/app.tncapp.com\/get_script\/c0da670e4c7d11ec9dba5a84369ff952.js?v=490552\u0026shop=hauswitch.myshopify.com","https:\/\/servicify-appointments.herokuapp.com\/public\/frontend-v1.0.0.js?shop=hauswitch.myshopify.com"]; 396 for (var i = 0; i < urls.length; i++) { 397 var s = document.createElement('script'); 398 s.type = 'text/javascript'; 399 s.async = true; 400 s.src = urls[i]; 401 var x = document.getElementsByTagName('script')[0]; 402 x.parentNode.insertBefore(s, x); 403 } 404 }; 405 if(window.attachEvent) { 406 window.attachEvent('onload', asyncLoad); 407 } else { 408 window.addEventListener('load', asyncLoad, false); 409 } 410})();</script>
vendor: 1 bytes, line 410
410
411<script id="__st">var __st={"a":41558212771,"offset":-14400,"reqid":"fdf69bae-b9aa-4fd5-8776-8fb5c671f48e-1791070200","pageurl":"hauswitchstore.com\/cart","u":"2bbe020918c3","p":"cart"};</script>
vendor: 1 bytes, line 411
411
412<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 412
412
413<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:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(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 413
413
414<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//hauswitchstore.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 414
414
415<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 = "//hauswitchstore.com/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>
415<script crossorigin="anonymous" defer="defer" src="//hauswitchstore.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 415
415
416<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 416
416
417<script> 418 window.Shopify = window.Shopify || {}; 419 window.Shopify.MCP = window.Shopify.MCP || {}; 420 window.Shopify.MCP.enabled = true; 421 window.Shopify.MCP.shop = "hauswitch.myshopify.com"; 422 window.Shopify.MCP.mcpEndpoint = "https:\/\/hauswitchstore.com\/api\/mcp"; 423 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?\"\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."}},"required":["query"]}}]; 424</script>
vendor: 1 bytes, line 424
424
425<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("\/\/hauswitchstore.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 426</script>
vendor: 1 bytes, line 426
426
427<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://hauswitchstore.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 428</script>
vendor: 1 bytes, line 428
428
429<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 430 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); 431</script>
vendor: 1 bytes, line 431
431
432<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})}})); 433</script>
433 434<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://hauswitchstore.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 435<style id="shopify-accelerated-checkout-cart"> 436 #shopify-buyer-consent { 437 margin-top: 1em; 438 display: inline-block; 439 width: 100%; 440} 441 442#shopify-buyer-consent.hidden { 443 display: none; 444} 445 446#shopify-subscription-policy-button { 447 background: none; 448 border: none; 449 padding: 0; 450 text-decoration: underline; 451 font-size: inherit; 452 cursor: pointer; 453} 454 455#shopify-subscription-policy-button::before { 456 box-shadow: none; 457} 458 459 </style> 460
461<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
461 462 463 464 465 466 467 468
468<script type="text/javascript"> 469 470 window.__shgMoneyFormat = window.__shgMoneyFormat || {"AED":{"currency":"AED","currency_symbol":"د.Ø¥","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"AFN":{"currency":"AFN","currency_symbol":"Ø","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"ALL":{"currency":"ALL","currency_symbol":"L","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"AMD":{"currency":"AMD","currency_symbol":"Õ¤Ö.","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"ANG":{"currency":"ANG","currency_symbol":"Æ","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"AUD":{"currency":"AUD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"AWG":{"currency":"AWG","currency_symbol":"Æ","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"AZN":{"currency":"AZN","currency_symbol":"â¼","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"BAM":{"currency":"BAM","currency_symbol":"ÐÐ","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"BBD":{"currency":"BBD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"BDT":{"currency":"BDT","currency_symbol":"à§³","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"BIF":{"currency":"BIF","currency_symbol":"Fr","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"BND":{"currency":"BND","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"BOB":{"currency":"BOB","currency_symbol":"Bs.","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"BSD":{"currency":"BSD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"BWP":{"currency":"BWP","currency_symbol":"P","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"BZD":{"currency":"BZD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"CAD":{"currency":"CAD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"CDF":{"currency":"CDF","currency_symbol":"Fr","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"CHF":{"currency":"CHF","currency_symbol":"CHF","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"CNY":{"currency":"CNY","currency_symbol":"Â¥","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"CRC":{"currency":"CRC","currency_symbol":"â¡","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"CVE":{"currency":"CVE","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"CZK":{"currency":"CZK","currency_symbol":"KÄ","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"DJF":{"currency":"DJF","currency_symbol":"Fdj","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"DKK":{"currency":"DKK","currency_symbol":"kr.","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"DOP":{"currency":"DOP","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thous
470ands_separator":","},"DZD":{"currency":"DZD","currency_symbol":"د.ج","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"EGP":{"currency":"EGP","currency_symbol":"ج.Ù
","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"ETB":{"currency":"ETB","currency_symbol":"Br","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"EUR":{"currency":"EUR","currency_symbol":"â¬","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"FJD":{"currency":"FJD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"FKP":{"currency":"FKP","currency_symbol":"£","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"GBP":{"currency":"GBP","currency_symbol":"£","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"GMD":{"currency":"GMD","currency_symbol":"D","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"GNF":{"currency":"GNF","currency_symbol":"Fr","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"GTQ":{"currency":"GTQ","currency_symbol":"Q","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"GYD":{"currency":"GYD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"HKD":{"currency":"HKD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"HNL":{"currency":"HNL","currency_symbol":"L","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"HUF":{"currency":"HUF","currency_symbol":"Ft","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"IDR":{"currency":"IDR","currency_symbol":"Rp","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"ILS":{"currency":"ILS","currency_symbol":"âª","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"INR":{"currency":"INR","currency_symbol":"â¹","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"ISK":{"currency":"ISK","currency_symbol":"kr.","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"JMD":{"currency":"JMD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"JPY":{"currency":"JPY","currency_symbol":"Â¥","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"KES":{"currency":"KES","currency_symbol":"KSh","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"KGS":{"currency":"KGS","currency_symbol":"som","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"KHR":{"currency":"KHR","currency_symbol":"á","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"KMF":{"currency":"KMF","currency_symbol":"Fr","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"KRW":{"currency":"KRW","currency_symbol":"â©","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"KYD":{"currency":"KYD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"KZT":{"currency":"KZT","currency_symbol":"â¸","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"LAK":{"currency":"LAK","currency_symbol":"â","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thous
470ands_separator":","},"LBP":{"currency":"LBP","currency_symbol":"Ù.Ù","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"LKR":{"currency":"LKR","currency_symbol":"â¨","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"MAD":{"currency":"MAD","currency_symbol":"د.Ù
.","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"MDL":{"currency":"MDL","currency_symbol":"L","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"MKD":{"currency":"MKD","currency_symbol":"ден","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"MMK":{"currency":"MMK","currency_symbol":"K","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"MNT":{"currency":"MNT","currency_symbol":"â®","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"MOP":{"currency":"MOP","currency_symbol":"P","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"MUR":{"currency":"MUR","currency_symbol":"â¨","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"MVR":{"currency":"MVR","currency_symbol":"MVR","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"MWK":{"currency":"MWK","currency_symbol":"MK","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"MYR":{"currency":"MYR","currency_symbol":"RM","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"NGN":{"currency":"NGN","currency_symbol":"â¦","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"NIO":{"currency":"NIO","currency_symbol":"C$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"NPR":{"currency":"NPR","currency_symbol":"Rs.","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"NZD":{"currency":"NZD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"PEN":{"currency":"PEN","currency_symbol":"S/","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"PGK":{"currency":"PGK","currency_symbol":"K","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"PHP":{"currency":"PHP","currency_symbol":"â±","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"PKR":{"currency":"PKR","currency_symbol":"â¨","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"PLN":{"currency":"PLN","currency_symbol":"zÅ","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"PYG":{"currency":"PYG","currency_symbol":"â²","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"QAR":{"currency":"QAR","currency_symbol":"ر.Ù","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"RON":{"currency":"RON","currency_symbol":"Lei","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"RSD":{"currency":"RSD","currency_symbol":"РСÐ","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"RWF":{"currency":"RWF","currency_symbol":"FRw","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"SAR":{"currency":"SAR","currency_symbol":"ر.س","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thous
470ands_separator":","},"SBD":{"currency":"SBD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"SEK":{"currency":"SEK","currency_symbol":"kr","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"SGD":{"currency":"SGD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"SHP":{"currency":"SHP","currency_symbol":"£","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"SLL":{"currency":"SLL","currency_symbol":"Le","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"STD":{"currency":"STD","currency_symbol":"Db","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"THB":{"currency":"THB","currency_symbol":"฿","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"TJS":{"currency":"TJS","currency_symbol":"Ð Ð","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"TOP":{"currency":"TOP","currency_symbol":"T$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"TTD":{"currency":"TTD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"TWD":{"currency":"TWD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"TZS":{"currency":"TZS","currency_symbol":"Sh","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"UAH":{"currency":"UAH","currency_symbol":"â´","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"UGX":{"currency":"UGX","currency_symbol":"USh","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"USD":{"currency":"USD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"UYU":{"currency":"UYU","currency_symbol":"$U","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"UZS":{"currency":"UZS","currency_symbol":"so'm","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"VND":{"currency":"VND","currency_symbol":"â«","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"VUV":{"currency":"VUV","currency_symbol":"Vt","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"WST":{"currency":"WST","currency_symbol":"T","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"XAF":{"currency":"XAF","currency_symbol":"CFA","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"XCD":{"currency":"XCD","currency_symbol":"$","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"XOF":{"currency":"XOF","currency_symbol":"Fr","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"XPF":{"currency":"XPF","currency_symbol":"Fr","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"YER":{"currency":"YER","currency_symbol":"ï·¼","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}; 471 472 window.__shgCurrentCurrencyCode = window.__shgCurrentCurrencyCode || { 473 currency: "USD", 474 currency_symbol: "$", 475 decimal_separator: ".", 476 thousands_separator: ",", 477 decimal_places: 2, 478 currency_symbol_location: "left" 479 }; 480 </script>
480 481 482 483 484 485 486
487<script type="text/javascript"> 488 489 window.SHG_CUSTOMER = null; 490 491</script>
491 492 493 494 495 496 497 498 499<!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 500 501 502 503 504 505 506 507 508 509 510 511 512
512<script async src="https://static.klaviyo.com/onsite/js/TLDLut/klaviyo.js?company_id=TLDLut"></script>
512 513
513<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
513 514 515 516 517 518 519 520
520<script> 521 window.klaviyoReviewsProductDesignMode = false 522 </script>
522 523 524 525 526 527 528 529 530 531 532<!-- END app block --><!-- BEGIN app block: shopify://apps/tnc-terms-checkbox/blocks/app-embed/2b45c8fb-5ee2-4392-8a72-b663da1d38ad -->
533<script async src="https://app.tncapp.com/get_script/?shop_url=hauswitch.myshopify.com"></script>
533 534 535 536<!-- END app block -->
536<script src="https://cdn.shopify.com/extensions/01a0fe4c-61d2-76a5-a7c6-6b13425e4292/digital-appointments-560/assets/embedInit.js" type="text/javascript" defer="defer"></script>
536 537<link href="https://cdn.shopify.com/extensions/01a0fe4c-61d2-76a5-a7c6-6b13425e4292/digital-appointments-560/assets/style.css" rel="stylesheet" type="text/css" media="all"> 538<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
539<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: 41558212771,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};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 539
539
540<script> 541 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 542</script>
vendor: 1 bytes, line 542
542
543<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}
543).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: 41558212771,storefrontBaseUrl: "https://hauswitchstore.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://hauswitchstore.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1475805427","configuration":"{\"accountID\":\"TLDLut\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"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":"961937651","configuration":"{\"site_id\":\"d1cd944f-a292-42ed-b9e5-ba9600bb5dc5\",\"analytics_endpoint\"
543:\"https:\\\/\\\/na.shgcdn3.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"695709fc3f146fa50a25299517a954f2","type":"APP","apiClientId":1158168,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"506855667","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-Z83EHBG5N2\\\"],\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-Z83EHBG5N2\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-Z83EHBG5N2\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-Z83EHBG5N2\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-Z83EHBG5N2\\\"},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-Z83EHBG5N2\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-Z83EHBG5N2\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-Z83EHBG5N2\\\"},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-Z83EHBG5N2\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-Z83EHBG5N2\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-Z83EHBG5N2\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-Z83EHBG5N2\\\"}],\\\"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":"130515187","configuration":"{\"pixel_id\":\"1023006467853433\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","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":"88768755","configuration":"{\"tagID\":\"2613843466111\"}","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":["share_all_events"]},"dataSharingState":"optimized"},{"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":"HausWitch","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"hauswitch.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/hauswitchstore.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"8448839745779","handle":"mystery-tarot-pack","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44886470951155","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8254867308787","handle":"youve-got-the-power-pyrite-gem-essence","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44326016418035","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"5608467300515","handle":"diy-witchcraft-zine","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"36162164326563","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9371489730803","handle":"ill-baba-your-yaga-vinyl-sticker","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48452639490291","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://hauswitchstore.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"165266424051","themeStoreId":"714","themePublished":"true","eventMetadataId":"36ec312b-71c6-4f7c-a3a9
543-cddbd1248d9f","pageType":"cart","shopId":"41558212771","storefrontBaseUrl":"https:\/\/hauswitchstore.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
543<script> 544 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 545 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 546 window.ShopifyAnalytics.meta.currency = 'USD'; 547 var meta = {"page":{"pageType":"cart","requestId":"fdf69bae-b9aa-4fd5-8776-8fb5c671f48e-1791070200"}}; 548 for (var attr in meta) { 549 window.ShopifyAnalytics.meta[attr] = meta[attr]; 550 } 551</script>
vendor: 1 bytes, line 551
551
552<script class="analytics"> 553 (function () { 554 var customDocumentWrite = function(content) { 555 var jquery = null; 556 557 if (window.jQuery) { 558 jquery = window.jQuery; 559 } else if (window.Checkout && window.Checkout.$) { 560 jquery = window.Checkout.$; 561 } 562 563 if (jquery) { 564 jquery('body').append(content); 565 } 566 }; 567 568 var hasLoggedConversion = function(token) { 569 if (token) { 570 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 571 } 572 return false; 573 } 574 575 var setCookieIfConversion = function(token) { 576 if (token) { 577 var twoMonthsFromNow = new Date(Date.now()); 578 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 579 580 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 581 } 582 } 583 584 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 585 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 586 if (trekkie.integrations) { 587 return; 588 } 589 trekkie.methods = [ 590 'identify', 591 'page', 592 'ready', 593 'track', 594 'trackForm', 595 'trackLink' 596 ]; 597 trekkie.factory = function(method) { 598 return function() { 599 var args = Array.prototype.slice.call(arguments); 600 args.unshift(method); 601 trekkie.push(args); 602 if (method == 'track' || method == 'page') { 603 var pageUrl; 604 try { 605 pageUrl = window.location.href; 606 } catch (e) {} 607 var pageReferrer; 608 try { 609 pageReferrer = document.referrer; 610 } catch (e) {} 611 try { 612 if (window.__TREKKIE_SHIM_QUEUE == null) { 613 window.__TREKKIE_SHIM_QUEUE = []; 614 } 615 window.__TREKKIE_SHIM_QUEUE.push({ 616 from: 'trekkie-stub', 617 method: method, 618 args: args.slice(1), 619 pageContext: { 620 url: pageUrl, 621 referrer: pageReferrer 622 } 623 }); 624 } catch (e) { 625 // no-op 626 } 627 } 628 return trekkie; 629 }; 630 }; 631 for (var i = 0; i < trekkie.methods.length; i++) { 632 var key = trekkie.methods[i]; 633 trekkie[key] = trekkie.factory(key); 634 } 635 trekkie.load = function(config) { 636 trekkie.config = config || {}; 637 trekkie.config.initialDocumentCookie = document.cookie; 638 var first = document.getElementsByTagName('script')[0]; 639var script = document.createElement('script'); 640script.type = 'text/javascript'; 641script.onerror = function(e) { 642 var scriptFallback = document.createElement('script'); 643 scriptFallback.type = 'text/javascript'; 644 scriptFallback.onerror = function(error) { 645 var Monorail = { 646 produce: function produce(monorailDomain, schemaId, payload) { 647 var currentMs = new Date().getTime(); 648 var event = { 649 schema_id: schemaId, 650 payload: payload, 651 metadata: { 652 event_created_at_ms: currentMs, 653 event_sent_at_ms: currentMs 654 } 655 }; 656 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 657 }, 658 sendRequest: function sendRequest(endpointUrl, payload) { 659 // Try the sendBeacon API 660 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 661 var blobData = new window.Blob([payload], { 662 type: 'text/plain' 663 }); 664 665 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 666 return true; 667 } // sendBeacon was not successful 668 669 } // XHR beacon 670 671 var xhr = new XMLHttpRequest(); 672 673 try { 674 xhr.open('POST', endpointUrl); 675 xhr.setRequestHeader('Content-Type', 'text/plain'); 676 xhr.send(payload); 677 } catch (e) { 678 console.log(e); 679 } 680 681 return false; 682 }, 683 isIos12: function isIos12() { 684 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 685 } 686 }; 687 Monorail.produce('monorail-edge.shopifysvc.com', 688 'trekkie_storefront_load_errors/1.1', 689 {shop_id: 41558212771, 690 theme_id: 165266424051, 691 app_name: "storefront", 692 context_url: window.location.href, 693 source_url: "//hauswitchstore.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 694 695 }; 696 scriptFallback.async = true; 697 scriptFallback.src = '//hauswitchstore.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 698 first.parentNode.insertBefore(scriptFallback, first); 699}; 700script.async = true; 701script.src = '//hauswitchstore.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 702first.parentNode.insertBefore(script, first); 703 704 }; 705 trekkie.load( 706 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":41558212771,"isMerchantRequest":null,"themeId":165266424051,"themeCityHash":"11319380406560128606","contentLanguage":"en","currency":"USD","eventMetadataId":"36ec312b-71c6-4f7c-a3a9
706-cddbd1248d9f"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 707 ); 708 709 var loaded = false; 710 trekkie.ready(function() { 711 if (loaded) return; 712 loaded = true; 713 714 window.ShopifyAnalytics.lib = window.trekkie; 715 716 var originalDocumentWrite = document.write; 717 document.write = customDocumentWrite; 718 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 719 document.write = originalDocumentWrite; 720 721 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 722 var token = match? match[1]: undefined; 723 if (!hasLoggedConversion(token)) { 724 setCookieIfConversion(token); 725 726 } 727 }); 728 729 window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"fdf69bae-b9aa-4fd5-8776-8fb5c671f48e-1791070200","shopifyEmitted":true}); 730 731 var eventsListenerScript = document.createElement('script'); 732 eventsListenerScript.async = true; 733 eventsListenerScript.src = "//hauswitchstore.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 734 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 735})();</script>
735 736
736<script> 737 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 738 window.ga = function ga() { 739 (window.ga.q = window.ga.q || []).push(arguments); 740 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 741 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 742 } 743 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."); 744 }; 745 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 746 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 747 } 748 } 749</script>
vendor: 1 bytes, line 749
749
750<script 751 defer 752 src="https://hauswitchstore.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 753 data-application="storefront-renderer" 754 data-shop-id="41558212771" 755 data-render-region="gcp-us-central1" 756 data-page-type="cart" 757 data-theme-instance-id="165266424051" 758 data-theme-name="Focal" 759 data-theme-version="13.0.0" 760 data-monorail-region="shop_domain" 761 data-resource-timing-sampling-rate="10" 762 data-shs="true" 763 data-shs-beacon="true" 764 data-shs-export-with-fetch="true" 765 data-shs-logs-sample-rate="1" 766 data-shs-beacon-endpoint="https://hauswitchstore.com/api/collect" 767></script>
vendor: 1 bytes, line 767
767
768<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script>
768<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"41558212771","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Sign in or create account"},{"key":"account_menu.signed_out_state.section_divider","value":"More ways to sign in"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OR"},{"key":"account_menu.signed_out_state.email_field_label","value":"Email"},{"key":"account_menu.signed_out_state.orders_button","value":"Orders"},{"key":"account_menu.signed_out_state.profile_button","value":"Profile"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Sign in with Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continue with Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continue with Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Email me with news and offers"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hi, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Account"},{"key":"account_menu.signed_in_state.orders_button","value":"Orders"},{"key":"account_menu.signed_in_state.profile_button","value":"Profile"},{"key":"account_menu.location_picker.sheet_title","value":"Locations"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Search"},{"key":"account_menu.aria_labels.close_menu","value":"Close menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Back to main menu from {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, opens submenu"},{"key":"account_menu.aria_labels.loading_menu","value":"Loading menu"},{"key":"account_menu.aria_labels.account","value":"Account"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Sign in with email"},{"key":"account_menu.aria_labels.sign_in","value":"Sign in"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":true,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":true},"visitor":{"country":"US","language":"en"}}</script>
768 769<meta name="shopify-y" content="da1cf809-75ce-4f2a-bd36-ddd9e4a68b58" data-expiration="1822627800000"><meta name="shopify-s" content="39924d18-2db7-4df0-b6b2-cda36e89f69e" data-expiration="1791072000000"><meta name="new-cookie-storage-activated" content="t"> 770</head><body class="no-focus-outline " data-instant-allow-query-string><svg class="visually-hidden"> 771 <linearGradient id="rating-star-gradient-half"> 772 <stop offset="50%" stop-color="rgb(var(--product-star-rating))" /> 773 <stop offset="50%" stop-color="rgb(var(--product-star-rating))" stop-opacity="0.4" /> 774 </linearGradient> 775 </svg> 776 777 <a href="#main" class="visually-hidden skip-to-content">Skip to content</a> 778 <loading-bar class="loading-bar"></loading-bar><!-- BEGIN sections: header-group --> 779<div id="shopify-section-sections--23356394668275__header" class="shopify-section shopify-section-group-header-group shopify-section--header"><style> 780 :root { 781 --enable-sticky-header: 1; 782 --enable-transparent-header: 0; 783 --loading-bar-background: 26, 26, 26; /* Prevent the loading bar to be invisible */ 784 } 785 786 #shopify-section-sections--23356394668275__header {--header-background: 253, 254, 248; 787 --header-text-color: 26, 26, 26; 788 --header-border-color: 219, 220, 215; 789 --reduce-header-padding: 1;position: -webkit-sticky; 790 position: sticky; 791 top: 0;z-index: 4; 792 }.shopify-section--announcement-bar ~ #shopify-section-sections--23356394668275__header { 793 top: calc(var(--enable-sticky-announcement-bar, 0) * var(--announcement-bar-height, 0px)); 794 }#shopify-section-sections--23356394668275__header .header__logo-image { 795 max-width: 75px; 796 } 797 798 @media screen and (min-width: 741px) { 799 #shopify-section-sections--23356394668275__header .header__logo-image { 800 max-width: 200px; 801 } 802 } 803 804 @media screen and (min-width: 1200px) {}</style> 805 806<store-header sticky class="header header--bordered " role="banner"><div class="container"> 807 <div class="header__wrapper"> 808 <!-- LEFT PART --> 809 <nav class="header__inline-navigation" role="navigation"><desktop-navigation> 810 <ul class="header__linklist list--unstyled hidden-pocket hidden-lap" role="list"><li class="header__linklist-item has-dropdown" data-item-title="SHOP"> 811 <a class="header__linklist-link link--animated" href="/collections/all" aria-controls="desktop-menu-1" aria-expanded="false">SHOP</a><div hidden id="desktop-menu-1" class="mega-menu" > 812 <div class="container"> 813 <div class="mega-menu__inner"><div class="mega-menu__columns-wrapper"><div class="mega-menu__column"><a href="/collections/all" class="mega-menu__title heading heading--small">FEATURED</a><ul class="linklist list--unstyled" role="list"><li class="linklist__item"> 814 <a href="/collections/libra-season-treasures-1" class="link--faded">Libra Season Witchlist</a> 815 </li><li class="linklist__item"> 816 <a href="/collections/new-arrivals" class="link--faded">New Arrivals</a> 817 </li><li class="linklist__item"> 818 <a href="/collections/recently-restocked" class="link--faded">Recently Restocked</a> 819 </li><li class="linklist__item"> 820 <a href="/collections/treasures-under-20" class="link--faded">Treasures Under $20</a> 821 </li><li class="linklist__item"> 822 <a href="/collections/hex-fascists" class="link--faded">Witches Against Fascism</a> 823 </li><li class="linklist__item"> 824 <a href="/products/hauswitch-gift-card" class="link--faded">Gift Card</a> 825 </li><li class="linklist__item"> 826 <a href="/collections/all" class="link--faded">Shop All</a> 827 </li></ul></div><div class="mega-menu__column"><a href="/collections/hauswitch-exclusives" class="mega-menu__title heading heading--small">HAUSWITCH EXCLUSIVES</a><ul class="linklist list--unstyled" role="list"><li class="linklist__item"> 828 <a href="/collections/hauswitch-exclusives" class="link--faded">All HausWitch Exclusives</a> 829 </li><li class="linklist__item"> 830 <a href="/collections/hauscraft
830-spell-kits" class="link--faded">HausCraft Spell Kits</a> 831 </li><li class="linklist__item"> 832 <a href="/collections/gem-essences" class="link--faded">Gem Essences</a> 833 </li><li class="linklist__item"> 834 <a href="/products/simmer-spells" class="link--faded">Simmer Spells</a> 835 </li></ul></div><div class="mega-menu__column"><a href="/collections/books-zines" class="mega-menu__title heading heading--small">LIBRARY</a><ul class="linklist list--unstyled" role="list"><li class="linklist__item"> 836 <a href="/collections/tarot-oracle-decks" class="link--faded">Tarot + Oracle Decks</a> 837 </li><li class="linklist__item"> 838 <a href="/collections/books-zines" class="link--faded">Books + Zines</a> 839 </li></ul></div><div class="mega-menu__column"><a href="/collections/witch-wares" class="mega-menu__title heading heading--small">WITCH WARES</a><ul class="linklist list--unstyled" role="list"><li class="linklist__item"> 840 <a href="/collections/crystals" class="link--faded">Crystals</a> 841 </li><li class="linklist__item"> 842 <a href="/collections/self-care-for-surthriving-a-breakup" class="link--faded">Self Care</a> 843 </li></ul></div><div class="mega-menu__column"><a href="/collections/hauswares" class="mega-menu__title heading heading--small">FOR THE HAUS</a><ul class="linklist list--unstyled" role="list"><li class="linklist__item"> 844 <a href="/collections/counter-magick" class="link--faded">Counter Magick Cleaning Products</a> 845 </li><li class="linklist__item"> 846 <a href="/collections/hauswares" class="link--faded">HausWares</a> 847 </li><li class="linklist__item"> 848 <a href="/collections/candles" class="link--faded">Candles + Incense</a> 849 </li><li class="linklist__item"> 850 <a href="/collections/paper-goods" class="link--faded">Paper Goods + Wall Art</a> 851 </li></ul></div></div><div class="mega-menu__images-wrapper "><a href="/collections/hauscraft-spell-kits" class="mega-menu__image-push image-zoom"><div class="mega-menu__image-wrapper"><img src="//hauswitchstore.com/cdn/shop/files/spell-kits.jpg?v=1777553584&width=400" alt="" srcset="//hauswitchstore.com/cdn/shop/files/spell-kits.jpg?v=1777553584&width=352 352w, //hauswitchstore.com/cdn/shop/files/spell-kits.jpg?v=1777553584&width=400 400w" width="400" height="599" loading="lazy" sizes="240,480,720" class="mega-menu__image"> 852 </div><span class="mega-menu__text">Shop HausCraft Spell Kits</span></a></div></div> 853 </div> 854 </div></li><li class="header__linklist-item has-dropdown" data-item-title="EVENTS"> 855 <a class="header__linklist-link link--animated" href="/collections/events" aria-controls="desktop-menu-2" aria-expanded="false">EVENTS</a><ul hidden id="desktop-menu-2" class="nav-dropdown nav-dropdown--restrict list--unstyled" role="list"><li class="nav-dropdown__item "> 856 <a class="nav-dropdown__link link--faded" href="/collections/aura-photos" >Personal Rainbow Aura Photos</a></li><li class="nav-dropdown__item "> 857 <a class="nav-dropdown__link link--faded" href="/collections/private-parties" >Private Parties</a></li><li class="nav-dropdown__item "> 858 <a class="nav-dropdown__link link--faded" href="/collections/in-person-events" >In-Person Events</a></li><li class="nav-dropdown__item "> 859 <a class="nav-dropdown__link link--faded" href="/collections/virtual-workshops" >Digital Workshops</a></li><li class="nav-dropdown__item "> 860 <a class="nav-dropdown__link link--faded" href="/pages/clubhaus" >The Clubhaus</a></li><li class="nav-dropdown__item "> 861 <a class="nav-dropdown__link link--faded" href="/collections/psychic-portal" >Psychic Portal</a></li></ul></li><li class="header__linklist-item has-dropdown" data-item-title="ABOUT"> 862 <a class="header__linklist-link link--animated" href="/pages/about" aria-controls="desktop-menu-3" aria-expanded="false">ABOUT</a><ul hidden id="desktop-menu-3" class="nav-dropdown nav-dropdown--restrict list--unstyled" role="list"><li class="nav-dropdown__item "> 863 <a class="nav-dropdown__link link--faded" href="/pages/contact" >Contact</a></li><li class="nav-dropdown__item "> 864 <a class="nav-dropdown__link link--faded" href="/pages/about" >About HausWitch</a></li><li class="nav-dropdown__item "> 865 <a class="nav-dropdown__link link--faded" href="/blogs/community" >Community</a></li><li class="nav-dropdown__item "> 866 <a class="nav-dropdown__link link--faded" href="/pages/secret-circle" >
866Secret Circle</a></li><li class="nav-dropdown__item "> 867 <a class="nav-dropdown__link link--faded" href="/pages/faq" >FAQs</a></li><li class="nav-dropdown__item "> 868 <a class="nav-dropdown__link link--faded" href="/pages/press" >Press</a></li><li class="nav-dropdown__item "> 869 <a class="nav-dropdown__link link--faded" href="https://www.nowagetravel.com/" >NowAge Travel</a></li></ul></li></ul> 870</desktop-navigation><div class="header__icon-list "><button is="toggle-button" class="header__icon-wrapper tap-area hidden-desk" aria-controls="mobile-menu-drawer" aria-expanded="false"> 871 <span class="visually-hidden">Navigation</span><svg focusable="false" width="18" height="14" class="icon icon--header-hamburger " viewBox="0 0 18 14"> 872 <path d="M0 1h18M0 13h18H0zm0-6h18H0z" fill="none" stroke="currentColor" stroke-width="1.4"></path> 873 </svg></button><a href="/search" is="toggle-link" class="header__icon-wrapper tap-area hidden-desk" aria-controls="search-drawer" aria-expanded="false" aria-label="Search"><svg focusable="false" width="18" height="18" class="icon icon--header-search " viewBox="0 0 18 18"> 874 <path d="M12.336 12.336c2.634-2.635 2.682-6.859.106-9.435-2.576-2.576-6.8-2.528-9.435.106C.373 5.642.325 9.866 2.901 12.442c2.576 2.576 6.8 2.528 9.435-.106zm0 0L17 17" fill="none" stroke="currentColor" stroke-width="1.4"></path> 875 </svg></a> 876 </div></nav> 877 878 <!-- LOGO PART --><span class="header__logo"><a class="header__logo-link" href="/"> 879 <span class="visually-hidden">HausWitch</span> 880 <img class="header__logo-image" width="300" height="83" src="//hauswitchstore.com/cdn/shop/files/HausWitch_Logo_300px_X_83px.png?v=1662092532&width=400" alt=""></a></span><!-- SECONDARY LINKS PART --> 881 <div class="header__secondary-links"><div class="header__icon-list"><button is="toggle-button" class="header__icon-wrapper tap-area hidden-phone " aria-controls="newsletter-popup" aria-expanded="false"> 882 <span class="visually-hidden">Newsletter</span><svg focusable="false" width="20" height="16" class="icon icon--header-email " viewBox="0 0 20 16"> 883 <path d="M19 4l-9 5-9-5" fill="none" stroke="currentColor" stroke-width="1.4"></path> 884 <path stroke="currentColor" fill="none" stroke-width="1.4" d="M1 1h18v14H1z"></path> 885 </svg></button><a href="/search" is="toggle-link" class="header__icon-wrapper tap-area hidden-pocket hidden-lap " aria-label="Search" aria-controls="search-drawer" aria-expanded="false"><svg focusable="false" width="18" height="18" class="icon icon--header-search " viewBox="0 0 18 18"> 886 <path d="M12.336 12.336c2.634-2.635 2.682-6.859.106-9.435-2.576-2.576-6.8-2.528-9.435.106C.373 5.642.325 9.866 2.901 12.442c2.576 2.576 6.8 2.528 9.435-.106zm0 0L17 17" fill="none" stroke="currentColor" stroke-width="1.4"></path> 887 </svg></a><div><shopify-store store-domain="https://hauswitchstore.com" country="US" language="en"></shopify-store> 888<shopify-account menu="customer-account-main-menu"class="shopify-account--icons"> 889 <div slot="signed-out-avatar"> 890 <span class="header__icon-wrapper tap-area hidden-phone "><svg focusable="false" width="18" height="17" class="icon icon--header-customer " viewBox="0 0 18 17"> 891 <circle cx="9" cy="5" r="4" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linejoin="round"></circle> 892 <path d="M1 17v0a4 4 0 014-4h8a4 4 0 014 4v0" fill="none" stroke="currentColor" stroke-width="1.4"></path> 893 </svg></span> 894 </div> 895 </shopify-account></div> 896 897 <a href="/cart" class="header__icon-wrapper tap-area " aria-label="Cart" data-no-instant><svg focusable="false" width="20" height="19" class="icon icon--header-tote-bag " viewBox="0 0 20 19"> 898 <path d="M3 7H17L18 18H2L3 7Z" fill="none" stroke="currentColor" stroke-width="1.4"></path> 899 <path d="M13 4V4C13 2.34315 11.6569 1 10 1V1C8.34315 1 7 2.34315 7 4V4" fill="none" stroke="currentColor" stroke-width="1.4"></path> 900 </svg><cart-count class="header__cart-count header__cart-count--floating bubble-count" aria-hidden="true">0</cart-count> 901 </a> 902 </div></div> 903 </div></div> 904</store-header><cart-notification global hidden class="cart-notification "></cart-notification><mobile-navigation append-body id="mobile-menu-drawer" class="drawer drawer--from-left"> 905 <span class="drawer__overlay"></span> 906 907 <div class="drawer__header drawer__header--shadowed"> 908 <button type="button" class="drawer__close-button drawer__close-button--block tap-area" data-action="close" title="Close"><svg focusable="false" width="14" height="14" class="icon icon--close " viewBox="0 0 14 14"> 909 <path d="M13 13L1 1M13 1L1 13" stroke="currentColor" stroke-width="1.4" fill="none"></path> 910 </svg></button> 911 </div> 912 913 <div class="drawer__content"> 914 <ul class="mobile-nav list--unstyled" role="list"><li class="mobile-nav__item" data-level="1"><button is="toggle-button" class="mobile-nav__link heading h5" aria-controls="mobile-menu-1" aria-expanded="false">SHOP<span class="animated-plus"></span> 915 </button> 916 917 <collapsible-content id="mobile-menu-1" class="collapsible"><ul class="mobile-nav list--unstyled" role="list"><li class="mobile-nav__item" data-level="2"><button is="toggle-button" class="mobile-nav__link" aria-controls="mobile-menu-1-1" aria-expanded="false">FEATURED<span class="animated-plus"></span> 918 </button> 919 920 <collapsible-content id="mobile-menu-1-1" class="collapsible"> 921 <ul class="mobile-nav list--unstyled" role="list"><li class="mobile-nav__item" data-level="3"> 922 <a href="/collections/libra-season-treasures-1" class="mobile-nav__link">Libra Season Witchlist</a> 923 </li><li class="mobile-nav__item" data-level="3"> 924 <a href="/collections/new-arrivals" class="mobile-nav__link">New Arrivals</a> 925 </li><li class="mobile-nav__item" data-level="3"> 926 <a href="/collections/recently-restocked" class="mobile-nav__link">Recently Restocked</a> 927 </li><li class="mobile-nav__item" data-level="3"> 928 <a href="/collections/treasures-under-20" class="mobile-nav__link">Treasures Under $20</a> 929 </li><li class="mobile-nav__item" data-level="3"> 930 <a href="/collections/hex-fascists" class="mobile-nav__link">Witches Against Fascism</a> 931 </li><li class="mobile-nav__item" data-level="3"> 932 <a href="/products/hauswitch-gift-card" class="mobile-nav__link">Gift Card</a> 933 </li><li class="mobile-nav__item" data-level="3"> 934 <a href="/collections/all" class="mobile-nav__link">Shop All</a> 935 </li></ul> 936 </collapsible-content></li><li class="mobile-nav__item" data-level="2"><button is="toggle-button" class="mobile-nav__link" aria-controls="mobile-menu-1-2" aria-expanded="false">HAUSWITCH EXCLUSIVES<span class="animated-plus"></span> 937 </button> 938 939 <collapsible-content id="mobile-menu-1-2" class="collapsible"> 940 <ul class="mobile-nav list--unstyled" role="list"><li class="mobile-nav__item" data-level="3"> 941 <a href="/collections/hauswitch-exclusives" class="mobile-nav__link">All HausWitch Exclusives</a> 942 </li><li class="mobile-nav__item" data-level="3">
943 <a href="/collections/hauscraft-spell-kits" class="mobile-nav__link">HausCraft Spell Kits</a> 944 </li><li class="mobile-nav__item" data-level="3"> 945 <a href="/collections/gem-essences" class="mobile-nav__link">Gem Essences</a> 946 </li><li class="mobile-nav__item" data-level="3"> 947 <a href="/products/simmer-spells" class="mobile-nav__link">Simmer Spells</a> 948 </li></ul> 949 </collapsible-content></li><li class="mobile-nav__item" data-level="2"><button is="toggle-button" class="mobile-nav__link" aria-controls="mobile-menu-1-3" aria-expanded="false">LIBRARY<span class="animated-plus"></span> 950 </button> 951 952 <collapsible-content id="mobile-menu-1-3" class="collapsible"> 953 <ul class="mobile-nav list--unstyled" role="list"><li class="mobile-nav__item" data-level="3"> 954 <a href="/collections/tarot-oracle-decks" class="mobile-nav__link">Tarot + Oracle Decks</a> 955 </li><li class="mobile-nav__item" data-level="3"> 956 <a href="/collections/books-zines" class="mobile-nav__link">Books + Zines</a> 957 </li></ul> 958 </collapsible-content></li><li class="mobile-nav__item" data-level="2"><button is="toggle-button" class="mobile-nav__link" aria-controls="mobile-menu-1-4" aria-expanded="false">WITCH WARES<span class="animated-plus"></span> 959 </button> 960 961 <collapsible-content id="mobile-menu-1-4" class="collapsible"> 962 <ul class="mobile-nav list--unstyled" role="list"><li class="mobile-nav__item" data-level="3"> 963 <a href="/collections/crystals" class="mobile-nav__link">Crystals</a> 964 </li><li class="mobile-nav__item" data-level="3"> 965 <a href="/collections/self-care-for-surthriving-a-breakup" class="mobile-nav__link">Self Care</a> 966 </li></ul> 967 </collapsible-content></li><li class="mobile-nav__item" data-level="2"><button is="toggle-button" class="mobile-nav__link" aria-controls="mobile-menu-1-5" aria-expanded="false">FOR THE HAUS<span class="animated-plus"></span> 968 </button> 969 970 <collapsible-content id="mobile-menu-1-5" class="collapsible"> 971 <ul class="mobile-nav list--unstyled" role="list"><li class="mobile-nav__item" data-level="3"> 972 <a href="/collections/counter-magick" class="mobile-nav__link">Counter Magick Cleaning Products</a> 973 </li><li class="mobile-nav__item" data-level="3"> 974 <a href="/collections/hauswares" class="mobile-nav__link">HausWares</a> 975 </li><li class="mobile-nav__item" data-level="3"> 976 <a href="/collections/candles" class="mobile-nav__link">Candles + Incense</a> 977 </li><li class="mobile-nav__item" data-level="3"> 978 <a href="/collections/paper-goods" class="mobile-nav__link">Paper Goods + Wall Art</a> 979 </li></ul> 980 </collapsible-content></li></ul><div class="mobile-nav__images-wrapper hide-scrollbar"> 981 <div class="mobile-nav__images-scroller"><a href="/collections/hauscraft-spell-kits" class="mobile-nav__image-push"><img src="//hauswitchstore.com/cdn/shop/files/spell-kits.jpg?v=1777553584&width=400" alt="" srcset="//hauswitchstore.com/cdn/shop/files/spell-kits.jpg?v=1777553584&width=352 352w, //hauswitchstore.com/cdn/shop/files/spell-kits.jpg?v=1777553584&width=400 400w" width="400" height="599" loading="lazy" sizes="270,540,810" class="mobile-nav__image"><span class="mobile-nav__image-text text--xsmall">Shop HausCraft Spell Kits</span></a></div> 982 </div></collapsible-content></li><li class="mobile-nav__item" data-level="1"><button is="toggle-button" class="mobile-nav__link heading h5" aria-controls="mobile-menu-2" aria-expanded="false">EVENTS<span class="animated-plus"></span> 983 </button> 984 985 <collapsible-content id="mobile-menu-2" class="collapsible"><ul class="mobile-nav list--unstyled" role="list"><li class="mobile-nav__item" data-level="2"><a href="/collections/aura-photos" class="mobile-nav__link">Personal Rainbow Aura Photos</a></li><li class="mobile-nav__item" data-level="2"><a href="/collections/private-parties" class="mobile-nav__link">Private Parties</a></li><li class="mobile-nav__item" data-level="2"><a href="/collections/in-person-events" class="mobile-nav__link">In-Person Events</a></li><li class="mobile-nav__item" data-level="2"><a href="/collections/virtual-workshops" class="mobile-nav__link">Digital Workshops</a></li><li class="mobile-nav__item" data-level="2"><a href="/pages/clubhaus" class="mobile-nav__link">The Clubhaus</a></li><li class="mobile-nav__item" data-level="2"><a href="/collections/psychic-portal" class="mobile-nav__link">Psychic Portal</a></li></ul></collapsible-content></li><li class="mobile-nav__item" data-level="1"><button is="toggle-button" class="mobile-nav__link heading h5" aria-controls="mobile-menu-3" aria-expanded="false">ABOUT<span class="animated-plus"></span> 986 </button> 987 988 <collapsible-content id="mobile-menu-3" class="collapsible"><ul class="mobile-nav list--unstyled" role="list"><li class="mobile-nav__item" data-level="2"><a href="/pages/contact" class="mobile-nav__link">Contact</a></li><li class="mobile-nav__item" data-level="2"><a href="/pages/about" class="mobile-nav__link">About HausWitch</a></li><li class="mobile-nav__item" data-level="2"><a href="/blogs/community" class="mobile-nav__link">Community</a></li><li class="mobile-nav__item" data-level="2"><a href="/pages/secret-circle" class="mobile-nav__link">
988Secret Circle</a></li><li class="mobile-nav__item" data-level="2"><a href="/pages/faq" class="mobile-nav__link">FAQs</a></li><li class="mobile-nav__item" data-level="2"><a href="/pages/press" class="mobile-nav__link">Press</a></li><li class="mobile-nav__item" data-level="2"><a href="https://www.nowagetravel.com/" class="mobile-nav__link">NowAge Travel</a></li></ul></collapsible-content></li></ul> 989 </div><div class="drawer__footer drawer__footer--tight drawer__footer--bordered"> 990 <div class="mobile-nav__footer"><shopify-account menu="customer-account-main-menu"> 991 <div slot="signed-out-avatar"> 992 <span class="icon-text"><svg focusable="false" width="18" height="17" class="icon icon--header-customer " viewBox="0 0 18 17"> 993 <circle cx="9" cy="5" r="4" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linejoin="round"></circle> 994 <path d="M1 17v0a4 4 0 014-4h8a4 4 0 014 4v0" fill="none" stroke="currentColor" stroke-width="1.4"></path> 995 </svg>Login</span> 996 </div> 997 </shopify-account></div> 998 </div></mobile-navigation><predictive-search-drawer append-body reverse-breakpoint="screen and (min-width: 1200px)" id="search-drawer" initial-focus-selector="#search-drawer [name='q']" class="predictive-search drawer drawer--large drawer--from-left"> 999 <span class="drawer__overlay"></span> 1000 1001 <header class="drawer__header"> 1002 <form id="predictive-search-form" action="/search" method="get" class="predictive-search__form"><svg focusable="false" width="18" height="18" class="icon icon--header-search " viewBox="0 0 18 18"> 1003 <path d="M12.336 12.336c2.634-2.635 2.682-6.859.106-9.435-2.576-2.576-6.8-2.528-9.435.106C.373 5.642.325 9.866 2.901 12.442c2.576 2.576 6.8 2.528 9.435-.106zm0 0L17 17" fill="none" stroke="currentColor" stroke-width="1.4"></path> 1004 </svg><input class="predictive-search__input" type="text" name="q" autocomplete="off" autocorrect="off" aria-label="Search" placeholder="What are you looking for?"> 1005 </form> 1006 1007 <button type="button" class="drawer__close-button tap-area" data-action="close" title="Close"><svg focusable="false" width="14" height="14" class="icon icon--close " viewBox="0 0 14 14"> 1008 <path d="M13 13L1 1M13 1L1 13" stroke="currentColor" stroke-width="1.4" fill="none"></path> 1009 </svg></button> 1010 </header> 1011 1012 <div class="drawer__content"> 1013 <div class="predictive-search__content-wrapper"> 1014 <div hidden class="predictive-search__loading-state"> 1015 <div class="spinner"><svg focusable="false" width="50" height="50" class="icon icon--spinner " viewBox="25 25 50 50"> 1016 <circle cx="50" cy="50" r="20" fill="none" stroke="#1a1a1a" stroke-width="4"></circle> 1017 </svg></div> 1018 </div> 1019 1020 <div hidden class="predictive-search__results" aria-live="polite"></div></div> 1021 </div> 1022 1023 <footer hidden class="drawer__footer drawer__footer--no-top-padding"> 1024 <button type="submit" form="predictive-search-form" class="button button--primary button--full">View all results</button> 1025 </footer> 1026</predictive-search-drawer>
1026<script> 1027 (() => { 1028 const headerElement = document.getElementById('shopify-section-sections--23356394668275__header'), 1029 headerHeight = headerElement.clientHeight, 1030 headerHeightWithoutBottomNav = headerElement.querySelector('.header__wrapper').clientHeight; 1031 1032 document.documentElement.style.setProperty('--header-height', headerHeight + 'px'); 1033 document.documentElement.style.setProperty('--header-height-without-bottom-nav', headerHeightWithoutBottomNav + 'px'); 1034 })(); 1035</script>
1035 1036
1037<script type="application/ld+json"> 1038 { 1039 "@context": "https://schema.org", 1040 "@type": "Organization", 1041 "name": "HausWitch", 1042 1043 "logo": "https:\/\/hauswitchstore.com\/cdn\/shop\/files\/HausWitch_Logo_300px_X_83px.png?v=1662092532\u0026width=300", 1044 1045 "url": "https:\/\/hauswitchstore.com" 1046 } 1047</script>
1047 1048 1049 1050</div> 1051<!-- END sections: header-group --><!-- BEGIN sections: overlay-group --> 1052 1053<!-- END sections: overlay-group --><div id="main" role="main" class="anchor"><div id="shopify-section-template--23356397551859__main" class="shopify-section"><section> 1054 <div class="container container--medium"><div class="empty-state text-container"> 1055 <h1 class="heading h1">Cart</h1> 1056 <p class="text--large">Your cart is empty</p> 1057 1058 <div class="button-wrapper"> 1059 <a href="/collections/all" class="button button--primary">Start shopping</a> 1060 </div> 1061 </div></div> 1062</section> 1063 1064</div><div id="shopify-section-template--23356397551859__featured_collections_fNA83C" class="shopify-section shopify-section--featured-collections"><style> 1065 #shopify-section-template--23356397551859__featured_collections_fNA83C {--heading-color: 26, 26, 26; 1066 --text-color: 26, 26, 26; 1067 --primary-button-background: 0, 0, 0; 1068 --primary-button-text-color: 255, 255, 255; 1069 1070 --prev-next-button-background: 253, 254, 248; 1071 --prev-next-button-color: 26, 26, 26; 1072 1073 --section-background: 253, 254, 248; 1074 --section-products-per-row: 2; 1075 } 1076 1077 @media screen and (min-width: 741px) { 1078 #shopify-section-template--23356397551859__featured_collections_fNA83C { 1079 --section-products-per-row: 3; 1080 } 1081 } 1082 1083 @media screen and (min-width: 1000px) { 1084 #shopify-section-template--23356397551859__featured_collections_fNA83C { 1085 --section-products-per-row: 3; 1086 } 1087 } 1088 1089 @media screen and (min-width: 1200px) { 1090 #shopify-section-template--23356397551859__featured_collections_fNA83C { 1091 --section-products-per-row: 3; 1092 } 1093 } 1094</style> 1095 1096<section class="section "> 1097 <div class="section__color-wrapper"> 1098 <div class="container "><header class="section__header "><div class="text-container"><h3 class="heading h2">You Might Also Like</h3></div></header><div class="featured-collections"><product-list id="block-template--23356397551859__featured_collections_fNA83C-collection_zaghXU" class="product-list product-list--center"> 1099 <div class="scroller"> 1100 <div class="product-list__inner product-list__inner--scroller hide-scrollbar"><product-item class="product-item " ><div class="product-item__image-wrapper "><a href="/products/mystery-tarot-pack" data-instant class="product-item__aspect-ratio aspect-ratio aspect-ratio--square" style="padding-bottom: 100.0%; --aspect-ratio: 1.0"><img src="//hauswitchstore.com/cdn/shop/files/mystery_tarot_pocket_psychic_hauswitch.png?v=1762527484&width=1080" alt="Pocket Psychic Mystery Tarot Pack" srcset="//hauswitchstore.com/cdn/shop/files/mystery_tarot_pocket_psychic_hauswitch.png?v=1762527484&width=200 200w, //hauswitchstore.com/cdn/shop/files/mystery_tarot_pocket_psychic_hauswitch.png?v=1762527484&width=300 300w, //hauswitchstore.com/cdn/shop/files/mystery_tarot_pocket_psychic_hauswitch.png?v=1762527484&width=400 400w, //hauswitchstore.com/cdn/shop/files/mystery_tarot_pocket_psychic_hauswitch.png?v=1762527484&width=500 500w, //hauswitchstore.com/cdn/shop/files/mystery_tarot_pocket_psychic_hauswitch.png?v=1762527484&width=600 600w, //hauswitchstore.com/cdn/shop/files/mystery_tarot_pocket_psychic_hauswitch.png?v=1762527484&width=700 700w, //hauswitchstore.com/cdn/shop/files/mystery_tarot_pocket_psychic_hauswitch.png?v=1762527484&width=800 800w, //hauswitchstore.com/cdn/shop/files/mystery_tarot_pocket_psychic_hauswitch.png?v=1762527484&width=900 900w, //hauswitchstore.com/cdn/shop/files/mystery_tarot_pocket_psychic_hauswitch.png?v=1762527484&width=1000 1000w" width="1080" height="1080" loading="lazy" sizes="(max-width: 740px) calc(50vw - 24px), calc((100vw - 80px) / 3 - 16px)" class="product-item__primary-image" data-media-id="36609220018419"> 1101</a></div> 1102 1103 <div class="product-item__info product-item__info--with-button "> 1104 <div class="product-item-meta"><a href="/products/mystery-tarot-pack" data-instant class="product-item-meta__title">Pocket Psychic Mystery Tarot Pack</a> 1105 1106 <div class="product-item-meta__price-list-container"> 1107 <div class="price-list price-list--centered"><span class="price">
1108 <span class="visually-hidden">Sale price</span>$11.11</span></div> 1109 </div></div><div class="product-item__cta-wrapper"><form method="post" action="/cart/add" id="product_form_template--23356397551859__featured_collections_fNA83C_collection_zaghXU_8448839745779_0" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" is="product-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="quantity" value="1"> 1110 <input type="hidden" name="id" value="44886470951155"> 1111 <button type="submit" is="loader-button" class="product-item__cta button button--primary">+ Add to cart</button><input type="hidden" name="product-id" value="8448839745779" /><input type="hidden" name="section-id" value="template--23356397551859__featured_collections_fNA83C" /></form></div></div> 1112</product-item><product-item class="product-item " ><div class="product-item__image-wrapper product-item__image-wrapper--multiple"><a href="/products/youve-got-the-power-pyrite-gem-essence" data-instant class="product-item__aspect-ratio aspect-ratio aspect-ratio--square" style="padding-bottom: 100.0%; --aspect-ratio: 1.0"><img src="//hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=2725" alt="You've Got the Power Pyrite Gem Essence" srcset="//hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=200 200w, //hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=300 300w, //hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=400 400w, //hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=500 500w, //hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=600 600w, //hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=700 700w, //hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=800 800w, //hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=900 900w, //hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=1000 1000w, //hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=1100 1100w, //hauswitchstore.com/cdn/shop/files/pyrite-gem-essence-hauswitch_1cf37076-09e2-4154-a13e-e5acef5205be.jpg?v=1762477179&width=1200 1200w" width="2725" height="2725" loading="lazy" sizes="(max-width: 740px) calc(50vw - 24px), calc((100vw - 80px) / 3 - 16px)" class="product-item__primary-image" data-media-id="32799141822707"> 1113<img src="//hauswitchstore.com/cdn/shop/files/hauswitch_candle_spell.png?v=1762477179&width=1080" alt="You've Got the Power Pyrite Gem Essence" srcset="//hauswitchstore.com/cdn/shop/files/hauswitch_candle_spell.png?v=1762477179&width=200 200w, //hauswitchstore.com/cdn/shop/files/hauswitch_candle_spell.png?v=1762477179&width=300 300w, //hauswitchstore.com/cdn/shop/files/hauswitch_candle_spell.png?v=1762477179&width=400 400w, //hauswitchstore.com/cdn/shop/files/hauswitch_candle_spell.png?v=1762477179&width=500 500w, //hauswitchstore.com/cdn/shop/files/hauswitch_candle_spell.png?v=1762477179&width=600 600w, //hauswitchstore.com/cdn/shop/files/hauswitch_candle_spell.png?v=1762477179&width=700 700w, //hauswitchstore.com/cdn/shop/files/hauswitch_candle_spell.png?v=1762477179&width=800 800w, //hauswitchstore.com/cdn/shop/files/hauswitch_candle_spell.png?v=1762477179&width=900 900w, //hauswitchstore.com/cdn/shop/files/hauswitch_candle_spell.png?v=1762477179&width=1000 1000w" width="1080" height="1080" loading="lazy" sizes="(max-width: 740px) calc(50vw - 24px), calc((100vw - 80px) / 3 - 16px)" class="product-item__secondary-image"></a></div> 1114 1115 <div class="product-item__info product-item__info--with-button "> 1116 <div class="product-item-meta"><a href="/products/youve-got-the-power-pyrite-gem-essence" data-instant class="product-item-meta__title">You've Got the Power Pyrite Gem Essence</a> 1117 1118 <div class="product-item-meta__price-list-container"> 1119 <div class="price-list price-list--centered"><span class="price">
1120 <span class="visually-hidden">Sale price</span>$16.00</span></div> 1121 </div></div><div class="product-item__cta-wrapper"><form method="post" action="/cart/add" id="product_form_template--23356397551859__featured_collections_fNA83C_collection_zaghXU_8254867308787_0" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" is="product-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="quantity" value="1"> 1122 <input type="hidden" name="id" value="44326016418035"> 1123 <button type="submit" is="loader-button" class="product-item__cta button button--primary">+ Add to cart</button><input type="hidden" name="product-id" value="8254867308787" /><input type="hidden" name="section-id" value="template--23356397551859__featured_collections_fNA83C" /></form></div></div> 1124</product-item><product-item class="product-item " ><div class="product-item__image-wrapper product-item__image-wrapper--multiple"><a href="/products/diy-witchcraft-zine" data-instant class="product-item__aspect-ratio aspect-ratio aspect-ratio--square" style="padding-bottom: 100.0%; --aspect-ratio: 1.0"><img src="//hauswitchstore.com/cdn/shop/products/DIYwitchcraftcb.png?v=1644338981&width=1080" alt="DIY Witchcraft Zine" srcset="//hauswitchstore.com/cdn/shop/products/DIYwitchcraftcb.png?v=1644338981&width=200 200w, //hauswitchstore.com/cdn/shop/products/DIYwitchcraftcb.png?v=1644338981&width=300 300w, //hauswitchstore.com/cdn/shop/products/DIYwitchcraftcb.png?v=1644338981&width=400 400w, //hauswitchstore.com/cdn/shop/products/DIYwitchcraftcb.png?v=1644338981&width=500 500w, //hauswitchstore.com/cdn/shop/products/DIYwitchcraftcb.png?v=1644338981&width=600 600w, //hauswitchstore.com/cdn/shop/products/DIYwitchcraftcb.png?v=1644338981&width=700 700w, //hauswitchstore.com/cdn/shop/products/DIYwitchcraftcb.png?v=1644338981&width=800 800w, //hauswitchstore.com/cdn/shop/products/DIYwitchcraftcb.png?v=1644338981&width=900 900w, //hauswitchstore.com/cdn/shop/products/DIYwitchcraftcb.png?v=1644338981&width=1000 1000w" width="1080" height="1080" loading="lazy" sizes="(max-width: 740px) calc(50vw - 24px), calc((100vw - 80px) / 3 - 16px)" class="product-item__primary-image" data-media-id="29304555176179"> 1125<img src="//hauswitchstore.com/cdn/shop/products/DIY_Witchcraft_Zine_Digital_Download_Cover_Image.jpg?v=1644338981&width=1100" alt="DIY Witchcraft Zine" srcset="//hauswitchstore.com/cdn/shop/products/DIY_Witchcraft_Zine_Digital_Download_Cover_Image.jpg?v=1644338981&width=200 200w, //hauswitchstore.com/cdn/shop/products/DIY_Witchcraft_Zine_Digital_Download_Cover_Image.jpg?v=1644338981&width=300 300w, //hauswitchstore.com/cdn/shop/products/DIY_Witchcraft_Zine_Digital_Download_Cover_Image.jpg?v=1644338981&width=400 400w, //hauswitchstore.com/cdn/shop/products/DIY_Witchcraft_Zine_Digital_Download_Cover_Image.jpg?v=1644338981&width=500 500w, //hauswitchstore.com/cdn/shop/products/DIY_Witchcraft_Zine_Digital_Download_Cover_Image.jpg?v=1644338981&width=600 600w, //hauswitchstore.com/cdn/shop/products/DIY_Witchcraft_Zine_Digital_Download_Cover_Image.jpg?v=1644338981&width=700 700w, //hauswitchstore.com/cdn/shop/products/DIY_Witchcraft_Zine_Digital_Download_Cover_Image.jpg?v=1644338981&width=800 800w, //hauswitchstore.com/cdn/shop/products/DIY_Witchcraft_Zine_Digital_Download_Cover_Image.jpg?v=1644338981&width=900 900w, //hauswitchstore.com/cdn/shop/products/DIY_Witchcraft_Zine_Digital_Download_Cover_Image.jpg?v=1644338981&width=1000 1000w, //hauswitchstore.com/cdn/shop/products/DIY_Witchcraft_Zine_Digital_Download_Cover_Image.jpg?v=1644338981&width=1100 1100w" width="1100" height="1700" loading="lazy" sizes="(max-width: 740px) calc(50vw - 24px), calc((100vw - 80px) / 3 - 16px)" class="product-item__secondary-image"></a></div> 1126 1127 <div class="product-item__info product-item__info--with-button "> 1128 <div class="product-item-meta"><a href="/products/diy-witchcraft-zine" data-instant class="product-item-meta__title">DIY Witchcraft Zine</a> 1129 1130 <div class="product-item-meta__price-list-container"> 1131 <div class="price-list price-list--centered"><span class="price">
1132 <span class="visually-hidden">Sale price</span>From $5.00 1133</span></div> 1134 </div></div><div class="product-item__cta-wrapper"><button type="button" loader is="toggle-button" aria-controls="product-template--23356397551859__featured_collections_fNA83C-collection_zaghXU-5608467300515-drawer" aria-expanded="false" class="product-item__cta button button--primary hidden-phone">Quick view</button> 1135 <button type="button" loader is="toggle-button" aria-controls="product-template--23356397551859__featured_collections_fNA83C-collection_zaghXU-5608467300515-popover" aria-expanded="false" class="product-item__cta button button--primary hidden-tablet-and-up">Quick view</button> 1136 1137 <quick-buy-popover id="product-template--23356397551859__featured_collections_fNA83C-collection_zaghXU-5608467300515-popover" href="/products/diy-witchcraft-zine" class="popover popover--quick-buy hidden-tablet-and-up"></quick-buy-popover> 1138 <quick-buy-drawer id="product-template--23356397551859__featured_collections_fNA83C-collection_zaghXU-5608467300515-drawer" href="/products/diy-witchcraft-zine" class="drawer drawer--large drawer--quick-buy hidden-phone"></quick-buy-drawer></div></div> 1139</product-item><product-item class="product-item product-item--sold-out" ><div class="product-item__image-wrapper "><div class="product-item__label-list label-list"><span class="label label--subdued">Sold out</span></div><a href="/products/ill-baba-your-yaga-vinyl-sticker" data-instant class="product-item__aspect-ratio aspect-ratio aspect-ratio--square" style="padding-bottom: 100.0%; --aspect-ratio: 1.0"><img src="//hauswitchstore.com/cdn/shop/files/Untitled_InstagramPost_15.png?v=1769804605&width=1080" alt="I'll Baba Your Yaga Vinyl Sticker" srcset="//hauswitchstore.com/cdn/shop/files/Untitled_InstagramPost_15.png?v=1769804605&width=200 200w, //hauswitchstore.com/cdn/shop/files/Untitled_InstagramPost_15.png?v=1769804605&width=300 300w, //hauswitchstore.com/cdn/shop/files/Untitled_InstagramPost_15.png?v=1769804605&width=400 400w, //hauswitchstore.com/cdn/shop/files/Untitled_InstagramPost_15.png?v=1769804605&width=500 500w, //hauswitchstore.com/cdn/shop/files/Untitled_InstagramPost_15.png?v=1769804605&width=600 600w, //hauswitchstore.com/cdn/shop/files/Untitled_InstagramPost_15.png?v=1769804605&width=700 700w, //hauswitchstore.com/cdn/shop/files/Untitled_InstagramPost_15.png?v=1769804605&width=800 800w, //hauswitchstore.com/cdn/shop/files/Untitled_InstagramPost_15.png?v=1769804605&width=900 900w, //hauswitchstore.com/cdn/shop/files/Untitled_InstagramPost_15.png?v=1769804605&width=1000 1000w" width="1080" height="1080" loading="lazy" sizes="(max-width: 740px) calc(50vw - 24px), calc((100vw - 80px) / 3 - 16px)" class="product-item__primary-image" data-media-id="37628337717491"> 1140</a></div> 1141 1142 <div class="product-item__info product-item__info--with-button "> 1143 <div class="product-item-meta"><a href="/products/ill-baba-your-yaga-vinyl-sticker" data-instant class="product-item-meta__title">I'll Baba Your Yaga Vinyl Sticker</a> 1144 1145 <div class="product-item-meta__price-list-container"> 1146 <div class="price-list price-list--centered"><span class="price"> 1147 <span class="visually-hidden">Sale price</span>$4.00</span></div> 1148 </div></div></div> 1149</product-item></div> 1150 </div><prev-next-buttons class="product-list__prev-next hidden-pocket" style="--smallest-image-aspect-ratio: 1.0"> 1151 <button class="product-list__arrow prev-next-button prev-next-button--prev" disabled> 1152 <span class="visually-hidden">Previous</span><svg focusable="false" width="17" height="14" class="icon icon--nav-arrow-left icon--direction-aware " viewBox="0 0 17 14"> 1153 <path d="M17 7H2M8 1L2 7l6 6" stroke="currentColor" stroke-width="1.4" fill="none"></path> 1154 </svg></button> 1155 1156 <button class="product-list__arrow prev-next-button prev-next-button--next"> 1157 <span class="visually-hidden">Next</span><svg focusable="false" width="17" height="14" class="icon icon--nav-arrow-right icon--direction-aware " viewBox="0 0 17 14"> 1158 <path d="M0 7h15M9 1l6 6-6 6" stroke="currentColor" stroke-width="1.4" fill="none"></path> 1159 </svg></button> 1160 </prev-next-buttons></product-list></div> 1161 </div> 1162 </div> 1163</section> 1164 1165</div> 1166 </div><!-- BEGIN sections: footer-group --> 1167<div id="shopify-section-sections--23356394537203__footer" class="shopify-section shopify-section-group-footer-group shopify-section--footer"><style> 1168 #shopify-section-sections--23356394537203__footer .footer {--background: 253, 254, 248; 1169 --heading-color: 26, 26, 26; 1170 --text-color: 26, 26, 26; 1171 --border-color: 219, 220, 215; 1172 } 1173</style> 1174 1175<footer class="footer footer--bordered"> 1176 <div class="container"> 1177 <div class="footer__inner"> 1178 <div class="footer__item-list"><div class="footer__item footer__item--image is-first" ><img src="//hauswitchstore.com/cdn/shop/files/footer-graphic_a35ba315-b9e8-4d33-9517-f989158a1753.gif?v=1777568093&width=600" alt="" srcset="//hauswitchstore.com/cdn/shop/files/footer-graphic_a35ba315-b9e8-4d33-9517-f989158a1753.gif?v=1777568093&width=100 100w, //hauswitchstore.com/cdn/shop/files/footer-graphic_a35ba315-b9e8-4d33-9517-f989158a1753.gif?v=1777568093&width=200 200w, //hauswitchstore.com/cdn/shop/files/footer-graphic_a35ba315-b9e8-4d33-9517-f989158a1753.gif?v=1777568093&width=300 300w, //hauswitchstore.com/cdn/shop/files/footer-graphic_a35ba315-b9e8-4d33-9517-f989158a1753.gif?v=1777568093&width=400 400w, //hauswitchstore.com/cdn/shop/files/footer-graphic_a35ba315-b9e8-4d33-9517-f989158a1753.gif?v=1777568093&width=500 500w, //hauswitchstore.com/cdn/shop/files/footer-graphic_a35ba315-b9e8-4d33-9517-f989158a1753.gif?v=1777568093&width=600 600w" width="600" height="600" loading="lazy" style="width: 300px" sizes="300px" class="footer__image"></div><div class="footer__item footer__item--links " ><p class="footer__item-title heading heading--small">Connect</p> 1179 1180 <div class="footer__item-content"> 1181 <ul class="linklist list--unstyled" role="list"><li class="linklist__item"> 1182 <a href="https://www.instagram.com/hauswitch/" class="link--faded">Instagram</a> 1183 </li><li class="linklist__item"> 1184 <a href="https://www.tiktok.com/@hauswitchstore" class="link--faded">TikTok</a> 1185 </li><li class="linklist__item"> 1186 <a href="https://www.facebook.com/hauswitch/" class="link--faded">Facebook</a> 1187 </li><li class="linklist__item"> 1188 <a href="https://www.pinterest.com/HausWitchStore/" class="link--faded">Pinterest</a> 1189 </li></ul> 1190 </div></div><div class="footer__item footer__item--links " ><p class="footer__item-title heading heading--small">Learn More</p> 1191 1192 <div class="footer__item-content"> 1193 <ul class="linklist list--unstyled" role="list"><li class="linklist__item"> 1194 <a href="/pages/faq" class="link--faded">FAQ</a> 1195 </li><li class="linklist__item"> 1196 <a href="/pages/contact" class="link--faded">Contact</a> 1197 </li><li class="linklist__item"> 1198 <a href="https://hauswitchstore.com/pages/about" class="link--faded">About</a> 1199 </li><li class="linklist__item"> 1200 <a href="/pages/press" class="link--faded">Press</a> 1201 </li></ul> 1202 </div></div><div class="footer__item footer__item--links " ><p class="footer__item-title heading heading--small">Explore</p> 1203 1204 <div class="footer__item-content"> 1205 <ul class="linklist list--unstyled" role="list"><li class="linklist__item"> 1206 <a href="/blogs/community" class="link--faded">Community</a> 1207 </li><li class="linklist__item"> 1208 <a href="/collections/aura-photos" class="link--faded">Aura Photography</a> 1209 </li><li class="linklist__item"> 1210 <a href="/collections/events" class="link--faded">Events</a> 1211 </li><li class="linklist__item"> 1212 <a href="/collections/psychic-portal" class="link--faded">Psychic Portal</a> 1213 </li><li class="linklist__item"> 1214 <a href="https://www.nowagetravel.com/" class="link--faded">NowAge Travel</a> 1215 </li></ul> 1216 </div></div><div class="footer__item footer__item--newsletter " ><p class="footer__item-title heading heading--small">Join the coven</p><div class="footer__item-content"><form method="post" action="/contact#footer-newsletter" id="footer-newsletter" accept-charset="UTF-8" class="footer__newsletter-form form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="contact[tags]" value="newsletter"> 1217 1218 <div class="input"> 1219 <input type="email" id="footer[contact][email]" name="contact[email]" class="input__field input__field--text"> 1220 <label for="footer[contact][email]" class="input__label">Your e-mail</label> 1221 <button type="submit" class="input__submit-icon tap-area" title="Register"><svg focusable="false" width="17" height="14" class="icon icon--nav-arrow-right icon--direction-aware " viewBox="0 0 17 14"> 1222 <path d="M0 7h15M9 1l6 6-6 6" stroke="currentColor" stroke-width="1.4" fill="none"></path> 1223 </svg></button> 1224 </div></form></div></div></div> 1225 1226 <div class="footer__aside">
1226<span class="footer__copyright text--xsmall text--subdued"></span> 1227 1228 <div class="footer__follow-and-payment"><div class="footer__follow-on-shop">
1228<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-follow-button.en.esm.js"></script>
vendor: 1 bytes, line 1228
1228
1229<script type="module"> 1230 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-follow-button.en.esm.js"); 1231 1232 1233</script>
1233 1234 1235<shop-follow-button ux-mode="windoid" return-uri="https://hauswitchstore.com/account/redirect" proxy="true"></shop-follow-button> 1236</div></div> 1237 </div> 1238 </div> 1239 </div> 1240</footer> 1241 1242</div><div id="shopify-section-sections--23356394537203__custom_liquid_M9rNMh" class="shopify-section shopify-section-group-footer-group shopify-section--custom-liquid"><style> 1243 #shopify-section-sections--23356394537203__custom_liquid_M9rNMh {--heading-color: 26, 26, 26; 1244 --text-color: 26, 26, 26; 1245 1246 --section-background: 253, 254, 248; 1247 } 1248</style> 1249 1250<section class="section "> 1251 <div > 1252 <div class="section__color-wrapper "> 1253 <div class="container "><header class="section__header text-container"><h2 class="heading heading--small">© Hauswitch, 2026. All rights reserved.</h2></header></div> 1254 </div> 1255 </div> 1256</section> 1257 1258</div> 1259<!-- END sections: footer-group --><style> </style> 1260<div id="shopify-block-ANWk3VXE0N3BIWEMvV__11349500561483629931" class="shopify-block shopify-app-block">
1260<script id="ReStock-config"> 1261 var _ReStockConfig = window._ReStockConfig || {}; 1262 1263 _ReStockConfig.templateName = "cart"; 1264 _ReStockConfig.isB2BCustomer = null; 1265 _ReStockConfig.currentLocationId = null; 1266 _ReStockConfig.moneyFormat = "${{amount}}";_ReStockConfig.marketHandle = "us"; 1267 _ReStockConfig.marketId = 1139376371;let metafieldConfigData = null;metafieldConfigData = {"ask_for_gdpr_consent_enabled":false,"not_selectable_variants_enabled":false,"pre_order_products_enabled":false,"ui_style":{"notify_me_styles":[{"wrapper":null,"page":"LANDING_PAGES","inline_display_mode":"NOT_DISPLAYED","show_floating_button":false,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"inject_to_all_elements_of_each_wrapper":false,"handle_rerenders":true,"prepend_to_wrapper":false,"custom_styles":null,"enable_variant_listener_on_cards":false,"product_card_selector":null,"displayed_product_resolution_enabled":false,"variant_picker_selector":null,"selected_anchor_selector":null,"general_card_placement_enabled":false,"card_scoped_wrapper_enabled":false,"variant_group_availability_enabled":false,"quick_view_widget_lifecycle_enabled":false,"style_mode":"SMART"},{"wrapper":null,"page":"COLLECTION_PAGE","inline_display_mode":"NOT_DISPLAYED","show_floating_button":false,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"inject_to_all_elements_of_each_wrapper":false,"handle_rerenders":true,"prepend_to_wrapper":false,"custom_styles":null,"enable_variant_listener_on_cards":false,"product_card_selector":null,"displayed_product_resolution_enabled":false,"variant_picker_selector":null,"selected_anchor_selector":null,"general_card_placement_enabled":false,"card_scoped_wrapper_enabled":false,"variant_group_availability_enabled":false,"quick_view_widget_lifecycle_enabled":false,"style_mode":"SMART"}],"product_page_notify_me_style":{"wrapper":[".product-form__payment-container",".shopify-product-form"],"support_wrapper":null,"css_selector_from_theme":null,"inline_display_mode":"BUTTON","show_floating_button":false,"hide_buy_it_now_button":false,"inject_in_parent_of_wrapper":false,"inject_to_all_wrappers":false,"handle_rerenders":true,"prepend_to_wrapper":false,"css_selector":"product-payment-container.product-form__payment-container>button[type='submit']#AddToCart.product-form__add-button.button.button--primary.button--full","css_selector_by_support":null,"custom_styles":{"color":"ffffff","backgroundColor":"fcc2ff"},"custom_variant_listener":{"element":null,"property":null,"is_dataset_property":false},"use_add_to_cart_button_selector":false,"style_mode":"MANUAL"},"subscription_form_style":{"custom_styles":{"color":"ffffff","backgroundColor":"fcc2ff"},"style_mode":"MANUAL","name_field_is_visible":false,"name_field_is_required":false,"email_field_is_required":false,"phone_field_is_required":false,"whatsapp_field_is_required":false,"quantity_field_is_visible":false,"quantity_max_value":10},"button_classes":["product-form__add-button","button","button--primary","button--full"],"global_raw_css":"","product_page_raw_css":"","after_subscribe_message_styles":null},"ui_contents":[{"notify_me_contents":[{"page":"PRODUCT_PAGE","button_text":"NOTIFY ME WHEN AVAILABLE","not_selectable_variants_button_text":"NOTIFY ME WHEN AVAILABLE"},{"page":"COLLECTION_PAGE","button_text":"NOTIFY ME WHEN AVAILABLE","not_selectable_variants_button_text":"NOTIFY ME WHEN AVAILABLE"},{"page":"LANDING_PAGES","button_text":"NOTIFY ME WHEN AVAILABLE","not_selectable_variants_button_text":"NOTIFY ME WHEN AVAILABLE"}],"subscription_form_content":{"form_title":"How do you want to be notified?","email_input_placeholder":"Email address...","email_input_below_text":"Donât worry! We hate spam as much as you do.","email_label":"Email","full_name_label":"Name","full_name_placeholder":"Full name ...","push_label":"Push notification","sms_label":"SMS","sms_input_placeholder":"1234567890","whatsapp_label":"Whatsapp","whatsapp_input_placeholder":"Whatsapp Number ...","empty_name_error_message":"Name is required.","name_length_error_message":"Name is too long.","invali
1267d_email_error_message":"Your email address is not valid.","empty_email_error_message":"Email is required.","invalid_phone_number_error_message":"Your phone number is not valid.","empty_phone_number_error_message":"Phone number is required.","no_channels_selected_error_message":"You need to subscribe to one of the channels.","button_text":"NOTIFY ME WHEN AVAILABLE","add_to_contacts_checkbox_text":"Notify me about other news or offers too","privacy_policy_text":"I have read and agree to the {{privacy_policy_url_text}}.","privacy_policy_url_text":"privacy policy","privacy_policy_url":"","privacy_policy_error_message":"You must accept our privacy policy","after_subscribe_message_text":"We will notify you when the item is available","already_subscribed_message_text":"You already have subscribed for this item","push_is_not_allowed_message_text":"You didn\\'t allow this site to send you push notifications. To receive back-in-stock notification from this shop.","style_mode":"SMART","quantity_label":"Quantity"},"language":"en"}],"default_language":"en","shop_id":3361,"app_enabled":true,"base_url":"https://api.notify-me.app","excluded_from_back_in_stock_variants":[],"included_in_back_in_stock_variants":[],"has_contact_integration":false,"ask_for_contact_integration_is_hidden":false,"privacy_policy_is_hidden":true,"disable_branding_permission":true,"is_email_hidden":false,"is_sms_hidden":true,"is_push_hidden":true,"is_whatsapp_hidden":true,"collection_page_show_button_when_any_variant_is_out_of_stock":false,"home_page_show_button_when_any_variant_is_out_of_stock":false,"subscription_limit_reached":false,"is_back_in_stock_active":true,"back_
1267in_stock_product_selection_mode":"ALL","low_stock":{"excluded_variants":[],"is_service_active":false,"widget_settings":{"show_mode":"ALL","inventory_threshold":1},"product_page":{"is_elements_shown":false,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]},"collection_page":{"is_elements_shown":false,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]},"landing_page":{"is_elements_shown":false,"ui_contents":{"en":{"description":"Only {{remaining_quantity}} items left in stock!"}},"style_mode":"SMART","widget":{"custom_styles":{"show_icon":true,"icon_color":"EE442E","text_color":"EE442E"},"wrapper_by_support":null,"inject_to_all_wrappers":false},"inline_button_placements":[]}},"is_suspended":false,"default_country_code":null};let metafieldPreOrderData = null;metafieldPreOrderData = {"product_page":{"ui_styles":{"badge":{"custom_styles":{"text_color":"000","border_radius":10,"background_color":"e4e5e7"},"is_hidden":false},"button":{"custom_styles":null,"is_visible":true},"description":{"is_hidden":false},"hide_buy_it_now_button":false,"is_active":false,"price":{"custom_styles":null,"format":"{symbol}{price}","is_hidden":false},"replace_with_add_to_cart_button":true,"selling_plan_selector":{"custom_styles":{"badgeTextColor":"000000","cardTitleColor":"202223","cardBorderColor":"e4e5e7","cardBorderRadius":"8","badgeBorderRadius":"6","cardBackgroundColor":"ffffff","badgeBackgroun
1267dColor":"e4e5e7","cardDescriptionColor":"6d7175"},"is_active":false,"custom_css":""},"style_mode":"SMART"},"ui_contents":{"en":{"badge_text":"Pre-order","widget_description":"Product will be available soon!","btn_text":"Pre-order now","availability_date_label":"Expected availability","soon_available_text":"Coming soon","billing_full_payment_text":"Full payment at checkout","billing_due_now_label":"Due now","billing_due_later_label":"Due later on","selling_plan_full_payment_title":"Full payment","selling_plan_partial_payment_title":"Reserve now, pay later","selling_plan_selector_save_label":"Save"}},"elements_selectors":{"button":{"css_selector":"product-payment-container.product-form__payment-container>button[type='submit']#AddToCart.product-form__add-button.button.button--primary.button--full","css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"description":{"wrapper_by_support":null},"selling_plan_selector":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false}},"collection_page":{"ui_styles":{"is_active":false,"button":{"custom_styles":null,"is_visible":true},"badge":{"custom_styles":{"text_color":"000","border_radius":10,"background_color":"e4e5e7","discount_text_color":"000"},"is_visible":false,"position":"TOP_RIGHT"},"style_mode":"SMART"},"ui_contents":{"en":{"btn_text":"Pre-order now","badge_text":"Pre-order"}},"elements_selectors":{"button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"badge_parent":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null,"format":"{symbol}{price}","is_hidden":false},"quick_view_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section_add_to_cart_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"featured_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false},"enable_variant_listener_on_cards":false},"landing_page":{"ui_styles":{"is_active":false,"button":{"custom_styles":null,"is_visible":true},"badge":{"custom_styles":{"text_color":"000","border_radius":10,"background_color":"e4e5e7","discount_text_color":"000"},"is_visible":false,"position":"TOP_RIGHT"},"style_mode":"SMART","featured_product_is_active":false},"ui_contents":{"en":{"btn_text":"Pre-order now","badge_text":"Pre-order"}},"elements_selectors":{"button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"badge_parent":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"price":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null,"format":"{symbol}{price}","is_hidden":false},"quick_view_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"quick_view_section_add_to_cart_button":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"featured_section":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"inject_to_all_wrappers":false},"enable_variant_listener_on_cards":false},"limit_reached":false,"variant_ids":[],"is_selling_plan_removed_by_support":false,"selling_plans_settings":{},"selling_plans_billing_settings":{},"selling_plan_id_to_market_ids":{},"selling_plan_id_to_variant_ids":{},"is_service_active":true,"override_cart_requests":true,"excluded_catalogs_products":[],"excluded_catalogs_collections":[],"excluded_company_locations":[],"description_availability_config":{},"mixed_cart_alert":{"show_mixed_cart_alert":false,"is_active":false,"ui_styles":{"show_icon":true,"show_title":true,"show_body":true,"style_mode":"SMART","custom_css":"","custom_styles":{"color":"1A1A1A","iconColor":"616161","borderColor":"F1F1F1","borderRadius":8,"backgroundColor":"F1F1F1"}},"elements_selectors":{"cart_page":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null},"cart_drawer":{"css_selector":null,"css_selector_by_support":null,"css_selector_from_theme":null}},"ui_contents":{"en":{"title":"Shipping Notice","body":"Your order
1267contains items with different delivery dates."}}}};let metafieldWishlistData = undefined;metafieldWishlistData = {"is_service_active":true,"is_guest_mode_enabled":true,"reminder_channels":[],"share_wishlist_enabled":false,"share_wishlist_channels":["x","whatsapp","facebook","pinterest","telegram","email"],"excluded_variant_ids":[],"wishlist_buttons":{"product_page":{"is_visible":true,"style_mode":"SMART","custom_styles":null,"slim_custom_styles":null,"inject_to_all_wrappers":false,"icon":"heart","inline_button_placements":[],"button_style":"FILL"},"collection_page":{"is_visible":false,"custom_styles":null,"icon":"","position":"","mode":"","button_placements":[]},"landing_page":{"is_visible":false,"custom_styles":null,"icon":"","position":"","mode":"","button_placements":[]}},"limit_reached":false,"ui_contents":{"en":{"id":2484,"add_to_wishlist_button_label":"Add to wishlist","remove_from_wishlist_button_label":"Itâs in wishlist","list_access_button_label":"Wishlist","list_title":"Wishlist","list_add_all_to_cart_button_label":"Add all to cart","list_share_button_label":"Share with friends","share_modal_subtitle":"Share your wishlist publicly via link or social media","share_social_share_text":"Check out my wishlist","share_error_message":"Couldn't create the link. Please try again.","share_empty_title":"No shareable link yet","share_empty_description":"Generate a unique link so your friends can see what's on your wishlist","share_generate_button_label":"Generate shareable link","share_empty_footer":"You can change visibility to private anytime","share_copy_link_label":"Copy link","share_copy_button_label":"Copy","share_copied_button_label":"Copied","share_generating_label":"Generating a linkâ¦","share_social_label":"Share on social","share_access_label":"General access","
1267share_access_anyone_label":"Anyone with the link","share_access_anyone_description":"Anyone with the link can view this wishlist","share_access_only_you_label":"Only you","share_access_only_you_description":"This wishlist is private and only visible to you","shared_wishlist_empty_description":"This shared wishlist is empty.","shared_wishlist_title":"Shared wishlist","private_wishlist_message":"This wishlist is private","product_card_add_to_cart_button_label":"Add to cart","product_card_out_of_stock_button_label":"Out of stock","product_count_label":"{count} product(s)","empty_list_description":"You didn't like any products yet!","empty_list_explore_button_label":"Explore store","add_to_cart_toast_message":"Added to your cart","add_to_cart_failure_message":"Failed to add items to cart.","saved_to_wishlist_toast_message":"Saved to your wishlist","login_modal_button_label":"Login","login_modal_description":"Log in to your account to add products to your wishlist and view your previously saved items.","login_modal_title":"Login required"}},"access_button":{"custom_styles":null,"icon":"heart","position":"bottom-left","hide_floating_button":false,"floating_access_button_hidden_on_pages":[],"show_count_badge":false,"badge_custom_styles":null,"inline_button_placements":[]},"drawer":{"custom_styles":null,"position":"left","my_wishlist_type":"drawer","my_wishlist_page_path":"/pages/my-wishlist","explore_link_target":""},"my_wishlist":{"type":"drawer","page_path":"/pages/my-wishlist"},"add_to_cart_message":{"custom_styles":null,"position":"bottom-right"},"saved_to_wishlist_message":{"is_enabled":false,"custom_styles":null,"position":"bottom-right"}};let metafieldFlagsData = null;metafieldFlagsData = {};_ReStockConfig._metafields = { 1268 sdkConfig: metafieldConfigData, 1269 preOrderConfig: metafieldPreOrderData, 1270 wishlistConfig: metafieldWishlistData, 1271 featureFlags: metafieldFlagsData 1272 }; 1273</script>
1273 1274 1275<!-- BEGIN app snippet: early-cart-guard -->
1275<script id="ReStock-early-cart-guard"> 1276(function (window) { 1277 try { 1278 if (window.__nmPreorderEarlyGuard) return; 1279 1280 let cfg = null; 1281 const metafields = window._ReStockConfig?._metafields; 1282 if (metafields?.preOrderConfig && typeof metafields.preOrderConfig === 'object') { 1283 cfg = metafields.preOrderConfig; 1284 } 1285 1286 let wrappersInstalled = false; 1287 1288 window.__nmPreorderEarlyGuard = { 1289 v: 1, 1290 active: true, 1291 setConfig: function (nextConfig) { 1292 if (!nextConfig || typeof nextConfig !== 'object') return; 1293 cfg = nextConfig; 1294 if (cfg.override_cart_requests === true) installWrappers(); 1295 } 1296 }; 1297 1298 function isGuardActive() { 1299 return window.__nmPreorderEarlyGuard?.active === true; 1300 } 1301 1302 function isCartAddUrl(url) { 1303 try { 1304 const parsed = new URL(String(url), window.document.baseURI); 1305 return /(?:^|\/)cart\/add(?:\.js(?:on)?)?$/.test(parsed.pathname); 1306 } catch (error) { 1307 return false; 1308 } 1309 } 1310 1311 function isPageActive() { 1312 const template = window._ReStockConfig?.templateName; 1313 let pageConfig = null; 1314 if (template === 'product') { 1315 pageConfig = cfg.product_page; 1316 } else if (template === 'collection' || template === 'list-collections' || template === 'search' || template === 'page') { 1317 pageConfig = cfg.collection_page; 1318 } else if (template === 'index') { 1319 pageConfig = cfg.landing_page; 1320 } 1321 return pageConfig?.ui_styles?.is_active === true; 1322 } 1323 1324 function shouldEnrich() { 1325 if (!cfg) return false; 1326 if (cfg.override_cart_requests !== true) return false; 1327 if (cfg.is_service_active !== true) return false; 1328 if (cfg.limit_reached === true) return false; 1329 if (window._ReStockConfig?.isB2BCustomer) return false; 1330 return isPageActive(); 1331 } 1332 1333 function isPlanVisibleInMarket(planId) { 1334 const planToMarkets = cfg.selling_plan_id_to_market_ids; 1335 if (!planToMarkets) return true; 1336 const allowedMarketIds = planToMarkets[planId]; 1337 if (!allowedMarketIds || allowedMarketIds.length === 0) return true; 1338 const marketId = window._ReStockConfig?.marketId; 1339 if (marketId == null) return true; 1340 return allowedMarketIds.includes(Number(marketId)); 1341 } 1342 1343 function findSellingPlanId(variantId) { 1344 const planToVariants = cfg.selling_plan_id_to_variant_ids; 1345 if (!planToVariants) return null; 1346 for (const planId of Object.keys(planToVariants)) { 1347 const variantIds = planToVariants[planId]; 1348 if (variantIds && variantIds.includes(variantId) && isPlanVisibleInMarket(planId)) return planId; 1349 } 1350 return null; 1351 } 1352 1353 function localizedContents() { 1354 const contents = cfg.product_page?.ui_contents; 1355 if (!contents || typeof contents !== 'object') return {}; 1356 return contents[shopLanguage()] || contents['en'] || Object.values(contents)[0] || {}; 1357 } 1358 1359 function shopLanguage() { 1360 const locale = window.Shopify?.locale; 1361 if (locale) return locale; 1362 const documentLanguage = window.document?.documentElement?.lang; 1363 if (documentLanguage && documentLanguage !== 'null') return documentLanguage; 1364 return null; 1365 } 1366 1367 function formatDate(date) { 1368 return date.toISOString().split('T')[0]; 1369 } 1370 1371 function toFiniteNumber(value) { 1372 if (typeof value === 'number') return Number.isFinite(value) ? value : null; 1373 if (typeof value === 'string') { 1374 const parsed = parseFloat(value); 1375 return Number.isFinite(parsed) ? parsed : null; 1376 } 1377 return null; 1378 } 1379 1380 function clamp(value, min, max) { 1381 return Math.min(max, Math.max(min, value)); 1382 } 1383 1384 function availabilityDateText(planId) { 1385 const settings = cfg.description_availability_config?.[planId]; 1386 if (!settings) return ''; 1387 if (settings.type === 'SOON') return localizedContents().soon_available_text || ''; 1388 if (settings.type === 'SPECIFIC_DATE') { 1389 const parsed = new Date(settings.config.date); 1390 return isNaN(parsed.getTime()) ? '' : formatDate(parsed); 1391 } 1392 if (settings.type === 'RELATIVE_DATE') { 1393 const days = typeof settings.config.days === 'string' ? parseInt(settings.config.days, 10) : settings.config.days; 1394 if (isNaN(days)) return ''; 1395 const futureDate = new Date(); 1396 futureDate.setDate(futureDate.getDate() + days); 1397 return formatDate(futureDate); 1398 } 1399 return ''; 1400 } 1401 1402 function inlineVariantPrice(variantId) { 1403 const variants = window._ReStockConfig?.product?.variants;
1404 if (!Array.isArray(variants)) return null; 1405 const variant = variants.find(function (candidate) { 1406 return Number(candidate?.id) === variantId; 1407 }); 1408 if (!variant) return null; 1409 return variant.price ? variant.price / 100 : 0; 1410 } 1411 1412 function finalPriceForPlan(price, planId) { 1413 const adjustment = cfg.selling_plans_settings?.[planId]; 1414 if (!adjustment?.has_discount) return price; 1415 if (adjustment.value_type === 'percentage') return price * (1 - adjustment.value / 100); 1416 if (adjustment.value_type === 'fixed_amount') return price - adjustment.value * (window.Shopify?.currency?.rate ?? 1); 1417 return price; 1418 } 1419 1420 function formatMoneyIntl(price) { 1421 const currency = window.Shopify?.currency?.active || 'USD'; 1422 const locale = window.Shopify?.locale || 'en-US'; 1423 try { 1424 return new Intl.NumberFormat(locale, { style: 'currency', currency: currency }).format(price); 1425 } catch (error) { 1426 return currency + ' ' + price.toFixed(2); 1427 } 1428 } 1429 1430 const AMOUNT_PLACEHOLDER = /\{\{\s*(\w+)\s*\}\}/; 1431 1432 function delimit(cents, precision, thousands, decimal) { 1433 const parts = (cents / 100).toFixed(precision).split('.'); 1434 const grouped = parts[0].replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + thousands); 1435 return parts[1] ? grouped + (decimal || '.') + parts[1] : grouped; 1436 } 1437 1438 const AMOUNT_FORMATTERS = new Map([ 1439 ['amount', function (cents) { return delimit(cents, 2, ','); }], 1440 ['amount_no_decimals', function (cents) { return delimit(cents, 0, ','); }], 1441 ['amount_with_comma_separator', function (cents) { return delimit(cents, 2, '.', ','); }], 1442 ['amount_no_decimals_with_comma_separator', function (cents) { return delimit(cents, 0, '.'); }], 1443 ['amount_with_apostrophe_separator', function (cents) { return delimit(cents, 2, "'"); }], 1444 ['amount_no_decimals_with_space_separator', function (cents) { return delimit(cents, 0, ' '); }], 1445 ['amount_with_space_separator', function (cents) { return delimit(cents, 2, ' ', ','); }], 1446 ['amount_with_period_and_space_separator', function (cents) { return delimit(cents, 2, ' '); }] 1447 ]); 1448 1449 function decodeEntities(s) { 1450 var el = window.document.createElement('textarea'); el.innerHTML = s; return el.value; 1451 } 1452 1453 function moneyFormat() { 1454 const format = window._ReStockConfig?.moneyFormat; 1455 return typeof format === 'string' ? decodeEntities(format.replace(/<[^>]*>/g, '')) : ''; 1456 } 1457 1458 function formatMoney(amount) { 1459 const format = moneyFormat(); 1460 const formatAmount = AMOUNT_FORMATTERS.get(AMOUNT_PLACEHOLDER.exec(format)?.[1] ?? ''); 1461 if (!formatAmount) return formatMoneyIntl(amount); 1462 return format.replace(AMOUNT_PLACEHOLDER, formatAmount(Math.round(amount * 100))); 1463 } 1464 1465 function calculateCheckoutCharge(price, policy) { 1466 const { charge_type, exact_amount, percentage } = policy.checkout_charge; 1467 if (!Number.isFinite(price) || price <= 0) return 0; 1468 if (charge_type === 'PERCENTAGE') return clamp(price * ((toFiniteNumber(percentage) ?? 0) / 100), 0, price); 1469 return clamp(toFiniteNumber(exact_amount) ?? 0, 0, price); 1470 } 1471 1472 function formatRemainingDueDate(policy) { 1473 const { date_type, exact_date, after_some_days } = policy.remaining_fee_checkout_time; 1474 if (date_type === 'EXACT_DATE' && exact_date) { 1475 const parsed = new Date(exact_date + 'T12:00:00Z'); 1476 if (!isNaN(parsed.getTime())) return formatDate(parsed); 1477 } 1478 if (date_type === 'AFTER_SOME_DAYS' && after_some_days) { 1479 const days = toFiniteNumber(after_some_days); 1480 if (days === null) return ''; 1481 const futureDate = new Date(); 1482 futureDate.setDate(futureDate.getDate() + days); 1483 return formatDate(futureDate); 1484 } 1485 return ''; 1486 } 1487 1488 function paymentText(planId, variantId) { 1489 const policy = cfg.selling_plans_billing_settings?.[planId]; 1490 if (!policy) return ''; 1491 const contents = localizedContents(); 1492 if (policy.payment_type === 'FULL') return contents.billing_full_payment_text || 'Full payment at checkout'; 1493 1494 const price = inlineVariantPrice(variantId); 1495 if (price == null) return ''; 1496 1497 const planPrice = finalPriceForPlan(price, planId); 1498 const dueNowAmount = calculateCheckoutCharge(planPrice, policy); 1499 const dueLaterAmount = clamp(planPrice - dueNowAmount, 0, planPrice); 1500 const dueDate = formatRemainingDueDate(policy); 1501 1502 const dueNowLabel = contents.billing_due_now_label || 'Due now'; 1503 const dueLaterLabel = contents.billing_due_later_label || 'Due later on'; 1504 const formattedDueNow = formatMoney(dueNowAmount); 1505 const formattedDueLater = formatMoney(dueLaterAmount); 1506 const dueLaterPart = dueDate 1507 ? formattedDueLater + ' ' + dueLaterLabel + ' ' + dueDate 1508 : formattedDueLater + ' ' + dueLaterLabel; 1509 1510 return formattedDueNow + ' ' + dueNowLabel + ' · ' + dueLaterPart; 1511 } 1512 1513 const DEFAULT_AVAILABILITY_LABEL = 'Expected availability'; 1514 const DEFAULT_PAYMENT_LABEL = 'Payment'; 1515 const TYPE_MARKER = 'Type'; 1516 1517 function cleanLabel(raw) { 1518 return String(raw == null ? '' : raw) 1519 .replace(/[[\]]/g, '') 1520 .replace(/[\s:ï¼]+$/, '') 1521 .trim(); 1522 } 1523 1524 function resolvePaymentLabel(raw) { 1525 const cleaned = cleanLabel(raw); 1526 if (!cleaned || cleaned.charAt(0) === '_' || cleaned === TYPE_MARKER || cleaned === DEFAULT_AVAILABILITY_LABEL) { 1527 return DEFAULT_PAYMENT_LABEL; 1528 } 1529 return cleaned; 1530 } 1531 1532 function resolveAvailabilityLabel(raw, paymentLabel) { 1533 const cleaned = cleanLabel(raw); 1534 if (!cleaned || cleaned.charAt(0) === '_' || cleaned === TYPE_MARKER || cleaned === paymentLabel) { 1535 return DEFAULT_AVAILABILITY_LABEL; 1536 } 1537 return cleaned; 1538 } 1539 1540 function visibleCartProperties(planId, variantId) { 1541 const properties = {};
1542 try { 1543 const contents = localizedContents(); 1544 const paymentLabel = resolvePaymentLabel(contents.payment_label); 1545 const availabilityLabel = resolveAvailabilityLabel(contents.availability_date_label, paymentLabel); 1546 const availabilityDate = availabilityDateText(planId); 1547 if (availabilityDate) properties[availabilityLabel] = availabilityDate; 1548 const payment = paymentText(planId, variantId); 1549 if (payment) properties[paymentLabel] = payment; 1550 } catch (error) {} 1551 return properties; 1552 } 1553 1554 function setJsonProperty(item, name, value) { 1555 const properties = item.properties && typeof item.properties === 'object' && !Array.isArray(item.properties) ? item.properties : {}; 1556 if (properties[name] === value) return false; 1557 properties[name] = value; 1558 item.properties = properties; 1559 return true; 1560 } 1561 1562 function coerceJsonNumbers(item) { 1563 if (item.id) item.id = Number(item.id); 1564 if (item.quantity) item.quantity = Number(item.quantity); 1565 } 1566 1567 function applyVisibleJsonProperties(item, planId, variantId) { 1568 const properties = visibleCartProperties(planId, variantId); 1569 let changed = false; 1570 for (const name of Object.keys(properties)) { 1571 if (setJsonProperty(item, name, properties[name])) changed = true; 1572 } 1573 return changed; 1574 } 1575 1576 function enrichJsonItem(item) { 1577 if (!item || typeof item !== 'object') return false; 1578 const variantId = Number(item.id); 1579 if (!Number.isFinite(variantId)) return false; 1580 const planId = findSellingPlanId(variantId); 1581 if (planId == null) return false; 1582 1583 if (cfg.is_selling_plan_removed_by_support) { 1584 const tagged = setJsonProperty(item, '_purchase_type', 'NM-preorder'); 1585 const typed = setJsonProperty(item, 'Type', 'Pre-order'); 1586 if (!tagged && !typed) return false; 1587 coerceJsonNumbers(item); 1588 return true; 1589 } 1590 1591 if (item.selling_plan != null && item.selling_plan !== '' && String(item.selling_plan) === String(planId)) return false; 1592 1593 setJsonProperty(item, '_purchase_type', 'NM-preorder'); 1594 if (item.selling_plan == null || item.selling_plan === '') item.selling_plan = Number(planId); 1595 if (item.properties._selling_plan_id == null) setJsonProperty(item, '_selling_plan_id', String(planId)); 1596 applyVisibleJsonProperties(item, planId, variantId); 1597 coerceJsonNumbers(item); 1598 return true; 1599 } 1600 1601 function enrichJson(data) { 1602 if (!data || typeof data !== 'object') return false; 1603 if (Array.isArray(data.items)) { 1604 let changed = false; 1605 for (const item of data.items) { 1606 if (enrichJsonItem(item)) changed = true; 1607 } 1608 return changed; 1609 } 1610 if (data.items && typeof data.items === 'object') return enrichJsonItem(data.items); 1611 return enrichJsonItem(data); 1612 } 1613 1614 function paramScopes(params) { 1615 const prefixes = []; 1616 const seen = {}; 1617 params.forEach(function (value, key) { 1618 const match = /^items\[(\d+)\]\[id\]$/.exec(key); 1619 if (match && !seen[match[1]]) { 1620 seen[match[1]] = true; 1621 prefixes.push('items[' + match[1] + ']'); 1622 } 1623 }); 1624 if (prefixes.length > 0) return prefixes; 1625 if (params.get('items[id]') != null) return ['items']; 1626 if (params.get('id') != null) return ['']; 1627 return []; 1628 } 1629 1630 function scopeKey(prefix, name) { 1631 return prefix ? prefix + '[' + name + ']' : name; 1632 } 1633 1634 function scopePropertyKey(prefix, name) { 1635 return prefix ? prefix + '[properties][' + name + ']' : 'properties[' + name + ']'; 1636 } 1637 1638 function setParam(params, key, value) { 1639 if (params.get(key) === value) return false; 1640 params.set(key, value); 1641 return true; 1642 } 1643 1644 function applyRemovedBySupportParams(params, prefix) { 1645 const tagged = setParam(params, scopePropertyKey(prefix, '_purchase_type'), 'NM-preorder'); 1646 const typed = setParam(params, scopePropertyKey(prefix, 'Type'), 'Pre-order'); 1647 return tagged || typed; 1648 } 1649 1650 function applyVisibleParamProperties(params, prefix, planId, variantId) { 1651 const properties = visibleCartProperties(planId, variantId); 1652 let changed = false;
1653 for (const name of Object.keys(properties)) { 1654 if (setParam(params, scopePropertyKey(prefix, name), properties[name])) changed = true; 1655 } 1656 return changed; 1657 } 1658 1659 function enrichParamScope(params, prefix, planId, variantId) { 1660 if (cfg.is_selling_plan_removed_by_support) return applyRemovedBySupportParams(params, prefix); 1661 1662 const existingPlan = params.get(scopeKey(prefix, 'selling_plan')); 1663 if (existingPlan != null && existingPlan !== '' && String(existingPlan) === String(planId)) return false; 1664 1665 let changed = setParam(params, scopePropertyKey(prefix, '_purchase_type'), 'NM-preorder'); 1666 if (existingPlan == null || existingPlan === '') { 1667 params.set(scopeKey(prefix, 'selling_plan'), String(planId)); 1668 changed = true; 1669 } 1670 if (params.get(scopePropertyKey(prefix, '_selling_plan_id')) == null) { 1671 params.set(scopePropertyKey(prefix, '_selling_plan_id'), String(planId)); 1672 changed = true; 1673 } 1674 if (applyVisibleParamProperties(params, prefix, planId, variantId)) changed = true; 1675 return changed; 1676 } 1677 1678 function enrichParams(params) { 1679 const scopes = paramScopes(params); 1680 let changed = false; 1681 for (const prefix of scopes) { 1682 const variantId = Number(params.get(scopeKey(prefix, 'id'))); 1683 if (!Number.isFinite(variantId)) continue; 1684 const planId = findSellingPlanId(variantId); 1685 if (planId == null) continue; 1686 if (enrichParamScope(params, prefix, planId, variantId)) changed = true; 1687 } 1688 return changed; 1689 } 1690 1691 function enrichBody(body) { 1692 if (typeof body === 'string') { 1693 let jsonData = null; 1694 try { 1695 jsonData = JSON.parse(body); 1696 } catch (error) { 1697 jsonData = null; 1698 } 1699 if (jsonData && typeof jsonData === 'object') { 1700 return enrichJson(jsonData) ? { body: JSON.stringify(jsonData), changed: true } : { body: body, changed: false }; 1701 } 1702 const params = new URLSearchParams(body); 1703 return enrichParams(params) ? { body: params.toString(), changed: true } : { body: body, changed: false }; 1704 } 1705 if (typeof FormData !== 'undefined' && body instanceof FormData) { 1706 return { body: body, changed: enrichParams(body) }; 1707 } 1708 if (typeof URLSearchParams !== 'undefined' && body instanceof URLSearchParams) { 1709 return { body: body, changed: enrichParams(body) }; 1710 } 1711 return { body: body, changed: false }; 1712 } 1713 1714 function extractRequestUrl(input) { 1715 if (typeof input === 'string') return input; 1716 if (typeof input?.url === 'string') return input.url; 1717 if (typeof input?.href === 'string') return input.href; 1718 return ''; 1719 } 1720 1721 function maybeEnrichFetchInit(input, init) { 1722 if (!isGuardActive() || !init || init.body == null) return init; 1723 const url = extractRequestUrl(input); 1724 if (!isCartAddUrl(url) || !shouldEnrich()) return init; 1725 const enriched = enrichBody(init.body); 1726 if (!enriched.changed) return init; 1727 return { ...init, body: enriched.body }; 1728 } 1729 1730 function installWrappers() { 1731 if (wrappersInstalled) return; 1732 wrappersInstalled = true; 1733 1734 const originalFetch = window.fetch; 1735 window.fetch = function (input, init) { 1736 let nextInit = init; 1737 try { 1738 nextInit = maybeEnrichFetchInit(input, init); 1739 } catch (error) {} 1740 return originalFetch.call(this || window, input, nextInit); 1741 }; 1742 1743 const xhrPrototype = window.XMLHttpRequest?.prototype; 1744 if (xhrPrototype) { 1745 const originalOpen = xhrPrototype.open; 1746 const originalSend = xhrPrototype.send; 1747 xhrPrototype.open = function () { 1748 try { 1749 this.__nmEarlyGuardUrl = arguments[1]; 1750 } catch (error) {} 1751 return originalOpen.apply(this, arguments); 1752 }; 1753 xhrPrototype.send = function (body) { 1754 try { 1755 if (isGuardActive() && body != null && this.__nmEarlyGuardUrl != null && isCartAddUrl(this.__nmEarlyGuardUrl) && shouldEnrich()) { 1756 const enriched = enrichBody(body); 1757 if (enriched.changed) return originalSend.call(this, enriched.body); 1758 } 1759 } catch (error) {} 1760 return originalSend.apply(this, arguments); 1761 }; 1762 } 1763 } 1764 1765 if (cfg?.override_cart_requests === true) installWrappers(); 1766 } catch (error) {} 1767})(window); 1768</script>
1768 1769<!-- END app snippet --> 1770<!-- BEGIN app snippet: wishlist-page-container -->
1770<script id="ReStock-wishlist-page-container"> 1771(function (window) { 1772 try { 1773 if (window.__nmWishlistPageContainer) return; 1774 1775 const CONTAINER_ID = 'nm-wishlist-page-root'; 1776 const TARGET_SELECTORS = ['main#MainContent', 'main', '[role="main"]']; 1777 const RELATIVE_PLACEMENTS = ['before', 'after', 'start', 'end']; 1778 1779 function trimTrailingSlash(path) { 1780 const value = String(path); 1781 return value.length > 1 && value.charAt(value.length - 1) === '/' ? value.slice(0, -1) : value; 1782 } 1783 1784 function stripRoutesRoot(pathname) { 1785 const root = window.Shopify?.routes?.root; 1786 if (typeof root !== 'string') return pathname; 1787 const prefix = trimTrailingSlash(root); 1788 if (prefix === '' || prefix === '/') return pathname; 1789 if (pathname === prefix) return '/'; 1790 return pathname.indexOf(prefix + '/') === 0 ? pathname.slice(prefix.length) : pathname; 1791 } 1792 1793 function isConfiguredPage(pagePath) { 1794 const pathname = window.location?.pathname; 1795 if (typeof pathname !== 'string') return false; 1796 return trimTrailingSlash(stripRoutesRoot(pathname)) === trimTrailingSlash(pagePath); 1797 } 1798 1799 function hasShareToken() { 1800 const search = window.location?.search; 1801 if (!search) return false; 1802 return !!new URLSearchParams(search).get('w'); 1803 } 1804 1805 function isBootable(wishlistConfig, sdkConfig) { 1806 if (!sdkConfig || typeof sdkConfig !== 'object') return false; 1807 if (sdkConfig.app_enabled !== true) return false; 1808 if (sdkConfig.is_suspended === true) return false; 1809 return wishlistConfig.is_service_active === true; 1810 } 1811 1812 function matchElement(selector) { 1813 try { 1814 return window.document.querySelector(selector) || null; 1815 } catch (error) { 1816 return null; 1817 } 1818 } 1819 1820 function configuredTarget(placement) { 1821 if (!placement || typeof placement !== 'object') return null; 1822 if (typeof placement.css_selector !== 'string' || placement.css_selector === '') return null; 1823 const element = matchElement(placement.css_selector); 1824 if (!element) return null; 1825 const relative = RELATIVE_PLACEMENTS.indexOf(placement.relative_placement) === -1 ? 'start' : placement.relative_placement; 1826 return { element: element, relative: relative }; 1827 } 1828 1829 function builtInTarget() { 1830 for (const selector of TARGET_SELECTORS) { 1831 const element = matchElement(selector); 1832 if (element) return { element: element, relative: 'start' }; 1833 } 1834 return null; 1835 } 1836 1837 function insertContainer(container, target) { 1838 if (target.relative === 'before' || target.relative === 'after') { 1839 const parent = target.element.parentNode; 1840 if (!parent) return false; 1841 parent.insertBefore(container, target.relative === 'before' ? target.element : target.element.nextSibling || null); 1842 return true; 1843 } 1844 target.element.insertBefore(container, target.relative === 'end' ? null : target.element.firstChild || null); 1845 return true; 1846 } 1847 1848 function createContainer(placement) { 1849 const target = configuredTarget(placement) || builtInTarget(); 1850 if (!target) return null; 1851 const container = window.document.createElement('div'); 1852 container.id = CONTAINER_ID; 1853 container.setAttribute('data-nm-container-source', 'fallback'); 1854 return insertContainer(container, target) ? container : null; 1855 } 1856 1857 function usablePagePath(wishlistConfig) { 1858 const myWishlist = wishlistConfig && typeof wishlistConfig === 'object' ? wishlistConfig.my_wishlist : null; 1859 return myWishlist && typeof myWishlist.page_path === 'string' ? myWishlist.page_path : ''; 1860 } 1861 1862 function wishlistPageConfig(wishlistConfig) { 1863 const pagePath = usablePagePath(wishlistConfig); 1864 return pagePath && isConfiguredPage(pagePath) ? wishlistConfig.my_wishlist : null; 1865 } 1866 1867 function armContainer(myWishlist) { 1868 const container = window.document.getElementById(CONTAINER_ID) || createContainer(myWishlist.container_placement); 1869 if (container) container.removeAttribute('data-nm-page-state'); 1870 } 1871 1872 function markInactive() { 1873 const container = window.document.getElementById(CONTAINER_ID); 1874 if (container) container.setAttribute('data-nm-page-state', 'inactive'); 1875 } 1876 1877 function dearmContainer() { 1878 const stale = window.document.getElementById(CONTAINER_ID); 1879 if (stale && stale.getAttribute('data-nm-container-source') === 'fallback') stale.remove(); 1880 else markInactive(); 1881 } 1882 1883 function ensure(wishlistConfig, sdkConfig) {
1884 try { 1885 const myWishlist = wishlistPageConfig(wishlistConfig); 1886 if (!myWishlist) { 1887 if (usablePagePath(wishlistConfig)) dearmContainer(); 1888 return; 1889 } 1890 const active = myWishlist.type === 'separate_page' || hasShareToken(); 1891 if (active && isBootable(wishlistConfig, sdkConfig)) armContainer(myWishlist); 1892 else markInactive(); 1893 } catch (error) {} 1894 } 1895 1896 window.__nmWishlistPageContainer = { v: 1, ensure: ensure }; 1897 1898 const metafields = window._ReStockConfig?._metafields; 1899 ensure(metafields?.wishlistConfig, metafields?.sdkConfig); 1900 } catch (error) {} 1901})(window); 1902</script>
1902 1903<!-- END app snippet --> 1904
1905<script src="https://cdn.shopify.com/extensions/01a0e83c-88a3-702e-8442-82641270f3fe/bestpush-110/assets/restock-sdk-loader.js?v=1790602660" defer></script>
1905 1906 1907<style> 1908 #nm-wishlist-page-root { 1909 min-height: 60vh; 1910 } 1911 1912 #nm-wishlist-page-root[data-nm-container-source="fallback"] { 1913 box-sizing: border-box; 1914 max-width: 1200px; 1915 margin: 0 auto; 1916 padding: 0 1.5rem; 1917 } 1918 1919 #nm-wishlist-page-root[data-nm-page-state="inactive"]:empty { 1920 display: none; 1921 } 1922 1923 #nm-wishlist-page-root:empty { 1924 display: flex; 1925 align-items: center; 1926 justify-content: center; 1927 } 1928 1929 #nm-wishlist-page-root:empty::after { 1930 content: ""; 1931 width: 36px; 1932 height: 36px; 1933 border: 3px solid #e3e3e3; 1934 border-top-color: #1773b0; 1935 border-radius: 50%; 1936 animation: nm-wishlist-page-boot-spin 0.7s linear infinite; 1937 } 1938 1939 @keyframes nm-wishlist-page-boot-spin { 1940 to { 1941 transform: rotate(360deg); 1942 } 1943 } 1944 1945 body:has(#nm-wishlist-page-root:not([data-nm-page-state="inactive"])) .main-page-title, 1946 body:has(#nm-wishlist-page-root:not([data-nm-page-state="inactive"])) .page-title, 1947 body:has(#nm-wishlist-page-root:not(:empty)) .main-page-title, 1948 body:has(#nm-wishlist-page-root:not(:empty)) .page-title { 1949 display: none !important; 1950 } 1951</style> 1952 1953 1954</div><div id="shopify-block-AWlhHVWJCOEVRSUtJY__16250556887416161327" class="shopify-block shopify-app-block">
1954<script> 1955 (function () { 1956 var state = (window.SERVICIFY_CALENDAR_GUARD = 1957 window.SERVICIFY_CALENDAR_GUARD || { installed: false, pending: null }); 1958 if (state.installed) return; 1959 state.installed = true; 1960 1961 var SELECTOR = 1962 'a[href*="servicify-calendar"], a[data-original-href*="servicify-calendar"], button[data-href*="servicify-calendar"]'; 1963 1964 function onCalendarClick(event) { 1965 var target = event.target; 1966 if (!target || typeof target.closest !== "function") return; 1967 var trigger = target.closest(SELECTOR); 1968 if (!trigger) return; 1969 // Already wired up: its own handler opens the modal. 1970 if (trigger.hasAttribute("data-servicify-modal-bound")) return; 1971 // Only a live anchor can navigate; a <button data-href> just gets its 1972 // otherwise-lost click recorded. 1973 if (trigger.hasAttribute("href")) event.preventDefault(); 1974 state.pending = { element: trigger, at: Date.now() }; 1975 } 1976 1977 document.addEventListener("click", onCalendarClick, true); 1978 // Middle-click never fires `click`, so it would park a 404 in a background tab. 1979 document.addEventListener("auxclick", onCalendarClick, true); 1980 })(); 1981</script>
1981<div id="servicify-app-embed-container"> 1982 <div id="digital_appointments_container" style="text-align: center; width: 100%"></div> 1983</div> 1984
1985<script> 1986 window.SERVICIFY_PRODUCT = window.ShopifyAnalytics?.meta?.product || null; 1987 window.SERVICIFY_STORE_URL = "https://hauswitchstore.com"; 1988 window.SERVICIFY_CSS_CLASSNAME = ""; 1989 // Lets the bundle tell the /servicify-calendar rescue apart from a real page 1990 // of the same name, and skip every other 404 outright (SER-857). 1991 window.SERVICIFY_PAGE_TYPE = "cart"; 1992</script>
1992 1993</div><div id="shopify-block-ASjE2TDFrRlpiWSt3T__9986259408403469410" class="shopify-block shopify-app-block">
1993<script src="https://coattend.s3.amazonaws.com/script.min.js?shop=hauswitch.myshopify.com" defer></script>
1993 1994 1995</div>
1995<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
1995 1996</body> 1997</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.