PageSourceSearch

https://counterculturecoffee.com/products/office-coffee-subscription

html counterculturecoffee.com collected 2026-09-24 18:18:49 UTC 540,534 bytes, 8,881 lines download raw bytes

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 &ndash; 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&#39;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&#39;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&#39;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&#39;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">&nbsp;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.