1<!doctype html> 2<html class="js" lang="en"> 3 <head> 4 <style> 5 #ecom-age-verification{ 6 background: #F4ECE2 !important; 7} 8</style> 9 10 11 12 13 14 15 16 <link href="//www.lieuditwinery.com/cdn/shop/t/9/assets/beae.base.min.css?v=74638711127764541021721048251" rel="stylesheet" type="text/css" media="all" /> 17 18 19 20 21 22
22<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/beae.base.min.js?v=107610079472565882131721048251" defer="defer"></script>
22 23<meta charset="utf-8"> 24 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 25 <meta name="viewport" content="width=device-width,initial-scale=1"> 26 <meta name="theme-color" content=""> 27 <link rel="canonical" href="https://www.lieuditwinery.com/account/login"><link rel="icon" type="image/png" href="//www.lieuditwinery.com/cdn/shop/files/Logo_17c1bf3b-44ae-4f20-ba23-280cd8ad1f8d.png?crop=center&height=32&v=1718201124&width=32"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title> 28 Account 29 – Lieu Dit Winery</title> 30 31 32 33 34 35<meta property="og:site_name" content="Lieu Dit Winery"> 36<meta property="og:url" content="https://www.lieuditwinery.com/account/login"> 37<meta property="og:title" content="Account"> 38<meta property="og:type" content="website"> 39<meta property="og:description" content="Lieu Dit Winery"><meta name="twitter:card" content="summary_large_image"> 40<meta name="twitter:title" content="Account"> 41<meta name="twitter:description" content="Lieu Dit Winery"> 42 43 44
44<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/constants.js?v=58251544750838685771718808903" defer="defer"></script>
44 45
45<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/pubsub.js?v=158357773527763999511718808903" defer="defer"></script>
45 46
46<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/global.js?v=136628361274817707361718808903" defer="defer"></script>
46<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/animations.js?v=88693664871331136111718808903" defer="defer"></script>
46<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
46<meta name="facebook-domain-verification" content="ud32bfhoqmh5elp19gqatcrtgdhcie"> 47<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/7028047908/digital_wallets/dialog"> 48<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
48<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
48 49<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
50<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=7028047908" crossorigin="anonymous"></script>
vendor: 1 bytes, line 50
50
51<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":7028047908,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/7028047908","merchantName":"Lieu Dit Winery","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Lieu Dit Winery","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 51
51
52<script id="shopify-features" type="application/json">{"accessToken":"bdebea379f3b11bf503b7b707ab4a6ca","betas":["rich-media-storefront-analytics"],"domain":"www.lieuditwinery.com","predictiveSearch":true,"shopId":7028047908,"locale":"en"}</script>
vendor: 1 bytes, line 52
52
53<script>var Shopify = Shopify || {}; 54Shopify.shop = "lieu-dit-winery.myshopify.com"; 55Shopify.locale = "en"; 56Shopify.currency = {"active":"USD","rate":"1.0"}; 57Shopify.country = "US"; 58Shopify.theme = {"name":"Lieu Dit Winery","id":124444115002,"schema_name":"Trade","schema_version":"14.0.0","theme_store_id":2699,"role":"main"}; 59Shopify.theme.handle = "null"; 60Shopify.theme.style = {"id":null,"handle":null}; 61Shopify.cdnHost = "www.lieuditwinery.com/cdn"; 62Shopify.routes = Shopify.routes || {}; 63Shopify.routes.root = "/"; 64Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 65Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 66Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 67Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 67
67
68<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 68
68
69<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 69
69
70<script> 71 window.ShopifyPay = window.ShopifyPay || {}; 72 window.ShopifyPay.apiHost = "shop.app\/pay"; 73 window.ShopifyPay.redirectState = null; 74</script>
vendor: 1 bytes, line 74
74
75<script> 76 window.Shopify = window.Shopify || {}; 77 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 78 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 79 window.Shopify.SignInWithShop.eligible = true; 80</script>
vendor: 1 bytes, line 80
80
81<script id="shop-js-analytics" type="application/json">{"pageType":"customers/login"}</script>
vendor: 1 bytes, line 81
81
82<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js"></script>
vendor: 1 bytes, line 82
82
83<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"></script>
vendor: 1 bytes, line 83
83
84<script type="module"> 85 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.en.esm.js"); 86await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"); 87 88 window.Shopify.SignInWithShop?.initCustomerAccounts?.(true, {"fedCMEnabled":true,"windoidEnabled":true}); 89window.Shopify.SignInWithShop?.initCustomerAccountsSignUp?.({"fedCMEnabled":true,"windoidEnabled":true}); 90 91</script>
vendor: 1 bytes, line 91
91
92<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 92
92
93<script type="module"> 94 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 95 96 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 97 98</script>
vendor: 1 bytes, line 98
98
99<script> 100 window.Shopify = window.Shopify || {}; 101 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 102 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"]}; 103</script>
vendor: 1 bytes, line 103
103
104<script>(function() { 105 var isLoaded = false; 106 function asyncLoad() { 107 if (isLoaded) return; 108 isLoaded = true; 109 var urls = ["https:\/\/scripts.juniphq.com\/v1\/junip_shopify.js?shop=lieu-dit-winery.myshopify.com","https:\/\/a.mailmunch.co\/widgets\/site-1073200-2849d986850fb301156d575966e35e7402245c13.js?shop=lieu-dit-winery.myshopify.com","https:\/\/chimpstatic.com\/mcjs-connected\/js\/users\/23df39cf6e5718508c213e7c3\/690636998f7495cee9ad9810d.js?shop=lieu-dit-winery.myshopify.com","\/\/cdn.shopify.com\/proxy\/5be95a96e3590f6d6807da4d228b017e250ed88bfa0bc9624c21eb5b855b3323\/b2b-solution.bsscommerce.com\/js\/bss-b2b-cp.js?shop=lieu-dit-winery.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"]; 110 for (var i = 0; i < urls.length; i++) { 111 var s = document.createElement('script'); 112 s.type = 'text/javascript'; 113 s.async = true; 114 s.src = urls[i]; 115 var x = document.getElementsByTagName('script')[0]; 116 x.parentNode.insertBefore(s, x); 117 } 118 }; 119 if(window.attachEvent) { 120 window.attachEvent('onload', asyncLoad); 121 } else { 122 window.addEventListener('load', asyncLoad, false); 123 } 124})();</script>
vendor: 1 bytes, line 124
124
125<script id="__st">var __st={"a":7028047908,"offset":-14400,"reqid":"eb780ae2-fed8-4caa-b4e4-d02abcc5751e-1791120243","pageurl":"www.lieuditwinery.com\/account\/login","u":"77b37158e51b"};</script>
vendor: 1 bytes, line 125
125
126<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 126
126
127<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 127
127
128<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.lieuditwinery.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 128
128
129<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 = "//www.lieuditwinery.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>
129<script crossorigin="anonymous" defer="defer" src="//www.lieuditwinery.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 129
129
130<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 130
130
131<script> 132 window.Shopify = window.Shopify || {}; 133 window.Shopify.MCP = window.Shopify.MCP || {}; 134 window.Shopify.MCP.enabled = true; 135 window.Shopify.MCP.shop = "lieu-dit-winery.myshopify.com"; 136 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.lieuditwinery.com\/api\/mcp"; 137 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"]}}]; 138</script>
vendor: 1 bytes, line 138
138
139<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("\/\/www.lieuditwinery.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 140</script>
vendor: 1 bytes, line 140
140
141<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://www.lieuditwinery.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 142</script>
vendor: 1 bytes, line 142
142
143<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 144 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); 145</script>
vendor: 1 bytes, line 145
145
146<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})}})); 147</script>
147 148<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.lieuditwinery.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 149<style id="shopify-accelerated-checkout-cart"> 150 #shopify-buyer-consent { 151 margin-top: 1em; 152 display: inline-block; 153 width: 100%; 154} 155 156#shopify-buyer-consent.hidden { 157 display: none; 158} 159 160#shopify-subscription-policy-button { 161 background: none; 162 border: none; 163 padding: 0; 164 text-decoration: underline; 165 font-size: inherit; 166 cursor: pointer; 167} 168 169#shopify-subscription-policy-button::before { 170 box-shadow: none; 171} 172 173 </style>
174<script id="sections-script" data-sections="header" defer="defer" src="//www.lieuditwinery.com/cdn/shop/t/9/compiled_assets/scripts.js?v=184325197989695213571734259508"></script>
vendor: 1 bytes, line 174
174
175<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
175 176 177 178 <style data-shopify> 179 180 181 182 183 @font-face { 184 font-family: "DM Sans"; 185 font-weight: 500; 186 font-style: normal; 187 font-display: swap; 188 src: url("//www.lieuditwinery.com/cdn/fonts/dm_sans/dmsans_n5.8a0f1984c77eb7186ceb87c4da2173ff65eb012e.woff2") format("woff2"), 189 url("//www.lieuditwinery.com/cdn/fonts/dm_sans/dmsans_n5.9ad2e755a89e15b3d6c53259daad5fc9609888e6.woff") format("woff"); 190} 191 192 193 194 :root, 195 .color-scheme-1 { 196 --color-background: 244,244,244; 197 198 --gradient-background: #f4f4f4; 199 200 201 202 203 --color-foreground: 43,44,45; 204 --color-background-contrast: 180,180,180; 205 --color-shadow: 0,17,40; 206 --color-button: 183,172,162; 207 --color-button-text: 38,38,38; 208 --color-secondary-button: 244,244,244; 209 --color-secondary-button-text: 0,17,40; 210 --color-link: 0,17,40; 211 --color-badge-foreground: 43,44,45; 212 --color-badge-background: 244,244,244; 213 --color-badge-border: 43,44,45; 214 --payment-terms-background-color: rgb(244 244 244); 215 } 216 217 218 .color-scheme-2 { 219 --color-background: 255,255,255; 220 221 --gradient-background: #ffffff; 222 223 224 225 226 --color-foreground: 38,38,38; 227 --color-background-contrast: 191,191,191; 228 --color-shadow: 0,17,40; 229 --color-button: 121,112,104; 230 --color-button-text: 255,255,255; 231 --color-secondary-button: 255,255,255; 232 --color-secondary-button-text: 121,117,114; 233 --color-link: 121,117,114; 234 --color-badge-foreground: 38,38,38; 235 --color-badge-background: 255,255,255; 236 --color-badge-border: 38,38,38; 237 --payment-terms-background-color: rgb(255 255 255); 238 } 239 240 241 .color-scheme-3 { 242 --color-background: 194,183,172; 243 244 --gradient-background: #c2b7ac; 245 246 247 248 249 --color-foreground: 38,38,38; 250 --color-background-contrast: 137,119,101; 251 --color-shadow: 0,17,40; 252 --color-button: 253,253,253; 253 --color-button-text: 38,38,38; 254 --color-secondary-button: 194,183,172; 255 --color-secondary-button-text: 84,72,60; 256 --color-link: 84,72,60; 257 --color-badge-foreground: 38,38,38; 258 --color-badge-background: 194,183,172; 259 --color-badge-border: 38,38,38; 260 --payment-terms-background-color: rgb(194 183 172); 261 } 262 263 264 .color-scheme-4 { 265 --color-background: 28,34,40; 266 267 --gradient-background: #1c2228; 268 269 270 271 272 --color-foreground: 255,255,255; 273 --color-background-contrast: 39,47,55; 274 --color-shadow: 0,17,40; 275 --color-button: 255,255,255; 276 --color-button-text: 0,17,40; 277 --color-secondary-button: 28,34,40; 278 --color-secondary-button-text: 255,255,255; 279 --color-link: 255,255,255; 280 --color-badge-foreground: 255,255,255; 281 --color-badge-background: 28,34,40; 282 --color-badge-border: 255,255,255; 283 --payment-terms-background-color: rgb(28 34 40); 284 } 285 286 287 .color-scheme-5 { 288 --color-background: 50,56,65; 289 290 --gradient-background: #323841; 291 292 293 294 295 --color-foreground: 255,255,255; 296 --color-background-contrast: 61,68,79; 297 --color-shadow: 0,17,40; 298 --color-button: 183,172,162; 299 --color-button-text: 38,38,38; 300 --color-secondary-button: 50,56,65; 301 --color-secondary-button-text: 255,255,255; 302 --color-link: 255,255,255; 303 --color-badge-foreground: 255,255,255; 304 --color-badge-background: 50,56,65; 305 --color-badge-border: 255,255,255; 306 --payment-terms-background-color: rgb(50 56 65); 307 } 308 309 310 .color-scheme-006fe274-a695-4233-ad56-13e5ddd44d67 { 311 --color-background: 255,249,242; 312 313 --gradient-background: #fff9f2; 314 315 316 317 318 --color-foreground: 17,17,19; 319 --color-background-contrast: 255,190,114; 320 --color-shadow: 0,17,40; 321 --color-button: 17,17,19; 322 --color-button-text: 255,249,242; 323 --color-secondary-button: 255,249,242; 324 --color-secondary-button-text: 17,17,19; 325 --color-link: 17,17,19; 326 --color-badge-foreground: 17,17,19; 327 --color-badge-background: 255,249,242; 328 --color-badge-border: 17,17,19; 329 --payment-terms-background-color: rgb(255 249 242); 330 } 331 332 333 .color-scheme-edecdc98-e968-41ff-85c6-8560641c6f92 { 334 --color-background: 17,17,19; 335 336 --gradient-background: #111113; 337 338 339 340 341 --color-foreground: 255,249,242; 342 --color-background-contrast: 139,139,152; 343 --color-shadow: 0,17,40; 344 --color-button: 17,17,19; 345 --color-button-text: 255,249,242; 346 --color-secondary-button: 17,17,19; 347 --color-secondary-button-text: 0,17,40; 348 --color-link: 0,17,40; 349 --color-badge-foreground: 255,249,242; 350 --color-badge-background: 17,17,19; 351 --color-badge-border: 255,249,242; 352 --payment-terms-background-color: rgb(17 17 19); 353 } 354 355 356 body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5, .color-scheme-006fe274-a695-4233-ad56-13e5ddd44d67, .color-scheme-edecdc98-e968-41ff-85c6-8560641c6f92 { 357 color: rgba(var(--color-foreground), 0.75); 358 background-color: rgb(var(--color-background)); 359 } 360 361 :root { 362 --font-body-family: "system_ui", -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; 363 --font-body-style: normal; 364 --font-body-weight: 400; 365 --font-body-weight-bold: 700; 366 367 --font-heading-family: "DM Sans", sans-serif; 368 --font-heading-style: normal; 369 --font-heading-weight: 500; 370 371 --font-body-scale: 1.0; 372 --font-heading-scale: 1.05; 373 374 --media-padding: px; 375 --media-border-opacity: 0.05; 376 --media-border-width: 1px; 377 --media-radius: 8px;
378 --media-shadow-opacity: 0.0; 379 --media-shadow-horizontal-offset: 0px; 380 --media-shadow-vertical-offset: 4px; 381 --media-shadow-blur-radius: 5px; 382 --media-shadow-visible: 0; 383 384 --page-width: 120rem; 385 --page-width-margin: 0rem; 386 387 --product-card-image-padding: 1.2rem; 388 --product-card-corner-radius: 3.6rem; 389 --product-card-text-alignment: left; 390 --product-card-border-width: 0.0rem; 391 --product-card-border-opacity: 0.1; 392 --product-card-shadow-opacity: 0.0; 393 --product-card-shadow-visible: 0; 394 --product-card-shadow-horizontal-offset: 0.0rem; 395 --product-card-shadow-vertical-offset: 0.4rem; 396 --product-card-shadow-blur-radius: 0.5rem; 397 398 --collection-card-image-padding: 0.0rem; 399 --collection-card-corner-radius: 0.8rem; 400 --collection-card-text-alignment: left; 401 --collection-card-border-width: 0.0rem; 402 --collection-card-border-opacity: 0.1; 403 --collection-card-shadow-opacity: 0.0; 404 --collection-card-shadow-visible: 0; 405 --collection-card-shadow-horizontal-offset: 0.0rem; 406 --collection-card-shadow-vertical-offset: 0.4rem; 407 --collection-card-shadow-blur-radius: 0.5rem; 408 409 --blog-card-image-padding: 0.0rem; 410 --blog-card-corner-radius: 0.8rem; 411 --blog-card-text-alignment: left; 412 --blog-card-border-width: 0.0rem; 413 --blog-card-border-opacity: 0.1; 414 --blog-card-shadow-opacity: 0.0; 415 --blog-card-shadow-visible: 0; 416 --blog-card-shadow-horizontal-offset: 0.0rem; 417 --blog-card-shadow-vertical-offset: 0.4rem; 418 --blog-card-shadow-blur-radius: 0.5rem; 419 420 --badge-corner-radius: 4.0rem; 421 422 --popup-border-width: 1px; 423 --popup-border-opacity: 0.1; 424 --popup-corner-radius: 8px; 425 --popup-shadow-opacity: 0.05; 426 --popup-shadow-horizontal-offset: 0px; 427 --popup-shadow-vertical-offset: 4px; 428 --popup-shadow-blur-radius: 5px; 429 430 --drawer-border-width: 1px; 431 --drawer-border-opacity: 0.1; 432 --drawer-shadow-opacity: 0.0; 433 --drawer-shadow-horizontal-offset: 0px; 434 --drawer-shadow-vertical-offset: 4px; 435 --drawer-shadow-blur-radius: 5px; 436 437 --spacing-sections-desktop: 0px; 438 --spacing-sections-mobile: 0px; 439 440 --grid-desktop-vertical-spacing: 12px; 441 --grid-desktop-horizontal-spacing: 12px; 442 --grid-mobile-vertical-spacing: 6px; 443 --grid-mobile-horizontal-spacing: 6px; 444 445 --text-boxes-border-opacity: 0.1; 446 --text-boxes-border-width: 0px; 447 --text-boxes-radius: 8px; 448 --text-boxes-shadow-opacity: 0.0; 449 --text-boxes-shadow-visible: 0; 450 --text-boxes-shadow-horizontal-offset: 0px; 451 --text-boxes-shadow-vertical-offset: 4px; 452 --text-boxes-shadow-blur-radius: 5px; 453 454 --buttons-radius: 6px; 455 --buttons-radius-outset: 7px; 456 --buttons-border-width: 1px; 457 --buttons-border-opacity: 1.0; 458 --buttons-shadow-opacity: 0.0; 459 --buttons-shadow-visible: 0; 460 --buttons-shadow-horizontal-offset: 0px; 461 --buttons-shadow-vertical-offset: 4px; 462 --buttons-shadow-blur-radius: 5px; 463 --buttons-border-offset: 0.3px; 464 465 --inputs-radius: 6px; 466 --inputs-border-width: 1px; 467 --inputs-border-opacity: 0.55; 468 --inputs-shadow-opacity: 0.0; 469 --inputs-shadow-horizontal-offset: 0px; 470 --inputs-margin-offset: 0px; 471 --inputs-shadow-vertical-offset: 4px; 472 --inputs-shadow-blur-radius: 5px; 473 --inputs-radius-outset: 7px; 474 475 --variant-pills-radius: 40px; 476 --variant-pills-border-width: 1px; 477 --variant-pills-border-opacity: 0.55; 478 --variant-pills-shadow-opacity: 0.0; 479 --variant-pills-shadow-horizontal-offset: 0px; 480 --variant-pills-shadow-vertical-offset: 4px; 481 --variant-pills-shadow-blur-radius: 5px; 482 } 483 484 *, 485 *::before, 486 *::after { 487 box-sizing: inherit; 488 } 489 490 html { 491 box-sizing: border-box; 492 font-size: calc(var(--font-body-scale) * 62.5%); 493 height: 100%; 494 } 495 496 body { 497 display: grid; 498 grid-template-rows: auto auto 1fr auto; 499 grid-template-columns: 100%; 500 min-height: 100%; 501 margin: 0; 502 font-size: 1.5rem; 503 letter-spacing: 0.06rem; 504 line-height: calc(1 + 0.8 / var(--font-body-scale)); 505 font-family: var('TimesNow-Light'); 506 font-style: var(--font-body-style); 507 font-weight: var(--font-body-weight); 508 } 509/* 510 @font-face { 511font-family: 'TimesNow-Light'; 512src: url(https://cdn.shopify.com/s/files/1/0070/2804/7908/files/TimesNow-Light.woff?v=1717595068) format('woff2'); 513} 514 515 @font-face { 516font-family: 'TimesNow-SemiBold'; 517src: url(https://cdn.shopify.com/s/files/1/0070/2804/7908/files/TimesNow-SemiBold.woff?v=1717595080) format('woff2'); 518} 519 520 @font-face { 521font-family: 'Sneak-Regular'; 522src: url(https://cdn.shopify.com/s/files/1/0070/2804/7908/files/Sneak-Regular.woff?v=1717595110) format('woff2'); 523} 524 525 @font-face { 526font-family: 'Sneak-Medium'; 527src: url(https://cdn.shopify.com/s/files/1/0070/2804/7908/files/Sneak-Medium.woff?v=1717595162) format('woff2'); 528} 529 530 @font-face { 531font-family: 'Sneak-Bold'; 532src: url(https://cdn.shopify.com/s/files/1/0070/2804/7908/files/Sneak-Bold.woff?v=1717595162) format('woff2'); 533} */ 534 535 536 @media screen and (min-width: 750px) { 537 body { 538 font-size: 1.6rem; 539 } 540 } 541 </style> 542 543 <link href="//www.lieuditwinery.com/cdn/shop/t/9/assets/base.css?v=29404288273096915591722272272" rel="stylesheet" type="text/css" media="all" /> 544 545 <link rel="preload" as="font" href="//www.lieuditwinery.com/cdn/fonts/dm_sans/dmsans_n5.8a0f1984c77eb7186ceb87c4da2173ff65eb012e.woff2" type="font/woff2" crossorigin> 546 547<link 548 rel="stylesheet" 549 href="//www.lieuditwinery.com/cdn/shop/t/9/assets/component-predictive-search.css?v=118923337488134913561718808903" 550 media="print" 551 onload="this.media='all'" 552 >
552<script> 553 if (Shopify.designMode) { 554 document.documentElement.classList.add('shopify-design-mode'); 555 } 556 </script>
556 557 558 559 560 561 562
562<script> !function(t,o,c,k){if(!t.tock){var e=t.tock=function(){e.callMethod? e.callMethod.apply(e,arguments):e.queue.push(arguments)};t._tock||(t._tock=e), e.push=e,e.loaded=!0,e.version='1.0',e.queue=[];var f=o.createElement(c);f.async=!0, f.src=k;var g=o.getElementsByTagName(c)[0];g.parentNode.insertBefore(f,g)}}( window,document,'script','https://www.exploretock.com/tock.js'); tock('init', 'tyler-x-lieu-dit'); </script>
562 563 564 565 566
567<script src="https://cdn.chord.co/analytics-liquid-identifiers/v1/analytics-liquid-identifiers.min.js" defer="defer"></script>
567 568 569<!-- BEGIN app block: shopify://apps/winehub-commerce/blocks/exclusive-product-locker/c0ed40b1-a5e6-4ec9-bd28-157981fb797f --> 570 <style> 571 .wh-welcome-back { 572 font-weight: 600; 573 margin-left: 4px; 574 display: flex; 575 align-items: center; 576 font-size: 12px; 577 } 578 .wh-welcome-back-nav { 579 display: flex; 580 align-items: center; 581 justify-content: center; 582 /**width: fit-content;**/ 583 background-color: #f0f0f0; 584 color: #000; 585 padding: 10px; 586 border-radius: 0px; 587 } 588 .wh-profile-button { 589 display: flex; 590 align-content: center; 591 flex-wrap: wrap; 592 padding: 12px; 593 } 594 </style> 595
595<script> 596 const debug = false; 597 let store = `lieu-dit-winery.myshopify.com`; 598 let customerId = ``; 599 if (!customerId) { 600 customerId = 'none'; 601 } 602 let variantChangeHandler = null; 603 let variantChangeHandlerAdded = false; 604 let isCheckingExclusive = false; 605 let checkExclusiveTimeout = null; 606 let base_url = "https://api.winehub.io"; 607 if (store == 'winehub-demo.myshopify.com') { 608 base_url = "https://staging-api.winehub.io"; 609 } 610 611 const profileIconSVG = ` 612 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg> 613 `; 614 615 const profileIcon = document.createElement('div'); 616 profileIcon.innerHTML = profileIconSVG; 617 profileIcon.classList.add('wh-profile-icon'); 618 619 function createProfileButton() { 620 // link to /apps/winehub 621 const profileButton = document.createElement('a'); 622 profileButton.href = `https://www.lieuditwinery.com/apps/winehub`; 623 profileButton.innerHTML = profileIconSVG; 624 profileButton.classList.add('wh-profile-button'); 625 return profileButton; 626 } 627 628 function _0x569a(){const _0xc58f4b=['split','1508120wmjjay','442729kVWNed','fromCharCode','map','877644ewBLIJ','charCodeAt','toLowerCase','join','4040766MDCNcL','1069215vxBRAg','1663285ppZxuB','replace','toUpperCase','length','4371108eDXEIJ'];_0x569a=function(){return _0xc58f4b;};return _0x569a();}(function(_0x2ab4b9,_0x484b0d){const _0x4acce4=_0x382b,_0x208460=_0x2ab4b9();while(!![]){try{const _0x94c7c2=-parseInt(_0x4acce4(0x1bf))/0x1+parseInt(_0x4acce4(0x1ce))/0x2+-parseInt(_0x4acce4(0x1c7))/0x3+parseInt(_0x4acce4(0x1c2))/0x4+parseInt(_0x4acce4(0x1c8))/0x5+parseInt(_0x4acce4(0x1c6))/0x6+-parseInt(_0x4acce4(0x1cc))/0x7;if(_0x94c7c2===_0x484b0d)break;else _0x208460['push'](_0x208460['shift']());}catch(_0x5c8ee1){_0x208460['push'](_0x208460['shift']());}}}(_0x569a,0x87beb));function decodeText(_0x59c5ae){const _0x564a33=_0x382b;return _0x59c5ae['split']('\x20')['map'](_0x4b1bad=>{const _0x2f1dfb=_0x382b;return _0x4b1bad=_0x4b1bad['replace'](/@/g,'k')[_0x2f1dfb(0x1c9)](/&/g,'o'),_0x4b1bad[_0x2f1dfb(0x1cb)]&&(_0x4b1bad=_0x4b1bad[_0x2f1dfb(0x1cd)]('')[_0x2f1dfb(0x1c1)](_0x42869e=>shiftCharBack(_0x42869e,0x6))[_0x2f1dfb(0x1c5)]('')),_0x4b1bad;})[_0x564a33(0x1c5)]('\x20');}function _0x382b(_0x2e9e48,_0x203e9a){const _0x569a66=_0x569a();return _0x382b=function(_0x382b0d,_0x265b6e){_0x382b0d=_0x382b0d-0x1bf;let _0x2f09b3=_0x569a66[_0x382b0d];return _0x2f09b3;},_0x382b(_0x2e9e48,_0x203e9a);}function shiftCharBack(_0x4f415f,_0x11b39c){const _0x3c76cf=_0x382b,_0x45cee1=_0x4f415f===_0x4f415f[_0x3c76cf(0x1ca)](),_0x3dc289=_0x45cee1?0x41:0x61,_0x417199=_0x4f415f[_0x3c76cf(0x1c4)]()[_0x3c76cf(0x1c3)](0x0);if(_0x417199<0x61||_0x417199>0x7a)return _0x4f415f;return String[_0x3c76cf(0x1c0)]((_0x417199-0x61-_0x11b39c+0x1a)%0x1a+_0x3dc289);} 629 630 window.onload = async function() { 631 const currencyCode = `USD` || 'AUD'; 632 let _json = await checkProductDiscounts(0, currencyCode, customerId); 633 let json = _json?.exclusive ?? {};
634 let json_tier = _json?.tierProduct ?? {}; 635 let json_club = _json?.clubDiscount ?? {}; 636 let json_tier_general = _json?.tierGeneral ?? {}; 637 //const json_tier = _json?.tierProduct ?? {}; 638 //const json_club = _json?.clubDiscount ?? {}; 639 //const json_tier_general = _json?.tierGeneral ?? {}; 640 //const json = _json?.exclusive ?? {}; // original exclusive 641 642 const res = loadCss(customerId, _json.css); 643 const tierName = _json?.css?.tierName ?? ''; 644 const welcomeBarEnabled = `false`; 645 let usingLegacyCustomerAccount = false; 646 if (welcomeBarEnabled == 'true'){ 647 //const loginLinks = document.querySelectorAll('a[href="/account"]') // customer is logged in 648 let loginLinks = Array.from(document.querySelectorAll('a[href]')).filter(link => 649 link.getAttribute('href').includes('/account?locale') // new customer accounts 650 ); 651 652 if (loginLinks.length == 0) { 653 usingLegacyCustomerAccount = true; 654 loginLinks = document.querySelectorAll('a[href="/account"]') // legacy customer accounts 655 } 656 657 const loginLink = loginLinks[loginLinks.length - 1] 658 //const showTier = `` 659 const renderAboveNav = `false` 660 const customerName = `` 661 662 if (loginLink && tierName) { 663 const parent = loginLink.parentElement 664 665 const div = document.createElement('div') 666 // welcome back <customer_name> you are a <tier_name> member 667 const welcomeBackMessage = `Welcome back {customer_name}, you are a {tier_name} member` 668 const chunk1 = welcomeBackMessage.split('{customer_name}')[0] ?? ''; 669 const chunk2 = welcomeBackMessage.split('{customer_name}')[1] ?? ''; 670 const chunk2_ = chunk2.split('{tier_name}')[0] 671 const welcomeBack = `${chunk1}${chunk2_}${tierName}` 672 const chunk3 = welcomeBackMessage.split('{tier_name}')[1] ?? ''; 673 if (!chunk1 || !chunk2){ 674 div.innerHTML = `Welcome back ` 675 } 676 div.innerHTML = `${welcomeBack}${chunk3}` 677 div.classList.add('wh-welcome-back') 678 679 const profileButton = createProfileButton(); 680 681 if (renderAboveNav == 'true'){ 682 const navBanner = document.createElement('div') 683 navBanner.classList.add('wh-welcome-back-nav') 684 navBanner.appendChild(div) 685 if (!window.location.href.includes('/apps/winehub') && !usingLegacyCustomerAccount){ 686 navBanner.appendChild(profileButton) 687 } 688 const header = document.querySelector('header') 689 const parentHeader = header.parentElement 690 parentHeader.insertBefore(navBanner, header) 691 } else { 692 const welcomeBarPosition = `left` 693 if (welcomeBarPosition == 'left') { 694 parent.insertBefore(div, loginLink) 695 } else { 696 parent.appendChild(div) 697 } 698 699 // if the current url contains /apps/winehub do not insert the profile button 700 if (!window.location.href.includes('/apps/winehub') && !usingLegacyCustomerAccount){ 701 parent.insertBefore(profileButton, loginLink); 702 } 703 } 704 } else if (loginLink && customerName?.length > 0){ 705 const parent = loginLink.parentElement 706 707 const div = document.createElement('div') 708 div.innerHTML = `Welcome back ` 709 div.classList.add('wh-welcome-back') 710 const profileButton = createProfileButton(); 711 712 if (renderAboveNav == 'true'){ 713 const navBanner = document.createElement('div') 714 navBanner.classList.add('wh-welcome-back-nav') 715 navBanner.appendChild(div) 716 if (!window.location.href.includes('/apps/winehub') && !usingLegacyCustomerAccount){ 717 navBanner.appendChild(profileButton) 718 } 719 const header = document.querySelector('header') 720 const parentHeader = header.parentElement 721 parentHeader.insertBefore(navBanner, header) 722 } else { 723 const welcomeBarPosition = `left` 724 if (welcomeBarPosition == 'left') { 725 parent.insertBefore(div, loginLink) 726 } else { 727 parent.appendChild(div) 728 } 729 730 // if the current url contains /apps/winehub do not insert the profile button 731 if (!window.location.href.includes('/apps/winehub') && !usingLegacyCustomerAccount){ 732 parent.insertBefore(profileButton, loginLink); 733 } 734 } 735 736 } 737 } 738 739 //////console.log('RUNNING WH-PRODUCT-LOCKER 22 - 23-07-2024'); // use this value to determine if shopify actually updated the script 740 //////console.log('RUNNING WH-PRODUCT-LOCKER 29 - 09-08-2024'); // use this value to determine if shopify actually updated the script 741 //console.log('RUNNING WH-PRODUCT-LOCKER 31 - 2025-01-03'); // use this value to determine if shopify actually updated the script 742 console.log('RUNNING WH-PRODUCT-LOCKER 31 - 2025-12-05'); // use this value to determine if shopify actually updated the script 743 if (`true` != 'true'){ 744 //console.log('pricing display is disabled'); 745 return; 746 } 747 //////console.log('currencyFormat', currencyFormat, currencyCode); 748 749 /** Product Variants **/ 750 const items = document.querySelectorAll('form[action="/cart/add"]'); 751 if (items.length) { 752 const variantRadios = document.querySelector('variant-radios'); 753 //let id = items[0][2].getAttribute('value'); 754 //////console.log('variantRadios length', variantRadios.variantData.length) 755 const variants = variantRadios?.querySelector('script') 756 const variantScriptData = JSON.parse(variants?.innerHTML || '{}'); 757 //////console.log('variantScriptData', variantScriptData); 758 let variantCount = 0; 759 if (variantScriptData.length) { 760 variantCount = variantScriptData?.filter((variant) => variant.id).length; 761 } 762 763 //////console.log('variant count', variantCount); 764 if (variantCount) { 765 let idElement = document.querySelector('[data-variant-id]') ?? document.querySelector('[data-product-id]'); 766 let id = idElement?.getAttribute('data-variant-id') ?? idElement?.getAttribute('data-product-id'); 767 768 //////console.log('id', id); 769 770 if (!id) { 771 const formInput = items[0].querySelectorAll('input'); 772 for (let i = 0; i < formInput.length; i++) { 773 const className = formInput[i].className; 774 if (className == 'product-variant-id') { 775 id = items[0].getAttribute('value'); 776 } 777 } 778 } 779 780 //////console.log('script', variantScriptData, id, currencyCode); 781 if (variantCount > 1) { 782 // check initial variant on load 783 if (!id) { 784 id = variantScriptData[0].id; 785 } 786 787 _json = await checkProductDiscounts(id, currencyCode, customerId); 788 json = _json?.exclusive ?? {}; 789 json_tier = _json?.tierProduct ?? {}; 790 json_club = _json?.clubDiscount ?? {}; 791 json_tier_general = _json?.tierGeneral ?? {}; 792 793 checkIsExclusiveSingleProduct(id, currencyCode, json, json_tier, json_club, json_t
793ier_general); 794 795 // Remove existing listener if it exists to prevent duplicates 796 if (variantChangeHandlerAdded && variantChangeHandler) { 797 document.removeEventListener('change', variantChangeHandler); 798 variantChangeHandlerAdded = false; 799 } 800 801 // Create the handler function 802 variantChangeHandler = async function(event) { 803 // Prevent duplicate calls 804 if (isCheckingExclusive) { 805 return; 806 } 807 808 const form = event.target.closest('form[action="/cart/add"]'); 809 if (!form) return; 810 811 const id = form.querySelector('input[name="id"]')?.value; 812 if (!id) return; 813 814 // Only process radio or hidden input changes 815 if (event.target.type !== "radio" && event.target.type !== "hidden") { 816 return; 817 } 818 819 // Clear any pending timeout 820 if (checkExclusiveTimeout) { 821 clearTimeout(checkExclusiveTimeout); 822 } 823 824 // Debounce the execution 825 checkExclusiveTimeout = setTimeout(async () => { 826 if (isCheckingExclusive) { 827 return; 828 } 829 830 isCheckingExclusive = true; 831 832 try { 833 // wait for the retail price to finish doing its thing 834 await new Promise(resolve => setTimeout(resolve, 1000)); 835 836 if (items.length) { 837 const _json = await checkProductDiscounts(id, currencyCode, customerId); 838 const json = _json?.exclusive ?? {}; 839 const json_tier = _json?.tierProduct ?? {}; 840 const json_club = _json?.clubDiscount ?? {}; 841 const json_tier_general = _json?.tierGeneral ?? {}; 842 843 console.log('checking exclusive single product', id, currencyCode, json, json_tier, json_club, json_tier_general); 844 checkIsExclusiveSingleProduct(id, currencyCode, json, json_tier, json_club, json_tier_general); 845 } 846 } finally { 847 isCheckingExclusive = false; 848 } 849 }, 100); 850 }; 851 852 // Add the event listener only once 853 if (!variantChangeHandlerAdded) { 854 document.addEventListener('change', variantChangeHandler); 855 variantChangeHandlerAdded = true; 856 } 857 } else { 858 // single variant no options 859 if (!id) { 860 id = variantScriptData[0].id; 861 } 862 _json = await checkProductDiscounts(id, currencyCode, customerId); 863 json = _json?.exclusive ?? {}; 864 json_tier = _json?.tierProduct ?? {}; 865 json_club = _json?.clubDiscount ?? {}; 866 json_tier_general = _json?.tierGeneral ?? {}; 867 checkIsExclusiveSingleProduct(id, currencyCode, json, json_tier, json_club, json_t
867ier_general); 868 } 869 } else { 870 id = ``; 871 _json = await checkProductDiscounts(id, currencyCode, customerId); 872 json = _json?.exclusive ?? {}; 873 json_tier = _json?.tierProduct ?? {}; 874 json_club = _json?.clubDiscount ?? {}; 875 json_tier_general = _json?.tierGeneral ?? {}; 876 checkIsExclusiveSingleProduct(id, currencyCode, json, json_tier, json_club, json_tier_general); 877 } 878 } 879 880 /** Collections / product cards (incl. recommendations) **/ 881 ////console.log('checking collections'); 882 883 { 884 // Liquid ids are a fast path on collection pages; recommendations 885 // and "Choose options" cards are discovered from the DOM. 886 const collectionProductData = [ 887 888 ]; 889 const handleToProductId = {}; 890 for (const product of collectionProductData) { 891 if (product.handle && product.id) { 892 handleToProductId[product.handle] = product.id; 893 } 894 } 895 await priceAllProductCards(currencyCode, customerId, handleToProductId); 896 } 897 // changing filters is client side so we have to recheck on click 898 document.addEventListener('click', function(event) { 899 if (event.target.id.toLowerCase().includes('filter')){ 900 setTimeout(function () { 901 902 }, 2000) 903 } 904 }) 905 906 907 /** Integrations **/ 908 // event listener for select with class bundle-product 909 document.addEventListener('change', function(event) { 910 if (event.target.classList.contains('bundle-product')) { 911 // check if the value is a number 912 //console.log('bundle product event', event); 913 if (!isNaN(event.target.value)) { 914 //console.log('checking bundle product', event.target.value, currencyCode); 915 //checkIsExclusiveSingleProduct(event.target.value, currencyCode); 916 } 917 } 918 }); 919 } 920 921 function createLoading() { 922 const div = document.querySelector('.price'); 923 const previousPrice = div.innerHTML; 924 div.innerHTML = 'Loading...'; 925 return previousPrice; 926 } 927 928 function removeLoading(price) { 929 const div = document.querySelector('.price'); 930 div.innerHTML = price; 931 } 932 933 function createRootContainer(isTierGeneral = false) { 934 //console.log('creating root for single'); 935 let priceDiv = document.querySelector('.price__container') 936 937 // target class 938 if (!priceDiv) { 939 // try and find a potential child of an existing price container 940 // and then set the priceDiv to the parent of that child 941 // we can add more classes here if themes have non-standard class names 942 const partialClasses = [ 943 'price__regular', 944 'price__content', 945 'prodPrice', 946 'price-ui', 947 'modal_price', 948 'price-list', 949 'current-price', 950 //'metafield-rich_text_field', 951 ]; 952 953 for (const partialClass of partialClasses) { 954 const element = document.querySelector(`[class*="${partialClass}"]`); 955 if (element) { 956 priceDiv = element.parentElement; 957 break; 958 } 959 } 960 } 961 962 if (!isTierGeneral && priceDiv){ 963 // remove the rrp display 964 priceDiv.className = ''; 965 priceDiv.classList.add('price', 'price--large', 'price--on-sale', 'price--show-badge', 'wh_price__div'); 966 priceDiv.style.display = 'none'; 967 } 968 969 // target form 970 if (!priceDiv){ 971 const newDiv = document.createElement('div'); 972 priceDiv = document.querySelector('product-form'); 973 const parent = priceDiv.parentElement; 974 parent.insertBefore(newDiv, priceDiv); 975 const child = document.createElement('div'); 976 newDiv.appendChild(child); 977 priceDiv = child; 978 } 979 980 const parent = priceDiv?.parentElement; 981 const badges = parent?.querySelectorAll('.badge'); 982 // hide all badges 983 for (let i = 0; i < badges?.length; i++) { 984 //////console.log('hiding badge'); 985 badges[i].style.display = 'none'; 986 } 987 return priceDiv; 988 989 } 990 991 function createNewPriceContainer(regularPrice, discountedPrice, title, expires, remaining, blockBadgeColor, blockBadgeBackgroun
991dColor, blockBadgeText, strikethroughEnabled, showBeforeDiscountPrice, isTierGeneral = false) { 992 ////console.log('creating new container'); 993 const priceDiv = document.createElement('div') 994 priceDiv.className = ''; 995 priceDiv.classList.add('price', 'price--large', 'price--on-sale', 'price--show-badge'); 996 997 let priceContainer = document.createElement('div'); 998 priceDiv.appendChild(priceContainer); 999 priceContainer.className = '.price__container'; 1000 1001 const priceRegular = document.createElement('div'); 1002 //priceContainer.appendChild(priceRegular); 1003 const priceContainerInnerDiv = document.createElement('div'); 1004 priceContainerInnerDiv.classList.add('wh_card__inner'); 1005 priceContainer.appendChild(priceContainerInnerDiv); 1006 1007 const prs1 = document.createElement('span'); 1008 const prs2 = document.createElement('span'); 1009 const prs3 = document.createElement('span'); 1010 const prs4 = document.createElement('span'); 1011 priceRegular.appendChild(prs1); 1012 priceRegular.appendChild(prs2); 1013 priceRegular.appendChild(prs3); 1014 priceRegular.appendChild(prs4); 1015 1016 const priceRegularSpan = priceRegular.querySelectorAll('span'); 1017 1018 priceRegularSpan[0].className = ''; 1019 priceRegularSpan[0].classList.add('visually-hidden', 'visually-hidden--inline'); 1020 priceRegularSpan[1].className = ''; 1021 priceRegularSpan[1].classList.add('price-item', 'price-item--regular'); 1022 1023 const priceSale = document.createElement('div'); 1024 priceSale.classList.add('wh_price__sale'); 1025 //priceContainer.appendChild(priceSale); 1026 priceContainerInnerDiv.appendChild(priceSale); 1027 1028 const pss1 = document.createElement('span'); 1029 const pss2 = document.createElement('span'); 1030 const pss3 = document.createElement('span'); 1031 const pss4 = document.createElement('span'); 1032 priceSale.appendChild(pss1); // hidden 1033 priceSale.appendChild(pss2); // regular price with strikethrough 1034 priceSale.appendChild(pss3); // hidden 1035 priceSale.appendChild(pss4); // discounted price 1036 1037 const priceSaleSpan = priceSale.querySelectorAll('span'); 1038 priceSaleSpan[0].className = ''; 1039 priceSaleSpan[0].classList.add('visually-hidden', 'visually-hidden--inline'); 1040 //////console.log('strikethrough enabled', strikethroughEnabled); 1041 let strikethrough; 1042 //if (strikethroughEnabled == false) { 1043 // strikethrough = document.createElement('span'); 1044 //} else { 1045 // strikethrough = document.createElement('s'); 1046 //} 1047 const pricesEqual = regularPrice == discountedPrice; 1048 strikethrough = document.createElement('span'); 1049 priceSaleSpan[1].appendChild(strikethrough); 1050 //////console.log('strikethroughs', strikethrough); 1051 strikethrough.innerHTML = `RRP: ${regularPrice}`; 1052 strikethrough.className = ''; 1053 // extract percentage from discounted price 1054 const hasPercentage = discountedPrice.includes('%'); 1055 if (hasPercentage){ 1056 const percentage = parseInt(discountedPrice.match(/\d+/g)[0]); 1057 const reg = parseFloat(regularPrice.replace("$", "")); 1058 const value = reg * (1 - percentage / 100); 1059 //discountedPrice = `${value} (${percentage}% off)`; 1060 } 1061 if (isTierGeneral){ 1062 priceSaleSpan[1].innerHTML = ''; 1063 } 1064 priceSaleSpan[2].className = ''; 1065 priceSaleSpan[2].classList.add('visually-hidden', 'visually-hidden--inline'); 1066 priceSaleSpan[3].className = ''; 1067 priceSaleSpan[3].classList.add('price-item', 'price-item--sale', 'price-item--last'); 1068 priceSaleSpan[3].innerHTML = `${discountedPrice}`; 1069 if (pricesEqual) { 1070 priceSaleSpan[3].innerHTML = ``; 1071 } 1072
1073 strikethrough.classList.add('wh_regular__price'); 1074 priceSaleSpan[3].classList.add('wh_discount__price'); 1075 1076 const spanList = priceDiv.querySelectorAll('span'); 1077 const badge = document.createElement('span'); 1078 1079 // badge disabled 1080 //priceContainer.insertBefore(badge, priceSale); 1081 1082 //const spacer_before = document.createElement("br"); 1083 //priceContainer.insertBefore(spacer_before, priceSale); 1084 1085 // show title before or after discount price 1086 1087 if (!pricesEqual) { 1088 if (title && !showBeforeDiscountPrice) { 1089 const titleDiv = document.createElement('div'); 1090 titleDiv.classList.add('wh_card__content'); 1091 const titleSpan = document.createElement('span'); 1092 titleSpan.innerHTML = title; 1093 //////console.log('title', title, showBeforeDiscountPrice); 1094 //titleSpan.style.color = blockBadgeColor ?? 'inherit'; 1095 priceContainerInnerDiv.appendChild(titleDiv); 1096 titleDiv.appendChild(titleSpan); 1097 } else if (title && showBeforeDiscountPrice) { 1098 const titleDiv = document.createElement('div'); 1099 titleDiv.classList.add('wh_card__content'); 1100 const titleSpan = document.createElement('span'); 1101 titleSpan.innerHTML = `| <b>${title}</b>`; 1102 if (isTierGeneral){ 1103 titleSpan.innerHTML = `<b>${title}</b>`; 1104 } 1105 //////console.log('title', title, showBeforeDiscountPrice); 1106 //titleSpan.style.color = blockBadgeColor ?? 'inherit'; 1107 priceSale.insertBefore(titleDiv, priceSaleSpan[2]); 1108 titleDiv.appendChild(titleSpan); 1109 } 1110 } 1111 1112 //if (expires) { 1113 // const expiresSpan = document.createElement('label'); 1114 // const daysRemaining = Math.floor((new Date(expires) - new Date()) / (1000 * 60 * 60 * 24)); 1115 // expiresSpan.innerHTML = `Days left to claim: ${daysRemaining}`; 1116 // expiresSpan.className = 'quantity__label form__label'; 1117 // priceContainer.appendChild(expiresSpan); 1118 //} 1119 1120 if (remaining) { 1121 const remainingSpan = document.createElement('label'); 1122 remainingSpan.innerHTML = `Quantity to claim: ${remaining}`; 1123 remainingSpan.className = 'quantity__label form__label'; 1124 remainingSpan.style.color = blockBadgeColor ?? 'inherit'; 1125 //priceContainer.appendChild(remainingSpan); 1126 priceContainerInnerDiv.appendChild(remainingSpan); 1127 } 1128 1129 //let text = `Exclusive` 1130 //let text = `${text} • ${title}`; 1131 let text = `${title}`; 1132 badge.innerHTML = text.replace(/"/g, '');
1133 const color = `${blockBadgeBackgroundColor}` 1134 const text_color = `${blockBadgeColor}` 1135 badge.style = `background-color: ${color.replace(/"/g, '')}; color: ${text_color.replace(/"/g, '')};`; 1136 badge.classList = 'badge price__badge-sale'; 1137 1138 priceContainer.classList.add('wh_card__wrapper'); 1139 //////console.log('price container added', priceContainer); 1140 return priceDiv; 1141 } 1142 1143 function createTargetedPriceContainer(regularPrice, discountedPrice, title, expires, remaining, blockBadgeColor, blockBadgeBackgroundColor, blockBadgeText, strikethroughEnabled, showBeforeDiscountPrice, isTierGeneral, targetClass, showTitle = false, createParent = false){ 1144 let calculatedPrice = ''; 1145 if (showTitle){ 1146 title = `<b>${title}</b>`; 1147 // extract percentage from discounted price 1148 const percentage = parseInt(discountedPrice.match(/\d+/g)[0]); 1149 calculatedPrice = regularPrice * (1 - percentage / 100); 1150 } 1151 let target = document.querySelector(`[class*="${targetClass}"]`); 1152 if (createParent){ 1153 let parent = document.querySelector(`[class*="${targetClass}"]`); 1154 target = document.createElement('div'); 1155 parent.appendChild(target); 1156 } 1157 if (!target){ 1158 target = document.querySelector(`.${targetClass}`); 1159 } 1160 ////console.log('target', target); 1161 const pricesEqual = regularPrice == discountedPrice; 1162 if (pricesEqual) { 1163 if (showTitle){ 1164 target.innerHTML = `<span class="wh_regular__price"><s>${regularPrice}</s></span><span class="wh_discount__price"></span>`; 1165 } else { 1166 target.innerHTML = `<span class="wh_regular__price"><s>${regularPrice}</s></span><span class="wh_discount__price"></span>`; 1167 } 1168 } else { 1169 if (showTitle){ 1170 target.innerHTML = `<span class="wh_title">${title}</span><span class="wh_regular__price"><s>${regularPrice}</s><span class="wh_calculated__price">${calculatedPrice}</span></span><span class="wh_discount__price">${discountedPrice}</span>`; 1171 } else { 1172 target.innerHTML = `<span class="wh_regular__price"><s>${regularPrice}</s></span><span class="wh_discount__price">${discountedPrice}</span>`; 1173 } 1174 } 1175 } 1176 1177 async function checkProductDiscounts(id, currencyCode, customerId) { 1178 if (id === '') { 1179 return; 1180 } 1181 const response = await fetch(`${base_url}/store/exclusive-products/${id}/${currencyCode}/${customerId}`, { 1182 method: 'GET', 1183 headers: { 1184 'Content-Type': 'application/json', 1185 'Shopify-Site': `lieu-dit-winery.myshopify.com`, 1186 } 1187 }); 1188 let json = await response.json(); 1189 return json; 1190 } 1191 1192 function loadCss(customerId, json) { 1193 const fontFamily = json?.globalCss?.fontFamily ?? 'inherit'; 1194 const tierName = json?.tierName ?? ''; 1195 //const fontSize = json?.globalCss?.fontSize ?? '16px'; 1196 const fontSize = '16px'; 1197 const flexDirection = json?.globalCss?.flexDirection ?? 'row'; 1198 let color = json?.globalCss?.color ?? 'inherit'; 1199 //const fontFamily = 'gothamlight'; 1200 let style = document.createElement('style'); 1201 1202 const isDarkMode = document.querySelector('.dark-version') ?? false; 1203 if (isDarkMode) { 1204 color = '#fff'; 1205 } 1206 1207 const css = ` 1208 .wh_card__wrapper { 1209 /*position: relative;*/ 1210 display: flex !important; 1211 flex-direction: column !important; 1212 border-radius: 8px; 1213 overflow: hidden; 1214 transition: box-shadow 0.3s;
1215 margin: 0 0 20px 0 !important; 1216 text-align: center; 1217 font-stretch: semi-expanded; 1218 font-family: ${fontFamily} !important; 1219 font-size: ${fontSize} !important; 1220 color: ${color} !important; 1221 } 1222 .wh_card__wrapper:hover { 1223 /*box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);*/ 1224 } 1225 .wh_card__inner { 1226 position: relative; 1227 display: flex; 1228 flex-direction: ${flexDirection}; 1229 } 1230 .wh_card__content { 1231 display: block; 1232 padding-right: 6px; 1233 } 1234 .wh_discount__price { 1235 margin-right: 1px; 1236 font-size: ${fontSize} !important; 1237 } 1238 .wh_regular__price { 1239 margin-right: 6px; 1240 font-size: ${fontSize} !important; 1241 } 1242 .wh_price__sale { 1243 display: flex; 1244 flex-direction: row; 1245 justify-content: center; 1246 align-items: center; 1247 } 1248 `; 1249 1250 style.innerHTML = css; 1251 document.head.appendChild(style); 1252 1253 if (tierName){ 1254 return json; 1255 } 1256 } 1257 1258 function applyDiscountPriceToElement(element, json){ 1259 const discountedPrice = json.discountedPrice; 1260 const regularPrice = json.regularPrice; 1261 if (discountedPrice != regularPrice){ 1262 const priceSale = document.createElement('div'); 1263 priceSale.innerHTML = `<span class="wh_regular__price"><s>${regularPrice}</s></span><span class="wh_discount__price">${discountedPrice}</span>`; 1264 const parent = element.parentElement; 1265 parent.appendChild(priceSale); 1266 element.style.display = 'none'; 1267 } 1268 } 1269 1270 const productCardPartialClasses = [ 1271 'card-wrapper', 1272 'card__wrapper', 1273 'product-card product-card--', 1274 'featured-collection-item', 1275 ]; 1276 const productJsonByHandle = {}; 1277 1278 function findClosestProductCard(element) { 1279 if (!element) { 1280 return null; 1281 } 1282 for (const partialClass of productCardPartialClasses) { 1283 const card = element.closest(`[class*="${partialClass}"]`); 1284 if (card) { 1285 return card; 1286 } 1287 } 1288 return null; 1289 } 1290 1291 function getAllProductCards() { 1292 for (const partialClass of productCardPartialClasses) { 1293 const cards = document.querySelectorAll(`[class*="${partialClass}"]`); 1294 if (cards.length > 0) { 1295 return Array.from(cards); 1296 } 1297 } 1298 return []; 1299 } 1300 1301 function getHandleFromHref(href) { 1302 if (!href) { 1303 return null; 1304 } 1305 try { 1306 const pathname = new URL(href, window.location.origin).pathname; 1307 const match = pathname.match(/\/products\/([^\/?#]+)/); 1308 return match ? decodeURIComponent(match[1]) : null; 1309 } catch (e) { 1310 return null; 1311 } 1312 } 1313 1314 function getProductHandleFromCard(card) { 1315 if (!card) { 1316 return null; 1317 } 1318 const links = card.querySelectorAll('a[href*="/products/"]'); 1319 for (const link of links) { 1320 const handle = getHandleFromHref(link.href); 1321 if (handle) { 1322 return handle; 1323 } 1324 } 1325 return null; 1326 } 1327 1328 function findProductCardByHandle(handle) { 1329 if (!handle) { 1330 return null; 1331 } 1332 const hrefNeedle = `/products/${handle}`; 1333 const links = document.querySelectorAll(`a[href*="${hrefNeedle}"]`); 1334 for (const link of links) { 1335 try { 1336 const pathname = new URL(link.href, window.location.origin).pathname; 1337 if ( 1338 pathname === hrefNeedle || 1339 pathname.endsWith(hrefNeedle) || 1340 pathname.includes(`${hrefNeedle}/`) 1341 ) { 1342 const card = findClosestProductCard(link); 1343 if (card) { 1344 return card; 1345 } 1346 } 1347 } catch (e) { 1348 // ignore malformed hrefs 1349 } 1350 } 1351 return null; 1352 } 1353 1354 function getVariantOrProductIdFromCard(card) { 1355 if (!card) { 1356 return null; 1357 } 1358 const form = card.querySelector('form[action="/cart/add"]'); 1359 if (form) { 1360 const formId = form.querySelector('input[name="id"]')?.value 1361 ?? form.querySelector('input[name="product-id"]')?.value; 1362 if (formId) { 1363 return formId; 1364 } 1365 } 1366 return card.querySelector('[data-product-id]')?.getAttribute('data-product-id') 1367 ?? card.getAttribute('data-product-id') 1368 ?? null; 1369 } 1370 1371 async function resolveProductIdForCard(card, handleToProductId = {}) { 1372 const fromCard = getVariantOrProductIdFromCard(card); 1373 if (fromCard) { 1374 return fromCard; 1375 } 1376 const handle = getProductHandleFromCard(card); 1377 if (!handle) { 1378 return null; 1379 } 1380 if (handleToProductId[handle]) { 1381 return handleToProductId[handle]; 1382 } 1383 // "Choose options" cards / recommendations often have no form id â 1384 // resolve via Shopify's public product JSON. 1385 try { 1386 if (!productJsonByHandle[handle]) {
1387 productJsonByHandle[handle] = fetch(`/products/${handle}.js`) 1388 .then((response) => (response.ok ? response.json() : null)) 1389 .catch(() => null); 1390 } 1391 const productJson = await productJsonByHandle[handle]; 1392 if (productJson?.id) { 1393 return String(productJson.id); 1394 } 1395 if (productJson?.variants?.[0]?.id) { 1396 return String(productJson.variants[0].id); 1397 } 1398 } catch (e) { 1399 // ignore lookup failures 1400 } 1401 return null; 1402 } 1403 1404 async function priceAllProductCards(currencyCode, customerId, handleToProductId = {}) { 1405 const pricedCards = new WeakSet(); 1406 const cards = getAllProductCards(); 1407 for (const card of cards) { 1408 if (pricedCards.has(card)) { 1409 continue; 1410 } 1411 // Skip the main PDP price block when present on product templates 1412 if (card.closest('product-info, .product__info-wrapper, .product__info-container')) { 1413 continue; 1414 } 1415 const id = await resolveProductIdForCard(card, handleToProductId); 1416 if (!id) { 1417 continue; 1418 } 1419 const _json = await checkProductDiscounts(id, currencyCode, customerId); 1420 const json = _json?.exclusive ?? {}; 1421 const json_tier = _json?.tierProduct ?? {}; 1422 const json_club = _json?.clubDiscount ?? {}; 1423 const json_tier_general = _json?.tierGeneral ?? {};
1424 checkIsExclusiveCollection(id, currencyCode, card, json, json_tier, json_club, json_tier_general); 1425 pricedCards.add(card); 1426 } 1427 } 1428 1429 function findPriceElementInCard(card) { 1430 if (!card) { 1431 return null; 1432 } 1433 const partialClasses = [ 1434 'price__regular', 1435 'price__content', 1436 'product-card__price', 1437 'price', 1438 'modal_price', 1439 'price-list', 1440 'current-price', 1441 ]; 1442 for (const partialClass of partialClasses) { 1443 const element = card.querySelector(`[class*="${partialClass}"]`); 1444 if (element) { 1445 return element; 1446 } 1447 } 1448 return null; 1449 } 1450 1451 async function checkIsExclusiveCollection(id, currencyCode, card, json, json_tier, json_club, json_tier_general){ 1452 //let id = form.querySelector('data-product')?.getAttribute('data-product') ?? form.querySelector('data-product-id')?.getAttribute('data-product-id'); 1453 const showPricingOnCollectionPage = `true`; 1454 if (showPricingOnCollectionPage == 'false') { 1455 return; 1456 } 1457 const requestPath = window.location.pathname; 1458 if (requestPath?.includes('gift-vouchers')){ 1459 return; 1460 } 1461 // Accept a card element (preferred). Legacy numeric index is no longer used. 1462 let form = card && card.nodeType === 1 ? card : null; 1463 if (!form) { 1464 return; 1465 } 1466 1467 //let isExclusive = json.exclusive ?? false; 1468 let isExclusive = false; 1469 let isClubProduct = json_club.clubDiscount ?? false; 1470 let isTierProduct = json_tier.tierProduct ?? false; 1471 let isTierGeneral = json_tier_general.tierGeneral ?? false; 1472 1473 1474 if (isExclusive && customerId != 'none' && json.exclusiveProducts?.length > 0) { 1475 // adding badge to product card 1476 const cardInner = form.querySelector('.card__inner'); 1477 const cardContent = cardInner.querySelector('.card__content'); 1478 const cardBadge = cardContent.querySelector('.card__badge'); 1479 const newBadge = document.createElement('div'); 1480 newBadge.classList = "card__badge top left"; 1481 const spacer = document.createElement("br"); 1482 cardContent.appendChild(spacer); 1483 cardContent.appendChild(spacer); 1484 cardContent.appendChild(newBadge); 1485 const span = document.createElement("span"); 1486 span.classList = 'badge badge--bottom-left'; 1487 1488 let text = `Exclusive` 1489 span.innerHTML = text.replace(/"/g, '');
1490 const color = `${blockBadgeBackgroundColor}` 1491 const text_color = `${blockBadgeColor}` 1492 span.style = `background-color: ${color.replace(/"/g, '')}; color: ${text_color.replace(/"/g, '')};`; 1493 newBadge.appendChild(span); 1494 } else if (isTierProduct && customerId != 'none' && json_tier.tierProducts?.length > 0){ 1495 if (form){ 1496 let priceRegular = findPriceElementInCard(form); 1497 //if (priceRegular){ 1498 // const _json_tier = json_tier.tierProducts[0]; 1499 // applyDiscountPriceToElement(priceRegular, _json_tier); 1500 //} 1501 const _json_tier = json_tier.tierProducts[0]; 1502 const discountedPrice = _json_tier.discountedPrice; 1503 const regularPrice = _json_tier.regularPrice; 1504 if (discountedPrice != regularPrice){ 1505 if (priceRegular){ 1506 const priceSale = document.createElement('div'); 1507 priceSale.innerHTML = `<span class="wh_regular__price"><s>${regularPrice}</s></span><span class="wh_discount__price">${discountedPrice}</span>`; 1508 const parent = priceRegular.parentElement; 1509 //parent.appendChild(priceSale); 1510 //priceRegular.style.display = 'none'; 1511 } else { 1512 ////console.log('price regular not found'); 1513 } 1514 } 1515 } 1516 } else if (isClubProduct && customerId != 'none'){ 1517 if (form){ 1518 let priceRegular = findPriceElementInCard(form); 1519 //if (priceRegular){ 1520 // applyDiscountPriceToElement(priceRegular, json_club); 1521 //} 1522 const discountedPrice = json_club.discountedPrice; 1523 const regularPrice = json_club.regularPrice; 1524 if (discountedPrice != regularPrice){ 1525 if (priceRegular){ 1526 const priceSale = document.createElement('div'); 1527 priceSale.innerHTML = `<span class="wh_regular__price"><s>${regularPrice}</s></span><span class="wh_discount__price">${discountedPrice}</span>`; 1528 const parent = priceRegular.parentElement; 1529 parent.appendChild(priceSale); 1530 priceRegular.style.display = 'none'; 1531 } else { 1532 ////console.log('price regular not found'); 1533 } 1534 } 1535 } 1536 } else if (isTierGeneral && customerId != 'none'){ 1537 // only showing one for logged in customer currently on collections page 1538 if (form){ 1539 let priceRegular = findPriceElementInCard(form); 1540 //if (priceRegular){ 1541 // applyDiscountPriceToElement(priceRegular, json_tier_general.tierGeneralObj[0]); 1542 //} 1543 const _json_tier_general = json_tier_general.tierGeneralObj[0]; 1544 if (!_json_tier_general) { 1545 return; 1546 } 1547 const discountedPrice = _json_tier_general.discountedPrice; 1548 const regularPrice = _json_tier_general.regularPrice; 1549 if (discountedPrice != regularPrice){ 1550 if (priceRegular){ 1551 const storeUrl = `lieu-dit-winery.myshopify.com`; 1552 const priceSale = document.createElement('div'); 1553 priceSale.innerHTML = `<span class="wh_regular__price"><s>${regularPrice}</s></span><span class="wh_discount__price">${discountedPrice}</span>`; 1554 const parent = priceRegular.parentElement; 1555 if (storeUrl == decodeText('qu@xt@x-c&[email protected]&le.ius')){ 1556 // as parent 1557 priceRegular.innerHTML = `<span class="wh_regular__price"><s>${regularPrice}</s></span><span class="wh_discount__price">${discountedPrice}</span>`; 1558 } else { 1559 // as child 1560 parent.appendChild(priceSale); 1561 priceRegular.style.display = 'none'; 1562 } 1563 } else { 1564 ////console.log('price regular not found'); 1565 } 1566 } 1567 } 1568 } 1569 }; 1570 1571 async function checkIsExclusiveSingleProduct(id, currencyCode, json, json_tier, json_club, json_t
1571ier_general) { 1572 if (id == '') { 1573 return; 1574 } 1575 //////console.log('checking single'); 1576 //let json = { 1577 // "exclusive": true, 1578 // "exclusiveProducts": [ 1579 // { 1580 // "regularPrice": "$100.00", 1581 // "discountedPrice": "$50.00", 1582 // "title": "Silver Tier", 1583 // "remaining": 5, 1584 // "expires": "2024-03-31T23:59:59Z" 1585 // }, 1586 // { 1587 // "regularPrice": "$200.00", 1588 // "discountedPrice": "$100.00", 1589 // "title": "Gold Tier", 1590 // "remaining": 10, 1591 // "expires": "2021-12-31T23:59:59Z" 1592 // } 1593 // ] 1594 //} 1595 1596 if (!debug) { 1597 } 1598 1599 //json = await checkId(id, currencyCode, customerId); // exclusive 1600 //json_tier = await checkTierProduct(id, currencyCode, customerId); // tier 1601 //////console.log('checking club with id', id); 1602 //json_club = await checkClubProduct(id, currencyCode, customerId); // club 1603 //json_tier_general = await checkTierGeneral(id, currencyCode, customerId); // tier general 1604 1605 let isExclusive = json.exclusive ?? false; 1606 let isTierProduct = json_tier.tierProduct ?? false; 1607 let isClubProduct = json_club.clubDiscount ?? false; 1608 let isTierGeneral = json_tier_general.tierGeneral ?? false; 1609 //let isTierGeneral = false; 1610 let globalRoot = null; 1611 1612 //////console.log('isExclusive', isExclusive, 'isTierProduct', isTierProduct, 'isClubProduct', isClubProduct); 1613 1614 // we either display the exclusive products or the tier products 1615 if (isExclusive && customerId != 'none' && json.exclusiveProducts?.length > 0) { 1616 const exclusiveProducts = json.exclusiveProducts; 1617 1618 // return if exclusive products is empty 1619 1620 if (exclusiveProducts?.length == 0) { 1621 return; 1622 } 1623 1624 /** Creating the root price div **/ 1625 1626 const priceDiv = createRootContainer(null); 1627 globalRoot = priceDiv; 1628 //////console.log('root created'); 1629 1630 /** Creating price divs for each exclusive price **/ 1631 1632 for (let i = 0; i < exclusiveProducts.length; i++) { 1633 const ep = exclusiveProducts[i]; 1634 const regularPrice = ep.regularPrice; 1635 const discountedPrice = ep.discountedPrice; 1636 let title = ep.title; 1637 const expires = ep.expires; 1638 const remaining = ep.remaining; 1639 const blockBadgeText = ep.blockBadgeText ?? `MEMBER'S PRICE:`;
1640 const blockBadgeBackgroundColor = ep.blockBadgeBackgroundColor; 1641 const blockBadgeColor = ep.blockBadgeColor; 1642 const strikethroughEnabled = ep.strikethroughEnabled; 1643 const showBeforeDiscountPrice = ep.showBeforeDiscountPrice ?? true; 1644 title = blockBadgeText; 1645 const newPriceDiv = createNewPriceContainer(regularPrice, discountedPrice, title, expires, remaining, blockBadgeColor, blockBadgeBackgroundColor, blockBadgeText, strikethroughEnabled, showBeforeDiscountPrice); 1646 const parent = priceDiv.parentElement; 1647 parent.appendChild(newPriceDiv); 1648 } 1649 1650 } else if (isTierProduct && json_tier.tierProducts?.length > 0) { 1651 const tierProducts = json_tier.tierProducts; 1652 const priceDiv = createRootContainer(null); 1653 globalRoot = priceDiv; 1654 //////console.log('root created'); 1655 1656 if (tierProducts?.length == 0) { 1657 return; 1658 } 1659 1660 for (let i = 0; i < tierProducts.length; i++) { 1661 const index = i; 1662 const ep = tierProducts[i]; 1663 const regularPrice = ep.regularPrice; 1664 const discountedPrice = ep.discountedPrice; 1665 let title = ep.title; 1666 const expires = ep.expires; 1667 const remaining = ep.remaining; 1668 const blockBadgeText = ep.blockBadgeText ?? `MEMBER'S PRICE:`;
1669 const blockBadgeBackgroundColor = ep.blockBadgeBackgroundColor; 1670 const blockBadgeColor = ep.blockBadgeColor; 1671 const strikethroughEnabled = ep.strikethroughEnabled ?? false; 1672 const showBeforeDiscountPrice = ep.showBeforeDiscountPrice ?? true; 1673 title = blockBadgeText; 1674 const newPriceDiv = createNewPriceContainer(regularPrice, discountedPrice, title, expires, remaining, blockBadgeColor, blockBadgeBackgroundColor, blockBadgeText, strikethroughEnabled, showBeforeDiscountPrice); 1675 const parent = priceDiv.parentElement; 1676 parent.appendChild(newPriceDiv); 1677 //////console.log('appended latest 6', newPriceDiv); 1678 } 1679 } else if (isClubProduct){ 1680 //const clubProducts = json_club.clubProducts; 1681 const storeUrl = `lieu-dit-winery.myshopify.com`; 1682 if (storeUrl == 'ipsvh1-0m.myshopify.com'){ // hotifx, remove this line once option is configurable 1683 const ep = json_club; 1684 const regularPrice = ep.regularPrice; 1685 const discountedPrice = ep.discountedPrice; 1686 let title = ep.title ?? ''; 1687 const expires = null; 1688 const remaining = null; 1689 const blockBadgeText = ep.blockBadgeText ?? `CLUB PRICE:`;
1690 const blockBadgeBackgroundColor = ep.blockBadgeBackgroundColor; 1691 const blockBadgeColor = ep.blockBadgeColor; 1692 const strikethroughEnabled = ep.strikethroughEnabled ?? false; 1693 const showBeforeDiscountPrice = true; // not needed for tier general 1694 const targetClass = 'current-price'; 1695 createTargetedPriceContainer(regularPrice, discountedPrice, title, expires, remaining, blockBadgeColor, blockBadgeBackgroundColor, blockBadgeText, strikethroughEnabled, showBeforeDiscountPrice, isTierGeneral, targetClass); 1696 return; 1697 } 1698 const priceDiv = createRootContainer(null); 1699 globalRoot = priceDiv; 1700 //////console.log('root created'); 1701 const regularPrice = json_club.regularPrice; 1702 const discountedPrice = json_club.discountedPrice; 1703 let title = json_club.title ?? ''; 1704 const expires = null; 1705 const remaining = null; 1706 const blockBadgeText = json_club.blockBadgeText ?? `CLUB PRICE:`;
1707 const blockBadgeBackgroundColor = json_club.blockBadgeBackgroundColor ?? '#f8f8f8'; 1708 const blockBadgeColor = json_club.blockBadgeColor ?? '#000'; 1709 const strikethroughEnabled = json_club.strikethroughEnabled ?? false; 1710 const showBeforeDiscountPrice = json_club.showBeforeDiscountPrice ?? true; 1711 title = blockBadgeText; 1712 const newPriceDiv = createNewPriceContainer(regularPrice, discountedPrice, title, expires, remaining, blockBadgeColor, blockBadgeBackgroundColor, blockBadgeText, strikethroughEnabled, showBeforeDiscountPrice); 1713 const parent = priceDiv.parentElement; 1714 parent.appendChild(newPriceDiv); 1715 //////console.log('appended latest 10', newPriceDiv); 1716 } 1717 1718 if (isTierGeneral && !isTierProduct && !isClubProduct && !isExclusive){ 1719 const storeUrl = `lieu-dit-winery.myshopify.com`; 1720 const tierGeneral = json_tier_general.tierGeneralObj; 1721 if (storeUrl == decodeText('qu@xt@x-c&[email protected]&le.ius')){ // hotifx, remove this line once option is configurable 1722 for (let i = 0; i < tierGeneral.length; i++) { 1723 const index = i; 1724 const ep = tierGeneral[i]; 1725 const regularPrice = ep.regularPrice; 1726 const discountedPrice = ep.discountedPrice; 1727 let title = ep.title ?? `Tier ${index + 1}`; 1728 const expires = ep.expires; 1729 const remaining = ep.remaining; 1730 const blockBadgeText = ep.blockBadgeText ?? `MEMBER'S PRICE:`;
1731 const blockBadgeBackgroundColor = ep.blockBadgeBackgroundColor; 1732 const blockBadgeColor = ep.blockBadgeColor; 1733 const strikethroughEnabled = ep.strikethroughEnabled ?? false; 1734 const showBeforeDiscountPrice = true; // not needed for tier general 1735 //////console.log('tier general', title); 1736 const targetClass = 'prodPrice'; 1737 createTargetedPriceContainer(regularPrice, discountedPrice, title, expires, remaining, blockBadgeColor, blockBadgeBackgroundColor, blockBadgeText, strikethroughEnabled, showBeforeDiscountPrice, isTierGeneral, targetClass); 1738 } 1739 return; 1740 } 1741 // LOAD THE CHANGE 1742 if (storeUrl == ''){ // hotifx, remove this line once option is configurable 1743 for (let i = 0; i < tierGeneral.length; i++) { 1744 const index = i; 1745 const ep = tierGeneral[i]; 1746 const regularPrice = ep.regularPrice; 1747 const discountedPrice = ep.discountedPrice; 1748 let title = ep.title ?? `Tier ${index + 1}`; 1749 const expires = ep.expires; 1750 const remaining = ep.remaining; 1751 const blockBadgeText = ep.blockBadgeText ?? `MEMBER'S PRICE:`;
1752 const blockBadgeBackgroundColor = ep.blockBadgeBackgroundColor; 1753 const blockBadgeColor = ep.blockBadgeColor; 1754 const strikethroughEnabled = ep.strikethroughEnabled ?? false; 1755 const showBeforeDiscountPrice = true; // not needed for tier general 1756 //////console.log('tier general', title); 1757 const targetClass = '!mt-[--gutter-sm]'; 1758 const showTitle = true; 1759 createTargetedPriceContainer(regularPrice, discountedPrice, title, expires, remaining, blockBadgeColor, blockBadgeBackgroundColor, blockBadgeText, strikethroughEnabled, showBeforeDiscountPrice, isTierGeneral, targetClass, showTitle); 1760 } 1761 return; 1762 } 1763 let priceDiv = null; 1764 if (!globalRoot){ 1765 priceDiv = createRootContainer(true); 1766 } else { 1767 priceDiv = globalRoot; 1768 } 1769 1770 if (tierGeneral?.length == 0) { 1771 return; 1772 } 1773 1774 for (let i = 0; i < tierGeneral.length; i++) { 1775 const index = i; 1776 const ep = tierGeneral[i]; 1777 const regularPrice = ep.regularPrice; 1778 const discountedPrice = ep.discountedPrice; 1779 let title = ep.title ?? `Tier ${index + 1}`; 1780 const expires = ep.expires; 1781 const remaining = ep.remaining; 1782 const blockBadgeText = ep.blockBadgeText ?? `MEMBER'S PRICE:`;
1783 const blockBadgeBackgroundColor = ep.blockBadgeBackgroundColor; 1784 const blockBadgeColor = ep.blockBadgeColor; 1785 const strikethroughEnabled = ep.strikethroughEnabled ?? false; 1786 const showBeforeDiscountPrice = true; // not needed for tier general 1787 //////console.log('tier general', title); 1788 const newPriceDiv = createNewPriceContainer(regularPrice, discountedPrice, title, expires, remaining, blockBadgeColor, blockBadgeBackgroundColor, blockBadgeText, strikethroughEnabled, showBeforeDiscountPrice, isTierGeneral); 1789 const parent = priceDiv.parentElement; 1790 parent.appendChild(newPriceDiv); 1791 //////console.log('appended latest 12', newPriceDiv); 1792 } 1793 1794 //console.log('priceDiv', priceDiv); 1795 } 1796 } 1797 </script>
1797 1798 1799 1800 1801<!-- END app block --><!-- BEGIN app block: shopify://apps/ecomposer-builder/blocks/app-embed/a0fc26e1-7741-4773-8b27-39389b4fb4a0 --><!-- DNS Prefetch & Preconnect --> 1802<link rel="preconnect" href="https://cdn.ecomposer.app" crossorigin> 1803<link rel="dns-prefetch" href="https://cdn.ecomposer.app"> 1804 1805<link rel="prefetch" href="https://cdn.ecomposer.app/vendors/css/[email protected]" as="style"> 1806<link rel="prefetch" href="https://cdn.ecomposer.app/vendors/js/[email protected]" as="script"> 1807<link rel="prefetch" href="https://cdn.ecomposer.app/vendors/js/ecom_modal.js" as="script"> 1808 1809<!-- Global CSS --><!--ECOM-EMBED--> 1810 <style id="ecom-global-css" class="ecom-global-css">/**ECOM-INSERT-CSS**/.ecom-section > div.core__row--columns, .ecom-section>.ecom-inner{max-width: 1200px;}.ecom-column>div.core__column--wrapper, .ec-flex-wp{padding: 20px;}div.core__blocks--body>div.ecom-block.elmspace:not(:first-child), .core__group--body>div.ecom-block.elmspace:not(:first-child), div.core__blocks--body>.ec-flex-wp.elmspace:not(:first-child), .core__blocks>div.ecom-block.elmspace:not(:first-child){margin-top: 20px;}:root{--ecom-global-container-width:1200px;--ecom-global-colunm-gap:20px;--ecom-global-elements-space:20px;--ecom-global-colors-primary:#ffffff;--ecom-global-colors-secondary:#ffffff;--ecom-global-colors-text:#ffffff;--ecom-global-colors-accent:#ffffff;--ecom-global-colors-GuDPPJ:#FFF9F2;--ecom-global-colors-WgOxxS:#F4ECE2;--ecom-global-colors-7sqAV2:#D7CCBF;--ecom-global-colors-8XYxCg:#111113;--ecom-global-typography-h1-font-weight:600;--ecom-global-typography-h1-font-size:72px;--ecom-global-typography-h1-line-height:90px;--ecom-global-typography-h1-letter-spacing:-0.02em;--ecom-global-typography-h2-font-weight:600;--ecom-global-typography-h2-font-size:60px;--ecom-global-typography-h2-line-height:72px;--ecom-global-typography-h2-letter-spacing:-0.02em;--ecom-global-typography-h3-font-weight:600;--ecom-global-typography-h3-font-size:48px;--ecom-global-typography-h3-line-height:60px;--ecom-global-typography-h3-letter-spacing:-0.02em;--ecom-global-typography-h4-font-weight:600;--ecom-global-typography-h4-font-size:36px;--ecom-global-typography-h4-line-height:44px;--ecom-global-typography-h4-letter-spacing:-0.02em;--ecom-global-typography-h5-font-weight:600;--ecom-global-typography-h5-font-size:30px;--ecom-global-typography-h5-line-height:38px;--ecom-global-typography-h6-font-weight:600;--ecom-global-typography-h6-font-size:24px;--ecom-global-typography-h6-line-height:32px;--ecom-global-typography-h7-font-weight:400;--ecom-global-typography-h7-font-size:18px;--ecom-global-typography-h7-line-height:28px;--ecom-global-typography-88vfPM-font-family:TimesNow-SemiLight;--ecom-global-typography-88vfPM-font-size:14px;--ecom-global-typography-ArK4hU-font-size:10px;--ecom-global-typography-ArK4hU-font-family:TimesNow-SemiBold;--ecom-global-typography-ArK4hU-text-decoration:none;--ecom-global-typography-ArK4hU-font-style:normal;--ecom-global-typography-ArK4hU-font-weight:100;}</style> 1811 <!--/ECOM-EMBED--><!-- Custom CSS & JS --><style id="ecom-custom-css">.ecom-collection__product-form__actions.ecom-collection__product-quantity--inline { 1812 flex-direction: row-reverse !important; 1813}</style><!-- Open Graph Meta Tags for Pages --><!-- AI Search Optimization (LLM Outreach) --><!-- Critical Inline Styles --> 1814<style class="ecom-theme-helper">.ecom-animation{opacity:0}.ecom-animation.animate,.ecom-animation.ecom-animated{opacity:1}.ecom-cart-popup{display:grid;position:fixed;inset:0;z-index:9999999;align-content:center;padding:5px;justify-content:center;align-items:center;justify-items:center}.ecom-cart-popup::before{content:' ';position:absolute;background:#e5e5e5b3;inset:0}.ecom-ajax-loading{cursor:not-allowed;pointer-events:none;opacity:.6}#ecom-toast{visibility:hidden;max-width:50px;height:60px;margin:auto;background-color:#333;color:#fff;text-align:center;border-radius:2px;position:fixed;z-index:1;left:0;right:0;bottom:30px;font-size:17px;display:grid;grid-template-columns:50px auto;align-items:center;justify-content:start;align-content:center;justify-items:start}#ecom-toast.ecom-toast-show{visibility:visible;animation:ecomFadein .5s,ecomExpand .5s .5s,ecomStay 3s 1s,ecomShrink .5s 4s,ecomFadeout .5s 4.5s}#ecom-toast #ecom-toast-icon{width:50px;height:100%;box-sizing:border-box;background-color:#111;color:#fff;padding:5px}#ecom-toast .ecom-toast-icon-svg{width:100%;height:100%;position:relative;vertical-align:middle;margin:auto;text-align:center}#ecom-toast #ecom-toast-desc{color:#fff;padding:16px;overflow:hidden;white-space:nowrap}@media(max-width:768px){#ecom-toast #ecom-toast-desc{white-space:normal;min-width:250px}#ecom-toast{height:auto;min-height:60px}}.ecom__column-full-height{height:100%}[data-ec-sr]>.core__row--columns>.ecom-column:not(.ecom-sr-visible):not(.ecom-sr-done),[data-ec-sr].ec-flex-wp>.ecom-inner>.ecom-block:not(.ecom-sr-visible):not(.ecom-sr-done),[data-ec-sr].ec-flex-wp>.ecom-inner>.ec-flex-wp.core__block:not(.ecom-sr-visible):not(.ecom-sr-done),[data-ec-sr].ec-flex-wp>.ecom-block:not(.ecom-sr-visible):not(.ecom-sr-done),[data-ec-sr].ec-flex-wp>.ec-flex-wp.core__block:not(.ecom-sr-visible):not(.ecom-sr-done),[data-ec-sr]>.ecom-grid-layout>.ecom-grid-item:not(.ecom-sr-visible):not(.ecom-sr-done),[data-ec-sr-items] [data-ec-sr-item]:not(.ecom-sr-visible):not(.ecom-sr-done){opacity:0}
1814.ecom-sr-done{opacity:1}@keyframes ecom-sr-fade-up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes ecom-sr-fade-in{from{opacity:0}to{opacity:1}}@keyframes ecom-sr-slide-left{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes ecom-sr-zoom-in{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.ecom-sr-visible{animation-fill-mode:both!important;animation-duration:.6s!important;animation-timing-function:cubic-bezier(.25,.46,.45,.94)!important}.ecom-sr-visible[data-sr-anim="fade-up"]{animation-name:ecom-sr-fade-up!important}.ecom-sr-visible[data-sr-anim="fade-in"]{animation-name:ecom-sr-fade-in!important}.ecom-sr-visible[data-sr-anim="slide-left"]{animation-name:ecom-sr-slide-left!important}.ecom-sr-visible[data-sr-anim="zoom-in"]{animation-name:ecom-sr-zoom-in!important}@keyframes ecomFadein{from{bottom:0;opacity:0}to{bottom:30px;opacity:1}}@keyframes ecomExpand{from{min-width:50px}to{min-width:var(--ecom-max-width)}}@keyframes ecomStay{from{min-width:var(--ecom-max-width)}to{min-width:var(--ecom-max-width)}}@keyframes ecomShrink{from{min-width:var(--ecom-max-width)}to{min-width:50px}}@keyframes ecomFadeout{from{bottom:30px;opacity:1}to{bottom:60px;opacity:0}}</style> 1815 1816 1817<!-- EComposer Config Script -->
1818<script id="ecom-theme-helpers" async> 1819window.EComposer=window.EComposer||{};(function(){if(!this.configs)this.configs={};this.configs={"custom_code":{"custom_css":".ecom-collection__product-form__actions.ecom-collection__product-quantity--inline {\r\n flex-direction: row-reverse !important;\r\n}"},"instagram":null};this.configs.ajax_cart={enable:false};this.customer=false;this.initQuickview=function(){}; 1820this.proxy_path='/apps/ecomposer-visual-page-builder';this.popupScriptUrl='';this.routes={domain:'https://www.lieuditwinery.com',root_url:'/',collections_url:'/collections',all_products_collection_url:'/collections/all',cart_url:'/cart',cart_add_url:'/cart/add',cart_change_url:'/cart/change',cart_clear_url:'/cart/clear',cart_update_url:'/cart/update',product_recommendations_url:'/recommendations/products'}; 1821this.queryParams={}; 1822if(window.location.search.length){new URLSearchParams(window.location.search).forEach((value,key)=>{this.queryParams[key]=value})} 1823this.money_format="${{amount}}"; 1824this.money_with_currency_format="${{amount}}"; 1825this.currencyCodeEnabled=true;this.abTestingData = [];this.formatMoney=function(t,e){const r=this.currencyCodeEnabled?this.money_with_currency_format:this.money_format;function a(t,e){return void 0===t?e:t}function o(t,e,r,o){if(e=a(e,2),r=a(r,","),o=a(o,"."),isNaN(t)||null==t)return 0;var n=(t=(t/100).toFixed(e)).split(".");return n[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1"+r)+(n[1]?o+n[1]:"")}"string"==typeof t&&(t=t.replace(".",""));var n="",i=/\{\{\s*(\w+)\s*\}\}/,s=e||r;switch(s.match(i)[1]){case"amount":n=o(t,2);break;case"amount_no_decimals":n=o(t,0);break;case"amount_with_comma_separator":n=o(t,2,".",",");break;case"amount_with_space_separator":n=o(t,2," ",",");break;case"amount_with_period_and_space_separator":n=o(t,2," ",".");break;case"amount_no_decimals_with_comma_separator":n=o(t,0,".",",");break;case"amount_no_decimals_with_space_separator":n=o(t,0," ");break;case"amount_with_apostrophe_separator":n=o(t,2,"'",".")}return s.replace(i,n)}; 1826this.resizeImage=function(t,e){try{if(!e||"original"==e||"full"==e||"master"==e)return t;if(-1!==t.indexOf("cdn.shopify.com")||-1!==t.indexOf("/cdn/shop/")){var r=t.match(/\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif|webp)((\#[0-9a-z\-]+)?(\?v=.*)?)?$/gim);if(null==r)return null;var a=t.split(r[0]),o=r[0];return a[0]+"_"+e+o}}catch(r){return t}return t}; 1827this.getProduct=function(t){if(!t)return!1;let e=("/"===this.routes.root_url?"":this.routes.root_url)+"/products/"+t+".js?shop="+Shopify.shop;return window.ECOM_LIVE&&(e="/shop/builder/ajax/ecom-proxy/products/"+t+"?shop="+Shopify.shop),window.fetch(e,{headers:{"Content-Type":"application/json"}}).then(t=>t.ok?t.json():false)}; 1828const u=new URLSearchParams(window.location.search);if(u.has("ecom-redirect")){const r=u.get("ecom-redirect");if(r){let d;try{d=decodeURIComponent(r)}catch{return}d=d.trim().replace(/[\r\n\t]/g,"");if(d.length>2e3)return;const p=["javascript:","data:","vbscript:","file:","ftp:","mailto:","tel:","sms:","chrome:","chrome-extension:","moz-extension:","ms-browser-extension:"],l=d.toLowerCase();for(const o of p)if(l.includes(o))return;const x=[/
1828<script/i,/<\/script/i,/javascript:/i,/vbscript:/i,/onload=/i,/onerror=/i,/onclick=/i,/onmouseover=/i,/onfocus=/i,/onblur=/i,/onsubmit=/i,/onchange=/i,/alert\s*\(/i,/confirm\s*\(/i,/prompt\s*\(/i,/document\./i,/window\./i,/eval\s*\(/i];for(const t of x)if(t.test(d))return;if(d.startsWith("/")&&!d.startsWith("//")){if(!/^[a-zA-Z0-9\-._~:/?#[\]@!$&'()*+,;=%]+$/.test(d))return;if(d.includes("../")||d.includes("./"))return;window.location.href=d;return}if(!d.includes("://")&&!d.startsWith("//")){if(!/^[a-zA-Z0-9\-._~:/?#[\]@!$&'()*+,;=%]+$/.test(d))return;if(d.includes("../")||d.includes("./"))return;window.location.href="/"+d;return}let n;try{n=new URL(d)}catch{return}if(!["http:","https:"].includes(n.protocol))return;if(n.port&&(parseInt(n.port)<1||parseInt(n.port)>65535))return;const a=[window.location.hostname];if(a.includes(n.hostname)&&(n.href===d||n.toString()===d))window.location.href=d}} 1829}).bind(window.EComposer)(); 1830if(window.Shopify&&window.Shopify.designMode&&window.top&&window.top.opener){window.addEventListener("load",function(){window.top.opener.postMessage({action:"ecomposer:loaded"},"*")})} 1831</script>
1831<!-- Quickview Script -->
1832<script id="ecom-theme-quickview" async> 1833window.EComposer=window.EComposer||{};(function(){this.initQuickview=function(){var enable_qv=false; 1834enable_qv=true; 1835let ecom_quickview=document.querySelector('.ecom-quickview');if(!ecom_quickview){const qv_wrapper_script=document.querySelector('#ecom-quickview-template-html');if(!qv_wrapper_script)return;ecom_quickview=document.createElement('div');ecom_quickview.classList.add('ecom-quickview');ecom_quickview.innerHTML=qv_wrapper_script.innerHTML;document.body.prepend(ecom_quickview);}const qv_wrapper=ecom_quickview.querySelector('.ecom-quickview__wrapper');if(!qv_wrapper)return;const ecomQuickview=function(e){let t=qv_wrapper.querySelector(".ecom-quickview__content-data");if(t){let i=document.createRange().createContextualFragment(e);t.innerHTML="",t.append(i),qv_wrapper.classList.add("ecom-open");let c=new CustomEvent("ecom:quickview:init",{detail:{wrapper:qv_wrapper}});document.dispatchEvent(c),window.EComposer&&window.EComposer.ajaxCart&&typeof window.EComposer.ajaxCart==="function"&&window.EComposer.ajaxCart(),requestAnimationFrame(function(){requestAnimationFrame(function(){qv_wrapper.classList.add("ecom-display")})}),closeQuickview(t)}},closeQuickview=function(e){let t=qv_wrapper.querySelector(".ecom-quickview__close-btn"),i=qv_wrapper.querySelector(".ecom-quickview__content");function c(t){let o=t.target;do{if(o==i||o&&o.classList&&o.classList.contains("ecom-modal"))return;o=o.parentNode}while(o);o!=i&&(qv_wrapper.classList.add("ecom-remove"),qv_wrapper.classList.remove("ecom-open","ecom-display","ecom-remove"),setTimeout(function(){e.innerHTML=""},300),document.removeEventListener("click",c),document.removeEventListener("keydown",n))}function n(t){(t.isComposing||27===t.keyCode)&&(qv_wrapper.classList.add("ecom-remove"),qv_wrapper.classList.remove("ecom-open","ecom-display","ecom-remove"),setTimeout(function(){e.innerHTML=""},300),document.removeEventListener("keydown",n),document.removeEventListener("click",c))}t&&t.addEventListener("click",function(t){t.preventDefault(),document.removeEventListener("click",c),document.removeEventListener("keydown",n),qv_wrapper.classList.add("ecom-remove"),qv_wrapper.classList.remove("ecom-open","ecom-display","ecom-remove"),setTimeout(function(){e.innerHTML=""},300)}),document.addEventListener("click",c),document.addEventListener("keydown",n)};function quickViewHandler(e){e&&e.preventDefault();let t=this;t.classList&&t.classList.add("ecom-loading");let i=t.classList?t.getAttribute("href"):window.location.pathname;if(i){if(window.location.search.includes("ecom_template_id")){let c=new URLSearchParams(location.search);i=window.location.pathname+"?section_id="+c.get("ecom_template_id")}else i+=(i.includes("?")?"&":"?")+"section_id=ecom-default-template-quickview";fetch(i).then(function(e){return 200==e.status?e.text():window.document.querySelector("#admin-bar-iframe")?(404==e.status?alert("Please create Ecomposer quickview template first!"):alert("Have some problem with quickview!"),t.classList&&t.classList.remove("ecom-loading"),!1):void window.open(new URL(i).pathname,"_blank")}).then(function(e){e&&(ecomQuickview(e),setTimeout(function(){t.classList&&t.classList.remove("ecom-loading")},300))}).catch(function(e){})}} 1836if(window.location.search.includes('ecom_template_id')&&!window.EComposer.quickviewAutoOpened){window.EComposer.quickviewAutoOpened=true;setTimeout(quickViewHandler,1000)} 1837if(enable_qv){document.querySelectorAll('.ecom-product-quickview:not(.ecom-quickview-initialized)').forEach(function(button){button.classList.add('ecom-quickview-initialized');button.addEventListener('click',quickViewHandler)})} 1838}}).bind(window.EComposer)(); 1839</script>
1839 1840 1841<!-- Quickview Template -->
1842<script type="text/template" id="ecom-quickview-template-html"> 1843<div class="ecom-quickview__wrapper ecom-dn"><div class="ecom-quickview__container"><div class="ecom-quickview__content"><div class="ecom-quickview__content-inner"><div class="ecom-quickview__content-data"></div></div></div><span class="ecom-quickview__close-btn"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M10.722 9.969l-0.754 0.754 5.278 5.278-5.253 5.253 0.754 0.754 5.253-5.253 5.253 5.253 0.754-0.754-5.253-5.253 5.278-5.278-0.754-0.754-5.278 5.278z" fill="#ffffff"></path></svg></span></div></div> 1844</script>
1844 1845 1846<!-- Quickview Styles --> 1847<style class="ecom-theme-quickview">.ecom-quickview__wrapper{opacity:0;display:none;pointer-events:none;position:fixed!important;inset:0;z-index:9999;outline:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.ecom-quickview__wrapper.ecom-open{display:block;pointer-events:auto;opacity:1;transition:opacity .2s ease}.ecom-quickview__container{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);opacity:1;transition:background .3s ease;padding:12px;box-sizing:border-box}.ecom-quickview__wrapper.ecom-open .ecom-quickview__container{background:rgba(0,0,0,.7)}.ecom-quickview__content{opacity:0;visibility:hidden;transform:translateY(30px);transition:all .3s cubic-bezier(.25,.8,.25,1);max-width:100%;width:100%;max-height:90vh}.ecom-quickview__wrapper.ecom-display .ecom-quickview__content{opacity:1;visibility:visible;transform:translateY(0)}.ecom-quickview__content-inner{background:#fff;border-radius:12px;overflow:hidden;max-height:90vh;width:100%;max-width:1100px;margin:0 auto;-webkit-overflow-scrolling:touch;overflow-y:auto}.ecom-quickview__content-inner::-webkit-scrollbar{width:0;background:transparent}.ecom-quickview__close-btn{position:fixed!important;top:24px;right:24px;width:32px;height:32px;background:none;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s,transform .3s;z-index:100001;cursor:pointer;transform:scale(.8);filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.ecom-quickview__wrapper.ecom-open .ecom-quickview__close-btn{opacity:1;transform:scale(1)}.ecom-quickview__close-btn:hover,.ecom-quickview__close-btn:active{transform:scale(1.15)}@media (max-width:1200px){.ecom-quickview__container{padding:8px}.ecom-quickview__close-btn{top:16px;right:16px;width:28px;height:28px}.ecom-quickview__content-inner{max-height:96vh;border-radius:0}}@media (max-width:767px) and (orientation:portrait){.ecom-quickview__wrapper,.ecom-quickview__container{position:absolute}}</style><!-- Toast Template -->
1848<script type="text/template" id="ecom-template-html"><!-- BEGIN app snippet: ecom-toast --><div id="ecom-toast"><div id="ecom-toast-icon"><svg xmlns="http://www.w3.org/2000/svg" class="ecom-toast-icon-svg ecom-toast-icon-info" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg> 1849<svg class="ecom-toast-icon-svg ecom-toast-icon-success" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 48c110.5 0 200 89.5 200 200 0 110.5-89.5 200-200 200-110.5 0-200-89.5-200-200 0-110.5 89.5-200 200-200m140.2 130.3l-22.5-22.7c-4.7-4.7-12.3-4.7-17-.1L215.3 303.7l-59.8-60.3c-4.7-4.7-12.3-4.7-17-.1l-22.7 22.5c-4.7 4.7-4.7 12.3-.1 17l90.8 91.5c4.7 4.7 12.3 4.7 17 .1l172.6-171.2c4.7-4.7 4.7-12.3 .1-17z"/></svg> 1850</div><div id="ecom-toast-desc"></div></div><!-- END app snippet --></script>
1850<!-- END app block --><!-- BEGIN app block: shopify://apps/triplewhale/blocks/triple_pixel_snippet/483d496b-3f1a-4609-aea7-8eee3b6b7a2a --><link rel='preconnect dns-prefetch' href='https://api.config-security.com/' crossorigin /> 1851<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
1852<script> 1853/* >> TriplePixel :: start*/ 1854window.TriplePixelData={TripleName:"lieu-dit-winery.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"",name:``,price:"",variant:"",av:{ }},search:"",collection:"",cart:"page",template:"login",curr:"USD" || "USD", market:"112295994"},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,i){return void 0===i&&(i=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(i)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=".concat(p.host,"&plat=").concat(p.plat),5)))}}("","TriplePixel",localStorage); 1855/* << TriplePixel :: end*/ 1856</script>
1856 1857 1858 1859 1860<!-- END app block --><!-- BEGIN app block: shopify://apps/winehub-commerce/blocks/customer-portal-redirect/c0ed40b1-a5e6-4ec9-bd28-157981fb797f --><!-- Winehub Customer Portal Redirect --> 1861<!-- Current Path: /account/login --> 1862<!-- END app block --><!-- BEGIN app block: shopify://apps/pagefly-ai-page-builder/blocks/app-embed/83e179f7-59a0-4589-8c66-c0dddf959200 --> 1863 1864<!-- BEGIN app snippet: pagefly-cro-ab-testing-main --> 1865 1866 1867 1868 1869 1870 1871
1872<script> 1873 ;(function () { 1874 const url = new URL(window.location) 1875 const viewParam = url.searchParams.get('view') 1876 if (viewParam && viewParam.includes('variant-pf-')) { 1877 url.searchParams.set('pf_v', viewParam) 1878 url.searchParams.delete('view') 1879 window.history.replaceState({}, '', url) 1880 } 1881 })() 1882</script>
1882 1883 1884 1885
1886<script type='module'> 1887 1888 window.PAGEFLY_CRO = window.PAGEFLY_CRO || {} 1889 1890 window.PAGEFLY_CRO['data_debug'] = { 1891 original_template_suffix: "", 1892 allow_ab_test: false, 1893 ab_test_start_time: 0, 1894 ab_test_end_time: 0, 1895 today_date_time: 1791120243000, 1896 } 1897 window.PAGEFLY_CRO['GA4'] = { enabled: false} 1898</script>
1898 1899 1900<!-- END app snippet --> 1901 1902 1903 1904 1905 1906 1907 1908 1909
1909<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-helper.js' defer='defer'></script>
1909 1910 1911
1911<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-general-helper.js' defer='defer'></script>
1911 1912 1913
1913<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-snap-slider.js' defer='defer'></script>
1913 1914 1915
1915<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-slideshow-v3.js' defer='defer'></script>
1915 1916 1917
1917<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-slideshow-v4.js' defer='defer'></script>
1917 1918 1919
1919<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-glider.js' defer='defer'></script>
1919 1920 1921
1921<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-slideshow-v1-v2.js' defer='defer'></script>
1921 1922 1923
1923<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-product-media.js' defer='defer'></script>
1923 1924 1925
1925<script src='https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-product.js' defer='defer'></script>
1925 1926 1927
1928<script id='pagefly-helper-data' type='application/json'> 1929 { 1930 "page_optimization": { 1931 "assets_prefetching": false 1932 }, 1933 "elements_asset_mapper": { 1934 "Accordion": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-accordion.js", 1935 "Accordion3": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-accordion3.js", 1936 "CountDown": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-countdown.js", 1937 "GMap1": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-gmap.js", 1938 "GMap2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-gmap.js", 1939 "GMapBasicV2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-gmap.js", 1940 "GMapAdvancedV2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-gmap.js", 1941 "HTML.Video": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-htmlvideo.js", 1942 "HTML.Video2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-htmlvideo2.js", 1943 "HTML.Video3": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-htmlvideo2.js", 1944 "BackgroundVideo": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-htmlvideo2.js", 1945 "Instagram": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-instagram.js", 1946 "Instagram2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-instagram.js", 1947 "Insta3": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-instagram3.js", 1948 "Tabs": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-tab.js", 1949 "Tabs3": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-tab3.js", 1950 "ProductBox": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-cart.js", 1951 "FBPageBox2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-facebook.js", 1952 "FBLikeButton2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-facebook.js", 1953 "TwitterFeed2": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-twitter.js", 1954 "Paragraph4": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-paragraph4.js", 1955 1956 "AliReviews": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1957 "BackInStock": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1958 "GloboBackInStock": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1959 "GrowaveWishlist": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1960 "InfiniteOptionsShopPad": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1961 "InkybayProductPersonalizer": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder
1961-363/assets/pagefly-3rd-elements.js", 1962 "LimeSpot": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1963 "Loox": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1964 "Opinew": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1965 "Powr": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1966 "ProductReviews": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1967 "PushOwl": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1968 "ReCharge": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1969 "Rivyo": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1970 "TrackingMore": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1971 "Vitals": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js", 1972 "Wiser": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-3rd-elements.js" 1973 }, 1974 "custom_elements_mapper": { 1975 "pf-click-action-element": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-click-action-element.js", 1976 "pf-dialog-element": "https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-dialog-element.js" 1977 } 1978 } 1979</script>
1979 1980
1981<script id='pagefly-heatmap-config' type='application/json'> 1982 {} 1983</script>
vendor: 1 bytes, line 1983
1983
1984<script> 1985 (function () { 1986 var el = document.getElementById('pagefly-heatmap-config') 1987 if (!el) { window.__pagefly_heatmap_config__ = {}; return } 1988 try { 1989 window.__pagefly_heatmap_config__ = JSON.parse(el.textContent || '{}') || {} 1990 } catch (e) { 1991 window.__pagefly_heatmap_config__ = {} 1992 } 1993 })() 1994</script>
vendor: 1 bytes, line 1994
1994
1995<script> 1996 // Heatmap overlay loader. Three gates, all of them cheap, none of them trusting the URL: 1997 // the visitor must have arrived on a pf_heatmap link, the SERVER must have published an 1998 // overlay path in the metafield, and this page must already be one the merchant enabled 1999 // tracking for. The last gate is what stops a crafted link pulling the asset onto an 2000 // arbitrary storefront page. Everything else is decided inside the asset, and by the server. 2001 (function () { 2002 var cfg = window.__pagefly_heatmap_config__ || {} 2003 var id = (window.__pagefly_page_setting__ || {}).pageId 2004 if (!/[#&]pf_heatmap=/.test(window.location.hash || '')) return 2005 if (!cfg.overlay_data_path || !Array.isArray(cfg.enabled_page_ids)) return 2006 if (!id || cfg.enabled_page_ids.indexOf(id) === -1) return 2007 var s = document.createElement('script') 2008 s.src = 'https://cdn.shopify.com/extensions/01a0f807-168f-7fcf-a3d0-e91e9a539d12/pagefly-ai-page-builder-363/assets/pagefly-heatmap-overlay.js' 2009 s.defer = true 2010 document.head.appendChild(s) 2011 })() 2012</script>
2012 2013 2014<!-- BEGIN app snippet: pf-ai-schema --> 2015<!-- END app snippet --> 2016 2017 2018<!-- END app block -->
2018<script src="https://cdn.shopify.com/extensions/01a0f119-97d5-70ad-8274-d2ee373cf011/ecomposer-145/assets/ecom.js" type="text/javascript" defer="defer"></script>
2018 2019<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2020<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: 7028047908,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "customers/login"};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 2020
2020
2021<script> 2022 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 2023</script>
vendor: 1 bytes, line 2023
2023
2024<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}
2024).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: 7028047908,storefrontBaseUrl: "https://www.lieuditwinery.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.lieuditwinery.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"760545338","configuration":"{\"mailchimp_store_id\":\"store_nlf4b412bw7u84he33bu\", \"mailchimp_user_id\":\"19790647\",\"mailchimp_list_id\":\"fbef9f75e0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e357a49eadeb6216a959d63fa3fb8f55","type":"APP","apiClientId":2585307,"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":"673447994","configuration":"{\"shopId\":\"lieu-dit-winery.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7093dff47f098f6de2afb75b62011ebe","type":"APP","apiClientId":2753413,"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"]}
2024,"dataSharingState":"unrestricted"},{"id":"452100154","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"201916474","configuration":"{\"pixel_id\":\"3723086031279716\",\"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":"25788474","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"10","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Segment Analytics"},{"id":"57409594","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"id":"96796730","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"4","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Chord Unified Pixel"},{"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":"Lieu Dit Winery","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"lieu-dit-winery.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.lieuditwinery.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.lieuditwinery.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"124444115002","themeStoreId":"2699","themePublished":"true","eventMetadataId":"a53db5b5-383c-4bfa-8706-6c1a86e0b655","shopId":"7028047908","storefrontBaseUrl":"https:\/\/www.lieuditwinery.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>
2024<script> 2025 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 2026 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 2027 window.ShopifyAnalytics.meta.currency = 'USD'; 2028 var meta = {"page":{"requestId":"eb780ae2-fed8-4caa-b4e4-d02abcc5751e-1791120243"}}; 2029 for (var attr in meta) { 2030 window.ShopifyAnalytics.meta[attr] = meta[attr]; 2031 } 2032</script>
vendor: 1 bytes, line 2032
2032
2033<script class="analytics"> 2034 (function () { 2035 var customDocumentWrite = function(content) { 2036 var jquery = null; 2037 2038 if (window.jQuery) { 2039 jquery = window.jQuery; 2040 } else if (window.Checkout && window.Checkout.$) { 2041 jquery = window.Checkout.$; 2042 } 2043 2044 if (jquery) { 2045 jquery('body').append(content); 2046 } 2047 }; 2048 2049 var hasLoggedConversion = function(token) { 2050 if (token) { 2051 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 2052 } 2053 return false; 2054 } 2055 2056 var setCookieIfConversion = function(token) { 2057 if (token) { 2058 var twoMonthsFromNow = new Date(Date.now()); 2059 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 2060 2061 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 2062 } 2063 } 2064 2065 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 2066 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 2067 if (trekkie.integrations) { 2068 return; 2069 } 2070 trekkie.methods = [ 2071 'identify', 2072 'page', 2073 'ready', 2074 'track', 2075 'trackForm', 2076 'trackLink' 2077 ]; 2078 trekkie.factory = function(method) { 2079 return function() { 2080 var args = Array.prototype.slice.call(arguments); 2081 args.unshift(method); 2082 trekkie.push(args); 2083 if (method == 'track' || method == 'page') { 2084 var pageUrl; 2085 try { 2086 pageUrl = window.location.href; 2087 } catch (e) {} 2088 var pageReferrer; 2089 try { 2090 pageReferrer = document.referrer; 2091 } catch (e) {} 2092 try { 2093 if (window.__TREKKIE_SHIM_QUEUE == null) { 2094 window.__TREKKIE_SHIM_QUEUE = []; 2095 } 2096 window.__TREKKIE_SHIM_QUEUE.push({ 2097 from: 'trekkie-stub', 2098 method: method, 2099 args: args.slice(1), 2100 pageContext: { 2101 url: pageUrl, 2102 referrer: pageReferrer 2103 } 2104 }); 2105 } catch (e) { 2106 // no-op 2107 } 2108 } 2109 return trekkie; 2110 }; 2111 }; 2112 for (var i = 0; i < trekkie.methods.length; i++) { 2113 var key = trekkie.methods[i]; 2114 trekkie[key] = trekkie.factory(key); 2115 } 2116 trekkie.load = function(config) { 2117 trekkie.config = config || {}; 2118 trekkie.config.initialDocumentCookie = document.cookie; 2119 var first = document.getElementsByTagName('script')[0]; 2120var script = document.createElement('script'); 2121script.type = 'text/javascript'; 2122script.onerror = function(e) { 2123 var scriptFallback = document.createElement('script'); 2124 scriptFallback.type = 'text/javascript'; 2125 scriptFallback.onerror = function(error) { 2126 var Monorail = { 2127 produce: function produce(monorailDomain, schemaId, payload) { 2128 var currentMs = new Date().getTime(); 2129 var event = { 2130 schema_id: schemaId, 2131 payload: payload, 2132 metadata: { 2133 event_created_at_ms: currentMs, 2134 event_sent_at_ms: currentMs 2135 } 2136 }; 2137 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 2138 }, 2139 sendRequest: function sendRequest(endpointUrl, payload) { 2140 // Try the sendBeacon API 2141 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 2142 var blobData = new window.Blob([payload], { 2143 type: 'text/plain' 2144 }); 2145 2146 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 2147 return true; 2148 } // sendBeacon was not successful 2149 2150 } // XHR beacon 2151 2152 var xhr = new XMLHttpRequest(); 2153 2154 try { 2155 xhr.open('POST', endpointUrl); 2156 xhr.setRequestHeader('Content-Type', 'text/plain'); 2157 xhr.send(payload); 2158 } catch (e) { 2159 console.log(e); 2160 } 2161 2162 return false; 2163 }, 2164 isIos12: function isIos12() { 2165 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 2166 } 2167 }; 2168 Monorail.produce('monorail-edge.shopifysvc.com', 2169 'trekkie_storefront_load_errors/1.1', 2170 {shop_id: 7028047908, 2171 theme_id: 124444115002, 2172 app_name: "storefront", 2173 context_url: window.location.href, 2174 source_url: "//www.lieuditwinery.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 2175 2176 }; 2177 scriptFallback.async = true; 2178 scriptFallback.src = '//www.lieuditwinery.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2179 first.parentNode.insertBefore(scriptFallback, first); 2180}; 2181script.async = true; 2182script.src = '//www.lieuditwinery.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2183first.parentNode.insertBefore(script, first); 2184 2185 }; 2186 trekkie.load( 2187 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":7028047908,"isMerchantRequest":null,"themeId":124444115002,"themeCityHash":"5065471869518555355","contentLanguage":"en","currency":"USD","eventMetadataId":"a53db5b5-383c-4bfa-8706-6c1a86e0b655"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 2188 ); 2189 2190 var loaded = false;
2191 trekkie.ready(function() { 2192 if (loaded) return; 2193 loaded = true; 2194 2195 window.ShopifyAnalytics.lib = window.trekkie; 2196 2197 var originalDocumentWrite = document.write; 2198 document.write = customDocumentWrite; 2199 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 2200 document.write = originalDocumentWrite; 2201 2202 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 2203 var token = match? match[1]: undefined; 2204 if (!hasLoggedConversion(token)) { 2205 setCookieIfConversion(token); 2206 2207 } 2208 }); 2209 2210 window.ShopifyAnalytics.lib.page(null,{"requestId":"eb780ae2-fed8-4caa-b4e4-d02abcc5751e-1791120243","shopifyEmitted":true}); 2211 2212 var eventsListenerScript = document.createElement('script'); 2213 eventsListenerScript.async = true; 2214 eventsListenerScript.src = "//www.lieuditwinery.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 2215 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 2216})();</script>
2216 2217
2217<script> 2218 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 2219 window.ga = function ga() { 2220 (window.ga.q = window.ga.q || []).push(arguments); 2221 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 2222 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 2223 } 2224 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."); 2225 }; 2226 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 2227 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 2228 } 2229 } 2230</script>
vendor: 1 bytes, line 2230
2230
2231<script 2232 defer 2233 src="https://www.lieuditwinery.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 2234 data-application="storefront-renderer" 2235 data-shop-id="7028047908" 2236 data-render-region="gcp-us-east1" 2237 data-page-type="customers/login" 2238 data-theme-instance-id="124444115002" 2239 data-theme-name="Trade" 2240 data-theme-version="14.0.0" 2241 data-monorail-region="shop_domain" 2242 data-resource-timing-sampling-rate="10" 2243 data-shs="true" 2244 data-shs-beacon="true" 2245 data-shs-export-with-fetch="true" 2246 data-shs-logs-sample-rate="1" 2247 data-shs-beacon-endpoint="https://www.lieuditwinery.com/api/collect" 2248></script>
2248 2249<meta name="shopify-y" content="db25d9a0-7508-4a4f-a9d8-f911b9c2f398" data-expiration="1822677843000"><meta name="shopify-s" content="7543b7af-2f5b-4e70-bb32-2040e81ac778" data-expiration="1791122043000"><meta name="new-cookie-storage-activated" content="t"> 2250</head> 2251
2252<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/loop_bundle.js?v=134193039818244484621774992385"></script>
2252 2253 <body class="gradient animate--hover-default"> 2254 <a class="skip-to-content-link button visually-hidden" href="#MainContent"> 2255 Skip to content 2256 </a><!-- BEGIN sections: header-group --> 2257<div id="shopify-section-sections--15044386553914__header" class="shopify-section shopify-section-group-header-group section-header"><link rel="stylesheet" href="//www.lieuditwinery.com/cdn/shop/t/9/assets/component-list-menu.css?v=151968516119678728991718808903" media="print" onload="this.media='all'"> 2258<link rel="stylesheet" href="//www.lieuditwinery.com/cdn/shop/t/9/assets/component-search.css?v=165164710990765432851718808903" media="print" onload="this.media='all'"> 2259<link rel="stylesheet" href="//www.lieuditwinery.com/cdn/shop/t/9/assets/component-menu-drawer.css?v=110695408305392539491718808903" media="print" onload="this.media='all'"> 2260<link rel="stylesheet" href="//www.lieuditwinery.com/cdn/shop/t/9/assets/component-cart-notification.css?v=54116361853792938221718808903" media="print" onload="this.media='all'"> 2261<link rel="stylesheet" href="//www.lieuditwinery.com/cdn/shop/t/9/assets/component-cart-items.css?v=127384614032664249911718808903" media="print" onload="this.media='all'"><link rel="stylesheet" href="//www.lieuditwinery.com/cdn/shop/t/9/assets/component-price.css?v=70172745017360139101718808903" media="print" onload="this.media='all'"><style> 2262 header-drawer { 2263 justify-self: start; 2264 margin-left: -1.2rem; 2265 }.menu-drawer-container { 2266 display: flex; 2267 } 2268 2269 .list-menu { 2270 list-style: none; 2271 padding: 0; 2272 margin: 0; 2273 } 2274 2275 .list-menu--inline { 2276 display: inline-flex; 2277 flex-wrap: wrap; 2278 } 2279 2280 summary.list-menu__item { 2281 padding-right: 2.7rem; 2282 } 2283 2284 .list-menu__item { 2285 display: flex; 2286 align-items: center; 2287 line-height: calc(1 + 0.3 / var(--font-body-scale)); 2288 } 2289 2290 .list-menu__item--link { 2291 text-decoration: none; 2292 padding-bottom: 1rem; 2293 padding-top: 1rem; 2294 line-height: calc(1 + 0.8 / var(--font-body-scale)); 2295 } 2296 2297 @media screen and (min-width: 750px) { 2298 .list-menu__item--link { 2299 padding-bottom: 0.5rem; 2300 padding-top: 0.5rem; 2301 } 2302 } 2303</style><style data-shopify>.header { 2304 padding: 4px 3rem 4px 3rem; 2305 } 2306 2307 .section-header { 2308 position: sticky; /* This is for fixing a Safari z-index issue. PR #2147 */ 2309 margin-bottom: 0px; 2310 } 2311 2312 @media screen and (min-width: 750px) { 2313 .section-header { 2314 margin-bottom: 0px; 2315 } 2316 } 2317 2318 @media screen and (min-width: 990px) { 2319 .header { 2320 padding-top: 8px; 2321 padding-bottom: 8px; 2322 } 2323 }</style>
2323<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/details-disclosure.js?v=13653116266235556501718808903" defer="defer"></script>
vendor: 1 bytes, line 2323
2323
2324<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/details-modal.js?v=25581673532751508451718808903" defer="defer"></script>
vendor: 1 bytes, line 2324
2324
2325<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/cart-notification.js?v=133508293167896966491718808903" defer="defer"></script>
vendor: 1 bytes, line 2325
2325
2326<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/search-form.js?v=133129549252120666541718808903" defer="defer"></script>
2326<svg xmlns="http://www.w3.org/2000/svg" class="hidden"> 2327 <symbol id="icon-search" viewbox="0 0 18 19" fill="none"> 2328 <path fill-rule="evenodd" clip-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 112.85 3.5a5.784 5.784 0 018.18 8.18zm.26 1.12a6.78 6.78 0 11.72-.7l5.4 5.4a.5.5 0 11-.71.7l-5.41-5.4z" fill="currentColor"/> 2329 </symbol> 2330 2331 <symbol id="icon-reset" class="icon icon-close" fill="none" viewBox="0 0 18 18" stroke="currentColor"> 2332 <circle r="8.5" cy="9" cx="9" stroke-opacity="0.2"/> 2333 <path d="M6.82972 6.82915L1.17193 1.17097" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/> 2334 <path d="M1.22896 6.88502L6.77288 1.11523" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/> 2335 </symbol> 2336 2337 <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17"> 2338 <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor"> 2339 </symbol> 2340</svg><sticky-header data-sticky-type="on-scroll-up" class="header-wrapper color-scheme-006fe274-a695-4233-ad56-13e5ddd44d67 gradient header-wrapper--border-bottom"><header class="header header--middle-center header--mobile-center page-width drawer-menu header--has-menu header--has-account"> 2341 2342<header-drawer data-breakpoint="desktop"> 2343 <details id="Details-menu-drawer-container" class="menu-drawer-container"> 2344 <summary 2345 class="header__icon header__icon--menu header__icon--summary link focus-inset" 2346 aria-label="Menu" 2347 > 2348 <span> 2349 <svg 2350 xmlns="http://www.w3.org/2000/svg" 2351 aria-hidden="true" 2352 focusable="false" 2353 class="icon icon-hamburger" 2354 fill="none" 2355 viewBox="0 0 18 16" 2356> 2357 <path d="M1 .5a.5.5 0 100 1h15.71a.5.5 0 000-1H1zM.5 8a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1A.5.5 0 01.5 8zm0 7a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1a.5.5 0 01-.5-.5z" fill="currentColor"> 2358</svg> 2359 2360 <svg 2361 xmlns="http://www.w3.org/2000/svg" 2362 aria-hidden="true" 2363 focusable="false" 2364 class="icon icon-close" 2365 fill="none" 2366 viewBox="0 0 18 17" 2367> 2368 <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor"> 2369</svg> 2370 2371 </span> 2372 </summary> 2373 <div id="menu-drawer" class="gradient menu-drawer motion-reduce color-scheme-006fe274-a695-4233-ad56-13e5ddd44d67"> 2374 <div class="menu-drawer__inner-container"> 2375 <div class="menu-drawer__navigation-container"> 2376 <nav class="menu-drawer__navigation"> 2377 <ul class="menu-drawer__menu has-submenu list-menu" role="list"><li><details id="Details-menu-drawer-menu-item-1"> 2378 <summary 2379 id="HeaderDrawer-shop" 2380 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 2381 > 2382 Shop 2383 <svg 2384 viewBox="0 0 14 10" 2385 fill="none" 2386 aria-hidden="true" 2387 focusable="false" 2388 class="icon icon-arrow" 2389 xmlns="http://www.w3.org/2000/svg" 2390> 2391 <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> 2392</svg> 2393 2394 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2395 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2396</svg> 2397 2398 </summary> 2399 <div 2400 id="link-shop" 2401 class="menu-drawer__submenu has-submenu gradient motion-reduce" 2402 tabindex="-1" 2403 > 2404 <div class="menu-drawer__inner-submenu"> 2405 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 2406 <svg 2407 viewBox="0 0 14 10" 2408 fill="none" 2409 aria-hidden="true" 2410 focusable="false" 2411 class="icon icon-arrow" 2412 xmlns="http://www.w3.org/2000/svg" 2413> 2414 <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> 2415</svg> 2416 2417 Shop 2418 </button> 2419 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 2420 id="HeaderDrawer-shop-shop-all" 2421 href="/collections/best-sellers-copy" 2422 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2423 2424 > 2425 Shop All 2426 </a></li><li><a 2427 id="HeaderDrawer-shop-whites-rose" 2428 href="/collections/whites" 2429 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2430 2431 > 2432 Whites & Rosé 2433 </a></li><li><a 2434 id="HeaderDrawer-shop-reds" 2435 href="/collections/reds" 2436 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2437 2438 > 2439 Reds 2440 </a></li><li><a 2441 id="HeaderDrawer-shop-large-format" 2442 href="/collections/large-format" 2443 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2444 2445 > 2446 Large Format 2447 </a></li><li><a 2448 id="HeaderDrawer-shop-gift-ideas" 2449 href="/collections/gift-ideas" 2450 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2451 2452 > 2453 Gift Ideas 2454 </a></li></ul> 2455 </div> 2456 </div> 2457 </details></li><li>
2457<details id="Details-menu-drawer-menu-item-2"> 2458 <summary 2459 id="HeaderDrawer-about" 2460 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 2461 > 2462 About 2463 <svg 2464 viewBox="0 0 14 10" 2465 fill="none" 2466 aria-hidden="true" 2467 focusable="false" 2468 class="icon icon-arrow" 2469 xmlns="http://www.w3.org/2000/svg" 2470> 2471 <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> 2472</svg> 2473 2474 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2475 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 2476</svg> 2477 2478 </summary> 2479 <div 2480 id="link-about" 2481 class="menu-drawer__submenu has-submenu gradient motion-reduce" 2482 tabindex="-1" 2483 > 2484 <div class="menu-drawer__inner-submenu"> 2485 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 2486 <svg 2487 viewBox="0 0 14 10" 2488 fill="none" 2489 aria-hidden="true" 2490 focusable="false" 2491 class="icon icon-arrow" 2492 xmlns="http://www.w3.org/2000/svg" 2493> 2494 <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> 2495</svg> 2496 2497 About 2498 </button> 2499 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 2500 id="HeaderDrawer-about-about-us" 2501 href="/pages/our-story" 2502 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2503 2504 > 2505 About Us 2506 </a></li><li><a 2507 id="HeaderDrawer-about-visit-us" 2508 href="/pages/visit-us" 2509 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 2510 2511 > 2512 Visit Us 2513 </a></li></ul> 2514 </div> 2515 </div> 2516 </details></li><li><a 2517 id="HeaderDrawer-club-lieu-dit" 2518 href="/pages/club-lieu-dit" 2519 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 2520 2521 > 2522 Club Lieu Dit 2523 </a></li><li><a 2524 id="HeaderDrawer-contact" 2525 href="/pages/contact-us" 2526 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 2527 2528 > 2529 Contact 2530 </a></li></ul> 2531 </nav> 2532 <div class="menu-drawer__utility-links"><a 2533 href="/account/login" 2534 class="menu-drawer__account link focus-inset h5 medium-hide large-up-hide" 2535 > 2536 <account-icon><svg 2537 xmlns="http://www.w3.org/2000/svg" 2538 aria-hidden="true" 2539 focusable="false" 2540 class="icon icon-account" 2541 fill="none" 2542 viewBox="0 0 18 19" 2543> 2544 <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.
25441-3.67-1.35-6.17-1.35z" fill="currentColor"> 2545</svg> 2546 2547</account-icon>Log in</a><div class="menu-drawer__localization header-localization"> 2548</div><ul class="list list-social list-unstyled" role="list"></ul> 2549 </div> 2550 </div> 2551 </div> 2552 </div> 2553 </details> 2554</header-drawer> 2555 2556<a href="/" class="header__heading-link link link--text focus-inset"><div class="header__heading-logo-wrapper"> 2557 2558 <img src="//www.lieuditwinery.com/cdn/shop/files/Logo_2_ca9acc8d-792c-4586-bb04-7ae171f9e86a.png?v=1718201355&width=600" alt="Lieu Dit Winery" srcset="//www.lieuditwinery.com/cdn/shop/files/Logo_2_ca9acc8d-792c-4586-bb04-7ae171f9e86a.png?v=1718201355&width=170 170w, //www.lieuditwinery.com/cdn/shop/files/Logo_2_ca9acc8d-792c-4586-bb04-7ae171f9e86a.png?v=1718201355&width=255 255w, //www.lieuditwinery.com/cdn/shop/files/Logo_2_ca9acc8d-792c-4586-bb04-7ae171f9e86a.png?v=1718201355&width=340 340w" width="170" height="44.73125" loading="eager" class="header__heading-logo" sizes="(min-width: 750px) 170px, 50vw"> 2559 </div></a><div class="header__icons header__icons--localization header-localization"> 2560 <div class="desktop-localization-wrapper"> 2561</div> 2562 2563 2564<details-modal class="header__search"> 2565 <details> 2566 <summary 2567 class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" 2568 aria-haspopup="dialog" 2569 aria-label="Search" 2570 > 2571 <span> 2572 <svg class="modal__toggle-open icon icon-search" aria-hidden="true" focusable="false"> 2573 <use href="#icon-search"> 2574 </svg> 2575 <svg class="modal__toggle-close icon icon-close" aria-hidden="true" focusable="false"> 2576 <use href="#icon-close"> 2577 </svg> 2578 </span> 2579 </summary> 2580 <div 2581 class="search-modal modal__content gradient" 2582 role="dialog" 2583 aria-modal="true" 2584 aria-label="Search" 2585 > 2586 <div class="modal-overlay"></div> 2587 <div 2588 class="search-modal__content search-modal__content-bottom" 2589 tabindex="-1" 2590 ><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form"> 2591 <div class="field"> 2592 <input 2593 class="search__input field__input" 2594 id="Search-In-Modal" 2595 type="search" 2596 name="q" 2597 value="" 2598 placeholder="Search"role="combobox" 2599 aria-expanded="false" 2600 aria-owns="predictive-search-results" 2601 aria-controls="predictive-search-results" 2602 aria-haspopup="listbox" 2603 aria-autocomplete="list" 2604 autocorrect="off" 2605 autocomplete="off" 2606 autocapitalize="off" 2607 spellcheck="false"> 2608 <label class="field__label" for="Search-In-Modal">Search</label> 2609 <input type="hidden" name="options[prefix]" value="last"> 2610 <button 2611 type="reset" 2612 class="reset__button field__button hidden" 2613 aria-label="Clear search term" 2614 > 2615 <svg class="icon icon-close" aria-hidden="true" focusable="false"> 2616 <use xlink:href="#icon-reset"> 2617 </svg> 2618 </button> 2619 <button class="search__button field__button" aria-label="Search"> 2620 <svg class="icon icon-search" aria-hidden="true" focusable="false"> 2621 <use href="#icon-search"> 2622 </svg> 2623 </button> 2624 </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search> 2625 2626<link href="//www.lieuditwinery.com/cdn/shop/t/9/assets/component-loading-spinner.css?v=116724955567955766481718808903" rel="stylesheet" type="text/css" media="all" /> 2627 2628<div class="predictive-search__loading-state"> 2629 <svg 2630 aria-hidden="true" 2631 focusable="false" 2632 class="spinner" 2633 viewBox="0 0 66 66" 2634 xmlns="http://www.w3.org/2000/svg" 2635 > 2636 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 2637 </svg> 2638</div> 2639</div> 2640
2641 <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search><button 2642 type="button" 2643 class="search-modal__close-button modal__close-button link link--text focus-inset" 2644 aria-label="Close" 2645 > 2646 <svg class="icon icon-close" aria-hidden="true" focusable="false"> 2647 <use href="#icon-close"> 2648 </svg> 2649 </button> 2650 </div> 2651 </div> 2652 </details> 2653</details-modal> 2654 2655<a href="/account/login" class="header__icon header__icon--account link focus-inset small-hide"> 2656 <account-icon><svg 2657 xmlns="http://www.w3.org/2000/svg" 2658 aria-hidden="true" 2659 focusable="false" 2660 class="icon icon-account" 2661 fill="none" 2662 viewBox="0 0 18 19" 2663> 2664 <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.1-3.67-1.35-6.17-1.35z" fill="currentColor"> 2665</svg> 2666 2667</account-icon> 2668 <span class="visually-hidden">Log in</span> 2669 </a><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"><svg 2670 class="icon icon-cart-empty" 2671 aria-hidden="true" 2672 focusable="false" 2673 xmlns="http://www.w3.org/2000/svg" 2674 viewBox="0 0 40 40" 2675 fill="none" 2676> 2677 <path d="m15.75 11.8h-3.16l-.77 11.6a5 5 0 0 0 4.99 5.34h7.38a5 5 0 0 0 4.99-5.33l-.78-11.61zm0 1h-2.22l-.71 10.67a4 4 0 0 0 3.99 4.27h7.38a4 4 0 0 0 4-4.27l-.72-10.67h-2.22v.63a4.75 4.75 0 1 1 -9.5 0zm8.5 0h-7.5v.63a3.75 3.75 0 1 0 7.5 0z" fill="currentColor" fill-rule="evenodd"/> 2678</svg> 2679<span class="visually-hidden">Cart</span></a> 2680 </div> 2681 </header> 2682</sticky-header> 2683
2684<script type="application/ld+json"> 2685 { 2686 "@context": "http://schema.org", 2687 "@type": "Organization", 2688 "name": "Lieu Dit Winery", 2689 2690 "logo": "https:\/\/www.lieuditwinery.com\/cdn\/shop\/files\/Logo_2_ca9acc8d-792c-4586-bb04-7ae171f9e86a.png?v=1718201355\u0026width=500", 2691 2692 "sameAs": [ 2693 "", 2694 "", 2695 "", 2696 "", 2697 "", 2698 "", 2699 "", 2700 "", 2701 "" 2702 ], 2703 "url": "https:\/\/www.lieuditwinery.com" 2704 } 2705</script>
2705 2706</div> 2707<!-- END sections: header-group --> 2708 2709 <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> 2710 <div id="shopify-section-template--15044391534650__main" class="shopify-section"><link href="//www.lieuditwinery.com/cdn/shop/t/9/assets/customer.css?v=34961046807264576181718808903" rel="stylesheet" type="text/css" media="all" /> 2711<style data-shopify>.section-template--15044391534650__main-padding { 2712 padding-top: 27px; 2713 padding-bottom: 27px; 2714 } 2715 2716 @media screen and (min-width: 750px) { 2717 .section-template--15044391534650__main-padding { 2718 padding-top: 36px; 2719 padding-bottom: 36px; 2720 } 2721 }</style><div class="customer login section-template--15044391534650__main-padding"> 2722 <h1 id="recover" tabindex="-1"> 2723 Reset your password 2724 </h1> 2725 <div> 2726 <p> 2727 We will send you an email to reset your password 2728 </p><form method="post" action="/account/recover" accept-charset="UTF-8"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="â" /> 2729 <div class="field"> 2730 <input 2731 type="email" 2732 value="" 2733 name="email" 2734 id="RecoverEmail" 2735 autocorrect="off" 2736 autocapitalize="off" 2737 autocomplete="email" 2738 2739 placeholder="Email" 2740 > 2741 <label for="RecoverEmail"> 2742 Email 2743 </label> 2744 </div><button> 2745 Submit 2746 </button> 2747 2748 <a href="#login"> 2749 Cancel 2750 </a></form></div> 2751 2752 <h1 id="login" tabindex="-1"> 2753 Login 2754 </h1> 2755 <div><form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true" novalidate="novalidate"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="â" /><section name="sign-in-with-shop-provider"> 2756
2756<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.en.esm.js"></script>
vendor: 1 bytes, line 2756
2756
2757<script type="module"> 2758 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.en.esm.js"); 2759 2760 2761</script>
2761 2762 2763<shop-login-button ux-mode="windoid" return-uri="https://www.lieuditwinery.com/account/redirect" proxy="true" redirect-type="iframe" response-type="code"></shop-login-button> 2764 2765<p> 2766 or 2767 </p></section><div class="field"> 2768 <input 2769 type="email" 2770 name="customer[email]" 2771 id="CustomerEmail" 2772 autocomplete="email" 2773 autocorrect="off" 2774 autocapitalize="off" 2775 2776 placeholder="Email" 2777 > 2778 <label for="CustomerEmail"> 2779 Email 2780 </label> 2781 </div><div class="field"> 2782 <input 2783 type="password" 2784 value="" 2785 name="customer[password]" 2786 id="CustomerPassword" 2787 autocomplete="current-password" 2788 2789 placeholder="Password" 2790 > 2791 <label for="CustomerPassword"> 2792 Password 2793 </label> 2794 </div> 2795 2796 <a href="#recover"> 2797 Forgot your password? 2798 </a><button> 2799 Sign in 2800 </button> 2801 2802 <a href="/account/register"> 2803 Create account 2804 </a></form></div></div> 2805 2806 2807</div> 2808 </main> 2809 2810 <!--ECOM-FOOTER--><div id="shopify-section-ecom-mystorefooter-footer" class="shopify-section"> 2811 2812 2813 2814 <link rel="stylesheet" media="print" onload="this.media='all'" id="ecom-vendors-modal_css" href="https://cdn.ecomposer.app/vendors/css/ecom_modal.css" /><link rel="stylesheet" media="all" id="ecom-vendors-css_ecomposer_base" href="https://cdn.ecomposer.app/vendors/css/ecom-base.css?v=1.6" /><noscript><link rel="stylesheet" media="all" onload="this.media='all'" id="ecom-vendors-modal_css" href="https://cdn.ecomposer.app/vendors/css/ecom_modal.css" /><link rel="stylesheet" media="all" id="ecom-vendors-css_ecomposer_base" href="https://cdn.ecomposer.app/vendors/css/ecom-base.css?v=1.6" /></noscript>
2814<script type="text/javascript" asyc="async" id="ecom-vendors-modal_js" src="https://cdn.ecomposer.app/vendors/js/ecom_modal.js" ></script>
2814 2815<link href="https://fonts.googleapis.com/css?family=Inter:100,200,300,400,500,600,700,800,900&display=swap" rel="stylesheet"/> 2816<link href="//www.lieuditwinery.com/cdn/shop/t/9/assets/ecom-669a60c145ffef8b99037289.css?v=61651008708079888541722800647" rel="stylesheet" type="text/css" media="all" />
2817<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/ecom-669a60c145ffef8b99037289.js?v=22481965890986681941722728438" defer="defer"></script>
vendor: 1 bytes, line 2817
2817
2818<script type="text/javascript" class="ecom-page-info"> 2819 window.EComposer = window.EComposer || {}; 2820 window.EComposer.TEMPLATE_ID="669a60c145ffef8b99037289"; 2821 window.EComposer.FOOTER = {"template_id":"669a60c145ffef8b99037289","title":"My_Store_Footer","type":"footer","slug":"ecom-mystorefooter","plan_id":4}; 2822 </script>
2822 2823<div class="ecom-builder" id="ecom-mystorefooter"><div class="ecom-sections" data-section-id="ecom-mystorefooter-footer"><section class="ecom-row ecom-core ecom-section ecom-22e6j3l3m03" data-id="ecom-22e6j3l3m03" style="z-index: inherit;"><div data-deep="1" class="core__row--columns core__row--full"><div class="ecom-column ecom-core core__column--first ecom-79707ekq78m"><div class="core__column--wrapper"><div class="ecom-column__overlay"><div class="ecom-overlay"></div></div><div class="core__blocks" index="0"><div class="core__blocks--body"><div class="ecom-block ecom-core core__block elmspace ecom-57elijjokwd" data-core-is="block"><div class="ecom-element ecom-base-image" deep="1"><figure><div class="ecom-container-image ecom-image-align" data-stopdrag=""><div data-stopdrag="" class="ecom-image-content-position ecom-image-default ecom-base-image-container-overlay" style=""><a href="https://checkout.lieuditwinery.com/" class="ecom-image-picture-link ecom-image-picture ecom-base-image-container-overlay ecom-flex"><picture><img loading="lazy" fetchpriority="low" src="https://cdn.shopify.com/s/files/1/0070/2804/7908/files/LD_Logo.png?v=1717613680" alt="LD_Logo" width="250" height="260" style=""></picture></a></div></div></figure></div></div> </div></div></div></div> <div class="ecom-column ecom-core ecom-530h72m7ve7"><div class="core__column--wrapper"><div class="ecom-column__overlay"><div class="ecom-overlay"></div></div><div class="core__blocks" index="1"><div class="core__blocks--body"><div class="ecom-block ecom-core core__block elmspace ecom-nean86xfzea" data-core-is="block"><div class="ecom__element element__heading ecom-element ecom-html" data-stopdrag="true" deep="1"><h3 class="ecom__heading ecom-db"><div></div>Join the Community<div><div><div><div><div><div><div></div></div></div></div></div></div></div></h3></div></div> <div class="ecom-block ecom-core core__block ecom-zdq1by80ktq" data-core-is="block"><div class="ecom__element ecom-element element__text" data-stopdrag="" deep="1"><div class="text-content ecom-html has-drop-cap-view-framed"><p>Sign up for our newsletter to get updates on new wines and opportunities.</p></div></div></div> <div class="ecom-block ecom-core core__block ecom-n6f17wkspn" data-core-is="block"><div class="ecom-element ecom-shopify-elements ecom-shopify__newsletter-form" deep="1"><div class="ecom-shopify__newsletter-form-wrapper ecom-w__full"><div class="ecom-shopify__newsletter-form-container"><div> 2824 <form method="post" action="/contact" id="newsletter-form-ecom-n6f17wkspn" accept-charset="UTF-8" class="ecom-shopify__newsletter-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 2825 <input type="hidden" name="contact[tags]" value="newsletter" /> 2826 <div class="ecom-newsletter-form-content-wrap"> 2827 <div class="ecom-newsletter-form-content"> 2828 <input 2829 id="ECom-NewsletterForm-ecom-n6f17wkspn" 2830 type="email" 2831 name="contact[email]" 2832 class="ecom-shopify__newsletter-form-field--input" 2833 value="" 2834 aria-required="true" 2835 autocorrect="off" 2836 autocapitalize="off" 2837 autocomplete="email" 2838 2839 placeholder="Enter your email" 2840 required 2841 > 2842 <button type="submit" class="ecome-shopify__newsletter__button" name="commit"> 2843 <span> Submit </span> 2844 <span class="ecom-shopify__newsletter__button-icon"> </span> 2845 </button> 2846 </div> 2847 2848 </div><div class="ecom-shopify__newsletter-form-message ecom-dn"> 2849 <p class="ecom-shopify__newsletter-form-detail-error"> 2850 Email have already subscribed! 2851 </p> 2852 </div> 2853 </form> 2854 </div></div></div></div></div> </div></div></div></div> <div class="ecom-column ecom-core core__column--last ecom-swh89mt6fx8"><div class="core__column--wrapper"><div class="ecom-column__overlay"><div class="ecom-overlay"></div></div><div class="core__blocks" index="2"><div class="core__blocks--body"><div class="ecom-block ecom-core core__block elmspace ecom-cxkga84o4ch" data-core-is="block"><div class="ecom-element ecom-shopify ecom-shopify__menu" deep="1"><div class="ecom-element ecom-shopify ecom-shopify__menu-wrapper" data-show-all="false"><div class="ecom-element ecom-shopify ecom-shopify__menu-container"> 2855<div class="ecom-shopify__menu-list--wrapper ecom-flex"> 2856 <ul class="ecom-shopify__menu-list" data-menu-layout="vertical"> 2857 2858 2859 2860 <li class="ecom-shopify__menu-item ecom-shopify__menu-item-type--frontpage_link ecom-shopify__menu-item--has-children "> 2861 <div class="ecom-menu_item ecom-items"> 2862 <a class="ecom-menu_title ecom-element--menu_title " href="/" title="Shop" target="_self"> 2863 Shop 2864<div class="ecom-element--menu_icon"> 2865 <div class="ecom-items--icon ecom-element--menu_icon--normal"> 2866 2867 </div> 2868 <div class="ecom-items--icon ecom-element--menu_icon--active"> 2869 2870 </div> 2871 </div></a> 2872 </div> 2873 2874<ul class="ecom-shopify__menu-sub-menu" data-menu-size="5" data-menu-level=""> 2875 2876 2877 <li class="ecom-shopify__menu-child-link-item ecom-shopify__menu-child-link-item-type--collection_link ecom-shopify__menu-item--link " > 2878 <div class="ecom-menu_item ecom-items"> 2879 <a class="ecom-menu_title ecom-element--menu_title" href="/collections/best-sellers-copy" title="Shop All" target="_self"> 2880 Shop All 2881</a> 2882 2883 </div> 2884 </li> 2885 2886 2887 <li class="ecom-shopify__menu-child-link-item ecom-shopify__menu-child-link-item-type--collection_link ecom-shopify__menu-item--link " > 2888 <div class="ecom-menu_item ecom-items"> 2889 <a class="ecom-menu_title ecom-element--menu_title" href="/collections/whites" title="Whites & Rosé" target="_self"> 2890 Whites & Rosé 2891</a> 2892 2893 </div> 2894 </li> 2895 2896 2897 <li class="ecom-shopify__menu-child-link-item ecom-shopify__menu-child-link-item-type--collection_link ecom-shopify__menu-item--link " > 2898 <div class="ecom-menu_item ecom-items"> 2899 <a class="ecom-menu_title ecom-element--menu_title" href="/collections/reds" title="Reds" target="_self"> 2900 Reds 2901</a> 2902 2903 </div> 2904 </li> 2905 2906 2907 <li class="ecom-shopify__menu-child-link-item ecom-shopify__menu-child-link-item-type--collection_link ecom-shopify__menu-item--link " > 2908 <div class="ecom-menu_item ecom-items"> 2909 <a class="ecom-menu_title ecom-element--menu_title" href="/collections/large-format" title="Large Format" target="_self"> 2910 Large Format 2911</a> 2912 2913 </div> 2914 </li> 2915 2916 2917 <li class="ecom-shopify__menu-child-link-item ecom-shopify__menu-child-link-item-type--collection_link ecom-shopify__menu-item--link " > 2918 <div class="ecom-menu_item ecom-items"> 2919 <a class="ecom-menu_title ecom-element--menu_title" href="/collections/gift-ideas" title="Gift Ideas" target="_self"> 2920 Gift Ideas 2921</a> 2922 2923 </div> 2924 </li> 2925 2926 </ul> 2927 2928 </li> 2929 2930 2931 <li class="ecom-shopify__menu-item ecom-shopify__menu-item-type--page_link ecom-shopify__menu-item--has-children "> 2932 <div class="ecom-menu_item ecom-items"> 2933 <a class="ecom-menu_title ecom-element--menu_title " href="/pages/our-story" title="About" target="_self"> 2934 About 2935<div class="ecom-element--menu_icon"> 2936 <div class="ecom-items--icon ecom-element--menu_icon--normal"> 2937 2938 </div> 2939 <div class="ecom-items--icon ecom-element--menu_icon--active"> 2940 2941 </div> 2942 </div></a> 2943 </div> 2944 2945<ul class="ecom-shopify__menu-sub-menu" data-menu-size="2" data-menu-level=""> 2946 2947 2948 <li class="ecom-shopify__menu-child-link-item ecom-shopify__menu-child-link-item-type--page_link ecom-shopify__menu-item--link " > 2949 <div class="ecom-menu_item ecom-items"> 2950 <a class="ecom-menu_title ecom-element--menu_title" href="/pages/our-story" title="About Us" target="_self"> 2951 About Us 2952</a> 2953 2954 </div> 2955 </li> 2956 2957 2958 <li class="ecom-shopify__menu-child-link-item ecom-shopify__menu-child-link-item-type--page_link ecom-shopify__menu-item--link " > 2959 <div class="ecom-menu_item ecom-items"> 2960 <a class="ecom-menu_title ecom-element--menu_title" href="/pages/visit-us" title="Visit Us" target="_self"> 2961 Visit Us 2962</a> 2963 2964 </div> 2965 </li> 2966 2967 </ul> 2968 2969 </li> 2970 2971 2972 <li class="ecom-shopify__menu-item ecom-shopify__menu-item-type--page_link ecom-shopify__menu-item--link "> 2973 <div class="ecom-menu_item ecom-items"> 2974 <a class="ecom-menu_title ecom-element--menu_title " href="/pages/club-lieu-dit" title="Club Lieu Dit" target="_self"> 2975 Club Lieu Dit 2976</a> 2977 </div> 2978 2979 </li> 2980 2981 2982 <li class="ecom-shopify__menu-item ecom-shopify__menu-item-type--page_link ecom-shopify__menu-item--link "> 2983 <div class="ecom-menu_item ecom-items"> 2984 <a class="ecom-menu_title ecom-element--menu_title " href="/pages/contact-us" title="Contact" target="_self"> 2985 Contact 2986</a> 2987 </div> 2988 2989 </li> 2990 2991 2992 </ul> 2993 </div> 2994 </div></div></div></div>
2994 <div class="ecom-block ecom-core core__block elmspace ecom-t8ua7gcnf2" data-core-is="block"><div class="ecom-element ecom-icon ecom-flex" deep="1"><a class="ecom-icon--container ecom-in_flex" href="https://www.instagram.com/lieuditwinery/"><svg width="25" height="25" viewBox="0 0 25 25" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M7.25 0.1H17.75C21.6948 0.1 24.9 3.30523 24.9 7.25V17.75C24.9 19.6463 24.1467 21.4649 22.8058 22.8058C21.4649 24.1467 19.6463 24.9 17.75 24.9H7.25C3.30523 24.9 0.1 21.6948 0.1 17.75V7.25C0.1 5.3537 0.853302 3.53507 2.19419 2.19419C3.53507 0.853302 5.3537 0.1 7.25 0.1ZM7 2.4C5.78 2.4 4.60998 2.88464 3.74731 3.74731C2.88464 4.60998 2.4 5.78 2.4 7V18C2.4 20.5427 4.45727 22.6 7 22.6H18C19.22 22.6 20.39 22.1154 21.2527 21.2527C22.1154 20.39 22.6 19.22 22.6 18V7C22.6 4.45727 20.5427 2.4 18 2.4H7ZM19.0625 4.475C19.4504 4.475 19.8224 4.62908 20.0966 4.90336C20.3709 5.17763 20.525 5.54962 20.525 5.9375C20.525 6.32538 20.3709 6.69737 20.0966 6.97164C19.8224 7.24592 19.4504 7.4 19.0625 7.4C18.6746 7.4 18.3026 7.24592 18.0284 6.97164C17.7541 6.69737 17.6 6.32538 17.6 5.9375C17.6 5.54962 17.7541 5.17763 18.0284 4.90336C18.3026 4.62908 18.6746 4.475 19.0625 4.475ZM12.5 6.35C14.1311 6.35 15.6954 6.99794 16.8487 8.15129C18.0021 9.30464 18.65 10.8689 18.65 12.5C18.65 14.1311 18.0021 15.6954 16.8487 16.8487C15.6954 18.0021 14.1311 18.65 12.5 18.65C10.8689 18.65 9.30464 18.0021 8.15129 16.8487C6.99794 15.6954 6.35 14.1311 6.35 12.5C6.35 10.8689 6.99794 9.30464 8.15129 8.15129C9.30464 6.99794 10.8689 6.35 12.5 6.35ZM12.5 8.65C11.4789 8.65 10.4997 9.05562 9.77764 9.77764C9.05562 10.4997 8.65 11.4789 8.65 12.5C8.65 13.5211 9.05562 14.5003 9.77764 15.2224C10.4997 15.9444 11.4789 16.35 12.5 16.35C13.5211 16.35 14.5003 15.9444 15.2224 15.2224C15.9444 14.5003 16.35 13.5211 16.35 12.5C16.35 11.4789 15.9444 10.4997 15.2224 9.77764C14.5003 9.05562 13.5211 8.65 12.5 8.65Z" fill="#111113" stroke="#FFF9F2" stroke-width="0.2"></path></svg></a></div></div> <div class="ecom-block ecom-core core__block elmspace ecom-t7mpdqvgoxb" data-core-is="block"><div class="ecom__element element__heading ecom-element ecom-html" data-stopdrag="true" deep="1"><h3 class="ecom__heading ecom-db">© 2024 Lieu Dit Winery</h3></div></div> </div></div></div></div> </div><div class="ecom-section__overlay"><div class="ecom-overlay"></div></div> </section> 2995</div></div> 2996</div><!--/ECOM-FOOTER--> 2997 2998 <ul hidden> 2999 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 3000 <li id="a11y-new-window-message">Opens in a new window.</li> 3001 </ul> 3002 3003
3003<script> 3004 window.shopUrl = 'https://www.lieuditwinery.com'; 3005 window.routes = { 3006 cart_add_url: '/cart/add', 3007 cart_change_url: '/cart/change', 3008 cart_update_url: '/cart/update', 3009 cart_url: '/cart', 3010 predictive_search_url: '/search/suggest', 3011 }; 3012 3013 window.cartStrings = { 3014 error: `There was an error while updating your cart. Please try again.`, 3015 quantityError: `You can only add [quantity] of this item to your cart.`, 3016 }; 3017 3018 window.variantStrings = { 3019 addToCart: `Add to cart`, 3020 soldOut: `Sold out`, 3021 unavailable: `Unavailable`, 3022 unavailable_with_option: `[value] - Unavailable`, 3023 }; 3024 3025 window.quickOrderListStrings = { 3026 itemsAdded: `[quantity] items added`, 3027 itemAdded: `[quantity] item added`, 3028 itemsRemoved: `[quantity] items removed`, 3029 itemRemoved: `[quantity] item removed`, 3030 viewCart: `View cart`, 3031 each: `[money]/ea`, 3032 min_error: `This item has a minimum of [min]`, 3033 max_error: `This item has a maximum of [max]`, 3034 step_error: `You can only add this item in increments of [step]`, 3035 }; 3036 3037 window.accessibilityStrings = { 3038 imageAvailable: `Image [index] is now available in gallery view`, 3039 shareSuccess: `Link copied to clipboard`, 3040 pauseSlideshow: `Pause slideshow`, 3041 playSlideshow: `Play slideshow`, 3042 recipientFormExpanded: `Gift card recipient form expanded`, 3043 recipientFormCollapsed: `Gift card recipient form collapsed`, 3044 countrySelectorSearchCount: `[count] countries/regions found`, 3045 }; 3046 </script>
3046<script src="//www.lieuditwinery.com/cdn/shop/t/9/assets/predictive-search.js?v=162273246065392412141718808903" defer="defer"></script>
3046 3047 3048 3049<!-- START BEAE POPUP BUILDER --> 3050<!-- END BEAE POPUP BUILDER --> 3051 3052<!--BEGIN-AGE-VERIFICATION--><!-- Ecomposer Age verification Extension --><!--END-AGE-VERIFICATION-->
3052<script type="module"> 3053 import { ChordAnalytics } from 'https://cdn.jsdelivr.net/npm/@chordcommerce/[email protected]/+esm'; 3054 3055 const chord = new ChordAnalytics({ 3056 cdpDomain: 'https://production.cdp.ingest.chord.co', 3057 cdpWriteKey: 'iPDuQQbWGG3FEMLuJB9StJmQKEHEJtvw:WTg6v12ztlihobrseN2AhkYZmy8yGe48', 3058 enableWebPixelListener: true, 3059 enableIdentifierSync: true, 3060 formatters: { 3061 objects: {}, 3062 events: {} 3063 }, 3064 metadata: { 3065 i18n: { 3066 currency: "USD", 3067 locale: "en-US", 3068 }, 3069 ownership: { 3070 omsId: 'df9d8dad-2906-493e-8f7a-ee8b58d87440', 3071 storeId: 'df9d8dad-2906-493e-8f7a-ee8b58d87440', 3072 tenantId: '5954f655-3669-4583-82ee-ba3ad24251d4', 3073 }, 3074 platform: { name: 'shopify', type: 'web' }, 3075 store: { domain: 'lieu-dit-winery' }, 3076 } 3077 }); 3078 3079 window.chord = chord; 3080 </script>
3080 3081<div id="shopify-block-AQ3hNeFE1dUJ4dlA4d__5846654113244447633" class="shopify-block shopify-app-block"> 3082 3083<link href="//cdn.shopify.com/extensions/5e39e146-0368-46de-9a5c-89f7f070a322/xo-scroll-to-top-4/assets/xo-scroll2top.css" rel="stylesheet" type="text/css" media="all" /> 3084<div id="xo-scroll2top" class="xo-scroll2top xo-scroll2top--1 xo-scroll2top--right 3085 xo-scroll2top--fade "><svg className="xo-small" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3086 <polygon fill=#fff9f2 points="1 28 16 4 31 28 16 18 1 28" /> 3087 </svg></div> 3088 3089<style>.xo-scroll2top { --xo-st-bg-color:rgba(215,204,191,1);--xo-st-bg-color2:rgba(17,17,19,1); --xo-st-bd-radius:4px;--xo-st-bd-radius2:3px;--xo-st-width:38px;--xo-st-height:38px;--xo-st-scale: 1; 3090 --xo-st-textColor: rgba(0,0,0,1);--xo-st-textColor2: rgba(35,123,226,1);right: 20px;bottom: 20px; } 3091</style>
3092<script type="text/javascript"> 3093const xoscroll2topInit = { 3094 id: 'xo-scroll2top', duration: 100, 3095 appear: -1, 3096 toElement: {elm: '', offset: 0}, 3097 status: false }; 3098</script>
vendor: 1 bytes, line 3098
3098
3099<script src="https://cdn.shopify.com/extensions/5e39e146-0368-46de-9a5c-89f7f070a322/xo-scroll-to-top-4/assets/xo-scroll2top.js" defer="defer"></script>
3099 3100 3101 3102</div><!-- Failed to render app block "15685250022964305326": app block path "shopify://apps/elevar-conversion-tracking/blocks/dataLayerEmbed/bc30ab68-b15c-4311-811f-8ef485877ad6" does not exist -->
3102<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3102 3103</body> 3104</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.