1<!doctype html> 2 <html class="no-js" lang="en"> 3 <head> 4 5<!-- Start of Shoplift scripts --> 6<!-- 2026-05-07T22:03:05.8574941Z --> 7<style>.shoplift-hide { opacity: 0 !important; }</style> 8<style id="sl-preview-bar-hide">#preview-bar-iframe, #PBarNextFrameWrapper { display: none !important; }</style>
9<script type="text/javascript">(function(rootPath, template, themeRole, themeId, isThemePreview){ /* Generated on 2026-09-24T18:00:03.4071012Z */(function(){"use strict";var te=document.createElement("style");te.textContent=`#shoplift-preview-control{position:fixed;max-width:332px;height:56px;background-color:#141414;z-index:9999;bottom:20px;display:flex;border-radius:8px;box-shadow:13px 22px 7px #0000,9px 14px 7px #00000003,5px 8px 6px #0000000d,2px 4px 4px #00000017,1px 1px 2px #0000001a,0 0 #0000001a;align-items:center;margin:0 auto;left:16px;right:16px;opacity:0;transform:translateY(20px);visibility:hidden;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s .4s}#shoplift-preview-control.visible{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s 0s}#shoplift-preview-control *{font-family:Inter,sans-serif;color:#fff;box-sizing:border-box;font-size:16px}#shoplift-preview-variant-title{font-weight:400;line-height:140%;font-size:16px;text-align:start;letter-spacing:-.16px;flex-grow:1;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}#shoplift-preview-variant-selector{position:relative;display:block;padding:6px 0;height:100%;min-width:0;flex:1 1 auto}#shoplift-preview-variant-menu-trigger{border:none;cursor:pointer;width:100%;background-color:transparent;padding:0 16px;border-left:1px solid #333;border-right:1px solid #333;height:100%;display:flex;align-items:center;justify-content:start;gap:8px}#shoplift-preview-variant-selector .menu-variant-label{width:24px;height:24px;border-radius:50%;padding:6px;display:flex;justify-content:center;align-items:center;font-size:12px;font-style:normal;font-weight:600;line-height:100%;letter-spacing:-.12px;flex-shrink:0}#shoplift-preview-variant-selector .preview-variant-menu{position:absolute;bottom:110%;transform:translate3d(0,20px,0);visibility:hidden;pointer-events:none;opacity:0;cursor:pointer;background-color:#141414;border:1px solid #141414;border-radius:6px;width:100%;max-height:156px;overflow-y:auto;box-shadow:0 8px 16px #0003;z-index:1;transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s .3s}#shoplift-preview-variant-selector .preview-variant-menu.preview-variant-menu__visible{visibility:visible;pointer-events:auto;opacity:100;transform:translateZ(0);transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s 0s}@media screen and (max-width:400px){#shoplift-preview-variant-selector .preview-variant-menu{position:fixed;left:0;right:0;width:auto;bottom:110%}}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item{padding:12px 16px;display:flex;overflow:hidden}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item .menu-variant-label{margin-right:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item span{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap;white-space:nowrap;color:#f6f6f6;font-size:14px;font-style:normal;font-weight:500}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:hover{background-color:#545454}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:last-of-type{border-bottom-left-radius:6px;border-bottom-right-radius:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}#shoplift-preview-control div:has(#shoplift-exit-preview-button){padding:0 16px}#shoplift-exit-preview-button{padding:6px 8px;font-weight:500;line-height:75%;border-radius:4px;background-color:transparent;border:none;text-decoration:none}#shoplift-exit-preview-button:hover{cursor:pointer;background-color:#333}#shoplift-preview-subscription-warning{position:relative;display:flex;align-items:center;gap:6px;padding:6px 10px;margin:0 4px;border-left:1px solid #333;cursor:help;outline:none}#shoplift-preview-subscription-warning__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:#f59e0b;color:#141414!important;font-weight:700;font-size:12px!important;line-height:1;flex-shrink:0}#shoplift-preview-subscription-warning__label{font-size:13px!important;font-weight:500;color:#fbbf24!important;text-wrap:nowrap;white-space:nowrap}#shoplift-preview-subscription-warning__tooltip{position:absolute;bottom:calc(100% + 8px);right:0;max-width:320px;width:max-content;padding:10px 12px;border-radius:6px;background-color:#1f1f1f;color:#fff!important;font-size:12px!important;line-height:1.4!important;box-shadow:0 8px 16px #0000004d;z-index:10000;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s .2s;pointer-events:none}#shoplift-preview-subscription-warning__tooltip.shoplift-preview-subscription-warning__tooltip--visible{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s 0s}#shoplift-preview-subscription-warning:focus-visible{box-shadow:inset 0 0 0 2px #f59e0b;border-radius:4px}#shoplift-preview-control:has(#shoplift-preview-subscription-warning){max-width:480px}/*$vite$:1*/`,document.head.appendChild(te);var fe=" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!cam)scan|(?<!lib)http|24x
97|;\\s\\w+;$|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+/1\\.0;|\\bbw/|\\bdlc\\b|\\bort/|\\bperl\\b|\\btime/|\\||^[<\\(;]|^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[\\w\\-]+/[\\w]+$|^[^ ]{50,}$|^\\d+\\b|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^blackbox exporter|^bot|^clamav[ /]|^claude-code/|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^exodusmovement|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^ps_daily/|^python|^rank|^read|^reed|^remove\\.bg/|^rest|^rss|^snapchat|^sora |^space bison|^stape/|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|abuse|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|attracta|audit|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|collapsify\\b|convertify|cookiehubverify/|crawl|cursor/|cypress/|dareboost|datanyze|dejaclick|detect|discovery|dmbrowser|download|exaleadcloudview|feed|firephp|foregenix|functionize|grab|hardenize\\b|headless|hotjar|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|linktiger|mail\\.ru/|manager|manus-user/|marketgoo/|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|openvas|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|playwright|powermarks|preview|productfinder|prospectingstudio|proxy|ptst[ /]\\d|radar|readable/|retriever|rexx;|rigor|rss\\b|scrape|securityheaders|selenium|server|silktide|sindup/|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|testlocally|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|watchtowr|webglance|webkit2png|whatcms/|xtate/",ge=/bot|crawl|http|lighthouse|scan|search|spider/i,z;function me(){if(z instanceof RegExp)return z;try{z=new RegExp(fe,"i")}catch{z=ge}return z}var ye=a=>typeof a=="string"&&a!=="";function ve(a){return ye(a)&&me().test(a)}var we=ve;class X{timestamp;constructor(){this.timestamp=new Date}}class be extends X{type;testId;hypothesisId;constructor(e,t,i){super(),this.type=3,this.testId=e,this.hypothesisId=t,this.timestamp=i}}class Se extends X{type;path;constructor(e){super(),this.type=4,this.path=e}}class Ce extends X{type;cart;constructor(e){super(),this.type=5,this.cart=e}}class ie extends Error{isBot;constructor(){super(),this.isBot=!0}}function Te(a,e,t){for(const i of e.selectors){const s=a.querySelectorAll(i.cssSelector);for(let r=0;r<s.length;r++)t(e.testId,e.hypothesisId)}re(a,e,(i,s,r,o,n)=>n(s,r),t)}function U(a,e,t){for(const i of e.selectors)ne(a,e.testId,e.hypothesisId,i,t??(()=>{}));re(a,e,ne,t??(()=>{}))}function se(a){return a.urlPatterns.reduce((e,t)=>{switch(t.operator){case"contains":return e+`.*${t}.*`;case"endsWith":return e+`.*${t}`;case"startsWith":return e+`${t}.*`}},"")}function re(a,e,t,i){new MutationObserver(()=>{for(const r of e.selectors)t(a,e.testId,e.hypothesisId,r,i)}).observe(a.documentElement,{childList:!0,subtree:!0})}function ne(a,e,t,i,s){const r=a.querySelectorAll(i.cssSelector);for(let o=0;o<r.length;o++){let n=r.item(o);if(n instanceof HTMLElement&&n.dataset.shoplift!==""){n.dataset.shoplift="";for(const l of i.actions.sort(Re))n=Ie(a,i.cssSelector,n,l)}}return r.length>0&&s?(s(e,t),!0):!1}function Ie(a,e,t,i){switch(i.type){case"innerHtml":t.innerHTML=i.value;break;case"attribute":Pe(t,i.scope,i.value);break;case"css":Ae(a,e,i.value);break;case"js":ke(a,t,i);break;case"copy":return Ee(t);case"remove":xe(t);break;case"move":_e(t,parseInt(i.value));break}return t}function Pe(a,e,t){a.setAttribute(e,t)}function Ae(a,e,t){const i=a.createElement("style");i.innerHTML=`${e} { ${t} }`,a.getElementsByTagName("head")[0]?.appendChild(i)}function ke(a,e,t){Function("document","element",`"use strict"; ${t.value}`)(a,e)}function Ee(a){const e=a.cloneNode(!0);if(!a.parentNode)throw"Can't copy node outside of DOM";return a.parentNode.insertBefore(e,a.nextSibling),e}function xe(a){a.remove()}function _e(a,e){if(e===0)return;const t=Array.prototype.slice.call(a.parentElement.children).indexOf(a),i=Math.min(Math.max(t+e,0),a.parentElement.children.length-1);a.parentElement.children.item(i).insertAdjacentElement(e>0?"afterend":"beforebegin",a)}function Re(a,e){return oe(a)-oe(e)}function oe(a){return a.type==="copy"||a.type==="remove"?0:1}
9const M={Template:0,UrlRedirect:2,Script:3,Price:5},De="data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.96001%207.90004C9.86501%207.90004%209.77001%207.86504%209.69501%207.79004L6.43501%204.53004C6.19501%204.29004%205.80501%204.29004%205.56501%204.53004L2.30501%207.79004C2.16001%207.93504%201.92001%207.93504%201.77501%207.79004C1.63001%207.64504%201.63001%207.40504%201.77501%207.26004L5.03501%204.00004C5.56501%203.47004%206.43001%203.47004%206.96501%204.00004L10.225%207.26004C10.37%207.40504%2010.37%207.64504%2010.225%207.79004C10.15%207.86004%2010.055%207.90004%209.96001%207.90004Z'%20fill='white'/%3e%3c/svg%3e",Ve="data:image/svg+xml,%3csvg%20width='14'%20height='24'%20viewBox='0%200%2014%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.3976%2014.5255C12.2833%2013.8788%2012.0498%2013.3024%2011.6952%2012.7961C11.3416%2012.2898%2010.9209%2011.8353%2010.4353%2011.4317C9.94868%2011.0291%209.43546%2010.6488%208.89565%2010.292C8.48487%2010.049%208.09577%209.78565%207.72637%209.50402C7.35697%209.2224%207.08016%208.89503%206.89694%208.51987C6.71273%208.14471%206.67826%207.69533%206.79055%207.1697C6.86345%206.83216%206.97476%206.54647%207.12351%206.31162C7.27324%206.07778%207.47124%205.89986%207.7175%205.77684C7.96377%205.65483%208.21989%205.59383%208.48389%205.59383C8.88087%205.59383%209.17639%205.7016%209.3734%205.91714C9.56943%206.13268%209.68271%206.42345%209.71424%206.78946C9.74576%207.15547%209.72015%207.55401%209.63839%207.98509C9.55663%208.41617%209.43645%208.84724%209.27687%209.27934L13.5127%208.80149C13.9638%207.52656%2014.1017%206.42447%2013.9264%205.49725C13.751%204.56901%2013.2664%203.85122%2012.4724%203.34491C12.239%203.19648%2011.9779%203.07041%2011.6893%202.96569L12.0026%201.50979L9.86397%200L7.3875%201.50979L7.11169%202.78878C6.65166%202.8874%206.21724%203.01957%205.8114%203.19038C4.85292%203.594%204.06684%204.15115%203.45117%204.86385C2.83452%205.57655%202.42571%206.40108%202.22378%207.33847C2.06616%208.06947%202.04942%208.70796%202.17551%209.25087C2.30061%209.7948%202.52028%2010.2828%202.8355%2010.7139C3.14974%2011.145%203.51816%2011.5344%203.93977%2011.881C4.36039%2012.2288%204.782%2012.5521%205.20164%2012.851C5.68334%2013.1702%206.13844%2013.5169%206.56497%2013.8921C6.99052%2014.2672%207.31954%2014.7125%207.55004%2015.228C7.78055%2015.7445%207.81502%2016.3769%207.65347%2017.1262C7.56482%2017.5389%207.43676%2017.8765%207.27028%2018.1388C7.10381%2018.4011%206.89596%2018.5983%206.64772%2018.7295C6.3985%2018.8606%206.12071%2018.9267%205.8114%2018.9267C5.21641%2018.9267%204.79776%2018.6034%204.62833%2018.1632C4.4589%2017.7229%204.47367%2017.2583%204.60075%2016.5639C4.72782%2015.8705%205.05092%2015.1395%205.37107%2014.3699H1.17665C1.17665%2014.3699%200.207341%2016.1115%200.0310135%2017.6762C-0.0655232%2018.5302%200.0635208%2019.2653%200.41519%2019.8844C0.76686%2020.5036%201.33032%2020.9814%202.10655%2021.319C2.39222%2021.443%202.7104%2021.5447%203.05813%2021.623L2.54589%2024H7.17473L7.7047%2021.5386C8.08493%2021.442%208.43857%2021.3231%208.76562%2021.1787C9.73985%2020.7476%2010.52%2020.1427%2011.1071%2019.3649C11.6932%2018.5871%2012.0873%2017.7291%2012.2892%2016.7917C12.4744%2015.9295%2012.5099%2015.1741%2012.3966%2014.5275L12.3976%2014.5255Z'%20fill='white'/%3e%3c/svg%3e";async function Oe(a){let e=a.replace(/-/g,"+").replace(/_/g,"/");for(;e.length%4;)e+="=";const t=atob(e),i=Uint8Array.from(t,o=>
9o.charCodeAt(0)),s=new Blob([i]).stream().pipeThrough(new DecompressionStream("gzip")),r=await new Response(s).text();return JSON.parse(r)}function F(a,e){return typeof e=="string"&&/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d+(?:Z|[+-]\d+)/.test(e)?new Date(e):e}function ee(a,e){return e}function q(a,e=!1,t=!1,i=","){const s=a/100;if(t){const o=Math.round(s).toLocaleString("en-US");return i!==","?o.replace(/,/g,i):o}else{const r=e?",":".",o=s.toFixed(2).split("."),n=parseInt(o[0],10),l=o[1]??"00",c=n.toLocaleString("en-US");return i!==","?`${c.replace(/,/g,i)}${r}${l}`:e?`${c.replace(/,/g,".")}${r}${l}`:`${c}${r}${l}`}}function H(a,e,t,i){const s=e.replace("{{amount}}",q(a,!1,!1)).replace("{{amount_no_decimals}}",q(a,!1,!0)).replace("{{amount_with_comma_separator}}",q(a,!0,!1)).replace("{{amount_no_decimals_with_comma_separator}}",q(a,!0,!0)).replace("{{amount_with_space_separator}}",q(a,!1,!1," ")).replace("{{amount_no_decimals_with_space_separator}}",q(a,!1,!0," ")).replace("{{amount_with_apostrophe_separator}}",q(a,!1,!1,"'")).replace("{{amount_no_decimals_with_apostrophe_separator}}",q(a,!1,!0,"'")).replace("{{amount_with_period_and_space_separator}}",q(a,!1,!1,". ")).replace("{{amount_no_decimals_with_period_and_space_separator}}",q(a,!1,!0,". "));return i?`${s} ${t}`:s}function ae(a){return a.replace(/[^\d.,\s-]/g,"").trim()}function j(a){const e=new Map;for(const[t,i,s]of a.variants)e.set(t,{priceInCents:i,compareAtPriceInCents:s});return e}function Le(a,e,t,i){const{priceInCents:s,compareAtPriceInCents:r}=t,{moneyFormat:o,currency:n,currencyCodeEnabled:l}=i;if(a.getAttribute("data-sl-attribute-p")===e)a.innerHTML=H(s,o,n,l);else if(a.getAttribute("data-sl-attribute-cap")===e)r<=0||r<=s?a.remove():a.innerHTML=H(r,o,n,l);else if(a.getAttribute("data-sl-attribute-discount")===e&&!(r<=0||r<=s)){const d=Math.round((r-s)/r*100),u=ae(H(r-s,o,n,!1)),h=a.getAttribute("data-sl-format")||"percent";h==="percent"?a.textContent=`-${d}%`:h==="amount"?a.textContent=`-${u}`:h==="both"&&(a.textContent=`-${d}% (-${u})`)}}function $e(a){const e=[],t={id:"url-pattern",operator:"contains",value:"/"};for(const[i,s,r]of a.variants){e.push({id:`p-${i}`,cssSelector:`[data-sl-attribute-p="${i}"]`,urlPatterns:[t],actions:[{id:`p-action-${i}`,type:"innerHtml",scope:"price",value:H(s,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]});const o=r<=0||r<=s;if(e.push({id:`cap-${i}`,cssSelector:`[data-sl-attribute-cap="${i}"]`,urlPatterns:[t],actions:[{id:`cap-action-${i}`,type:o?"remove":"innerHtml",scope:"compare-at-price",value:o?"":H(r,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]}),!o&&r>s){const n=Math.round((r-s)/r*100),l=ae(H(r-s,a.moneyFormat,a.currency,!1));e.push({id:`d-${i}`,cssSelector:`[data-sl-attribute-discount="${i}"]`,urlPatterns:[t],actions:[{id:`d-action-${i}`,type:"js",scope:null,value:`var format = element.getAttribute('data-sl-format') || 'percent'; if (format === 'percent') { element.textContent = '-${n}%'; } else if (format === 'amount') { element.textContent = '-${l}'; } else if (format === 'both') { element.textContent = '-${n}% (-${l})'; }`}]})}}return e}const Me=a=>{let e=5381;for(let t=0;t<a.length;t++)e=(e*33^a.charCodeAt(t))>>>0;return e.toString(36)},qe=()=>Math.random().toString(36).slice(2,10)+Date.now().toString(36).slice(-4),He=a=>btoa(JSON.stringify(a)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),K=a=>a.replace(/#slr-[a-z0-9]+$/,""),tt="modulepreload",it=function(a){return"/"+a},st={},Ne=function(e,t,i){let s=Promise.resolve();function r(o){const n=new Event("vite:preloadError",{cancelable:!0});if(n.payload=o,window.dispatchEvent(n),!n.defaultPrevented)throw o}return s.then(o=>{for(const n of o||[])n.status==="rejected"&&r(n.reason);return e().catch(r)})};function le(a,e,t){const i=t?a.plans.filter(c=>!c.variantId||c.variantId===t):a.plans,s=[],r=[];for(const c of i)c.direction==="decrease"?(s.push(c.existingShopifyPlanId),r.push(c.createdShopifyPlanId)):(s.push(c.createdShopifyPlanId),r.push(c.existingShopifyPlanId));const o=e?s:r,n=e?r:s;if(t)for(const c of a.plans)for(const d of[c.existingShopifyPlanId,c.createdShopifyPlanId])d&&!o.includes(d)&&!n.includes(d)&&n.push(d);const l={};for(let c=0;c<n.length;c++){const d=n[c],u=o[c];d&&u&&(l[d]=u)}return{showPlanIds:o,hidePlanIds:n,swapMap:l}}function ce(a,e,t){const i=e?a.plans.find(r=>r.variantId===e):void 0;if(i)return i.direction;if(t){const r=a.plans.find(o=>o.productId===t);if(r)return r.direction}return a.plans.find(r=>!r.variantId)?.direction??null}function J(a,e){const t=e?a.plans.filter(r=>!r.productId||r.productId===e):a.plans,i={};for(const r of t)i[r.existingShopifyPlanId]=r.existingDiscountAmount,i[r.createdShopifyPlanId]=r.existingDiscountAmount;
9const s=Math.max(...Object.values(i),0);return{discountMap:i,maxDiscount:s}}function W(a){const e=document.querySelector('form[action*="/cart/add"] input[name="product-id"]')?.value;if(e)return e;if(a){for(const r of Array.from(document.querySelectorAll("[data-sl-attribute-p]"))){const o=r.getAttribute("data-sl-attribute-p");if(!o)continue;const n=a.variants.find(l=>l[0]===o);if(n?.[3])return n[3]}const s=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(s){const r=a.variants.find(o=>o[0]===s);if(r?.[3])return r[3]}}const t=window,i=t.ShopifyAnalytics?.meta?.product?.id??t.meta?.product?.id;return i!=null?String(i):null}function D(a,e){return a.widget.selectors[e]??[]}function N(a,e){return a.replace(/[\d.]+%/,`${e}%`)}function $(a,e){const t=document.createTreeWalker(a,NodeFilter.SHOW_TEXT);let i=t.nextNode();for(;i;){if(i.nodeValue!==null){const s=e(i.nodeValue);if(s!==i.nodeValue){i.nodeValue=s;return}}i=t.nextNode()}}function de(a,e){return a===null?!1:a==="decrease"?!e:e}async function Ue(a){if(a.subscriptionSwapDone)return;const e=a.getActiveAssignment();if(!e)return;const t=a.getHypothesis(e.hypothesisId);if(!t?.subscriptionData)return;a.subscriptionSwapDone=!0;const i=t.subscriptionData,s=t.isControl,r=[...new Set(i.plans.map(d=>d.direction))].join(",");a.log(`[SUB-SWAP] ${s?"A":"B"} side, directions=${r}`);const o=i.plans.some(d=>d.variantId);let n=!1,l=!1;function c(){if(!l){l=!0;try{const d=o?document.querySelector("select[name='id'], input[name='id']")?.value:void 0,{showPlanIds:u,hidePlanIds:h,swapMap:p}=le(i,s,d);a.swapMap=p;const b=D(i,"widgetParent"),E=D(i,"subscriptionPlans"),S=D(i,"subscriptionInput");if(!b.length||!E.length||!S.length)return;const C=document.querySelector(b[0].selector);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(E[0].selector);if(!_?.shadowRoot)return;const T=S[0].selector;let m=null;if(i.widget.widgetType==="buttons"||i.widget.widgetType==="radio"){const y=Array.from(_.shadowRoot.querySelectorAll(T));if(!y.length)return;for(const v of y){const g=v.closest("label");g&&(u.includes(v.value)?g.style.display="":h.includes(v.value)&&(g.style.display="none"))}const w=y.some(v=>u.includes(v.value)&&v.checked),I=y.some(v=>h.includes(v.value)&&v.checked);if((w||I)&&(n=!1),!w&&!n){n=!0;for(const v of y)if(u.includes(v.value)){v.closest("label")?.click(),v.dispatchEvent(new Event("change",{bubbles:!0}));break}}const f=y.find(v=>v.checked);m=f&&u.includes(f.value)?f.value:u[0]??null}else if(i.widget.widgetType==="dropdown"){const y=_.shadowRoot.querySelector("select");if(!y)return;for(const w of Array.from(y.options))h.includes(w.value)&&(w.style.display="none",w.disabled=!0);if(h.includes(y.value)){const w=Array.from(y.options).find(I=>u.includes(I.value));w&&(y.value=w.value,y.dispatchEvent(new Event("change",{bubbles:!0})))}m=u.includes(y.value)?y.value:u[0]??null}if(m){const y=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const w of y)w.value!==m&&(w.value=m)}}finally{l=!1}}}if(a.subscriptionHideWrongPlans=c,a.swapMap=le(i,s).swapMap,c(),o){const d=document.querySelector("select[name='id'], input[name='id']");d&&d.addEventListener("change",c)}}function B(a){const e=D(a,"widgetParent");return e.length?document.querySelector(e[0].selector)?.shadowRoot??null:null}function Y(a,e){const t=D(a,"subscriptionPlans");return t.length?e.querySelector(t[0].selector)?.shadowRoot??null:null}function Z(a,e){const t=new URLSearchParams(window.location.search).get("variant");if(t)return t;{const i=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(i)return i}return a.size>0?[...a.keys()][0]:void 0}function G(a,e){return H(a,e.moneyFormat,e.currency,e.currencyCodeEnabled)}function Fe({originalFetch:a,swapMap:e,slptValue:t,getSelectedPlanId:i,log:s}){if(window.fetch.__shoplift_intercepted)return s("[SUB-INTERCEPT] already installed â skipping"),()=>{};function r(n){if(i){const l=i();if(l)return e[l]??l}return e[n]??n}const o=function(n,l){if((typeof n=="string"?n:n instanceof URL?n.href:n.url).includes("/cart/add")&&l?.body)try{if(l.body instanceof FormData){const d=l.body.get("selling_plan");d?l.body.set("selling_plan",r(String(d))):(!d||d==="")&&t&&l.body.set("properties[_slpt]",t)}
9else if(typeof l.body=="string"){const d=JSON.parse(l.body);if(d.items)for(const u of d.items){const h=String(u.selling_plan??"");h?u.selling_plan=r(h):!u.selling_plan&&t&&(u.properties||(u.properties={}),u.properties._slpt=t)}else if(d.id){const u=String(d.selling_plan??"");u?d.selling_plan=r(u):!d.selling_plan&&t&&(d.properties||(d.properties={}),d.properties._slpt=t)}l.body=JSON.stringify(d)}}catch(d){s("[SUB-INTERCEPT] body parse failed; cart-add proceeds with un-swapped plan",d)}return a.call(window,n,l)};return o.__shoplift_intercepted=!0,window.fetch=o,function(){window.fetch===o&&(window.fetch=a)}}function Be({log:a}){if(window.fetch.__shoplift_intercepted)return a("[SUB-PREVIEW-BLOCK] already installed â skipping"),()=>{};const e=window.fetch,t=function(i,s){const r=typeof i=="string"?i:i instanceof URL?i.href:i.url;return r.includes("/cart/add")?(a("[SUB-PREVIEW-BLOCK] cart-add blocked in preview mode",{url:r}),Promise.resolve(new Response(JSON.stringify({id:0,properties:{},quantity:0,variant_id:0,key:"preview",title:"Preview â cart-add blocked",price:0,original_price:0,line_price:0,original_line_price:0,total_discount:0,discounts:[],preview:!0}),{status:200,headers:{"Content-Type":"application/json"}}))):e.call(window,i,s)};return t.__shoplift_intercepted=!0,window.fetch=t,function(){window.fetch===t&&(window.fetch=e)}}function pe({data:a,runUpdates:e,debounceMs:t=150}){let i=null;function s(){i&&clearTimeout(i),e(),i=setTimeout(e,t)}let r=null;const o=[],n={childList:!0,subtree:!0,characterData:!0,attributes:!0};function l(h){for(const p of o)p.disconnect();o.length=0;for(const p of Array.from(h.querySelectorAll("*")))if(p.shadowRoot){const b=new MutationObserver(s);b.observe(p.shadowRoot,n),o.push(b)}}function c(){const h=B(a);return h?(r&&r.disconnect(),l(h),r=new MutationObserver(p=>{p.some(b=>b.type==="childList"&&b.addedNodes.length>0)&&l(h),s()}),r.observe(h,n),!0):!1}const d=document.body||document.documentElement,u=new MutationObserver(()=>{c()&&s()});return u.observe(d,{childList:!0,subtree:!0}),c()&&s(),e(),function(){i&&(clearTimeout(i),i=null),u.disconnect(),r&&(r.disconnect(),r=null);for(const p of o)p.disconnect();o.length=0}}async function ze(a){if(a.subscriptionPriceDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=t?.subscriptionData?null:a.findActiveSubscriptionTestControl(),s=t?.subscriptionData?t:i?.hypothesis;if(!s?.subscriptionData)return;const r=t?.subscriptionData?e.testId:i.testId;a.subscriptionPriceDone=!0;const o=s.subscriptionData,n=s.isControl,l=s.priceData,c=o.widget.widgetType;let d=W(l),u=J(o,d),h=u.discountMap,p=u.maxDiscount;function b(){const g=W(l);g!==d&&(d=g,u=J(o,d),h=u.discountMap,p=u.maxDiscount,a.log(`[SUB-PRICE] scope refreshed side=${n?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${p}`))}a.log(`[SUB-PRICE] side=${n?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${p}`),a.updatePriceTestHiddenInputs(r,n?"control":"variant",!1);function E(){if(!l)return null;const g=j(l),P=Z(g),A=ce(o,P,d);if(!de(A,n))return null;const k=P?g.get(P):void 0;return k?{formattedVariantPrice:G(k.priceInCents,l),formattedDiscounted:G(k.priceInCents*(1-p/100),l)}:null}Fe({originalFetch:a.fetch,swapMap:a.swapMap??{},slptValue:a.slptValue??void 0,log:a.log,getSelectedPlanId:()=>{const g=B(o);if(!g)return null;const P=Y(o,g);if(!P)return null;const A=D(o,"subscriptionInput"),k=A.length?A[0].selector:'input[name="rc_plan"]';return P.querySelector(`${k}:checked`)?.value??null}});function S(g){const P=D(o,"subscriptionDiscount");for(const A of P)if(A.selector.includes("badge")||A.selector.includes("__badge")){const k=g.querySelector(A.selector);k?.textContent&&!k.textContent.includes(`${p}%`)&&$(k,x=>N(x,p))}}function C(g){const P=E();if(!P)return;const A=D(o,"subscriptionCompareAt");for(const k of A){const x=g.querySelector(k.selector)||g.querySelector(`[part~="${k.selector}"]`);x?.textContent&&!x.textContent.includes(P.formattedVariantPrice)&&$(x,R=>/\d/.test(R)?P.formattedVariantPrice:R)}}function _(g,P){const A=D(o,"subscriptionCompareAt"),k=P===0?"none":"";for(const x of A){const R=g.querySelector(x.selector)||g.querySelector(`[part~="${x.selector}"]`);R&&(k==="none"?R.style.display!=="none"&&(R.style.display="none"):R.style.display==="none"&&(R.style.display=""))}}function T(g){const P=D(o,"subscriptionInput"),A=P.length?P[0].selector:'input[name="rc_plan"]',k=D(o,"subscriptionPlanDiscount"),x=k.length?k[0].selector:".rc-plans-button__discount";for(const R of Array.from(g.querySelectorAll("label"))){const O=R.querySelector(A),V=R.querySelector(x);
9if(O&&V){const L=h[O.value];if(L!==void 0){if(L===0)V.style.display!=="none"&&(V.style.display="none");else if(V.style.display==="none"&&(V.style.display=""),V.textContent){const Q=V.textContent.match(/[\d.]+%/)?.[0];Q&&Q!==`${L}%`&&$(V,et=>N(et,L))}}}}}function m(g){const P=g.querySelector("select");if(P)for(const A of Array.from(P.options)){const k=h[A.value];if(k!==void 0&&A.textContent){const x=A.textContent.match(/[\d.]+%/)?.[0];x&&x!==`${k}%`&&(A.textContent=N(A.textContent,k))}}}function y(g,P){const k=D(o,"subscriptionDiscount").filter(x=>x.selector.includes("benefit")||x.selector==="rc-benefits");for(const x of k){const R=g.querySelector(x.selector);if(R?.shadowRoot){for(const O of Array.from(R.shadowRoot.querySelectorAll("li")))if(O.textContent?.includes("Save")){const V=O;if(P===0)V.style.display!=="none"&&(V.style.display="none");else{V.style.display==="none"&&(V.style.display="");const L=O.textContent.match(/[\d.]+%/)?.[0];L&&L!==`${P}%`&&$(O,Q=>N(Q,P))}}}}}let w=!1;function I(){if(!w){w=!0;try{if(b(),d!==null&&Object.keys(h).length===0)return;const g=B(o);if(!g)return;S(g),l&&C(g);const P=Y(o,g);let A=p;if(P){const k=D(o,"subscriptionInput"),x=k.length?k[0].selector:'input[name="rc_plan"]',R=P.querySelector(`${x}:checked`);if(R){const O=h[R.value];O!==void 0&&(A=O)}c==="buttons"||c==="radio"?T(P):m(P)}_(g,A),y(g,A)}finally{w=!1}}}function f(){const g=E();if(!g)return;const P=B(o);if(!P)return;const A=D(o,"onetimeToggle"),k=A.length?A[0].selector:'input[value="onetime"]';if(!P.querySelector(k)?.checked)return;const R=D(o,"subscriptionPrice");for(const O of R){const V=P.querySelector(O.selector)||P.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(g.formattedDiscounted)&&$(V,L=>/\d/.test(L)?g.formattedDiscounted:L)}}function v(){a.subscriptionHideWrongPlans&&a.subscriptionHideWrongPlans(),I(),a.subscriptionUpdateOneTime&&a.subscriptionUpdateOneTime(),f()}pe({data:o,runUpdates:v})}async function We(a){if(a.subscriptionOneTimeDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=!!(t?.subscriptionData&&t.priceData),s=i?null:a.findActiveSubscriptionTestControl(),r=i?t:s?.hypothesis;if(!r?.subscriptionData||!r.priceData)return;const o=i?e.testId:s.testId;a.subscriptionOneTimeDone=!0;const n=r.subscriptionData,l=r.priceData,c=j(l),d=r.isControl,u=d?"control":"variant";a.slptValue=`${o}:${u}:f`,a.updatePriceTestHiddenInputs(o,u,!1);function h(){const p=B(n);if(!p)return;const b=Z(c);if(!b)return;const E=W(l),S=ce(n,b,E);if(!de(S,d))return;const C=c.get(b);if(!C)return;const _=H(C.priceInCents,l.moneyFormat,l.currency,l.currencyCodeEnabled),T=D(n,"onetimePrice");if(!T.length)return;const m=D(n,"onetimeContainer"),y=m.length?m[0].selector:'[part~="rc-purchase-option__onetime"]',I=p.querySelector(y)??p;for(const f of T){let v=null;try{v=I.querySelector(f.selector)}catch{v=null}v??=I.querySelector(`[part~="${f.selector}"]`),v&&v.textContent&&!v.textContent.includes(_)&&$(v,g=>/\d/.test(g)?_:g)}}a.subscriptionUpdateOneTime=h,h()}async function Ge(a,e){const{subscriptionPreviewRender:t}=await Ne(async()=>{const{subscriptionPreviewRender:i}=await Promise.resolve().then(()=>Xe);return{subscriptionPreviewRender:i}},void 0);return t(a.subscriptionData,a.priceData,a.isControl,e)}function je(a,e){const t=a.widget.selectors.widgetParent??[],i=a.widget.selectors.subscriptionPlans??[],s=a.widget.selectors.subscriptionInput??[];if(!t.length||!i.length||!s.length){e("[SUB-GLOBAL-HIDE] Missing required selectors â skipping");return}const r=t[0].selector,o=i[0].selector,n=s[0].selector;let l=!1,c=null,d=!1;function u(){if(!d){d=!0;try{h()}finally{d=!1}}}function h(){const C=document.querySelector(r);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(o);if(!_?.shadowRoot)return;_.shadowRoot!==c&&(c=_.shadowRoot,l=!1);let T=0;if(a.widget.widgetType==="buttons"||a.widget.widgetType==="radio"){const m=Array.from(_.shadowRoot.querySelectorAll(n));for(const f of m)if(a.planIds.includes(f.value)){f.disabled||(f.disabled=!0);const v=f.closest("label");v&&v.style.display!=="none"&&(v.style.display="none",T++)}const y=m.filter(f=>!a.planIds.includes(f.value));if(!y.some(f=>f.checked)&&!l&&y.length>0){l=!0;const f=y[0];f.closest("label")?.click(),f.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible plan input=${f.value}`)}const I=y.find(f=>f.checked)??y[0];
9if(I){const f=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const v of f)v.value!==I.value&&(v.value=I.value,e(`[SUB-GLOBAL-HIDE] Mirrored plan id ${I.value} to form selling_plan input`))}}else if(a.widget.widgetType==="dropdown"){const m=_.shadowRoot.querySelector("select");if(!m)return;for(const I of Array.from(m.options))a.planIds.includes(I.value)&&(I.style.display!=="none"&&(I.style.display="none"),I.disabled||(I.disabled=!0),T++);const y=Array.from(m.options).filter(I=>!a.planIds.includes(I.value)),w=y.some(I=>I.value===m.value);y.length>0&&!w&&!l&&(l=!0,m.value=y[0].value,m.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible option=${y[0].value}`))}T>0&&e(`[SUB-GLOBAL-HIDE] Hidden ${T} B-side plan buttons`)}const p={childList:!0,subtree:!0,characterData:!0};let b=null;function E(C){b?.disconnect(),b=new MutationObserver(()=>u()),b.observe(C,p)}function S(){const C=document.querySelector(r);if(!C?.shadowRoot)return!1;u(),new MutationObserver(()=>{u();const m=C.shadowRoot.querySelector(o);m?.shadowRoot&&E(m.shadowRoot)}).observe(C.shadowRoot,p);const T=C.shadowRoot.querySelector(o);return T?.shadowRoot&&E(T.shadowRoot),!0}if(!S()){e("[SUB-GLOBAL-HIDE] Widget not in DOM yet â waiting via MutationObserver");const C=new MutationObserver(()=>{S()&&C.disconnect()});C.observe(document.body??document.documentElement,{childList:!0,subtree:!0})}}const ue="Limited preview",Ke="Add-to-cart and checkout prices won't reflect this test until it launches â test selling plans are not created in your subscription app until after a test is launched.",Je=5e3;function Ye(){const a=document.createElement("div");a.id="shoplift-preview-subscription-warning";const e=document.createElement("span");e.id="shoplift-preview-subscription-warning__icon",e.setAttribute("aria-hidden","true"),e.textContent="!";const t=document.createElement("span");t.id="shoplift-preview-subscription-warning__label",t.textContent=ue;const i=document.createElement("div");i.id="shoplift-preview-subscription-warning__tooltip",i.setAttribute("role","tooltip"),i.textContent=Ke,a.appendChild(e),a.appendChild(t),a.appendChild(i),a.setAttribute("tabindex","0"),a.setAttribute("aria-describedby",i.id),a.setAttribute("aria-label",ue);let s=null;function r(){s!==null&&(clearTimeout(s),s=null)}function o(){i.classList.add("shoplift-preview-subscription-warning__tooltip--visible")}function n(){i.classList.remove("shoplift-preview-subscription-warning__tooltip--visible")}function l(){o(),r(),s=setTimeout(()=>{n(),s=null},Je)}function c(){r(),o()}function d(){s===null&&n()}a.addEventListener("mouseenter",c),a.addEventListener("mouseleave",d),a.addEventListener("focus",c),a.addEventListener("blur",d);function u(p){try{const b=p.target;if(!(b instanceof Element))return;(b.closest('form[action*="/cart/add"] button[type="submit"], form[action*="/cart/add"] input[type="submit"]')!==null||b.closest('[name="add"], button[name="add"], [data-add-to-cart], button[data-add-to-cart]')!==null)&&l()}catch{}}document.addEventListener("click",u,!0);function h(){r(),document.removeEventListener("click",u,!0),a.removeEventListener("mouseenter",c),a.removeEventListener("mouseleave",d),a.removeEventListener("focus",c),a.removeEventListener("blur",d),a.remove()}return{root:a,tooltip:i,cleanup:h}}let he=!1;class Ze{DATA_SL_ATTRIBUTE_P="data-sl-attribute-p";DATA_SL_TEST_ID="data-sl-test-id";VIEWPORT_TRACK_THRESHOLD=.5;temporarySessionKey="Shoplift_Session";essentialSessionKey="Shoplift_Essential";analyticsSessionKey="Shoplift_Analytics";priceSelectorsSessionKey="Shoplift_PriceSelectors_v2";shop;host;eventHost;disableReferrerOverride;legacySessionKey;cssHideClass;testConfigs;inactiveTestConfigs;hiddenSubscriptionPlans;testsFilteredByAudience;sendPageView;shopliftDebug;gaConfig;telemetryEnabled;getCountryTimeout;geoViaShopify;resolvedRegion=null;state;subscriptionPreviewWarningCleanup=null;shopifyAnalyticsId;cookie=document.cookie;isSyncing=!1;isSyncingGA=!1;fetch;localStorageSet;localStorageGet;sessionStorageSet=window.sessionStorage.setItem.bind(window.sessionStorage);sessionStorageGet=window.sessionStorage.getItem.bind(window.sessionStorage);
9urlParams=new URLSearchParams(window.location.search);device;logHistory;activeViewportObservers=new Map;clientIdRetryCount=0;constructor(e,t,i,s,r,o,n,l,c,d,u,h,p,b=!1){this.shop=e,this.host=t,this.eventHost=i,this.disableReferrerOverride=l,this.logHistory=[],this.legacySessionKey=`SHOPLIFT_SESSION_${this.shop}`,this.cssHideClass=s?"shoplift-hide":"",this.testConfigs=u.map(S=>({...S,startAt:new Date(S.startAt),statusHistory:S.statusHistory.map(C=>({...C,createdAt:new Date(C.createdAt)}))})),this.inactiveTestConfigs=h,this.hiddenSubscriptionPlans=p,this.sendPageView=!!r,this.shopliftDebug=o===!0,this.telemetryEnabled=c===!0,this.geoViaShopify=b===!0,this.gaConfig=n!=={"sendEvents":false,"mode":"gtag"}?n:{sendEvents:!1},this.fetch=window.fetch.bind(window),this.localStorageSet=window.localStorage.setItem.bind(window.localStorage),this.localStorageGet=window.localStorage.getItem.bind(window.localStorage);const E=this.getDeviceType();this.device=E!=="tablet"?E:"mobile",this.state=this.loadState(),this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.testsFilteredByAudience=u.filter(S=>
9S.status=="active"),this.getCountryTimeout=d===1000?1e3:d,window.__slReadCookie=S=>{const C=this.getCookie(S);if(C===null)return null;try{return decodeURIComponent(C)}catch{return C}},this.log("State Loaded",JSON.stringify(this.state))}deriveCategoryFromExistingTests(){if(!this.state.temporary.testCategory&&this.state.essential.visitorTests.length>0){const e=this.state.essential.visitorTests.some(t=>{if(!t.hypothesisId)return!1;const i=this.getHypothesis(t.hypothesisId);return i&&["theme","basicScript","price"].includes(i.type)});this.state.temporary.testCategory=e?"global":"conditional",this.persistTemporaryState(),this.log("Derived test category from existing visitorTests: %s",this.state.temporary.testCategory)}}async init(){try{if(this.log("Shoplift script initializing"),window.Shopify&&window.Shopify.designMode){this.log("Skipping script for design mode");return}if(window.location.href.includes("slScreenshot=true")){this.log("Skipping script for screenshot");return}if(window.location.hostname.endsWith(".edgemesh.com")){this.log("Skipping script for preview");return}if(window.location.href.includes("isShopliftMerchant")){const o=this.urlParams.get("isShopliftMerchant")==="true";this.log("Setting merchant session to %s",o),this.state.temporary.isMerchant=o,this.persistTemporaryState()}if(this.state.temporary.isMerchant){this.log("Setting up preview for merchant"),typeof window.shoplift!="object"&&this.setShopliftStub(),this.state.temporary.previewConfig||this.hidePage(),await this.initPreview(),document.querySelector("#sl-preview-bar-hide")?.remove();return}if(this.state.temporary.previewConfig=void 0,we(navigator.userAgent))return;const e=Date.now(),t=!this.state.temporary.lastSeen||e-this.state.temporary.lastSeen>1800*1e3;(!this.state.temporary.entryPage||t)&&(this.state.temporary.entryPage=K(window.location.href)),this.state.temporary.lastSeen=e,this.persistTemporaryState(),window.__slEntryPage=this.state.temporary.entryPage??"";const i=this.state.essential.visitorTests.filter(o=>o.hypothesisId&&+o.createdAt>Date.now()-6e4);if(i.length===0)this.sendDiagnosticTelemetry("page-landed",null);else for(const o of i)this.sendDiagnosticTelemetry("page-landed",o.testId,{hypothesisId:o.hypothesisId,isControl:o.assignedTo==="control",testType:o.testType??"unknown"});if(navigator.userAgent.includes("Chrome/118")){this.log("Random: %o",[Math.random(),Math.random(),Math.random()]);const o=await this.makeRequest({url:`${this.eventHost}/api/v0/events/ip`,method:"get"}).then(n=>n?.json());this.log(`IP: ${o}`),this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify(this.debugState(),ee)}).catch()}if(this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.monitorConsentChange(),this.checkForThemePreview())return;if(!this.disableReferrerOverride&&this.state.temporary.originalReferrer!=null){this.log(`Overriding referrer from '${document.referrer}' to '${this.state.temporary.originalReferrer}'`);const o=this.state.temporary.originalReferrer;delete this.state.temporary.originalReferrer,this.persistTemporaryState(),Object.defineProperty(document,"referrer",{get:()=>o,enumerable:!0,configurable:!0})}if(await this.refreshVisitor(this.shopifyAnalyticsId),await this.handleVisitorTest()){this.log("Redirecting for visitor test");return}this.setShoplift(),this.showPage(),this.ensureCartAttributesForExistingPriceTests(!1);const r=this.state.essential.visitorTests.some(o=>(o.hypothesisId?this.getHypothesis(o.hypothesisId):void 0)?.subscriptionData!=null)||Object.values(this.state.temporary.testReservations??{}).some(o=>this.getHypothesis(o.hypothesisId)?.subscriptionData!=null);this.hiddenSubscriptionPlans&&!r&&(this.log(`[SUB-GLOBAL] Visitor not in subscription test â hiding ${this.hiddenSubscriptionPlans.planIds.length} B-side plans`),je(this.hiddenSubscriptionPlans,o=>this.log(o))),await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange(),await this.finalize(),console.log("SHOPLIFT SCRIPT INITIALIZED!")}catch(e){if(e instanceof ie)return;throw e}finally{typeof window.shoplift!="object"&&this.setShopliftStub()}}getVariantColor(e){switch(e){case"a":return{text:"#141414",bg:"#E2E2E2"};case"b":return{text:"rgba(255, 255, 255, 1)",bg:"rgba(37, 99, 235, 1)"}}}getDefaultVariantTitle(e){return e.title?e.title:e.type==="price"?e.isControl?"Original prices":"Variant prices":e.isControl?"Original":"Untitled variant "+e.label.toUpperCase()}
9async initPreview(){const e=this.urlParams.get("previewConfig");if(e){this.state.temporary.previewConfig=void 0,this.log("Setting up the preview"),this.log("Found preview config, writing to temporary state");const t=await Oe(e);if(this.state.temporary.previewConfig=t,this.state.temporary.previewConfig.testTypeCategory===M.Price){this.hidePage(!0);const s=this.state.temporary.previewConfig;let r=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/${s.isDraft||!1}`;s.shopifyProductId&&(r+=`?productId=${s.shopifyProductId}`);const o=await this.makeJsonRequest({method:"get",url:r}).catch(n=>(this.log("Error getting domSelectors",n),null));if(s.variants.forEach(n=>n.domSelectors=o[n.id]?.domSelectors),s.isDraft){const n=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/subscription-preview`,l=await this.makeJsonRequest({method:"get",url:n}).catch(c=>(this.log("No subscription preview data for draft (test may not have a subscription widget)",c),null));l?.subscriptionData&&s.variants.forEach(c=>{c.subscriptionData=l.subscriptionData,c.priceData=l.priceData})}}this.persistTemporaryState();const i=new URL(window.location.toString());i.searchParams.delete("previewConfig"),this.queueRedirect(i)}else if(this.state.temporary.previewConfig){this.showPage();const t=this.state.temporary.previewConfig;if(t.testTypeCategory===M.Template&&this.handleTemplatePreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.UrlRedirect&&this.handleUrlPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Script&&this.handleScriptPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Price){const i=await this.handlePricePreview(t);t.isDraft?await this.handleSubscriptionPricePreview(t):await this.handleSubscriptionLivePreview(t),i&&this.initPreviewControls(t)}}}initPreviewControls(e){document.addEventListener("DOMContentLoaded",()=>{const t=e.variants.find(b=>b.id===e.currentVariant),i=t?.label||"a",s=e.variants,r=document.createElement("div");r.id="shoplift-preview-control";const o=document.createElement("div"),n=document.createElement("img");n.src=Ve,n.height=24,n.width=14,o.style.padding="0 16px",o.style.lineHeight="100%",o.appendChild(n),r.appendChild(o);const l=document.createElement("div");l.id="shoplift-preview-variant-selector";const c=document.createElement("button");c.id="shoplift-preview-variant-menu-trigger";const d=document.createElement("div");d.className="menu-variant-label",d.style.backgroundColor=this.getVariantColor(i).bg,d.style.color=this.getVariantColor(i).text,d.innerText=i.toUpperCase(),c.appendChild(d);const u=document.createElement("span");if(u.id="shoplift-preview-variant-title",u.innerText=t?this.getDefaultVariantTitle(t):"Untitled variant "+i.toUpperCase(),c.appendChild(u),s.length>1){const b=document.createElement("img");b.src=De,b.width=12,b.height=12,b.style.height="12px",b.style.width="12px",c.appendChild(b);const E=document.createElement("div");E.className="preview-variant-menu";for(const S of e.variants.filter(C=>C.id!==e.currentVariant)){const C=document.createElement("div");C.className="preview-variant-menu--item";const _=document.createElement("div");_.className="menu-variant-label",_.style.backgroundColor=this.getVariantColor(S.label).bg,_.style.color=this.getVariantColor(S.label).text,_.style.flexShrink="0",_.innerText=S.label.toUpperCase(),C.appendChild(_);const T=document.createElement("span");T.innerText=this.getDefaultVariantTitle(S),C.appendChild(T),C.addEventListener("click",()=>{this.pickVariant(S.id)}),E.appendChild(C)}l.appendChild(E),c.addEventListener("click",()=>{E.className!=="preview-variant-menu preview-variant-menu__visible"?E.classList.add("preview-variant-menu__visible"):E.classList.remove("preview-variant-menu__visible")}),document.addEventListener("click",S=>{S.target instanceof Element&&!c.contains(S.target)&&E.className==="preview-variant-menu preview-variant-menu__visible"&&E.classList.remove("preview-variant-menu__visible")})}else c.style.pointerEvents="none",d.style.margin="0";if(l.appendChild(c),r.appendChild(l),e.hasSubscription){this.subscriptionPreviewWarningCleanup?.();const b=Ye();r.appendChild(b.root),this.subscriptionPreviewWarningCleanup=b.cleanup}const h=document.createElement("div"),p=document.createElement("button");p.id="shoplift-exit-preview-button",p.innerText="Exit",h.appendChild(p),p.addEventListener("click",()=>{this.exitPreview()}),r.appendChild(h),document.body.appendChild(r),requestAnimationFrame(()=>{r.classList.add("visible")})}),this.ensureCartAttributesForExistingPriceTests(!0)}pickVariant(e){if(this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig,i=new URL(window.location.toString());if(t.testTypeCategory===M.UrlRedirect){const s=t.variants.find(r=>r.id===t.currentVariant)?.redirectUrl;if(i.pathname===s){const r=t.variants.find(o=>o.id===e)?.redirectUrl;r&&(i.pathname=r)}}if(t.testTypeCategory===M.Template){const s=t.variants.find(r=>r.id===t.currentVariant)?.pathName;if(s&&i.pathname===s){const r=t.variants.find(o=>o.id===e)?.pathName;r&&r!==s&&(i.pathname=r)}}t.currentVariant=e,this.persistTemporaryState(),this.queueRedirect(i)}}exitPreview(){const e=new URL(window.location.toString());if(this.state.temporary.previewConfig?.testTypeCategory===M.Template&&e.searchParams.delete("view"),this.state.temporary.previewConfig?.testTypeCategory===M.Script&&e.searchParams.delete("slVariant"),this.state.temporary.previewConfig?.testTypeCategory===M.UrlRedirect){const i=this.state.temporary.previewConfig.variants.filter(r=>!r.isControl&&r.redirectUrl!==null).map(r=>r.redirectUrl),s=this.state.temporary.previewConfig.variants.find(r=>r.label==="a")?.redirectUrl;i.includes(e.pathname)&&s&&(e.pathname=s)}this.state.temporary.isMerchant=!1,e.searchParams.delete("isShopliftMerchant"),this.state.temporary.previewConfig=void 0,this.persistTemporaryState(),this.subscriptionPreviewWarningCleanup?.(),this.subscriptionPreviewWarningCleanup=null,this.hidePage(),this.queueRedirect(e)}handleTemplatePreview(e){const t=e.currentVariant,i=e.variants.find(l=>l.id===t);if(!i)return!1;const s=e.variants.find(l=>l.isControl);if(!s)return!1;this.log("Setting up template preview for type",s.type);
9const r=new URL(window.location.toString()),o=r.searchParams.get("view"),n=i.type===s.type;return!n&&!i.isControl&&template.suffix===s.affix&&this.typeFromTemplate()===s.type&&i.pathName!==null?(this.log("Hit control template type, redirecting to the variant url"),this.hidePage(),r.pathname=i.pathName,this.queueRedirect(r),!0):(!i.isControl&&this.typeFromTemplate()==i.type&&template.suffix===s.affix&&n&&o!==(i.affix||"__DEFAULT__")&&(this.log("Template type and affix match control, updating the view param"),r.searchParams.delete("view"),this.log("Setting the new viewParam to",i.affix||"__DEFAULT__"),this.hidePage(),r.searchParams.set("view",i.affix||"__DEFAULT__"),this.queueRedirect(r)),o!==null&&o!==(i.affix||"__DEFAULT__")&&(r.searchParams.delete("view"),this.hidePage(),this.queueRedirect(r)),!0)}handleUrlPreview(e){const t=e.currentVariant,i=e.variants.find(o=>o.id===t),s=e.variants.find(o=>o.isControl)?.redirectUrl;if(!i)return!1;this.log("Setting up URL redirect preview");const r=new URL(window.location.toString());return r.pathname===s&&!i.isControl&&i.redirectUrl!==null&&(this.log("Url matches control, redirecting"),this.hidePage(),r.pathname=i.redirectUrl,this.queueRedirect(r)),!0}handleScriptPreview(e){const t=e.currentVariant,i=e.variants.find(o=>o.id===t);if(!i)return!1;this.log("Setting up script preview");const s=new URL(window.location.toString());return s.searchParams.get("slVariant")!==i.id&&(this.log("current id doesn't match the variant, redirecting"),s.searchParams.delete("slVariant"),this.log("Setting the new slVariantParam"),this.hidePage(),s.searchParams.set("slVariant",i.id),this.queueRedirect(s)),!0}async handlePricePreview(e){const t=e.currentVariant,i=e.variants.find(s=>s.id===t);return i?(this.log("Setting up price preview"),i.domSelectors&&i.domSelectors.length>0&&(U(document,{testId:e.testId,hypothesisId:i.id,selectors:i.domSelectors}),this.ensureCartAttributesForExistingPriceTests(!0)),!0):!1}async handleSubscriptionPricePreview(e){const t=e.variants.find(i=>i.id===e.currentVariant);t?.subscriptionData&&(this.log("Setting up subscription price preview"),await Ge({id:t.id,isControl:t.isControl,subscriptionData:t.subscriptionData,priceData:t.priceData},(i,...s)=>this.log(i,...s)))}async handleSubscriptionLivePreview(e){this.testConfigs.find(s=>s.id===e.testId)?.hypotheses.find(s=>s.id===e.currentVariant)?.subscriptionData&&(this.log("Setting up subscription live preview"),this.subscriptionSwapDone=!1,this.subscriptionOneTimeDone=!1,this.subscriptionPriceDone=!1,await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange())}async finalize(){const e=await this.getCartState();e!==null&&this.queueCartUpdate(e),this.pruneStateAndSave(),await this.syncAllEvents()}setShoplift(){this.log("Setting up public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:async s=>{if(this.log("Script checking variant for hypothesis '%s'",s),t)return this.log("Forcing variant for hypothesis '%s'",s),!0;if(i!==null)return this.log("Forcing hypothesis '%s'",i),s===i;const r=this.testConfigs.find(n=>n.hypotheses.some(l=>l.id===s));if(!r)return this.log("No test found for hypothesis '%s'",s),!1;const o=this.state.essential.visitorTests.find(n=>n.testId===r.id);return o?(this.log("Active visitor test found",s),o.hypothesisId===s):(await this.manuallySplitVisitor(r),this.testConfigs.some(n=>n.hypotheses.some(l=>l.id===s&&this.state.essential.visitorTests.some(c=>c.hypothesisId===l.id))))},setAnalyticsConsent:async s=>{await this.onConsentChange(s,!0)},getVisitorData:()=>({visitor:this.state.analytics.visitor,visitorTests:this.state.essential.visitorTests.filter(s=>!s.isInvalid).map(s=>{const{shouldSendToGa:r,savedAt:o,...n}=s;return n})})}}setShopliftStub(){this.log("Setting up stubbed public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:s=>Promise.resolve(t||s===i),setAnalyticsConsent:()=>Promise.resolve(),getVisitorData:()=>({visitor:null,visitorTests:[]})}}async manuallySplitVisitor(e){this.log("Starting manual split for test '%s'",e.id),await this.handleVisitorTest([e]);const t=this.getReservationForTest(e.id);t&&!t.isRealized&&t.entryCriteriaKey&&(this.log("Realizing manual API reservation for test '%s'",e.id),this.realizeReservationForCriteria(t.entryCriteriaKey)),this.saveState(),this.syncAllEvents()}async handleVisitorTest(e){await this.filterTestsByAudience(this.testConfigs,this.state.analytics.visitor??this.buildBaseVisitor(),this.state.essential.visitorTests),this.pruneStaleVisitorTests(),this.deriveC
9ategoryFromExistingTests(),this.clearStaleReservations();let t=e?e.filter(i=>this.testsFilteredByAudience.some(s=>s.id===i.id)):[...this.testsForUrl(this.testsFilteredByAudience),...this.domTestsForUrl(this.testsFilteredByAudience)];try{if(t.length===0)return this.log("No tests found"),!1;this.log("Checking for existing visitor test on page");const i=this.getCurrentVisitorHypothesis(t);if(i){this.log("Found current visitor test");const l=this.considerRedirect(i);return l&&(this.log("Redirecting for current visitor test"),this.redirect(i)),l}const s=this.getReservationForCurrentPage();if(s){this.log("Found matching reservation for current page: %s",s.testId);const l=this.getHypothesis(s.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(s.entryCriteriaKey);const c=this.considerRedirect(l);return c&&this.redirect(l),c}}this.log("No active test relation for test page");const r=this.testsForUrl(this.inactiveTestConfigs.filter(l=>this.testIsPaused(l)&&l.hypotheses.some(c=>this.state.essential.visitorTests.some(d=>d.hypothesisId===c.id)))).map(l=>l.id);if(r.length>0)return this.log("Visitor has paused tests for test page, skipping test assignment: %o",r),!1;if(!this.state.temporary.testCategory){const l=this.testsFilteredByAudience.filter(d=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d))),c=this.testsFilteredByAudience.filter(d=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d)));if(this.log("Category dice roll - global tests: %o, conditional tests: %o",l.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)})),c.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)}))),l.length>0&&c.length>0){const d=l.length,u=c.length,h=d+u,p=Math.random()*h;this.state.temporary.testCategory=p<d?"global":"conditional",this.log("Category dice roll: rolled %.2f of %d (global weight: %d, conditional weight: %d), selected '%s'",p,h,d,u,this.state.temporary.testCategory)}else l.length>0?(this.state.temporary.testCategory="global",this.log("Only global tests available, setting category to global")):(this.state.temporary.testCategory="conditional",this.log("Only conditional tests available, setting category to conditional"));this.persistTemporaryState()}const o=this.state.temporary.testCategory;if(this.log("Visitor test category: %s",o),o==="global"){const l=this.testsFilteredByAudience.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:global");t=t.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}else{const l=this.testsFilteredByAudience.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:conditional");t=t.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}if(t.length===0)return this.log("No tests remaining after category filter"),!1;this.createReservations(t);const n=this.getReservationForCurrentPage();if(n&&!n.isRealized){const l=this.getHypothesis(n.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(n.entryCriteriaKey);const c=this.considerRedirect(l);return c&&(this.log("Redirecting for new test"),this.redirect(l)),c}}return!1}finally{this.includeInDomTests(),this.saveState()}}includeInDomTests(){this.applyControlForAudienceFilteredPriceTests();const e=this.getDomTestsForCurrentUrl(),t=this.getVisitorDomHypothesis(e);for(const i of e){this.log("Evaluating dom test '%s'",i.id);const s=i.hypotheses.some(p=>p.type==="price");if(this.state.essential.visitorTests.find(p=>p.testId===i.id&&p.isInvalid&&!p.hypothesisId)){if(this.log("Visitor is blocked from test '%s', applying control prices if price test",i.id),s){const p=i.hypotheses.find(b=>b.isControl);p?.priceData&&(this.applyPriceTestWithMapLookup(i.id,p,[p],()=>{this.log("Control prices applied for blocked visitor, no metrics tracked")}),this.updatePriceTestHiddenInputs(i.id,"control",!1))}continue}const o=this.getReservationForTest(i.id);let n=null,l=!1;const c=t.find(p=>i.hypotheses.some(b=>p.id===b.id));if(o)n=this.getHypothesis(o.hypothesisId)??null,this.log("Using reserved hypothesis '%s' for test '%s'",o.hypothesisId,i.id);else if(c)n=c,this.log("Using existing hypothesis assignment for test '%s'",i.id);else if(s){const p=this.visitorActiveTestTypeWithReservations();p?(l=!0,this.log("Visitor already in test type '%s', treating as non-test for price test '%s'",p,i.id)):n=this.pickHypothesis(i)}else n=this.pickHypothesis(i);if(l&&s){const p=i.hypotheses.find(b=>b.isControl);p?.priceData&&(this.log("Applying control prices for non-test visitor on price test '%s' (Map-based)",i.id),this.applyPriceTestWithMapLookup(i.id,p,[p],()=>{this.log("Control prices applied for non-test visitor, no metrics tracked")}
9),this.updatePriceTestHiddenInputs(i.id,"control",!1));continue}if(!n){this.log("Failed to pick hypothesis for test");continue}this.sendDiagnosticTelemetry("assignment",i.id,{hypothesisId:n.id,isControl:n.isControl,testType:n.type});const d=i.bayesianRevision??4,u=n.type==="price",h=d>=5;if(u&&h){if(this.log(`Price test with Map-based lookup (v${d}): ${i.id}`),!n.priceData){this.log("No price data for hypothesis '%s', skipping",n.id);continue}const p=n.isControl?"control":"variant";this.log(`Setting up Map-based price test for ${p} (test: ${i.id})`),this.applyPriceTestWithMapLookup(i.id,n,i.hypotheses,b=>{const E=this.getReservationForTest(b);E&&!E.isRealized&&E.entryCriteriaKey?this.realizeReservationForCriteria(E.entryCriteriaKey):this.queueAddVisitorToTest(b,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(u&&!h){this.log(`Price test without viewport tracking (v${d}): ${i.id}`);const p=this.getDomSelectorsForHypothesis(n);if(p.length===0)continue;U(document,{testId:i.id,hypothesisId:n.id,selectors:p},b=>{this.queueAddVisitorToTest(b,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(!n.domSelectors||n.domSelectors.length===0){this.log("No selectors found, skipping hypothesis");continue}U(document,{testId:i.id,hypothesisId:n.id,selectors:n.domSelectors},p=>{this.queueAddVisitorToTest(p,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()})}}considerRedirect(e){if(this.log("Considering redirect for hypothesis '%s'",e.id),e.isControl)return this.log("Skipping redirect for control"),!1;if(e.type==="basicScript"||e.type==="manualScript")return this.log("Skipping redirect for script test"),!1;const t=this.state.essential.visitorTests.find(o=>o.hypothesisId===e.id),i=new URL(window.location.toString()),r=new URLSearchParams(window.location.search).get("view");if(e.type==="theme"){if(!(e.themeId===themeId)){if(this.log("Theme id '%s' is not hypothesis theme ID '%s'",e.themeId,themeId),this.isAppProxyPath())return this.log("On App Proxy path, skipping theme redirect to avoid infinite loop"),!1;if(t&&t.themeId!==e.themeId&&(t.themeId===themeId||!this.isThemePreview()))this.log("On old theme, redirecting and updating local visitor"),t.themeId=e.themeId;else if(this.isThemePreview())return this.log("On non-test theme, skipping redirect"),!1;return this.log("Hiding page to redirect for theme test"),this.hidePage(),!0}return!1}else if(e.type!=="dom"&&e.type!=="price"&&e.affix!==template.suffix&&e.affix!==r||e.redirectPath&&!i.pathname.endsWith(e.redirectPath))return this.log("Hiding page to redirect for template test"),this.hidePage(),!0;return this.log("Not redirecting"),!1}redirect(e){if(this.log("Redirecting to hypothesis '%s'",e.id),e.isControl)return;const t=new URL(window.location.toString());if(t.searchParams.delete("view"),e.redirectPath){const n=RegExp("^(/w{2}-w{2})/").exec(t.pathname);if(n&&n.length>1){const l=n[1];t.pathname=`${l}${e.redirectPath}`}else t.pathname=e.redirectPath}else e.type==="theme"?(t.searchParams.set("_ab","0"),t.searchParams.set("_fd","0"),t.searchParams.set("_sc","1"),t.searchParams.set("preview_theme_id",e.themeId.toString())):e.type!=="urlRedirect"&&t.searchParams.set("view",e.affix);const i=this.state.essential.visitorTests.find(n=>n.hypothesisId===e.id)?.testId,s=t.pathname+t.search,r=window.location.pathname+window.location.search,o=K(t.hash);if(i&&s!==r&&!o){const n=qe(),l=He({v:2,t:i,n,fh:Me(window.location.pathname+window.location.search)});t.hash=`slr-${n}`;const c=new Date(Date.now()+3e4).toUTCString();document.cookie=`shoplift_redirect=${l};domain=.${window.location.hostname};path=/;SameSite=Strict;expires=${c}`}s===r&&this.showPage(),this.queueRedirect(t)}async refreshVisitor(e){if(e===null||!this.state.essential.isFirstLoad||!this.testConfigs.some(i=>i.visitorOption!=="all"))return;this.log("Refreshing visitor"),this.hidePage();const t=await this.getVisitor(e);t&&t.id&&this.updateLocalVisitor(t)}buildBaseVisitor(){return{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.device,country:null,...this.state.essential.initialState}}getInitialState(){const e=this.getUTMValue("utm_source")??"",t=this.getUTMValue("utm_medium")??"",i=this.getUTMValue("utm_campaign")??"",s=this.getUTMValue("utm_content")??"",r=window.document.referrer,o=this.device;return{createdAt:new Date,utmSource:e,utmMedium:t,utmCampaign:i,utmContent:s,referrer:r,device:o}}checkForThemePreview(){return this.log("Checking for theme preview"),window.location.hostname.endsWith(".shopifypreview.com")?(this.log("on shopify preview domain"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!1):this.isThemePreview()?this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("On active theme test, remov
9ing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&!this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("Visitor is on an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.state.essential.isFirstLoad?(this.log("No visitor found on theme preview, redirecting to main theme"),this.redirectToMainTheme(),!0):this.inactiveTestConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Current theme is an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.testConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Falling back to clearing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):(this.log("No tests on current theme, skipping script"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!0):(this.log("Not on theme preview"),this.clearThemeBar(!0,!1,this.state),!1)}redirectToMainTheme(){this.hidePage();const e=new URL(window.location.toString());e.searchParams.set("preview_theme_id",""),this.queueRedirect(e)}testsForUrl(e){const t=new URL(window.location.href),i=this.typeFromTemplate();return e.filter(s=>s.hypotheses.some(r=>r.type!=="dom"&&r.type!=="price"&&(r.isControl&&r.type===i&&r.affix===template.suffix||r.type==="theme"||r.isControl&&r.type==="urlRedirect"&&r.redirectPath&&t.pathname.endsWith(r.redirectPath)||r.type==="basicScript"))&&(s.ignoreTestViewParameterEnforcement||!t.searchParams.has("view")||s.hypotheses.map(r=>r.affix).includes(t.searchParams.get("view")??"")))}domTestsForUrl(e){const t=new URL(window.location.href);return e.filter(i=>i.hypotheses.some(s=>s.type!=="dom"&&s.type!=="price"?!1:s.type==="price"&&s.priceData&&s.priceData.variants.length>0?!0:s.domSelectors&&s.domSelectors.some(r=>new RegExp(se(r)).test(K(t.toString())))))}async filterTestsByAudience(e,t,i){const s=[],r=e.some(n=>(n.requiresRegion||this.geoViaShopify&&n.requiresCountry)&&!i.some(l=>l.testId===n.id));this.resolvedRegion===null&&r&&(this.log("Hiding page to wait for Shopify region resolution"),this.hidePage(),await this.waitForResolvedRegion()),window.__slRegion=this.resolvedRegion??"";let o=t.country;this.geoViaShopify?o=this.resolvedRegion?this.resolvedRegion.slice(0,2):o:!o&&e.some(n=>n.requiresCountry&&!i.some(l=>l.testId===n.id))&&(this.log("Hiding page to check geoip"),this.hidePage(),o=await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/get-country`,signal:AbortSignal.timeout(this.getCountryTimeout)}).catch(n=>(this.log("Error getting country",n),null)));for(const n of e){if(this.log("Checking audience for test '%s'",n.id),this.state.essential.visitorTests.some(d=>d.testId===n.id&&d.hypothesisId==null)){console.log(`Skipping blocked test '${n.id}'`);continue}const l=this.visitorCreatedDuringTestActive(n.statusHistory);(i.some(d=>d.testId===n.id&&(n.device==="all"||n.device===t.device&&n.device===this.device))||this.isTargetAudience(n,t,l,o))&&(this.log("Visitor is in audience for test '%s'",n.id),s.push(n))}this.testsFilteredByAudience=s}async waitForResolvedRegion(e=1500,t=50){const i=Date.now();for(;this.resolvedRegion===null&&Date.now()-i<e;)await new Promise(s=>window.setTimeout(s,t))}isTargetAudience(e,t,i,s){const r=this.getChannel(t);return(e.device==="all"||e.device===t.device&&e.device===this.device)&&(e.visitorOption==="all"||e.visitorOption==="new"&&i||e.visitorOption==="returning"&&!i)&&(e.targetAudiences.length===0||e.targetAudiences.reduce((o,n)=>o||n.reduce((l,c)=>l&&c(t,i,r,s),!0),!1))}visitorCreatedDuringTestActive(e){let t="";for(const i of e){if(this.state.analytics.visitor!==null&&this.state.analytics.visitor.createdAt<i.createdAt||this.state.essential.initialState.createdAt<i.createdAt)break;t=i.status}return t==="active"}getDomTestsForCurrentUrl(){return this.domTestsForUrl(this.testsFilteredByAudience)}getCurrentVisitorHypothesis(e){return e.flatMap(t=>t.hypotheses).find(t=>t.type!=="dom"&&t.type!=="price"&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getVisitorDomHypothesis(e){return e.flatMap(t=>t.hypotheses).filter(t=>(t.type==="dom"||t.type==="price")&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getHypothesis(e){return this.testConfigs.filter(t=>t.hypotheses.some(i=>i.id===e)).map(t=>t.hypotheses.find(i=>i.id===e))[0]}getActiveAssignment(){if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;return t.currentVariant&&t.testId?{testId:t.testId,hypothesisId:t.currentVariant}:null}const e=this.state.essential.visitorTests.find(t=>t.hypothesisId);return e?.hypothesisId?{testId:e.testId,hypothesisId:e.hypothesisId}:null}findActiveSubscriptionTestControl(){for(const e of this.testConfigs){const t=e.hypotheses.find(i=>i.isControl);if(t?.subscriptionData)return{testId:e.id,hypothesis:t}}return null}getDomSelectorsForHypothesis(e){if(!e)return[];if(e.domSelectors&&e.domSelectors.length>0)return e.domSelectors;if(e.priceData){const t=`${this.priceSelectorsSessionKey}_${e.id}`;try{const s=sessionStorage.getItem(t);if(s){const r=JSON.parse(s);return e.domSelectors=r,this.log("Loaded %d price selectors from cache for hypothesis '%s'",r.length,e.id),r}}catch{}const i=$e(e.priceData);e.domSelectors=i;try{sessionStorage.setItem(t,JSON.stringify(i)),this.log("Generated and cached %d price selectors for hypothesis '%s'",i.length,e.id)}catch{this.log("Generated %d price selectors for hypothesis '%s' (cache unavailable)",i.length,e.id)}return i}return[]}hasThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type==="theme"))}hasTestThatIsNotThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type!=="theme"&&i.type!=="dom"&&i.type!=="price"))}hasThemeAndOtherTestTypes(e){return this.hasThemeTest(e)&&this.hasTestThatIsNotThemeTest(e)}testIsPaused(e){return e.status==="paused"||e.status==="incompatible"||e.status==="suspended"}visitorActiveTestType(){const e=this.state.essential.visitorTests.filter(t=>this.testConfigs.some(i=>i.hypotheses.some(s=>s.id==t.hypothesisId)));return e.length===0?null:e.some(t=>t.isThemeTest)?"theme":"templateOrUrlRedirect"}getReservationType(e){return e==="price"||this.isTemplateTestType(e)?"deferred":"immediate"}isTemplateTestType(e){return["product","collection","landing","index","cart","search","blog","article","collectionList"].includes(e)}getEntryCriteriaKey(e){const t=e.hypotheses.find(i=>i.isControl);if(!t)return`unknown:${e.id}`;switch(t.type){case"theme":return"global:theme";case"basicScript":return"global:autoApi";case"price":return"global:price";case"manualScript":return`conditional:manualApi:${e.id}`;case"urlRedirect":return`conditional:url:${t.redirectPath||"unknown"}`;default:return`conditional:template:${t.type}`}}isGlobalEntryCriteria(e){return e.startsWith("global:")}groupTestsByEntryCriteria(e){const t=new Map;for(const i of e){const s=this.getEntryCriteriaKey(i),r=t.get(s)||[];r.push(i),t.set(s,r)}return t}doesCurrentPageMatchEntryCriteria(e){if(this.isGlobalEntryCriteria(e))return!0;
9if(e==="conditional:manualApi")return!1;if(e.startsWith("conditional:url:")){const t=e.replace("conditional:url:","");return window.location.pathname.endsWith(t)}if(e.startsWith("conditional:template:")){const t=e.replace("conditional:template:","");return this.typeFromTemplate()===t}return!1}hasActiveReservation(){const e=this.getActiveReservations();return Object.values(e).some(t=>!t.isRealized)}getActiveReservation(){const e=this.getActiveReservations();return Object.values(e).find(t=>!t.isRealized)??null}clearStaleReservations(){const e=this.state.temporary.testReservations;if(!e)return;let t=!1;for(const[i,s]of Object.entries(e)){const r=this.testConfigs.find(n=>n.id===s.testId);if(!r){this.log("Test '%s' no longer in config, clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0;continue}if(r.status!=="active"){this.log("Test '%s' status is '%s', clearing reservation for criteria '%s'",s.testId,r.status,i),delete e[i],t=!0;continue}this.testsFilteredByAudience.some(n=>n.id===s.testId)||(this.log("Visitor no longer passes audience for test '%s', clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0)}t&&this.persistTemporaryState()}createReservations(e){if(this.state.temporary.testReservations||(this.state.temporary.testReservations={}),this.state.temporary.rolledEntryCriteria||(this.state.temporary.rolledEntryCriteria=[]),this.state.temporary.testCategory==="global"){this.createSingleReservation(e,"global");return}const i=e.filter(n=>this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(n))),s=e.filter(n=>!this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(n)));this.log("Conditional tests split - matching current page: %d, not matching: %d",i.length,s.length),i.length>0&&this.log("Tests matching current page (same pool): %o",i.map(n=>({id:n.id,title:n.title,criteria:this.getEntryCriteriaKey(n)})));const r=`conditional:current-page:${this.typeFromTemplate()}`;if(i.length>0&&!this.state.temporary.rolledEntryCriteria.includes(r)){this.createSingleReservation(i,r);for(const n of i){const l=this.getEntryCriteriaKey(n);this.state.temporary.rolledEntryCriteria.includes(l)||this.state.temporary.rolledEntryCriteria.push(l)}}const o=this.groupTestsByEntryCriteria(s);for(const[n,l]of o){if(this.state.temporary.rolledEntryCriteria.includes(n)){this.log("Already rolled for criteria '%s', skipping",n);continue}if(l.some(S=>this.state.essential.visitorTests.some(C=>C.testId===S.id))){this.log("Visitor already has VT for criteria '%s', skipping",n),this.state.temporary.rolledEntryCriteria.push(n);continue}const d=[...l].sort((S,C)=>S.id.localeCompare(C.id));this.log("Test dice roll for criteria '%s' - available tests: %o",n,d.map(S=>({id:S.id,title:S.title})));const u=Math.floor(Math.random()*d.length),h=d[u];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",u+1,l.length,h.id,h.title);const p=this.pickHypothesis(h);if(!p){this.log("No hypothesis picked for test '%s'",h.id);continue}this.sendDiagnosticTelemetry("assignment",h.id,{hypothesisId:p.id,isControl:p.isControl,testType:p.type});const b=this.getReservationType(p.type),E={testId:h.id,hypothesisId:p.id,testType:p.type,reservationType:b,isThemeTest:p.type==="theme",themeId:p.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:n};this.state.temporary.testReservations[n]=E,this.state.temporary.rolledEntryCriteria.push(n),this.log("Created %s reservation for test '%s' (criteria: %s)",b,h.id,n);for(const S of l)S.id!==h.id&&this.markTestAsBlocked(S,n)}this.persistTemporaryState()}createSingleReservation(e,t){if(this.state.temporary.rolledEntryCriteria.includes(t)){this.log("Already rolled for pool '%s', skipping",t);return}if(e.some(u=>this.state.essential.visitorTests.some(h=>h.testId===u.id&&!h.isInvalid))){this.log("Visitor already has VT for pool '%s', skipping",t),this.state.temporary.rolledEntryCriteria.push(t);return}if(e.length===0){this.log("No tests in pool '%s'",t);return}const s=[...e].sort((u,h)=>u.id.localeCompare(h.id));this.log("Test dice roll for pool '%s' - available tests: %o",t,s.map(u=>({id:u.id,title:u.title,criteria:this.getEntryCriteriaKey(u)})));const r=Math.floor(Math.random()*s.length),o=s[r];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",r,e.length,o.id,o.title);const n=this.pickHypothesis(o);if(!n){this.log("No hypothesis picked for test '%s'",o.id);return}this.sendDiagnosticTelemetry("assignment",o.id,{hypothesisId:n.id,isControl:n.isControl,testType:n.type});const l=this.getReservationType(n.type),c=this.getEntryCriteriaKey(o),d={testId:o.id,hypothesisId:n.id,testType:n.type,reservationType:l,isThemeTest:n.type==="theme",themeId:n.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:c};this.state.temporary.testReservations[c]=d,this.state.temporary.rolledEntryCriteria.push(t),this.log("Created %s reservation for test '%s' from pool '%s' (criteria: %s)",l,o.id,t,c);for(const u of e)u.id!==o.id&&this.markTestAsBlocked(u,`pool:${t}`);this.persistTemporaryState()}markTestAsBlocked(e,t){this.state.essential.visitorTests.some(i=>i.testId===e.id)||(this.log("Blocking visitor from test '%s' (reason: %s)",e.id,t),this.state.essential.visitorTests.push({createdAt:new Date,testId:e.id,hypothesisId:null,isThemeTest:e.hypotheses.some(i=>
9i.type==="theme"),shouldSendToGa:!1,isSaved:!0,isInvalid:!0,themeId:void 0}))}realizeReservationForCriteria(e){const t=this.state.temporary.testReservations?.[e];if(!t)return this.log("No reservation found for criteria '%s'",e),!1;if(t.isRealized)return this.log("Reservation already realized for criteria '%s'",e),!1;if(this.state.essential.visitorTests.some(s=>s.testId===t.testId&&!s.isInvalid))return this.log("Visitor already assigned to test '%s'",t.testId),!1;const i=this.getHypothesis(t.hypothesisId);return i?(t.isRealized=!0,this.persistTemporaryState(),this.queueAddVisitorToTest(t.testId,i),this.saveState(),this.log("Realized reservation for test '%s' (criteria: %s)",t.testId,e),!0):(this.log("Hypothesis '%s' not found",t.hypothesisId),!1)}getActiveReservations(){return this.state.temporary.testReservations??{}}getReservationForCurrentPage(){const e=this.getActiveReservations();for(const[t,i]of Object.entries(e)){if(i.isRealized)continue;const s=this.testConfigs.find(r=>r.id===i.testId);if(!(!s||s.status!=="active")&&this.doesCurrentPageMatchEntryCriteria(t))return i}return null}getReservationForTest(e){const t=this.getActiveReservations();return Object.values(t).find(i=>i.testId===e)??null}getReservationTestType(){const e=this.getActiveReservations(),t=Object.values(e);if(t.length===0)return null;for(const i of t)if(i.isThemeTest)return"theme";for(const i of t)if(i.testType==="price")return"price";return t.some(i=>!i.isRealized)?"templateOrUrlRedirect":null}hasPriceTests(e){return e.some(t=>t.hypotheses.some(i=>i.type==="price"))}_priceTestProductIds=null;getPriceTestProductIds(){if(this._priceTestProductIds)return this._priceTestProductIds;const e=new Set;for(const t of this.testConfigs)for(const i of t.hypotheses)if(i.type==="price"){for(const s of i.domSelectors||[]){const r=s.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);r?.[1]&&e.add(r[1])}if(i.priceData?.variants)for(const[s]of i.priceData.variants)e.add(s)}return this._priceTestProductIds=e,this.log("Built price test product ID cache with %d products",e.size),e}isProductInAnyPriceTest(e){return this.getPriceTestProductIds().has(e)}visitorActiveTestTypeWithReservations(){const e=this.getActiveReservations();for(const r of Object.values(e)){if(r.isThemeTest)return"theme";if(r.testType==="price")return"price"}if(Object.values(e).some(r=>!r.isRealized)){if(this.state.temporary.testCategory==="global")for(const o of Object.values(e)){if(o.testType==="theme")return"theme";if(o.testType==="price")return"price";if(o.testType==="basicScript")return"theme"}return"templateOrUrlRedirect"}const i=this.state.essential.visitorTests.filter(r=>!r.isInvalid&&this.testConfigs.some(o=>o.hypotheses.some(n=>n.id===r.hypothesisId)));return i.length===0?null:i.some(r=>this.getHypothesis(r.hypothesisId)?.type==="price")?"price":i.some(r=>r.isThemeTest)?"theme":"templateOrUrlRedirect"}applyControlForAudienceFilteredPriceTests(){const e=this.testConfigs.filter(s=>s.status==="active"&&s.hypotheses.some(r=>r.type==="price"));if(e.length===0)return;const t=this.testsFilteredByAudience.filter(s=>s.hypotheses.some(r=>r.type==="price")),i=e.filter(s=>!t.some(r=>r.id===s.id));if(i.length!==0){this.log("Found %d price tests filtered by audience, applying control selectors",i.length);for(const s of i){const r=s.hypotheses.find(c=>c.isControl),o=this.getDomSelectorsForHypothesis(r);if(o.length===0){this.log("No control selectors for audience-filtered price test '%s'",s.id);continue}const n=new URL(window.location.href);o.some(c=>{try{return new RegExp(se(c)).test(K(n.toString()))}catch{return!1}})&&(this.log("Applying control selectors for audience-filtered price test '%s'",s.id),U(document,{testId:s.id,hypothesisId:r.id,selectors:o},()=>{}),this.updatePriceTestHiddenInputs(s.id,"control",!1))}}}pickHypothesis(e){let t=Math.random();const i=e.hypotheses.reduce((r,o)=>r+o.visitorCount,0);return e.hypotheses.sort((r,o)=>r.isControl?o.isControl?0:-1:o.isControl?1:0).reduce((r,o)=>{if(r!==null)return r;const l=e.hypotheses.reduce((c,d)=>c&&d.visitorCount>20,!0)?o.visitorCount/i-o.trafficPercentage:0;return t<=o.trafficPercentage-l?o:(t-=o.trafficPercentage-l,null)},null)}typeFromTemplate(){switch(template.type){case"list-collections":return"collectionList";case"page":return"landing";case"article":case"blog":case"cart":case"collection":case"index":case"product":case"search":return template.type;default:return null}}queueRedirect(e){this.saveState(),this.disableReferrerOverride||(this.log(`Saving temporary referrer override '${document.referrer}'`),this.state.temporary.originalReferrer=document.referrer,this.persistTemporaryState()),window.setTimeout(()=>window.location.assign(e),0),window.setTimeout(()=>{this.syncAllEvents()},2e3)}scheduleRetrySync(){this.clientIdRetryCount>=5||(this.clientIdRetryCount++,window.setTimeout(()=>{this.syncAllEvents()},500))}async syncAllEvents(){const e=async()=>
9{if(this.isSyncing){window.setTimeout(()=>{(async()=>await e())()},500);return}try{if(this.isSyncing=!0,this.syncGAEvents(),this.shopifyAnalyticsId||(this.shopifyAnalyticsId=this.getShopifyAnalyticsId()),!this.shopifyAnalyticsId){this.scheduleRetrySync();return}await this.syncEvents()}finally{this.isSyncing=!1}};await e()}async syncEvents(){if(!this.state.essential.consentApproved||!this.shopifyAnalyticsId||this.state.analytics.queue.length===0)return;const e=this.state.analytics.queue.length,t=this.state.analytics.queue.splice(0,e);this.log("Syncing %s events",e);try{const i={shop:this.shop,visitorDetails:{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.state.analytics.visitor?.device??this.device,country:this.state.analytics.visitor?.country??null,...this.state.essential.initialState},events:this.state.essential.visitorTests.filter(r=>!r.isInvalid&&!r.isSaved&&r.hypothesisId!=null).map(r=>new be(r.testId,r.hypothesisId,r.createdAt)).concat(t)};await this.sendEvents(i);for(const r of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved&&o.hypothesisId!=null))this.sendDiagnosticTelemetry("event-delivered",r.testId,{hypothesisId:r.hypothesisId,isControl:r.assignedTo==="control",testType:r.testType??"unknown"});const s=await this.getVisitor(this.shopifyAnalyticsId);s!==null&&this.updateLocalVisitor(s);for(const r of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved))r.isSaved=!0,r.savedAt=Date.now()}catch{this.state.analytics.queue.splice(0,0,...t)}finally{this.saveState()}}syncGAEvents(){if(!this.gaConfig.sendEvents){if(he)return;he=!0,this.log("UseGtag is false â skipping GA Events");return}if(this.isSyncingGA){this.log("Already syncing GA - skipping GA events");return}const e=this.state.essential.visitorTests.filter(t=>t.shouldSendToGa);e.length!==0&&(this.isSyncingGA=!0,this.log("Syncing %s GA Events",e.length),Promise.allSettled(e.map(t=>this.sendGAEvent(t))).then(()=>this.log("All gtag events sent")).finally(()=>this.isSyncingGA=!1))}sendGAEvent(e){return new Promise(t=>{this.log("Sending GA Event for test %s, hypothesis %s",e.testId,e.hypothesisId);const i=()=>{this.log("GA acknowledged event for hypothesis %s",e.hypothesisId),e.shouldSendToGa=!1,this.persistEssentialState(),t()},s={exp_variant_string:`SL-${e.testId}-${e.hypothesisId}`};
9this.shopliftDebug&&Object.assign(s,{debug_mode:!0});function r(o,n,l){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}this.gaConfig.mode==="gtag"?r("event","experience_impression",{...s,event_callback:i}):(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"experience_impression",...s,eventCallback:i}))})}updateLocalVisitor(e){let t;({visitorTests:t,...this.state.analytics.visitor}=e),this.log("updateLocalVisitor - server returned %d tests: %o",t.length,t.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isInvalid:s.isInvalid}))),this.log("updateLocalVisitor - local has %d tests: %o",this.state.essential.visitorTests.length,this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid})));const i=300*1e3;for(const s of this.state.essential.visitorTests.filter(r=>r.isSaved&&(!r.savedAt||Date.now()-r.savedAt>i)&&!t.some(o=>o.testId===r.testId)))this.log("updateLocalVisitor - marking LOCAL test as INVALID (isSaved && not in server): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),s.isInvalid=!0;for(const s of t){const r=this.state.essential.visitorTests.findIndex(n=>n.testId===s.testId);if(!(r!==-1))this.log("updateLocalVisitor - ADDING server test (not found locally): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),this.state.essential.visitorTests.push(s);else{const n=this.state.essential.visitorTests.at(r);this.log("updateLocalVisitor - REPLACING local test with server test: testId=%s, local hypothesisId=%s -> server hypothesisId=%s, local isInvalid=%s -> false",s.testId,n?.hypothesisId,s.hypothesisId,n?.isInvalid),s.isInvalid=!1,s.shouldSendToGa=n?.shouldSe
9ndToGa??!1,s.testType=n?.testType,s.assignedTo=n?.assignedTo,s.testTitle=n?.testTitle,this.state.essential.visitorTests.splice(r,1,s)}}this.log("updateLocalVisitor - FINAL local tests: %o",this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid}))),this.state.analytics.visitor.storedAt=new Date}async getVisitor(e){try{return await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/by-key/${this.shop}/${e}`})}catch{return null}}async sendEvents(e){await this.makeRequest({method:"post",url:`${this.eventHost}/api/v0/events`,data:JSON.stringify(e)})}sendDiagnosticTelemetry(e,t,i){if(!this.telemetryEnabled||!navigator.sendBeacon)return;const s=this.state.essential.consentApproved,r=JSON.stringify({shop:this.shop,testId:t,checkpoint:e,device:this.device,...s?{visitorId:this.shopifyAnalyticsId??"unknown"}:{},clientTimestamp:Date.now(),consentApproved:s,hasConsentInteraction:this.state.essential.hasConsentInteraction,...i});navigator.sendBeacon(`${this.eventHost}/api/v0/telemetry`,new Blob([r],{type:"text/plain"}))}getUTMValue(e){const i=decodeURIComponent(window.location.search.substring(1)).split("&");for(let s=0;s<i.length;s++){const r=i[s].split("=");if(r[0]===e)return r[1]||null}return null}hidePage(e){this.log("Hiding page"),this.cssHideClass&&!window.document.documentElement.classList.contains(this.cssHideClass)&&(window.document.documentElement.classList.add(this.cssHideClass),e||setTimeout(this.removeAsyncHide(this.cssHideClass),2e3))}showPage(){this.cssHideClass&&this.removeAsyncHide(this.cssHideClass)()}getDeviceType(){function e(){let i=!1;return(function(s){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}function t(){let i=!1;return(function(s){(/android|ipad|playbook|silk/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
9sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}return e()?"mobile":t()?"tablet":"desktop"}removeAsyncHide(e){return()=>{e&&window.document.documentElement.classList.remove(e)}}async getCartState(){try{let e=await this.makeJsonRequest({method:"get",url:`${window.location.origin}/cart.js`});return e===null||(e.note===null&&(e=await this.makeJsonRequest({method:"post",url:`${window.location.origin}/cart/update.js`,data:JSON.stringify({note:""})})),e==null)?null:{token:e.token,total_price:e.total_price,total_discount:e.total_discount,currency:e.currency,items_subtotal_price:e.items_subtotal_price,items:e.items.map(t=>({quantity:t.quantity,variant_id:t.variant_id,key:t.key,price:t.price,final_line_price:t.final_line_price,sku:t.sku,product_id:t.product_id}))}}catch(e){return this.log("Error sending cart info",e),null}}ensureCartAttributesForExistingPriceTests(e){try{if(this.log("Checking visitor assignments for active price tests"),e&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;this.log("Using preview config for merchant:",t.testId);let i="variant";if(t.variants&&t.variants.length>0){const s=t.variants.find(r=>r.id===t.currentVariant);s&&s.isControl&&(i="control")}this.log("Merchant preview - updating hidden inputs:",t.testId,i),this.updatePriceTestHiddenInputs(t.testId,i,!0);return}for(const t of this.state.essential.visitorTests){const i=this.testConfigs.find(o=>o.id===t.testId);if(!i){this.log("Test config not found:",t.testId);continue}const s=i.hypotheses.find(o=>o.id===t.hypothesisId);if(!s||s.type!=="price")continue;const r=s.isControl?"control":"variant";this.log("Updating hidden inputs for price test:",t.testId,r),this.updatePriceTestHiddenInputs(t.testId,r,e)}}catch(t){this.log("Error ensuring cart attributes for existing price tests:",t)}}subscriptionSwapDone=!1;subscriptionHideWrongPlans=null;subscriptionPriceDone=!1;subscriptionUpdateOneTime=null;subscriptionOneTimeDone=!1;swapMap=null;slptValue=null;async subscriptionSwap(){await Ue(this)}async subscriptionPriceChange(){await ze(this)}async subscriptionOneTimePrice(){await We(this)}updatePriceTestHiddenInputs(e,t,i){try{this.cleanupPriceTestObservers();const s=`${e}:${t}:${i?"t":"f"}`,r=T=>{const m=T.getAttribute("data-sl-pid");if(!m)return!0;if(i&&this.state.temporary.previewConfig){const w=this.state.temporary.previewConfig,I=t==="control"?"a":"b",f=w.variants.find(v=>v.label===I);if(!f)return!1;for(const v of f.domSelectors||[]){const g=v.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(g){const P=g[1];if(this.log(`Extracted ID from selector: ${P}, comparing to: ${m}`),P===m)return this.log("Product ID match found in preview config:",m,"variant:",f.label),!0}else this.log(`Could not extract ID from selector: ${v.cssSelector}`)}return this.log("No product ID match in preview config for:",m,"variant:",I),!1}const y=this.testConfigs.find(w=>w.id===e);if(!y)return this.log("Test config not found for testId:",e),!1;for(const w of y.hypotheses||[]){for(const I of w.domSelectors||[]){const f=I.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(f&&f[1]===m)return this.log("Product ID match found in domSelectors:",m,"for test:",e),!0}if(w.priceData?.variants){for(const I of w.priceData.variants)if(I[0]===m)return this.log("Product ID match found in priceData:",m,"for test:",e),!0}}return this.log("No product ID match for:",m,"in test:",e),!1},o=new Set;let n=!1,l=null;const c=(T,m)=>{if(document.querySelectorAll("[data-sl-attribute-p]").forEach(w=>{if(w instanceof Element&&w.nodeType===Node.ELEMENT_NODE&&w.isConnected&&document.contains(w))try{T.observe(w,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(I){this.log(`Failed to observe element (${m}):`,I)}}),document.body&&document.body.isConnected)try{T.observe(document.body,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(w){this.log(`Failed to observe document.body (${m}):`,w)}},d=(T,m,y,w)=>{const I=T.filter(f=>{const v=f.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);return v&&v[1]===w});this.log(`Applying ${y} DOM selectors, total: ${T.length}, filtered: ${I.length}`),I.length>0&&U(document,{testId:e,hypothesisId:m,selectors:I})},u=(T,m)=>{this.log(`Applying DOM selector changes for product ID: ${T}`),m.disconnect(),n=!0;try{if(i&&this.state.temporary.previewConfig){const y=t==="control"?"a":"b",w=this.state.temporary.previewConfig.variants.find(I=>I.label===y);if(!w?.domSelectors){this.log(`No DOM selectors found for preview variant: ${y}`);return}d(w.domSelectors,w.id,"preview config",T)}else{const y=this.testConfigs.find(I=>I.id===e);if(!y){this.log(`No test config found for testId: ${e}`);return}const w=y.hypotheses.find(I=>t==="control"?I.isControl:!I.isControl);if(!w?.domSelectors){this.log(`No DOM selectors found for assignment: ${t}`);return}d(w.domSelectors,w.id,"live config",T)}}finally{l!==null&&clearTimeout(l),l=window.setTimeout(()=>{n=!1,l=null,c(m,"reconnection"),this.log("Re-established innerHTML observer after DOM changes")}
9,50)}},h=new MutationObserver(T=>{if(!n)for(const m of T){if(m.type!=="childList"&&m.type!=="characterData")continue;let y=m.target;m.type==="characterData"&&(y=m.target.parentElement||m.target.parentNode);let w=y,I=w.getAttribute("data-sl-attribute-p");for(;!I&&w.parentElement;)w=w.parentElement,I=w.getAttribute("data-sl-attribute-p");if(!I)continue;const f=w.innerHTML||w.textContent||"";let v="";m.type==="characterData"&&m.oldValue!==null&&(v=m.oldValue),this.log(`innerHTML changed on element with data-sl-attribute-p="${I}"`),v&&this.log(`Previous content: "${v}"`),this.log(`Current content: "${f}"`),u(I,h)}});c(h,"initial setup"),o.add(h);const p=new MutationObserver(T=>{T.forEach(m=>{m.addedNodes.forEach(y=>{if(y.nodeType===Node.ELEMENT_NODE){const w=y;E(w);const I=w.matches('input[name="properties[_slpt]"]')?[w]:w.querySelectorAll('input[name="properties[_slpt]"]');I.length>0&&this.log(`MutationObserver found ${I.length} new hidden input(s)`),I.forEach(f=>{const v=f.getAttribute("data-sl-pid");if(this.log(`MutationObserver checking new input with data-sl-pid="${v}"`),r(f))f.value!==s&&(f.value=s,this.log("Updated newly added hidden input:",s)),S(f);else{const g=f.getAttribute("data-sl-pid");g&&this.isProductInAnyPriceTest(g)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",g):(f.remove(),this.log("Removed newly added non-matching hidden input for product ID:",g))}})}})})});o.add(p);const b=new MutationObserver(T=>{T.forEach(m=>{if(m.type==="attributes"&&m.attributeName==="data-sl-pid"){const y=m.target;if(this.log("AttributeObserver detected data-sl-pid attribute change on:",y.tagName),y.matches('input[name="properties[_slpt]"]')){const w=y,I=m.oldValue,f=w.getAttribute("data-sl-pid");this.log(`data-sl-pid changed from "${I}" to "${f}" - triggering payment placement updates`),r(w)?(w.value!==s&&(w.value=s,this.log("Updated hidden input after data-sl-pid change:",s)),f&&u(f,h),this.log("Re-running payment placement updates after variant change"),E(document.body)):f&&this.isProductInAnyPriceTest(f)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",f):(w.remove(),this.log("Removed non-matching hidden input after data-sl-pid change:",f))}}})});o.add(b);const E=T=>{T.tagName==="SHOPIFY-PAYMENT-TERMS"&&(this.log("MutationObserver found new shopify-payment-terms element"),this.updateShopifyPaymentTerms(e,t));const m=T.querySelectorAll("shopify-payment-terms");m.length>0&&(this.log(`MutationObserver found ${m.length} shopify-payment-terms in added node`),this.updateShopifyPaymentTerms(e,t)),T.tagName==="AFTERPAY-PLACEMENT"&&(this.log("MutationObserver found new afterpay-placement element"),this.updateAfterpayPlacements(e,t,"afterpay"));const y=T.querySelectorAll("afterpay-placement");y.length>0&&(this.log(`MutationObserver found ${y.length} afterpay-placement in added node`),this.updateAfterpayPlacements(e,t,"afterpay")),T.tagName==="SQUARE-PLACEMENT"&&(this.log("MutationObserver found new square-placement element"),this.updateAfterpayPlacements(e,t,"square"));const w=T.querySelectorAll("square-placement");w.length>0&&(this.log(`MutationObserver found ${w.length} square-placement in added node`),this.updateAfterpayPlacements(e,t,"square")),T.tagName==="KLARNA-PLACEMENT"&&(this.log("MutationObserver found new klarna-placement element"),this.updateKlarnaPlacements(e,t));const I=T.querySelectorAll("klarna-placement");I.length>0&&(this.log(`MutationObserver found ${I.length} klarna-placement in added node`),this.updateKlarnaPlacements(e,t))},S=T=>{b.observe(T,{attributes:!0,attributeFilter:["data-sl-pid"],attributeOldValue:!0,subtree:!1});const m=T.getAttribute("data-sl-pid");this.log(`Started AttributeObserver on specific input with data-sl-pid="${m}"`)},C=()=>{const T=document.querySelectorAll('input[name="properties[_slpt]"]');this.log(`Found ${T.length} existing hidden inputs to check`),T.forEach(m=>{const y=m.getAttribute("data-sl-pid");this.log(`Checking existing input with data-sl-pid="${y}"`),r(m)?(m.value=s,this.log("Updated existing hidden input:",s),y&&(this.log("Applying initial DOM selector changes for existing product"),u(y,h)),S(m)):y&&this.isProductInAnyPriceTest(y)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",
9y):(m.remove(),this.log("Removed non-matching hidden input for product ID:",y))})},_=()=>{document.body?(p.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver on document.body"),C(),E(document.body)):document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{document.body&&(p.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver after DOMContentLoaded"),C(),E(document.body))}):(this.log("Set timeout on observer"),setTimeout(_,10))};_(),window.__shopliftPriceTestObservers=o,window.__shopliftPriceTestValue=s,this.log("Set up DOM observer for price test hidden inputs")}catch(s){this.log("Error updating price test hidden inputs:",s)}}updateKlarnaPlacements(e,t){this.updatePlacementElements(e,t,"klarna-placement",(i,s)=>{i.setAttribute("data-purchase-amount",s.toString())})}cleanupPriceTestObservers(){const e=window.__shopliftPriceTestObservers;e&&(e.forEach(t=>{t.disconnect()}),e.clear(),this.log("Cleaned up existing price test observers")),delete window.__shopliftPriceTestObservers,delete window.__shopliftPriceTestValue}updateAfterpayPlacements(e,t,i="afterpay"){const s=i==="square"?"square-placement":"afterpay-placement";if(document.querySelectorAll(s).length===0){this.log(`No ${s} elements found on page - early return`);return}this.updatePlacementElements(e,t,s,(o,n)=>{if(i==="afterpay"){const l=(n/100).toFixed(2);o.setAttribute("data-amount",l)}else o.setAttribute("data-amount",n.toString())}),this.log("updateAfterpayPlacements completed")}updatePlacementElements(e,t,i,s){const r=document.querySelectorAll(i);if(r.length===0){this.log(`No ${i} elements found - early return`);return}let o;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const l=t==="control"?"a":"b",c=this.state.temporary.previewConfig.variants.find(d=>d.label===l);if(!c?.domSelectors){this.log(`No variant found for label ${l} in preview config for ${i}`);return}o=c.domSelectors,this.log(`Using preview config for ${i} in merchant mode, variant: ${l}`)}else{const l=this.testConfigs.find(d=>d.id===e);if(!l){this.log(`No testConfig found for id: ${e} - early return`);return}
9const c=l.hypotheses.find(d=>t==="control"?d.isControl:!d.isControl);if(!c?.domSelectors){this.log(`No hypothesis or domSelectors found for assignment: ${t} - early return`);return}o=c.domSelectors}const n=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);r.forEach(l=>{let c=null;const d=l.parentElement;if(d&&(c=d.querySelector('input[name="properties[_slpt]"]')),c||(c=l.querySelector('input[name="properties[_slpt]"]')),!c){this.log(`No hidden input found for ${i} element`);return}const u=c.getAttribute("data-sl-pid");if(!u){this.log("Hidden input has no data-sl-pid attribute - skipping");return}const h=o.find(S=>{const C=S.cssSelector.match(n);return C&&C[1]===u});if(!h){this.log(`No matching selector found for productId: ${u} - skipping element`);return}const p=h.actions.find(S=>S.scope==="price");if(!p?.value){this.log("No price action or value found - skipping element");return}const b=parseFloat(p.value.replace(/[^0-9.]/g,""));if(Number.isNaN(b)){this.log(`Invalid price "${p.value}" for product ${u} - skipping`);return}const E=Math.round(b*100);s(l,E)}),this.log(`updatePlacementElements completed for ${i}`)}updateShopifyPaymentTerms(e,t){const i=document.querySelectorAll("shopify-payment-terms");if(i.length===0)return;this.log("Store using shopify payments");let s;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const o=t==="control"?"a":"b",n=this.state.temporary.previewConfig.variants.find(l=>l.label===o);if(!n||!n.domSelectors){this.log(`No variant found for label ${o} in preview config`);return}s=n.domSelectors,this.log(`Using preview config for shopify-payment-terms in merchant mode, variant: ${o}`)}else{const o=this.testConfigs.find(l=>l.id===e);if(!o)return;const n=o.hypotheses.find(l=>t==="control"?l.isControl===!0:l.isControl===!1);if(!n||!n.domSelectors)return;s=n.domSelectors}const r=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);i.forEach(o=>{const n=o.getAttribute("variant-id");if(!n)return;const l=s.find(c=>{const d=c.cssSelector.match(r);return d&&d[1]===n});if(l){const c=l.actions.find(d=>d.scope==="price");if(c&&c.value){const d=o.getAttribute("shopify-meta");if(d)try{const u=JSON.parse(d);if(u.variants&&Array.isArray(u.variants)){const h=u.variants.find(p=>p.id?.toString()===n);if(h){h.full_price=c.value;const p=parseFloat(c.value.replace(/[^0-9.]/g,""));if(h.number_of_payment_terms&&h.number_of_payment_terms>1){const b=p/h.number_of_payment_terms;h.price_per_term=`$${b.toFixed(2)}`}o.setAttribute("shopify-meta",JSON.stringify(u))}}}catch(u){this.log("Error parsing/updating shoplift-meta:",u)}}}})}async makeJsonRequest(e){const t=await this.makeRequest(e);return t===null?null:JSON.parse(await t.text(),F)}async makeRequest(e){const{url:t,method:i,headers:s,data:r,signal:o}=e,n=new Headers;if(s)for(const c in s)n.append(c,s[c]);(!s||!s.Accept)&&n.append("Accept","application/json"),(!s||!s["Content-Type"])&&n.append("Content-Type","application/json"),(this.eventHost.includes("ngrok.io")||this.eventHost.includes("ngrok-free.app"))&&n.append("ngrok-skip-browser-warning","1234");const l=await this.fetch(t,{method:i,headers:n,body:r,signal:o});if(!l.ok){if(l.status===204)return null;if(l.status===422){const c=await l.json();if(typeof c<"u"&&c.isBot)throw new ie}throw new Error(`Error sending shoplift request ${l.status}`)}return l}queueAddVisitorToTest(e,t){if(this.state.essential.visitorTests.some(s=>s.testId===e))return;const i=this.testConfigs.find(s=>s.id===e);if(this.state.essential.visitorTests.push({createdAt:new Date,testId:e,hypothesisId:t.id,isThemeTest:t.type==="theme",themeId:t.themeId,isSaved:!1,isInvalid:!1,shouldSendToGa:!0,testType:t.type,assignedTo:t.isControl?"control":"variant",testTitle:i?.title}),t.type==="price"){const s=t.isControl?"control":"variant";this.log("Price test assignment detected, updating cart attributes:",e,s),this.updatePriceTestHiddenInputs(e,s,!1)}}queueCartUpdate(e){this.queueEvent(new Ce(e))}queuePageView(e){this.queueEvent(new Se(e))}queueEvent(e){!this.state.essential.consentApproved&&this.state.essential.hasConsentInteraction||this.state.analytics.queue.length>10||this.state.analytics.queue.push(e)}legacyGetLocalStorageVisitor(){const e=this.localStorageGet(this.legacySessionKey);if(e)try{return JSON.parse(e,F)}catch{}return null}pruneStaleVisitorTests(){this.state.essential.visitorTests=this.state.essential.visitorTests.filter(e=>this.testConfigs.some(t=>t.id==e.testId)||this.inactiveTestConfigs.filter(t=>this.testIsPaused(t)).some(t=>t.id===e.testId))}pruneStateAndSave(){this.pruneStaleVisitorTests(),this.saveState()}saveState(){this.persistEssentialState(),this.persistAnalyticsState()}loadState(){const e=this.loadAnalyticsState(),t={analytics:e,essential:this.loadEssentialState(e),temporary:this.loadTemporaryState()},i=this.legacyGetLocalStorageVisitor(),s=this.legacyGetCookieVisitor(),r=[i,s].filter(o=>o!==null).sort((o,n)=>+n.storedAt-+o.storedAt)[0];return t.analytics.visitor===null&&r&&({visitorTests:t.essential.visitorTests,...t.analytics.visitor}=r,t.essential.isFirstLoad=!1,t.essential.initialState={createdAt:r.createdAt,referrer:r.referrer,utmCampaign:r.utmCampaign,utmContent:r.utmContent,utmMedium:r.utmMedium,utmSource:r.utmSource,device:r.device},this.deleteCookie("SHOPLIFT"),this.deleteLocalStorage(this.legacySessionKey)),!t.essential.consentApproved&&t.essential.hasConsentInteraction&&this.deleteLocalStorage(this.analyticsSessionKey),t}loadEssentialState(e){const t=this.loadLocalStorage(this.essentialSessionKey),i=this.loadCookie(this.essentialSessionKey),s=this.getInitialState();e.visitor?.device&&(s.device=e.visitor.device);const r={timestamp:new Date,consentApproved:!1,hasConsentInteraction:!1,debugMode:!1,initialState:s,visitorTests:[],isFirstLoad:!0},o=[t,i].filter(n=>n!==null).sort((n,l)=>+l.timestamp-+n.timestamp)[0]??r;return o.initialState||(e.visitor!==null?o.initialState=e.visitor:(o.initialState=s,o.initialState.createdAt=o.timestamp)),o}loadAnalyticsState(){const e=this.loadLocalStorage(this.analyticsSessionKey),t=this.loadCookie(this.analyticsSessionKey),i={timestamp:new Date,visitor:null,queue:[]},s=[e,t].filter(r=>r!==null).sort((r,o)=>+o.timestamp-+r.timestamp)[0]??i;return s.queue.length===0&&e&&e.queue.length>1&&(s.queue=e.queue),s}loadTemporaryState(){const e=this.sessionStorageGet(this.temporarySessionKey),t=e?JSON.parse(e,F):null,i=this.loadCookie(this.temporarySessionKey);return t??i??{isMerchant:!1,timestamp:new Date}}persistEssentialState(){this.log("Persisting essential state"),this.state.essential.isFirstLoad=!1,this.state.essential.timestamp=new Date,this.persistLocalStorageState(this.essentialSessionKey,this.state.essential),this.persist
9CookieState(this.essentialSessionKey,this.state.essential)}persistAnalyticsState(){this.log("Persisting analytics state"),this.state.essential.consentApproved&&(this.state.analytics.timestamp=new Date,this.persistLocalStorageState(this.analyticsSessionKey,this.state.analytics),this.persistCookieState(this.analyticsSessionKey,{...this.state.analytics,queue:[]}))}persistTemporaryState(){this.log("Setting temporary session state"),this.state.temporary.timestamp=new Date,this.sessionStorageSet(this.temporarySessionKey,JSON.stringify(this.state.temporary)),this.persistCookieState(this.temporarySessionKey,this.state.temporary,!0)}loadLocalStorage(e){const t=this.localStorageGet(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}loadCookie(e){const t=this.getCookie(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}persistLocalStorageState(e,t){this.localStorageSet(e,JSON.stringify(t))}persistCookieState(e,t,i=!1){const s=JSON.stringify(t),r=i?"":`expires=${new Date(new Date().getTime()+864e5*365).toUTCString()};`;document.cookie=`${e}=${s};domain=.${window.location.hostname};path=/;SameSite=Strict;${r}`}deleteCookie(e){const t=new Date(0).toUTCString();document.cookie=`${e}=;domain=.${window.location.hostname};path=/;expires=${t};`}deleteLocalStorage(e){window.localStorage.removeItem(e)}getChannel(e){return[{"name":"cross-network","test":(v) => new RegExp(".*cross-network.*", "i").test(v.utmCampaign)},{"name":"direct","test":(v) => v.utmSource === "" && v.utmMedium === ""},{"name":"paid-shopping","test":(v) => (new RegExp("^(?:Google|IGShopping|aax-us-east\.amazon-adsystem\.com|aax\.amazon-adsystem\.com|alibaba|alibaba\.com|amazon|amazon\.co\.uk|amazon\.com|apps\.shopify\.com|checkout\.shopify\.com|checkout\.stripe\.com|cr\.shopping\.naver\.com|cr2\.shopping\.naver\.com|ebay|ebay\.co\.uk|ebay\.com|ebay\.com\.au|ebay\.de|etsy|etsy\.com|m\.alibaba\.com|m\.shopping\.naver\.com|mercadolibre|mercadolibre\.com|mercadolibre\.com\.ar|mercadolibre\.com\.mx|message\.alibaba\.com|msearch\.shopping\.naver\.com|nl\.shopping\.net|no\.shopping\.net|offer\.alibaba\.com|one\.walmart\.com|order\.shopping\.yahoo\.co\.jp|partners\.shopify\.com|s3\.amazonaws\.com|se\.shopping\.net|shop\.app|shopify|shopify\.com|shopping\.naver\.com|shopping\.yahoo\.co\.jp|shopping\.yahoo\.com|shopzilla|shopzilla\.com|simplycodes\.com|store\.shopping\.yahoo\.co\.jp|stripe|stripe\.com|uk\.shopping\.net|walmart|walmart\.com)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|y
9andex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|kakao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.o
9pera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"display","test":(v) => new RegExp("^(?:display|banner|expandable|interstitial|cpm)$", "i").test(v.utmMedium)},{"name":"paid-other","test":(v) => new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)}
9,{"name":"organic-shopping","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)},{"name":"organic-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|k
9akao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.opera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) || new RegExp("^(?:social|social-network|social-media|sm|social network|social media)$", "i").test(v.utmMedium)},{"name":"organic-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) || new RegExp("^(.*video.*)$", "i").test(v.utmMedium)},{"name":"organic-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|y
9andex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || v.utmMedium.toLowerCase() === "organic"},{"name":"referral","test":(v) => new RegExp("^(?:referral|app|link)$", "i").test(v.utmMedium)},{"name":"email","test":(v) => new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmMedium) || new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmSource)},{"name":"affiliate","test":(v) => v.utmMedium.toLowerCase() === "affiliate"},{"name":"audio","test":(v) => v.utmMedium.toLowerCase() === "audio"},{"name":"sms","test":(v) => v.utmSource.toLowerCase() === "sms" || v.utmMedium.toLowerCase() === "sms"},{"name":"mobile-push-notification","test":(v) => v.utmSource.toLowerCase() === "firebase" || new RegExp("(?:.*mobile.*|.*notification.*|push$)", "i").test(v.utmMedium)}].find(i=>i.test(e))?.name??"other"}getShopifyAnalyticsId(){const e=this.getCookie("_shopify_y");if(e)return e;try{const t=this.localStorageGet("Shoplift_ClientId");if(t)return t}catch{}return null}legacyGetCookieVisitor(){const e=this.getCookie("SHOPLIFT");return e===null?null:JSON.parse(e,F)}getCookie(e){const t=this.cookie.split("; ").filter(i=>i.split("=").at(0)===e).at(0);return t===void 0?null:t.split("=").slice(1).join("=")}monitorConsentChange(){document.addEventListener("visitorConsentCollected",e=>{(async()=>await this.onConsentChange(e.detail.analyticsAllowed,!0))()}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>this.loadShopifyConsentApiWithRetry()):this.loadShopifyConsentApiWithRetry()}loadShopifyConsentApiWithRetry(){let e=0;const t=()=>{this.loadShopifyConsentApi()||e++<10&&window.setTimeout(t,100)};t()}loadShopifyConsentApi(){if(window.Shopify){this.log("Loading Shopify features");const e=async()=>{if(!window.Shopify){this.log("Shopify object missing... suddenly?");return}if(window.Shopify.customerPrivacy===void 0){this.log("Shopify CustomerPrivacy api still missing, trying again in 1000ms"),t=window.setTimeout(()=>{(async()=>await e())()},1e3);return}if(this.geoViaShopify){const s=window.Shopify.customerPrivacy.getRegion?.();this.resolvedRegion=typeof s=="string"?s.replace(/-/g,""):""}const i=window.Shopify.customerPrivacy.getTrackingConsent();await this.onConsentChange(window.Shopify.customerPrivacy.analyticsProcessingAllowed(),i==="yes")};let t=window.setTimeout(()=>{(async()=>await e())()},5e3);return window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],i=>{(async()=>{if(window.clearTimeout(t),i){this.log("Error loading consent tracking",i);return}await e()})()}),!0}return!1}async onConsentChange(e,t){try{if(this.log("Consent change detected",e,t),this.state.essential.consentApproved=e,this.state.essential.hasConsentInteraction=t,!this.state.essential.consentApproved){this.state.essential.hasConsentInteraction&&(this.state.analytics.queue.length=0),this.saveState();return}this.cookie=document.cookie,this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.saveState(),await this.syncAllEvents()}catch(i){this.log("Error syncing on consent change",i)}}isThemePreview(){return isThemePreview||themeRole!=="main"}isAppProxyPath(){const e=["/apps/","/tools/","/a/"],t=window.location.pathname;return e.some(i=>t.startsWith(i))}clearThemeBar(e,t,i){const s=structuredClone(i);this.log("Looking for theme bar"),this.waitForElement(null,"body").then(r=>this.waitForElement(r,"#preview-bar-iframe, #PBarNextFrameWrapper").then(o=>(this.log("Found theme bar"),t&&(this.log("Removing theme bar"),o.remove()),e?this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify({...this.debugState(),stateAtEvaluation:s},ee)}):Promise.resolve(null)))).catch(r=>console.error(r))}waitForElement(e,t){return new Promise(i=>{const s=document.querySelector(t);if(s){i(s);return}const r=new MutationObserver(o=>{const n=document.querySelector(t);if(n){r.disconnect(),i(n);return}});r.observe(e??document.documentElement,{childList:!0})})}setDebug(e){this.state.essential.debugMode=e,this.saveState()}log(e,...t){let i=0;const s=e.replace(/%[sdoOfF]/g,r=>{if(i>=t.length)return r;const o=t[i++];return r==="%o"||r==="%O"?JSON.stringify(o):String(o)});this.logHistory.push(`[${new Date().toISOString()}][SL] ${s}`),!(!this.state.essential.debugMode&&!this.shopliftDebug)&&console.debug(`[SL] ${e}`,...t)}debugState(){return{state:this.state,storage:{essential:this.loadLocalStorage(this.essentialSessionKey),analytics:this.loadLocalStorage(this.analyticsSessionKey)},params:{shop:this.shop,host:this.host,eventHost:this.eventHost,cssHideClass:this.cssHideClass,testConfigs:this.testConfigs,inactiveTestConfigs:this.inactiveTestConfigs,sendPageView:this.sendPageView,isShopifyMerchantCookie
9:this.getCookie("is_shopify_merchant"),themeId,url:window.location.href,isThemePreview,themeRole,gaConfig:this.gaConfig},logHistory:this.logHistory}}createViewportObserver(e,t={}){const{threshold:i=this.VIEWPORT_TRACK_THRESHOLD,triggerOnce:s=!0}=t,r=new Set;return new IntersectionObserver(o=>{o.forEach(n=>{if(n.isIntersecting&&!r.has(n.target)){const l=n.target,c=l.getAttribute(this.DATA_SL_TEST_ID);c&&(e(c,l),s&&r.add(l))}})},{threshold:i})}applyChangesWithViewport(e,t,i,s){const r=t.selectorsForViewportTracking??t.selectors,o=n=>{if(this.state.essential.visitorTests.some(h=>h.testId===n)||this.activeViewportObservers.has(n))return;const l=[];if(r.forEach(h=>{e.querySelectorAll(h.cssSelector).forEach(b=>l.push(b))}),l.length===0)return;let c=!1;const d=()=>{c||(c=!0,i(n),u.disconnect(),this.activeViewportObservers.delete(n))},u=this.createViewportObserver(()=>{d()},{triggerOnce:!0,...s});this.activeViewportObservers.set(n,u),this.log(`Created viewport observer for test ${n}, observing ${l.length} elements`),l.forEach(h=>{h.setAttribute(this.DATA_SL_TEST_ID,String(n)),u.observe(h)}),setTimeout(()=>{c||l.forEach(h=>{const p=h.getBoundingClientRect(),b=s?.threshold??this.VIEWPORT_TRACK_THRESHOLD,E=Math.min(p.bottom,window.innerHeight)-Math.max(p.top,0),S=Math.min(p.right,window.innerWidth)-Math.max(p.left,0);p.top<window.innerHeight&&p.bottom>0&&p.left<window.innerWidth&&p.right>0&&E>0&&S>0&&E>=p.height*b&&(this.log(`Price element already visible in viewport for test ${n}:`,h),d())})},100)};t.selectors.length>0&&U(e,t,()=>{}),Te(e,{testId:t.testId,hypothesisId:t.hypothesisId,selectors:r},n=>{o(n)})}applyPriceTestWithMapLookup(e,t,i,s){if(!t.priceData){this.log("No price data for hypothesis '%s'",t.id);return}this.log("Hypothesis '%s' isControl=%s, priceData has %d variants",t.id,t.isControl,t.priceData.variants.length);const r=t.priceData.variants.slice(0,3);for(const[S,C,_]of r)this.log(" Sample priceData: variant=%s, price=%d, compareAt=%d",S,C,_);const o=j(t.priceData),n=new Set;for(const S of i)if(S.priceData)for(const[C]of S.priceData.variants)n.add(C);this.log("Price test Map lookup: %d products in hypothesis, %d total products to track",o.size,n.size);const l=t.priceData,c=new WeakSet;let d=!1;const u="[data-sl-attribute-p], [data-sl-attribute-cap], [data-sl-attribute-discount]",h=S=>{if(c.has(S))return;const C=S.getAttribute("data-sl-attribute-p"),_=S.getAttribute("data-sl-attribute-cap"),T=S.getAttribute("data-sl-attribute-discount"),m=C||_||T;if(!m||!n.has(m))return;c.add(S);const y=o.get(m);y&&(this.log("Applying price for product %s: %d cents (compare at: %d cents)",m,y.priceInCents,y.compareAtPriceInCents),Le(S,m,y,l),this.log("Applied price to element for product %s",m)),!d&&!this.state.essential.visitorTests.some(w=>w.testId===e)&&(S.setAttribute(this.DATA_SL_TEST_ID,String(e)),this.setupElementViewportTracking(S,e,()=>{d||(d=!0,s(e))}))},p=()=>{const S=document.querySelectorAll(u);this.log("Scanning for price elements, found: %d",S.length),S.forEach(h)},b=new MutationObserver(S=>{for(const C of S)C.type==="childList"&&C.addedNodes.forEach(_=>{if(_.nodeType===Node.ELEMENT_NODE){const T=_;(T.hasAttribute("data-sl-attribute-p")||T.hasAttribute("data-sl-attribute-cap")||T.hasAttribute("data-sl-attribute-discount"))&&h(T),T.querySelectorAll(u).forEach(h)}}),C.type==="attributes"&&C.target instanceof Element&&h(C.target)}),E=document.body||document.documentElement;b.observe(E,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-sl-attribute-p","data-sl-attribute-cap","data-sl-attribute-discount"]}),this.log("MutationObserver started for price elements"),p(),document.readyState==="loading"&&document.addEventListener("DOMContentLoaded",()=>{this.log("DOMContentLoaded - rescanning for price elements"),p()}),setTimeout(()=>{this.log("Delayed rescan for price elements"),p()},100),setTimeout(()=>{this.log("Final rescan for price elements"),p()},500)}setupElementViewportTracking(e,t,i){const s=this.VIEWPORT_TRACK_THRESHOLD,r=e.getBoundingClientRect(),o=Math.min(r.bottom,window.innerHeight)-Math.max(r.top,0),n=Math.min(r.right,window.innerWidth)-Math.max(r.left,0);if(r.top<window.innerHeight&&r.bottom>0&&r.left<window.innerWidth&&r.right>0&&o>0&&n>0&&o>=r.height*s){this.log("Price element already visible for test %s",t),i();return}const c=new IntersectionObserver(d=>{for(const u of d)if(u.isIntersecting&&u.intersectionRatio>=s){this.log("Price element entered viewport for test %s",t),c.disconnect(),i();break}},{threshold:s});c.observe(e)}debug(){const e=this.debugState();console.log(JSON.stringify(e,ee,2))}}(async function(){window.shopliftInstance||(window.shopliftInstance=new Ze("counter-culture-coffee-retail.myshopify.com","https://app.shoplift.ai","https://events.shoplift.ai",true,false,false,{"sendEvents":false,"mode":"gtag"},false,false,1000,[{"id":"01a08a08-6849-77a3-903d-d2eeb7ba8ab0","startAt":"2026-09-10T06:36:41.902736Z","requiresCountry":false,"requiresRegion":false,"bayesianRevision":5,"device":"all","status":"active","visitorOption":"all","ignoreTestViewParameterEnforcement":false,"statusHistory":[{"status":"active","createdAt":"2026-09-10T06:36:42.024012Z"}],"hypotheses":[{"visitorCount":2291,"trafficPercentage":0.5173522398532734,"t
9itle":"EverGreen Banner","domSelectors":[],"id":"01a07a7c-604f-7522-8262-1b926de55ce8","type":"index","themeId":139641749581,"affix":"","isControl":true},{"visitorCount":2138,"trafficPercentage":0.4826477601467266,"title":"Legacy Banner","domSelectors":[],"id":"01a07a7c-ae1b-7158-b671-4eca43d5d3f1","type":"index","themeId":139641749581,"affix":"legacy-banner","isControl":false}],"targetAudiences":[],"title":"EverGreen Banner Vs Legacy Banner"}],[{"id":"c2fc9017-e03b-4e98-967b-7490befcad4d","bayesianRevision":2,"status":"cancelled","hypotheses":[{"id":"e56b1118-e55d-44ec-8b02-3d3f928e5eae","type":"theme","themeId":123759132749,"affix":"","isControl":true,"redirectPath":null},{"id":"155af9f9-2e2c-43df-8353-b1e423534137","type":"theme","themeId":127941476429,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false},{"id":"5a77f886-fda9-42ad-8df4-af0d8fa62d66","bayesianRevision":2,"status":"cancelled","hypotheses":[{"id":"771cc5eb-604e-4dc5-80bf-1625b2c8d3ca","type":"theme","themeId":123759132749,"affix":"","isControl":true,"redirectPath":null},{"id":"67705395-6034-4847-925d-74f5ac5a994a","type":"theme","themeId":128659095629,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false},{"id":"019d65a9-1397-7451-b68b-df2d835f48c3","bayesianRevision":5,"status":"cancelled","hypotheses":[{"id":"019d4d91-b97c-7454-b44a-b44ae11ed4d8","type":"theme","themeId":139641749581,"affix":"","isControl":true,"redirectPath":null},{"id":"019d4d91-ef33-73c0-a174-17fbec6254ca","type":"theme","themeId":144387604557,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false},{"id":"019f647a-c47b-74d4-9540-6b6ccd3bdb8a","bayesianRevision":5,"status":"cancelled","hypotheses":[{"id":"019f5b86-f510-7fd7-8954-c4008351005d","type":"theme","themeId":139641749581,"affix":"","isControl":true,"redirectPath":null},{"id":"019f5b87-4f02-7633-907e-9654540e38a9","type":"theme","themeId":146705580109,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false},{"id":"65df3805-2edb-4294-8d33-036f1cefc35f","bayesianRevision":4,"status":"paused","hypotheses":[{"id":"47d4faba-2370-4232-812e-5d5235256af8","type":"theme","themeId":139641749581,"affix":"","isControl":true,"redirectPath":null},{"id":"a744d691-a1da-4ab3-bd9c-f561d319d49a","type":"theme","themeId":139641749581,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false}],null,false),await window.shopliftInstance.init())})();async function Qe(a,e,t,i){const s=Be({log:i});if(t)return i("[SUB-PREVIEW] A side â no overlay applied; widget renders naturally"),s;const r=a.widget.widgetType,o=e?j(e):null;let n=W(e),l=J(a,n),c=l.discountMap,d=l.maxDiscount;function u(){const f=W(e);f!==n&&(n=f,l=J(a,n),c=l.discountMap,d=l.maxDiscount,i(`[SUB-PREVIEW] scope refreshed currentProductId=${n??"n/a"}, maxDiscount=${d}`))}i(`[SUB-PREVIEW] side=B, currentProductId=${n??"n/a"}, maxDiscount=${d}`);function h(f){if(!e||!o)return null;const v=Z(o),g=v?o.get(v):void 0;return g?{formattedVariantPrice:G(g.priceInCents,e),formattedDiscounted:G(g.priceInCents*(1-f/100),e)}:null}function p(f){const v=Y(a,f);if(!v)return d;const g=D(a,"subscriptionInput"),P=g.length?g[0].selector:'input[name="rc_plan"]',A=v.querySelector(`${P}:checked`);if(A){const k=c[A.value];if(k!==void 0)return k}return d}function b(f){const v=D(a,"subscriptionDiscount");for(const g of v)if(g.selector.includes("badge")||g.selector.includes("__badge")){const P=f.querySelector(g.selector);P?.textContent&&!P.textContent.includes(`${d}%`)&&$(P,A=>N(A,d))}}function E(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionCompareAt");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedVariantPrice)&&$(k,x=>/\d/.test(x)?g.formattedVariantPrice:x)}}function S(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionPrice");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedDiscounted)&&$(k,x=>/\d/.test(x)?g.formattedDiscounted:x)}}function C(f){const v=D(a,"subscriptionInput"),g=v.length?v[0].selector:'input[name="rc_plan"]',P=D(a,"subscriptionPlanDiscount"),A=P.length?P[0].selector:".rc-plans-button__discount";for(const k of Array.from(f.querySelectorAll("label"))){const x=k.querySelector(g),R=k.querySelector(A);if(x&&R?.textContent){const O=c[x.value];if(O!==void 0){const V=R.textContent.match(/[\d.]+%/)?.[0];V&&V!==`${O}%`&&$(R,L=>N(L,O))}}}}function _(f){const v=f.querySelector("select");if(v)for(const g of Array.from(v.options)){const P=c[g.value];if(P!==void 0&&g.textContent){const A=g.textContent.match(/[\d.]+%/)?.[0];A&&A!==`${P}%`&&(g.textContent=N(g.textContent,P))}}}function T(f){const v=D(a,"onetimePrice");if(!v.length||!e||!o)return;const g=Z(o),P=g?o.get(g):void 0;if(!P)return;const A=G(P.priceInCents,e),k=D(a,"onetimeContainer"),x=k.length?k[0].selector:'[part~="rc-purchase-option__onetime"]',R=f.querySelector(x);if(R)for(const O of v){const V=R.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(A)&&$(V,L=>/\d/.test(L)?A:L)}}function m(f,v){const P=D(a,"subscriptionDiscount").filter(A=>A.selector.includes("benefit")||A.selector==="rc-benefits");for(const A of P){const k=f.querySelector(A.selector);if(k?.shadowRoot){for(const x of Array.from(k.shadowRoot.querySelectorAll("li")))if(x.textContent?.includes("Save")){const R=x.textContent.match(/[\d.]+%/)?.[0];R&&R!==`${v}%`&&$(x,O=>N(O,v))}}}}let y=!1;function w(){if(!y){y=!0;try{u();const f=B(a);if(!f)return;const v=p(f);b(f),E(f,v),S(f,v),T(f);const g=Y(a,f);g&&(r==="buttons"||r==="radio"?C(g):_(g)),m(f,v)}finally{y=!1}}}const I=pe({data:a,runUpdates:w});return function(){I(),s()}}const Xe=Object.freeze(Object.defineProperty({__proto__:null,subscriptionPreviewRender:Qe},Symbol.toStringTag,{value:"Module"}))})(); })("/", { suffix: "office", type: "product" }, "main", 139641749581, false)</script>
9 10<!-- End of Shoplift scripts --> 11 12 13 14 <meta charset="utf-8"> 15<meta http-equiv="X-UA-Compatible" content="IE=edge"> 16<meta name="viewport" content="width=device-width,initial-scale=1"> 17<meta name="theme-color" content=""> 18<link rel="canonical" href="https://counterculturecoffee.com/products/office-coffee-subscription"> 19<link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="icon" type="image/png" href="//counterculturecoffee.com/cdn/shop/files/CCC_Favicon_32x32.png?v=1651866699"><title> 20 Office Coffee Subscription 21 – Counter Culture Coffee</title> 22 23 24 <meta name="description" content="Youâve got a package waiting at the front desk: our new Office Subscription! These five-pound bags of whole-bean coffee are guaranteed to brighten the breakroom. Select your favorite whole-bean coffee and choose the delivery cadence thatâs right for you. Want us to decide for you? The Roaster's Choice selection changes"> 25 26 27 28<meta property="og:site_name" content="Counter Culture Coffee"> 29<meta property="og:url" content="https://counterculturecoffee.com/products/office-coffee-subscription"> 30<meta property="og:title" content="Office Coffee Subscription"> 31<meta property="og:type" content="product"> 32<meta property="og:description" content="Youâve got a package waiting at the front desk: our new Office Subscription! These five-pound bags of whole-bean coffee are guaranteed to brighten the breakroom. Select your favorite whole-bean coffee and choose the delivery cadence thatâs right for you. Want us to decide for you? The Roaster's Choice selection changes"><meta property="og:image" content="http://counterculturecoffee.com/cdn/shop/files/Sequence01copy.gif?v=1730830985"> 33 <meta property="og:image:secure_url" content="https://counterculturecoffee.com/cdn/shop/files/Sequence01copy.gif?v=1730830985"> 34 <meta property="og:image:width" content="1000"> 35 <meta property="og:image:height" content="1000"><meta property="og:price:amount" content="99.00"> 36 <meta property="og:price:currency" content="USD"><meta name="twitter:card" content="summary_large_image"> 37<meta name="twitter:title" content="Office Coffee Subscription"> 38<meta name="twitter:description" content="Youâve got a package waiting at the front desk: our new Office Subscription! These five-pound bags of whole-bean coffee are guaranteed to brighten the breakroom. Select your favorite whole-bean coffee and choose the delivery cadence thatâs right for you. Want us to decide for you? The Roaster's Choice selection changes"> 39 40 41 <link rel="preload" href="https://cdn.shopify.com/s/files/1/0249/4283/7837/files/desktop-banner.png?v=1685039131" as="image" type="image/jpeg" /> 42 <link rel="preload" href="https://cdn.shopify.com/s/files/1/0249/4283/7837/files/mobile-banner.png?v=1685039159" as="image" type="image/jpeg" /> 43 44 <link rel="preload" href="//counterculturecoffee.com/cdn/shop/t/132/assets/affinity-portal.css?v=19949268880641921821758798392" as="style" onload="this.onload=null;this.rel='stylesheet'"/> 45 <noscript><link rel="stylesheet" href="//counterculturecoffee.com/cdn/shop/t/132/assets/affinity-portal.css?v=19949268880641921821758798392"></noscript> 46 47 <link rel="preload" href="//counterculturecoffee.com/cdn/shop/t/132/assets/base.css?v=31738782054181025301790148828" as="style" onload="this.onload=null;this.rel='stylesheet'"/> 48 <noscript><link rel="stylesheet" href="//counterculturecoffee.com/cdn/shop/t/132/assets/base.css?v=31738782054181025301790148828"></noscript> 49 50 <link rel="preload" href="//counterculturecoffee.com/cdn/shop/t/132/assets/base-transparency.css.liquid?v=21410130805811304961758798393" as="style" onload="this.onload=null;this.rel='stylesheet'"/> 51 <noscript><link rel="stylesheet" href="//counterculturecoffee.com/cdn/shop/t/132/assets/base-transparency.css.liquid?v=21410130805811304961758798393"></noscript> 52 53 <link rel="preload" href="//counterculturecoffee.com/cdn/shop/t/132/assets/https://use.typekit.net/sez6dex.css?v=89145" as="style" onload="this.onload=null;this.rel='stylesheet'"/> 54 <noscript><link rel="stylesheet" href="//counterculturecoffee.com/cdn/shop/t/132/assets/https://use.typekit.net/sez6dex.css?v=89145"></noscript> 55 56 <link rel="stylesheet" href="//counterculturecoffee.com/cdn/shop/t/132/assets/https://use.typekit.net/dur1xaz.css?v=89145" media="print" onload="this.media='all'"> 57 <noscript><link rel="stylesheet" href="//counterculturecoffee.com/cdn/shop/t/132/assets/https://use.typekit.net/dur1xaz.css?v=89145"></noscript> 58 59 <link rel="stylesheet" href="//counterculturecoffee.com/cdn/shop/t/132/assets/https://use.typekit.net/jpu7yzx.css?v=89145" media="print" onload="this.media='all'"> 60 <noscript><link rel="stylesheet" href="//counterculturecoffee.com/cdn/shop/t/132/assets/https://use.typekit.net/jpu7yzx.css?v=89145"></noscript> 61 62<style> 63 @font-face { 64 font-family: 'Founders Grotesk'; 65 src: url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGrotesk-Medium.woff2?v=1755600611') format('woff2'), 66 url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGrotesk-Medium.woff?v=1755600611') format('woff'); 67 font-weight: 500; 68 font-style: normal; 69 font-display: swap; 70} 71 72@font-face { 73 font-family: 'Founders Grotesk'; 74 src: url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGrotesk-Light.woff2?v=1755600611') format('woff2'), 75 url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGrotesk-Light.woff?v=1755600611') format('woff'); 76 font-weight: 300; 77 font-style: normal; 78 font-display: swap; 79} 80 81@font-face { 82 font-family: 'Founders Grotesk'; 83 src: url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGrotesk-Bold.woff2?v=1755600611') format('woff2'), 84 url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGrotesk-Bold.woff?v=1755600611') format('woff'); 85 font-weight: bold; 86 font-style: normal; 87 font-display: swap; 88} 89 90@font-face { 91 font-family: 'Founders Grotesk'; 92 src: url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGroteskCond-Lt.woff2?v=1755600611') format('woff2'), 93 url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGroteskCond-Lt.woff?v=1755600611') format('woff'); 94 font-weight: 300; 95 font-style: normal; 96 font-display: swap; 97} 98 99@font-face { 100 font-family: 'Founders Grotesk'; 101 src: url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGrotesk-Regular.woff2?v=1755600611') format('woff2'), 102 url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGrotesk-Regular.woff?v=1755600611') format('woff'); 103 font-weight: normal; 104 font-style: normal; 105 font-display: swap; 106} 107 108@font-face { 109 font-family: 'Founders Grotesk'; 110 src: url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGroteskXCond-Bold.woff2?v=1755600611') format('woff2'), 111 url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGroteskXCond-Bold.woff?v=1755600611') format('woff'); 112 font-weight: bold; 113 font-style: normal; 114 font-display: swap; 115} 116 117@font-face { 118 font-family: 'Founders Grotesk'; 119 src: url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGroteskXCond-Lt.woff2?v=1755600611') format('woff2'), 120 url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGroteskXCond-Lt.woff?v=1755600611') format('woff'); 121 font-weight: 300; 122 font-style: normal; 123 font-display: swap; 124} 125 126@font-face { 127 font-family: 'Founders Grotesk'; 128 src: url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGrotesk-Semibold.woff2?v=1755600611') format('woff2'), 129 url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/FoundersGrotesk-Semibold.woff?v=1755600611') format('woff'); 130 font-weight: 600; 131 font-style: normal; 132 font-display: swap; 133} 134</style> 135 136 137 138 139 140 141 142 143
143<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
143 144 145
145<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
145<meta name="facebook-domain-verification" content="tcspr2p6nkqi9bxer97z9pwmdb0nu8"> 146<meta name="google-site-verification" content="dW6PoQvczFH79n_KtYI7wbt-63ylocm1nupWNE1kBGQ"> 147<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/24942837837/digital_wallets/dialog"> 148<link rel="alternate" type="application/json+oembed" href="https://counterculturecoffee.com/products/office-coffee-subscription.oembed">
149<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=3594453069"></script>
149 150<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
151<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=3594453069&shop_id=24942837837" crossorigin="anonymous"></script>
vendor: 1 bytes, line 151
151
152<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":24942837837,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/24942837837","merchantName":"Counter Culture Coffee","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Counter Culture Coffee","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 152
152
153<script id="shopify-features" type="application/json">{"accessToken":"d273cf0c1e6a3ac57f0c57f635579f39","betas":["rich-media-storefront-analytics"],"domain":"counterculturecoffee.com","predictiveSearch":true,"shopId":24942837837,"locale":"en"}</script>
vendor: 1 bytes, line 153
153
154<script>var Shopify = Shopify || {}; 155Shopify.shop = "counter-culture-coffee-retail.myshopify.com"; 156Shopify.locale = "en"; 157Shopify.currency = {"active":"USD","rate":"1.0"}; 158Shopify.country = "US"; 159Shopify.theme = {"name":"cc-coffee-retail\/A\/B-Test-Homepage-New-MN","id":139641749581,"schema_name":"o\/S CCC Retail Theme","schema_version":"1.0.0","theme_store_id":null,"role":"main"}; 160Shopify.theme.handle = "null"; 161Shopify.theme.style = {"id":null,"handle":null}; 162Shopify.cdnHost = "counterculturecoffee.com/cdn"; 163Shopify.routes = Shopify.routes || {}; 164Shopify.routes.root = "/"; 165Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 166Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 167Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 168Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 168
168
169<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 169
169
170<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 170
170
171<script> 172 window.ShopifyPay = window.ShopifyPay || {}; 173 window.ShopifyPay.apiHost = "shop.app\/pay"; 174 window.ShopifyPay.redirectState = null; 175</script>
vendor: 1 bytes, line 175
175
176<script> 177 window.Shopify = window.Shopify || {}; 178 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 179 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 180 window.Shopify.SignInWithShop.eligible = true; 181</script>
vendor: 1 bytes, line 181
181
182<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 182
182
183<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 183
183
184<script type="module"> 185 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 186 187 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 188 189</script>
vendor: 1 bytes, line 189
189
190<script> 191 window.Shopify = window.Shopify || {}; 192 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 193 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"]}; 194</script>
vendor: 1 bytes, line 194
194
195<script>(function() { 196 var isLoaded = false; 197 function asyncLoad() { 198 if (isLoaded) return; 199 isLoaded = true; 200 var urls = ["https:\/\/static.rechargecdn.com\/assets\/js\/widget.min.js?shop=counter-culture-coffee-retail.myshopify.com","https:\/\/pc-quiz.s3.us-east-2.amazonaws.com\/current\/quiz-loader.min.js?shop=counter-culture-coffee-retail.myshopify.com","https:\/\/shofifi-pps.web.app\/main.js?shop=counter-culture-coffee-retail.myshopify.com","https:\/\/config.gorgias.chat\/bundle-loader\/01H5SZQTDMESENAGABTM0PCGN1?source=shopify1click\u0026shop=counter-culture-coffee-retail.myshopify.com","\/\/cdn.shopify.com\/proxy\/f8523906e3127d2b995db679e54215f62334563edb2aaeb5bed7bee30f7e1fb9\/apps.bazaarvoice.com\/deployments\/counterculture\/main_site\/production\/en_US\/bv.js?shop=counter-culture-coffee-retail.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/static.ablestar.app\/link-manager\/404-tracker\/24942837837\/77a88626-e00a-48fd-b53c-12a09ef0e44e.js?shop=counter-culture-coffee-retail.myshopify.com","https:\/\/cdn.attn.tv\/counterculturecoffee\/dtag.js?shop=counter-culture-coffee-retail.myshopify.com","https:\/\/media.9gtb.com\/loader.js?g_cvt_id=0a1381b0-afc1-4c31-8a4c-d8a8df2259c4\u0026shop=counter-culture-coffee-retail.myshopify.com"]; 201 for (var i = 0; i < urls.length; i++) { 202 var s = document.createElement('script'); 203 s.type = 'text/javascript'; 204 s.async = true; 205 s.src = urls[i]; 206 var x = document.getElementsByTagName('script')[0]; 207 x.parentNode.insertBefore(s, x); 208 } 209 }; 210 if(window.attachEvent) { 211 window.attachEvent('onload', asyncLoad); 212 } else { 213 window.addEventListener('load', asyncLoad, false); 214 } 215})();</script>
vendor: 1 bytes, line 215
215
216<script id="__st">var __st={"a":24942837837,"offset":-14400,"reqid":"946b23ea-accf-48f7-a5ff-d6d02bb169ca-1790273929","pageurl":"counterculturecoffee.com\/products\/office-coffee-subscription","u":"ba2abdade863","p":"product","rtyp":"product","rid":6869823127629};</script>
vendor: 1 bytes, line 216
216
217<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 217
217
218<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'])})(!1,!0)}();</script>
vendor: 1 bytes, line 218
218
219<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//counterculturecoffee.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 219
219
220<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 = "//counterculturecoffee.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>
220<script crossorigin="anonymous" defer="defer" src="//counterculturecoffee.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 220
220
221<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 221
221
222<script> 223 window.Shopify = window.Shopify || {}; 224 window.Shopify.MCP = window.Shopify.MCP || {}; 225 window.Shopify.MCP.enabled = true; 226 window.Shopify.MCP.shop = "counter-culture-coffee-retail.myshopify.com"; 227 window.Shopify.MCP.mcpEndpoint = "https:\/\/counterculturecoffee.com\/api\/mcp"; 228 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"]}}]; 229</script>
vendor: 1 bytes, line 229
229
230<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("\/\/counterculturecoffee.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 231</script>
vendor: 1 bytes, line 231
231
232<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://counterculturecoffee.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 233</script>
vendor: 1 bytes, line 233
233
234<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 235 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); 236</script>
vendor: 1 bytes, line 236
236
237<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})}})); 238</script>
238 239<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://counterculturecoffee.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 240<style id="shopify-accelerated-checkout-cart"> 241 #shopify-buyer-consent { 242 margin-top: 1em; 243 display: inline-block; 244 width: 100%; 245} 246 247#shopify-buyer-consent.hidden { 248 display: none; 249} 250 251#shopify-subscription-policy-button { 252 background: none; 253 border: none; 254 padding: 0; 255 text-decoration: underline; 256 font-size: inherit; 257 cursor: pointer; 258} 259 260#shopify-subscription-policy-button::before { 261 box-shadow: none; 262} 263 264 </style> 265
266<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
266 267 268 <!-- Google tag (gtag.js) --> 269 270 271
271<script> 272 window.dataLayer = window.dataLayer || []; 273 window.dataLayer.push({ 274 event: "customer_status", 275 customer_logged_in: null, 276 customer_id: null 277 }); 278 </script>
278 279 280
280<script> 281 282 document.addEventListener('DOMContentLoaded', (event) => { 283 console.log('DOM fully loaded and parsed'); 284const breakerUSP = document.querySelector('.plp--section-breaker-usp'); 285const breakerReview = document.querySelector('.plp--section-breaker-reviews'); 286const breakerProduct = document.querySelector('.plp--section-breaker-product'); 287const breakerSub = document.querySelector('.plp--section-breaker-sub'); 288const breakerBrew = document.querySelector('.plp--section-breaker-brew'); 289const breakerQuiz = document.querySelector('.plp--section-breaker-quiz'); 290 291const productItems = document.querySelectorAll('.js-collection-list > ul > li'); 292 293console.log("utils file working...."); 294 295// Helper function to insert an element after a specific list item 296 function insertAfterNthItem(breaker, index) { 297 const target = productItems[index - 1]; // nth-child is 1-based 298 if (target) { 299 target.insertAdjacentElement('afterend', breaker); 300 } 301 } 302 303 // PLP Breaker 1 - Product 304 if (breakerProduct) { 305 console.log("a"); 306 307 if (productItems.length > 4) { 308 breakerProduct.classList.remove('hidden'); 309 insertAfterNthItem(breakerProduct, 4); 310 } else { 311 breakerProduct.classList.add('hidden'); 312 } 313 } 314 315 // PLP Breaker 2 - Subscription 316 if (breakerSub) { 317 console.log("b"); 318 319 if (productItems.length >= 13) { 320 breakerSub.classList.remove('hidden'); 321 insertAfterNthItem(breakerSub, 13); 322 } else { 323 breakerSub.classList.add('hidden'); 324 } 325 } 326 327 // PLP Breaker 3 - Brew 328 if (breakerBrew) { 329 console.log("c"); 330 331 if (productItems.length >= 18) { 332 breakerBrew.classList.remove('hidden'); 333 insertAfterNthItem(breakerBrew, 18); 334 } else { 335 breakerBrew.classList.add('hidden'); 336 } 337 } 338 339 // PLP Breaker 4 - Quiz 340 if (breakerQuiz) { 341 console.log("d"); 342 343 if (productItems.length >= 27) { 344 breakerQuiz.classList.remove('hidden'); 345 insertAfterNthItem(breakerQuiz, 27); 346 } else { 347 breakerQuiz.classList.add('hidden'); 348 } 349 } 350 // Your initialization code here 351 }); 352 </script>
352 353 354 355 <!-- Recharge SDK -->
356<script async src="https://static.rechargecdn.com/assets/storefront/recharge-client-1.19.0.min.js"></script>
vendor: 1 bytes, line 356
356
357<script async> 358 console.log('Initializing Recharge SDK...'); 359 360 function initializeRechargeSDK() { 361 return new Promise((resolve, reject) => { 362 try { 363 recharge.init({ 364 storeIdentifier: 'counter-culture-coffee-retail.myshopify.com', 365 storefrontAccessToken: 'strfnt_da6721a008d3d7f1c243006d639b5922d115ffd2b6e3e5174e6c01c3f9ff84e2', 366 loginRetryFn: () => { 367 console.log('loginRetryFn called'); 368 return recharge.auth.loginShopifyAppProxy().then(session => { 369 console.log('Recharge SDK initialized...'); 370 return session; 371 }); 372 }, 373 }); 374 resolve(); 375 } catch (error) { 376 console.error('Error initializing Recharge SDK:', error); 377 reject(error); 378 } 379 }); 380 } 381 382 async function renderCustomerDetails() { 383 try { 384 //console.log('Rendering customer details...'); 385 const session = await recharge.auth.loginShopifyAppProxy(); 386 const customerDetails = await recharge.customer.getCustomer(session, { include: ['addresses'] }); 387 388 //console.log('Customer found: Removing discount feature for this customer'); 389 hideDiscountButtons(); 390 391 // Observe DOM changes to detect dynamically added elements 392 const observer = new MutationObserver(function(mutationsList) { 393 for (const mutation of mutationsList) { 394 if (mutation.type === 'childList') { 395 hideDiscountButtons(); 396 } 397 } 398 }); 399 400 // Configuration of the observer 401 const config = { childList: true, subtree: true }; 402 403 // Start observing the target node for configured mutations 404 observer.observe(document.body, config); 405 406 } catch (error) { 407 console.error('Error fetching customer details:', error); 408 } 409 } 410 411 // Function to hide discount buttons 412 function hideDiscountButtons() { 413 //console.log('Hiding discount buttons...'); 414 document.querySelectorAll('.recharge-action-add-discount').forEach(function(element) { 415 element.style.display = 'none'; 416 }); 417 } 418 419 // Ensure that the SDK is initialized before rendering customer details 420 document.addEventListener('DOMContentLoaded', async function() { 421 try { 422 await initializeRechargeSDK(); 423 renderCustomerDetails(); 424 } catch (error) { 425 console.error('Error during SDK initialization or customer details rendering:', error); 426 } 427 }); 428</script>
428 429 430 431
431<script> 432(function () { 433 var loaded = false; 434 435 function loadHeavy() { 436 if (loaded) return; 437 loaded = true; 438 439 var placeholders = document.querySelectorAll('script[type="lazyJs"][data-lazy-name="heavy"][data-src]'); 440 placeholders.forEach(function (old) { 441 var s = document.createElement('script'); 442 s.src = old.getAttribute('data-src'); 443 s.async = true; 444 s.type = 'text/javascript'; 445 old.parentNode.replaceChild(s, old); 446 }); 447 448 ["pointerdown","touchstart","keydown","wheel","mousedown"].forEach(function (ev) { 449 window.removeEventListener(ev, loadHeavy, true); 450 }); 451 } 452 453 // Interaction-only triggers (Lighthouse usually wonât fire these as a real user) 454 ["pointerdown","touchstart","keydown","wheel","mousedown"].forEach(function (ev) { 455 window.addEventListener(ev, loadHeavy, { capture: true, passive: true, once: true }); 456 }); 457})(); 458</script>
458 459
459<script> 460(function () { 461 let unlocked = false; 462 463 // Store original methods 464 const originalCreateElement = document.createElement; 465 const originalSetAttribute = Element.prototype.setAttribute; 466 const originalAppendChild = Node.prototype.appendChild; 467 const originalInsertBefore = Node.prototype.insertBefore; 468 const originalReplaceChild = Node.prototype.replaceChild; 469 const originalCloneNode = Node.prototype.cloneNode; 470 const originalInnerHTML = Object.getOwnPropertyDescriptor(Element.prototype, 'innerHTML'); 471 472 const intentEvents = [ 473 'mousemove', 'mousedown', 'click', 474 'touchstart', 'touchmove', 475 'scroll', 'wheel', 476 'keydown', 'focus', 'input' 477 ]; 478 479 // Use a Map to store blocked scripts by their element or src 480 const blockedScripts = new Map(); 481 482 // Run interception immediately 483 interceptScripts(); 484 485 function interceptScripts() { 486 console.log('Starting script interception...'); 487 488 // Override document.createElement 489 document.createElement = function(tagName, options) { 490 const element = originalCreateElement.call(document, tagName, options); 491 if (tagName.toLowerCase() === 'script' && !unlocked) { 492 interceptScriptElement(element); 493 } 494 return element; 495 }; 496 497 // Override setAttribute 498 Element.prototype.setAttribute = function(name, value) { 499 if (!unlocked && 500 this.tagName === 'SCRIPT' && 501 name === 'src' && 502 !this.dataset.bypassInterceptor) { 503 504 this.dataset.blocked = 'true'; 505 this.dataset.originalSrc = value; 506 this.type = 'javascript/blocked'; 507 508 // Store in Map using the element as key 509 if (!blockedScripts.has(this)) { 510 blockedScripts.set(this, { 511 element: this, 512 src: value, 513 async: this.async, 514 defer: this.defer 515 }); 516 console.log('Blocked script via setAttribute:', value); 517 } 518 return; // Don't set the src 519 } 520 return originalSetAttribute.call(this, name, value); 521 }; 522 523 // Override innerHTML setter 524 if (originalInnerHTML && originalInnerHTML.set) { 525 Object.defineProperty(Element.prototype, 'innerHTML', { 526 set: function(value) { 527 if (!unlocked && typeof value === 'string' && value.includes('
527<script')) { 528 // Create a temporary div to parse the HTML 529 const temp = document.createElement('div'); 530 temp.innerHTML = value; 531 const scripts = temp.querySelectorAll('script[src]'); 532 533 scripts.forEach(script => { 534 if (script.src && !blockedScripts.has(script.src)) { 535 blockedScripts.set(script.src, { 536 src: script.src, 537 async: script.async, 538 defer: script.defer 539 }); 540 console.log('Blocked script in innerHTML:', script.src); 541 } 542 }); 543 } 544 return originalInnerHTML.set.call(this, value); 545 }, 546 get: originalInnerHTML.get 547 }); 548 } 549 550 // Override appendChild - THIS WAS THE MAIN ISSUE 551 Node.prototype.appendChild = function(child) { 552 // If it's a script and we're blocking, still append but prevent execution 553 if (!unlocked && child && child.tagName === 'SCRIPT' && !child.dataset.bypassInterceptor) { 554 if (child.src && !child.dataset.blocked) { 555 child.dataset.blocked = 'true'; 556 child.type = 'javascript/blocked'; 557 558 // Store in Map using the element as key 559 if (!blockedScripts.has(child)) { 560 blockedScripts.set(child, { 561 element: child, 562 src: child.src, 563 async: child.async, 564 defer: child.defer 565 }); 566 console.log('Blocked script on appendChild:', child.src); 567 } 568 } 569 // Actually append it to the DOM (but it won't execute because type is blocked) 570 return originalAppendChild.call(this, child); 571 } 572 return originalAppendChild.call(this, child); 573 }; 574 575 Node.prototype.insertBefore = function(newNode, referenceNode) { 576 if (!unlocked && newNode && newNode.tagName === 'SCRIPT' && !newNode.dataset.bypassInterceptor) { 577 if (newNode.src && !newNode.dataset.blocked) { 578 newNode.dataset.blocked = 'true'; 579 newNode.type = 'javascript/blocked'; 580 581 if (!blockedScripts.has(newNode)) { 582 blockedScripts.set(newNode, { 583 element: newNode, 584 src: newNode.src, 585 async: newNode.async, 586 defer: newNode.defer 587 }); 588 console.log('Blocked script on insertBefore:', newNode.src); 589 } 590 } 591 // Actually insert it 592 return originalInsertBefore.call(this, newNode, referenceNode); 593 } 594 return originalInsertBefore.call(this, newNode, referenceNode); 595 }; 596 597 // Intercept cloneNode 598 Node.prototype.cloneNode = function(deep) { 599 const clone = originalCloneNode.call(this, deep); 600 if (!unlocked && this.tagName === 'SCRIPT') { 601 interceptScriptElement(clone); 602 } 603 return clone; 604 }; 605 606 // Block existing scripts 607 document.querySelectorAll('script[src]').forEach(script => { 608 if (!unlocked && !script.dataset.bypassInterceptor && script.src) { 609 const src = script.src; 610 611 // Don't block our own script 612 if (src.includes('unblock') || script.hasAttribute('data-consent-script')) { 613 return; 614 } 615 616 script.dataset.blocked = 'true'; 617 script.dataset.originalSrc = src; 618 script.type = 'javascript/blocked'; 619 620 if (!blockedScripts.has(script)) { 621 blockedScripts.set(script, { 622 element: script, 623 src: src, 624 async: script.async, 625 defer: script.defer 626 }); 627 console.log('Blocked existing script:', src); 628 } 629 } 630 }); 631 } 632 633 function interceptScriptElement(scriptElement) { 634 if (!unlocked) { 635 // Mark it as intercepted 636 scriptElement.dataset.intercepted = 'true'; 637 } 638 } 639 640 // UNLOCK FUNCTION - FIXED 641 window.unblockThirdPartyScripts = function() { 642 if (unlocked) return; 643 unlocked = true; 644 645 console.log(`Unlocking ${blockedScripts.size} blocked scripts...`); 646 647 // Remove event listeners
648 intentEvents.forEach(e => { 649 window.removeEventListener(e, window.unblockThirdPartyScripts); 650 }); 651 652 // Process each blocked script 653 blockedScripts.forEach((scriptData, key) => { 654 try { 655 const scriptElement = scriptData.element; 656 657 if (scriptElement && scriptElement.parentNode) { 658 // Restore the existing element 659 scriptElement.removeAttribute('data-blocked'); 660 scriptElement.type = 'text/javascript'; 661 662 // Re-set the src attribute to trigger loading 663 if (scriptData.src) { 664 scriptElement.src = scriptData.src; 665 } 666 667 // Restore async/defer 668 if (scriptData.async) scriptElement.async = true; 669 if (scriptData.defer) scriptElement.defer = true; 670 671 console.log('Unblocked script:', scriptData.src); 672 } else { 673 // Create a new script element 674 const newScript = document.createElement('script'); 675 newScript.src = scriptData.src; 676 newScript.dataset.bypassInterceptor = 'true'; 677 if (scriptData.async) newScript.async = true;
678 if (scriptData.defer) newScript.defer = true; 679 680 document.head.appendChild(newScript); 681 console.log('Added new script:', scriptData.src); 682 } 683 } catch (e) { 684 console.error('Error unblocking script:', e); 685 } 686 }); 687 688 console.log('All scripts unlocked and loaded'); 689 blockedScripts.clear(); 690 691 // Restore original methods (optional - do this after all scripts are processed) 692 setTimeout(() => { 693 document.createElement = originalCreateElement; 694 Element.prototype.setAttribute = originalSetAttribute; 695 Node.prototype.appendChild = originalAppendChild; 696 Node.prototype.insertBefore = originalInsertBefore; 697 Node.prototype.replaceChild = originalReplaceChild; 698 Node.prototype.cloneNode = originalCloneNode; 699 700 if (originalInnerHTML && originalInnerHTML.set) { 701 Object.defineProperty(Element.prototype, 'innerHTML', originalInnerHTML); 702 } 703 }, 100); 704 }; 705 706 // Add event listeners for unlock 707 intentEvents.forEach(e => { 708 window.addEventListener(e, window.unblockThirdPartyScripts, { once: true, passive: true }); 709 }); 710 711 // Fallback unlock after 8 seconds 712 setTimeout(window.unblockThirdPartyScripts, 8000); 713 714 // Also expose a manual unlock method 715 window.forceUnblockScripts = window.unblockThirdPartyScripts; 716 717})(); 718</script>
718 719 <link href="//counterculturecoffee.com/cdn/shop/t/132/assets/tailwind.css?v=93253220278710465741790056578" rel="stylesheet" type="text/css" media="all" /> 720 721 722 <!-- Google Tag Manager --> 723
723<script>
vendor: 343 bytes, lines 723-727
723(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 724 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 725 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 726 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 727 })(window,document,'script','dataLayer','
727GTM-PQP5CBTX
vendor: 3 bytes, line 727
727');
727</script>
727 728 <!-- End Google Tag Manager --> 729 730 731 732 733
733<script> 734 window.localStorage.removeItem("userlogin"); 735 </script>
735 736 737 738 739 740 741 742 743 744 745 746 747 <!-- Swiper CSS --> 748<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" /> 749 750<!-- Swiper JS -->
751<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
751 752 <!-- BEGIN app block: shopify://apps/attentive/blocks/attn-tag/8df62c72-8fe4-407e-a5b3-72132be30a0d -->
752<script type="text/javascript" src="https://cdn.attn.tv/counterculturecoffee/dtag.js?source=app-embed" defer="defer"></script>
752 753 754 755<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
756<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: 24942837837,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 756
756
757<script> 758 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 759</script>
vendor: 1 bytes, line 759
759
760<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}
760).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: 24942837837,storefrontBaseUrl: "https://counterculturecoffee.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://counterculturecoffee.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b"],webPixelsConfigList: [{"id":"1114964045","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"8a9a175b11d15038a70fe78d09c59720","type":"APP","apiClientId":3977633,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]}
760,{"id":"1112342605","configuration":"{\"pixelCode\":\"D2OBJE3C77U6GE46I5IG\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"631078989","configuration":"{\"shop\":\"counter-culture-coffee-retail.myshopify.com\", \"shopliftUrl\":\"https:\/\/events.shoplift.ai\/api\/events\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"dabcda9558be25394b12ce3ce899568b","type":"APP","apiClientId":7521861633,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"498270285","configuration":"{\n \"accountID\":\"counter-culture-coffee-retail.myshopify.com\",\n \"environment\":\"production\",\n \"apiURL\":\"https:\/\/api.quizkitapp.com\"\n }","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8b4008b7d9cf69ef6aab7ff3dbda8179","type":"APP","apiClientId":4291957,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"341442637","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-GX5G9X19KF\\\",\\\"AW-945523684\\\",\\\"GT-5M8X7SZW\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-GX5G9X19KF\\\",\\\"AW-945523684\\\/qex1CKGr7L8ZEOSX7sID\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-GX5G9X19KF\\\",\\\"AW-945523684\\\/456xCJur7L8ZEOSX7sID\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-GX5G9X19KF\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-GX5G9X19KF\\\",\\\"AW-945523684\\\/f3VXCIGp7L8ZEOSX7sID\\\",\\\"MC-B8B2KT6KGV\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-GX5G9X19KF\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-GX5G9X19KF\\\",\\\"AW-945523684\\\/rMTjCPuo7L8ZEOSX7sID\\\",\\\"MC-B8B2KT6KGV\\\",\\\"AW-945523684\\\/F5fkCI7liooYEOSX7sID\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-GX5G9X19KF\\\",\\\"AW-945523684\\\/RWc-CP6o7L8ZEOSX7sID\\\",\\\"MC-B8B2KT6KGV\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-GX5G9X19KF\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-GX5G9X19KF\\\",\\\"AW-945523684\\\/D-8iCKSr7L8ZEOSX7sID\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-GX5G9X19KF\\\",\\\"AW-945523684\\\/sV8KCJ6r7L8ZEOSX7sID\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-GX5G9X19KF\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"159383629","configuration":"{\"pixel_id\":\"1853927104679167\",\"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":"69894221","configuration":"{\"shopId\":\"counter-culture-coffee-retail.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"]},"dataSharingState":"optimized"},{"id":"85426253","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"ThoughtMetric"}
760,{"id":"100827213","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"5","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Google Ads Conversion"},{"id":"100892749","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"32","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Meta Purchase + BV Pixel Event"},{"id":"131137613","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"6","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Shopify Customer tracking"},{"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":"Counter Culture Coffee","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"counter-culture-coffee-retail.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/counterculturecoffee.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":99.0,"currencyCode":"USD"},"product":{"title":"Office Coffee Subscription","vendor":"Counter Culture Coffee","id":"6869823127629","untranslatedTitle":"Office Coffee Subscription","url":"\/products\/office-coffee-subscription","type":"Coffee"},"id":"40095425560653","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"sku":"E27-5R","title":"Big Trouble","untranslatedTitle":"Big Trouble"},{"price":{"amount":103.0,"currencyCode":"USD"},"product":{"title":"Office Coffee Subscription","vendor":"Counter Culture Coffee","id":"6869823127629","untranslatedTitle":"Office Coffee Subscription","url":"\/products\/office-coffee-subscription","type":"Coffee"},"id":"40095425527885","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"sku":"E24-5R","title":"Apollo","untranslatedTitle":"Apollo"},{"price":{"amount":99.0,"currencyCode":"USD"},"product":{"title":"Office Coffee Subscription","vendor":"Counter Culture Coffee","id":"6869823127629","untranslatedTitle":"Office Coffee Subscription","url":"\/products\/office-coffee-subscription","type":"Coffee"},"id":"40095425593421","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"sku":"OR1-5R","title":"Fast Forward","untranslatedTitle":"Fast Forward"},{"price":{"amount":103.0,"currencyCode":"USD"},"product":{"title":"Office Coffee Subscription","vendor":"Counter Culture Coffee","id":"6869823127629","untranslatedTitle":"Office Coffee Subscription","url":"\/products\/office-coffee-subscription","type":"Coffee"},"id":"40095425626189","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"sku":"R46-5R","title":"Forty-Six","untranslatedTitle":"Forty-Six"},{"price":{"amount":103.0,"currencyCode":"USD"},"product":{"title":"Office Coffee Subscription","vendor":"Counter Culture Coffee","id":"6869823127629","untranslatedTitle":"Office Coffee Subscription","url":"\/products\/office-coffee-subscription","type":"Coffee"},"id":"40095425658957","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"sku":"GRADIENT-5R","title":"Gradient","untranslatedTitle":"Gradient"},{"price":{"amount":103.0,"currencyCode":"USD"},"product":{"title":"Office Coffee Subscription","vendor":"Counter Culture Coffee","id":"6869823127629","untranslatedTitle":"Office Coffee Subscription","url":"\/products\/office-coffee-subscription","type":"Coffee"},"id":"40095425691725","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"sku":"OE1-5R","title":"Hologram","untranslatedTitle":"Hologram"},{"price":{"amount":103.0,"currencyCode":"USD"},"product":{"title":"Office Coffee Subscription","vendor":"Counter Culture Coffee","id":"6869823127629","untranslatedTitle":"Office Coffee Subscription","url":"\/products\/office-coffee-subscription","type":"Coffee"},"id":"40095425724493","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"sku":"D11-5R","title":"Slow Motion","untranslatedTitle":"Slow Motion"},{"price":{"amount":99.0,"currencyCode":"USD"},"product":{"title":"Office Coffee Subscription","vendor":"Counter Culture Coffee","id":"6869823127629","untranslatedTitle":"Office Coffee Subscription","url":"\/products\/office-coffee-subscription","type":"Coffee"},"id":"40134742704205","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"sku":"YRS-5R","title":"Roaster's Choice","untranslatedTitle":"Roaster's Choice"}],"products":[{"id":"6869823127629","handle":"office-coffee-subscription","isCollective":null,"title":"Office Coffee Subscription","type":"Coffee","untranslatedTitle":"Office Coffee Subscription","url":"\/products\/office-coffee-subscription","vendor":"Counter Culture Coffee","remoteShopId":null,"variants":[{"id":"40095425560653","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"price":{"amount":99.0,"currencyCode":"USD"},"sku":"E27-5R","title":"Big Trouble","untranslatedTitle":"Big Trouble"},{"id":"40095425527885","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"price":{"amount":103.0,"currencyCode":"USD"},"sku":"E24-5R","title":"Apollo","untranslatedTitle":"Apollo"},{"id":"40095425593421","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"price":{"amount":99.0,"currencyCode":"USD"},"sku":"OR1-5R","title":"Fast Forward","untranslatedTitle":"Fast Forward"},{"id":"40095425626189","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"price":{"amount":103.0,"currencyCode":"USD"},"sku":"R46-5R","title":"Forty-Six","untranslatedTitle":"Forty-Six"},{"id":"40095425658957","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"price":{"amount":103.0,"currencyCode":"USD"},"sku":"GRADIENT-5R","title":"Gradient","untranslatedTitle":"Gradient"},{"id":"40095425691725","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"price":{"amount":103.0,"currencyCode":"USD"},"sku":"OE1-5R","title":"Hologram","untranslatedTitle":"Hologram"},{"id":"40095425724493","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"price":{"amount":103.0,"currencyCode":"USD"},"sku":"D11-5R","title":"Slow Motion","untranslatedTitle":"Slow Motion"},{"id":"40134742704205","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"price":{"amount":99.0,"currencyCode":"USD"},"sku":"YRS-5R","title":"Roaster's Choice","untranslatedTitle":"Roaster's Choice"}]},{"id":"6732339806285","handle":"perennial","isCollective":null,"title":"Perennial","type":"Coffee","untranslatedTitle":"Perennial","url":"\/products\/perennial","vendor":"Counter Culture Coffee - Retail","remoteShopId":null,"variants":[{"id":"40118963241037","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Perennial_PDP_gallery2.jpg?v=1776379243"},"price":{"amount":26.0,"currencyCode":"USD"},"sku":"PERENNIAL-BG","title":"12 oz box","untranslatedTitle":"12 oz box"}]},{"id":"6801620729933","handle":"idido","isCollective":null,"title":"Idido","type":"Coffee","untranslatedTitle":"Idido","url":"\/products\/idido","vendor":"Counter Culture Coffee - Retail","remoteShopId":null,"variants":[{"id":"39871623266381","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Idido_2025_PDP_4.png?v=1751383499"},"price":{"amount":26.0,"currencyCode":"USD"},"sku":"IDIDO-BG","title":"12 oz","untranslatedTitle":"12 oz"}]},{"id":"6901906145357","handle":"sipacapa-1","isCollective":null,"title":"Sipacapa","type":"Coffee","untranslatedTitle":"Sipacapa","url":"\/products\/sipacapa-1","vendor":"Counter Culture Coffee - Retail","remoteShopId":null,"variants":[{"id":"40154938736717","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/CCC_Sipacapa_12oz_2024_1.png?v=1727103312"},"price":{"amount":25.0,"currencyCode":"USD"},"sku":"SIPACO-BG","title":"12 oz","untranslatedTitle":"12 oz"}]},{"id":"6732362416205","handle":"single-origin-subscription-two-bags-2","isCollective":null,"title":"Single-Origin Subscription - Two Bags","type":"Coffee","untranslatedTitle":"Single-Origin Subscription - Two Bags","url":"\/products\/single-origin-subscription-two-bags-2","vendor":"Counter Culture Coffee - Retail","remoteShopId":null,"variants":[{"id":"39638232793165","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/SOScopy2_1copy.gif?v=1730828189"},"price":{"amount":39.0,"currencyCode":"USD"},"sku":"SOS-2BG","title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"6931756941389","handle":"asuvim","isCollective":null,"title":"ASUVIM","type":"Coffee","untranslatedTitle":"ASUVIM","url":"\/products\/asuvim","vendor":"Counter Culture Coffee - Retail","remoteShopId":null,"variants":[{"id":"40226706522189","image":{"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/ASUVIM_PDP.png?v=1764701200"},"price":{"amount":27.0,"currencyCode":"USD"},"sku":"ASUVIMO-BG","title":"12 oz","untranslatedTitle":"12 oz"}]}],"purchasingCompany":null},},"https://counterculturecoffee.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"139641749581","themePublished":"true","eventMetadataId":"88b98d16-54bb-4437-824d-54a29a2199e0","pageType":"product","resourceId":"6869823127629","shopId":"24942837837","storefrontBaseUrl":"https:\/\/counterculturecoffee.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":99.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Office Coffee Subscription\",\"vendor\":\"Counter Culture Coffee\",\"
760id\":\"6869823127629\",\"untranslatedTitle\":\"Office Coffee Subscription\",\"url\":\"\/products\/office-coffee-subscription\",\"type\":\"Coffee\"},\"id\":\"40095425560653\",\"image\":{\"src\":\"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985\"},\"sku\":\"E27-5R\",\"title\":\"Big Trouble\",\"untranslatedTitle\":\"Big Trouble\"}}]]"});})();</script>
760<script> 761 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 762 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 763 window.ShopifyAnalytics.meta.currency = 'USD'; 764 var meta = {"product":{"id":6869823127629,"gid":"gid:\/\/shopify\/Product\/6869823127629","vendor":"Counter Culture Coffee","type":"Coffee","handle":"office-coffee-subscription","variants":[{"id":40095425560653,"price":9900,"name":"Office Coffee Subscription - Big Trouble","public_title":"Big Trouble","sku":"E27-5R"},{"id":40095425527885,"price":10300,"name":"Office Coffee Subscription - Apollo","public_title":"Apollo","sku":"E24-5R"},{"id":40095425593421,"price":9900,"name":"Office Coffee Subscription - Fast Forward","public_title":"Fast Forward","sku":"OR1-5R"},{"id":40095425626189,"price":10300,"name":"Office Coffee Subscription - Forty-Six","public_title":"Forty-Six","sku":"R46-5R"},{"id":40095425658957,"price":10300,"name":"Office Coffee Subscription - Gradient","public_title":"Gradient","sku":"GRADIENT-5R"},{"id":40095425691725,"price":10300,"name":"Office Coffee Subscription - Hologram","public_title":"Hologram","sku":"OE1-5R"},{"id":40095425724493,"price":10300,"name":"Office Coffee Subscription - Slow Motion","public_title":"Slow Motion","sku":"D11-5R"},{"id":40134742704205,"price":9900,"name":"Office Coffee Subscription - Roaster's Choice","public_title":"Roaster's Choice","sku":"YRS-5R"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":6869823127629,"requestId":"946b23ea-accf-48f7-a5ff-d6d02bb169ca-1790273929"}}; 765 for (var attr in meta) { 766 window.ShopifyAnalytics.meta[attr] = meta[attr]; 767 } 768</script>
vendor: 1 bytes, line 768
768
769<script class="analytics"> 770 (function () { 771 var customDocumentWrite = function(content) { 772 var jquery = null; 773 774 if (window.jQuery) { 775 jquery = window.jQuery; 776 } else if (window.Checkout && window.Checkout.$) { 777 jquery = window.Checkout.$; 778 } 779 780 if (jquery) { 781 jquery('body').append(content); 782 } 783 }; 784 785 var hasLoggedConversion = function(token) { 786 if (token) { 787 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 788 } 789 return false; 790 } 791 792 var setCookieIfConversion = function(token) { 793 if (token) { 794 var twoMonthsFromNow = new Date(Date.now()); 795 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 796 797 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 798 } 799 } 800 801 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 802 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 803 if (trekkie.integrations) { 804 return; 805 } 806 trekkie.methods = [ 807 'identify', 808 'page', 809 'ready', 810 'track', 811 'trackForm', 812 'trackLink' 813 ]; 814 trekkie.factory = function(method) { 815 return function() { 816 var args = Array.prototype.slice.call(arguments); 817 args.unshift(method); 818 trekkie.push(args); 819 if (method == 'track' || method == 'page') { 820 try { 821 if (window.__TREKKIE_SHIM_QUEUE == null) { 822 window.__TREKKIE_SHIM_QUEUE = []; 823 } 824 window.__TREKKIE_SHIM_QUEUE.push({ 825 from: 'trekkie-stub', 826 method: method, 827 args: args.slice(1) 828 }); 829 } catch (e) { 830 // no-op 831 } 832 } 833 return trekkie; 834 }; 835 }; 836 for (var i = 0; i < trekkie.methods.length; i++) { 837 var key = trekkie.methods[i]; 838 trekkie[key] = trekkie.factory(key); 839 } 840 trekkie.load = function(config) { 841 trekkie.config = config || {}; 842 trekkie.config.initialDocumentCookie = document.cookie; 843 var first = document.getElementsByTagName('script')[0]; 844var script = document.createElement('script'); 845script.type = 'text/javascript'; 846script.onerror = function(e) { 847 var scriptFallback = document.createElement('script'); 848 scriptFallback.type = 'text/javascript'; 849 scriptFallback.onerror = function(error) { 850 var Monorail = { 851 produce: function produce(monorailDomain, schemaId, payload) { 852 var currentMs = new Date().getTime(); 853 var event = { 854 schema_id: schemaId, 855 payload: payload, 856 metadata: { 857 event_created_at_ms: currentMs, 858 event_sent_at_ms: currentMs 859 } 860 }; 861 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 862 }, 863 sendRequest: function sendRequest(endpointUrl, payload) { 864 // Try the sendBeacon API 865 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 866 var blobData = new window.Blob([payload], { 867 type: 'text/plain' 868 }); 869 870 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 871 return true; 872 } // sendBeacon was not successful 873 874 } // XHR beacon 875 876 var xhr = new XMLHttpRequest(); 877 878 try { 879 xhr.open('POST', endpointUrl); 880 xhr.setRequestHeader('Content-Type', 'text/plain'); 881 xhr.send(payload); 882 } catch (e) { 883 console.log(e); 884 } 885 886 return false; 887 }, 888 isIos12: function isIos12() { 889 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 890 } 891 }; 892 Monorail.produce('monorail-edge.shopifysvc.com', 893 'trekkie_storefront_load_errors/1.1', 894 {shop_id: 24942837837, 895 theme_id: 139641749581, 896 app_name: "storefront", 897 context_url: window.location.href, 898 source_url: "//counterculturecoffee.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 899 900 }; 901 scriptFallback.async = true; 902 scriptFallback.src = '//counterculturecoffee.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 903 first.parentNode.insertBefore(scriptFallback, first); 904}; 905script.async = true; 906script.src = '//counterculturecoffee.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 907first.parentNode.insertBefore(script, first); 908 909 }; 910 trekkie.load( 911 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":24942837837,"isMerchantRequest":null,"themeId":139641749581,"themeCityHash":"6260333629690099123","contentLanguage":"en","currency":"USD","eventMetadataId":"88b98d16-54bb-4437-824d-54a29a2199e0"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 912 ); 913 914 var loaded = false;
915 trekkie.ready(function() { 916 if (loaded) return; 917 loaded = true; 918 919 window.ShopifyAnalytics.lib = window.trekkie; 920 921 var originalDocumentWrite = document.write; 922 document.write = customDocumentWrite; 923 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 924 document.write = originalDocumentWrite; 925 926 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 927 var token = match? match[1]: undefined; 928 if (!hasLoggedConversion(token)) { 929 setCookieIfConversion(token); 930 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":40095425560653,"productId":6869823127629,"productGid":"gid:\/\/shopify\/Product\/6869823127629","name":"Office Coffee Subscription - Big Trouble","price":"99.00","sku":"E27-5R","brand":"Counter Culture Coffee","variant":"Big Trouble","category":"Coffee","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 931 } 932 }); 933 934 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":6869823127629,"requestId":"946b23ea-accf-48f7-a5ff-d6d02bb169ca-1790273929","shopifyEmitted":true}); 935 936 var eventsListenerScript = document.createElement('script'); 937 eventsListenerScript.async = true; 938 eventsListenerScript.src = "//counterculturecoffee.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 939 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 940})();</script>
vendor: 1 bytes, line 940
940
941<script 942 defer 943 src="https://counterculturecoffee.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 944 data-application="storefront-renderer" 945 data-shop-id="24942837837" 946 data-render-region="gcp-us-central1" 947 data-page-type="product" 948 data-theme-instance-id="139641749581" 949 data-theme-name="o/S CCC Retail Theme" 950 data-theme-version="1.0.0" 951 data-monorail-region="shop_domain" 952 data-resource-timing-sampling-rate="10" 953 data-shs="true" 954 data-shs-beacon="true" 955 data-shs-export-with-fetch="true" 956 data-shs-logs-sample-rate="1" 957 data-shs-beacon-endpoint="https://counterculturecoffee.com/api/collect" 958></script>
958 959<meta name="shopify-y" content="00000000-0000-0000-5000-000000000000" data-expiration="1821831529000"><meta name="shopify-s" content="00000000-0000-0000-5000-000000000000" data-expiration="1790275729000"><meta name="new-cookie-storage-activated" content="t"> 960</head> 961 <body class="content-page" office data-template-suffix="office" data-template="product"> 962<div class="gift-subscription-pdp-popup-section"> 963</div> 964<style> 965 .gift-subscription-pdp-popup-section{ 966 display: none; 967 } 968</style> 969 <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 969-970
969 970 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
970GTM-PQP5CBTX
vendor: 91 bytes, lines 970-972
970" 971 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 972
972<!-- End Google Tag Manager (noscript) --> 973 974 975 <a href="#MainContent" class="sr-only">Skip to main content</a> 976 977 <div class="overlay cursor-pointer js-overlay hidden bg-black opacity-20 fixed top-0 bottom-0 left-0 right-0 w-screen h-screen z-20"></div> 978 979 <div id="shopify-section-announcement-bar" class="shopify-section section-announcement-bar js-announcement relative z-50"><!-- sections/announcement-bar.liquid --> 980 981 982 983 984 985<header class="overflow-hidden relative bg-repeat-x border border-black js-announcement announce-bar " style="background-color: #8d93d9;"> 986 <ul class="flex justify-center w-auto m-auto px-8 py-2 "> 987 988 <li class="flex-shrink-0" data-delay="200"> 989 <p class="text-sm font-normal font-freight-sans tracking-wider" style="color: #ffffff;">Free shipping on $30 & up!</p> 990 </li> 991 992 </ul> 993 <button type="button" 994 name="button" 995 class="btn-transparent absolute p-2 right-5 top-1/2 -translate-y-1/2 text-white js-close-announcement"> 996 <span class="sr-only">Close Announcement Bar</span> 997 <!-- snippets/icon (close) [aa/ja] --> 998 999 1000<svg 1001 class=" 1002 icon icon-close w-3 1003" 1004 width="16" 1005 height="16" 1006 viewBox="0 0 16 16" 1007 fill="none" 1008 xmlns="http://www.w3.org/2000/svg"> 1009 <path fill-rule="evenodd" clip-rule="evenodd" d="M7.8314 5.85215L13.4785 0.205025C13.7519 -0.0683413 14.1951 -0.0683425 14.4685 0.205024L15.5999 1.3364C15.8732 1.60976 15.8732 2.05298 15.5999 2.32635L9.95272 7.97347L15.4785 13.4993C15.7519 13.7727 15.7519 14.2159 15.4785 14.4892L14.3472 15.6206C14.0738 15.894 13.6306 15.894 13.3572 15.6206L7.8314 10.0948L2.44767 15.4785C2.1743 15.7519 1.73108 15.7519 1.45772 15.4785L0.326345 14.3472C0.0529781 14.0738 0.0529788 13.6306 0.326346 13.3572L5.71008 7.97347L0.205026 2.46842C-0.0683414 2.19505 -0.0683419 1.75184 0.205025 1.47847L1.3364 0.347099C1.60976 0.0737322 2.05298 0.0737327 2.32635 0.3471L7.8314 5.85215Z" fill="currentColor"/> 1010 </svg> 1011 </button> 1012</header> 1013
1014<script type="text/javascript"> 1015 if (sessionStorage.getItem('announcementClosed')) { 1016 document.querySelector('.js-announcement').classList.add("hidden") 1017 } 1018</script>
1018 1019 1020 1021 1022</div> 1023 <div id="shopify-section-header" class="shopify-section sticky top-0 bg-white z-40"><!-- sections/header.liquid --> 1024<header class="relative js-main-nav transition-colors hidden xl:block bg-blue border-t border-b border-black"> 1025 <nav class="flex justify-between py-2 px-4 lg:px-6 gap-5" aria-label="main menu"> 1026 <div class="flex items-center justify-start w-1/5"> 1027 <a href="/pages/counter-culture-quiz" class="btn btn-white btn-small relative find_your_fave">Find your Fave</a> 1028 </div> 1029 1030 <!-- snippets/desktop-menu --><ul class="list-none flex items-center justify-end w-full gap-4"> 1031 1032 1033 1034 1035<li class="flex items-center p-4 h-full submenu--trigger " 1036 data-link="desktop--shop"> 1037 <a id="menu-link--shop" 1038 href="/collections/coffee" 1039 class="font-semibold text-white hover:underline pb-1 block transition-all text-center uppercase tracking-widest font-founders-grotesk-medium leading-none" 1040 > 1041 Shop 1042 </a><!-- snippets/desktop-megamenu --> 1043 1044<style> 1045 @media (min-width: 1080px){ 1046 .learn_megamenu{ 1047 width: 94vw !important; 1048 max-width: 1360px !important; 1049 1050 } 1051 } 1052</style> 1053 1054<div role="region" 1055 aria-labelledby="menu-link--shop" 1056 class="megamenu_wrapper absolute top-full left-0_ left-1/2 -translate-x-1/2 -translate-y-[6px] list-none border-black border-t flex flex-col w-auto desktop--submenu z-100" 1057 data-link="desktop--shop"> 1058 1059 1060 <div class="bg-[#F6F5F2] py-10 w-fit_ w-[94vw] max-w-[1360px] 3xl:max-w-[1800px] 6xl:max-w-[2450px] border border-blue flex overflow-hidden"> 1061 <div class="flex w-2/3"> 1062 <div class="coffee_links px-14 py-1 border-r border-[#00108f80] w-fit"> 1063 <ul class="list-none flex flex-col items-start gap-2"> 1064 1065 <li class="flex items-center pb-5 relative" 1066 data-link="desktop--bestsellers"> 1067 <a id="menu-link--bestsellers" 1068 href="/collections/bestsellers" 1069 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1070 > 1071 Bestsellers 1072 </a> 1073 1074 1075 </li> 1076 1077 <li class="flex items-center pb-5 relative" 1078 data-link="desktop--build-your-own-bundle"> 1079 <a id="menu-link--build-your-own-bundle" 1080 href="/pages/build-your-bundle" 1081 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1082 > 1083 BUILD YOUR OWN BUNDLE 1084 </a> 1085 1086 1087 <div class="absolute right-0 top-[-20px] bg-yellow mb-1 px-2 text-[12px] font-semibold polygon-banner--yellow"> 1088 Save 25% 1089 </div> 1090 1091 </li> 1092 1093 <li class="flex items-center pb-5 relative" 1094 data-link="desktop--bundle-sets"> 1095 <a id="menu-link--bundle-sets" 1096 href="/collections/bundles" 1097 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1098 > 1099 BUNDLE SETS 1100 </a> 1101 1102 1103 </li> 1104 1105 <li class="flex items-center pb-5 relative" 1106 data-link="desktop--gifts"> 1107 <a id="menu-link--gifts" 1108 href="/collections/evergreen-year-round-gifts" 1109 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1110 > 1111 GIFTS 1112 </a> 1113 1114 1115 </li> 1116 1117 </ul> 1118 <a href="/collections/all" class="btn btn-outline-black btn-shorter w-full lg:whitespace-nowrap max-w-[250px] 6xl:max-w-[310px] px-8 mt-2"> 1119 Shop All Coffee 1120 </a> 1121 </div> 1122 <div class="coffee_type px-14 py-1 border-r border-[#00108f80] w-full"> 1123 <h4 class="font-bold text-blue uppercase tracking-widest !font-founders-grotesk-medium leading-none text-base pb-5">SHOP BY</h4> 1124 <ul class="list-none grid grid-cols-2 gap-[66px]_"> 1125 1126 <li class="flex items-center pb-5 gap-3" 1127 data-link="desktop--blends"> 1128 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1129 1130 1131 <img src="//counterculturecoffee.com/cdn/shop/files/nav-1-blends.png?v=1715628777" alt="Blends"> 1132 1133 1134 </div> 1135 <a id="menu-link--blends" 1136 href="/collections/blends" 1137 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1138 > 1139 Blends 1140 </a> 1141 </li> 1142 1143 <li class="flex items-center pb-5 gap-3" 1144 data-link="desktop--medium-roast"> 1145 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1146 1147 1148 <img src="//counterculturecoffee.com/cdn/shop/files/nav-1-medium-roast.png?v=1715628778" alt="Medium Roast"> 1149 1150 1151 </div> 1152 <a id="menu-link--medium-roast" 1153 href="https://counterculturecoffee.com/collections/coffee/?filter.p.m.filters.roast-level=medium" 1154 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1155 > 1156 Medium Roast 1157 </a> 1158 </li> 1159 1160 <li class="flex items-center pb-5 gap-3" 1161 data-link="desktop--single-origins"> 1162 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1163 1164 1165 <img src="//counterculturecoffee.com/cdn/shop/files/nav-1-single-origins.png?v=1715628777" alt="Single Origins"> 1166 1167 1168 </div> 1169 <a id="menu-link--single-origins" 1170 href="/collections/single-origins" 1171 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1172 > 1173 Single Origins 1174 </a> 1175 </li> 1176 1177 <li class="flex items-center pb-5 gap-3" 1178 data-link="desktop--light-roast"> 1179 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1180 1181 1182 <img src="//counterculturecoffee.com/cdn/shop/files/nav-1-light-roast-new.png?v=1716213810" alt="Light Roast"> 1183 1184 1185 </div> 1186 <a id="menu-link--light-roast" 1187 href="https://counterculturecoffee.com/collections/coffee/?filter.p.m.filters.roast-level=light" 1188 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1189 > 1190 Light Roast 1191 </a> 1192 </li> 1193 1194 <li class="flex items-center pb-5 gap-3" 1195 data-link="desktop--featured"> 1196 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1197 1198 1199 <img src="//counterculturecoffee.com/cdn/shop/files/nav-1-featured.png?v=1731929775" alt="Featured"> 1200 1201 1202 </div> 1203 <a id="menu-link--featured" 1204 href="/collections/featured" 1205 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1206 > 1207 Featured 1208 </a> 1209 </li> 1210 1211 <li class="flex items-center pb-5 gap-3" 1212 data-link="desktop--dark-roast"> 1213 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1214 1215 1216 <img src="//counterculturecoffee.com/cdn/shop/files/nav-1-dark-roast.png?v=1715628777" alt="Dark Roast"> 1217 1218 1219 </div> 1220 <a id="menu-link--dark-roast" 1221 href="https://counterculturecoffee.com/collections/coffee/?filter.p.m.filters.roast-level=dark" 1222 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1223 > 1224 Dark Roast 1225 </a> 1226 </li> 1227 1228 </ul> 1229 </div> 1230 </div> 1231 1232 <div class="w-1/3 px-14 py-1"> 1233 <h4 class="font-bold text-blue uppercase tracking-widest !font-founders-grotesk-medium leading-none text-base pb-4">Subscribe & Save 10%</h4> 1234 <div class="flex"> 1235 <a href="/pages/single-origin-subscription"> 1236 <img src="//counterculturecoffee.com/cdn/shop/files/two-bag--desk.png?v=1740665905" alt="2 Bag LP"> 1237 </a> 1238 </div> 1239 </div> 1240 </div> 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251</div> 1252 1253 1254</li> 1255 1256 1257 1258 1259<li class="flex items-center p-4 h-full submenu--trigger " 1260 data-link="desktop--subscribe"> 1261 <a id="menu-link--subscribe" 1262 href="/pages/on-going-subscription" 1263 class="font-semibold text-white hover:underline pb-1 block transition-all text-center uppercase tracking-widest font-founders-grotesk-medium leading-none" 1264 > 1265 Subscribe 1266 </a><!-- snippets/desktop-megamenu --> 1267 1268<style> 1269 @media (min-width: 1080px){ 1270 .learn_megamenu{ 1271 width: 94vw !important; 1272 max-width: 1360px !important; 1273 1274 } 1275 } 1276</style> 1277 1278<div role="region" 1279 aria-labelledby="menu-link--subscribe" 1280 class="megamenu_wrapper absolute top-full left-0_ left-1/2 -translate-x-1/2 -translate-y-[6px] list-none border-black border-t flex flex-col w-auto desktop--submenu z-100" 1281 data-link="desktop--subscribe"> 1282 1283 1284 1285 1286 1287 1288 <div class="bg-[#F6F5F2] w-fit_ w-[80vw] max-w-[1160px] 3xl:max-w-[1800px] 6xl:max-w-[2450px] py-10 border border-blue flex overflow-hidden"> 1289 <div class="flex w-3/5"> 1290 <div class="subscribe_links px-14 py-1 border-r border-[#00108f80] w-full"> 1291 <h4 class="font-bold text-blue uppercase tracking-widest !font-founders-grotesk-medium leading-none text-base pb-5">SUBSCRIBE & SAVE</h4> 1292 <ul class="list-none grid grid-cols-2 gap-x-[44px] gap-y-10px"> 1293 1294 <li class="flex items-center pb-5 gap-3" 1295 data-link="desktop--single-origins"> 1296 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1297 1298 1299 <img src="//counterculturecoffee.com/cdn/shop/files/nav-2-blends.png?v=1715701908" alt="Single Origins"> 1300 1301 1302 </div> 1303 <a id="menu-link--single-origins" 1304 href="https://counterculturecoffee.com/collections/subscriptions/?filter.p.m.filters.coffee-type=single-origin" 1305 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1306 > 1307 Single Origins 1308 </a> 1309 </li> 1310 1311 <li class="flex items-center pb-5 gap-3" 1312 data-link="desktop--gift-a-subscription"> 1313 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1314 1315 1316 <img src="//counterculturecoffee.com/cdn/shop/files/nav-2-gift-sub.png?v=1715701909" alt="Gift a subscription"> 1317 1318 1319 </div> 1320 <a id="menu-link--gift-a-subscription" 1321 href="/pages/holiday-gift-subscription" 1322 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1323 > 1324 Gift a subscription 1325 </a> 1326 </li> 1327 1328 <li class="flex items-center pb-5 gap-3" 1329 data-link="desktop--blends-on-repeat"> 1330 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1331 1332 1333 <img src
1333="//counterculturecoffee.com/cdn/shop/files/nav-2-single-origins.png?v=1715701909" alt="Blends on Repeat"> 1334 1335 1336 </div> 1337 <a id="menu-link--blends-on-repeat" 1338 href="https://counterculturecoffee.com/collections/subscriptions/?filter.p.m.filters.coffee-type=blend" 1339 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1340 > 1341 Blends on Repeat 1342 </a> 1343 </li> 1344 1345 <li class="flex items-center pb-5 gap-3" 1346 data-link="desktop--office-subscriptions"> 1347 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1348 1349 1350 <img src="//counterculturecoffee.com/cdn/shop/files/nav-2-office.png?v=1715701909" alt="Office Subscriptions"> 1351 1352 1353 </div> 1354 <a id="menu-link--office-subscriptions" 1355 href="/products/office-coffee-subscription" 1356 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1357 > 1358 Office Subscriptions 1359 </a> 1360 </li> 1361 1362 </ul> 1363 1364 <a href="/pages/on-going-subscription" class="btn btn-outline-black btn-shorter w-fit px-5 lg:whitespace-nowrap mt-2"> 1365 Shop All Subscriptions 1366 </a> 1367 </div> 1368 </div> 1369 <div class="w-2/5 px-14 py-1"> 1370 <h4 class="font-bold text-blue uppercase tracking-widest !font-founders-grotesk-medium leading-none text-base pb-4">Subscribe & Save 10%</h4> 1371 <div class="flex"> 1372 <a href="/pages/single-origin-subscription"> 1373 1374 <img src="//counterculturecoffee.com/cdn/shop/files/two-bag--desk.png?v=1740665905" alt="2 Bag LP"> 1375 1376 </a> 1377 </div> 1378 </div> 1379 </div> 1380 1381 1382 1383 1384 1385 1386</div> 1387 1388 1389</li> 1390 1391</ul> 1392 1393 1394 1395 <!-- snippets/nav-logo --><a href="/" class="w-1/3 flex justify-center items-center js-main-logo"> 1396 <span class="block w-32 mx-auto"> 1397 <span class="sr-only">Counter Culture Coffee Homepage</span><!-- snippets/icon (logo) [aa/ja] --> 1398 1399 1400<svg 1401 class=" 1402 icon icon-logo text-white 1403 mx-auto" 1404 width="60px" 1405 height="60px" 1406 viewBox="0 0 200 200" 1407 version="1.1" 1408 xmlns="http://www.w3.org/2000/svg" 1409 xmlns:xlink="http://www.w3.org/1999/xlink"> 1410 <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 1411 <rect x="0" y="0" width="200" height="200"></rect> 1412 <g transform="translate(16.000000, 0.000000)" fill="currentColor" fill-rule="nonzero"> 1413 <path d="M153.738178,177.346 C155.176998,177.118667 156.534937,176.531 157.685324,175.637333 C158.160252,175.296 158.554966,174.855667 158.84273,174.346667 C159.130494,173.837667 159.303955,173.272333 159.351749,172.689333 C159.399208,172.106667 159.319663,171.520333 159.118463,170.971667 C158.917262,170.422667 158.599084,169.923667 158.186321,169.51 C157.874493,169.008 157.455715,168.581 156.959731,168.26 C156.463748,167.938667 155.902925,167.731333 155.317036,167.652667 C154.731482,167.573667 154.1359,167.625333 153.572404,167.804 C153.009242,167.982333 152.492537,168.283333 152.059053,168.685 C150.853853,169.663667 149.94611,170.959333 149.437426,172.426333 L145.578514,169.480333 C146.54508,167.748333 147.84687,166.226 149.408014,165.002667 C153.856158,161.379 158.598749,161.408667 162.339682,166.033667 C163.189271,166.968333 163.82429,168.077333 164.199954,169.283333 C164.575618,170.489333 164.683237,171.763 164.51479,173.014667 C164.346343,174.266667 163.906174,175.466333 163.225032,176.53 C162.544225,177.594 161.638821,178.495667 160.572323,179.172667 C159.019867,180.429 157.224768,181.351667 155.299323,181.883 L153.738178,177.346 Z" ></path> 1414 <path d="M125.752542,177.728333 C126.869842,177.236 128.080055,176.991 129.300629,177.009333 C130.521537,177.028 131.723729,177.309667 132.825655,177.835667 C133.92758,178.361333 134.902836,179.118667 135.685247,180.056 C136.467323,180.993333 137.038172,182.088333 137.35869,183.266667 C137.777803,184.409333 137.956277,185.626333 137.883416,186.841333 C137.810222,188.056 137.487031,189.243 136.933895,190.327 C136.38076,191.411333 135.609713,192.369333 134.668882,193.141667 C133.728385,193.914 132.638157,194.483667 131.467047,194.814667 C130.357101,195.318 129.150898,195.573333 127.931995,195.563333 C126.713427,195.553333 125.511235,195.278 124.409643,194.756667 C123.308052,194.235333 122.33313,193.48 121.552725,192.544 C120.772319,191.607667 120.205147,190.513 119.890645,189.335333 C119.461172,188.191333 119.274008,186.970333 119.340184,185.750333 C119.406694,184.53 119.72554,183.337 120.276336,182.246333 C120.827132,181.155333 121.598179,180.190667 122.540681,179.413 C123.483518,178.635333 124.577088,178.061667 125.752542,177.728333 Z M130.230097,190.749333 C132.586353,189.954 133.175584,187.803333 132.233081,185.122667 C131.290245,
1414182.441667 129.434651,180.998333 127.078061,181.793667 C124.721471,182.589 124.13224,184.739667 125.075077,187.45 C126.017579,190.16 127.873507,191.515333 130.230097,190.749333 Z" ></path> 1415 <path d="M95.7669297,182.059333 C100.332719,182.265667 103.690634,184.386667 103.484754,189.571667 L103.042914,200.000333 L97.622523,199.794 L98.0349513,190.013333 C98.0349513,187.715667 97.3868974,186.596333 95.5015584,186.537333 C93.6165537,186.478333 92.9390884,187.273667 92.8505199,189.66 L92.4380915,199.558333 L87.0474459,199.352 L87.4598743,189.365333 C87.4134176,188.305 87.6052603,187.247667 88.021365,186.271333 C88.4374698,185.294667 89.0671416,184.424 89.8639237,183.723 C90.6610401,183.022333 91.6048793,182.509 92.626592,182.221 C93.6479705,181.933 94.7211531,181.878 95.7669297,182.059333 Z" ></path> 1416 <polygon points="56.1744776 190.072 51.5495316 188.039333 58.5016563 172.131333 63.774322 174.429333 65.4828582 185.977333 69.4005932 177.139333 73.9957936 179.172 67.1325716 194.933 61.7713374 192.605667 60.0922126 181.205"></polygon> 1417 <polygon points="30.8430221 166.504667 39.6800179 157.343 43.5686757 161.113667 34.731212 170.275667 38.5018899 173.840333 35.4090116 177.022 24.0384225 165.974667 27.1314345 162.793"></polygon> 1418 <polygon points="28.2200915 142.701333 12.8434663 150.272333 6.95205784 138.253 10.7225686 136.367333 14.3457883 143.644 16.3783515 142.642333 13.4326306 136.750333 17.2031413 134.894333 20.1488623 140.786333 22.2108369 139.755333 18.4403261 132.596667 22.2108369 130.711333"></polygon> 1419 <path d="M17.4666409,111.975 L18.1147283,117.336333 L1.05902841,119.428 L0.204767662,111.798 C-0.384373853,107.025667 1.50087819,104.256333 4.91789043,103.844 C5.98245018,103.674 7.07351365,103.848 8.03239282,104.340667 C8.99123857,104.833667 9.76800089,105.619333 10.2496463,106.583667 L16.1410882,101.546333 L16.8480653,107.438 L11.9876274,111.179333 L12.3116543,112.682 L17.4666409,111.975 Z M8.36440766,111.297333 C7.98145759,109.677 7.27448055,109.088 5.89000474,109.264667 C4.50549551,109.441333 4.09310059,110.236667 4.3287596,112.210667 L4.50549551,113.683667 L8.60003325,113.182667 L8.36440766,111.297333 Z" ></path> 1420 <path d="M8.27787792,73.3543333 C7.28684672,74.415 6.58668778,75.714 6.24534818,77.125 C6.08836472,77.6883333 6.05477554,78.279 6.14685334,78.8566667 C6.23893115,79.434 6.4545035,79.985 6.77886468,80.4713333 C7.10322587,80.958 7.52875565,81.369 8.02637685,81.676 C8.52399804,81.983 9.08201292,82.1793333 9.66235373,82.251 C10.2177283,82.4383333 10.8072267,82.5023333 11.3898068,82.4383333 C11.9724203,82.3746667 12.5341451,82.185 13.035944,81.882 C13.537743,81.5793333 13.9675842,81.171 14.295555,80.685 C14.6235592,80.1993333 14.8418053,79.648 14.9351865,79.0693333 C15.2342806,77.5573333 15.132711,75.9933333 14.6406378,74.5326667 L19.4421192,74.356 C19.838906,76.3 19.838906,78.304 19.4421192,80.2476667 C18.2049344,85.8746667 14.4933468,88.8203333 8.69027284,87.5243333 C7.4441644,87.3226667 6.2571796,86.851 5.21247255,86.1423333 C4.1677655,85.4336667 3.29055983,84.5053333 2.64233211,83.422 C1.99410773,82.3386667 1.5905095,81.127 1.45980581,79.8713333 C1.32910212,78.6156667 1.47445471,77.3466667 1.88567651,76.153 C2.29691502,74.2053333 3.09857344,72.3613333 4.24226329,70.7323333 L8.27787792,73.3543333 Z" ></path> 1421 <path d="M30.045371,55.5603333 C27.5709681,59.39 24.1539626,61.2166667 19.6764747,58.5063333 L10.8393119,52.85 L13.7850329,48.3133333 L22.0035866,53.5866667 C23.9477484,54.8533333 25.2733011,54.765 26.2748602,53.1743333 C27.276386,51.5833333 26.952359,50.5816667 24.9198293,49.2856667 L16.5834627,43.924 L19.5291837,39.3873333 L27.9244733,44.8076667 C28.8506323,45.301 29.6554357,45.994 30.2804953,46.8366667 C30.9055548,47.6796667 31.3351955,48.651 31.5382346,49.6803333 C31.7413071,50.71 31.7126978,51.7716667 31.4544789,52.7886667 C31.19626,53.8056667 30.7149153,54.7526667 30.045371,55.5603333 Z" ></path> 1422 <polygon points="43.8928697 38.3266667 33.2882476 24.7457333 37.5593875 21.4168333 45.4246032 31.4919667 50.6678574 27.3971 53.4074645 30.9027667"></polygon> 1423 <polygon points="66.9868514 10.1340667 71.6412088 21.9178333 66.574423 23.8916 62.0674569 12.1078333 57.236631 13.9932667 55.6163291 9.86893333 70.3451009 3.97706667 71.9650686 8.10136667"></polygon> 1424 <path d="M97.4139693,17.7049333 C92.8481803,17.7049333 89.3722851,
142415.8784667 89.2546394,10.6641333 L89.0484252,0.235512 L94.4684823,0.235512 L94.6746964,9.9866 C94.6746964,12.3138667 95.5289645,13.3449333 97.4139693,13.3155 C99.2993082,13.2860333 99.9179507,12.4022667 99.8885393,10.0160333 L99.741148,0.0292968667 L105.131794,0.0292968667 L105.338008,10.0160333 C105.427913,11.069 105.282861,12.1287667 104.912879,13.1187 C104.543231,14.1086333 103.957676,15.0039333 103.199329,15.7398333 C102.440983,16.4757333 101.52856,17.0338 100.527903,17.3736667 C99.5272467,17.7135333 98.4637565,17.8267 97.4139693,17.7049333 Z" ></path> 1425 <path d="M124.573411,21.3285 L119.448137,19.5314667 L125.162643,3.26985667 L132.526861,5.8623 C137.033827,7.4531 138.712952,10.3696 137.564236,13.6101333 C137.245389,14.6368333 136.608364,15.5355667 135.745407,16.1763667 C134.882115,16.8171667 133.837675,17.1668 132.762487,17.1747 L134.618414,24.8341667 L128.962732,22.8309333 L127.78427,16.9390333 L126.281948,16.5560667 L124.573411,21.3285 Z M129.227769,13.4333667 C130.818325,13.8163333 131.672593,13.4333667 132.17359,12.1076667 C132.674253,10.782 132.17359,10.075 130.25884,9.42686667 L128.81534,8.86716667 L127.430998,12.7852667 L129.227769,13.4333667 Z" ></path> 1426 <polygon points="145.842882 31.551 156.653585 18.1469667 167.140428 26.5429 164.489389 29.8129 158.126495 24.6869667 156.712742 26.4545333 161.720371 30.4904667 159.098743 33.7603333 154.061369 29.7834333 152.618204 31.5804667 158.951352 36.7063333 156.329725 39.9763333"></polygon> 1427 <path d="M53.2305269,99.956 C53.2319986,109.068 55.9335045,117.975333 60.9936058,125.553333 C66.0537072,133.131 73.2458023,139.039 81.6611452,142.531667 C90.0768223,146.024333 99.3387462,146.944667 108.27681,145.176333 C117.215209,143.408333 125.429016,139.030667 131.881147,132.597 L115.650387,116.364667 C112.40711,119.546 108.296864,121.698667 103.835017,122.552667 C99.373171,123.406667 94.7585858,122.923667 90.5701321,121.165 C86.3813441,119.406 82.8055169,116.449333 80.2908404,112.665667 C77.7761638,108.882 76.434602,104.44 76.434602,99.897 C76.434602,95.354 77.7761638,90.912 80.2908404,87.1283333 C82.8055169,83.3446667 86.3813441,80.388 90.5701321,78.629 C94.7585858,76.8703333 99.373171,76.3873333 103.835017,77.2413333 C108.296864,78.0953333 112.40711,80.248 115.650387,83.429 L131.881147,67.197 C125.421998,60.756 117.197161,56.3763333 108.248067,54.6116667 C99.2986398,52.8473333 90.0273577,53.7776667 81.6066672,57.2846667 C73.186311,60.792 65.9955528,66.7183333 60.9444754,74.3143333 C55.8930638,81.91 53.2086032,90.8336667 53.2305269,99.956 Z" ></path> 1428 </g> 1429 </g> 1430 </svg> 1431</span> 1432</a> 1433 1434 <!-- snippets/desktop-menu --><ul class="list-none flex items-center justify-start w-full gap-4"> 1435 1436 1437 1438 1439<li class="flex items-center p-4 h-full submenu--trigger " 1440 data-link="desktop--learn"> 1441 <a id="menu-link--learn" 1442 href="/pages/brewing-guides" 1443 class="font-semibold text-white hover:underline pb-1 block transition-all text-center uppercase tracking-widest font-founders-grotesk-medium leading-none" 1444 > 1445 Learn 1446 </a><!-- snippets/desktop-megamenu --> 1447 1448<style> 1449 @media (min-width: 1080px){ 1450 .learn_megamenu{ 1451 width: 94vw !important; 1452 max-width: 1360px !important; 1453 1454 } 1455 } 1456</style> 1457 1458<div role="region" 1459 aria-labelledby="menu-link--learn" 1460 class="megamenu_wrapper absolute top-full left-0_ left-1/2 -translate-x-1/2 -translate-y-[6px] list-none border-black border-t flex flex-col w-auto desktop--submenu z-100" 1461 data-link="desktop--learn"> 1462 1463 1464 1465 1466 <div class="learn_megamenu bg-[#F6F5F2] w-fit_ w-[88vw] max-w-[1270px] 3xl:max-w-[1800px] 6xl:max-w-[2450px] py-10 border border-blue flex overflow-hidden"> 1467 <div class="flex w-2/3"> 1468 <div class="learn_links px-14 py-1 border-r border-[#00108f80] w-full"> 1469 <ul class="list-none flex flex-col items-start gap-2"> 1470 1471 <li class="flex items-center pb-5" 1472 data-link="desktop--sustainability"> 1473 <a id="menu-link--sustainability" 1474 href="/pages/sustainability" 1475 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1476 > 1477 Sustainability 1478 </a> 1479 </li> 1480 1481 <li class="flex items-center pb-5" 1482 data-link="desktop--education"> 1483 <a id="menu-link--education" 1484 href="/pages/classes" 1485 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1486 > 1487 Education 1488 </a> 1489 </li> 1490 1491 <li class="flex items-center pb-5" 1492 data-link="desktop--training-centers"> 1493 <a id="menu-link--training-centers" 1494 href="/pages/training-centers" 1495 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1496 > 1497 Training Centers 1498 </a> 1499 </li> 1500 1501 <li class="flex items-center pb-5" 1502 data-link="desktop--transparency-report-2025"> 1503 <a id="menu-link--transparency-report-2025" 1504 href="/pages/transparency-report-2025" 1505 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1506 > 1507 Transparency Report 2025 1508 </a> 1509 </li> 1510 1511 <li class="flex items-center pb-5" 1512 data-link="desktop--coffee-driven-stories"> 1513 <a id="menu-link--coffee-driven-stories" 1514 href="https://counterculturecoffee.com/pages/coffeedriven" 1515 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1516 > 1517 Coffee-Driven Stories 1518 </a> 1519 </li> 1520 1521 </ul> 1522 </div> 1523 <div class="coffee_lab px-14 py-1 border-r border-[#00108f80] w-full"> 1524 <h4 class="font-bold text-blue uppercase tracking-widest !font-founders-grotesk-medium leading-none text-base pb-5">Resources</h4> 1525 <ul class="list-none grid grid-cols-2 gap-x-[80px] gap-y-[10px]"> 1526 1527 <li class="flex items-center pb-5 gap-3" 1528 data-link="desktop--brew-guides"> 1529 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1530 1531 1532 <img src="//counterculturecoffee.com/cdn/shop/files/nav-3-brew-guides.png?v=1715713141" alt="Brew Guides"> 1533 1534 1535 </div> 1536 <a id="menu-link--brew-guides" 1537 href="/pages/brewing-guides" 1538 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1539 > 1540 Brew Guides 1541 </a> 1542 </li> 1543 1544 <li class="flex items-center pb-5 gap-3" 1545 data-link="desktop--classes"> 1546 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1547 1548 1549 <img src="//counterculturecoffee.com/cdn/shop/files/nav-3-classes.png?v=1715713141" alt="Classes"> 1550 1551 1552 </div> 1553 <a id="menu-link--classes" 1554 href="/pages/training-centers" 1555 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1556 > 1557 Classes 1558 </a> 1559 </li> 1560 1561 <li class="flex items-center pb-5 gap-3" 1562 data-link="desktop--blogs"> 1563 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1564 1565 1566 <img src="//counterculturecoffee.com/cdn/shop/files/nav-3-blogs.png?v=1715713141" alt="Blogs"> 1567 1568 1569 </div> 1570 <a id="menu-link--blogs" 1571 href="/blogs/counter-culture-coffee" 1572 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1573 > 1574 Blogs 1575 </a> 1576 </li> 1577 1578 <li class="flex items-center pb-5 gap-3" 1579 data-link="desktop--events"> 1580 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1581 1582 1583 <img src="//counterculturecoffee.com/cdn/shop/files/nav-3-events.png?v=1715713141" alt="Events"> 1584 1585 1586 </div> 1587 <a id="menu-link--events" 1588 href="/pages/events" 1589 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1590 > 1591 Events 1592 </a> 1593 </li> 1594 1595 </ul> 1596 </div> 1597 </div> 1598 <div class="w-1/3 px-14 py-1"> 1599 <a class="flex h-full" href="/pages/sustainability-reports"> 1600 <img src="//counterculturecoffee.com/cdn/shop/files/Mask_group_1_d04ec421-231b-461e-888e-c5734cfa9e39.png?v=1770907514" alt="30th Anniversary Banner"> 1601 </a> 1602 </div> 1603 </div> 1604 1605 1606 1607 1608 1609 1610 1611 1612</div> 1613 1614 1615</li> 1616 1617 1618 1619 1620<li class="flex items-center p-4 h-full submenu--trigger " 1621 data-link="desktop--wholesale"> 1622 <a id="menu-link--wholesale" 1623 href="https://wholesale.counterculturecoffee.com/" 1624 class="font-semibold text-white hover:underline pb-1 block transition-all text-center uppercase tracking-widest font-founders-grotesk-medium leading-none" 1625 > 1626 Wholesale 1627 </a><!-- snippets/desktop-megamenu --> 1628 1629<style> 1630 @media (min-width: 1080px){ 1631 .learn_megamenu{ 1632 width: 94vw !important; 1633 max-width: 1360px !important; 1634 1635 } 1636 } 1637</style> 1638 1639<div role="region" 1640 aria-labelledby="menu-link--wholesale" 1641 class="megamenu_wrapper absolute top-full left-0_ left-1/2 -translate-x-1/2 -translate-y-[6px] list-none border-black border-t flex flex-col w-auto desktop--submenu z-100" 1642 data-link="desktop--wholesale"> 1643 1644 1645 1646 1647 1648 1649 1650 1651 <div class="bg-[#F6F5F2] w-fit_ w-[88vw] max-w-[1270px] 3xl:max-w-[1800px] 6xl:max-w-[2450px] py-10 border border-blue flex overflow-hidden"> 1652 <div class="flex w-2/3"> 1653 <div class="learn_links px-14 py-1 border-r border-[#00108f80] w-full"> 1654 <ul class="list-none flex flex-col items-start gap-2"> 1655 1656 <li class="flex items-center pb-5" 1657 data-link="desktop--wholesale-login"> 1658 <a id="menu-link--wholesale-login" 1659 href="https://wholesale.counterculturecoffee.com/" 1660 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1661 > 1662 Wholesale Login 1663 </a> 1664 </li> 1665 1666 <li class="flex items-center pb-5" 1667 data-link="desktop--become-a-partner"> 1668 <a id="menu-link--become-a-partner" 1669 href="/pages/partner-with-us" 1670 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1671 > 1672 Become a Partner 1673 </a> 1674 </li> 1675 1676 <li class="flex items-center pb-5" 1677 data-link="desktop--training-centers"> 1678 <a id="menu-link--training-centers" 1679 href="/pages/training-centers" 1680 class="lg:whitespace-nowrap font-bold text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-semibold leading-none text-base" 1681 > 1682 Training Centers 1683 </a> 1684 </li> 1685 1686 </ul> 1687 </div> 1688 <div class="coffee_lab px-14 py-1 border-r border-[#00108f80] w-full"> 1689 <h4 class="font-bold text-blue uppercase tracking-widest !font-founders-grotesk-medium leading-none text-base pb-5">Resources</h4> 1690 <ul class="list-none grid grid-cols-1 gap-[10px]"> 1691 1692 <li class="flex items-center pb-5 gap-3" 1693 data-link="desktop--store-locator"> 1694 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1695 1696 1697 <img src="//counterculturecoffee.com/cdn/shop/files/nav-4-stores.png?v=1715713362" alt="Store Locator"> 1698 1699 1700 </div> 1701 <a id="menu-link--store-locator" 1702 href="/pages/find-ccc" 1703 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1704
1704 > 1705 Store Locator 1706 </a> 1707 </li> 1708 1709 <li class="flex items-center pb-5 gap-3" 1710 data-link="desktop--maintenance-requests"> 1711 <div class="img_circle w-[46px] h-[46px] bg-grey rounded-full flex-shrink-0"> 1712 1713 1714 <img src="//counterculturecoffee.com/cdn/shop/files/nav-4-maintenance.png?v=1715713363" alt="Maintenance Requests"> 1715 1716 1717 </div> 1718 <a id="menu-link--maintenance-requests" 1719 href="/pages/tech-service-form" 1720 class="whitespace-nowrap font-semibold text-black hover:text-blue transition-colors text-left uppercase tracking-widest !font-founders-grotesk-medium leading-none text-sm" 1721 > 1722 Maintenance Requests 1723 </a> 1724 </li> 1725 1726 </ul> 1727 </div> 1728 </div> 1729 <div class="w-1/3 px-14 py-1"> 1730 <a href="/pages/corporate-gift-event-program"> 1731 1732 <img src="//counterculturecoffee.com/cdn/shop/files/corporate--event-desk.png?v=1740659733" alt="events"> 1733 1734 </a> 1735 </div> 1736 </div> 1737 1738 1739 1740 1741</div> 1742 1743 1744</li> 1745 1746</ul> 1747 1748 1749 1750 1751 <!-- snippets/desktop-icon-menu --> 1752 1753<ul class="flex items-center justify-end w-1/5 text-white"> 1754 1755 <li class="py-4 mx-3 relative"> 1756 <a id="menu-link--account" 1757 href="/account" 1758 class="font-semibold text-white text-center uppercase tracking-widest font-freight-sans leading-none" 1759 > 1760 1761 Login 1762 1763 </a> 1764 </li> 1765 1766 <li class="mx-3 relative"> 1767 <a href="/search" class="py-4 search-icon" data-search-icon> 1768 <span class="sr-only">Search</span> 1769 <!-- snippets/icon (search) [aa/ja] --> 1770 1771 1772<svg 1773 class=" 1774 icon icon-search w-8 h-8 1775" 1776 width="27px" 1777 height="27px" 1778 viewBox="0 0 27 27" 1779 version="1.1" 1780 xmlns="http://www.w3.org/2000/svg" 1781 xmlns:xlink="http://www.w3.org/1999/xlink"> 1782 <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 1783 <g transform="translate(0.000000, 1.000000)" stroke="currentColor"> 1784 <path d="M26,8.5 C26,13.1944 22.1944,17 17.5,17 C12.80558,17 9,13.1944 9,8.5 C9,3.80558 12.80558,0 17.5,0 C22.1944,0 26,3.80558 26,8.5 Z" fill-rule="nonzero"></path> 1785 <path d="M13,15.6706995 C13,15.6706995 9.92007333,18.5087997 3.76022,24.185 L2.89827,24.9887 C2.33959,25.5097 1.46435,25.4791 0.943374,24.9205 C0.422393,24.3618 0.452956,23.4865 1.01164,22.9656 C7.67054667,17.0092409 11,14.0310613 11,14.0310613 C11.8713202,14.8592874 11.8713202,14.8592874 13,15.6706995 Z" ></path> 1786 </g> 1787 </g> 1788 </svg> 1789 </a> 1790 </li> 1791 1792 <li class="ml-3 relative"> 1793 <a href="/cart" class="py-4 cart_link"> 1794 <span class="cart_count absolute -right-1 -bottom-1 flex 1795 w-5 h-5 rounded-full pb-1 1796 bg-ethiopia text-white text-sm font-freight-sans 1797 items-center justify-center"></span> 1798 <span class="sr-only">Cart</span> 1799 <!-- snippets/icon (cart) [aa/ja] --> 1800 1801 1802<svg 1803 class=" 1804 icon icon-cart w-8 h-8 1805" 1806 width="28" 1807 height="22" 1808 viewBox="0 0 28 22" 1809 fill="none" 1810 xmlns="http://www.w3.org/2000/svg"> 1811 <path d="M2 5L2.48769 4.88922L2.48507 4.87873L2 5ZM5.45743 20.2215L4.96985 20.3322L5.45743 20.2215ZM19.3357 20.1876L18.8446 20.0938L19.3357 20.1876ZM2.28078 1.5L21.791 1.5L21.791 0.5L2.28078 0.5L2.28078 1.5ZM22.2821 2.09379L18.8446 20.0938L19.8268 20.2814L23.2643 2.28137L22.2821 2.09379ZM18.3535 20.5L6.43259 20.5L6.43259 21.5L18.3535 21.5L18.3535 20.5ZM5.94501 20.1108L2.48758 4.88925L1.51242 5.11075L4.96985 20.3322L5.94501 20.1108ZM2.48507 4.87873L1.79571 2.12127L0.825563 2.3638L1.51493 5.12127L2.48507 4.87873ZM6.43259 20.5C6.19912 20.5 5.99672 20.3384 5.94501 20.1108L4.96985 20.3322C5.12499 21.0153 5.73217 21.5 6.43259 21.5L6.43259 20.5ZM18.8446 20.0938C18.7996 20.3295 18.5934 20.5 18.3535 20.5L18.3535 21.5C19.0734 21.5 19.6918 20.9885 19.8268 20.2814L18.8446 20.0938ZM21.791 1.5C22.1047 1.5 22.3409 1.78561 22.2821 2.09379L23.2643 2.28137C23.4409 1.35683 22.7322 0.5 21.791 0.5L21.791 1.5ZM2.28078 0.5C1.30492 0.5 0.588882 1.41708 0.825563 2.3638L1.79571 2.12127C1.71681 1.80569 1.95549 1.5 2.28
1811078 1.5L2.28078 0.5Z" fill="currentColor"/> 1812 <path d="M18.8273 7L5.28078 7C4.63021 7 4.15285 7.61139 4.31063 8.24254L5.5 13L6.82112 18.7249C6.92583 19.1786 7.32986 19.5 7.79551 19.5H17.1473C17.6386 19.5 18.0571 19.1431 18.1347 18.658L19.8147 8.15799C19.9119 7.55041 19.4426 7 18.8273 7Z" fill="currentColor" class="js-cart-coffee-fill cart--coffee-fill" /> 1813 <path d="M22.1213 5.98512C23.0727 5.74726 24.3167 5.66808 25.2935 6.11108C25.7699 6.32715 26.1866 6.66834 26.4891 7.19118C26.7942 7.7185 27 8.46033 27 9.5H28C28 8.3306 27.7683 7.4054 27.3547 6.6904C26.9384 5.97092 26.3551 5.49451 25.7065 5.20036C24.4333 4.62292 22.9273 4.75285 21.8787 5.01498L22.1213 5.98512ZM27 9.5C27 11.5577 25.9803 13.0418 24.586 14.0295C23.177 15.0276 21.4047 15.5 20 15.5L20 16.5C21.5953 16.5 23.573 15.9725 25.164 14.8455C26.7697 13.7082 28 11.9423 28 9.5H27Z" fill="currentColor"/> 1814 <path d="M22.1069 8.48834C22.3722 8.43027 22.6277 8.38009 22.8687 8.36654C23.1099 8.35298 23.2998 8.37887 23.4449 8.44415C23.6701 8.54541 24 8.8468 24 10H25C25 8.68853 24.6133 7.87314 23.8551 7.53214C23.5086 7.3763 23.1401 7.3497 22.8126 7.36811C22.4848 7.38654 22.1611 7.45279 21.8931 7.51147L22.1069 8.48834ZM24 10C24 10.8765 23.6135 11.481 23.0573 11.8826C22.4838 12.2966 21.7169 12.4999 21 12.4999L21 13.4999C21.8831 13.4999 22.8662 13.2539 23.6427 12.6933C24.4365 12.1203 25 11.2248 25 10H24Z" fill="currentColor"/> 1815 </svg> 1816 </a> 1817 </li> 1818 1819</ul> 1820 1821 </nav> 1822</header> 1823 1824 1825<header class="relative js-main-nav transition-colors bg-blue border border-black block xl:hidden"> 1826 <nav class="flex justify-between py-2 px-5 lg:px-4" aria-label="mobile menu"> 1827 <ul class="list-none flex items-center w-1/3"> 1828 1829 <li class="flex items-center"> 1830 <a id="mobile--menu-link--main" 1831 href="#menu" 1832 class="list-none text-blue uppercase font-bold js-mobile-mega-link" 1833 data-link="mobile--main" 1834 > 1835 <span class="sr-only">Toggle Main Mobile Menu</span> 1836 <!-- snippets/icon (menu) [aa/ja] --> 1837 1838 1839<svg 1840 class=" 1841 icon icon-menu nav--icon-link text-white 1842" 1843 width="20" 1844 height="16" 1845 viewBox="0 0 20 16" 1846 fill="none" 1847 xmlns="http://www.w3.org/2000/svg"> 1848 <path d="M19.3 0.825684H0.700001C0.313401 0.825684 0 1.13908 0 1.52568V3.12568C0 3.51228 0.313401 3.82568 0.700001 3.82568H19.3C19.6866 3.82568 20 3.51228 20 3.12568V1.52568C20 1.13908 19.6866 0.825684 19.3 0.825684Z" fill="currentColor"/> 1849 <path d="M19.3 6.57568H0.700001C0.313401 6.57568 0 6.88908 0 7.27568V8.87568C0 9.26228 0.313401 9.57568 0.700001 9.57568H19.3C19.6866 9.57568 20 9.26228 20 8.87568V7.27568C20 6.88908 19.6866 6.57568 19.3 6.57568Z" fill="currentColor"/> 1850 <path d="M19.3 12.3257H0.700001C0.313401 12.3257 0 12.6391 0 13.0257V14.6257C0 15.0123 0.313401 15.3257 0.700001 15.3257H19.3C19.6866 15.3257 20 15.0123 20 14.6257V13.0257C20 12.6391 19.6866 12.3257 19.3 12.3257Z" fill="currentColor"/> 1851 </svg> 1852 <!-- snippets/icon (closev2) [aa/ja] --> 1853 1854 1855<svg 1856 class="icon-close 1857 icon icon-closev2 nav--icon-link text-white hidden 1858" 1859 width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg"> 1860 <line x1="8.51823" y1="9.16988" x2="26.2082" y2="26.8599" stroke="white"/> 1861 <line x1="9.17184" y1="26.8613" x2="26.8618" y2="9.17129" stroke="white"/> 1862 </svg> 1863 </a> 1864 1865 <!-- snippets/mobile-mega-menu [aa] --> 1866 1867<style> 1868 @supports (-webkit-touch-callout: none) { 1869 /* CSS specific to iOS devices */ 1870 .shop_all_btn{ 1871 padding-top:24px !important; 1872 } 1873 .subscribe_saving_text{ 1874 margin-top: -4px; 1875 } 1876 .subscribe_saving_text span{ 1877 margin-top: 4px; 1878 } 1879 @media (max-width: 400px){ 1880 .mobile_bottom_menu_wrapper{ 1881 margin: 16px 20px 100px 20px !important; 1882 gap: 10px; 1883 } 1884 } 1885 } 1886 1887 .mobile_bottom_menu_wrapper a:nth-child(1){ 1888 background-color: #E7E880; 1889 width: 100%; 1890 } 1891 1892 .mobile_bottom_menu_wrapper a:last-child{ 1893 background-color: #6B9CF888; 1894 width: 100%; 1895 } 1896 1897 .subscribe_saving_text span{ 1898 position: absolute; 1899 top: 50%; 1900 left: 50%; 1901 transform: translateY(-50%); 1902 left: 4px; 1903 line-height: 100%; 1904 text-wrap: nowrap; 1905 } 1906 1907 @media (max-width: 400px){ 1908 .shop_wrapper{ 1909 padding: 12px 20px; 1910 } 1911 .bg-nav-beige button{ 1912 padding: 5px 16px; 1913 } 1914 .mobile_bottom_menu_wrapper{ 1915 margin: 16px 20px 40px 20px; 1916 gap: 10px; 1917 } 1918 .js-mobile-mega-menu{ 1919 padding-top: 10px; 1920 } 1921 .mobile_bottom_menu_wrapper a{ 1922 padding: 10px 24px; 1923 } 1924 } 1925</style> 1926 1927<div role="region" 1928 aria-labelledby="mobile--menu-link--main"
1929 class="js-mobile-mega-menu mobile-mega-menu invisible flex flex-col justify-between" 1930 data-link="mobile--main"> 1931 1932 <div class="block h-screen" 1933 style=" 1934 display: flex; 1935 flex-direction: column; 1936 justify-content: space-between; 1937 height: calc(100vh - 112px); 1938 "> 1939 <div class="relative overflow-scroll pb-12"> 1940 <ul class="flex flex-col js-expandable-group overflow-scroll h-full_ hide-scrollbars" style="padding-bottom:0px"> 1941 1942 1943 1944 1945 1946 <!-- snippets/expandable-menu [aa] --><li class="bg-nav-beige"> 1947 <div class=""> 1948 1949 <button type="button" 1950 aria-label="Shop" 1951 aria-controls="mobile-menu-shop" 1952 data-toggle="mobile-menu-shop" 1953 class="js-expandable-toggle menu--expandable-toggle btn-transparent 1954 flex justify-start items-baseline capitalize mb:text-[22px] 1955 sm:text-[27px] lg:text-lg tracking-wider text-left w-full 1956 px-4 lg:px-12 py-3 text-blue font-founders-grotesk-medium 1957 mobile-menu-shop 1958 "> 1959 1960 <a href="/collections/all" class="text-nowrap"> 1961 Shop 1962 </a> 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 <span class="w-8 px-2 flex items-center justify-center h-max"> 1981 <span class="icon-plus hidden"> 1982 <svg width="16" height="10" viewBox="0 0 16 10" fill="none" xmlns="http://www.w3.org/2000/svg"> 1983 <path d="M0.707153 0.707031L7.70715 7.70703L14.7072 0.707031" stroke="#000F9F" stroke-width="2"/> 1984 </svg> 1985 </span> 1986 <span class="icon-minus "> 1987 <svg width="16" height="10" viewBox="0 0 16 10" fill="none" xmlns="http://www.w3.org/2000/svg"> 1988 <path d="M0.707092 8.41406L7.70709 1.41406L14.7071 8.41406" stroke="#000F9F" stroke-width="2"/> 1989 </svg> 1990 </span> 1991 </span> 1992 1993 </button> 1994 1995 1996 </div> 1997 <dl> 1998 1999 2000 <dd id="mobile-menu-shop" 2001 class="js-expandable-content text-base active pb-2" 2002 2003 aria-expanded="true" 2004 > 2005 2006 2007 2008 <div class="shop_wrapper flex-col gap-2 p-5"> 2009 <div class="image_wrapper relative z-1 flex flex-row gap-4"> 2010 <a href="/collections/bestsellers" class="w-full block"> 2011 2012 <img src="//counterculturecoffee.com/cdn/shop/files/Product_Image_Container_2.jpg?v=1774425703" alt="Single Origin Subscription" style="max-width: 300px;width: 100%;"> 2013 2014 </a> 2015 <a href="/pages/build-your-bundle" class="w-full block"> 2016 2017 <img src="//counterculturecoffee.com/cdn/shop/files/Product_Image_Container_3.jpg?v=1774425703" alt="Single Origin Subscription" style="max-width: 300px;width: 100%;"> 2018 2019 </a> 2020 </div> 2021 <div class="shop_button_container mt-4"> 2022 <a href="https://counterculturecoffee.com/collections/coffee" class="shop_all_btn w-full px-5 py-4 font-founders-grotesk-medium text-lg text-white text-center flex flex-row justify-center items-center bg-[#000F9F] rounded-[30px]"> 2023 2024 SHOP ALL COFFEE 2025 2026 </a> 2027 </div> 2028 </div> 2029 2030 2031 2032 2033 2034 2035 2036 </dd> 2037 </dl> 2038</li> 2039 2040 2041 2042 2043 2044 2045 <!-- snippets/expandable-menu [aa] --><li class="bg-nav-beige"> 2046 <div class=""> 2047 2048 <button type="button" 2049 aria-label="Subscribe" 2050 aria-controls="mobile-menu-subscribe" 2051 data-toggle="mobile-menu-subscribe"
2052 class="btn-transparent 2053 flex justify-start items-center capitalize mb:text-[22px] 2054 sm:text-[27px] lg:text-lg tracking-wider text-left w-full 2055 px-4 lg:px-12 py-3 text-blue font-founders-grotesk-medium 2056 "> 2057 2058 <a href="https://counterculturecoffee.com/collections/subscriptions/?filter.p.m.filters.coffee-type=single-origin" class="flex flex-row justify-start items-center w-full mobile-menu-subscribe"> 2059 <span> 2060 Subscribe 2061 </span> 2062 2063 <p class="subscribe_saving_text relative inline-block h-[20px] ml-[10px] font-founders-grotesk-medium text-base text-black bg-[url('https://cdn.shopify.com/s/files/1/0249/4283/7837/files/Rectangle_29232.svg?v=1773122640')]"> 2064 <span class="absolute top-0 left-1 z-2 text-[12px] leading-none">SAVE UP TO 30%</span> 2065 2066 <img class="w-auto h-full" src="https://cdn.shopify.com/s/files/1/0249/4283/7837/files/Rectangle_29232.png?v=1774505862" /> 2067 </p> 2068 2069 </a> 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 </button> 2082 2083 </div> 2084 <dl> 2085 2086 2087 <dd id="mobile-menu-subscribe" 2088 class="js-expandable-content text-base pb-2" 2089 style="display: none;" 2090 aria-expanded="false" 2091 > 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 </dd> 2102 </dl> 2103</li> 2104 2105 2106 2107 2108 2109 2110 <!-- snippets/expandable-menu [aa] --><li class="bg-nav-beige"> 2111 <div class=""> 2112 2113 <button type="button" 2114 aria-label="Learn" 2115 aria-controls="mobile-menu-learn" 2116 data-toggle="mobile-menu-learn" 2117 class="btn-transparent 2118 flex justify-start items-center capitalize mb:text-[22px] 2119 sm:text-[27px] lg:text-lg tracking-wider text-left w-full 2120 px-4 lg:px-12 py-3 text-blue font-founders-grotesk-medium 2121 "> 2122 2123 <a href="/pages/sustainability" class="flex flex-row justify-start items-center w-full mobile-menu-learn"> 2124 <span> 2125 Learn 2126 </span> 2127 2128 </a> 2129 2130 2131 2132 2133 2134 </button> 2135 2136 </div> 2137 <dl> 2138 2139 2140 <dd id="mobile-menu-learn" 2141 class="js-expandable-content text-base pb-2" 2142 style="display: none;" 2143 aria-expanded="false" 2144 > 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 </dd> 2155 </dl> 2156</li> 2157 2158 2159 2160 2161 2162 2163 <!-- snippets/expandable-menu [aa] --><li class="bg-nav-beige"> 2164 <div class=""> 2165 2166 <button type="button" 2167 aria-label="Brew guides " 2168 aria-controls="mobile-menu-brew-guides" 2169 data-toggle="mobile-menu-brew-guides" 2170 class="btn-transparent 2171 flex justify-start items-center capitalize mb:text-[22px] 2172 sm:text-[27px] lg:text-lg tracking-wider text-left w-full 2173 px-4 lg:px-12 py-3 text-blue font-founders-grotesk-medium 2174 "> 2175 2176 <a href="https://counterculturecoffee.com/pages/brewing-guides" class="flex flex-row justify-start items-center w-full mobile-menu-brew-guides">
2177 <span> 2178 Brew guides 2179 </span> 2180 2181 </a> 2182 2183 2184 2185 </button> 2186 2187 </div> 2188 <dl> 2189 2190 2191 <dd id="mobile-menu-brew-guides" 2192 class="js-expandable-content text-base pb-2" 2193 style="display: none;" 2194 aria-expanded="false" 2195 > 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 </dd> 2206 </dl> 2207</li> 2208 2209 2210 2211 2212 2213 2214 <!-- snippets/expandable-menu [aa] --><li class="bg-nav-beige"> 2215 <div class=""> 2216 2217 <button type="button" 2218 aria-label="Wholesale" 2219 aria-controls="mobile-menu-wholesale" 2220 data-toggle="mobile-menu-wholesale" 2221 class="btn-transparent 2222 flex justify-start items-center capitalize mb:text-[22px] 2223 sm:text-[27px] lg:text-lg tracking-wider text-left w-full 2224 px-4 lg:px-12 py-3 text-blue font-founders-grotesk-medium 2225 "> 2226 2227 <a href="https://wholesale.counterculturecoffee.com/" class="flex flex-row justify-start items-center w-full mobile-menu-wholesale"> 2228 <span> 2229 Wholesale 2230 </span> 2231 2232 </a> 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 </button> 2245 2246 </div> 2247 <dl> 2248 2249 2250 <dd id="mobile-menu-wholesale" 2251 class="js-expandable-content text-base pb-2" 2252 style="display: none;" 2253 aria-expanded="false" 2254 > 2255 2256 2257 2258 2259 2260 2261 2262 2263 <div class="mx-5 my-3 relative z-1"> 2264 <a href="/pages/corporate-gift-event-program" class="max-w-[300px]" > 2265 2266 2267 <img src="//counterculturecoffee.com/cdn/shop/files/corporate--event-mob.png?v=1740659733" alt="Events Banner"> 2268 2269 </a> 2270 </div> 2271 2272 2273 </dd> 2274 </dl> 2275</li> 2276 2277 2278 2279 2280 2281 2282 <!-- snippets/expandable-menu [aa] --><li class="bg-nav-beige"> 2283 <div class=""> 2284 2285 <button type="button" 2286 aria-label="Events" 2287 aria-controls="mobile-menu-events" 2288 data-toggle="mobile-menu-events" 2289 class="btn-transparent 2290 flex justify-start items-center capitalize mb:text-[22px] 2291 sm:text-[27px] lg:text-lg tracking-wider text-left w-full 2292 px-4 lg:px-12 py-3 text-blue font-founders-grotesk-medium 2293 "> 2294 2295 <a href="https://counterculturecoffee.com/pages/training-centers" class="flex flex-row justify-start items-center w-full mobile-menu-events"> 2296 <span> 2297 Events 2298 </span> 2299 2300 </a> 2301 2302 2303 2304 </button> 2305 2306 </div> 2307 <dl> 2308 2309 2310 <dd id="mobile-menu-events" 2311 class="js-expandable-content text-base pb-2" 2312 style="display: none;" 2313 aria-expanded="false" 2314 > 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 </dd> 2325 </dl> 2326</li> 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 <li class="flex hidden items-center text-base tracking-wider text-left w-full px-5 lg:px-12 py-5"> 2341 <form class="w-full" action="/search" method="post"> 2342 <div class="border border-black flex items-center px-5 py-2.5 w-full"> 2343 <label for="mobile-mega-menu-search">
2344 <span class="sr-only">Search our store</span> 2345 <!-- snippets/icon (search) [aa/ja] --> 2346 2347 2348<svg 2349 class=" 2350 icon icon-search text-white 2351" 2352 width="27px" 2353 height="27px" 2354 viewBox="0 0 27 27" 2355 version="1.1" 2356 xmlns="http://www.w3.org/2000/svg" 2357 xmlns:xlink="http://www.w3.org/1999/xlink"> 2358 <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 2359 <g transform="translate(0.000000, 1.000000)" stroke="currentColor"> 2360 <path d="M26,8.5 C26,13.1944 22.1944,17 17.5,17 C12.80558,17 9,13.1944 9,8.5 C9,3.80558 12.80558,0 17.5,0 C22.1944,0 26,3.80558 26,8.5 Z" fill-rule="nonzero"></path> 2361 <path d="M13,15.6706995 C13,15.6706995 9.92007333,18.5087997 3.76022,24.185 L2.89827,24.9887 C2.33959,25.5097 1.46435,25.4791 0.943374,24.9205 C0.422393,24.3618 0.452956,23.4865 1.01164,22.9656 C7.67054667,17.0092409 11,14.0310613 11,14.0310613 C11.8713202,14.8592874 11.8713202,14.8592874 13,15.6706995 Z" ></path> 2362 </g> 2363 </g> 2364 </svg> 2365 </label> 2366 2367 <input id="mobile-mega-menu-search" 2368 type="text" 2369 name="q" 2370 value="" 2371 placeholder="search" 2372 class="bg-transparent text-white border-0 block ml-2.5 w-full"> 2373 2374 <button type="submit" name="search" class="btn-transparent p-2 text-white"> 2375 <span class="sr-only">Submit Search</span> 2376 <!-- snippets/icon (arrow-right) [aa/ja] --> 2377 2378 2379<svg 2380 class=" 2381 icon icon-arrow-right w-6 h-6 2382" 2383 width="31" 2384 height="23" 2385 viewBox="0 0 31 23" 2386 fill="none" 2387 xmlns="http://www.w3.org/2000/svg"> 2388 <path d="M24 12L19 9.11325L19 14.8868L24 12ZM8 12.5L19.5 12.5L19.5 11.5L8 11.5L8 12.5Z" fill="currentColor"/> 2389 <path d="M30.5 11.5C30.5 14.4806 28.8727 17.2192 26.1622 19.2302C23.4518 21.2412 19.6837 22.5 15.5 22.5C11.3163 22.5 7.54823 21.2412 4.83776 19.2302C2.12725 17.2192 0.499997 14.4806 0.499998 11.5C0.499999 8.51937 2.12725 5.78085 4.83777 3.76982C7.54824 1.75883 11.3163 0.500002 15.5 0.500003C19.6837 0.500003 23.4518 1.75883 26.1622 3.76983C28.8727 5.78086 30.5 8.51937 30.5 11.5Z" stroke="currentColor"/> 2390 </svg> 2391 </button> 2392 </div> 2393 2394 2395 </form> 2396 </li> 2397 2398 </ul> 2399 2400 2401 2402 2403 2404 <div class="" style=""> 2405 <div class="flex flex-col items-center bg-nav-beige text-base tracking-wider text-left border-b-0 border-black w-full px-5 lg:px-12 py-1"> 2406 <a href="/pages/transparency-report-2025" class="w-full flex gap-4 items-center"> 2407 2408 <img class="w-full h-auto" src="//counterculturecoffee.com/cdn/shop/files/mobile-tr2025-banner_1.png?v=1782833706" alt="nav-icon-account"> 2409 2410 </a> 2411 </div> 2412 </div> 2413 2414 2415 </div> 2416 2417 <div class="mobile_bottom_menu_wrapper flex flex-col bg-[#F6F5F2] gap-6 mx-5 mt-5 mb-[64px]"> 2418 2419 2420 2421 2422 2423 <a class="font-bold font-founders-grotesk-semibold text-blue text-[18px] px-6 py-4 flex flex-row justify-between items-center rounded-[8px] 2424 2425 bg-[#E7E880] 2426 2427 " 2428 href="https://counterculturecoffee.com/account"> 2429 <span> 2430 My Account 2431 </span> 2432 <span> 2433 <svg width="24" height="21" viewBox="0 0 24 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 2434 <path d="M11.8096 0.352539C18.1862 0.352539 23.2666 4.8232 23.2666 10.2354C23.2666 15.6475 18.1862 20.1172 11.8096 20.1172C5.43313 20.117 0.352575 15.6474 0.352539 10.2354C0.352539 4.82331 5.43311 0.352719 11.8096 0.352539Z" fill="white" stroke="black" stroke-width="0.705882"/> 2435 <path d="M15.9578 7.08594V10.2353V13.3846L18.8648 10.2353L15.9578 7.08594Z" fill="black"/> 2436 <path d="M4.23535 10.2353H15.9578M15.9578 10.2353V7.08594L18.8648 10.2353L15.9578 13.3846V10.2353Z" stroke="black" stroke-width="0.705882"/> 2437 </svg> 2438 </span> 2439 </a> 2440 2441 2442 2443 2444 <a class="font-bold font-founders-grotesk-semibold text-blue text-[18px] px-6 py-4 flex flex-row justify-between items-center rounded-[8px] 2445 2446 bg-[#6B9CF888] 2447 2448 " 2449 href="https://wholesale.counterculturecoffee.com/collections/coffee">
2450 <span> 2451 Wholesale Login 2452 </span> 2453 <span> 2454 <svg width="24" height="21" viewBox="0 0 24 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 2455 <path d="M11.8096 0.352539C18.1862 0.352539 23.2666 4.8232 23.2666 10.2354C23.2666 15.6475 18.1862 20.1172 11.8096 20.1172C5.43313 20.117 0.352575 15.6474 0.352539 10.2354C0.352539 4.82331 5.43311 0.352719 11.8096 0.352539Z" fill="white" stroke="black" stroke-width="0.705882"/> 2456 <path d="M15.9578 7.08594V10.2353V13.3846L18.8648 10.2353L15.9578 7.08594Z" fill="black"/> 2457 <path d="M4.23535 10.2353H15.9578M15.9578 10.2353V7.08594L18.8648 10.2353L15.9578 13.3846V10.2353Z" stroke="black" stroke-width="0.705882"/> 2458 </svg> 2459 </span> 2460 </a> 2461 2462 2463 </div> 2464 </div> 2465 2466</div> 2467
2468<script> 2469 if (/iPhone/.test(navigator.userAgent)) { 2470 document.querySelector(".shop_all_btn").classList.add("iphone"); 2471 } 2472</script>
2472 2473 2474 </li> 2475 </ul> 2476 2477 <!-- snippets/nav-logo --><a href="/" class="w-1/3 flex justify-center items-center js-main-logo"> 2478 <span class="block w-32 mx-auto"> 2479 <span class="sr-only">Counter Culture Coffee Homepage</span><!-- snippets/icon (logo) [aa/ja] --> 2480 2481 2482<svg 2483 class=" 2484 icon icon-logo text-white 2485 mx-auto" 2486 width="60px" 2487 height="60px" 2488 viewBox="0 0 200 200" 2489 version="1.1" 2490 xmlns="http://www.w3.org/2000/svg" 2491 xmlns:xlink="http://www.w3.org/1999/xlink"> 2492 <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 2493 <rect x="0" y="0" width="200" height="200"></rect> 2494 <g transform="translate(16.000000, 0.000000)" fill="currentColor" fill-rule="nonzero"> 2495 <path d="M153.738178,177.346 C155.176998,177.118667 156.534937,176.531 157.685324,175.637333 C158.160252,175.296 158.554966,174.855667 158.84273,174.346667 C159.130494,173.837667 159.303955,173.272333 159.351749,172.689333 C159.399208,172.106667 159.319663,171.520333 159.118463,170.971667 C158.917262,170.422667 158.599084,169.923667 158.186321,169.51 C157.874493,169.008 157.455715,168.581 156.959731,168.26 C156.463748,167.938667 155.902925,167.731333 155.317036,167.652667 C154.731482,167.573667 154.1359,167.625333 153.572404,167.804 C153.009242,167.982333 152.492537,168.283333 152.059053,168.685 C150.853853,169.663667 149.94611,170.959333 149.437426,172.426333 L145.578514,169.480333 C146.54508,167.748333 147.84687,166.226 149.408014,165.002667 C153.856158,161.379 158.598749,161.408667 162.339682,166.033667 C163.189271,166.968333 163.82429,168.077333 164.199954,169.283333 C164.575618,170.489333 164.683237,171.763 164.51479,173.014667 C164.346343,174.266667 163.906174,175.466333 163.225032,176.53 C162.544225,177.594 161.638821,178.495667 160.572323,179.172667 C159.019867,180.429 157.224768,181.351667 155.299323,181.883 L153.738178,177.346 Z" ></path> 2496 <path d="M125.752542,177.728333 C126.869842,177.236 128.080055,176.991 129.300629,177.009333 C130.521537,177.028 131.723729,177.309667 132.825655,177.835667 C133.92758,178.361333 134.902836,179.118667 135.685247,180.056 C136.467323,180.993333 137.038172,182.088333 137.35869,183.266667 C137.777803,184.409333 137.956277,185.626333 137.883416,186.841333 C137.810222,188.056 137.487031,189.243 136.933895,190.327 C136.38076,191.411333 135.609713,192.369333 134.668882,193.141667 C133.728385,193.914 132.638157,194.483667 131.467047,194.814667 C130.357101,195.318 129.150898,195.573333 127.931995,195.563333 C126.713427,195.553333 125.511235,195.278 124.409643,194.756667 C123.308052,194.235333 122.33313,193.48 121.552725,192.544 C120.772319,191.607667 120.205147,190.513 119.890645,189.335333 C119.461172,188.191333 119.274008,186.970333 119.340184,185.750333 C119.406694,184.53 119.72554,183.337 120.276336,182.246333 C120.827132,181.155333 121.598179,180.190667 122.540681,179.413 C123.483518,178.635333 124.577088,178.061667 125.752542,177.728333 Z M130.230097,190.749333 C132.586353,189.954 133.175584,187.803333 132.233081,185.122667 C131.290245,182.441667 129.434651,180.998333 127.078061,181.793667 C124.721471,182.589 124.13224,184.739667 125.075077,187.45 C126.017579,190.16 127.873507,191.515333 130.230097,190.749333 Z" ></path> 2497 <path d="M95.7669297,182.059333 C100.332719,182.265667 103.690634,184.386667 103.484754,189.571667 L103.042914,200.000333 L97.622523,199.794 L98.0349513,190.013333 C98.0349513,187.715667 97.3868974,186.596333 95.5015584,186.537333 C93.6165537,186.478333 92.9390884,187.273667 92.8505199,189.66 L92.4380915,199.558333 L87.0474459,199.352 L87.4598743,189.365333 C87.4134176,188.305 87.6052603,187.247667 88.021365,186.271333 C88.4374698,185.294667 89.0671416,184.424 89.8639237,183.723 C90.6610401,183.022333 91.6048793,182.509 92.626592,182.221 C93.6479705,181.933 94.7211531,181.878 95.7669297,182.059333 Z" ></path> 2498 <polygon points="56.1744776 190.072 51.5495316 188.039333 58.5016563 172.131333 63.774322 174.429333 65.4828582 185.977333 69.4005932 177.139333 73.9957936 179.172 67.1325716 194.933 61.7713374 192.605667 60.0922126 181.205"></polygon> 2499 <polygon points="30.8430221 166.504667 39.6800179 157.343 43.5686757 161.113667 34.731212 170.275667 38.5018899 173.840333 35.4090116 177.022 24.0384225 165.974667 27.1314345 162.793"></polygon> 2500 <polygon points="28.2200915 142.701333 12.8434663 150.272333 6.95205784 138.253 10.7225686 136.367333 14.3457883 143.644 16.3783515 142.642333 13.4326306 136.750333 17.2031413 134.894333 20.1488623 140.786333 22.2108369 139.755333 18.4403261 132.596667 22.2108369 130.711333"></polygon> 2501 <path d="M17.4666409,111.975 L18.1147283,117.336333 L1.05902841,119.428 L0.204767662,111.798 C-0.384373853,107.025667 1.50087819,104.256333 4.91789043,103.844 C5.98245018,103.674 7.07351365,103.848 8.03239282,104.340667 C8.99123857,104.833667 9.76800089,105.619333 10.2496463,106.583667 L16.1410882,101.546333 L16.8480653,107.438 L11.9876274,111.179333 L12.3116543,112.682 L17.4666409,111.975 Z M8.36440766,
2501111.297333 C7.98145759,109.677 7.27448055,109.088 5.89000474,109.264667 C4.50549551,109.441333 4.09310059,110.236667 4.3287596,112.210667 L4.50549551,113.683667 L8.60003325,113.182667 L8.36440766,111.297333 Z" ></path> 2502 <path d="M8.27787792,73.3543333 C7.28684672,74.415 6.58668778,75.714 6.24534818,77.125 C6.08836472,77.6883333 6.05477554,78.279 6.14685334,78.8566667 C6.23893115,79.434 6.4545035,79.985 6.77886468,80.4713333 C7.10322587,80.958 7.52875565,81.369 8.02637685,81.676 C8.52399804,81.983 9.08201292,82.1793333 9.66235373,82.251 C10.2177283,82.4383333 10.8072267,82.5023333 11.3898068,82.4383333 C11.9724203,82.3746667 12.5341451,82.185 13.035944,81.882 C13.537743,81.5793333 13.9675842,81.171 14.295555,80.685 C14.6235592,80.1993333 14.8418053,79.648 14.9351865,79.0693333 C15.2342806,77.5573333 15.132711,75.9933333 14.6406378,74.5326667 L19.4421192,74.356 C19.838906,76.3 19.838906,78.304 19.4421192,80.2476667 C18.2049344,85.8746667 14.4933468,88.8203333 8.69027284,87.5243333 C7.4441644,87.3226667 6.2571796,86.851 5.21247255,86.1423333 C4.1677655,85.4336667 3.29055983,84.5053333 2.64233211,83.422 C1.99410773,82.3386667 1.5905095,81.127 1.45980581,79.8713333 C1.32910212,78.6156667 1.47445471,77.3466667 1.88567651,76.153 C2.29691502,74.2053333 3.09857344,72.3613333 4.24226329,70.7323333 L8.27787792,73.3543333 Z" ></path> 2503 <path d="M30.045371,55.5603333 C27.5709681,59.39 24.1539626,61.2166667 19.6764747,58.5063333 L10.8393119,52.85 L13.7850329,48.3133333 L22.0035866,53.5866667 C23.9477484,54.8533333 25.2733011,54.765 26.2748602,53.1743333 C27.276386,51.5833333 26.952359,50.5816667 24.9198293,49.2856667 L16.5834627,43.924 L19.5291837,39.3873333 L27.9244733,44.8076667 C28.8506323,45.301 29.6554357,45.994 30.2804953,46.8366667 C30.9055548,47.6796667 31.3351955,48.651 31.5382346,49.6803333 C31.7413071,50.71 31.7126978,51.7716667 31.4544789,52.7886667 C31.19626,53.8056667 30.7149153,54.7526667 30.045371,55.5603333 Z" ></path> 2504 <polygon points="43.8928697 38.3266667 33.2882476 24.7457333 37.5593875 21.4168333 45.4246032 31.4919667 50.6678574 27.3971 53.4074645 30.9027667"></polygon> 2505 <polygon points="66.9868514 10.1340667 71.6412088 21.9178333 66.574423 23.8916 62.0674569 12.1078333 57.236631 13.9932667 55.6163291 9.86893333 70.3451009 3.97706667 71.9650686 8.10136667"></polygon> 2506 <path d="M97.4139693,17.7049333 C92.8481803,17.7049333 89.3722851,15.8784667 89.2546394,10.6641333 L89.0484252,0.235512 L94.4684823,0.235512 L94.6746964,9.9866 C94.6746964,12.3138667 95.5289645,13.3449333 97.4139693,13.3155 C99.2993082,13.2860333 99.9179507,12.4022667 99.8885393,10.0160333 L99.741148,0.0292968667 L105.131794,0.0292968667 L105.338008,10.0160333 C105.427913,11.069 105.282861,12.1287667 104.912879,13.1187 C104.543231,14.1086333 103.957676,15.0039333 103.199329,15.7398333 C102.440983,16.4757333 101.52856,17.0338 100.527903,17.3736667 C99.5272467,17.7135333 98.4637565,17.8267 97.4139693,17.7049333 Z" ></path> 2507 <path d="M124.573411,21.3285 L119.448137,19.5314667 L125.162643,3.26985667 L132.526861,5.8623 C137.033827,7.4531 138.712952,10.3696 137.564236,13.6101333 C137.245389,14.6368333 136.608364,15.5355667 135.745407,16.1763667 C134.882115,16.8171667 133.837675,17.1668 132.762487,17.1747 L134.618414,24.8341667 L128.962732,22.8309333 L127.78427,16.9390333 L126.281948,16.5560667 L124.573411,21.3285 Z M129.227769,13.4333667 C130.818325,13.8163333 131.672593,13.4333667 132.17359,12.1076667 C132.674253,10.782 132.17359,10.075 130.25884,9.42686667 L128.81534,8.86716667 L127.430998,12.7852667 L129.227769,13.4333667 Z" ></path> 2508 <polygon points="145.842882 31.551 156.653585 18.1469667 167.140428 26.5429 164.489389 29.8129 158.126495 24.6869667 156.712742 26.4545333 161.720371 30.4904667 159.098743 33.7603333 154.061369 29.7834333 152.618204 31.5804667 158.951352 36.7063333 156.329725 39.9763333"></polygon> 2509 <path d="M53.2305269,99.956 C53.2319986,109.068 55.9335045,117.975333 60.9936058,125.553333 C66.0537072,133.131 73.2458023,139.039 81.6611452,142.531667 C90.0768223,146.024333 99.3387462,146.944667 108.27681,145.176333 C117.215209,143.408333 125.429016,139.030667 131.881147,132.597 L115.650387,116.364667 C112.40711,119.546 108.296864,121.698667 103.835017,122.552667 C99.373171,123.406667 94.7585858,122.923667 90.5701321,121.165 C86.3813441,119.406 82.8055169,116.449333 80.2908404,112.665667 C77.7761638,108.882 76.434602,104.44 76.434602,99.897 C76.434602,95.354 77.7761638,90.912 80.2908404,87.1283333 C82.8055169,83.3446667 86.3813441,80.388 90.5701321,78.629 C94.7585858,76.8703333 99.373171,76.3873333 103.835017,77.2413333 C108.296864,78.0953333 112.40711,80.248 115.650387,83.429 L131.881147,67.197 C125.421998,60.756 117.197161,56.3763333 108.248067,54.6116667 C99.2986398,52.8473333 90.0273577,53.7776667 81.6066672,57.2846667 C73.186311,60.792 65.9955528,66.7183333 60.9444754,74.3143333 C55.8930638,81.91 53.2086032,90.8336667 53.2305269,99.956 Z" ></path> 2510 </g> 2511 </g> 2512 </svg> 2513</span> 2514</a> 2515 2516 2517 <ul class="flex justify-end items-center text-white w-1/3"> 2518 2519 <li class="mx-3 relative"> 2520 <a href="/search" class="py-4" data-search-icon>
2521 <span class="sr-only">Search</span> 2522 <svg xmlns="http://www.w3.org/2000/svg" width="26" height="25" viewBox="0 0 26 25" fill="none"> 2523 <path d="M15.6368 12.1098L3.76016 23.185L2.89822 23.9887C2.33954 24.5097 1.4643 24.4791 0.943321 23.9205L0.943319 23.9205C0.42234 23.3618 0.452903 22.4865 1.01159 21.9656L13.7502 10.0867C14.3088 9.56567 15.1841 9.59624 15.7051 10.1549L15.7051 10.1549C16.226 10.7136 16.1955 11.5888 15.6368 12.1098Z" stroke="white"/> 2524 <path d="M25 9.5C25 14.1944 21.1944 18 16.5 18C11.8056 18 8 14.1944 8 9.5C8 4.80558 11.8056 0.999999 16.5 1C21.1944 1 25 4.80558 25 9.5Z" fill="#000F9F" stroke="white"/> 2525 </svg> 2526 </a> 2527 </li> 2528 2529 <li class="flex items-center mx-2.5"> 2530 <a href="/cart" 2531 class="list-none font-bold hover:fill-blue hover:stroke-blue relative" 2532 > 2533 <span class="cart_count absolute -right-1 -bottom-1 flex 2534 w-5 h-5 rounded-full pb-1 2535 bg-ethiopia text-white text-sm font-freight-sans 2536 items-center justify-center"></span> 2537 <span class="sr-only">Cart</span> 2538 <!-- snippets/icon (cart) [aa/ja] --> 2539 2540 2541<svg 2542 class=" 2543 icon icon-cart nav--icon-link text-white 2544" 2545 width="28" 2546 height="22" 2547 viewBox="0 0 28 22" 2548 fill="none" 2549 xmlns="http://www.w3.org/2000/svg"> 2550 <path d="M2 5L2.48769 4.88922L2.48507 4.87873L2 5ZM5.45743 20.2215L4.96985 20.3322L5.45743 20.2215ZM19.3357 20.1876L18.8446 20.0938L19.3357 20.1876ZM2.28078 1.5L21.791 1.5L21.791 0.5L2.28078 0.5L2.28078 1.5ZM22.2821 2.09379L18.8446 20.0938L19.8268 20.2814L23.2643 2.28137L22.2821 2.09379ZM18.3535 20.5L6.43259 20.5L6.43259 21.5L18.3535 21.5L18.3535 20.5ZM5.94501 20.1108L2.48758 4.88925L1.51242 5.11075L4.96985 20.3322L5.94501 20.1108ZM2.48507 4.87873L1.79571 2.12127L0.825563 2.3638L1.51493 5.12127L2.48507 4.87873ZM6.43259 20.5C6.19912 20.5 5.99672 20.3384 5.94501 20.1108L4.96985 20.3322C5.12499 21.0153 5.73217 21.5 6.43259 21.5L6.43259 20.5ZM18.8446 20.0938C18.7996 20.3295 18.5934 20.5 18.3535 20.5L18.3535 21.5C19.0734 21.5 19.6918 20.9885 19.8268 20.2814L18.8446 20.0938ZM21.791 1.5C22.1047 1.5 22.3409 1.78561 22.2821 2.09379L23.2643 2.28137C23.4409 1.35683 22.7322 0.5 21.791 0.5L21.791 1.5ZM2.28078 0.5C1.30492 0.5 0.588882 1.41708 0.825563 2.3638L1.79571 2.12127C1.71681 1.80569 1.95549 1.5 2.28078 1.5L2.28078 0.5Z" fill="currentColor"/> 2551 <path d="M18.8273 7L5.28078 7C4.63021 7 4.15285 7.61139 4.31063 8.24254L5.5 13L6.82112 18.7249C6.92583 19.1786 7.32986 19.5 7.79551 19.5H17.1473C17.6386 19.5 18.0571 19.1431 18.1347 18.658L19.8147 8.15799C19.9119 7.55041 19.4426 7 18.8273 7Z" fill="currentColor" class="js-cart-coffee-fill cart--coffee-fill" /> 2552 <path d="M22.1213 5.98512C23.0727 5.74726 24.3167 5.66808 25.2935 6.11108C25.7699 6.32715 26.1866 6.66834 26.4891 7.19118C26.7942 7.7185 27 8.46033 27 9.5H28C28 8.3306 27.7683 7.4054 27.3547 6.6904C26.9384 5.97092 26.3551 5.49451 25.7065 5.20036C24.4333 4.62292 22.9273 4.75285 21.8787 5.01498L22.1213 5.98512ZM27 9.5C27 11.5577 25.9803 13.0418 24.586 14.0295C23.177 15.0276 21.4047 15.5 20 15.5L20 16.5C21.5953 16.5 23.573 15.9725 25.164 14.8455C26.7697 13.7082 28 11.9423 28 9.5H27Z" fill="currentColor"/> 2553 <path d="M22.1069 8.48834C22.3722 8.43027 22.6277 8.38009 22.8687 8.36654C23.1099 8.35298 23.2998 8.37887 23.4449 8.44415C23.6701 8.54541 24 8.8468 24 10H25C25 8.68853 24.6133 7.87314 23.8551 7.53214C23.5086 7.3763 23.1401 7.3497 22.8126 7.36811C22.4848 7.38654 22.1611 7.45279 21.8931 7.51147L22.1069 8.48834ZM24 10C24 10.8765 23.6135 11.481 23.0573 11.8826C22.4838 12.2966 21.7169 12.4999 21 12.4999L21 13.4999C21.8831 13.4999 22.8662 13.2539 23.6427 12.6933C24.4365 12.1203 25 11.2248 25 10H24Z" fill="currentColor"/> 2554 </svg> 2555 </a> 2556 </li> 2557 </ul> 2558 </nav> 2559</header> 2560 2561 2562 2563 2564</div> 2565 <div id="shopify-section-ajax-cart" class="shopify-section relative"><!-- sections/ajax-cart [aa] --><section class="slide-cart--container js-cart--container"> 2566 <div class="js-cart--inner h-full flex flex-col"><!-- snippets/cart-header [aa] --> 2567 2568 2569 2570 2571 2572 2573 2574<div class="js-slide-cart--header pt-6 cart-page:pt-6 px-6 pb-6 border-b border-black cart-page:border-0"> 2575 2576 <button type="button" 2577 name="close cart"
2578 class="js-cart--close btn-transparent absolute top-6 right-4 z-10"> 2579 <span class="sr-only">Close Cart</span> 2580 <svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" viewBox="0 0 19 19" fill="none"> 2581 <rect x="0.825195" y="0.11792" width="24.5" height="1.16667" rx="0.583333" transform="rotate(45 0.825195 0.11792)" fill="black"/> 2582 <rect x="18.5029" y="0.824951" width="24.5" height="1.16667" rx="0.583333" transform="rotate(135 18.5029 0.824951)" fill="black"/> 2583 </svg> 2584 </button> 2585 2586 2587 <div class="flex items-center justify-start cart-page:justify-center mb-4"> 2588 2589 <span class="font-acorn text-4xl relative"> 2590 Cart</span> 2591 2592 </div> 2593 2594 <!-- snippets/cart-shipping-indicator --> 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607<!-- free shipping calc --> 2608<div class="mt-4 mx-auto cart-page:max-w-xs"> 2609 <p class="mb-2 text-black font-freight-sans tracking-wider text-left cart-page:text-center color-blue font-medium text-base cart-page:text-base font-variant-lining">Free shipping on orders $30+</p> 2610 2611 <div class="flex items-center justify-center js-shipping-indicator-container font-variant-lining"> 2612 <span class="text-black font-acorn-regular font-light text-sm mr-2">$0</span> 2613 <div class="rounded-full w-full h-3 relative bg-lightpurple"> 2614 <div class="h-full bg-purple rounded-full absolute left-0 top-0 js-shipping-indicator-bar transition-all" 2615 data-width="0%" 2616 style="width: 0%;"></div> 2617 </div> 2618 <span class="text-black font-acorn-regular font-light text-sm ml-2">$30</span> 2619 </div> 2620 2621</div> 2622 2623 2624 2625</div> 2626 2627 <div class="overflow-scroll"> 2628 <!-- snippets/cart-empty [aa] --> 2629 2630 2631 2632<div class="slide-cart--empty 2633 bg-white cart-page:bg-transparent 2634 h-full_ py-12 px-4 2635 flex flex-col justify-between"> 2636 2637 <div> 2638 2639 2640 <h4 class="my-2 py-0 text-center text-4xl font-acorn-semibold capitalize">Your cart is empty</h4> 2641 2642 2643 2644 2645 2646 <ul class="list-none mt-5 mb-0 flex flex-col justify-center"><li class="pb-2"> 2647 <a href="/collections/all" 2648 class="w-full btn btn-secondary max-w-sm block mx-auto btn-w-18"> 2649 Shop All Coffee 2650 </a> 2651 </li></ul> 2652 2653 </div> 2654 2655 2656</div> 2657 2658<!-- snippets/cart-upsell [aa] --> 2659 2660 2661 2662 2663 2664 2665 2666 2667<div class=" pl-6 py-4 2668 js-slide-cart--upsell mb-6 2669 "> 2670 <h3 class="font-acorn-semibold text-left text-xl mb-2">Add Our Favorites</h3> 2671 2672 2673 <ul class="flex flex-col w-full gap-4 overflow-scroll hide-scrollbars pr-6"> 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 <li class="upsell-item__container p-3 border border-grey w-4/5_ w-full "> 2686 <div class="flex gap-3 items-center justify-start h-full"> 2687 <div class="flex-shrink-0 w-24 slide-cart--item-image_wrapper" 2688 2689style="background: #ff8d6b;" 2690> 2691 2692 <a href="/products/idido" class="w-full"> 2693 <div class="slide-cart--item-image w-full"> 2694 2695 <!-- snippets/responsive-image [aa] --> 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 <img class="w-full h-24 object-cover lazyload " 2712 data-class="LazyLoad" 2713 data-src=" 2714 2715 2716 2717 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_470x.png?v=1751383499 470w , 2718 2719 2720 2721 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_600x.png?v=1751383499 600w , 2722 2723 2724 2725 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_770x.png?v=1751383499 770w , 2726 2727 2728 2729 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_970x.png?v=1751383499 970w , 2730 2731 2732 2733 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_1060x.png?v=1751383499 1060w , 2734 2735 2736 2737 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_1280x.png?v=1751383499 1280w , 2738 2739 2740 2741 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_1512x.png?v=1751383499 1512w , 2742 2743 2744 2745 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_1728x.png?v=1751383499 1728w , 2746 2747 2748 2749 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_2048x.png?v=1751383499 2048w , 2750" 2751 data-srcset=" 2752 2753 2754 2755 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_470x.png?v=1751383499 470w , 2756 2757 2758 2759 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_600x.png?v=1751383499 600w , 2760 2761 2762 2763 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_770x.png?v=1751383499 770w , 2764 2765 2766 2767 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_970x.png?v=1751383499 970w , 2768 2769 2770 2771 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_1060x.png?v=1751383499 1060w , 2772 2773 2774 2775 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_1280x.png?v=1751383499 1280w , 2776 2777 2778 2779 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_1512x.png?v=1751383499 1512w , 2780 2781 2782 2783 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_1728x.png?v=1751383499 1728w , 2784 2785 2786 2787 //counterculturecoffee.com/cdn/shop/files/Idido_2025_PDP_4_2048x.png?v=1751383499 2048w , 2788" 2789 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 2790 data-sizes="auto"
2791 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 2792 width="1600" 2793 height="900" 2794 loading="lazy" 2795 decoding="async" 2796 fetchpriority="low" 2797 alt="Idido" 2798 data-optimumx="1.5" 2799 data-expand="-5"> 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809<style> 2810 @media (min-width: 768px) { 2811 .desktop_half_img { 2812 width: 50% !important; 2813 } 2814 } 2815</style> 2816 </div> 2817 </a> 2818 2819 2820 </div> 2821 2822 2823 <div class="flex flex-col justify-between h-full"> 2824 <h3 class="text-base font-acorn-semibold mb-2 text-left">Idido</h3> 2825 <form method="post" action="/cart/add" id="product_form_6801620729933" accept-charset="UTF-8" class="slide-cart--upsell-form" enctype="multipart/form-data" data-productid="6869823127629"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /> 2826 2827 2828 2829 <input type="hidden" name="id" value="39871623266381"> 2830 <input type="hidden" name="quantity" value="1"> 2831 2832 <button type="submit" name="submit" class="btn btn-outline-black btn-small flex items-center gap-1 justify-center"> 2833 <span>Add</span> 2834 <span>-</span> 2835 <span class="font-variant-lining">$26.00</span> 2836 </button> 2837 2838 2839 2840 <input type="hidden" name="product-id" value="6801620729933" /><input type="hidden" name="section-id" value="ajax-cart" /></form> 2841 </div> 2842 2843 2844 </div> 2845 </li> 2846 2847 2848 2849 2850 2851 2852 2853 <li class="upsell-item__container p-3 border border-grey w-4/5_ w-full "> 2854 <div class="flex gap-3 items-center justify-start h-full"> 2855 <div class="flex-shrink-0 w-24 slide-cart--item-image_wrapper" 2856 2857style="background: #ff5c35;" 2858> 2859 2860 <a href="/products/sipacapa-1" class="w-full"> 2861 <div class="slide-cart--item-image w-full"> 2862 2863 <!-- snippets/responsive-image [aa] --> 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 <img class="w-full h-24 object-cover lazyload " 2880 data-class="LazyLoad" 2881 data-src=" 2882 2883 2884 2885 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_470x.png?v=1727103312 470w , 2886 2887 2888 2889 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_600x.png?v=1727103312 600w , 2890 2891 2892 2893 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_770x.png?v=1727103312 770w , 2894 2895 2896 2897 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_970x.png?v=1727103312 970w , 2898 2899 2900 2901 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_1060x.png?v=1727103312 1060w , 2902 2903 2904 2905 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_1280x.png?v=1727103312 1280w , 2906 2907 2908 2909 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_1512x.png?v=1727103312 1512w , 2910 2911 2912 2913 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_1728x.png?v=1727103312 1728w , 2914 2915 2916 2917 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_2048x.png?v=1727103312 2048w , 2918" 2919 data-srcset=" 2920 2921 2922 2923 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_470x.png?v=1727103312 470w , 2924 2925 2926 2927 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_600x.png?v=1727103312 600w , 2928 2929 2930 2931 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_770x.png?v=1727103312 770w , 2932 2933 2934 2935 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_970x.png?v=1727103312 970w , 2936 2937 2938 2939 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_1060x.png?v=1727103312 1060w , 2940 2941 2942 2943 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_1280x.png?v=1727103312 1280w , 2944 2945 2946 2947 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_1512x.png?v=1727103312 1512w , 2948 2949 2950 2951 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_1728x.png?v=1727103312 1728w , 2952 2953 2954 2955 //counterculturecoffee.com/cdn/shop/files/CCC_Sipacapa_12oz_2024_1_2048x.png?v=1727103312 2048w , 2956" 2957 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 2958 data-sizes="auto"
2959 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 2960 width="1600" 2961 height="900" 2962 loading="lazy" 2963 decoding="async" 2964 fetchpriority="low" 2965 alt="Sipacapa" 2966 data-optimumx="1.5" 2967 data-expand="-5"> 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977<style> 2978 @media (min-width: 768px) { 2979 .desktop_half_img { 2980 width: 50% !important; 2981 } 2982 } 2983</style> 2984 </div> 2985 </a> 2986 2987 2988 </div> 2989 2990 2991 <div class="flex flex-col justify-between h-full"> 2992 <h3 class="text-base font-acorn-semibold mb-2 text-left">Sipacapa</h3> 2993 <form method="post" action="/cart/add" id="product_form_6901906145357" accept-charset="UTF-8" class="slide-cart--upsell-form" enctype="multipart/form-data" data-productid="6869823127629"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /> 2994 2995 2996 2997 <input type="hidden" name="id" value="40154938736717"> 2998 <input type="hidden" name="quantity" value="1"> 2999 3000 <button type="submit" name="submit" class="btn btn-outline-black btn-small flex items-center gap-1 justify-center"> 3001 <span>Add</span> 3002 <span>-</span> 3003 <span class="font-variant-lining">$25.00</span> 3004 </button> 3005 3006 3007 3008 <input type="hidden" name="product-id" value="6901906145357" /><input type="hidden" name="section-id" value="ajax-cart" /></form> 3009 </div> 3010 3011 3012 </div> 3013 </li> 3014 3015 3016 3017 3018 3019 3020 3021 <li class="upsell-item__container p-3 border border-grey w-4/5_ w-full "> 3022 <div class="flex gap-3 items-center justify-start h-full"> 3023 <div class="flex-shrink-0 w-24 slide-cart--item-image_wrapper" 3024 3025style="background: #8d93d9;" 3026> 3027 3028 <a href="/products/single-origin-subscription-two-bags-2" class="w-full"> 3029 <div class="slide-cart--item-image w-full"> 3030 3031 <!-- snippets/responsive-image [aa] --> 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 <img class="w-full h-24 object-cover lazyload " 3048 data-class="LazyLoad" 3049 data-src=" 3050 3051 3052 3053 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_470x.gif?v=1730828189 470w , 3054 3055 3056 3057 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_600x.gif?v=1730828189 600w , 3058 3059 3060 3061 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_770x.gif?v=1730828189 770w , 3062 3063 3064 3065 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_970x.gif?v=1730828189 970w , 3066 3067 3068 3069 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_1060x.gif?v=1730828189 1060w , 3070 3071 3072 3073 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_1280x.gif?v=1730828189 1280w , 3074 3075 3076 3077 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_1512x.gif?v=1730828189 1512w , 3078 3079 3080 3081 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_1728x.gif?v=1730828189 1728w , 3082 3083 3084 3085 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_2048x.gif?v=1730828189 2048w , 3086" 3087 data-srcset=" 3088 3089 3090 3091 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_470x.gif?v=1730828189 470w , 3092 3093 3094 3095 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_600x.gif?v=1730828189 600w , 3096 3097 3098 3099 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_770x.gif?v=1730828189 770w , 3100 3101 3102 3103 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_970x.gif?v=1730828189 970w , 3104 3105 3106 3107 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_1060x.gif?v=1730828189 1060w , 3108 3109 3110 3111 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_1280x.gif?v=1730828189 1280w , 3112 3113 3114 3115 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_1512x.gif?v=1730828189 1512w , 3116 3117 3118 3119 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_1728x.gif?v=1730828189 1728w , 3120 3121 3122 3123 //counterculturecoffee.com/cdn/shop/files/SOScopy2_1copy_2048x.gif?v=1730828189 2048w , 3124" 3125 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 3126 data-sizes="auto"
3127 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 3128 width="1600" 3129 height="900" 3130 loading="lazy" 3131 decoding="async" 3132 fetchpriority="low" 3133 alt="Single-Origin Subscription - Two Bags" 3134 data-optimumx="1.5" 3135 data-expand="-5"> 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145<style> 3146 @media (min-width: 768px) { 3147 .desktop_half_img { 3148 width: 50% !important; 3149 } 3150 } 3151</style> 3152 </div> 3153 </a> 3154 3155 3156 </div> 3157 3158 3159 <div class="flex flex-col justify-between h-full"> 3160 <h3 class="text-base font-acorn-semibold mb-2 text-left">Single-Origin Subscription - Two Bags</h3> 3161 <form method="post" action="/cart/add" id="product_form_6732362416205" accept-charset="UTF-8" class="slide-cart--upsell-form" enctype="multipart/form-data" data-productid="6869823127629"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /> 3162 3163 3164 3165 <a href="/products/single-origin-subscription-two-bags-2" class="w-full"> 3166 <div class="btn btn-outline-black btn-small flex items-center gap-1 justify-center"> 3167 <span>Add</span> 3168 <span>-</span> 3169 <span class="font-variant-lining">$39.00</span> 3170 </div> 3171 </a> 3172 3173 3174 3175 <input type="hidden" name="product-id" value="6732362416205" /><input type="hidden" name="section-id" value="ajax-cart" /></form> 3176 </div> 3177 3178 3179 </div> 3180 </li> 3181 3182 3183 3184 3185 3186 3187 3188</ul> 3189 3190</div> 3191 3192</div></div> 3193</section> 3194 3195<div class="opacity-20 cursor-pointer bg-black fixed top-0 bottom-0 left-0 hidden h-screen w-screen z-[999] js-cart--overlay"></div> 3196 3197 3198 3199</div> 3200 <div id="shopify-section-search-drawer" class="shopify-section"><!-- sections/ajax-cart [aa] --><style> 3201 .slide--search-container { 3202 background: none; 3203 width: 90%; 3204 display: none; 3205 height: 100%; 3206 position: fixed; 3207 background: #F9F9F9; 3208 z-index: 99; 3209 right: 0; 3210 top: 0; 3211 max-width: 375px; 3212 } 3213 .slide--search-container[ready] { 3214 display: block; 3215 width: 90%; 3216 transition: transform linear 400ms; 3217 transform: translateX(100%); 3218 } 3219 .slide--search-container.js-search-drawer-open { 3220 width: 100%; 3221 transform: translateX(0); 3222 } 3223</style> 3224<section class="border-black border slide--search-container" ready> 3225 <div class="js-cart--inner h-full flex flex-col px-5 bg-white"> 3226 <div class="pt-6 pb-4 flex items-center justify-between border-b border-[#BBB] cart-page:pt-6 cart-page:border-0"> 3227 <div class="flex items-center justify-start cart-page:justify-center"> 3228 <span class="font-acorn text-4xl relative">Search</span> 3229 </div> 3230 <button type="button" name="close search drawer" class="js-search--close btn-transparent z-10"> 3231 <span class="sr-only">Close Cart</span> 3232 <svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" viewBox="0 0 19 19" fill="none"> 3233 <rect x="0.825195" y="0.11792" width="24.5" height="1.16667" rx="0.583333" transform="rotate(45 0.825195 0.11792)" fill="black"></rect> 3234 <rect x="18.5029" y="0.824951" width="24.5" height="1.16667" rx="0.583333" transform="rotate(135 18.5029 0.824951)" fill="black"></rect> 3235 </svg> 3236 </button> 3237 </div> 3238 <div> 3239 <div class="py-[30px]"> 3240 <form class="w-full drawer-search-form search-bar-form" action="/search"> 3241 <div class="flex gap-4 items-center relative w-full"> 3242 <!-- snippets/floating-label.liquid [ja] --> 3243 <div class="relative w-full">
3244 <input id="drawer-predictive-search" type="text" name="q" value="" placeholder="Search" class="border focus:border-2 focus:border-[#000F8F] px-5 rounded-full font-eiko-regular focus:bg-white py-3 placeholder:font-medium placeholder:font-eiko-regular font-eiko-regular border-black search-bar peer w-full"> 3245 </div> 3246 <div class="cursor-pointer absolute top-[16px] right-[20px]" data-search-bar> 3247 <svg width="17" height="19" viewBox="0 0 17 19" fill="none" xmlns="http://www.w3.org/2000/svg"> 3248 <path fill-rule="evenodd" clip-rule="evenodd" d="M14.4123 10.6731C12.2966 12.7888 8.8662 12.7888 6.75042 10.6731C4.63464 8.55728 4.63464 5.12693 6.75042 3.01115C8.8662 0.895372 12.2966 0.895372 14.4123 3.01115C16.5281 5.12693 16.5281 8.55728 14.4123 10.6731ZM7.39843 12.4168C9.84931 13.8181 13.027 13.4726 15.1194 11.3802C17.6257 8.87387 17.6257 4.81035 15.1194 2.30404C12.6131 -0.202259 8.54961 -0.202259 6.04331 2.30404C3.74587 4.60148 3.55441 8.20742 5.46895 10.7229L5.2273 10.9886L0.733278 15.9286C0.256247 16.4529 0.294624 17.2647 0.818995 17.7418C1.34337 18.2188 2.15516 18.1804 2.63219 17.6561L7.12622 12.7161L7.39843 12.4168ZM5.96701 11.6615L6.38651 12.0431L1.89249 16.9831C1.7871 17.099 1.60777 17.1075 1.49192 17.0021C1.37608 16.8967 1.3676 16.7173 1.47299 16.6015L5.96701 11.6615Z" fill="black"></path> 3249 </svg> 3250 </div> 3251 </div> 3252 </form> 3253 </div> 3254 <div class="js-search-results"> 3255 <div class=""> 3256 <h4 class="font-acorn-semibold text-xl mb-4">Popular Searches</h4> 3257 <div class="search__terms"> 3258 <ul class="flex-wrap cursor-pointer flex gap-2 suggested-keywords underline font-eiko-light"><li class="suggested-keyword" data-keyword="brewing methods">Brewing Methods,</li><li class="suggested-keyword" data-keyword="coffee">Coffee,</li><li class="suggested-keyword" data-keyword="holiday">Holiday,</li><li class="suggested-keyword" data-keyword="subscription">Subscription,</li><li class="suggested-keyword" data-keyword="dark roast">Dark Roast,</li><li class="suggested-keyword" data-keyword="gift guide">Gift Guide,</li><li class="suggested-keyword" data-keyword="holiday gift guide">Holiday Gift Guide</li></ul> 3259 </div> 3260 </div> 3261 </div> 3262 </div> 3263 </div> 3264</section> 3265<div class="opacity-20 cursor-pointer bg-black fixed top-0 bottom-0 left-0 hidden h-screen w-screen z-40 js-search--overlay"></div> 3266 3267 3268 3269</div> 3270 3271 3272
3272<script> 3273 window.free_product = ""; 3274 window.free_product_offer = false; 3275 </script>
3275 3276 3277 3278 <main id="MainContent" class="content-for-layout focus-none relative" role="main" tabindex="-1" > 3279 3280 <div id="shopify-section-template--17967770599501__main" class="shopify-section"><!-- sections/main-product --> 3281 3282<section class="relative grid xl:grid-cols-2 z-10"> 3283 <!-- snippets/product-image-slider [aa] --> 3284 3285 3286 3287 3288 3289<div class="product--image-container js-product-images overflow-hidden template--17967770599501__main" 3290 3291 3292 3293> 3294 3295 <div class="hidden lg:block"> 3296 <!-- snippets/slick-arrows [aa] --><button type="button" 3297 class="js-prev slick-prev 3298 absolute 3299 z-10 h-fit p-2 3300 rounded-full 3301 transition-all 3302 animate animate-fadeInUp 3303 top-1/2 -translate-y-1/2 left-5" 3304 data-delay="200"> 3305 <span class="sr-only">Previous Testimonial</span> 3306 <svg width="33" height="28" viewBox="0 0 33 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 3307 <path d="M0.5 13.86C0.5 21.1604 7.57823 27.22 16.5 27.22C25.4218 27.22 32.5 21.1604 32.5 13.86C32.5 6.55961 25.4218 0.5 16.5 0.5C7.57823 0.5 0.5 6.55961 0.5 13.86Z" fill="white" stroke="black"/> 3308 <path d="M10.5096 9.36035V13.625V17.8896L6.24501 13.625L10.5096 9.36035Z" fill="black"/> 3309 <path d="M26.4004 13.625H10.5096M10.5096 13.625V9.36035L6.24501 13.625L10.5096 17.8896V13.625Z" stroke="black"/> 3310 </svg> 3311 3312</button> 3313 3314<button type="button" 3315 class="js-next slick-next 3316 absolute 3317 z-10 h-fit p-2 3318 rounded-full 3319 transition-all 3320 animate animate-fadeInUp 3321 top-1/2 -translate-y-1/2 right-5" 3322 data-delay="200"> 3323 <span class="sr-only">Next Testimonial</span> 3324 <svg width="33" height="28" viewBox="0 0 33 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 3325 <path d="M32.5 13.86C32.5 21.1604 25.4218 27.22 16.5 27.22C7.57822 27.22 0.5 21.1604 0.5 13.86C0.5 6.55961 7.57822 0.5 16.5 0.5C25.4218 0.5 32.5 6.55961 32.5 13.86Z" fill="white" stroke="black"/> 3326 <path d="M22.4904 9.36035V13.625V17.8896L26.755 13.625L22.4904 9.36035Z" fill="black"/> 3327 <path d="M6.59961 13.625H22.4904M22.4904 13.625V9.36035L26.755 13.625L22.4904 17.8896V13.625Z" stroke="black"/> 3328 </svg> 3329 3330</button> 3331 3332 </div> 3333 3334 3335 <!-- snippets/product-card-badge --> 3336 3337 3338 3339 3340 <!-- snippets/product-attribute-list --> 3341 3342 3343 3344 3345 <ul class="js-slick js-product-image-slider product--image-slider max-w-full" data-slick='{ 3346 "dots": true, 3347 "arrows": true, 3348 "infinite": true, 3349 "speed": 300, 3350 "slidesToShow": 1, 3351 "slidesToScroll": 1, 3352 "nextArrow": ".template--17967770599501__main.js-product-images .js-next", 3353 "prevArrow": ".template--17967770599501__main.js-product-images .js-prev" 3354 }'> 3355 3356 3357 3358 3359 3360 3361<li class="js-media-slide w-full product--media-slide flex items-center justify-center relative" 3362 data-variant="" data-media-type="image"> 3363 3364 <!-- snippets/responsive-image [aa] --> 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 <img class="h-full w-full object-cover lazyload " 3381 data-class="LazyLoad" 3382 data-src=" 3383 3384 3385 3386 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_470x.gif?v=1730830985 470w , 3387 3388 3389 3390 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_600x.gif?v=1730830985 600w , 3391 3392 3393 3394 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_770x.gif?v=1730830985 770w , 3395 3396 3397 3398 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_970x.gif?v=1730830985 970w , 3399 3400 3401 3402 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_1060x.gif?v=1730830985 1060w , 3403 3404 3405 3406 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_1280x.gif?v=1730830985 1280w , 3407 3408 3409 3410 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_1512x.gif?v=1730830985 1512w , 3411 3412 3413 3414 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_1728x.gif?v=1730830985 1728w , 3415 3416 3417 3418 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_2048x.gif?v=1730830985 2048w , 3419" 3420 data-srcset=" 3421 3422 3423 3424 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_470x.gif?v=1730830985 470w , 3425 3426 3427 3428 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_600x.gif?v=1730830985 600w , 3429 3430 3431 3432 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_770x.gif?v=1730830985 770w , 3433 3434 3435 3436 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_970x.gif?v=1730830985 970w , 3437 3438 3439 3440 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_1060x.gif?v=1730830985 1060w , 3441 3442 3443 3444 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_1280x.gif?v=1730830985 1280w , 3445 3446 3447 3448 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_1512x.gif?v=1730830985 1512w , 3449 3450 3451 3452 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_1728x.gif?v=1730830985 1728w , 3453 3454 3455 3456 //counterculturecoffee.com/cdn/shop/files/Sequence01copy_2048x.gif?v=1730830985 2048w , 3457" 3458 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 3459 data-sizes="auto"
3460 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 3461 width="1600" 3462 height="900" 3463 loading="lazy" 3464 decoding="async" 3465 fetchpriority="low" 3466 alt="" 3467 data-optimumx="1.5" 3468 data-expand="-5"> 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478<style> 3479 @media (min-width: 768px) { 3480 .desktop_half_img { 3481 width: 50% !important; 3482 } 3483 } 3484</style> 3485 3486 </li> 3487 3488 3489 3490 3491 3492 3493<li class="js-media-slide w-full product--media-slide flex items-center justify-center relative" 3494 data-variant="" data-media-type="image"> 3495 3496 <!-- snippets/responsive-image [aa] --> 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 <img class="h-full w-full object-cover lazyload " 3513 data-class="LazyLoad" 3514 data-src=" 3515 3516 3517 3518 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_470x.gif?v=1720189208 470w , 3519 3520 3521 3522 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_600x.gif?v=1720189208 600w , 3523 3524 3525 3526 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_770x.gif?v=1720189208 770w , 3527 3528 3529 3530 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_970x.gif?v=1720189208 970w , 3531 3532 3533 3534 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_1060x.gif?v=1720189208 1060w , 3535 3536 3537 3538 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_1280x.gif?v=1720189208 1280w , 3539 3540 3541 3542 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_1512x.gif?v=1720189208 1512w , 3543 3544 3545 3546 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_1728x.gif?v=1720189208 1728w , 3547 3548 3549 3550 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_2048x.gif?v=1720189208 2048w , 3551" 3552 data-srcset=" 3553 3554 3555 3556 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_470x.gif?v=1720189208 470w , 3557 3558 3559 3560 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_600x.gif?v=1720189208 600w , 3561 3562 3563 3564 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_770x.gif?v=1720189208 770w , 3565 3566 3567 3568 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_970x.gif?v=1720189208 970w , 3569 3570 3571 3572 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_1060x.gif?v=1720189208 1060w , 3573 3574 3575 3576 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_1280x.gif?v=1720189208 1280w , 3577 3578 3579 3580 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_1512x.gif?v=1720189208 1512w , 3581 3582 3583 3584 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_1728x.gif?v=1720189208 1728w , 3585 3586 3587 3588 //counterculturecoffee.com/cdn/shop/files/5lb_Hologram_ecom_2020_2048x.gif?v=1720189208 2048w , 3589" 3590 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 3591 data-sizes="auto" 3592 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 3593 width="1600" 3594 height="900" 3595 loading="lazy" 3596 decoding="async" 3597 fetchpriority="low" 3598 alt="" 3599 data-optimumx="1.5" 3600 data-expand="-5"> 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610<style> 3611 @media (min-width: 768px) { 3612 .desktop_half_img { 3613 width: 50% !important; 3614 } 3615 } 3616</style> 3617 3618 </li> 3619 3620 3621 3622 3623 3624 3625<li class="js-media-slide w-full product--media-slide flex items-center justify-center relative" 3626 data-variant="" data-media-type="image"> 3627 3628 <!-- snippets/responsive-image [aa] --> 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 <img class="h-full w-full object-cover lazyload " 3645 data-class="LazyLoad" 3646 data-src=" 3647 3648 3649 3650 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_470x.jpg?v=1730830860 470w , 3651 3652 3653 3654 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_600x.jpg?v=1730830860 600w , 3655 3656 3657 3658 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_770x.jpg?v=1730830860 770w , 3659 3660 3661 3662 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_970x.jpg?v=1730830860 970w , 3663 3664 3665 3666 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_1060x.jpg?v=1730830860 1060w , 3667 3668 3669 3670 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_1280x.jpg?v=1730830860 1280w , 3671 3672 3673 3674 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_1512x.jpg?v=1730830860 1512w , 3675 3676 3677 3678 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_1728x.jpg?v=1730830860 1728w , 3679 3680 3681 3682 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_2048x.jpg?v=1730830860 2048w , 3683" 3684 data-srcset=" 3685 3686 3687 3688 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_470x.jpg?v=1730830860 470w , 3689 3690 3691 3692 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_600x.jpg?v=1730830860 600w , 3693 3694 3695 3696 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_770x.jpg?v=1730830860 770w , 3697 3698 3699 3700 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_970x.jpg?v=1730830860 970w , 3701 3702 3703 3704 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_1060x.jpg?v=1730830860 1060w , 3705 3706 3707 3708 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_1280x.jpg?v=1730830860 1280w , 3709 3710 3711 3712 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_1512x.jpg?v=1730830860 1512w , 3713 3714 3715 3716 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_1728x.jpg?v=1730830860 1728w , 3717 3718 3719 3720 //counterculturecoffee.com/cdn/shop/files/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442_2048x.jpg?v=1730830860 2048w , 3721" 3722 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 3723 data-sizes="auto"
3724 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 3725 width="1600" 3726 height="900" 3727 loading="lazy" 3728 decoding="async" 3729 fetchpriority="low" 3730 alt="" 3731 data-optimumx="1.5" 3732 data-expand="-5"> 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742<style> 3743 @media (min-width: 768px) { 3744 .desktop_half_img { 3745 width: 50% !important; 3746 } 3747 } 3748</style> 3749 3750 </li> 3751 3752 3753 3754 3755 3756 3757<li class="js-media-slide w-full product--media-slide flex items-center justify-center relative" 3758 data-variant="" data-media-type="image"> 3759 3760 <!-- snippets/responsive-image [aa] --> 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 <img class="h-full w-full object-cover lazyload " 3777 data-class="LazyLoad" 3778 data-src=" 3779 3780 3781 3782 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_470x.jpg?v=1730830863 470w , 3783 3784 3785 3786 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_600x.jpg?v=1730830863 600w , 3787 3788 3789 3790 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_770x.jpg?v=1730830863 770w , 3791 3792 3793 3794 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_970x.jpg?v=1730830863 970w , 3795 3796 3797 3798 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_1060x.jpg?v=1730830863 1060w , 3799 3800 3801 3802 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_1280x.jpg?v=1730830863 1280w , 3803 3804 3805 3806 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_1512x.jpg?v=1730830863 1512w , 3807 3808 3809 3810 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_1728x.jpg?v=1730830863 1728w , 3811 3812 3813 3814 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_2048x.jpg?v=1730830863 2048w , 3815" 3816 data-srcset=" 3817 3818 3819 3820 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_470x.jpg?v=1730830863 470w , 3821 3822 3823 3824 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_600x.jpg?v=1730830863 600w , 3825 3826 3827 3828 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_770x.jpg?v=1730830863 770w , 3829 3830 3831 3832 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_970x.jpg?v=1730830863 970w , 3833 3834 3835 3836 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_1060x.jpg?v=1730830863 1060w , 3837 3838 3839 3840 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_1280x.jpg?v=1730830863 1280w , 3841 3842 3843 3844 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_1512x.jpg?v=1730830863 1512w , 3845 3846 3847 3848 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_1728x.jpg?v=1730830863 1728w , 3849 3850 3851 3852 //counterculturecoffee.com/cdn/shop/files/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd_2048x.jpg?v=1730830863 2048w , 3853" 3854 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 3855 data-sizes="auto" 3856 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 3857 width="1600" 3858 height="900" 3859 loading="lazy" 3860 decoding="async" 3861 fetchpriority="low" 3862 alt="" 3863 data-optimumx="1.5" 3864 data-expand="-5"> 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874<style> 3875 @media (min-width: 768px) { 3876 .desktop_half_img { 3877 width: 50% !important; 3878 } 3879 } 3880</style> 3881 3882 </li> 3883 3884 3885 3886 3887 3888 3889<li class="js-media-slide w-full product--media-slide flex items-center justify-center relative" 3890 data-variant="" data-media-type="image"> 3891 3892 <!-- snippets/responsive-image [aa] --> 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 <img class="h-full w-full object-cover lazyload " 3909 data-class="LazyLoad" 3910 data-src=" 3911 3912 3913 3914 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_470x.jpg?v=1730830865 470w , 3915 3916 3917 3918 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_600x.jpg?v=1730830865 600w , 3919 3920 3921 3922 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_770x.jpg?v=1730830865 770w , 3923 3924 3925 3926 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_970x.jpg?v=1730830865 970w , 3927 3928 3929 3930 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_1060x.jpg?v=1730830865 1060w , 3931 3932 3933 3934 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_1280x.jpg?v=1730830865 1280w , 3935 3936 3937 3938 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_1512x.jpg?v=1730830865 1512w , 3939 3940 3941 3942 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_1728x.jpg?v=1730830865 1728w , 3943 3944 3945 3946 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_2048x.jpg?v=1730830865 2048w , 3947" 3948 data-srcset=" 3949 3950 3951 3952 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_470x.jpg?v=1730830865 470w , 3953 3954 3955 3956 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_600x.jpg?v=1730830865 600w , 3957 3958 3959 3960 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_770x.jpg?v=1730830865 770w , 3961 3962 3963 3964 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_970x.jpg?v=1730830865 970w , 3965 3966 3967 3968 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_1060x.jpg?v=1730830865 1060w , 3969 3970 3971 3972 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_1280x.jpg?v=1730830865 1280w , 3973 3974 3975 3976 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_1512x.jpg?v=1730830865 1512w , 3977 3978 3979 3980 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_1728x.jpg?v=1730830865 1728w , 3981 3982 3983 3984 //counterculturecoffee.com/cdn/shop/files/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670_2048x.jpg?v=1730830865 2048w , 3985" 3986 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 3987 data-sizes="auto"
3988 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 3989 width="1600" 3990 height="900" 3991 loading="lazy" 3992 decoding="async" 3993 fetchpriority="low" 3994 alt="" 3995 data-optimumx="1.5" 3996 data-expand="-5"> 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006<style> 4007 @media (min-width: 768px) { 4008 .desktop_half_img { 4009 width: 50% !important; 4010 } 4011 } 4012</style> 4013 4014 </li> 4015 4016 4017 4018 4019 4020 4021<li class="js-media-slide w-full product--media-slide flex items-center justify-center relative" 4022 data-variant="" data-media-type="image"> 4023 4024 <!-- snippets/responsive-image [aa] --> 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 <img class="h-full w-full object-cover lazyload " 4041 data-class="LazyLoad" 4042 data-src=" 4043 4044 4045 4046 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_470x.jpg?v=1730830867 470w , 4047 4048 4049 4050 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_600x.jpg?v=1730830867 600w , 4051 4052 4053 4054 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_770x.jpg?v=1730830867 770w , 4055 4056 4057 4058 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_970x.jpg?v=1730830867 970w , 4059 4060 4061 4062 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_1060x.jpg?v=1730830867 1060w , 4063 4064 4065 4066 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_1280x.jpg?v=1730830867 1280w , 4067 4068 4069 4070 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_1512x.jpg?v=1730830867 1512w , 4071 4072 4073 4074 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_1728x.jpg?v=1730830867 1728w , 4075 4076 4077 4078 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_2048x.jpg?v=1730830867 2048w , 4079" 4080 data-srcset=" 4081 4082 4083 4084 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_470x.jpg?v=1730830867 470w , 4085 4086 4087 4088 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_600x.jpg?v=1730830867 600w , 4089 4090 4091 4092 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_770x.jpg?v=1730830867 770w , 4093 4094 4095 4096 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_970x.jpg?v=1730830867 970w , 4097 4098 4099 4100 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_1060x.jpg?v=1730830867 1060w , 4101 4102 4103 4104 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_1280x.jpg?v=1730830867 1280w , 4105 4106 4107 4108 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_1512x.jpg?v=1730830867 1512w , 4109 4110 4111 4112 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_1728x.jpg?v=1730830867 1728w , 4113 4114 4115 4116 //counterculturecoffee.com/cdn/shop/files/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4_2048x.jpg?v=1730830867 2048w , 4117" 4118 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 4119 data-sizes="auto" 4120 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 4121 width="1600" 4122 height="900" 4123 loading="lazy" 4124 decoding="async" 4125 fetchpriority="low" 4126 alt="" 4127 data-optimumx="1.5" 4128 data-expand="-5"> 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138<style> 4139 @media (min-width: 768px) { 4140 .desktop_half_img { 4141 width: 50% !important; 4142 } 4143 } 4144</style> 4145 4146 </li> 4147 4148 4149 4150 4151 4152 4153<li class="js-media-slide w-full product--media-slide flex items-center justify-center relative" 4154 data-variant="" data-media-type="image"> 4155 4156 <!-- snippets/responsive-image [aa] --> 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 <img class="h-full w-full object-cover lazyload " 4173 data-class="LazyLoad" 4174 data-src=" 4175 4176 4177 4178 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_470x.jpg?v=1730830869 470w , 4179 4180 4181 4182 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_600x.jpg?v=1730830869 600w , 4183 4184 4185 4186 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_770x.jpg?v=1730830869 770w , 4187 4188 4189 4190 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_970x.jpg?v=1730830869 970w , 4191 4192 4193 4194 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_1060x.jpg?v=1730830869 1060w , 4195 4196 4197 4198 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_1280x.jpg?v=1730830869 1280w , 4199 4200 4201 4202 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_1512x.jpg?v=1730830869 1512w , 4203 4204 4205 4206 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_1728x.jpg?v=1730830869 1728w , 4207 4208 4209 4210 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_2048x.jpg?v=1730830869 2048w , 4211" 4212 data-srcset=" 4213 4214 4215 4216 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_470x.jpg?v=1730830869 470w , 4217 4218 4219 4220 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_600x.jpg?v=1730830869 600w , 4221 4222 4223 4224 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_770x.jpg?v=1730830869 770w , 4225 4226 4227 4228 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_970x.jpg?v=1730830869 970w , 4229 4230 4231 4232 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_1060x.jpg?v=1730830869 1060w , 4233 4234 4235 4236 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_1280x.jpg?v=1730830869 1280w , 4237 4238 4239 4240 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_1512x.jpg?v=1730830869 1512w , 4241 4242 4243 4244 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_1728x.jpg?v=1730830869 1728w , 4245 4246 4247 4248 //counterculturecoffee.com/cdn/shop/files/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a_2048x.jpg?v=1730830869 2048w , 4249" 4250 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 4251 data-sizes="auto"
4252 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 4253 width="1600" 4254 height="900" 4255 loading="lazy" 4256 decoding="async" 4257 fetchpriority="low" 4258 alt="" 4259 data-optimumx="1.5" 4260 data-expand="-5"> 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270<style> 4271 @media (min-width: 768px) { 4272 .desktop_half_img { 4273 width: 50% !important; 4274 } 4275 } 4276</style> 4277 4278 </li> 4279 4280 4281 4282 4283 4284 4285<li class="js-media-slide w-full product--media-slide flex items-center justify-center relative" 4286 data-variant="" data-media-type="image"> 4287 4288 <!-- snippets/responsive-image [aa] --> 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 <img class="h-full w-full object-cover lazyload " 4305 data-class="LazyLoad" 4306 data-src=" 4307 4308 4309 4310 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_470x.jpg?v=1730830871 470w , 4311 4312 4313 4314 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_600x.jpg?v=1730830871 600w , 4315 4316 4317 4318 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_770x.jpg?v=1730830871 770w , 4319 4320 4321 4322 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_970x.jpg?v=1730830871 970w , 4323 4324 4325 4326 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_1060x.jpg?v=1730830871 1060w , 4327 4328 4329 4330 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_1280x.jpg?v=1730830871 1280w , 4331 4332 4333 4334 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_1512x.jpg?v=1730830871 1512w , 4335 4336 4337 4338 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_1728x.jpg?v=1730830871 1728w , 4339 4340 4341 4342 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_2048x.jpg?v=1730830871 2048w , 4343" 4344 data-srcset=" 4345 4346 4347 4348 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_470x.jpg?v=1730830871 470w , 4349 4350 4351 4352 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_600x.jpg?v=1730830871 600w , 4353 4354 4355 4356 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_770x.jpg?v=1730830871 770w , 4357 4358 4359 4360 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_970x.jpg?v=1730830871 970w , 4361 4362 4363 4364 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_1060x.jpg?v=1730830871 1060w , 4365 4366 4367 4368 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_1280x.jpg?v=1730830871 1280w , 4369 4370 4371 4372 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_1512x.jpg?v=1730830871 1512w , 4373 4374 4375 4376 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_1728x.jpg?v=1730830871 1728w , 4377 4378 4379 4380 //counterculturecoffee.com/cdn/shop/files/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2_2048x.jpg?v=1730830871 2048w , 4381" 4382 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 4383 data-sizes="auto" 4384 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 4385 width="1600" 4386 height="900" 4387 loading="lazy" 4388 decoding="async" 4389 fetchpriority="low" 4390 alt="" 4391 data-optimumx="1.5" 4392 data-expand="-5"> 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402<style> 4403 @media (min-width: 768px) { 4404 .desktop_half_img { 4405 width: 50% !important; 4406 } 4407 } 4408</style> 4409 4410 </li> 4411 4412 4413 4414 4415 4416 4417<li class="js-media-slide w-full product--media-slide flex items-center justify-center relative" 4418 data-variant="" data-media-type="image"> 4419 4420 <!-- snippets/responsive-image [aa] --> 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 <img class="h-full w-full object-cover lazyload " 4437 data-class="LazyLoad" 4438 data-src=" 4439 4440 4441 4442 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_470x.jpg?v=1730830957 470w , 4443 4444 4445 4446 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_600x.jpg?v=1730830957 600w , 4447 4448 4449 4450 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_770x.jpg?v=1730830957 770w , 4451 4452 4453 4454 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_970x.jpg?v=1730830957 970w , 4455 4456 4457 4458 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_1060x.jpg?v=1730830957 1060w , 4459 4460 4461 4462 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_1280x.jpg?v=1730830957 1280w , 4463 4464 4465 4466 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_1512x.jpg?v=1730830957 1512w , 4467 4468 4469 4470 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_1728x.jpg?v=1730830957 1728w , 4471 4472 4473 4474 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_2048x.jpg?v=1730830957 2048w , 4475" 4476 data-srcset=" 4477 4478 4479 4480 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_470x.jpg?v=1730830957 470w , 4481 4482 4483 4484 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_600x.jpg?v=1730830957 600w , 4485 4486 4487 4488 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_770x.jpg?v=1730830957 770w , 4489 4490 4491 4492 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_970x.jpg?v=1730830957 970w , 4493 4494 4495 4496 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_1060x.jpg?v=1730830957 1060w , 4497 4498 4499 4500 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_1280x.jpg?v=1730830957 1280w , 4501 4502 4503 4504 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_1512x.jpg?v=1730830957 1512w , 4505 4506 4507 4508 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_1728x.jpg?v=1730830957 1728w , 4509 4510 4511 4512 //counterculturecoffee.com/cdn/shop/files/forweb-4782-EditSM1_2048x.jpg?v=1730830957 2048w , 4513" 4514 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 4515 data-sizes="auto"
4516 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 4517 width="1600" 4518 height="900" 4519 loading="lazy" 4520 decoding="async" 4521 fetchpriority="low" 4522 alt="" 4523 data-optimumx="1.5" 4524 data-expand="-5"> 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534<style> 4535 @media (min-width: 768px) { 4536 .desktop_half_img { 4537 width: 50% !important; 4538 } 4539 } 4540</style> 4541 4542 </li></ul> 4543</div> 4544 4545 4546<style> 4547.video-container { 4548 position: relative; 4549 padding-bottom: 100%; /* 16:9 aspect ratio */ 4550 height: 0; 4551} 4552 4553.video-container iframe { 4554 position: absolute; 4555 top: 0; 4556 left: 0; 4557 width: 100%; 4558 height: 100%; 4559} 4560 4561</style> 4562 <!-- snippets/product-buy-panel [aa] --> 4563 4564 4565 4566<div class="flex flex-col justify-start"> 4567 4568 4569 <div class="product--buy-panel"> 4570 <!-- snippets/product-card-form --> 4571 4572 4573 4574 4575 4576<form method="post" action="/cart/add" id="product-card--6869823127629" accept-charset="UTF-8" class="js-product-form" enctype="multipart/form-data" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /> 4577 4578 <!-- snippets/product-sticky-cta --> 4579 4580 4581 4582 4583<div class="fixed bottom-0 left-0 right-0 text-center bg-white px-3 py-3 fixed-top-shadow fixed-pill-rounded z-30 lg:hidden"><button class="js-product-form-atc btn btn-secondary w-full text-base">Add to Cart<span class="text-base js-pdp-sticky-price ml-1"> $99</span></button><div class="flex justify-center items-center gap-2 mt-2"> 4584 <svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg"> 4585 <path d="M1.92914 11.3387L2.35514 11.6005L1.92914 11.3387C1.40189 12.1967 1.8669 13.3194 2.84645 13.5533C3.0906 13.6116 3.24864 13.8481 3.20907 14.096C3.05031 15.0905 3.90955 15.9497 4.90404 15.7909C5.15192 15.7514 5.38844 15.9094 5.44674 16.1535C5.68063 17.1331 6.80329 17.5981 7.66132 17.0709C7.87518 16.9394 8.15418 16.9949 8.30148 17.1982C8.89242 18.0137 10.1076 18.0137 10.6985 17.1982C10.8458 16.9949 11.1248 16.9394 11.3387 17.0709C12.1967 17.5981 13.3194 17.1331 13.5533 16.1535C13.6116 15.9094 13.8481 15.7514 14.096 15.7909C15.0905 15.9497 15.9497 15.0905 15.7909 14.096C15.7514 13.8481 15.9094 13.6116 16.1535 13.5533C17.1331 13.3194 17.5981 12.1967 17.0709 11.3387C16.9394 11.1248 16.9949 10.8458 17.1982 10.6985C18.0137 10.1076 18.0137 8.89242 17.1982 8.30148C16.9949 8.15418 16.9394 7.87518 17.0709 7.66132C17.5981 6.80329 17.1331 5.68063 16.1535 5.44674C15.9094 5.38844 15.7514 5.15192 15.7909 4.90404C15.9497 3.90955 15.0905 3.05031 14.096 3.20907C13.8481 3.24864 13.6116 3.0906 13.5533 2.84645C13.3194 1.8669 12.1967 1.40189 11.3387 1.92914C11.1248 2.06056 10.8458 2.00506 10.6985 1.80181C10.1076 0.98633 8.89242 0.986331 8.30148 1.80181C8.15418 2.00506 7.87518 2.06056 7.66132 1.92914C6.80329 1.40189 5.68063 1.8669 5.44674 2.84645C5.38844 3.0906 5.15192 3.24864 4.90404 3.20907C3.90955 3.05031 3.0503 3.90955 3.20907 4.90404C3.24864 5.15192 3.0906 5.38844 2.84645 5.44674C1.86691 5.68063 1.40189 6.80329 1.92914 7.66132C2.06056 7.87518 2.00506 8.15418 1.80181 8.30148C0.986331 8.89242 0.986331 10.1076 1.80181 10.6985C2.00506 10.8458 2.06056 11.1248 1.92914 11.3387Z" fill="#F5EC5F" stroke="black"/> 4586 <path d="M8.952 8.2C8.952 9.032 8.424 9.6 7.544 9.6C6.664 9.6 6.144 9.032 6.144 8.2C6.144 7.368 6.68 6.808 7.552 6.808C8.432 6.808 8.952 7.376 8.952 8.2ZM11.872 6.888L7.728 12.12H6.8L10.944 6.888H11.872ZM12.512 10.8C12.512 11.64 11.984 12.2 11.104 12.2C10.224 12.2 9.704 11.632 9.704 10.8C9.704 9.976 10.24 9.408 11.112 9.408C11.992 9.408 12.512 9.976 12.512 10.8ZM8.128 8.208C8.128 7.736 7.896 7.448 7.544 7.448C7.192 7.448 6.968 7.736 6.968 8.208C6.968 8.672 7.192 8.952 7.552 8.952C7.896 8.952 8.128 8.664 8.128 8.208ZM11.688 10.808C11.688 10.344 11.464 10.056 11.112 10.056C10.752 10.056 10.528 10.344 10.528 10.808C10.528 11.28 10.752 11.56 11.112 11.56C11.464 11.56 11.688 11.272 11.688 10.808Z" fill="black"/> 4587 </svg> 4588 4589 <span class="text-base font-semibold">Get free shipping & returns</span> 4590 4591 </div> 4592 4593</div> 4594 4595 <input type="hidden" name="id" value="40095425560653"><!-- snippets/origin-locale --> 4596 4597 4598<p class="mb-1 lg:mb-4 uppercase text-xs md:text-sm lg:text-base tracking-wider font-freight-sans animate-fadeInUp animate">
45985 lb Bag Subscription</p> 4599 4600 <div class="flex flex-col md:flex-row gap-2 justify-between items-start"> 4601 4602 4603 <div class=""> 4604 <h1 class="font-acorn-semibold text-4xl lg:text-5xl mb-2 lg:mb-3 flex items-center gap-2 animate-fadeInUp animate"> 4605 4606 Office Coffee Subscription 4607 4608 <!-- snippets/product-pronunciation.liquid --> 4609 </h1> 4610 4611 <!-- snippets/tasting-notes --> 4612 4613 4614 4615 4616 <div class="lg:mb-2 lg:mb-5"> 4617 <div data-bv-show="rating_summary" data-bv-product-id="6869823127629"></div> 4618 </div> 4619 </div><!-- snippets/product-price --> 4620 4621 4622 4623<div class="flex justify-start items-center lg:flex-col lg:items-end"><p class="text-lg xl:text-2xl font-acorn-medium js-price">$99</p><p class="text-base xl:text-lg ml-2 lg:ml-0 line-through font-freight-sans js-compare-price opacity-30 font-acorn-regular" 4624 style="display:none;"> 4625 4626 </p> 4627</div> 4628 4629</div> 4630 4631 4632 4633 <!-- snippets/roast-level --><!-- Roast Scale --> 4634 4635 4636 4637 4638 4639 4640<!-- Roast Level --> 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653<div class="variant__divider border-b border-black mb-3 lg:mb-5 lg:pt-2 animate-fadeInUp animate"></div> 4654 4655 <!-- Render this section differently for subscriptions and one time --> 4656 4657 4658 4659 4660 4661 4662 4663 <!-- <p>subscription section</p> --> 4664 <!-- snippets/product-subscription-options-new [aa] --> 4665<!-- For both Subscriptions and One-Time --> 4666 4667 4668 4669 4670 4671 <div class="relative z-10 flex flex-col mb-5 w-full animate-fadeInUp animate"> 4672 <div class="custom-checkbox pdp-custom-checkbox tab__active pb-5 border-b border-black w-full flex flex-col lg:flex-row justify-between items-start lg:items-center gap-1"> 4673 <div class="flex items-center"> 4674 <div class="checkbox-wrapper"> 4675 <input id="delivery--subscribe" type="radio" name="delivery_option_pdp" class="pdp-custom-checkbox__subscribe" value="subscribe" checked /> 4676 </div> 4677 <label for="delivery--subscribe" class="font-acorn-semibold text-base">Subscribe + Save <span data-subscription-savings>$10.44</span></label> 4678 </div> 4679 4680 <span class="italic font-regular ml-6 lg:ml-0 hidden">Get free shipping & cancel anytime </span> 4681 4682 </div> 4683 4684 <div class="w-full js-selling-plan-div relative z-10 mb-5 lg:w-full mr-auto animate animate-fadeInUp"> 4685 4686 4687 4688 <div class="sub__prod-var-select"> 4689 <div class=""> 4690 <!-- snippets/variant-select --> 4691 4692 <label for="option-blend6869823127629" class="sr-only">Blend</label> 4693 <select id="option-blend6869823127629" 4694 class="hidden js-hidden-option-select" 4695 name="options[Blend]" 4696 data-name="Blend" 4697 form="product-card--6869823127629" 4698 ><option value="Big Trouble" selected="selected"> 4699 Big Trouble 4700 </option><option value="Apollo" > 4701 Apollo 4702 </option><option value="Fast Forward" > 4703 Fast Forward 4704 </option><option value="Forty-Six" > 4705 Forty-Six 4706 </option><option value="Gradient" > 4707 Gradient 4708 </option><option value="Hologram" > 4709 Hologram 4710 </option><option value="Slow Motion" > 4711 Slow Motion 4712 </option><option value="Roaster's Choice" > 4713 Roaster's Choice 4714 </option></select><!-- snippets/custom-swatches --> 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724<div class="flex gap-5 items-center mb-2 "> 4725 <p class="uppercase font-founders-grotesk-semibold text-sm tracking-wider animate animate-fadeInUp">Blend</p> 4726 4727 <ul class="flex flex-wrap gap-4 lg:gap-2 item-center list-none my-3 animate animate-fadeInUp"> 4728 <li class="custom-radio-swatch"> 4729 <input id="--blend--big-trouble" 4730 type="radio" 4731 name="option-blend6869823127629" 4732 value="Big Trouble" 4733 class="js-option-swatch" 4734 data-option="Blend" 4735 data-value="Big Trouble" 4736 checked > 4737 4738 <label for="--blend--big-trouble" 4739 class="product-swatch js-option-label font-founders-grotesk-regular"> 4740 Big Trouble 4741 </label> 4742 </li> 4743 <li class="custom-radio-swatch"> 4744 <input id="--blend--apollo" 4745 type="radio" 4746 name="option-blend6869823127629" 4747 value="Apollo" 4748 class="js-option-swatch" 4749 data-option="Blend" 4750 data-value="Apollo" 4751 > 4752 4753 <label for="--blend--apollo" 4754 class="product-swatch js-option-label font-founders-grotesk-regular"> 4755 Apollo 4756 </label> 4757 </li> 4758 <li class="custom-radio-swatch"> 4759 <input id="--blend--fast-forward" 4760 type="radio" 4761 name="option-blend6869823127629" 4762 value="Fast Forward" 4763 class="js-option-swatch" 4764 data-option="Blend" 4765 data-value="Fast Forward" 4766 > 4767 4768 <label for="--blend--fast-forward" 4769 class="product-swatch js-option-label font-founders-grotesk-regular"> 4770 Fast Forward 4771 </label> 4772 </li> 4773 <li class="custom-radio-swatch"> 4774 <input id="--blend--forty-six" 4775 type="radio" 4776 name="option-blend6869823127629" 4777 value="Forty-Six" 4778 class="js-option-swatch" 4779 data-option="Blend" 4780 data-value="Forty-Six" 4781 > 4782 4783 <label for="--blend--forty-six" 4784 class="product-swatch js-option-label font-founders-grotesk-regular"> 4785 Forty-Six 4786 </label> 4787 </li> 4788 <li class="custom-radio-swatch"> 4789 <input id="--blend--gradient" 4790 type="radio" 4791 name="option-blend6869823127629" 4792 value="Gradient" 4793 class="js-option-swatch" 4794 data-option="Blend" 4795 data-value="Gradient" 4796 > 4797 4798 <label for="--blend--gradient" 4799 class="product-swatch js-option-label font-founders-grotesk-regular"> 4800 Gradient 4801 </label> 4802 </li> 4803 <li class="custom-radio-swatch"> 4804 <input id="--blend--hologram" 4805 type="radio" 4806 name="option-blend6869823127629" 4807 value="Hologram" 4808 class="js-option-swatch" 4809 data-option="Blend" 4810 data-value="Hologram" 4811 > 4812 4813 <label for="--blend--hologram" 4814 class="product-swatch js-option-label font-founders-grotesk-regular"> 4815 Hologram 4816 </label> 4817 </li> 4818 <li class="custom-radio-swatch"> 4819 <input id="--blend--slow-motion" 4820 type="radio" 4821 name="option-blend6869823127629" 4822 value="Slow Motion" 4823 class="js-option-swatch" 4824 data-option="Blend" 4825 data-value="Slow Motion" 4826 > 4827 4828 <label for="--blend--slow-motion" 4829 class="product-swatch js-option-label font-founders-grotesk-regular"> 4830 Slow Motion 4831 </label> 4832 </li> 4833 <li class="custom-radio-swatch"> 4834 <input id="--blend--roasters-choice" 4835 type="radio" 4836 name="option-blend6869823127629" 4837 value="Roaster's Choice" 4838 class="js-option-swatch" 4839 data-option="Blend" 4840 data-value="Roaster's Choice" 4841 > 4842 4843 <label for="--blend--roasters-choice" 4844 class="product-swatch js-option-label font-founders-grotesk-regular"> 4845 Roaster's Choice 4846 </label> 4847 </li></ul> 4848</div> 4849 4850 4851 4852 </div> 4853 </div> 4854 4855 4856 <div class="flex z-10 justify-start items-center gap-2 lg:gap-5 w-full animate-fadeInUp animate-animated"> 4857 <div class="sub__quantity-box w-full"> 4858 <div class="w-full h-full"> 4859 <!-- snippets/quantity-box --><div class="grid grid-cols-3 gap-1 bg-white w-full rounded-full border border-black lg:w-full h-full"> 4860 <label for="quantity--office-coffee-subscription-" class="sr-only">Quantity</label> 4861 4862 <button type="button" 4863 class="js-change-quantity
4864 btn-transparent ss-icon product-minus 4865 py-1 pl-3 4866 flex justify-center items-center" 4867 data-action="minus"> 4868 <span class="sr-only">Decrease Quantity of Office Coffee Subscription</span> 4869 <!-- snippets/icon (minus) [aa/ja] --> 4870 4871 4872<svg 4873 class=" 4874 icon icon-minus w-2 4875" 4876 width="15" 4877 height="15" 4878 viewBox="0 0 15 15" 4879 fill="none" 4880 xmlns="http://www.w3.org/2000/svg"> 4881 <path d="M13.8 6H0.7C0.313401 6 0 6.3134 0 6.7V8.3C0 8.6866 0.313401 9 0.7 9H13.8C14.1866 9 14.5 8.6866 14.5 8.3V6.7C14.5 6.3134 14.1866 6 13.8 6Z" fill="currentColor"/> 4882 </svg> 4883 </button> 4884 4885 <input id="quantity--office-coffee-subscription-" 4886 type="number" 4887 min="1" 4888 size="2" 4889 class="text-center text-base py-1 js-quantity-input h-full" 4890 name="quantity" 4891 4892 value="1"> 4893 4894 <button type="button" 4895 class="js-change-quantity btn-transparent 4896 py-1 pr-3 4897 flex justify-center items-center ss-icon product-plus" 4898 data-action="plus"> 4899 <span class="sr-only">Increase Quantity of Office Coffee Subscription</span> 4900 <!-- snippets/icon (plus) [aa/ja] --> 4901 4902 4903<svg 4904 class=" 4905 icon icon-plus w-2 4906" 4907 width="15" 4908 height="15" 4909 viewBox="0 0 15 15" 4910 fill="none" 4911 xmlns="http://www.w3.org/2000/svg"> 4912 <path d="M14.2837 5.97924H9.09344V0.726642C9.09075 0.53476 9.01333 0.351491 8.87764 0.215796C8.74195 0.0801017 8.55868 0.00268406 8.36679 0H6.69551C6.5046 0.00272761 6.32243 0.080486 6.1884 0.216464C6.05436 0.352441 5.97923 0.53571 5.97925 0.726642V5.97924H0.72666C0.535727 5.97922 0.352453 6.05435 0.216475 6.18838C0.0804974 6.32242 0.00273905 6.50459 1.14441e-05 6.6955V8.36678C0.00269551 8.55866 0.0801151 8.74193 0.21581 8.87763C0.351504 9.01332 0.534777 9.09074 0.72666 9.09342H5.97925V14.2837C5.97925 14.4737 6.05471 14.6559 6.18904 14.7902C6.32336 14.9245 6.50555 15 6.69551 15H8.36679C8.55773 15 8.741 14.9249 8.87698 14.7909C9.01295 14.6568 9.09071 14.4746 9.09344 14.2837V9.09342H14.2837C14.4747 9.0907 14.6568 9.01294 14.7909 8.87696C14.9249 8.74098 15 8.55771 15 8.36678V6.6955C15 6.60144 14.9815 6.5083 14.9455 6.4214C14.9095 6.3345 14.8567 6.25554 14.7902 6.18903C14.7237 6.12251 14.6448 6.06975 14.5578 6.03376C14.4709 5.99776 14.3778 5.97924 14.2837 5.97924V5.97924Z" fill="currentColor"/> 4913 </svg> 4914 </button> 4915</div> 4916 4917 </div> 4918 </div> 4919 4920 4921 <div class="w-full js-selling-plan-group"> 4922 4923 4924 <label for="selling-plan-6869823127629" class="sr-only">Plan options</label> 4925 <select id="selling-plan-6869823127629" 4926 class="hidden" 4927 name="selling_plan" 4928 data-name="selling_plan" 4929 data-form="product-card--6869823127629" 4930 > 4931 4932 4933 4934 <option value="3198451789" > 4935 1 week 4936 </option> 4937 4938 4939 <option value="3198320717" > 4940 2 weeks 4941 </option> 4942 4943 4944 <option value="3198091341" > 4945 3 weeks 4946 </option> 4947 4948 4949 <option value="3198124109" > 4950 4 weeks 4951 </option> 4952 4953 4954 <option value="3198156877" > 4955 6 weeks 4956 </option> 4957 4958 4959 <option value="3198419021" > 4960 8 weeks 4961 </option></select> 4962 4963 4964<!-- snippets/custom-selling-plan-select --><div class="relative js-custom-select-container my-3 max-w-full "> 4965 <button id="selling-plan-6869823127629-btn" 4966 type="button" 4967 data-trigger="select-selling-plan-6869823127629" 4968 name="trigger-select" 4969 class="js-custom-select-trigger custom-select--trigger 4970 flex justify-between items-center 4971 bg-white rounded-full border border-black 4972 py-3 px-4"> 4973 <div class=" mr-12 flex"> 4974
4975 <span class="opacity-60 text-black mr-3 font-founders-grotesk-semibold">Delivery</span> 4976 4977 <span class="js-select-trigger-text 4978 text-black text-left text-ellipsis whitespace-nowrap overflow-hidden block font-founders-grotesk-semibold 4979 w-40 "> 4980 every 1 week 4981 </span> 4982 </div> 4983 <div> 4984 <!-- snippets/icon (expand) [aa/ja] --> 4985 4986 4987<svg 4988 class=" 4989 icon icon-expand 4990" 4991 width="10" 4992 height="6" 4993 viewBox="0 0 10 6" 4994 fill="none" 4995 xmlns="http://www.w3.org/2000/svg"> 4996 <path d="M9 1L5 5L0.999996 1" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 4997 </svg> 4998 </div> 4999 </button> 5000 5001 <ul class="js-custom-select-options custom-select--options 5002 absolute hidden z-10 w-full 5003 flex flex-col items-start justify-center 5004 bg-white rounded-2xl list-none my-3 border border-black rounded-2xl" 5005 role="region" 5006 data-trigger="select-selling-plan-6869823127629" 5007 aria-labelledby="selling-plan-6869823127629-btn"> 5008 5009 <li class="w-full"> 5010 <button type="button" 5011 name="selling-plan-6869823127629" 5012 data-target="selling-plan-6869823127629" 5013 data-option="Delivery" 5014 data-value="3198451789" 5015 class="js-option-select custom-select--option font-founders-grotesk-regular 5016 py-3 px-4 w-full text-lg text-left leading-none 5017 active "> 5018 every 1 week 5019 </button> 5020 </li> 5021 5022 <li class="w-full"> 5023 <button type="button" 5024 name="selling-plan-6869823127629" 5025 data-target="selling-plan-6869823127629" 5026 data-option="Delivery" 5027 data-value="3198320717" 5028 class="js-option-select custom-select--option font-founders-grotesk-regular 5029 py-3 px-4 w-full text-lg text-left leading-none 5030 "> 5031 every 2 weeks 5032 </button> 5033 </li> 5034 5035 <li class="w-full"> 5036 <button type="button" 5037 name="selling-plan-6869823127629" 5038 data-target="selling-plan-6869823127629" 5039 data-option="Delivery" 5040 data-value="3198091341" 5041 class="js-option-select custom-select--option font-founders-grotesk-regular 5042 py-3 px-4 w-full text-lg text-left leading-none 5043 "> 5044 every 3 weeks 5045 </button> 5046 </li> 5047 5048 <li class="w-full"> 5049 <button type="button" 5050 name="selling-plan-6869823127629" 5051 data-target="selling-plan-6869823127629" 5052 data-option="Delivery" 5053 data-value="3198124109" 5054 class="js-option-select custom-select--option font-founders-grotesk-regular 5055 py-3 px-4 w-full text-lg text-left leading-none 5056 "> 5057 every 4 weeks 5058 </button> 5059 </li> 5060 5061 <li class="w-full"> 5062 <button type="button" 5063 name="selling-plan-6869823127629" 5064 data-target="selling-plan-6869823127629" 5065 data-option="Delivery" 5066 data-value="3198156877" 5067 class="js-option-select custom-select--option font-founders-grotesk-regular 5068 py-3 px-4 w-full text-lg text-left leading-none 5069 "> 5070 every 6 weeks 5071 </button> 5072 </li> 5073 5074 <li class="w-full"> 5075 <button type="button" 5076 name="selling-plan-6869823127629" 5077 data-target="selling-plan-6869823127629" 5078 data-option="Delivery" 5079 data-value="3198419021" 5080 class="js-option-select custom-select--option font-founders-grotesk-regular 5081 py-3 px-4 w-full text-lg text-left leading-none 5082 "> 5083 every 8 weeks 5084 </button> 5085 </li></ul> 5086 5087</div> 5088 5089</div> 5090 </div> 5091 5092 </div> 5093
5094 <div class="custom-checkbox pdp-custom-checkbox py-5 border-b border-t border-black w-full"> 5095 <div class="checkbox-wrapper"> 5096 <input id="delivery--one-time" type="radio" name="delivery_option_pdp" class="pdp-custom-checkbox__onetime" value="one-time" /> 5097 </div> 5098 <label for="delivery--one-time" class="font-acorn-semibold text-base">One-Time Purchase</label> 5099 </div> 5100 5101 <div class="w-full js-one-time-group hidden relative z-10 lg:w-full mr-auto animate animate-fadeInUp border-b border-black pb-8"> 5102 <div class="ot__prod-var-select"> 5103 </div> 5104 <div class="ot__quantity-box mt-5"> 5105 </div> 5106 </div> 5107 </div><div class="flex justify-start w-full animate animate-fadeInUp -z-1"> 5108 5109 <button type="submit" 5110 name="submit" 5111 class="js-product-form-atc font-medium 5112 btn btn-secondary mt-3 w-full z-1" 5113 > 5114 5115 Add to Cart 5116 </button> 5117 </div> 5118 5119 5120 5121
5121<script> 5122 document.addEventListener("DOMContentLoaded", function() { 5123 if(document.querySelector('.js-selling-plan-div') && document.querySelector('.sub__prod-var-select > div')){ 5124 5125 document.querySelector('[name="selling_plan"]').disabled = true; 5126 5127 document.querySelectorAll('.pdp-custom-checkbox__onetime').forEach(function(el) { 5128 el.click(); 5129 }); 5130 5131 // Show one-time group 5132 document.querySelector('.js-selling-plan-div').style.display = "block"; 5133 5134 // Hide subscription group 5135 document.querySelector('.js-selling-plan-div').style.display = "none"; 5136 5137 5138 // Move variant select 5139 var subVar = document.querySelector('.sub__prod-var-select > div'); 5140 var otVar = document.querySelector('.ot__prod-var-select'); 5141 otVar.appendChild(subVar); 5142 5143 5144 // Move quantity box 5145 var subQty = document.querySelector('.sub__quantity-box > div'); 5146 var otQty = document.querySelector('.ot__quantity-box'); 5147 otQty.appendChild(subQty); 5148 5149 document.querySelector('.js-one-time-group').style.display = 'block'; 5150 } 5151 5152 }); 5153 </script>
5153 5154 5155 5156 5157 5158 <div class="mb-7 pt-5 lg:pt-7"></div> 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 <p class="font-founders-grotesk-semibold text-3xl animate animate-fadeInUp">Behind The Cup</p> 5173 <div class="rte text-base mt-2 lg:mt-5 font-freight-sans tracking-wider animate animate-fadeInUp"><p><meta charset="utf-8"><span>Youâve got a package waiting at the front desk: our new Office Subscription! These five-pound bags of whole-bean coffee are guaranteed to brighten the breakroom. Select your favorite whole-bean coffee and choose the delivery cadence thatâs right for you.</span></p> 5174<p><span>Want us to decide for you? The Roaster's Choice selection changes every four weeks, ensuring no one gets bored with the office coffee.</span></p></div> 5175 5176 5177 5178 <!-- Rotating Coffee Details for 2 Bag subscription Product --> 5179
5180<script type="application/json" class="js-product-script"> 5181 {"id":6869823127629,"title":"Office Coffee Subscription","handle":"office-coffee-subscription","description":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eYouâve got a package waiting at the front desk: our new Office Subscription! These five-pound bags of whole-bean coffee are guaranteed to brighten the breakroom. Select your favorite whole-bean coffee and choose the delivery cadence thatâs right for you.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eWant us to decide for you? The Roaster's Choice selection changes every four weeks, ensuring no one gets bored with the office coffee.\u003c\/span\u003e\u003c\/p\u003e","published_at":"2023-05-16T10:53:12-04:00","created_at":"2023-05-15T13:09:38-04:00","vendor":"Counter Culture Coffee","type":"Coffee","tags":["bestseller","coffee","subscription","year-round"],"price":9900,"price_min":9900,"price_max":10300,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":40095425560653,"title":"Big Trouble","option1":"Big Trouble","option2":null,"option3":null,"sku":"E27-5R","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Office Coffee Subscription - Big Trouble","public_title":"Big Trouble","options":["Big Trouble"],"price":9900,"weight":2268,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198451789,"selling_plan_group_id":"895b8061ee33a813c46947c701a0e8856d922445"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198320717,"selling_plan_group_id":"38b01c51509e754903da1efa708230785b53e9c2"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198091341,"selling_plan_group_id":"553d5ea78352838f393a78c69675273ec268538a"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198124109,"selling_plan_group_id":"d41f25f2d0e08ae28aee5dfbeab65cef5ea154c9"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198156877,"selling_plan_group_id":"86c845fb2ea5149add84acd0206e3e5b181ba040"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198419021,"selling_plan_group_id":"a9a6a477e85d4e158fc82f99a23d77c9bc103b3a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40095425527885,"title":"Apollo","option1":"Apollo","option2":null,"option3":null,"sku":"E24-5R","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Office Coffee Subscription - Apollo","public_title":"Apollo","options":["Apollo"],"price":10300,"weight":2268,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198451789,"selling_plan_group_id":"895b8061ee33a813c46947c701a0e8856d922445"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198320717,"selling_plan_group_id":"38b01c51509e754903da1efa708230785b53e9c2"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198091341,"selling_plan_group_id":"553d5ea78352838f393a78c69675273ec268538a"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198124109,"selling_plan_group_id":"d41f25f2d0e08ae28aee5dfbeab65cef5ea154c9"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198156877,"selling_plan_group_id":"86c845fb2ea5149add84acd0206e3e5b181ba040"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198419021,"selling_plan_group_id":"a9a6a477e85d4e158fc82f99a23d77c9bc103b3a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40095425593421,"title":"Fast Forward","option1":"Fast Forward","option2":null,"option3":null,"sku":"OR1-5R","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Office Coffee Subscription - Fast Forward","public_title":"Fast Forward","options":["Fast Forward"],"price":9900,"weight":2268,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198451789,"selling_plan_group_id":"895b8061ee33a813c46947c701a0e8856d922445"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198320717,"selling_plan_group_id":"38b01c51509e754903da1efa708230785b53e9c2"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198091341,"selling_plan_group_id":"553d5ea78352838f393a78c69675273ec268538a"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198124109,"selling_plan_group_id":"d41f25f2d0e08ae28aee5dfbeab65cef5ea154c9"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198156877,"selling_plan_group_id":"86c845fb2ea5149add84acd0206e3e5b181ba040"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198419021,"selling_plan_group_id":"a9a6a477e85d4e158fc82f99a23d77c9bc103b3a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40095425626189,"title":"Forty-Six","option1":"Forty-Six","option2":null,"option3":null,"sku":"R46-5R","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Office Coffee Subscription - Forty-Six","public_title":"Forty-Six","options":["Forty-Six"],"price":10300,"weight":2268,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198451789,"selling_plan_group_id":"895b8061ee33a813c46947c701a0e8856d922445"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198320717,"selling_plan_group_id":"38b01c51509e754903da1efa708230785b53e9c2"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198091341,"selling_plan_group_id":"553d5ea78352838f393a78c69675273ec268538a"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198124109,"selling_plan_group_id":"d41f25f2d0e08ae28aee5dfbeab65cef5ea154c9"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198156877,"selling_plan_group_id":"86c845fb2ea5149add84acd0206e3e5b181ba040"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198419021,"selling_plan_group_id":"a9a6a477e85d4e158fc82f99a23d77c9bc103b3a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40095425658957,"title":"Gradient","option1":"Gradient","option2":null,"option3":null,"sku":"GRADIENT-5R","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Office Coffee Subscription - Gradient","public_title":"Gradient","options":["Gradient"],"price":10300,"weight":2268,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198451789,"selling_plan_group_id":"895b8061ee33a813c46947c701a0e8856d922445"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198320717,"selling_plan_group_id":"38b01c51509e754903da1efa708230785b53e9c2"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198091341,"selling_plan_group_id":"553d5ea78352838f393a78c69675273ec268538a"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198124109,"selling_plan_group_id":"d41f25f2d0e08ae28aee5dfbeab65cef5ea154c9"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198156877,"selling_plan_group_id":"86c845fb2ea5149add84acd0206e3e5b181ba040"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198419021,"selling_plan_group_id":"a9a6a477e85d4e158fc82f99a23d77c9bc103b3a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40095425691725,"title":"Hologram","option1":"Hologram","option2":null,"option3":null,"sku":"OE1-5R","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Office Coffee Subscription - Hologram","public_title":"Hologram","options":["Hologram"],"price":10300,"weight":2268,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198451789,"selling_plan_group_id":"895b8061ee33a813c46947c701a0e8856d922445"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198320717,"selling_plan_group_id":"38b01c51509e754903da1efa708230785b53e9c2"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198091341,"selling_plan_group_id":"553d5ea78352838f393a78c69675273ec268538a"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198124109,"selling_plan_group_id":"d41f25f2d0e08ae28aee5dfbeab65cef5ea154c9"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198156877,"selling_plan_group_id":"86c845fb2ea5149add84acd0206e3e5b181ba040"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198419021,"selling_plan_group_id":"a9a6a477e85d4e158fc82f99a23d77c9bc103b3a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40095425724493,"title":"Slow Motion","option1":"Slow Motion","option2":null,"option3":null,"sku":"D11-5R","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Office Coffee Subscription - Slow Motion","public_title":"Slow Motion","options":["Slow Motion"],"price":10300,"weight":2268,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198451789,"selling_plan_group_id":"895b8061ee33a813c46947c701a0e8856d922445"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198320717,"selling_plan_group_id":"38b01c51509e754903da1efa708230785b53e9c2"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198091341,"selling_plan_group_id":"553d5ea78352838f393a78c69675273ec268538a"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198124109,"selling_plan_group_id":"d41f25f2d0e08ae28aee5dfbeab65cef5ea154c9"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198156877,"selling_plan_group_id":"86c845fb2ea5149add84acd0206e3e5b181ba040"},{"price_adjustments":[{"position":1,"price":9213}],"price":9213,"compare_at_price":10300,"per_delivery_price":9213,"selling_plan_id":3198419021,"selling_plan_group_id":"a9a6a477e85d4e158fc82f99a23d77c9bc103b3a"}],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":40134742704205,"title":"Roaster's Choice","option1":"Roaster's Choice","option2":null,"option3":null,"sku":"YRS-5R","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Office Coffee Subscription - Roaster's Choice","public_title":"Roaster's Choice","options":["Roaster's Choice"],"price":9900,"weight":2268,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198451789,"selling_plan_group_id":"895b8061ee33a813c46947c701a0e8856d922445"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198320717,"selling_plan_group_id":"38b01c51509e754903da1efa708230785b53e9c2"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198091341,"selling_plan_group_id":"553d5ea78352838f393a78c69675273ec268538a"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198124109,"selling_plan_group_id":"d41f25f2d0e08ae28aee5dfbeab65cef5ea154c9"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198156877,"selling_plan_group_id":"86c845fb2ea5149add84acd0206e3e5b181ba040"},{"price_adjustments":[{"position":1,"price":8856}],"price":8856,"compare_at_price":9900,"per_delivery_price":8856,"selling_plan_id":3198419021,"selling_plan_group_id":"a9a6a477e85d4e158fc82f99a23d77c9bc103b3a"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985","\/\/counterculturecoffee.com\/cdn\/shop\/files\/5lb_Hologram_ecom_2020.gif?v=1720189208","\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442.jpg?v=1730830860","\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd.jpg?v=1730830863","\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670.jpg?v=1730830865","\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4.jpg?v=1730830867","\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a.jpg?v=1730830869","\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2.jpg?v=1730830871","\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4782-EditSM1.jpg?v=1730830957"],"featured_image":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985","op
5181tions":["Blend"],"media":[{"alt":null,"id":24432458760269,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy.gif?v=1730830985","width":1000},{"alt":null,"id":22452231405645,"position":2,"preview_image":{"aspect_ratio":0.826,"height":726,"width":600,"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/5lb_Hologram_ecom_2020.gif?v=1720189208"},"aspect_ratio":0.826,"height":726,"media_type":"image","src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/5lb_Hologram_ecom_2020.gif?v=1720189208","width":600},{"alt":null,"id":24432444735565,"position":3,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442.jpg?v=1730830860"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4624-Edit_85ae5484-c0fa-4ea6-b8d0-15309c1d0442.jpg?v=1730830860","width":2048},{"alt":null,"id":24432444801101,"position":4,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd.jpg?v=1730830863"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4751-Editapollo1_556ee171-44de-4786-b998-c55562018bdd.jpg?v=1730830863","width":2048},{"alt":null,"id":24432444833869,"position":5,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670.jpg?v=1730830865"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4922-EditFF1_10e3888d-ecfa-48f5-afa3-265e7d0ea670.jpg?v=1730830865","width":2048},{"alt":null,"id":24432445030477,"position":6,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4.jpg?v=1730830867"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4904-EditFS1_0e8bebee-6142-41cf-9a8d-5ced17c5e1d4.jpg?v=1730830867","width":2048},{"alt":null,"id":24432445554765,"position":7,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a.jpg?v=1730830869"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4856-EditGR1_96a1b8c4-3e9c-456d-ad1d-82650588df7a.jpg?v=1730830869","width":2048},{"alt":null,"id":24432445653069,"position":8,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2.jpg?v=1730830871"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4664-EditHOL1_1a6d7794-6697-45e7-8c4c-55b1fdae61f2.jpg?v=1730830871","width":2048},{"alt":null,"id":24432453615693,"position":9,"preview_image":{"aspect_ratio":1.0,"height":2048,"width":2048,"src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4782-EditSM1.jpg?v=1730830957"},"aspect_ratio":1.0,"height":2048,"media_type":"image","src":"\/\/counterculturecoffee.com\/cdn\/shop\/files\/forweb-4782-EditSM1.jpg?v=1730830957","width":2048}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"895b8061ee33a813c46947c701a0e8856d922445","name":"Delivery every 1 week","options":[{"name":"Recharge Plan ID","position":1,"values":["9769250"]},{"name":"Order Frequency and Unit","position":2,"values":["1-week"]}],"selling_plans":[{"id":3198451789,"name":"Delivery every 1 week","description":null,"options":[{"name":"Recharge Plan ID","position":1,"value":"9769250"},{"name":"Order Frequency and Unit","position":2,"value":"1-week"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":"10.55"}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"},{"id":"38b01c51509e754903da1efa708230785b53e9c2","name":"Delivery every 2 weeks","options":[{"name":"Recharge Plan ID","position":1,"values":["9769251"]},{"name":"Order Frequency and Unit","position":2,"values":["2-week"]}],"selling_plans":[{"id":3198320717,"name":"Delivery every 2 weeks","description":null,"options":[{"name":"Recharge Plan ID","position":1,"value":"9769251"},{"name":"Order Frequency and Unit","position":2,"value":"2-week"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":"10.55"}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"},{"id":"553d5ea78352838f393a78c69675273ec268538a","name":"Delivery every 3 weeks","options":[{"name":"Recharge Plan ID","position":1,"values":["9769252"]},{"name":"Order Frequency and Unit","position":2,"values":["3-week"]}],"selling_plans":[{"id":3198091341,"name":"Delivery every 3 weeks","description":null,"options":[{"name":"Recharge Plan ID","position":1,"value":"9769252"},{"name":"Order Frequency and Unit","position":2,"value":"3-week"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":"10.55"}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"},{"id":"d41f25f2d0e08ae28aee5dfbeab65cef5ea154c9","name":"Delivery every 4 weeks","options":[{"name":"Recharge Plan ID","position":1,"values":["9769253"]},{"name":"Order Frequency and Unit","position":2,"values":["4-week"]}],"selling_plans":[{"id":3198124109,"name":"Delivery every 4 weeks","description":null,"options":[{"name":"Recharge Plan ID","position":1,"value":"9769253"},{"name":"Order Frequency and Unit","position":2,"value":"4-week"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":"10.55"}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"},{"id":"86c845fb2ea5149add84acd0206e3e5b181ba040","name":"Delivery every 6 weeks","options":[{"name":"Recharge Plan ID","position":1,"values":["9769254"]},{"name":"Order Frequency and Unit","position":2,"values":["6-week"]}],"selling_plans":[{"id":3198156877,"name":"Delivery every 6 weeks","description":null,"options":[{"name":"Recharge Plan ID","position":1,"value":"9769254"},{"name":"Order Frequency and Unit","position":2,"value":"6-week"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":"10.55"}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"},{"id":"a9a6a477e85d4e158fc82f99a23d77c9bc103b3a","name":"Delivery every 8 weeks","options":[{"name":"Recharge Plan ID","position":1,"values":["9769255"]},{"name":"Order Frequency and Unit","position":2,"values":["8-week"]}],"selling_plans":[{"id":3198419021,"name":"Delivery every 8 weeks","description":null,"options":[{"name":"Recharge Plan ID","position":1,"value":"9769255"},{"name":"Order Frequency and Unit","position":2,"value":"8-week"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":"10.55"}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"294517"}],"content":"\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eYouâve got a package waiting at the front desk: our new Office Subscription! These five-pound bags of whole-bean coffee are guaranteed to brighten the breakroom. Select your favorite whole-bean coffee and choose the delivery cadence thatâs right for you.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eWant us to decide for you? The Roaster's Choice selection changes every four weeks, ensuring no one gets bored with the office coffee.\u003c\/span\u003e\u003c\/p\u003e"} 5182 </script>
5182 5183<input type="hidden" name="product-id" value="6869823127629" /><input type="hidden" name="section-id" value="template--17967770599501__main" /></form> 5184 5185 </div> 5186 5187 <!-- snippets/product-testimonial-review --> 5188 5189 5190 5191 5192 <!-- snippets/product-testimonials [ja] --> 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204<!-- snippets/product-accordion [aa] --> 5205 5206<dl class="animate animate-fadeIn js-expandable-group"> 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224</dl> 5225 5226 5227 5228 5229</div> 5230 5231 5232</section> 5233 5234 5235<div id="my-reviews" class="border-t border-black z-1 px-5 py-5 lg:px-12 lg:py-10"> 5236 <div data-bv-show="reviews" data-bv-product-id="6869823127629"></div> 5237</div> 5238 5239 5240 5241<!-- Schema for Testimonials --> 5242
5243<script type="application/ld+json"> 5244{ 5245 "@context": "http://schema.org/", 5246 "@type": "Product", 5247 "@id" : "https://counterculturecoffee.com/products/office-coffee-subscription", 5248 "name": "Office Coffee Subscription", 5249 "url": "https:\/\/counterculturecoffee.com\/products\/office-coffee-subscription","image": [ 5250 "https:\/\/counterculturecoffee.com\/cdn\/shop\/files\/Sequence01copy_1000x.gif?v=1730830985" 5251 ],"description": "Youâve got a package waiting at the front desk: our new Office Subscription! These five-pound bags of whole-bean coffee are guaranteed to brighten the breakroom. Select your favorite whole-bean coffee and choose the delivery cadence thatâs right for you.\nWant us to decide for you? The Roaster's Choice selection changes every four weeks, ensuring no one gets bored with the office coffee.","brand": { 5252 "@type": "Thing", 5253 "name": "Counter Culture Coffee" 5254 }, 5255 "offers": [{ 5256 "@type" : "Offer","sku": "E27-5R","availability" : "http://schema.org/InStock", 5257 "price" : 99.0, 5258 "priceCurrency" : "USD", 5259 "url" : "https:\/\/counterculturecoffee.com\/products\/office-coffee-subscription?variant=40095425560653" 5260 }, 5261{ 5262 "@type" : "Offer","sku": "E24-5R","availability" : "http://schema.org/InStock", 5263 "price" : 103.0, 5264 "priceCurrency" : "USD", 5265 "url" : "https:\/\/counterculturecoffee.com\/products\/office-coffee-subscription?variant=40095425527885" 5266 }, 5267{ 5268 "@type" : "Offer","sku": "OR1-5R","availability" : "http://schema.org/InStock", 5269 "price" : 99.0, 5270 "priceCurrency" : "USD", 5271 "url" : "https:\/\/counterculturecoffee.com\/products\/office-coffee-subscription?variant=40095425593421" 5272 }, 5273{ 5274 "@type" : "Offer","sku": "R46-5R","availability" : "http://schema.org/InStock", 5275 "price" : 103.0, 5276 "priceCurrency" : "USD", 5277 "url" : "https:\/\/counterculturecoffee.com\/products\/office-coffee-subscription?variant=40095425626189" 5278 }, 5279{ 5280 "@type" : "Offer","sku": "GRADIENT-5R","availability" : "http://schema.org/InStock", 5281 "price" : 103.0, 5282 "priceCurrency" : "USD", 5283 "url" : "https:\/\/counterculturecoffee.com\/products\/office-coffee-subscription?variant=40095425658957" 5284 }, 5285{ 5286 "@type" : "Offer","sku": "OE1-5R","availability" : "http://schema.org/InStock", 5287 "price" : 103.0, 5288 "priceCurrency" : "USD", 5289 "url" : "https:\/\/counterculturecoffee.com\/products\/office-coffee-subscription?variant=40095425691725" 5290 }, 5291{ 5292 "@type" : "Offer","sku": "D11-5R","availability" : "http://schema.org/InStock", 5293 "price" : 103.0, 5294 "priceCurrency" : "USD", 5295 "url" : "https:\/\/counterculturecoffee.com\/products\/office-coffee-subscription?variant=40095425724493" 5296 }, 5297{ 5298 "@type" : "Offer","sku": "YRS-5R","availability" : "http://schema.org/InStock", 5299 "price" : 99.0, 5300 "priceCurrency" : "USD", 5301 "url" : "https:\/\/counterculturecoffee.com\/products\/office-coffee-subscription?variant=40134742704205" 5302 } 5303] 5304} 5305</script>
5305</div><div id="shopify-section-template--17967770599501__ac64184c-a734-403c-896d-fee766111689" class="shopify-section"><style> 5306 5307.main-page-banner-head-title{ 5308 font-size:30px 5309} 5310 5311 5312@media(min-width:767px){ 5313 .main-page-banner-head-title{ 5314 font-size:36px; 5315 } 5316} 5317 5318@media(min-width:1441px){ 5319 .main-page-banner-head-title{ 5320 font-size:42px; 5321 } 5322} 5323 5324 5325</style> 5326<!-- sections/image-plus-text [aa] --><section id="the-simple-breakdown" class="relative"><div class="absolute top-0 bottom-0 left-0 right-0 opacity-30" 5327 style="background-color: ;"></div><div class="px-5 lg:px-12 py-4 border border-black"> 5328 <!-- snippets/ct-heading --><h2 class="text-center font-semibold text-black font-acorn 5329 text-2xl lg:text-3xl 5330 animate animate-fadeInUp"> 5331 <p>The simple breakdown</p> 5332 </h2> 5333 </div><div class="grid md:grid-cols-2"> 5334 5335 <!-- snippets/image-half-block --><!-- order-1, order-2 --><div class="h-full relative border border-black order-0 md:order-none"> 5336 <div class="w-full h-full half-block-image flex items-center justify-start relative"> 5337 <!-- snippets/responsive-image [aa] --> 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 <img class="h-full w-full object-cover lazyload " 5354 data-class="LazyLoad" 5355 data-src=" 5356 5357 5358 5359 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_470x.png?v=1684356111 470w , 5360 5361 5362 5363 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_600x.png?v=1684356111 600w , 5364 5365 5366 5367 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_770x.png?v=1684356111 770w , 5368 5369 5370 5371 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_970x.png?v=1684356111 970w , 5372 5373 5374 5375 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_1060x.png?v=1684356111 1060w , 5376 5377 5378 5379 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_1280x.png?v=1684356111 1280w , 5380 5381 5382 5383 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_1512x.png?v=1684356111 1512w , 5384 5385 5386 5387 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_1728x.png?v=1684356111 1728w , 5388 5389 5390 5391 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_2048x.png?v=1684356111 2048w , 5392" 5393 data-srcset=" 5394 5395 5396 5397 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_470x.png?v=1684356111 470w , 5398 5399 5400 5401 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_600x.png?v=1684356111 600w , 5402 5403 5404 5405 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_770x.png?v=1684356111 770w , 5406 5407 5408 5409 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_970x.png?v=1684356111 970w , 5410 5411 5412 5413 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_1060x.png?v=1684356111 1060w , 5414 5415 5416 5417 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_1280x.png?v=1684356111 1280w , 5418 5419 5420 5421 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_1512x.png?v=1684356111 1512w , 5422 5423 5424 5425 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_1728x.png?v=1684356111 1728w , 5426 5427 5428 5429 //counterculturecoffee.com/cdn/shop/files/Screenshot_2023-05-17_at_4.41.25_PM_2048x.png?v=1684356111 2048w , 5430" 5431 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 5432 data-sizes="auto" 5433 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 5434 width="1600" 5435 height="900" 5436 loading="lazy" 5437 decoding="async" 5438 fetchpriority="low" 5439 alt="" 5440 data-optimumx="1.5" 5441 data-expand="-5"> 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451<style> 5452 @media (min-width: 768px) { 5453 .desktop_half_img { 5454 width: 50% !important; 5455 } 5456 } 5457</style> 5458 </div> 5459 </div> 5460 5461 5462 <!-- snippets/text-half-block --><!-- order-1, order-2 --> 5463<div id="" 5464 class="flex flex-col justify-center 5465 px-5 lg:px-12 py-12 5466 h-full 5467 border border-black 5468 relative 5469 order-1 md:order-none "> 5470 5471 5472 5473 5474 5475 5476 <div class="rte lg:w-10/12 animate animate-fadeInUp text-xl font-gopher 5477 "> 5478 <p>
5478A 5lb bag of coffee is equivalent to just over 6 1/2 12oz bags of coffee or roughly 165 8oz cups of coffee. </p> 5479 </div> 5480 5481 5482 5483<div class="lg:absolute lg:bottom-12 lg:right-12 animate animate-fadeIn"> 5484 <!-- icon_info --></div> 5485 5486</div> 5487 5488</div> 5489</section> 5490 5491 5492</div><div id="shopify-section-template--17967770599501__1646779723dbed25a1" class="shopify-section"><!-- sections/index--icon-banner [aa] --> 5493 5494 5495 5496<section class="py-8 px-0 md:px-12 5497 border-t border-b border-black 5498 " 5499 style="background: radial-gradient(rgba(236, 232, 223, 1), rgba(196, 196, 196, 0) 99.97%, rgba(196, 196, 196, 0) 99.98%);"> 5500 5501 <ul class="iff lg:grid lg:grid-cols-4 5502 gap-6 md:gap-12 w-full mx-auto 5503 flex 5504 flex-wrap justify-center px-5 " > 5505 5506 <li class="max-width-d-list w-fit lg:min-w-0 lg:w-full 5507grid grid-cols-3 items-center gap-6 5508 items-center animate animate-fadeIn" data-delay="1"> 5509 5510 <div class=" 5511 rounded-full relative 5512 5513 h-16 lg:h-20 w-16 lg:w-full col-span-1 5514 5515 " style="background: rgba(0,0,0,0);"> 5516 <!-- snippets/responsive-image [aa] --> 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 <img class="w-full h-full absolute top-0 left-0 lazyload " 5533 data-class="LazyLoad" 5534 data-src=" 5535 5536 5537 5538 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_470x.png?v=1653676651 470w , 5539 5540 5541 5542 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_600x.png?v=1653676651 600w , 5543 5544 5545 5546 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_770x.png?v=1653676651 770w , 5547 5548 5549 5550 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_970x.png?v=1653676651 970w , 5551 5552 5553 5554 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_1060x.png?v=1653676651 1060w , 5555 5556 5557 5558 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_1280x.png?v=1653676651 1280w , 5559 5560 5561 5562 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_1512x.png?v=1653676651 1512w , 5563 5564 5565 5566 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_1728x.png?v=1653676651 1728w , 5567 5568 5569 5570 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_2048x.png?v=1653676651 2048w , 5571" 5572 data-srcset=" 5573 5574 5575 5576 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_470x.png?v=1653676651 470w , 5577 5578 5579 5580 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_600x.png?v=1653676651 600w , 5581 5582 5583 5584 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_770x.png?v=1653676651 770w , 5585 5586 5587 5588 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_970x.png?v=1653676651 970w , 5589 5590 5591 5592 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_1060x.png?v=1653676651 1060w , 5593 5594 5595 5596 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_1280x.png?v=1653676651 1280w , 5597 5598 5599 5600 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_1512x.png?v=1653676651 1512w , 5601 5602 5603 5604 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_1728x.png?v=1653676651 1728w , 5605 5606 5607 5608 //counterculturecoffee.com/cdn/shop/files/Branch_Resized_59926de3-b330-4f2c-9896-e36feb17ad9b_2048x.png?v=1653676651 2048w , 5609" 5610 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 5611 data-sizes="auto" 5612 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100v
5612w, 1600px" 5613 width="1600" 5614 height="900" 5615 loading="lazy" 5616 decoding="async" 5617 fetchpriority="low" 5618 alt="" 5619 data-optimumx="1.5" 5620 data-expand="-5"> 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630<style> 5631 @media (min-width: 768px) { 5632 .desktop_half_img { 5633 width: 50% !important; 5634 } 5635 } 5636</style> 5637 </div><div class="flex flex-col justify-center col-span-2"> 5638 <p class="text-black font-freight-sans ">Sustainably-Sourced</p></div></li> 5639 5640 <li class="max-width-d-list w-fit lg:min-w-0 lg:w-full 5641grid grid-cols-3 items-center gap-6 5642 items-center animate animate-fadeIn" data-delay="2"> 5643 5644 <div class=" 5645 rounded-full relative 5646 5647 h-16 lg:h-20 w-16 lg:w-full col-span-1 5648 5649 " style="background: rgba(0,0,0,0);"> 5650 <!-- snippets/responsive-image [aa] --> 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 <img class="w-full h-full absolute top-0 left-0 lazyload " 5667 data-class="LazyLoad" 5668 data-src=" 5669 5670 5671 5672 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_470x.png?v=1653676651 470w , 5673 5674 5675 5676 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_600x.png?v=1653676651 600w , 5677 5678 5679 5680 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_770x.png?v=1653676651 770w , 5681 5682 5683 5684 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_970x.png?v=1653676651 970w , 5685 5686 5687 5688 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_1060x.png?v=1653676651 1060w , 5689 5690 5691 5692 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_1280x.png?v=1653676651 1280w , 5693 5694 5695 5696 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_1512x.png?v=1653676651 1512w , 5697 5698 5699 5700 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_1728x.png?v=1653676651 1728w , 5701 5702 5703 5704 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_2048x.png?v=1653676651 2048w , 5705" 5706 data-srcset=" 5707 5708 5709 5710 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_470x.png?v=1653676651 470w , 5711 5712 5713 5714 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_600x.png?v=1653676651 600w , 5715 5716 5717 5718 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_770x.png?v=1653676651 770w , 5719 5720 5721 5722 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_970x.png?v=1653676651 970w , 5723 5724 5725 5726 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_1060x.png?v=1653676651 1060w , 5727 5728 5729 5730 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_1280x.png?v=1653676651 1280w , 5731 5732 5733 5734 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_1512x.png?v=1653676651 1512w , 5735 5736 5737 5738 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_1728x.png?v=1653676651 1728w , 5739 5740 5741 5742 //counterculturecoffee.com/cdn/shop/files/Spoon_Resized_c0aefb3a-fd58-41ea-b20c-e5f2b3a257ce_2048x.png?v=1653676651 2048w , 5743" 5744 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 5745 data-sizes="auto" 5746 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 5747 width="1600" 5748 height="900" 5749 loading="lazy" 5750 decoding="async" 5751 fetchpriority="low" 5752 alt="" 5753 data-optimumx="1.5" 5754 data-expand="-5"> 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764<style> 5765 @media (min-width: 768px) { 5766 .desktop_half_img { 5767 width: 50% !important; 5768 } 5769 } 5770</style> 5771 </div><div class="flex flex-col justify-center col-span-2"> 5772 <p class="text-black font-freight-sans ">Quality-Focused</p></div></li> 5773 5774 <li class="max-width-d-list w-fit lg:min-w-0 lg:w-full 5775grid grid-cols-3 items-center gap-6 5776 items-center animate animate-fadeIn" data-delay="3"> 5777 5778 <div class=" 5779 rounded-full relative 5780 5781 h-16 lg:h-20 w-16 lg:w-full col-span-1 5782 5783 " style="background: rgba(0,0,0,0);"> 5784 <!-- snippets/responsive-image [aa] --> 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 <img class="w-full h-full absolute top-0 left-0 lazyload " 5801 data-class="LazyLoad" 5802 data-src=" 5803 5804 5805 5806 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_470x.png?v=1653676651 470w , 5807 5808 5809 5810 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_600x.png?v=1653676651 600w , 5811 5812 5813 5814 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_770x.png?v=1653676651 770w , 5815 5816 5817 5818 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_970x.png?v=1653676651 970w , 5819 5820 5821 5822 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_1060x.png?v=1653676651 1060w , 5823 5824 5825 5826 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_1280x.png?v=1653676651 1280w , 5827 5828 5829 5830 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_1512x.png?v=1653676651 1512w , 5831 5832 5833 5834 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_1728x.png?v=1653676651 1728w , 5835 5836 5837 5838 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_2048x.png?v=1653676651 2048w , 5839" 5840 data-srcset=" 5841 5842 5843 5844 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_470x.png?v=1653676651 470w , 5845 5846 5847 5848 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_600x.png?v=1653676651 600w , 5849 5850 5851 5852 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_770x.png?v=1653676651 770w , 5853 5854 5855 5856 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_970x.png?v=1653676651 970w , 5857 5858 5859 5860 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_1060x.png?v=1653676651 1060w , 5861 5862 5863 5864 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_1280x.png?v=1653676651 1280w , 5865 5866 5867 5868 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_1512x.png?v=1653676651 1512w , 5869 5870 5871 5872 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_1728x.png?v=1653676651 1728w , 5873 5874 5875 5876 //counterculturecoffee.com/cdn/shop/files/B_resized_e62100ef-2d53-44cf-868a-649779c01117_2048x.png?v=1653676651 2048w , 5877" 5878 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 5879 data-sizes="auto"
5880 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 5881 width="1600" 5882 height="900" 5883 loading="lazy" 5884 decoding="async" 5885 fetchpriority="low" 5886 alt="" 5887 data-optimumx="1.5" 5888 data-expand="-5"> 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898<style> 5899 @media (min-width: 768px) { 5900 .desktop_half_img { 5901 width: 50% !important; 5902 } 5903 } 5904</style> 5905 </div><div class="flex flex-col justify-center col-span-2"> 5906 <p class="text-black font-freight-sans ">B Corp Certified</p></div></li> 5907 5908 <li class="max-width-d-list w-fit lg:min-w-0 lg:w-full 5909grid grid-cols-3 items-center gap-6 5910 items-center animate animate-fadeIn" data-delay="4"> 5911 5912 <div class=" 5913 rounded-full relative 5914 5915 h-16 lg:h-20 w-16 lg:w-full col-span-1 5916 5917 " style="background: rgba(0,0,0,0);"> 5918 <!-- snippets/responsive-image [aa] --> 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 <img class="w-full h-full absolute top-0 left-0 lazyload " 5935 data-class="LazyLoad" 5936 data-src=" 5937 5938 5939 5940 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_470x.png?v=1653676651 470w , 5941 5942 5943 5944 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_600x.png?v=1653676651 600w , 5945 5946 5947 5948 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_770x.png?v=1653676651 770w , 5949 5950 5951 5952 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_970x.png?v=1653676651 970w , 5953 5954 5955 5956 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_1060x.png?v=1653676651 1060w , 5957 5958 5959 5960 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_1280x.png?v=1653676651 1280w , 5961 5962 5963 5964 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_1512x.png?v=1653676651 1512w , 5965 5966 5967 5968 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_1728x.png?v=1653676651 1728w , 5969 5970 5971 5972 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_2048x.png?v=1653676651 2048w , 5973" 5974 data-srcset=" 5975 5976 5977 5978 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_470x.png?v=1653676651 470w , 5979 5980 5981 5982 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_600x.png?v=1653676651 600w , 5983 5984 5985 5986 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_770x.png?v=1653676651 770w , 5987 5988 5989 5990 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_970x.png?v=1653676651 970w , 5991 5992 5993 5994 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_1060x.png?v=1653676651 1060w , 5995 5996 5997 5998 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_1280x.png?v=1653676651 1280w , 5999 6000 6001 6002 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_1512x.png?v=1653676651 1512w , 6003 6004 6005 6006 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_1728x.png?v=1653676651 1728w , 6007 6008 6009 6010 //counterculturecoffee.com/cdn/shop/files/Cherries_Resized_f27ec61f-d2ac-4317-ad7d-f159474aa90b_2048x.png?v=1653676651 2048w , 6011" 6012 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 6013 data-sizes="auto" 6014 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 6015 width="1600" 6016 height="900" 6017 loading="lazy" 6018 decoding="async" 6019 fetchpriority="low" 6020 alt="" 6021 data-optimumx="1.5" 6022 data-expand="-5"> 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032<style> 6033 @media (min-width: 768px) { 6034 .desktop_half_img { 6035 width: 50% !important; 6036 } 6037 } 6038</style> 6039 </div><div class="flex flex-col justify-center col-span-2"> 6040 <p class="text-black font-freight-sans ">Transparently Traded</p></div></li> 6041 6042 </ul> 6043</section> 6044 6045</div><div id="shopify-section-template--17967770599501__1650578154564aa45d" class="shopify-section"><!-- sections/icon-link-list --> 6046 6047 6048 6049 6050<section id="brew-guides" class=" border border-black"><div class="border-b border-black py-6"> 6051 <!-- snippets/ct-heading --><h2 class="text-center font-semibold text-black font-acorn 6052 text-4xl lg:text-4xl 6053 animate animate-fadeInUp"> 6054 <p>Brew Guides</p> 6055 </h2> 6056 </div><div style="background: radial-gradient(rgba(239, 235, 225, 1) 16%, rgba(255, 255, 255, 1) 100%);"> 6057 <ul class="px-0 py-10 flex justify-center js-slick pb-0" 6058 6059 data-slick='{ 6060 "dots": true, 6061 "arrows": false, 6062 "infinite": true, 6063 "speed": 300, 6064 "slidesToShow": 1, 6065 "slidesToScroll": 1, 6066 "mobileFirst": true, 6067 "centerMode": true, 6068 "centerPadding": "100px", 6069 "appendDots": "#brew-guides .js-slick-dots", 6070 "responsive": [ 6071 { 6072 "breakpoint": 539, 6073 "settings": { 6074 "slidesToShow": 3, 6075 "centerPadding": "80px" 6076 } 6077 }, 6078 { 6079 "breakpoint": 1279, 6080 "settings": { 6081 "slidesToShow": 5, 6082 "centerPadding": "60px" 6083 } 6084 } 6085 ] 6086 }'><!-- snippets/icon-link --><div class="mb-5 lg:mb-0 px-5"> 6087 <a href="/pages/quick-easy-pour-over" class="icon-link flex flex-col items-center relative text-center"><div class="w-32 h-32 md:w-40 lg:w-48 md:h-40 lg:h-48 relative mb-5 flex items-center justify-center"> 6088 <div class="w-32 h-32 md:w-40 lg:w-48 md:h-40 lg:h-48 absolute top-0 left-0 animate animate-fadeIn"> 6089 <!-- snippets/shape sunburst [aa] --><!-- sunburst --> 6090 <svg class="h-full w-full" width="64" height="62" viewBox="0 0 64 62" fill="none" xmlns="http://www.w3.org/2000/svg"> 6091 <path d="M36.1652 2.20853C39.0117 -1.9457 45.515 0.16814 45.3764 5.2011C45.3542 6.02121 45.532
60916.83438 45.8944 7.57032C46.2568 8.30626 46.7928 8.94283 47.4561 9.42499C48.1195 9.90715 48.8902 10.2204 49.7017 10.3377C50.5131 10.4549 51.3409 10.3727 52.1135 10.098C56.8551 8.41131 60.8761 13.9476 57.8066 17.9386C57.3062 18.5889 56.9717 19.3515 56.832 20.1603C56.6923 20.9691 56.7517 21.7998 57.005 22.5805C57.2583 23.3612 57.6978 24.0684 58.2857 24.6409C58.8735 25.2134 59.5918 25.6339 60.3786 25.8661V25.8661C65.2071 27.289 65.2071 34.1311 60.3786 35.5566C59.5919 35.7885 58.8735 36.2087 58.2857 36.7809C57.6978 37.3531 57.2582 38.0601 57.0049 38.8406C56.7516 39.6211 56.6922 40.4517 56.8319 41.2603C56.9716 42.069 57.3062 42.8314 57.8066 43.4815C60.8761 47.4725 56.8551 53.0033 52.1135 51.322C51.3409 51.0467 50.5129 50.9639 49.7012 51.0809C48.8894 51.1979 48.1184 51.5111 47.4549 51.9934C46.7914 52.4757 46.2553 53.1125 45.8931 53.8488C45.5309 54.5851 45.3536 55.3986 45.3764 56.219V56.219C45.515 61.2519 39.0117 63.3685 36.1652 59.2115C35.7014 58.5348 35.08 57.9813 34.3545 57.5989C33.629 57.2165 32.8214 57.0167 32.0014 57.0167C31.1814 57.0167 30.3737 57.2165 29.6483 57.5989C28.9228 57.9813 28.3013 58.5348 27.8375 59.2115V59.2115C24.991 63.3685 18.4877 61.2519 18.6263 56.219C18.6491 55.3986 18.4718 54.5851 18.1096 53.8488C17.7474 53.1125 17.2114 52.4757 16.5478 51.9934C15.8843 51.5111 15.1133 51.1979 14.3015 51.0809C13.4898 50.9639 12.6618 51.0467 11.8892 51.322V51.322C7.14492 53.0087 3.12659 47.4725 6.19608 43.4815C6.69653 42.8312 7.03099 42.0686 7.17052 41.2598C7.31006 40.451 7.25044 39.6204 6.99685 38.8398C6.74326 38.0592 6.30335 37.3523 5.71519 36.7802C5.12702 36.2081 4.40835 35.7881 3.62141 35.5566V35.5566C-1.20714 34.1311 -1.20714 27.289 3.62141 25.8661C4.4084 25.6342 5.12703 25.2139 5.71515 24.6416C6.30328 24.0692 6.74315 23.3621 6.99672 22.5814C7.25028 21.8006 7.3099 20.9698 7.17039 20.1609C7.03088 19.3519 6.69647 18.5891 6.19608 17.9386V17.9386C3.12659 13.9476 7.14492 8.41675 11.8892 10.098C12.6618 10.3727 13.4896 10.4549 14.301 10.3377C15.1125 10.2204 15.8832 9.90715 16.5466 9.42499C17.2099 8.94283 17.746 8.30626 18.1083 7.57032C18.4707 6.83438 18.6485 6.02121 18.6263 5.2011C18.4877 0.165419 24.991 -1.94842 27.8375 2.20853C28.3009 2.88577 28.9222 3.43979 29.6478 3.82261C30.3733 4.20542 31.1812 4.4055 32.0014 4.4055C32.8216 4.4055 33.6294 4.20542 34.3549 3.82261C35.0805 3.43979 35.7018 2.88577 36.1652 2.20853Z" fill="#34beae"/> 6092 </svg> 6093 </div> 6094 <div class="w-24 h-24 md:w-32 md:h-32 lg:w-40 lg:h-40 relative z-1 animate animate-fadeInUp"> 6095 <!-- snippets/responsive-image [aa] --> 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 <img class="h-full w-full object-contain lazyload " 6112 data-class="LazyLoad" 6113 data-src=" 6114 6115 6116 6117 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_470x.png?v=1672775101 470w , 6118 6119 6120 6121 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_600x.png?v=1672775101 600w , 6122 6123 6124 6125 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_770x.png?v=1672775101 770w , 6126 6127 6128 6129 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_970x.png?v=1672775101 970w , 6130 6131 6132 6133 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_1060x.png?v=1672775101 1060w , 6134 6135 6136 6137 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_1280x.png?v=1672775101 1280w , 6138 6139 6140 6141 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_1512x.png?v=1672775101 1512w , 6142 6143 6144 6145 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_1728x.png?v=1672775101 1728w , 6146 6147 6148 6149 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_2048x.png?v=1672775101 2048w , 6150" 6151 data-srcset=" 6152 6153 6154 6155 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_470x.png?v=1672775101 470w , 6156 6157 6158 6159 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_600x.png?v=1672775101 600w , 6160 6161 6162 6163 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_770x.png?v=1672775101 770w , 6164 6165 6166 6167 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_970x.png?v=1672775101 970w , 6168 6169 6170 6171 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_1060x.png?v=1672775101 1060w , 6172 6173 6174 6175 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_1280x.png?v=1672775101 1280w , 6176 6177 6178 6179 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_1512x.png?v=1672775101 1512w , 6180 6181 6182 6183 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_1728x.png?v=1672775101 1728w , 6184 6185 6186 6187 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Outline-Individual_Katilawave_edit_c49307a2-9c4b-4d11-aab9-f1e5076b4676_2048x.png?v=1672775101 2048w , 6188" 6189 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 6190 data-sizes="auto"
6191 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 6192 width="1600" 6193 height="900" 6194 loading="lazy" 6195 decoding="async" 6196 fetchpriority="low" 6197 alt="" 6198 data-optimumx="1.5" 6199 data-expand="-5"> 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209<style> 6210 @media (min-width: 768px) { 6211 .desktop_half_img { 6212 width: 50% !important; 6213 } 6214 } 6215</style> 6216 </div> 6217 </div><span class="font-freight-sans tracking-wider text-lg">Kalita Wave</span></a> 6218</div> 6219 6220<!-- snippets/icon-link --><div class="mb-5 lg:mb-0 px-5"> 6221 <a href="/pages/quick-easy-french-press" class="icon-link flex flex-col items-center relative text-center"><div class="w-32 h-32 md:w-40 lg:w-48 md:h-40 lg:h-48 relative mb-5 flex items-center justify-center"> 6222 <div class="w-32 h-32 md:w-40 lg:w-48 md:h-40 lg:h-48 absolute top-0 left-0 animate animate-fadeIn"> 6223 <!-- snippets/shape sunburst [aa] --><!-- sunburst --> 6224 <svg class="h-full w-full" width="64" height="62" viewBox="0 0 64 62" fill="none" xmlns="http://www.w3.org/2000/svg"> 6225 <path d="M36.1652 2.20853C39.0117 -1.9457 45.515 0.16814 45.3764 5.2011C45.3542 6.02121 45.532 6.83438 45.8944 7.57032C46.2568 8.30626 46.7928 8.94283 47.4561 9.42499C48.1195 9.90715 48.8902 10.2204 49.7017 10.3377C50.5131 10.4549 51.3409 10.3727 52.1135 10.098C56.8551 8.41131 60.8761 13.9476 57.8066 17.9386C57.3062 18.5889 56.9717 19.3515 56.832 20.1603C56.6923 20.9
6225691 56.7517 21.7998 57.005 22.5805C57.2583 23.3612 57.6978 24.0684 58.2857 24.6409C58.8735 25.2134 59.5918 25.6339 60.3786 25.8661V25.8661C65.2071 27.289 65.2071 34.1311 60.3786 35.5566C59.5919 35.7885 58.8735 36.2087 58.2857 36.7809C57.6978 37.3531 57.2582 38.0601 57.0049 38.8406C56.7516 39.6211 56.6922 40.4517 56.8319 41.2603C56.9716 42.069 57.3062 42.8314 57.8066 43.4815C60.8761 47.4725 56.8551 53.0033 52.1135 51.322C51.3409 51.0467 50.5129 50.9639 49.7012 51.0809C48.8894 51.1979 48.1184 51.5111 47.4549 51.9934C46.7914 52.4757 46.2553 53.1125 45.8931 53.8488C45.5309 54.5851 45.3536 55.3986 45.3764 56.219V56.219C45.515 61.2519 39.0117 63.3685 36.1652 59.2115C35.7014 58.5348 35.08 57.9813 34.3545 57.5989C33.629 57.2165 32.8214 57.0167 32.0014 57.0167C31.1814 57.0167 30.3737 57.2165 29.6483 57.5989C28.9228 57.9813 28.3013 58.5348 27.8375 59.2115V59.2115C24.991 63.3685 18.4877 61.2519 18.6263 56.219C18.6491 55.3986 18.4718 54.5851 18.1096 53.8488C17.7474 53.1125 17.2114 52.4757 16.5478 51.9934C15.8843 51.5111 15.1133 51.1979 14.3015 51.0809C13.4898 50.9639 12.6618 51.0467 11.8892 51.322V51.322C7.14492 53.0087 3.12659 47.4725 6.19608 43.4815C6.69653 42.8312 7.03099 42.0686 7.17052 41.2598C7.31006 40.451 7.25044 39.6204 6.99685 38.8398C6.74326 38.0592 6.30335 37.3523 5.71519 36.7802C5.12702 36.2081 4.40835 35.7881 3.62141 35.5566V35.5566C-1.20714 34.1311 -1.20714 27.289 3.62141 25.8661C4.4084 25.6342 5.12703 25.2139 5.71515 24.6416C6.30328 24.0692 6.74315 23.3621 6.99672 22.5814C7.25028 21.8006 7.3099 20.9698 7.17039 20.1609C7.03088 19.3519 6.69647 18.5891 6.19608 17.9386V17.9386C3.12659 13.9476 7.14492 8.41675 11.8892 10.098C12.6618 10.3727 13.4896 10.4549 14.301 10.3377C15.1125 10.2204 15.8832 9.90715 16.5466 9.42499C17.2099 8.94283 17.746 8.30626 18.1083 7.57032C18.4707 6.83438 18.6485 6.02121 18.6263 5.2011C18.4877 0.165419 24.991 -1.94842 27.8375 2.20853C28.3009 2.88577 28.9222 3.43979 29.6478 3.82261C30.3733 4.20542 31.1812 4.4055 32.0014 4.4055C32.8216 4.4055 33.6294 4.20542 34.3549 3.82261C35.0805 3.43979 35.7018 2.88577 36.1652 2.20853Z" fill="#fdbf69"/> 6226 </svg> 6227 </div> 6228 <div class="w-24 h-24 md:w-32 md:h-32 lg:w-40 lg:h-40 relative z-1 animate animate-fadeInUp"> 6229 <!-- snippets/responsive-image [aa] --> 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 <img class="h-full w-full object-contain lazyload " 6246 data-class="LazyLoad" 6247 data-src=" 6248 6249 6250 6251 //counterculturecoffee.com/cdn/shop/files/Frame_470x.png?v=1650577682 470w , 6252 6253 6254 6255 //counterculturecoffee.com/cdn/shop/files/Frame_600x.png?v=1650577682 600w , 6256 6257 6258 6259 //counterculturecoffee.com/cdn/shop/files/Frame_770x.png?v=1650577682 770w , 6260 6261 6262 6263 //counterculturecoffee.com/cdn/shop/files/Frame_970x.png?v=1650577682 970w , 6264 6265 6266 6267 //counterculturecoffee.com/cdn/shop/files/Frame_1060x.png?v=1650577682 1060w , 6268 6269 6270 6271 //counterculturecoffee.com/cdn/shop/files/Frame_1280x.png?v=1650577682 1280w , 6272 6273 6274 6275 //counterculturecoffee.com/cdn/shop/files/Frame_1512x.png?v=1650577682 1512w , 6276 6277 6278 6279 //counterculturecoffee.com/cdn/shop/files/Frame_1728x.png?v=1650577682 1728w , 6280 6281 6282 6283 //counterculturecoffee.com/cdn/shop/files/Frame_2048x.png?v=1650577682 2048w , 6284" 6285 data-srcset=" 6286 6287 6288 6289 //counterculturecoffee.com/cdn/shop/files/Frame_470x.png?v=1650577682 470w , 6290 6291 6292 6293 //counterculturecoffee.com/cdn/shop/files/Frame_600x.png?v=1650577682 600w , 6294 6295 6296 6297 //counterculturecoffee.com/cdn/shop/files/Frame_770x.png?v=1650577682 770w , 6298 6299 6300 6301 //counterculturecoffee.com/cdn/shop/files/Frame_970x.png?v=1650577682 970w , 6302 6303 6304 6305 //counterculturecoffee.com/cdn/shop/files/Frame_1060x.png?v=1650577682 1060w , 6306 6307 6308 6309 //counterculturecoffee.com/cdn/shop/files/Frame_1280x.png?v=1650577682 1280w , 6310 6311 6312 6313 //counterculturecoffee.com/cdn/shop/files/Frame_1512x.png?v=1650577682 1512w , 6314 6315 6316 6317 //counterculturecoffee.com/cdn/shop/files/Frame_1728x.png?v=1650577682 1728w , 6318 6319 6320 6321 //counterculturecoffee.com/cdn/shop/files/Frame_2048x.png?v=1650577682 2048w , 6322" 6323 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 6324 data-sizes="auto"
6325 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 6326 width="1600" 6327 height="900" 6328 loading="lazy" 6329 decoding="async" 6330 fetchpriority="low" 6331 alt="" 6332 data-optimumx="1.5" 6333 data-expand="-5"> 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343<style> 6344 @media (min-width: 768px) { 6345 .desktop_half_img { 6346 width: 50% !important; 6347 } 6348 } 6349</style> 6350 </div> 6351 </div><span class="font-freight-sans tracking-wider text-lg">French Press</span></a> 6352</div> 6353 6354<!-- snippets/icon-link --><div class="mb-5 lg:mb-0 px-5"> 6355 <a href="/blogs/counter-culture-coffee/coffee-basics-brewing-methods" class="icon-link flex flex-col items-center relative text-center"><div class="w-32 h-32 md:w-40 lg:w-48 md:h-40 lg:h-48 relative mb-5 flex items-center justify-center"> 6356 <div class="w-32 h-32 md:w-40 lg:w-48 md:h-40 lg:h-48 absolute top-0 left-0 animate animate-fadeIn"> 6357 <!-- snippets/shape sunburst [aa] --><!-- sunburst --> 6358 <svg class="h-full w-full" width="64" height="62" viewBox="0 0 64 62" fill="none" xmlns="http://www.w3.org/2000/svg"> 6359 <path d="M36.1652 2.20853C39.0117 -1.9457 45.515 0.16814 45.3764 5.2011C45.3542 6.02121 45.532 6.83438 45.8944 7.57032C46.2568 8.30626 46.7928 8.94283 47.4561 9.42499C48.1195 9.90715 48.8902 10.2204 49.7017 10.3377C50.5131 10.4549 51.3409 10.3727 52.1135 10.098C56.8551 8.41131 60.8761 13.9476 57.8066 17.9386C57.3062 18.5889 56.9717 19.3515 56.832 20.1603C56.6923 20.9
6359691 56.7517 21.7998 57.005 22.5805C57.2583 23.3612 57.6978 24.0684 58.2857 24.6409C58.8735 25.2134 59.5918 25.6339 60.3786 25.8661V25.8661C65.2071 27.289 65.2071 34.1311 60.3786 35.5566C59.5919 35.7885 58.8735 36.2087 58.2857 36.7809C57.6978 37.3531 57.2582 38.0601 57.0049 38.8406C56.7516 39.6211 56.6922 40.4517 56.8319 41.2603C56.9716 42.069 57.3062 42.8314 57.8066 43.4815C60.8761 47.4725 56.8551 53.0033 52.1135 51.322C51.3409 51.0467 50.5129 50.9639 49.7012 51.0809C48.8894 51.1979 48.1184 51.5111 47.4549 51.9934C46.7914 52.4757 46.2553 53.1125 45.8931 53.8488C45.5309 54.5851 45.3536 55.3986 45.3764 56.219V56.219C45.515 61.2519 39.0117 63.3685 36.1652 59.2115C35.7014 58.5348 35.08 57.9813 34.3545 57.5989C33.629 57.2165 32.8214 57.0167 32.0014 57.0167C31.1814 57.0167 30.3737 57.2165 29.6483 57.5989C28.9228 57.9813 28.3013 58.5348 27.8375 59.2115V59.2115C24.991 63.3685 18.4877 61.2519 18.6263 56.219C18.6491 55.3986 18.4718 54.5851 18.1096 53.8488C17.7474 53.1125 17.2114 52.4757 16.5478 51.9934C15.8843 51.5111 15.1133 51.1979 14.3015 51.0809C13.4898 50.9639 12.6618 51.0467 11.8892 51.322V51.322C7.14492 53.0087 3.12659 47.4725 6.19608 43.4815C6.69653 42.8312 7.03099 42.0686 7.17052 41.2598C7.31006 40.451 7.25044 39.6204 6.99685 38.8398C6.74326 38.0592 6.30335 37.3523 5.71519 36.7802C5.12702 36.2081 4.40835 35.7881 3.62141 35.5566V35.5566C-1.20714 34.1311 -1.20714 27.289 3.62141 25.8661C4.4084 25.6342 5.12703 25.2139 5.71515 24.6416C6.30328 24.0692 6.74315 23.3621 6.99672 22.5814C7.25028 21.8006 7.3099 20.9698 7.17039 20.1609C7.03088 19.3519 6.69647 18.5891 6.19608 17.9386V17.9386C3.12659 13.9476 7.14492 8.41675 11.8892 10.098C12.6618 10.3727 13.4896 10.4549 14.301 10.3377C15.1125 10.2204 15.8832 9.90715 16.5466 9.42499C17.2099 8.94283 17.746 8.30626 18.1083 7.57032C18.4707 6.83438 18.6485 6.02121 18.6263 5.2011C18.4877 0.165419 24.991 -1.94842 27.8375 2.20853C28.3009 2.88577 28.9222 3.43979 29.6478 3.82261C30.3733 4.20542 31.1812 4.4055 32.0014 4.4055C32.8216 4.4055 33.6294 4.20542 34.3549 3.82261C35.0805 3.43979 35.7018 2.88577 36.1652 2.20853Z" fill="#fbc7b2"/> 6360 </svg> 6361 </div> 6362 <div class="w-24 h-24 md:w-32 md:h-32 lg:w-40 lg:h-40 relative z-1 animate animate-fadeInUp"> 6363 <!-- snippets/responsive-image [aa] --> 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 <img class="h-full w-full object-contain lazyload " 6380 data-class="LazyLoad" 6381 data-src=" 6382 6383 6384 6385 //counterculturecoffee.com/cdn/shop/files/Frame-2_470x.png?v=1650577682 470w , 6386 6387 6388 6389 //counterculturecoffee.com/cdn/shop/files/Frame-2_600x.png?v=1650577682 600w , 6390 6391 6392 6393 //counterculturecoffee.com/cdn/shop/files/Frame-2_770x.png?v=1650577682 770w , 6394 6395 6396 6397 //counterculturecoffee.com/cdn/shop/files/Frame-2_970x.png?v=1650577682 970w , 6398 6399 6400 6401 //counterculturecoffee.com/cdn/shop/files/Frame-2_1060x.png?v=1650577682 1060w , 6402 6403 6404 6405 //counterculturecoffee.com/cdn/shop/files/Frame-2_1280x.png?v=1650577682 1280w , 6406 6407 6408 6409 //counterculturecoffee.com/cdn/shop/files/Frame-2_1512x.png?v=1650577682 1512w , 6410 6411 6412 6413 //counterculturecoffee.com/cdn/shop/files/Frame-2_1728x.png?v=1650577682 1728w , 6414 6415 6416 6417 //counterculturecoffee.com/cdn/shop/files/Frame-2_2048x.png?v=1650577682 2048w , 6418" 6419 data-srcset=" 6420 6421 6422 6423 //counterculturecoffee.com/cdn/shop/files/Frame-2_470x.png?v=1650577682 470w , 6424 6425 6426 6427 //counterculturecoffee.com/cdn/shop/files/Frame-2_600x.png?v=1650577682 600w , 6428 6429 6430 6431 //counterculturecoffee.com/cdn/shop/files/Frame-2_770x.png?v=1650577682 770w , 6432 6433 6434 6435 //counterculturecoffee.com/cdn/shop/files/Frame-2_970x.png?v=1650577682 970w , 6436 6437 6438 6439 //counterculturecoffee.com/cdn/shop/files/Frame-2_1060x.png?v=1650577682 1060w , 6440 6441 6442 6443 //counterculturecoffee.com/cdn/shop/files/Frame-2_1280x.png?v=1650577682 1280w , 6444 6445 6446 6447 //counterculturecoffee.com/cdn/shop/files/Frame-2_1512x.png?v=1650577682 1512w , 6448 6449 6450 6451 //counterculturecoffee.com/cdn/shop/files/Frame-2_1728x.png?v=1650577682 1728w , 6452 6453 6454 6455 //counterculturecoffee.com/cdn/shop/files/Frame-2_2048x.png?v=1650577682 2048w , 6456" 6457 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 6458 data-sizes="auto"
6459 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 6460 width="1600" 6461 height="900" 6462 loading="lazy" 6463 decoding="async" 6464 fetchpriority="low" 6465 alt="" 6466 data-optimumx="1.5" 6467 data-expand="-5"> 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477<style> 6478 @media (min-width: 768px) { 6479 .desktop_half_img { 6480 width: 50% !important; 6481 } 6482 } 6483</style> 6484 </div> 6485 </div><span class="font-freight-sans tracking-wider text-lg">Chemex</span></a> 6486</div> 6487 6488<!-- snippets/icon-link --><div class="mb-5 lg:mb-0 px-5"> 6489 <a href="/pages/quick-easy-v60" class="icon-link flex flex-col items-center relative text-center"><div class="w-32 h-32 md:w-40 lg:w-48 md:h-40 lg:h-48 relative mb-5 flex items-center justify-center"> 6490 <div class="w-32 h-32 md:w-40 lg:w-48 md:h-40 lg:h-48 absolute top-0 left-0 animate animate-fadeIn"> 6491 <!-- snippets/shape sunburst [aa] --><!-- sunburst --> 6492 <svg class="h-full w-full" width="64" height="62" viewBox="0 0 64 62" fill="none" xmlns="http://www.w3.org/2000/svg"> 6493 <path d="M36.1652 2.20853C39.0117 -1.9457 45.515 0.16814 45.3764 5.2011C45.3542 6.02121 45.532 6.83438 45.8944 7.57032C46.2568 8.30626 46.7928 8.94283 47.4561 9.42499C48.1195 9.90715 48.8902 10.2204 49.7017 10.3377C50.5131 10.4549 51.3409 10.3727 52.1135 10.098C56.8551 8.41131 60.8761 13.9476 57.8066 17.9386C57.3062 18.5889 56.9717 19.3515 56.832 20.1603C56.6923 20.9
6493691 56.7517 21.7998 57.005 22.5805C57.2583 23.3612 57.6978 24.0684 58.2857 24.6409C58.8735 25.2134 59.5918 25.6339 60.3786 25.8661V25.8661C65.2071 27.289 65.2071 34.1311 60.3786 35.5566C59.5919 35.7885 58.8735 36.2087 58.2857 36.7809C57.6978 37.3531 57.2582 38.0601 57.0049 38.8406C56.7516 39.6211 56.6922 40.4517 56.8319 41.2603C56.9716 42.069 57.3062 42.8314 57.8066 43.4815C60.8761 47.4725 56.8551 53.0033 52.1135 51.322C51.3409 51.0467 50.5129 50.9639 49.7012 51.0809C48.8894 51.1979 48.1184 51.5111 47.4549 51.9934C46.7914 52.4757 46.2553 53.1125 45.8931 53.8488C45.5309 54.5851 45.3536 55.3986 45.3764 56.219V56.219C45.515 61.2519 39.0117 63.3685 36.1652 59.2115C35.7014 58.5348 35.08 57.9813 34.3545 57.5989C33.629 57.2165 32.8214 57.0167 32.0014 57.0167C31.1814 57.0167 30.3737 57.2165 29.6483 57.5989C28.9228 57.9813 28.3013 58.5348 27.8375 59.2115V59.2115C24.991 63.3685 18.4877 61.2519 18.6263 56.219C18.6491 55.3986 18.4718 54.5851 18.1096 53.8488C17.7474 53.1125 17.2114 52.4757 16.5478 51.9934C15.8843 51.5111 15.1133 51.1979 14.3015 51.0809C13.4898 50.9639 12.6618 51.0467 11.8892 51.322V51.322C7.14492 53.0087 3.12659 47.4725 6.19608 43.4815C6.69653 42.8312 7.03099 42.0686 7.17052 41.2598C7.31006 40.451 7.25044 39.6204 6.99685 38.8398C6.74326 38.0592 6.30335 37.3523 5.71519 36.7802C5.12702 36.2081 4.40835 35.7881 3.62141 35.5566V35.5566C-1.20714 34.1311 -1.20714 27.289 3.62141 25.8661C4.4084 25.6342 5.12703 25.2139 5.71515 24.6416C6.30328 24.0692 6.74315 23.3621 6.99672 22.5814C7.25028 21.8006 7.3099 20.9698 7.17039 20.1609C7.03088 19.3519 6.69647 18.5891 6.19608 17.9386V17.9386C3.12659 13.9476 7.14492 8.41675 11.8892 10.098C12.6618 10.3727 13.4896 10.4549 14.301 10.3377C15.1125 10.2204 15.8832 9.90715 16.5466 9.42499C17.2099 8.94283 17.746 8.30626 18.1083 7.57032C18.4707 6.83438 18.6485 6.02121 18.6263 5.2011C18.4877 0.165419 24.991 -1.94842 27.8375 2.20853C28.3009 2.88577 28.9222 3.43979 29.6478 3.82261C30.3733 4.20542 31.1812 4.4055 32.0014 4.4055C32.8216 4.4055 33.6294 4.20542 34.3549 3.82261C35.0805 3.43979 35.7018 2.88577 36.1652 2.20853Z" fill="#ff5c1b"/> 6494 </svg> 6495 </div> 6496 <div class="w-24 h-24 md:w-32 md:h-32 lg:w-40 lg:h-40 relative z-1 animate animate-fadeInUp"> 6497 <!-- snippets/responsive-image [aa] --> 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 <img class="h-full w-full object-contain lazyload " 6514 data-class="LazyLoad" 6515 data-src=" 6516 6517 6518 6519 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_470x.png?v=1673988739 470w , 6520 6521 6522 6523 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_600x.png?v=1673988739 600w , 6524 6525 6526 6527 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_770x.png?v=1673988739 770w , 6528 6529 6530 6531 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_970x.png?v=1673988739 970w , 6532 6533 6534 6535 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_1060x.png?v=1673988739 1060w , 6536 6537 6538 6539 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_1280x.png?v=1673988739 1280w , 6540 6541 6542 6543 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_1512x.png?v=1673988739 1512w , 6544 6545 6546 6547 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_1728x.png?v=1673988739 1728w , 6548 6549 6550 6551 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_2048x.png?v=1673988739 2048w , 6552" 6553 data-srcset=" 6554 6555 6556 6557 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_470x.png?v=1673988739 470w , 6558 6559 6560 6561 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_
6561600x.png?v=1673988739 600w , 6562 6563 6564 6565 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_770x.png?v=1673988739 770w , 6566 6567 6568 6569 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_970x.png?v=1673988739 970w , 6570 6571 6572 6573 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_1060x.png?v=1673988739 1060w , 6574 6575 6576 6577 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_1280x.png?v=1673988739 1280w , 6578 6579 6580 6581 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_1512x.png?v=1673988739 1512w , 6582 6583 6584 6585 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_1728x.png?v=1673988739 1728w , 6586 6587 6588 6589 //counterculturecoffee.com/cdn/shop/files/Coffee-Icons-Live-Stroke-Individual_Hario_V60_6a8093a7-629c-4cf5-b3c2-7832668228fb_2048x.png?v=1673988739 2048w , 6590" 6591 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 6592 data-sizes="auto" 6593 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 6594 width="1600" 6595 height="900" 6596 loading="lazy" 6597 decoding="async" 6598 fetchpriority="low" 6599 alt="" 6600 data-optimumx="1.5" 6601 data-expand="-5"> 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611<style> 6612 @media (min-width: 768px) { 6613 .desktop_half_img { 6614 width: 50% !important; 6615 } 6616 } 6617</style> 6618 </div> 6619 </div><span class="font-freight-sans tracking-wider text-lg">Hario V60</span></a> 6620</div> 6621 6622<!-- snippets/icon-link --><div class="mb-5 lg:mb-0 px-5"> 6623 <a href="/pages/quick-easy-aeropress" class="icon-link flex flex-col items-center relative text-center"><div class="w-32 h-32 md:w-40 lg:w-48 md:h-40 lg:h-48 relative mb-5 flex items-center justify-center"> 6624 <div class="w-32 h-32 md:w-40 lg:w-48 md:h-40 lg:h-48 absolute top-0 left-0 animate animate-fadeIn"> 6625 <!-- snippets/shape sunburst [aa] --><!-- sunburst --> 6626 <svg class="h-full w-full" width="64" height="62" viewBox="0 0 64 62" fill="none" xmlns="http://www.w3.org/2000/svg"> 6627 <path d="M36.1652 2.20853C39.0117 -1.9457 45.515 0.16814 45.3764 5.2011C45.3542 6.02121 45.532 6.83438 45.8944 7.57032C46.2568 8.30626 46.7928 8.94283 47.4561 9.42499C48.1195 9.90715 48.8902 10.2204 49.7017 10.3377C50.5131 10.4549 51.3409 10.3727 52.1135 10.098C56.8551 8.41131 60.8761 13.9476 57.8066 17.9386C57.3062 18.5889 56.9717 19.3515 56.832 20.1603C56.6923 20.9
6627691 56.7517 21.7998 57.005 22.5805C57.2583 23.3612 57.6978 24.0684 58.2857 24.6409C58.8735 25.2134 59.5918 25.6339 60.3786 25.8661V25.8661C65.2071 27.289 65.2071 34.1311 60.3786 35.5566C59.5919 35.7885 58.8735 36.2087 58.2857 36.7809C57.6978 37.3531 57.2582 38.0601 57.0049 38.8406C56.7516 39.6211 56.6922 40.4517 56.8319 41.2603C56.9716 42.069 57.3062 42.8314 57.8066 43.4815C60.8761 47.4725 56.8551 53.0033 52.1135 51.322C51.3409 51.0467 50.5129 50.9639 49.7012 51.0809C48.8894 51.1979 48.1184 51.5111 47.4549 51.9934C46.7914 52.4757 46.2553 53.1125 45.8931 53.8488C45.5309 54.5851 45.3536 55.3986 45.3764 56.219V56.219C45.515 61.2519 39.0117 63.3685 36.1652 59.2115C35.7014 58.5348 35.08 57.9813 34.3545 57.5989C33.629 57.2165 32.8214 57.0167 32.0014 57.0167C31.1814 57.0167 30.3737 57.2165 29.6483 57.5989C28.9228 57.9813 28.3013 58.5348 27.8375 59.2115V59.2115C24.991 63.3685 18.4877 61.2519 18.6263 56.219C18.6491 55.3986 18.4718 54.5851 18.1096 53.8488C17.7474 53.1125 17.2114 52.4757 16.5478 51.9934C15.8843 51.5111 15.1133 51.1979 14.3015 51.0809C13.4898 50.9639 12.6618 51.0467 11.8892 51.322V51.322C7.14492 53.0087 3.12659 47.4725 6.19608 43.4815C6.69653 42.8312 7.03099 42.0686 7.17052 41.2598C7.31006 40.451 7.25044 39.6204 6.99685 38.8398C6.74326 38.0592 6.30335 37.3523 5.71519 36.7802C5.12702 36.2081 4.40835 35.7881 3.62141 35.5566V35.5566C-1.20714 34.1311 -1.20714 27.289 3.62141 25.8661C4.4084 25.6342 5.12703 25.2139 5.71515 24.6416C6.30328 24.0692 6.74315 23.3621 6.99672 22.5814C7.25028 21.8006 7.3099 20.9698 7.17039 20.1609C7.03088 19.3519 6.69647 18.5891 6.19608 17.9386V17.9386C3.12659 13.9476 7.14492 8.41675 11.8892 10.098C12.6618 10.3727 13.4896 10.4549 14.301 10.3377C15.1125 10.2204 15.8832 9.90715 16.5466 9.42499C17.2099 8.94283 17.746 8.30626 18.1083 7.57032C18.4707 6.83438 18.6485 6.02121 18.6263 5.2011C18.4877 0.165419 24.991 -1.94842 27.8375 2.20853C28.3009 2.88577 28.9222 3.43979 29.6478 3.82261C30.3733 4.20542 31.1812 4.4055 32.0014 4.4055C32.8216 4.4055 33.6294 4.20542 34.3549 3.82261C35.0805 3.43979 35.7018 2.88577 36.1652 2.20853Z" fill="#3a8dde"/> 6628 </svg> 6629 </div> 6630 <div class="w-24 h-24 md:w-32 md:h-32 lg:w-40 lg:h-40 relative z-1 animate animate-fadeInUp"> 6631 <!-- snippets/responsive-image [aa] --> 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 <img class="h-full w-full object-contain lazyload " 6648 data-class="LazyLoad" 6649 data-src=" 6650 6651 6652 6653 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_470x.png?v=1673039332 470w , 6654 6655 6656 6657 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_600x.png?v=1673039332 600w , 6658 6659 6660 6661 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_770x.png?v=1673039332 770w , 6662 6663 6664 6665 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_970x.png?v=1673039332 970w , 6666 6667 6668 6669 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_1060x.png?v=1673039332 1060w , 6670 6671 6672 6673 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_1280x.png?v=1673039332 1280w , 6674 6675 6676 6677 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_1512x.png?v=1673039332 1512w , 6678 6679 6680 6681 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_1728x.png?v=1673039332 1728w , 6682 6683 6684 6685 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_2048x.png?v=1673039332 2048w , 6686" 6687 data-srcset=" 6688 6689 6690 6691 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_470x.png?v=1673039332 470w , 6692 6693 6694 6695 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_600x.png?v=1673039332 600w , 6696 6697 6698 6699 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_770x.png?v=1673039332 770w , 6700 6701 6702 6703 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_970x.png?v=1673039332 970w , 6704 6705 6706 6707 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_1060x.png?v=1673039332 1060w , 6708 6709 6710 6711 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_1280x.png?v=1673039332 1280w , 6712 6713 6714 6715 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_1512x.png?v=1673039332 1512w , 6716 6717 6718 6719 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_1728x.png?v=1673039332 1728w , 6720 6721 6722 6723 //counterculturecoffee.com/cdn/shop/files/icon-aeropress_d01b8bfa-bee9-4027-9ffc-2f5381b96486_2048x.png?v=1673039332 2048w , 6724" 6725 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 6726 data-sizes="auto"
6727 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 6728 width="1600" 6729 height="900" 6730 loading="lazy" 6731 decoding="async" 6732 fetchpriority="low" 6733 alt="" 6734 data-optimumx="1.5" 6735 data-expand="-5"> 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745<style> 6746 @media (min-width: 768px) { 6747 .desktop_half_img { 6748 width: 50% !important; 6749 } 6750 } 6751</style> 6752 </div> 6753 </div><span class="font-freight-sans tracking-wider text-lg">Aeropress</span></a> 6754</div> 6755 6756</ul> 6757 6758 6759 <div class="js-slick-dots pb-10"></div> 6760 6761 </div> 6762</section> 6763 6764 6765 6766 6767</div><div id="shopify-section-template--17967770599501__1647989083db4e1b68" class="shopify-section inline"><!-- sections/related-products [aa] --> 6768 6769 6770 6771 6772 <div id="" 6773 class="collection-grid--container w-full js-recommended-products" 6774 data-limit="10" 6775 data-mobile-limit="5" 6776 data-product-id="6869823127629"><div class="recommended-products featured-product-card relative"> 6777 </div> 6778 6779 6780 </div> 6781 6782 6783 6784 6785</div> 6786 6787 </main> 6788 6789 6790 <div id="shopify-section-footer" class="shopify-section"><!-- sections/footer --> 6791 6792 6793 6794 6795 6796 6797<footer class="tested bg-blue text-white px-6 xl:px-20 py-8 relative"> 6798 <!-- COUNTERCULTURE --><div class="flex justify-center mb-10"> 6799 <!-- snippets/responsive-image [aa] --> 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 <img class="w-40 md:w-48 xl:w-60 mx-auto lazyload " 6816 data-class="LazyLoad" 6817 data-src=" 6818 6819 6820 6821 //counterculturecoffee.com/cdn/shop/files/image_16_470x.png?v=1649110207 470w , 6822 6823 6824 6825 //counterculturecoffee.com/cdn/shop/files/image_16_600x.png?v=1649110207 600w , 6826 6827 6828 6829 //counterculturecoffee.com/cdn/shop/files/image_16_770x.png?v=1649110207 770w , 6830 6831 6832 6833 //counterculturecoffee.com/cdn/shop/files/image_16_970x.png?v=1649110207 970w , 6834 6835 6836 6837 //counterculturecoffee.com/cdn/shop/files/image_16_1060x.png?v=1649110207 1060w , 6838 6839 6840 6841 //counterculturecoffee.com/cdn/shop/files/image_16_1280x.png?v=1649110207 1280w , 6842 6843 6844 6845 //counterculturecoffee.com/cdn/shop/files/image_16_1512x.png?v=1649110207 1512w , 6846 6847 6848 6849 //counterculturecoffee.com/cdn/shop/files/image_16_1728x.png?v=1649110207 1728w , 6850 6851 6852 6853 //counterculturecoffee.com/cdn/shop/files/image_16_2048x.png?v=1649110207 2048w , 6854" 6855 data-srcset=" 6856 6857 6858 6859 //counterculturecoffee.com/cdn/shop/files/image_16_470x.png?v=1649110207 470w , 6860 6861 6862 6863 //counterculturecoffee.com/cdn/shop/files/image_16_600x.png?v=1649110207 600w , 6864 6865 6866 6867 //counterculturecoffee.com/cdn/shop/files/image_16_770x.png?v=1649110207 770w , 6868 6869 6870 6871 //counterculturecoffee.com/cdn/shop/files/image_16_970x.png?v=1649110207 970w , 6872 6873 6874 6875 //counterculturecoffee.com/cdn/shop/files/image_16_1060x.png?v=1649110207 1060w , 6876 6877 6878 6879 //counterculturecoffee.com/cdn/shop/files/image_16_1280x.png?v=1649110207 1280w , 6880 6881 6882 6883 //counterculturecoffee.com/cdn/shop/files/image_16_1512x.png?v=1649110207 1512w , 6884 6885 6886 6887 //counterculturecoffee.com/cdn/shop/files/image_16_1728x.png?v=1649110207 1728w , 6888 6889 6890 6891 //counterculturecoffee.com/cdn/shop/files/image_16_2048x.png?v=1649110207 2048w , 6892" 6893 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 6894 data-sizes="auto" 6895 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 6896 width="1600" 6897 height="900" 6898 loading="lazy" 6899 decoding="async" 6900 fetchpriority="low" 6901 alt="" 6902 data-optimumx="1.5" 6903 data-expand="-5"> 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913<style> 6914 @media (min-width: 768px) { 6915 .desktop_half_img { 6916 width: 50% !important; 6917 } 6918 } 6919</style> 6920 </div><div class="absolute -top-8 right-5 md:right-10"> 6921 <!-- snippets/responsive-image [aa] --> 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 <img class="w-20 md:w-32 xl:-w40 mx-auto animate-rotate lazyload " 6938 data-class="LazyLoad" 6939 data-src=" 6940 6941 6942 6943 //counterculturecoffee.com/cdn/shop/files/Frame_6_470x.png?v=1652196888 470w , 6944 6945 6946 6947 //counterculturecoffee.com/cdn/shop/files/Frame_6_600x.png?v=1652196888 600w , 6948 6949 6950 6951 //counterculturecoffee.com/cdn/shop/files/Frame_6_770x.png?v=1652196888 770w , 6952 6953 6954 6955 //counterculturecoffee.com/cdn/shop/files/Frame_6_970x.png?v=1652196888 970w , 6956 6957 6958 6959 //counterculturecoffee.com/cdn/shop/files/Frame_6_1060x.png?v=1652196888 1060w , 6960 6961 6962 6963 //counterculturecoffee.com/cdn/shop/files/Frame_6_1280x.png?v=1652196888 1280w , 6964 6965 6966 6967 //counterculturecoffee.com/cdn/shop/files/Frame_6_1512x.png?v=1652196888 1512w , 6968 6969 6970 6971 //counterculturecoffee.com/cdn/shop/files/Frame_6_1728x.png?v=1652196888 1728w , 6972 6973 6974 6975 //counterculturecoffee.com/cdn/shop/files/Frame_6_2048x.png?v=1652196888 2048w , 6976" 6977 data-srcset=" 6978 6979 6980 6981 //counterculturecoffee.com/cdn/shop/files/Frame_6_470x.png?v=1652196888 470w , 6982 6983 6984 6985 //counterculturecoffee.com/cdn/shop/files/Frame_6_600x.png?v=1652196888 600w , 6986 6987 6988 6989 //counterculturecoffee.com/cdn/shop/files/Frame_6_770x.png?v=1652196888 770w , 6990 6991 6992 6993 //counterculturecoffee.com/cdn/shop/files/Frame_6_970x.png?v=1652196888 970w , 6994 6995 6996 6997 //counterculturecoffee.com/cdn/shop/files/Frame_6_1060x.png?v=1652196888 1060w , 6998 6999 7000 7001 //counterculturecoffee.com/cdn/shop/files/Frame_6_1280x.png?v=1652196888 1280w , 7002 7003 7004 7005 //counterculturecoffee.com/cdn/shop/files/Frame_6_1512x.png?v=1652196888 1512w , 7006 7007 7008 7009 //counterculturecoffee.com/cdn/shop/files/Frame_6_1728x.png?v=1652196888 1728w , 7010 7011 7012 7013 //counterculturecoffee.com/cdn/shop/files/Frame_6_2048x.png?v=1652196888 2048w , 7014" 7015 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 7016 data-sizes="auto"
7017 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 7018 width="1600" 7019 height="900" 7020 loading="lazy" 7021 decoding="async" 7022 fetchpriority="low" 7023 alt="Coffee Driven Since 1995" 7024 data-optimumx="1.5" 7025 data-expand="-5"> 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035<style> 7036 @media (min-width: 768px) { 7037 .desktop_half_img { 7038 width: 50% !important; 7039 } 7040 } 7041</style> 7042 </div><div class="absolute bottom-20 md:bottom-10 right-5 md:right-10 hidden lg:block"> 7043 <!-- snippets/responsive-image [aa] --> 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 <img class="w-10 md:w-12 mx-auto lazyload " 7060 data-class="LazyLoad" 7061 data-src=" 7062 7063 7064 7065 //counterculturecoffee.com/cdn/shop/files/image_18_470x.png?v=1649110231 470w , 7066 7067 7068 7069 //counterculturecoffee.com/cdn/shop/files/image_18_600x.png?v=1649110231 600w , 7070 7071 7072 7073 //counterculturecoffee.com/cdn/shop/files/image_18_770x.png?v=1649110231 770w , 7074 7075 7076 7077 //counterculturecoffee.com/cdn/shop/files/image_18_970x.png?v=1649110231 970w , 7078 7079 7080 7081 //counterculturecoffee.com/cdn/shop/files/image_18_1060x.png?v=1649110231 1060w , 7082 7083 7084 7085 //counterculturecoffee.com/cdn/shop/files/image_18_1280x.png?v=1649110231 1280w , 7086 7087 7088 7089 //counterculturecoffee.com/cdn/shop/files/image_18_1512x.png?v=1649110231 1512w , 7090 7091 7092 7093 //counterculturecoffee.com/cdn/shop/files/image_18_1728x.png?v=1649110231 1728w , 7094 7095 7096 7097 //counterculturecoffee.com/cdn/shop/files/image_18_2048x.png?v=1649110231 2048w , 7098" 7099 data-srcset=" 7100 7101 7102 7103 //counterculturecoffee.com/cdn/shop/files/image_18_470x.png?v=1649110231 470w , 7104 7105 7106 7107 //counterculturecoffee.com/cdn/shop/files/image_18_600x.png?v=1649110231 600w , 7108 7109 7110 7111 //counterculturecoffee.com/cdn/shop/files/image_18_770x.png?v=1649110231 770w , 7112 7113 7114 7115 //counterculturecoffee.com/cdn/shop/files/image_18_970x.png?v=1649110231 970w , 7116 7117 7118 7119 //counterculturecoffee.com/cdn/shop/files/image_18_1060x.png?v=1649110231 1060w , 7120 7121 7122 7123 //counterculturecoffee.com/cdn/shop/files/image_18_1280x.png?v=1649110231 1280w , 7124 7125 7126 7127 //counterculturecoffee.com/cdn/shop/files/image_18_1512x.png?v=1649110231 1512w , 7128 7129 7130 7131 //counterculturecoffee.com/cdn/shop/files/image_18_1728x.png?v=1649110231 1728w , 7132 7133 7134 7135 //counterculturecoffee.com/cdn/shop/files/image_18_2048x.png?v=1649110231 2048w , 7136" 7137 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 7138 data-sizes="auto" 7139 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 7140 width="1600" 7141 height="900" 7142 loading="lazy" 7143 decoding="async" 7144 fetchpriority="low" 7145 alt="" 7146 data-optimumx="1.5" 7147 data-expand="-5"> 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157<style> 7158 @media (min-width: 768px) { 7159 .desktop_half_img { 7160 width: 50% !important; 7161 } 7162 } 7163</style> 7164 </div><div class="grid footer--grid gap-10 xl:gap-24"> 7165 <div class=""> 7166 <!-- newsletter --> 7167 7168 <!-- snippets/newsletter-form --><div class="w-full"> 7169 7170 <div class="font-founders-grotesk-semibold text-white text-center xl:text-left mb-2.5 text-2xl lg:text-4xl px-0 lg:px-0">We're Spilling the Beans...</div> 7171 7172<p class="text-sm white-text mb-5 leading-relaxed tracking-wider font-freight-sans text-center xl:text-left">Get an early look at new menu items, invitations to upcoming classes, and promotions on your favorite Counter Culture coffees.</p> 7173 <!-- <div id="klaviyo-footer" class="klaviyo--form--footer"> 7174 <div class="klaviyo-form-RLXxg8"></div> 7175 </div> --> 7176 <iframe title="Klaviyo Form" src=" https://counterculturecoffee.attn.tv/p/MDD/footer-form" style="min-height: 150px;" width="100%" height="100%"></iframe> 7177 7178</div> 7179 7180 7181 <!-- Social Blocks --> 7182 <div class="flex items-center justify-between"> 7183 <ul class="flex items-center justify-center xl:justify-start list-none gap-4 lg:mt-5 text-4xl"><li class="animate animate-fadeIn"> 7184 <a href="https://www.instagram.com/counterculturecoffee/?hl=en"> 7185 <!-- snippets/responsive-image [aa] --> 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 <img class="w-10 lazyload " 7202 data-class="LazyLoad" 7203 data-src=" 7204 7205 7206 7207 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_470x.png?v=1649114894 470w , 7208 7209 7210 7211 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_600x.png?v=1649114894 600w , 7212 7213 7214 7215 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_770x.png?v=1649114894 770w , 7216 7217 7218 7219 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_970x.png?v=1649114894 970w , 7220 7221 7222 7223 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_1060x.png?v=1649114894 1060w , 7224 7225 7226 7227 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_1280x.png?v=1649114894 1280w , 7228 7229 7230 7231 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_1512x.png?v=1649114894 1512w , 7232 7233 7234 7235 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_1728x.png?v=1649114894 1728w , 7236 7237 7238 7239 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_2048x.png?v=1649114894 2048w , 7240" 7241 data-srcset=" 7242 7243 7244 7245 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_470x.png?v=1649114894 470w , 7246 7247 7248 7249 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_600x.png?v=1649114894 600w , 7250 7251 7252 7253 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_770x.png?v=1649114894 770w , 7254 7255 7256 7257 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_970x.png?v=1649114894 970w , 7258 7259 7260 7261 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_1060x.png?v=1649114894 1060w , 7262 7263 7264 7265 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_1280x.png?v=1649114894 1280w , 7266 7267 7268 7269 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_1512x.png?v=1649114894 1512w , 7270 7271 7272 7273 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_1728x.png?v=1649114894 1728w , 7274 7275 7276 7277 //counterculturecoffee.com/cdn/shop/files/IG_Icon_cc4b3ec1-6a29-472c-be4b-f65727d98add_2048x.png?v=1649114894 2048w , 7278" 7279 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 7280 data-sizes="auto"
7281 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 7282 width="1600" 7283 height="900" 7284 loading="lazy" 7285 decoding="async" 7286 fetchpriority="low" 7287 alt="Visit us on instagram! opens external webpage" 7288 data-optimumx="1.5" 7289 data-expand="-5"> 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299<style> 7300 @media (min-width: 768px) { 7301 .desktop_half_img { 7302 width: 50% !important; 7303 } 7304 } 7305</style> 7306 </a> 7307 </li><li class="animate animate-fadeIn"> 7308 <a href="https://www.facebook.com/counterculturecoffee/"> 7309 <!-- snippets/responsive-image [aa] --> 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 <img class="w-10 lazyload " 7326 data-class="LazyLoad" 7327 data-src=" 7328 7329 7330 7331 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_470x.png?v=1649114894 470w , 7332 7333 7334 7335 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_600x.png?v=1649114894 600w , 7336 7337 7338 7339 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_770x.png?v=1649114894 770w , 7340 7341 7342 7343 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_970x.png?v=1649114894 970w , 7344 7345 7346 7347 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_1060x.png?v=1649114894 1060w , 7348 7349 7350 7351 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_1280x.png?v=1649114894 1280w , 7352 7353 7354 7355 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_1512x.png?v=1649114894 1512w , 7356 7357 7358 7359 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_1728x.png?v=1649114894 1728w , 7360 7361 7362 7363 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_2048x.png?v=1649114894 2048w , 7364" 7365 data-srcset=" 7366 7367 7368 7369 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_470x.png?v=1649114894 470w , 7370 7371 7372 7373 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_600x.png?v=1649114894 600w , 7374 7375 7376 7377 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_770x.png?v=1649114894 770w , 7378 7379 7380 7381 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_970x.png?v=1649114894 970w , 7382 7383 7384 7385 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_1060x.png?v=1649114894 1060w , 7386 7387 7388 7389 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_1280x.png?v=1649114894 1280w , 7390 7391 7392 7393 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_1512x.png?v=1649114894 1512w , 7394 7395 7396 7397 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_1728x.png?v=1649114894 1728w , 7398 7399 7400 7401 //counterculturecoffee.com/cdn/shop/files/Facebook_Icon_43e8a893-1e2e-4f6e-a327-d68317c0ea5e_2048x.png?v=1649114894 2048w , 7402" 7403 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 7404 data-sizes="auto" 7405 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 7406 width="1600" 7407 height="900" 7408 loading="lazy" 7409 decoding="async" 7410 fetchpriority="low" 7411 alt="Visit us on Facebook! Opens external webpage" 7412 data-optimumx="1.5" 7413 data-expand="-5"> 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423<style> 7424 @media (min-width: 768px) { 7425 .desktop_half_img { 7426 width: 50% !important; 7427 } 7428 } 7429</style> 7430 </a> 7431 </li><li class="animate animate-fadeIn"> 7432 <a href="https://www.youtube.com/c/counterculturecoffee/featured"> 7433 <!-- snippets/responsive-image [aa] --> 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 <img class="w-10 lazyload " 7450 data-class="LazyLoad" 7451 data-src=" 7452 7453 7454 7455 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_470x.png?v=1649114894 470w , 7456 7457 7458 7459 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_600x.png?v=1649114894 600w , 7460 7461 7462 7463 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_770x.png?v=1649114894 770w , 7464 7465 7466 7467 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_970x.png?v=1649114894 970w , 7468 7469 7470 7471 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_1060x.png?v=1649114894 1060w , 7472 7473 7474 7475 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_1280x.png?v=1649114894 1280w , 7476 7477 7478 7479 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_1512x.png?v=1649114894 1512w , 7480 7481 7482 7483 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_1728x.png?v=1649114894 1728w , 7484 7485 7486 7487 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_2048x.png?v=1649114894 2048w , 7488" 7489 data-srcset=" 7490 7491 7492 7493 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_470x.png?v=1649114894 470w , 7494 7495 7496 7497 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_600x.png?v=1649114894 600w , 7498 7499 7500 7501 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_770x.png?v=1649114894 770w , 7502 7503 7504 7505 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_970x.png?v=1649114894 970w , 7506 7507 7508 7509 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_1060x.png?v=1649114894 1060w , 7510 7511 7512 7513 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_1280x.png?v=1649114894 1280w , 7514 7515 7516 7517 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_1512x.png?v=1649114894 1512w , 7518 7519 7520 7521 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_1728x.png?v=1649114894 1728w , 7522 7523 7524 7525 //counterculturecoffee.com/cdn/shop/files/Youtube_Icon_03ae325f-0e64-4e84-a1e6-9a7c8e37b8ad_2048x.png?v=1649114894 2048w , 7526" 7527 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 7528 data-sizes="auto"
7529 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 7530 width="1600" 7531 height="900" 7532 loading="lazy" 7533 decoding="async" 7534 fetchpriority="low" 7535 alt="Visit us on YouTube! Opens external webpage" 7536 data-optimumx="1.5" 7537 data-expand="-5"> 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547<style> 7548 @media (min-width: 768px) { 7549 .desktop_half_img { 7550 width: 50% !important; 7551 } 7552 } 7553</style> 7554 </a> 7555 </li></ul><div class="lg:hidden"> 7556 <!-- snippets/responsive-image [aa] --> 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 <img class="w-9 mx-auto lazyload " 7573 data-class="LazyLoad" 7574 data-src=" 7575 7576 7577 7578 //counterculturecoffee.com/cdn/shop/files/image_18_470x.png?v=1649110231 470w , 7579 7580 7581 7582 //counterculturecoffee.com/cdn/shop/files/image_18_600x.png?v=1649110231 600w , 7583 7584 7585 7586 //counterculturecoffee.com/cdn/shop/files/image_18_770x.png?v=1649110231 770w , 7587 7588 7589 7590 //counterculturecoffee.com/cdn/shop/files/image_18_970x.png?v=1649110231 970w , 7591 7592 7593 7594 //counterculturecoffee.com/cdn/shop/files/image_18_1060x.png?v=1649110231 1060w , 7595 7596 7597 7598 //counterculturecoffee.com/cdn/shop/files/image_18_1280x.png?v=1649110231 1280w , 7599 7600 7601 7602 //counterculturecoffee.com/cdn/shop/files/image_18_1512x.png?v=1649110231 1512w , 7603 7604 7605 7606 //counterculturecoffee.com/cdn/shop/files/image_18_1728x.png?v=1649110231 1728w , 7607 7608 7609 7610 //counterculturecoffee.com/cdn/shop/files/image_18_2048x.png?v=1649110231 2048w , 7611" 7612 data-srcset=" 7613 7614 7615 7616 //counterculturecoffee.com/cdn/shop/files/image_18_470x.png?v=1649110231 470w , 7617 7618 7619 7620 //counterculturecoffee.com/cdn/shop/files/image_18_600x.png?v=1649110231 600w , 7621 7622 7623 7624 //counterculturecoffee.com/cdn/shop/files/image_18_770x.png?v=1649110231 770w , 7625 7626 7627 7628 //counterculturecoffee.com/cdn/shop/files/image_18_970x.png?v=1649110231 970w , 7629 7630 7631 7632 //counterculturecoffee.com/cdn/shop/files/image_18_1060x.png?v=1649110231 1060w , 7633 7634 7635 7636 //counterculturecoffee.com/cdn/shop/files/image_18_1280x.png?v=1649110231 1280w , 7637 7638 7639 7640 //counterculturecoffee.com/cdn/shop/files/image_18_1512x.png?v=1649110231 1512w , 7641 7642 7643 7644 //counterculturecoffee.com/cdn/shop/files/image_18_1728x.png?v=1649110231 1728w , 7645 7646 7647 7648 //counterculturecoffee.com/cdn/shop/files/image_18_2048x.png?v=1649110231 2048w , 7649" 7650 src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='900'%3E%3Crect%20width='100%25'%20height='100%25'%20opacity='0'/%3E%3C/svg%3E" 7651 data-sizes="auto" 7652 sizes="(max-width: 480px) 100vw, (max-width: 768px) 100vw, (max-width: 1200px) 100vw, 1600px" 7653 width="1600" 7654 height="900" 7655 loading="lazy" 7656 decoding="async" 7657 fetchpriority="low" 7658 alt="" 7659 data-optimumx="1.5" 7660 data-expand="-5"> 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670<style> 7671 @media (min-width: 768px) { 7672 .desktop_half_img { 7673 width: 50% !important; 7674 } 7675 } 7676</style> 7677 </div></div> 7678 </div> 7679 7680 <!-- xl:grid-cols-2 xl:grid-cols-3 xl:grid-cols-4 xl:grid-cols-5 xl:grid-cols-6 --> 7681 7682 7683 <div class="footer--main-links mx-auto w-full 7684 grid grid-cols-3 md:grid-cols-4 7685 gap-5 xl:gap-8 py-12 hidden lg:grid"><!-- snippets/footer-menu --><div class="list-none "> 7686 <h2 class="font-bold text-sm lg:text-lg mb-2.5 uppercase font-freight-sans">Shop</h2><div class="mb-1 text-sm lg:text-lg"> 7687 <a class="font-founders-grotesk-regular" href="https://counterculturecoffee.com/collections/holiday-gift-guide">Gifts</a> 7688 </div><div class="mb-1 text-sm lg:text-lg"> 7689 <a class="font-founders-grotesk-regular" href="/collections/coffee">Coffee</a> 7690 </div><div class="mb-1 text-sm lg:text-lg"> 7691 <a class="font-founders-grotesk-regular" href="/pages/subscriptions">Subscriptions</a> 7692 </div><div class="mb-1 text-sm lg:text-lg"> 7693 <a class="font-founders-grotesk-regular" href="/pages/holiday-gift-subscription">Gift Subscriptions</a> 7694 </div></div> 7695 7696<!-- snippets/footer-menu --><div class="list-none row-span-2 md:row-span-1 "> 7697 <h2 class="font-bold text-sm lg:text-lg mb-2.5 uppercase font-freight-sans">About</h2><div class="mb-1 text-sm lg:text-lg"> 7698 <a class="font-founders-grotesk-regular" href="/pages/history">About</a> 7699 </div><div class="mb-1 text-sm lg:text-lg"> 7700 <a class="font-founders-grotesk-regular" href="/blogs/counter-culture-coffee">Blog</a> 7701 </div><div class="mb-1 text-sm lg:text-lg"> 7702 <a class="font-founders-grotesk-regular" href="/pages/training-centers">Training Centers</a> 7703 </div><div class="mb-1 text-sm lg:text-lg"> 7704 <a class="font-founders-grotesk-regular" href="https://counterculturecoffee.com/pages/transparency-report-2025">Transparency Reports</a> 7705 </div><div class="mb-1 text-sm lg:text-lg"> 7706 <a class="font-founders-grotesk-regular" href="/pages/careers">Careers</a> 7707 </div><div class="mb-1 text-sm lg:text-lg"> 7708 <a class="font-founders-grotesk-regular" href="/collections/coffee-archive">Coffee Archive</a> 7709 </div><div class="mb-1 text-sm lg:text-lg"> 7710 <a class="font-founders-grotesk-regular" href="https://www.eventbrite.com/o/counter-culture-coffee-33771079275">Events</a> 7711 </div></div> 7712 7713<!-- snippets/footer-menu --><div class="list-none row-span-2 md:row-span-1 "> 7714 <h2 class="font-bold text-sm lg:text-lg mb-2.5 uppercase font-freight-sans">Customer Support</h2><div class="mb-1 text-sm lg:text-lg"> 7715 <a class="font-founders-grotesk-regular" href="/pages/find-ccc">Find Counter Culture</a> 7716 </div><div class="mb-1 text-sm lg:text-lg"> 7717 <a class="font-founders-grotesk-regular" href="/pages/contact-us">Contact Us</a> 7718 </div><div class="mb-1 text-sm lg:text-lg"> 7719 <a class="font-founders-grotesk-regular" href="/pages/help-faq">FAQ</a> 7720 </div><div class="mb-1 text-sm lg:text-lg"> 7721 <a class="font-founders-grotesk-regular" href="/pages/accessibility-statement">Accessibility Statement</a> 7722 </div><div class="mb-1 text-sm lg:text-lg"> 7723 <a class="font-founders-grotesk-regular" href="/pages/code-of-business">Code of Business</a> 7724 </div></div> 7725 7726<!-- snippets/footer-menu --><div class="list-none "> 7727 <h2 class="font-bold text-sm lg:text-lg mb-2.5 uppercase font-freight-sans">Wholesale</h2><div class="mb-1 text-sm lg:text-lg"> 7728 <a class="font-founders-grotesk-regular" href="https://wholesale.counterculturecoffee.com/collections/coffee">Wholesale Login</a> 7729 </div><div class="mb-1 text-sm lg:text-lg"> 7730 <a class="font-founders-grotesk-regular" href="/pages/corporate-gift-event-program">Corporate Gifts</a> 7731 </div><div class="mb-1 text-sm lg:text-lg"> 7732 <a class="font-founders-grotesk-regular" href="/pages/partner-with-us">Partner With Us</a> 7733 </div><div class="mb-1 text-sm lg:text-lg"> 7734 <a class="font-founders-grotesk-regular" href="/pages/tech-service">Tech Request </a> 7735 </div></div> 7736 7737</div> 7738 7739 <div class="js-expandable-group footer--main-links__mob mx-auto w-full 7740 lg:hidden"> 7741 7742 7743 <!-- snippets/footer-menu-mobile --><ul class="list-none "> 7744 <div class=""> 7745 <button type="button" 7746 aria-label="" 7747 aria-controls="mobile-footer-shop" 7748 data-toggle="mobile-footer-shop" 7749 class="js-expandable-toggle footer--expandable-toggle btn-trans
7749parent 7750 flex justify-between items-center uppercase 7751 text-base tracking-wider text-left w-full 7752 px-0 py-4 text-white 7753 active border-b border-white "> 7754 <h4 class="font-semibold text-base mb-0 uppercase font-freight-sans">Shop</h4> 7755 7756 <span class="h-8 w-8 p-2 flex items-center justify-center"> 7757 7758 7759 7760 7761 7762 <!-- snippets/icon (plus) [aa/ja] --> 7763 7764 7765<svg 7766 class=" 7767 icon icon-plus hidden w-2 js-plus 7768" 7769 width="15" 7770 height="15" 7771 viewBox="0 0 15 15" 7772 fill="none" 7773 xmlns="http://www.w3.org/2000/svg"> 7774 <path d="M14.2837 5.97924H9.09344V0.726642C9.09075 0.53476 9.01333 0.351491 8.87764 0.215796C8.74195 0.0801017 8.55868 0.00268406 8.36679 0H6.69551C6.5046 0.00272761 6.32243 0.080486 6.1884 0.216464C6.05436 0.352441 5.97923 0.53571 5.97925 0.726642V5.97924H0.72666C0.535727 5.97922 0.352453 6.05435 0.216475 6.18838C0.0804974 6.32242 0.00273905 6.50459 1.14441e-05 6.6955V8.36678C0.00269551 8.55866 0.0801151 8.74193 0.21581 8.87763C0.351504 9.01332 0.534777 9.09074 0.72666 9.09342H5.97925V14.2837C5.97925 14.4737 6.05471 14.6559 6.18904 14.7902C6.32336 14.9245 6.50555 15 6.69551 15H8.36679C8.55773 15 8.741 14.9249 8.87698 14.7909C9.01295 14.6568 9.09071 14.4746 9.09344 14.2837V9.09342H14.2837C14.4747 9.0907 14.6568 9.01294 14.7909 8.87696C14.9249 8.74098 15 8.55771 15 8.36678V6.6955C15 6.60144 14.9815 6.5083 14.9455 6.4214C14.9095 6.3345 14.8567 6.25554 14.7902 6.18903C14.7237 6.12251 14.6448 6.06975 14.5578 6.03376C14.4709 5.99776 14.3778 5.97924 14.2837 5.97924V5.97924Z" fill="currentColor"/> 7775 </svg> 7776 <!-- snippets/icon (minus) [aa/ja] --> 7777 7778 7779<svg 7780 class=" 7781 icon icon-minus block w-2 js-minus 7782" 7783 width="15" 7784 height="15" 7785 viewBox="0 0 15 15" 7786 fill="none" 7787 xmlns="http://www.w3.org/2000/svg"> 7788 <path d="M13.8 6H0.7C0.313401 6 0 6.3134 0 6.7V8.3C0 8.6866 0.313401 9 0.7 9H13.8C14.1866 9 14.5 8.6866 14.5 8.3V6.7C14.5 6.3134 14.1866 6 13.8 6Z" fill="currentColor"/> 7789 </svg> 7790 </span> 7791 </button> 7792 </div> 7793 <dl> 7794 <dd id="mobile-footer-shop" 7795 class="js-expandable-content text-base active" 7796 7797 aria-expanded="true"> 7798 <ul><li class="mb-3 text-base font-freight-sans"> 7799 <a href="https://counterculturecoffee.com/collections/holiday-gift-guide">Gifts</a> 7800 </li><li class="mb-3 text-base font-freight-sans"> 7801 <a href="/collections/coffee">Coffee</a> 7802 </li><li class="mb-3 text-base font-freight-sans"> 7803 <a href="/pages/subscriptions">Subscriptions</a> 7804 </li><li class="mb-3 text-base font-freight-sans"> 7805 <a href="/pages/holiday-gift-subscription">Gift Subscriptions</a> 7806 </li></ul> 7807 </dd> 7808 </dl> 7809 7810 7811 7812 7813 7814</ul> 7815 7816 7817 7818 7819 <!-- snippets/footer-menu-mobile --><ul class="list-none row-span-2 md:row-span-1 "> 7820 <div class=""> 7821 <button type="button" 7822 aria-label="" 7823 aria-controls="mobile-footer-about" 7824 data-toggle="mobile-footer-about" 7825 class="js-expandable-toggle footer--expandable-toggle btn-transparent 7826 flex justify-between items-center uppercase 7827 text-base tracking-wider text-left w-full 7828 px-0 py-4 text-white 7829 border-b border-white "> 7830 <h4 class="font-semibold text-base mb-0 uppercase font-freight-sans">About</h4> 7831 7832 <span class="h-8 w-8 p-2 flex items-center justify-center"> 7833 7834 7835 7836 7837 7838 <!-- snippets/icon (plus) [aa/ja] --> 7839 7840 7841<svg 7842 class=" 7843 icon icon-plus w-2 js-plus 7844" 7845 width="15" 7846 height="15" 7847 viewBox="0 0 15 15" 7848 fill="none" 7849 xmlns="http://www.w3.org/2000/svg"> 7850 <path d="M14.2837 5.97924H9.09344V0.726642C9.09075 0.53476 9.01333 0.351491 8.87764 0.215796C8.74195 0.0801017 8.55868 0.00268406 8.36679 0H6.69551C6.5046 0.00272761 6.32243 0.080486 6.1884 0.216464C6.05436 0.352441 5.97923 0.53571 5.97925 0.726642V5.97924H0.72666C0.535727 5.97922 0.352453 6.05435 0.216475 6.18838C0.0804974 6.32242 0.00273905 6.50459 1.14441e-05 6.6955V8.36678C0.00269551 8.55866 0.0801151 8.74193 0.21581 8.87763C0.351504 9.01332
78500.534777 9.09074 0.72666 9.09342H5.97925V14.2837C5.97925 14.4737 6.05471 14.6559 6.18904 14.7902C6.32336 14.9245 6.50555 15 6.69551 15H8.36679C8.55773 15 8.741 14.9249 8.87698 14.7909C9.01295 14.6568 9.09071 14.4746 9.09344 14.2837V9.09342H14.2837C14.4747 9.0907 14.6568 9.01294 14.7909 8.87696C14.9249 8.74098 15 8.55771 15 8.36678V6.6955C15 6.60144 14.9815 6.5083 14.9455 6.4214C14.9095 6.3345 14.8567 6.25554 14.7902 6.18903C14.7237 6.12251 14.6448 6.06975 14.5578 6.03376C14.4709 5.99776 14.3778 5.97924 14.2837 5.97924V5.97924Z" fill="currentColor"/> 7851 </svg> 7852 <!-- snippets/icon (minus) [aa/ja] --> 7853 7854 7855<svg 7856 class=" 7857 icon icon-minus w-2 hidden js-minus 7858" 7859 width="15" 7860 height="15" 7861 viewBox="0 0 15 15" 7862 fill="none" 7863 xmlns="http://www.w3.org/2000/svg"> 7864 <path d="M13.8 6H0.7C0.313401 6 0 6.3134 0 6.7V8.3C0 8.6866 0.313401 9 0.7 9H13.8C14.1866 9 14.5 8.6866 14.5 8.3V6.7C14.5 6.3134 14.1866 6 13.8 6Z" fill="currentColor"/> 7865 </svg> 7866 </span> 7867 </button> 7868 </div> 7869 <dl> 7870 <dd id="mobile-footer-about" 7871 class="js-expandable-content text-base " 7872 style="display: none;" 7873 aria-expanded="false"> 7874 <ul><li class="mb-3 text-base font-freight-sans"> 7875 <a href="/pages/history">About</a> 7876 </li><li class="mb-3 text-base font-freight-sans"> 7877 <a href="/blogs/counter-culture-coffee">Blog</a> 7878 </li><li class="mb-3 text-base font-freight-sans"> 7879 <a href="/pages/training-centers">Training Centers</a> 7880 </li><li class="mb-3 text-base font-freight-sans"> 7881 <a href="https://counterculturecoffee.com/pages/transparency-report-2025">Transparency Reports</a> 7882 </li><li class="mb-3 text-base font-freight-sans"> 7883 <a href="/pages/careers">Careers</a> 7884 </li><li class="mb-3 text-base font-freight-sans"> 7885 <a href="/collections/coffee-archive">Coffee Archive</a> 7886 </li><li class="mb-3 text-base font-freight-sans"> 7887 <a href="https://www.eventbrite.com/o/counter-culture-coffee-33771079275">Events</a> 7888 </li></ul> 7889 </dd> 7890 </dl> 7891 7892 7893 7894 7895 7896</ul> 7897 7898 7899 7900 7901 <!-- snippets/footer-menu-mobile --><ul class="list-none row-span-2 md:row-span-1 "> 7902 <div class=""> 7903 <button type="button" 7904 aria-label="" 7905 aria-controls="mobile-footer-customer-support" 7906 data-toggle="mobile-footer-customer-support" 7907 class="js-expandable-toggle footer--expandable-toggle btn-transparent 7908 flex justify-between items-center uppercase 7909 text-base tracking-wider text-left w-full 7910 px-0 py-4 text-white 7911 border-b border-white "> 7912 <h4 class="font-semibold text-base mb-0 uppercase font-freight-sans">Customer Support</h4> 7913 7914 <span class="h-8 w-8 p-2 flex items-center justify-center"> 7915 7916 7917 7918 7919 7920 <!-- snippets/icon (plus) [aa/ja] --> 7921 7922 7923<svg 7924 class=" 7925 icon icon-plus w-2 js-plus 7926" 7927 width="15" 7928 height="15" 7929 viewBox="0 0 15 15" 7930 fill="none" 7931 xmlns="http://www.w3.org/2000/svg"> 7932 <path d="M14.2837 5.97924H9.09344V0.726642C9.09075 0.53476 9.01333 0.351491 8.87764 0.215796C8.74195 0.0801017 8.55868 0.00268406 8.36679 0H6.69551C6.5046 0.00272761 6.32243 0.080486 6.1884 0.216464C6.05436 0.352441 5.97923 0.53571 5.97925 0.726642V5.97924H0.72666C0.535727 5.97922 0.352453 6.05435 0.216475 6.18838C0.0804974 6.32242 0.00273905 6.50459 1.14441e-05 6.6955V8.36678C0.00269551 8.55866 0.0801151 8.74193 0.21581 8.87763C0.351504 9.01332 0.534777 9.09074 0.72666 9.09342H5.97925V14.2837C5.97925 14.4737 6.05471 14.6559 6.18904 14.7902C6.32336 14.9245 6.50555 15 6.69551 15H8.36679C8.55773 15 8.741 14.9249 8.87698 14.7909C9.01295 14.6568 9.09071 14.4746 9.09344 14.2837V9.09342H14.2837C14.4747 9.0907 14.6568 9.01294 14.7909 8.87696C14.9249 8.74098 15 8.55771 15 8.36678V6.6955C15 6.60144 14.9815 6.5083 14.9455 6.4214C14.9095 6.3345 14.8567 6.25554 14.7902 6.18903C14.7237 6.12251 14.6448 6.06975 14.5578 6.03376C14.4709 5.99776 14.3778 5.97924 14.2837 5.97924V5.97924Z" fill="currentColor"/> 7933 </svg> 7934 <!-- snippets/icon (minus) [aa/ja] --> 7935 7936 7937<svg 7938 class=" 7939 icon icon-minus w-2 hidden js-minus 7940" 7941 width="15" 7942 height="15"
7943 viewBox="0 0 15 15" 7944 fill="none" 7945 xmlns="http://www.w3.org/2000/svg"> 7946 <path d="M13.8 6H0.7C0.313401 6 0 6.3134 0 6.7V8.3C0 8.6866 0.313401 9 0.7 9H13.8C14.1866 9 14.5 8.6866 14.5 8.3V6.7C14.5 6.3134 14.1866 6 13.8 6Z" fill="currentColor"/> 7947 </svg> 7948 </span> 7949 </button> 7950 </div> 7951 <dl> 7952 <dd id="mobile-footer-customer-support" 7953 class="js-expandable-content text-base " 7954 style="display: none;" 7955 aria-expanded="false"> 7956 <ul><li class="mb-3 text-base font-freight-sans"> 7957 <a href="/pages/find-ccc">Find Counter Culture</a> 7958 </li><li class="mb-3 text-base font-freight-sans"> 7959 <a href="/pages/contact-us">Contact Us</a> 7960 </li><li class="mb-3 text-base font-freight-sans"> 7961 <a href="/pages/help-faq">FAQ</a> 7962 </li><li class="mb-3 text-base font-freight-sans"> 7963 <a href="/pages/accessibility-statement">Accessibility Statement</a> 7964 </li><li class="mb-3 text-base font-freight-sans"> 7965 <a href="/pages/code-of-business">Code of Business</a> 7966 </li></ul> 7967 </dd> 7968 </dl> 7969 7970 7971 7972 7973 7974</ul> 7975 7976 7977 7978 7979 <!-- snippets/footer-menu-mobile --><ul class="list-none "> 7980 <div class=""> 7981 <button type="button" 7982 aria-label="" 7983 aria-controls="mobile-footer-wholesale" 7984 data-toggle="mobile-footer-wholesale" 7985 class="js-expandable-toggle footer--expandable-toggle btn-transparent 7986 flex justify-between items-center uppercase 7987 text-base tracking-wider text-left w-full 7988 px-0 py-4 text-white 7989 border-b border-transparent "> 7990 <h4 class="font-semibold text-base mb-0 uppercase font-freight-sans">Wholesale</h4> 7991 7992 <span class="h-8 w-8 p-2 flex items-center justify-center"> 7993 7994 7995 7996 7997 7998 <!-- snippets/icon (plus) [aa/ja] --> 7999 8000 8001<svg 8002 class=" 8003 icon icon-plus w-2 js-plus 8004" 8005 width="15" 8006 height="15" 8007 viewBox="0 0 15 15" 8008 fill="none" 8009 xmlns="http://www.w3.org/2000/svg"> 8010 <path d="M14.2837 5.97924H9.09344V0.726642C9.09075 0.53476 9.01333 0.351491 8.87764 0.215796C8.74195 0.0801017 8.55868 0.00268406 8.36679 0H6.69551C6.5046 0.00272761 6.32243 0.080486 6.1884 0.216464C6.05436 0.352441 5.97923 0.53571 5.97925 0.726642V5.97924H0.72666C0.535727 5.97922 0.352453 6.05435 0.216475 6.18838C0.0804974 6.32242 0.00273905 6.50459 1.14441e-05 6.6955V8.36678C0.00269551 8.55866 0.0801151 8.74193 0.21581 8.87763C0.351504 9.01332 0.534777 9.09074 0.72666 9.09342H5.97925V14.2837C5.97925 14.4737 6.05471 14.6559 6.18904 14.7902C6.32336 14.9245 6.50555 15 6.69551 15H8.36679C8.55773 15 8.741 14.9249 8.87698 14.7909C9.01295 14.6568 9.09071 14.4746 9.09344 14.2837V9.09342H14.2837C14.4747 9.0907 14.6568 9.01294 14.7909 8.87696C14.9249 8.74098 15 8.55771 15 8.36678V6.6955C15 6.60144 14.9815 6.5083 14.9455 6.4214C14.9095 6.3345 14.8567 6.25554 14.7902 6.18903C14.7237 6.12251 14.6448 6.06975 14.5578 6.03376C14.4709 5.99776 14.3778 5.97924 14.2837 5.97924V5.97924Z" fill="currentColor"/> 8011 </svg> 8012 <!-- snippets/icon (minus) [aa/ja] --> 8013 8014 8015<svg 8016 class=" 8017 icon icon-minus w-2 hidden js-minus 8018" 8019 width="15" 8020 height="15" 8021 viewBox="0 0 15 15" 8022 fill="none" 8023 xmlns="http://www.w3.org/2000/svg"> 8024 <path d="M13.8 6H0.7C0.313401 6 0 6.3134 0 6.7V8.3C0 8.6866 0.313401 9 0.7 9H13.8C14.1866 9 14.5 8.6866 14.5 8.3V6.7C14.5 6.3134 14.1866 6 13.8 6Z" fill="currentColor"/> 8025 </svg> 8026 </span> 8027 </button> 8028 </div> 8029 <dl> 8030 <dd id="mobile-footer-wholesale" 8031 class="js-expandable-content text-base " 8032 style="display: none;" 8033 aria-expanded="false"> 8034 <ul><li class="mb-3 text-base font-freight-sans"> 8035 <a href="https://wholesale.counterculturecoffee.com/collections/coffee">Wholesale Login</a> 8036 </li><li class="mb-3 text-base font-freight-sans"> 8037 <a href="/pages/corporate-gift-event-program">Corporate Gifts</a> 8038 </li><li class="mb-3 text-base font-freight-sans"> 8039 <a href="/pages/partner-with-us">Partner With Us</a> 8040 </li><li class="mb-3 text-base font-freight-sans"> 8041 <a href="/pages/tech-service">Tech Request </a> 8042 </li></ul> 8043 </dd> 8044 </dl> 8045 8046 8047 8048 8049 8050</ul> 8051 8052</div> 8053 8054 8055 </div> 8056 8057 <ul class="mt-8 w-full xl:w-1/2 mx-auto list-none flex justify-center"><li class="text-xs md:text-sm text-white px-2 md:px-4 text-center border-r border-white font-freight-sans"> 8058 <a href="/pages/privacy-policy"> 8059 Privacy Policy<span class="sr-only"> Footer</span></a> 8060 </li><li class="text-xs md:text-sm text-white px-2 md:px-4 text-center border-r border-white font-freight-sans"> 8061 <a href="/pages/terms-of-service"> 8062 Terms & Conditions</a> 8063 </li><li class="text-xs md:text-sm text-white px-2 md:px-4 text-center font-freight-sans"> 8064 <a href="/"> 8065 © Counter Culture Coffee 2026</a> 8066 </li></ul> 8067 8068</footer> 8069 8070 8071 8072</div> 8073 8074 8075 8076 8077 8078
8078<script type="lazyJs" data-lazy-name="heavy" data-src="//counterculturecoffee.com/cdn/shop/t/132/assets/lazysizes.min.js?v=114800795892960918641758798393"></script>
8078 8079 8080 <!-- common.js will NOT execute because type is lazyJs --> 8081
8081<script type="lazyJs" data-lazy-name="heavy" data-src="//counterculturecoffee.com/cdn/shop/t/132/assets/common.js?v=921538874869587211784808782"></script>
8081 8082 8083 8084
8084<script> 8085 // Phase 1: Load critical polyfills immediately 8086 (function() { 8087 // Only absolutely critical code here (max 100 lines) 8088 window.criticalFunctions = { 8089 8090 }; 8091 8092 class RevealAnimation2 { 8093 constructor(targetSelector) { 8094 this.targets = document.querySelectorAll(targetSelector); 8095 this.triggerClass = 'animate-animated'; 8096 this.observer = null; 8097 } 8098 8099 init() { 8100 if (!this.targets.length) { 8101 console.warn(`No elements found with selector "${this.targetSelector}"`); 8102 return; 8103 } 8104 8105 this.initAnimationsObserver(); 8106 } 8107 8108 initAnimationsObserver() { 8109 if ('IntersectionObserver' in window) { 8110 const options = { 8111 root: null, 8112 rootMargin: '0px', 8113 threshold: 0.05 8114 }; 8115 8116 this.observer = new IntersectionObserver((entries) => this.observeAnimations(entries), options); 8117 8118 // Observe all target elements 8119 this.targets.forEach(target => { 8120 this.observer.observe(target); 8121 }); 8122 } else { 8123 // Fallback for browsers without IntersectionObserver 8124 this.fallbackAnimation(); 8125 } 8126 } 8127 8128 observeAnimations(entries) { 8129 entries.forEach((entry) => { 8130 if (entry.isIntersecting) { 8131 const target = entry.target; 8132 8133 if (!target.classList.contains(this.triggerClass)) { 8134 const delay = this.getAnimationDelay(target); 8135 this.triggerAnimation(target, delay); 8136 8137 // Stop observing after animation is triggered (optional) 8138 if (this.observer) { 8139 this.observer.unobserve(target); 8140 } 8141 } 8142 } 8143 }); 8144 } 8145 8146 getAnimationDelay(target) { 8147 const mobileDelay = target.getAttribute('data-mobile-delay'); 8148 const delay = target.getAttribute('data-delay'); 8149 8150 if (window.innerWidth < 567 && mobileDelay) { 8151 return parseInt(mobileDelay, 10) || 0; 8152 } 8153 8154 return delay ? parseInt(delay, 10) : 0; 8155 } 8156 8157 triggerAnimation(target, delay = 0) { 8158 setTimeout(() => { 8159 target.classList.add(this.triggerClass); 8160 target.classList.remove('animate'); 8161 }, delay); 8162 } 8163 8164 fallbackAnimation() { 8165 this.targets.forEach(target => { 8166 const delay = this.getAnimationDelay(target); 8167 this.triggerAnimation(target, delay); 8168 }); 8169 } 8170 8171 // Optional: Method to destroy the observer 8172 destroy() { 8173 if (this.observer) { 8174 this.observer.disconnect(); 8175 this.observer = null; 8176 } 8177 } 8178 } 8179 8180 // Helper function similar to elementsExist 8181 function elementsExist(elements) { 8182 if (!elements || !elements.length) return false; 8183 return Array.from(elements).every(element => element !== null && element !== undefined); 8184 } 8185 8186 // Usage example: 8187 document.addEventListener('DOMContentLoaded', function() { 8188 const revealAnimation = new RevealAnimation2('.animate'); 8189 revealAnimation.init(); 8190 8191 8192 8193 document.querySelectorAll('.js-product-image-slider.product--image-slider img.lazyload').forEach(img => { 8194 img.classList.add('lazyloaded'); 8195 img.classList.remove('lazyload'); 8196 }); 8197 8198 8199 console.log("request.page_type","product"); 8200 8201 8202 8203 }); 8204 8205 // Alternative usage with multiple instances if needed: 8206 function initAllRevealAnimations() { 8207 // Initialize for .animate elements 8208 const revealAnimation = new RevealAnimation2('.animate'); 8209 revealAnimation.init(); 8210 8211 // You can create multiple instances for different selectors 8212 const fadeInAnimation = new RevealAnimation2('.fade-in'); 8213 fadeInAnimation.init(); 8214 8215 const slideUpAnimation = new RevealAnimation2('.slide-up'); 8216 slideUpAnimation.init(); 8217 } 8218 8219 // Call when DOM is ready 8220 if (document.readyState === 'loading') { 8221 document.addEventListener('DOMContentLoaded', initAllRevealAnimations); 8222 } else { 8223 initAllRevealAnimations(); 8224 } 8225 8226 })(); 8227 8228 // Phase 2: Load the rest intelligently 8229 (function() { 8230 var loadingMethod = 'idle'; 8231 8232 })(); 8233 </script>
8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 <!-- snippets/tracking-scripts --> 8247 8248 8249 <!-- snippets/additional-scripts --> 8250 8251 8252
8253<script src="https://player.vimeo.com/api/player.js" defer></script>
8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264
8264<script> 8265 let url = window.location.href; 8266 if (url.includes('/collections/gemini')) { 8267 location.href = '/collections/featured'; 8268 } 8269 </script>
8269 8270 8271 8272
8272<script> 8273 const attentiveNotifyWrapper = document.querySelector('#attentive-custom-notify') 8274 // console.log(attentiveNotifyWrapper) 8275 if(attentiveNotifyWrapper){ 8276 attentiveNotifyWrapper.classList.add('opacity-0', 'h-0') 8277 } 8278 8279 window.addEventListener("load", () => { 8280 8281 const elements = document.querySelectorAll('.attn-notify'); 8282 8283 elements.forEach(el => { 8284 el.style.borderRadius = "9999px"; 8285 el.style.width = "fit-content"; 8286 el.style.paddingTop = "0.75rem"; 8287 el.style.paddingBottom = "0.75rem"; 8288 el.style.paddingLeft = "1.25rem"; 8289 el.style.paddingRight = "1.25rem"; 8290 el.style.textAlign = "center"; 8291 el.style.fontFamily = "freight-sans-pro, sans-serif"; 8292 el.style.fontSize = "1rem"; 8293 el.style.lineHeight = "1.5rem"; 8294 el.style.fontWeight = "600"; 8295 el.style.textTransform = "uppercase"; 8296 el.style.letterSpacing = "0.05em"; 8297 el.style.display = "inline-block"; 8298 el.style.outlineColor = "#000"; 8299 el.style.boxSizing = "border-box"; 8300 el.style.position = "relative"; 8301 el.style.boxShadow = "0px 0px #000F8F"; 8302 el.style.border = "2px solid transparent"; 8303 el.style.transition = "all .15s linear"; 8304 el.style.backgroundColor = "black"; 8305 el.style.color = "white"; 8306 }); 8307 8308 8309 if(attentiveNotifyWrapper){ 8310 // Set a delay of 500ms before making the wrapper visible 8311 setTimeout(() => { 8312 attentiveNotifyWrapper.classList.remove('opacity-0', 'h-0'); 8313 attentiveNotifyWrapper.classList.add('opacity-100', 'h-auto'); 8314 attentiveNotifyWrapper.style.transition = 'opacity 0.5s ease, height 0.5s ease'; 8315 }, 2500); // 2500ms delay 8316 } 8317 8318 }); 8319 8320 </script>
8320 8321 8322<style> 8323.js-prev.slick-prev,.js-next.slick-next{margin-top:-35px;} 8324.grid-cart-btn{margin:auto 0 0;} 8325.grid-cart-btn button{width:100%} 8326.bv_main_container.bv_inline_rating_container_left{margin-top:0.5rem !important;} 8327#ctabutton1,.css-lez0du button{min-height:45px !important;max-height:45px !important;} 8328.pdp-card-all-con-border{border:none;border-right:solid 1px #000;} 8329.pdp-card-all-con-border-fav{border-right:solid 1px #000;} 8330.pdp-card-all-con-border-sub{border:solid 1px #000;width:98%;height:98%;margin:auto;} 8331.js-marquee .animate-animated{animation:6s both fadeIn;} 8332#brew-guides{border-left:none;border-right:none;} 8333 8334@media(min-width:1266px){ 8335 .max-w-sub-pdp-part{max-width:90%;margin:0 auto} 8336} 8337 8338@media(min-width:767px){ 8339 #shopify-section-template--17945598197837__efeae893-c742-43d7-9c69-e0e576b74a22 .clip-path-apple-template .product-card--img-container{min-height:40vh;height:40vh;} 8340 .max-width-d-list{max-width:450px;} 8341 .max-width-d-listv2{max-width:310px;} 8342} 8343.items-left a h3{ 8344 padding-right: 70px; 8345} 8346@media(max-width:767px){ 8347 .max-w-sub-pdp-part{max-width:100%;} 8348 .pdp-card-all-con-border{border-top:solid 1px #000;} 8349 .pdp-card-all-con-border-fav{border:solid 1px #000} 8350 .m-line-h-marquee{line-height:1.1;} 8351 .js-marquee-slider-main .animate-animated{animation:9s both fadeIn;} 8352 .items-left a h3{ 8353 font-size: 14px; 8354 padding-right: 50px; 8355 line-height: 1; 8356 } 8357 .js-cart--remove-item.right-1{ 8358 right: 2rem; 8359 } 8360} 8361@media(max-width:575px){ 8362 .bv_main_container.bv_inline_rating_container_left svg{ 8363 height:10px !important; 8364 width: 10px !important; 8365 } 8366 .js__section-marquee p{ 8367 line-height:1.2 !important; 8368 } 8369 p{ 8370 line-height:1.2; 8371 } 8372 h1 p{ 8373 line-height:1; 8374 } 8375} 8376 8377/* 216 a11y */ 8378@media(prefers-reduced-motion: reduce){ 8379 .js-marquee-slider-main li{ 8380 animation:none!important; 8381 } 8382} 8383</style> 8384 8385 8386
8386<script> 8387 /** 8388 * W3 Lazy Loader - Human Readable Version 8389 * 8390 * This script provides lazy loading for: 8391 * - Images 8392 * - Videos 8393 * - Iframes 8394 * - Background images 8395 */ 8396 8397(function() { 8398 "use strict"; 8399 8400 class LazyLoader { 8401 constructor() { 8402 // Map to store different IntersectionObserver instances 8403 this.observers = new Map(); 8404 8405 // Calculate how far before viewport to start loading 8406 this.rootMargin = this.calculateRootMargin(); 8407 8408 // Initialize all observers 8409 this.initObservers(); 8410 } 8411 8412 /** 8413 * Calculate the root margin for IntersectionObserver 8414 * Uses window.w3LazyloadByPx or defaults to 200px 8415 */ 8416 calculateRootMargin() { 8417 let margin = window.w3LazyloadByPx || 200; 8418 return `0px 0px ${margin}px 0px`; 8419 } 8420 8421 /** 8422 * Initialize all IntersectionObserver instances 8423 */ 8424 initObservers() { 8425 // Create observers for different element types 8426 const elementTypes = ["video", "iframe", "bgImg", "img"]; 8427 8428 elementTypes.forEach(type => { 8429 this.observers.set(type, new IntersectionObserver( 8430 (entries, observer) => this.handleIntersection(entries, observer, type), 8431 { 8432 rootMargin: this.rootMargin, 8433 threshold: 0.01, 8434 root: null 8435 } 8436 )); 8437 }); 8438 8439 // Set up mutation observer for dynamically added content 8440 this.initMutationObserver(); 8441 } 8442 8443 /** 8444 * Initialize MutationObserver to watch for DOM changes 8445 */ 8446 initMutationObserver() { 8447 this.mutationObserver = new MutationObserver(mutations => { 8448 mutations.forEach(mutation => { 8449 // Handle new nodes added to DOM 8450 if (mutation.type === 'childList') { 8451 mutation.addedNodes.forEach(node => { 8452 if (node.nodeType === Node.ELEMENT_NODE) { 8453 this.checkAndObserveElement(node); 8454 8455 // Check all child elements 8456 let children = node.querySelectorAll("*"); 8457 children.forEach(child => { 8458 this.checkAndObserveElement(child); 8459 }); 8460 } 8461 }); 8462 } 8463 8464 // Handle attribute changes 8465 if (mutation.type === 'attributes') { 8466 let target = mutation.target; 8467 if (target.nodeType === Node.ELEMENT_NODE) { 8468 this.checkAndObserveElement(target); 8469 } 8470 } 8471 }); 8472 }); 8473 8474 // Start observing the document body 8475 this.mutationObserver.observe(document.body, { 8476 childList: true, 8477 subtree: true, 8478 attributes: true, 8479 attributeFilter: ["data-class", "data-BgLz", "data-src", "data-srcset"] 8480 }); 8481 } 8482 8483 /** 8484 * Check if element should be lazy loaded and start observing it 8485 */ 8486 checkAndObserveElement(element) { 8487 // Background images 8488 if (element.getAttribute("data-BgLz") === "1") { 8489 this.observers.get("bgImg").observe(element); 8490 return; 8491 } 8492 8493 // Videos and audio 8494 if ((element.tagName === "VIDEO" || element.tagName === "AUDIO") && 8495 element.getAttribute("data-class") === "LazyLoad") { 8496 this.observers.get("video").observe(element); 8497 return; 8498 } 8499 8500 // Iframes 8501 if (element.tagName === "IFRAME" && 8502 element.getAttribute("data-class") === "LazyLoad") { 8503 this.observers.get("iframe").observe(element); 8504 return; 8505 } 8506 8507 // Images 8508 if (element.tagName === "IMG" && 8509 element.getAttribute("data-class") === "LazyLoad") { 8510 this.observers.get("img").observe(element); 8511 return; 8512 } 8513 } 8514 8515 /** 8516 * Handle intersection events when elements enter viewport 8517 */ 8518 handleIntersection(entries, observer, elementType) { 8519 entries.forEach(entry => { 8520 if (entry.isIntersecting) { 8521 // Stop observing and load the resource 8522 observer.unobserve(entry.target); 8523 8524 // Use requestAnimationFrame for smooth loading 8525 requestAnimationFrame(() => { 8526 this.loadResource(entry.target, elementType); 8527 }); 8528 } 8529 }); 8530 } 8531 8532 /** 8533 * Load the appropriate resource based on element type 8534 */ 8535 loadResource(element, elementType) { 8536 switch(elementType) { 8537 case "img": 8538 this.loadImg(element); 8539 break; 8540 case "video": 8541 this.loadVideo(element); 8542 break; 8543 case "iframe": 8544 this.loadIframe(element); 8545 break; 8546 case "bgImg":
8547 this.loadBackgroundImage(element); 8548 break; 8549 } 8550 } 8551 8552 /** 8553 * Load video element 8554 */ 8555 loadVideo(videoElement) { 8556 // Handle video sources 8557 let sources = videoElement.querySelectorAll("source"); 8558 8559 if (sources.length > 0) { 8560 sources.forEach(source => { 8561 // Load data-src to src 8562 if (!source.src && source.dataset.src) { 8563 source.src = source.dataset.src; 8564 source.removeAttribute("data-src"); 8565 } 8566 8567 // Load data-srcset to srcset 8568 if (source.dataset.srcset) { 8569 source.srcset = source.dataset.srcset; 8570 source.removeAttribute("data-srcset"); 8571 } 8572 }); 8573 8574 // Trigger video load 8575 videoElement.load(); 8576 } else if (videoElement.dataset.src) { 8577 // Direct video source 8578 videoElement.src = videoElement.dataset.src; 8579 videoElement.removeAttribute("data-src"); 8580 videoElement.load(); 8581 } 8582 8583 // Remove lazy load marker 8584 videoElement.removeAttribute("data-class"); 8585 8586 // Handle poster image 8587 if (videoElement.dataset.poster) { 8588 videoElement.poster = videoElement.dataset.poster; 8589 videoElement.removeAttribute("data-poster"); 8590 } 8591 8592 // Auto-play if specified 8593 if (videoElement.hasAttribute("autoplay")) { 8594 videoElement.play().catch(error => { 8595 console.warn("Autoplay failed:", error); 8596 }); 8597 } 8598 } 8599 8600 /** 8601 * Load image element 8602 */ 8603 loadImg(imgElement) { 8604 // Get the real image source 8605 let realSrc = imgElement.dataset.src || imgElement.src; 8606 8607 if (realSrc) { 8608 // Set the actual source 8609 imgElement.src = realSrc; 8610 8611 // Add fetchpriority for better loading 8612 imgElement.setAttribute("fetchpriority", "high"); 8613 8614 // Remove data attribute 8615 imgElement.removeAttribute("data-src"); 8616 } 8617 8618 // Remove lazy load marker 8619 imgElement.removeAttribute("data-class"); 8620 8621 // Handle responsive images 8622 if (imgElement.dataset.srcset) { 8623 imgElement.srcset = imgElement.dataset.srcset; 8624 imgElement.removeAttribute("data-srcset"); 8625 } 8626 } 8627 8628 /** 8629 * Load iframe element 8630 */ 8631 loadIframe(iframeElement) { 8632 // Get the real iframe source 8633 let realSrc = iframeElement.dataset.src || iframeElement.src; 8634 8635 if (realSrc) { 8636 // Set the actual source 8637 iframeElement.src = realSrc; 8638 iframeElement.removeAttribute("data-src"); 8639 } 8640 8641 // Remove lazy load marker 8642 iframeElement.removeAttribute("data-class"); 8643 } 8644 8645 /** 8646 * Load background image element 8647 */ 8648 loadBackgroundImage(element) { 8649 // Just remove the marker - CSS likely handles the rest 8650 element.removeAttribute("data-BgLz"); 8651 } 8652 } 8653 8654 /** 8655 * Main Lazy Loading Controller 8656 */ 8657 class W3LazyController { 8658 constructor() { 8659 // Initialize lazy loader 8660 this.lazyLoader = new LazyLoader(); 8661 8662 // Track initialization state 8663 this.initialized = false; 8664 } 8665 8666 /** 8667 * Initialize the lazy loading system 8668 */ 8669 init() { 8670 if (this.initialized) return; 8671 8672 // Start lazy loading for backgrounds 8673 setTimeout(() => this.startLazyLoading(), 10); 8674 8675 // Wait for jsload class before loading videos 8676 let checkInterval = setInterval(() => { 8677 if (window.w3Html?.class.indexOf("jsload") !== -1) { 8678 clearInterval(checkInterval); 8679 this.startLazyLoadingVideos(); 8680 } 8681 }, 500); 8682 8683 this.initialized = true; 8684 } 8685 8686 /** 8687 * Make an API call with retry logic 8688 */ 8689 w3CallFunc(url, maxRetries, retryDelay) { 8690 // Wait for jsload class 8691 if (window.w3Html?.class.indexOf("jsload") === -1) { 8692 return setTimeout(() => this.w3CallFunc(url, maxRetries, retryDelay), 1000); 8693 } 8694 8695 let retryCount = 0; 8696 8697 function makeCall() { 8698 var xhr = new XMLHttpRequest(); 8699 xhr.open("GET", url, true); 8700 8701 xhr.onreadystatechange = function() { 8702 if (xhr.readyState === 4 && xhr.status !== 200 && retryCount < maxRetries) { 8703 retryCount++; 8704 setTimeout(makeCall, retryDelay); 8705 } 8706 }; 8707 8708 xhr.send(); 8709 } 8710 8711 makeCall(); 8712 } 8713 8714 /** 8715 * Start lazy loading for videos, images, and iframes 8716 */ 8717 startLazyLoadingVideos() { 8718 // Small delay before starting 8719 setTimeout(() => { 8720 this.loadImgs(); 8721 this.loadVideos(); 8722 this.loadIframes(); 8723 }, 100); 8724 8725 // Make API call if configured 8726 if (window.w3Call && window.w3CallUrl) { 8727 this.w3CallFunc(window.w3CallUrl, 2, 30000); 8728 } 8729 } 8730 8731 /** 8732 * Start lazy loading for background images 8733 */ 8734 startLazyLoading() { 8735 setTimeout(() => {
8736 this.loadBackgrounds(); 8737 }, 100); 8738 } 8739 8740 /** 8741 * Load all lazy images 8742 */ 8743 loadImgs() { 8744 let images = document.querySelectorAll("img[data-class='LazyLoad']"); 8745 this.observeElements(images, "img"); 8746 } 8747 8748 /** 8749 * Load all lazy videos and audio 8750 */ 8751 loadVideos() { 8752 let videos = document.querySelectorAll("video[data-class='LazyLoad'], audio[data-class='LazyLoad']"); 8753 this.observeElements(videos, "video"); 8754 } 8755 8756 /** 8757 * Load all lazy iframes 8758 */ 8759 loadIframes() { 8760 let iframes = document.querySelectorAll("iframe[data-class='LazyLoad']"); 8761 this.observeElements(iframes, "iframe"); 8762 } 8763 8764 /** 8765 * Load all lazy background images 8766 */ 8767 loadBackgrounds() { 8768 let backgrounds = document.querySelectorAll( 8769 'iframe[data-BgLz="1"], div[data-BgLz="1"], section[data-BgLz="1"]' 8770 ); 8771 this.observeElements(backgrounds, "bgImg"); 8772 } 8773 8774 /** 8775 * Start observing a collection of elements 8776 */ 8777 observeElements(elements, elementType) { 8778 let observer = this.lazyLoader.observers.get(elementType); 8779 8780 if (observer) { 8781 elements.forEach(element => { 8782 // Ensure clean observation 8783 observer.unobserve(element); 8784 observer.observe(element); 8785 }); 8786 } 8787 } 8788 } 8789 8790 // Create and initialize the controller 8791 let controller = new W3LazyController(); 8792 controller.init(); 8793 8794})(); 8795</script>
8795 8796 8797 8798<div id="shopify-block-AWlJLUmlLUTAySkRqM__16387799423947206774" class="shopify-block shopify-app-block"> 8799
8799<script src="https://cdn.shopify.com/extensions/01a03242-4a23-744a-93bc-f3bb10405d62/embed-contact-form-8/assets/form-builder-helper-v2.js" defer="defer"></script>
8799 8800 8801 8802</div><div id="shopify-block-AMXlNNXM5SWtGZ0cxR__17151115064775110295" class="shopify-block shopify-app-block"><style data-recharge-theme='{"has_theme_customization": true, "design_mode": false }'> 8803 .recharge-theme { 8804 /* App */ 8805 --recharge-app-background: #FFFFFF; 8806 --recharge-app-container: 1200px; 8807 --recharge-app-vertical-padding: 32px; 8808 8809 /* Brand colors */ 8810 8811--recharge-color-brand: #050505; 8812 8813 /* Tints */ 8814 --recharge-color-brand-120: #000000; 8815 --recharge-color-brand-20: #373737; 8816 --recharge-color-brand-40: #696969; 8817 --recharge-color-brand-60: #9b9b9b; 8818 --recharge-color-brand-75: #c1c1c1; 8819 --recharge-color-brand-85: #dadada; 8820 8821 /* Neutral */ 8822 --recharge-color-neutral: hsl(0, 35%, 7%); 8823 --recharge-color-neutral-80: hsl(0, 7%, 25%); 8824 --recharge-color-neutral-70: hsl(0, 5%, 35%); 8825 --recharge-color-neutral-40: hsl(0, 3%, 63%); 8826 --recharge-color-neutral-10: hsl(0, 2%, 91%); 8827 8828 8829 /* Links */ 8830 --recharge-button-secondary: #01108F; 8831 --recharge-button-secondary-120: #010b62; 8832 --recharge-button-secondary-60: #6770bc; 8833 8834 /* Images */ 8835 --recharge-images-ratio: 1; 8836 8837 /* Cards */ 8838 8839 --recharge-cards-background: #FFFFFF; 8840 8841 8842 8843 --recharge-cards-border-color: #121212; 8844 8845 8846 /* Fonts */ 8847 --recharge-typography-scale: 16px; 8848 --recharge-typography-size-1: calc(3 * var(--recharge-typography-scale)); 8849 --recharge-typography-size-2: calc(2.25 * var(--recharge-typography-scale)); 8850 --recharge-typography-size-3: calc(1.625 * var(--recharge-typography-scale)); 8851 --recharge-typography-size-4: calc(1.25 * var(--recharge-typography-scale)); 8852 --recharge-typography-size-5: calc(1 * var(--recharge-typography-scale)); 8853 --recharge-typography-size-6: calc(.875 * var(--recharge-typography-scale)); 8854 8855 /** Text **/ 8856 --recharge-typography-light: #FFFFFF; 8857 --recharge-typography-primary: var(--recharge-color-neutral); 8858 --recharge-typography-secondary: var(--recharge-color-neutral-70); 8859 8860 /* Corners */ 8861 --recharge-corners-radius: 16px; 8862 8863 8864 /* Button corners */ 8865 --recharge-button-border-radius: calc(var(--recharge-corners-radius) * 1.5); 8866 8867 /* Views */ 8868 8869 --recharge-views-background: #FFFFFF; 8870 8871 8872 /* Buttons */ 8873 --recharge-button-font-family: inherit; 8874 --recharge-button-brand: var(--recharge-color-brand); 8875 --recharge-button-color: #FFFFFF; 8876 } 8877</style> 8878 8879</div>
8879<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
8879 8880</body> 8881</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.