CINXE.COM

For Bitter For Worse - Nonalcoholic (NA) Drinks

<!doctype html> <html class="no-js" lang="en"> <head> <script type="application/vnd.locksmith+json" data-locksmith>{"version":"v160","locked":false,"initialized":true,"scope":"index","access_granted":true,"access_denied":false,"requires_customer":false,"manual_lock":false,"remote_lock":false,"has_timeout":false,"remote_rendered":null,"hide_resource":false,"hide_links_to_resource":false,"transparent":true,"locks":{"all":[],"opened":[]},"keys":[],"keys_signature":"e59a4435124ef32df563f9003ec498bd5d4bc91f430ac9093fca154d559d02fa","state":{"template":"index","theme":142940897501,"product":null,"collection":null,"page":null,"blog":null,"article":null,"app":null},"now":1732721753,"path":"\/","locale_root_url":"\/","canonical_url":"https:\/\/forbitterforworse.com\/","customer_id":null,"customer_id_signature":"e59a4435124ef32df563f9003ec498bd5d4bc91f430ac9093fca154d559d02fa","cart":null}</script><script data-locksmith>!function(){var require=undefined,reqwest=function(){function succeed(e){var t=protocolRe.exec(e.url);return t=t&&t[1]||context.location.protocol,httpsRe.test(t)?twoHundo.test(e.request.status):!!e.request.response}function handleReadyState(e,t,n){return function(){return e._aborted?n(e.request):e._timedOut?n(e.request,"Request is aborted: timeout"):void(e.request&&4==e.request[readyState]&&(e.request.onreadystatechange=noop,succeed(e)?t(e.request):n(e.request)))}}function setHeaders(e,t){var n,s=t.headers||{};s.Accept=s.Accept||defaultHeaders.accept[t.type]||defaultHeaders.accept["*"];var r="undefined"!=typeof FormData&&t.data instanceof FormData;for(n in!t.crossOrigin&&!s[requestedWith]&&(s[requestedWith]=defaultHeaders.requestedWith),!s[contentType]&&!r&&(s[contentType]=t.contentType||defaultHeaders.contentType),s)s.hasOwnProperty(n)&&"setRequestHeader"in e&&e.setRequestHeader(n,s[n])}function setCredentials(e,t){"undefined"!=typeof t.withCredentials&&"undefined"!=typeof e.withCredentials&&(e.withCredentials=!!t.withCredentials)}function generalCallback(e){lastValue=e}function urlappend(e,t){return e+(/[?]/.test(e)?"&":"?")+t}function handleJsonp(e,t,n,s){var r=uniqid++,a=e.jsonpCallback||"callback",o=e.jsonpCallbackName||reqwest.getcallbackPrefix(r),i=new RegExp("((^|[?]|&)"+a+")=([^&]+)"),l=s.match(i),c=doc.createElement("script"),u=0,d=-1!==navigator.userAgent.indexOf("MSIE 10.0");return l?"?"===l[3]?s=s.replace(i,"$1="+o):o=l[3]:s=urlappend(s,a+"="+o),context[o]=generalCallback,c.type="text/javascript",c.src=s,c.async=!0,"undefined"!=typeof c.onreadystatechange&&!d&&(c.htmlFor=c.id="_reqwest_"+r),c.onload=c.onreadystatechange=function(){if(c[readyState]&&"complete"!==c[readyState]&&"loaded"!==c[readyState]||u)return!1;c.onload=c.onreadystatechange=null,c.onclick&&c.onclick(),t(lastValue),lastValue=undefined,head.removeChild(c),u=1},head.appendChild(c),{abort:function(){c.onload=c.onreadystatechange=null,n({},"Request is aborted: timeout",{}),lastValue=undefined,head.removeChild(c),u=1}}}function getRequest(e,t){var n,s=this.o,r=(s.method||"GET").toUpperCase(),a="string"==typeof s?s:s.url,o=!1!==s.processData&&s.data&&"string"!=typeof s.data?reqwest.toQueryString(s.data):s.data||null,i=!1;return("jsonp"==s.type||"GET"==r)&&o&&(a=urlappend(a,o),o=null),"jsonp"==s.type?handleJsonp(s,e,t,a):((n=s.xhr&&s.xhr(s)||xhr(s)).open(r,a,!1!==s.async),setHeaders(n,s),setCredentials(n,s),context[xDomainRequest]&&n instanceof context[xDomainRequest]?(n.onload=e,n.onerror=t,n.onprogress=function(){},i=!0):n.onreadystatechange=handleReadyState(this,e,t),s.before&&s.before(n),i?setTimeout(function(){n.send(o)},200):n.send(o),n)}function Reqwest(e,t){this.o=e,this.fn=t,init.apply(this,arguments)}function setType(e){return null===e?undefined:e.match("json")?"json":e.match("javascript")?"js":e.match("text")?"html":e.match("xml")?"xml":void 0}function init(o,fn){function complete(e){for(o.timeout&&clearTimeout(self.timeout),self.timeout=null;0<self._completeHandlers.length;)self._completeHandlers.shift()(e)}function success(resp){var type=o.type||resp&&setType(resp.getResponseHeader("Content-Type"));resp="jsonp"!==type?self.request:resp;var filteredResponse=globalSetupOptions.dataFilter(resp.responseText,type),r=filteredResponse;try{resp.responseText=r}catch(e){}if(r)switch(type){case"json":try{resp=context.JSON?context.JSON.parse(r):eval("("+r+")")}catch(err){return error(resp,"Could not parse JSON in response",err)}break;case"js":resp=eval(r);break;case"html":resp=r;break;case"xml":resp=resp.responseXML&&resp.responseXML.parseError&&resp.responseXML.parseError.errorCode&&resp.responseXML.parseError.reason?null:resp.responseXML}for(self._responseArgs.resp=resp,self._fulfilled=!0,fn(resp),self._successHandler(resp);0<self._fulfillmentHandlers.length;)resp=self._fulfillmentHandlers.shift()(resp);complete(resp)}function timedOut(){self._timedOut=!0,self.request.abort()}function error(e,t,n){for(e=self.request,self._responseArgs.resp=e,self._responseArgs.msg=t,self._responseArgs.t=n,self._erred=!0;0<self._errorHandlers.length;)self._errorHandlers.shift()(e,t,n);complete(e)}this.url="string"==typeof o?o:o.url,this.timeout=null,this._fulfilled=!1,this._successHandler=function(){},this._fulfillmentHandlers=[],this._errorHandlers=[],this._completeHandlers=[],this._erred=!1,this._responseArgs={};var self=this;fn=fn||function(){},o.timeout&&(this.timeout=setTimeout(function(){timedOut()},o.timeout)),o.success&&(this._successHandler=function(){o.success.apply(o,arguments)}),o.error&&this._errorHandlers.push(function(){o.error.apply(o,arguments)}),o.complete&&this._completeHandlers.push(function(){o.complete.apply(o,arguments)}),this.request=getRequest.call(this,success,error)}function reqwest(e,t){return new Reqwest(e,t)}function normalize(e){return e?e.replace(/\r?\n/g,"\r\n"):""}function serial(e,t){var n,s,r,a,o=e.name,i=e.tagName.toLowerCase(),l=function(e){e&&!e.disabled&&t(o,normalize(e.attributes.value&&e.attributes.value.specified?e.value:e.text))};if(!e.disabled&&o)switch(i){case"input":/reset|button|image|file/i.test(e.type)||(n=/checkbox/i.test(e.type),s=/radio/i.test(e.type),r=e.value,(!n&&!s||e.checked)&&t(o,normalize(n&&""===r?"on":r)));break;case"textarea":t(o,normalize(e.value));break;case"select":if("select-one"===e.type.toLowerCase())l(0<=e.selectedIndex?e.options[e.selectedIndex]:null);else for(a=0;e.length&&a<e.length;a++)e.options[a].selected&&l(e.options[a])}}function eachFormElement(){var e,t,a=this,n=function(e,t){var n,s,r;for(n=0;n<t.length;n++)for(r=e[byTag](t[n]),s=0;s<r.length;s++)serial(r[s],a)};for(t=0;t<arguments.length;t++)e=arguments[t],/input|select|textarea/i.test(e.tagName)&&serial(e,a),n(e,["input","select","textarea"])}function serializeQueryString(){return reqwest.toQueryString(reqwest.serializeArray.apply(null,arguments))}function serializeHash(){var n={};return eachFormElement.apply(function(e,t){e in n?(n[e]&&!isArray(n[e])&&(n[e]=[n[e]]),n[e].push(t)):n[e]=t},arguments),n}function buildParams(e,t,n,s){var r,a,o,i=/\[\]$/;if(isArray(t))for(a=0;t&&a<t.length;a++)o=t[a],n||i.test(e)?s(e,o):buildParams(e+"["+("object"==typeof o?a:"")+"]",o,n,s);else if(t&&"[object Object]"===t.toString())for(r in t)buildParams(e+"["+r+"]",t[r],n,s);else s(e,t)}var context=this,XHR2;if("window"in context)var doc=document,byTag="getElementsByTagName",head=doc[byTag]("head")[0];else try{XHR2=require("xhr2")}catch(ex){throw new Error("Peer dependency `xhr2` required! Please npm install xhr2")}var httpsRe=/^http/,protocolRe=/(^\w+):\/\//,twoHundo=/^(20\d|1223)$/,readyState="readyState",contentType="Content-Type",requestedWith="X-Requested-With",uniqid=0,callbackPrefix="reqwest_"+ +new Date,lastValue,xmlHttpRequest="XMLHttpRequest",xDomainRequest="XDomainRequest",noop=function(){},isArray="function"==typeof Array.isArray?Array.isArray:function(e){return e instanceof Array},defaultHeaders={contentType:"application/x-www-form-urlencoded",requestedWith:xmlHttpRequest,accept:{"*":"text/javascript, text/html, application/xml, text/xml, */*",xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript",js:"application/javascript, text/javascript"}},xhr=function(e){if(!0!==e.crossOrigin)return context[xmlHttpRequest]?new XMLHttpRequest:XHR2?new XHR2:new ActiveXObject("Microsoft.XMLHTTP");var t=context[xmlHttpRequest]?new XMLHttpRequest:null;if(t&&"withCredentials"in t)return t;if(context[xDomainRequest])return new XDomainRequest;throw new Error("Browser does not support cross-origin requests")},globalSetupOptions={dataFilter:function(e){return e}};return Reqwest.prototype={abort:function(){this._aborted=!0,this.request.abort()},retry:function(){init.call(this,this.o,this.fn)},then:function(e,t){return e=e||function(){},t=t||function(){},this._fulfilled?this._responseArgs.resp=e(this._responseArgs.resp):this._erred?t(this._responseArgs.resp,this._responseArgs.msg,this._responseArgs.t):(this._fulfillmentHandlers.push(e),this._errorHandlers.push(t)),this},always:function(e){return this._fulfilled||this._erred?e(this._responseArgs.resp):this._completeHandlers.push(e),this},fail:function(e){return this._erred?e(this._responseArgs.resp,this._responseArgs.msg,this._responseArgs.t):this._errorHandlers.push(e),this},"catch":function(e){return this.fail(e)}},reqwest.serializeArray=function(){var n=[];return eachFormElement.apply(function(e,t){n.push({name:e,value:t})},arguments),n},reqwest.serialize=function(){if(0===arguments.length)return"";var e,t=Array.prototype.slice.call(arguments,0);return(e=t.pop())&&e.nodeType&&t.push(e)&&(e=null),e&&(e=e.type),("map"==e?serializeHash:"array"==e?reqwest.serializeArray:serializeQueryString).apply(null,t)},reqwest.toQueryString=function(e,t){var n,s,r=t||!1,a=[],o=encodeURIComponent,i=function(e,t){t="function"==typeof t?t():null==t?"":t,a[a.length]=o(e)+"="+o(t)};if(isArray(e))for(s=0;e&&s<e.length;s++)i(e[s].name,e[s].value);else for(n in e)e.hasOwnProperty(n)&&buildParams(n,e[n],r,i);return a.join("&").replace(/%20/g,"+")},reqwest.getcallbackPrefix=function(){return callbackPrefix},reqwest.compat=function(e,t){return e&&(e.type&&(e.method=e.type)&&delete e.type,e.dataType&&(e.type=e.dataType),e.jsonpCallback&&(e.jsonpCallbackName=e.jsonpCallback)&&delete e.jsonpCallback,e.jsonp&&(e.jsonpCallback=e.jsonp)),new Reqwest(e,t)},reqwest.ajaxSetup=function(e){for(var t in e=e||{})globalSetupOptions[t]=e[t]},reqwest}(); /*! * Reqwest! A general purpose XHR connection manager * license MIT (c) Dustin Diaz 2015 * https://github.com/ded/reqwest */!function(){var o=window.Locksmith={},e=document.querySelector('script[type="application/vnd.locksmith+json"]'),n=e&&e.innerHTML;if(o.state={},o.util={},o.loading=!1,n)try{o.state=JSON.parse(n)}catch(u){}if(document.addEventListener&&document.querySelector){var s,r,a,t=[76,79,67,75,83,77,73,84,72,49,49],i=function(){r=t.slice(0)},l="style",c=function(e){e&&27!==e.keyCode&&"click"!==e.type||(document.removeEventListener("keydown",c),document.removeEventListener("click",c),s&&document.body.removeChild(s),s=null)};i(),document.addEventListener("keyup",function(e){if(e.keyCode===r[0]){if(clearTimeout(a),r.shift(),0<r.length)return void(a=setTimeout(i,1e3));i(),c(),(s=document.createElement("div"))[l].width="50%",s[l].maxWidth="1000px",s[l].height="85%",s[l].border="1px rgba(0, 0, 0, 0.2) solid",s[l].background="rgba(255, 255, 255, 0.99)",s[l].borderRadius="4px",s[l].position="fixed",s[l].top="50%",s[l].left="50%",s[l].transform="translateY(-50%) translateX(-50%)",s[l].boxShadow="0 2px 5px rgba(0, 0, 0, 0.3), 0 0 100vh 100vw rgba(0, 0, 0, 0.5)",s[l].zIndex="2147483645";var t=document.createElement("textarea");t.value=JSON.stringify(JSON.parse(n),null,2),t[l].border="none",t[l].display="block",t[l].boxSizing="border-box",t[l].width="100%",t[l].height="100%",t[l].background="transparent",t[l].padding="22px",t[l].fontFamily="monospace",t[l].fontSize="14px",t[l].color="#333",t[l].resize="none",t[l].outline="none",t.readOnly=!0,s.appendChild(t),document.body.appendChild(s),t.addEventListener("click",function(e){e.stopImmediatePropagation()}),t.select(),document.addEventListener("keydown",c),document.addEventListener("click",c)}})}o.isEmbedded=-1!==window.location.search.indexOf("_ab=0&_fd=0&_sc=1"),o.path=o.state.path||window.location.pathname,o.basePath=o.state.locale_root_url.concat("/apps/locksmith").replace(/^\/\//,"/"),o.reloading=!1,o.util.console=window.console||{log:function(){},error:function(){}},o.util.makeUrl=function(e,t){var n,s=o.basePath+e,r=[],a=o.cache();for(n in a)r.push(n+"="+encodeURIComponent(a[n]));for(n in t)r.push(n+"="+encodeURIComponent(t[n]));return o.state.customer_id&&(r.push("customer_id="+encodeURIComponent(o.state.customer_id)),r.push("customer_id_signature="+encodeURIComponent(o.state.customer_id_signature))),s+=(-1===s.indexOf("?")?"?":"&")+r.join("&")},o._initializeCallbacks=[],o.on=function(e,t){if("initialize"!==e)throw'Locksmith.on() currently only supports the "initialize" event';o._initializeCallbacks.push(t)},o.initializeSession=function(e){if(!o.isEmbedded){var t=!1,n=!0,s=!0;(e=e||{}).silent&&(s=n=!(t=!0)),o.ping({silent:t,spinner:n,reload:s,callback:function(){o._initializeCallbacks.forEach(function(e){e()})}})}},o.cache=function(e){var t={};try{var n=function r(e){return(document.cookie.match("(^|; )"+e+"=([^;]*)")||0)[2]};t=JSON.parse(decodeURIComponent(n("locksmith-params")||"{}"))}catch(u){}if(e){for(var s in e)t[s]=e[s];document.cookie="locksmith-params=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/",document.cookie="locksmith-params="+encodeURIComponent(JSON.stringify(t))+"; path=/"}return t},o.cache.cart=o.state.cart,o.cache.cartLastSaved=null,o.params=o.cache(),o.util.reload=function(){o.reloading=!0;try{window.location.href=window.location.href.replace(/#.*/,"")}catch(u){o.util.console.error("Preferred reload method failed",u),window.location.reload()}},o.cache.saveCart=function(e){if(!o.cache.cart||o.cache.cart===o.cache.cartLastSaved)return e?e():null;var t=o.cache.cartLastSaved;o.cache.cartLastSaved=o.cache.cart,reqwest({url:"/cart/update.json",method:"post",type:"json",data:{attributes:{locksmith:o.cache.cart}},complete:e,error:function(e){if(o.cache.cartLastSaved=t,!o.reloading)throw e}})},o.util.spinnerHTML='<style>body{background:#FFF}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}#loading{display:flex;width:100%;height:50vh;color:#777;align-items:center;justify-content:center}#loading .spinner{display:block;animation:spin 600ms linear infinite;position:relative;width:50px;height:50px}#loading .spinner-ring{stroke:currentColor;stroke-dasharray:100%;stroke-width:2px;stroke-linecap:round;fill:none}</style><div id="loading"><div class="spinner"><svg width="100%" height="100%"><svg preserveAspectRatio="xMinYMin"><circle class="spinner-ring" cx="50%" cy="50%" r="45%"></circle></svg></svg></div></div>',o.util.clobberBody=function(e){document.body.innerHTML=e},o.util.clobberDocument=function(e){e.responseText&&(e=e.responseText),document.documentElement&&document.removeChild(document.documentElement);var t=document.open("text/html","replace");t.writeln(e),t.close(),setTimeout(function(){var e=t.querySelector("[autofocus]");e&&e.focus()},100)},o.util.serializeForm=function(e){if(e&&"FORM"===e.nodeName){var t,n,s={};for(t=e.elements.length-1;0<=t;t-=1)if(""!==e.elements[t].name)switch(e.elements[t].nodeName){case"INPUT":switch(e.elements[t].type){default:case"text":case"hidden":case"password":case"button":case"reset":case"submit":s[e.elements[t].name]=e.elements[t].value;break;case"checkbox":case"radio":e.elements[t].checked&&(s[e.elements[t].name]=e.elements[t].value);break;case"file":}break;case"TEXTAREA":s[e.elements[t].name]=e.elements[t].value;break;case"SELECT":switch(e.elements[t].type){case"select-one":s[e.elements[t].name]=e.elements[t].value;break;case"select-multiple":for(n=e.elements[t].options.length-1;0<=n;n-=1)e.elements[t].options[n].selected&&(s[e.elements[t].name]=e.elements[t].options[n].value)}break;case"BUTTON":switch(e.elements[t].type){case"reset":case"submit":case"button":s[e.elements[t].name]=e.elements[t].value}}return s}},o.util.on=function(e,a,o,t){t=t||document;var i="locksmith-"+e+a,n=function(e){var t=e.target,n=e.target.parentElement,s=t.className.baseVal||t.className||"",r=n.className.baseVal||n.className||"";("string"==typeof s&&-1!==s.split(/\s+/).indexOf(a)||"string"==typeof r&&-1!==r.split(/\s+/).indexOf(a))&&!e[i]&&(e[i]=!0,o(e))};t.attachEvent?t.attachEvent(e,n):t.addEventListener(e,n,!1)},o.util.enableActions=function(e){o.util.on("click","locksmith-action",function(e){e.preventDefault();var t=e.target;t.dataset.confirmWith&&!confirm(t.dataset.confirmWith)||(t.disabled=!0,t.innerText=t.dataset.disableWith,o.post("/action",t.dataset.locksmithParams,{spinner:!1,type:"text",success:function(e){(e=JSON.parse(e.responseText)).message&&alert(e.message),o.util.reload()}}))},e)},o.util.inject=function(e,t){var n=["data","locksmith","append"];if(-1!==t.indexOf(n.join("-"))){var s=document.createElement("div");s.innerHTML=t,e.appendChild(s)}else e.innerHTML=t;var r,a,o=e.querySelectorAll("script");for(a=0;a<o.length;++a){r=o[a];var i=document.createElement("script");if(r.type&&(i.type=r.type),r.src)i.src=r.src;else{var l=document.createTextNode(r.innerHTML);i.appendChild(l)}e.appendChild(i)}var c=e.querySelector("[autofocus]");c&&c.focus()},o.post=function(e,t,n){!1!==(n=n||{}).spinner&&o.util.clobberBody(o.util.spinnerHTML);var s={};n.container===document?(s.layout=1,n.success=function(e){document.getElementById(n.container);o.util.clobberDocument(e)}):n.container&&(s.layout=0,n.success=function(e){var t=document.getElementById(n.container);o.util.inject(t,e),t.id===t.firstChild.id&&t.parentElement.replaceChild(t.firstChild,t)}),n.form_type&&(t.form_type=n.form_type),o.loading=!0;var r=o.util.makeUrl(e,s);reqwest({url:r,method:"post",type:n.type||"html",data:t,complete:function(){o.loading=!1},error:function(e){if(!o.reloading)if("dashboard.weglot.com"!==window.location.host){if(!n.silent)throw alert("Something went wrong! Please refresh and try again."),e;console.error(e)}else console.error(e)},success:n.success||o.util.clobberDocument})},o.postResource=function(e,t){e.path=o.path,e.search=window.location.search,e.state=o.state,e.passcode&&(e.passcode=e.passcode.trim()),e.email&&(e.email=e.email.trim()),e.state.cart=o.cache.cart,e.locksmith_json=o.jsonTag,e.locksmith_json_signature=o.jsonTagSignature,o.post("/resource",e,t)},o.ping=function(e){if(!o.isEmbedded){e=e||{};var t=function(){e.reload?o.util.reload():"function"==typeof e.callback&&e.callback()};o.post("/ping",{path:o.path,search:window.location.search,state:o.state},{spinner:!!e.spinner,silent:"undefined"==typeof e.silent||e.silent,type:"text",success:function(e){(e=JSON.parse(e.responseText)).messages&&0<e.messages.length&&o.showMessages(e.messages),e.cart&&o.cache.cart!==e.cart?(o.cache.cart=e.cart,o.cache.saveCart(function(){t(),e.cart&&e.cart.match(/^.+:/)&&o.util.reload()})):t()}})}},o.timeoutMonitor=function(){var e=o.cache.cart;o.ping({callback:function(){e!==o.cache.cart||setTimeout(function(){o.timeoutMonitor()},6e4)}})},o.showMessages=function(e){var t=document.createElement("div");t.style.position="fixed",t.style.left=0,t.style.right=0,t.style.bottom="-50px",t.style.opacity=0,t.style.background="#191919",t.style.color="#ddd",t.style.transition="bottom 0.2s, opacity 0.2s",t.style.zIndex=999999,t.innerHTML=" <style> .locksmith-ab .locksmith-b { display: none; } .locksmith-ab.toggled .locksmith-b { display: flex; } .locksmith-ab.toggled .locksmith-a { display: none; } .locksmith-flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 10px 20px; } .locksmith-message + .locksmith-message { border-top: 1px #555 solid; } .locksmith-message a { color: inherit; font-weight: bold; } .locksmith-message a:hover { color: inherit; opacity: 0.8; } a.locksmith-ab-toggle { font-weight: inherit; text-decoration: underline; } .locksmith-text { flex-grow: 1; } .locksmith-cta { flex-grow: 0; text-align: right; } .locksmith-cta button { transform: scale(0.8); transform-origin: left; } .locksmith-cta > * { display: block; } .locksmith-cta > * + * { margin-top: 10px; } .locksmith-message a.locksmith-close { flex-grow: 0; text-decoration: none; margin-left: 15px; font-size: 30px; font-family: monospace; display: block; padding: 2px 10px; } @media screen and (max-width: 600px) { .locksmith-wide-only { display: none !important; } .locksmith-flex { padding: 0 15px; } .locksmith-flex > * { margin-top: 5px; margin-bottom: 5px; } .locksmith-cta { text-align: left; } } @media screen and (min-width: 601px) { .locksmith-narrow-only { display: none !important; } } </style> "+e.map(function(e){return'<div class="locksmith-message">'+e+"</div>"}).join(""),document.body.appendChild(t),document.body.style.position="relative",document.body.parentElement.style.paddingBottom=t.offsetHeight+"px",setTimeout(function(){t.style.bottom=0,t.style.opacity=1},50),o.util.on("click","locksmith-ab-toggle",function(e){e.preventDefault();for(var t=e.target.parentElement;-1===t.className.split(" ").indexOf("locksmith-ab");)t=t.parentElement;-1!==t.className.split(" ").indexOf("toggled")?t.className=t.className.replace("toggled",""):t.className=t.className+" toggled"}),o.util.enableActions(t)}}()}();</script> <script data-locksmith>Locksmith.cache.cart=null</script> <script data-locksmith>Locksmith.jsonTag="\u003cscript type=\"application\/vnd.locksmith+json\" data-locksmith\u003e{\"version\":\"v160\",\"locked\":false,\"initialized\":true,\"scope\":\"index\",\"access_granted\":true,\"access_denied\":false,\"requires_customer\":false,\"manual_lock\":false,\"remote_lock\":false,\"has_timeout\":false,\"remote_rendered\":null,\"hide_resource\":false,\"hide_links_to_resource\":false,\"transparent\":true,\"locks\":{\"all\":[],\"opened\":[]},\"keys\":[],\"keys_signature\":\"e59a4435124ef32df563f9003ec498bd5d4bc91f430ac9093fca154d559d02fa\",\"state\":{\"template\":\"index\",\"theme\":142940897501,\"product\":null,\"collection\":null,\"page\":null,\"blog\":null,\"article\":null,\"app\":null},\"now\":1732721753,\"path\":\"\\\/\",\"locale_root_url\":\"\\\/\",\"canonical_url\":\"https:\\\/\\\/forbitterforworse.com\\\/\",\"customer_id\":null,\"customer_id_signature\":\"e59a4435124ef32df563f9003ec498bd5d4bc91f430ac9093fca154d559d02fa\",\"cart\":null}\u003c\/script\u003e";Locksmith.jsonTagSignature="a01d80fc8d29135469278af67ddb3fd33a8ff543d61326941dc1500719655922"</script> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0, maximum-scale=5"> <meta name="theme-color" content="#f998a6"> <!-- Network optimisations --> <link rel="preconnect" href="//cdn.shopify.com" crossorigin> <link rel="preconnect" href="//fonts.shopifycdn.com" crossorigin> <link rel="preload" as="style" href="//forbitterforworse.com/cdn/shop/t/96/assets/theme-critical.css?v=35702529168485253221719426550"><link rel="preload" as="script" href="//forbitterforworse.com/cdn/shop/t/96/assets/scrollreveal.min.js?v=163720458850474464051719426550"><link rel="preload" href="//forbitterforworse.com/cdn/fonts/chivo/chivo_n4.bf4dc1c0e4649d2f5a28281870307415c2a9c652.woff2?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=57ce3148d57e09586974a9391b55d086a33d077dc7887e7acda69bf5c37ef172" as="font" type="font/woff2" crossorigin> <link rel="preload" href="//forbitterforworse.com/cdn/fonts/zurich_extended/zurichextended_n4.b6aa1fcd46586f6b0821b3b5c436f52e1307af4d.woff2?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=a86fc1c594176aa1cf5c1184718a440e4d901cc312f7e139c55a9baa04aa5fa0" as="font" type="font/woff2" crossorigin> <link rel="canonical" href="https://forbitterforworse.com/"> <link rel="shortcut icon" href="//forbitterforworse.com/cdn/shop/files/Monogram-FBFW_32x32.jpg?v=1662710621" type="image/png"> <!-- Title and description ================================================== --><title>For Bitter For Worse - Nonalcoholic (NA) Drinks</title><meta name="description" content="Complex cocktails made with love, not alcohol. Farmed and foraged Pacific Northwest ingredients, clean and healthful botanicals. A full cocktail experience without the hangover. Not sweet mocktails. Drink kits, mocktail kits, drink recipes."> <!-- /snippets/social-meta-tags.liquid --> <meta property="og:site_name" content="For Bitter For Worse"> <meta property="og:url" content="https://forbitterforworse.com/"><meta property="og:title" content="For Bitter For Worse - Nonalcoholic (NA) Drinks"> <meta property="og:type" content="website"> <meta property="og:description" content="Complex cocktails made with love, not alcohol. Farmed and foraged Pacific Northwest ingredients, clean and healthful botanicals. A full cocktail experience without the hangover. Not sweet mocktails. Drink kits, mocktail kits, drink recipes."> <meta property="og:image" content="http://forbitterforworse.com/cdn/shop/files/Full-Line---Eva_s-Lead_1200x1200.jpg?v=1717986098"> <meta property="og:image:secure_url" content="https://forbitterforworse.com/cdn/shop/files/Full-Line---Eva_s-Lead_1200x1200.jpg?v=1717986098"> <meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="For Bitter For Worse - Nonalcoholic (NA) Drinks"> <meta name="twitter:description" content="Complex cocktails made with love, not alcohol. Farmed and foraged Pacific Northwest ingredients, clean and healthful botanicals. A full cocktail experience without the hangover. Not sweet mocktails. Drink kits, mocktail kits, drink recipes."> <!-- JS before CSSOM =================================================== --> <script type="text/javascript"> theme = {}; theme.t = {}; theme.t.add_to_cart = 'Add to cart'; theme.t.sold_out = 'Sold Out'; theme.t.unavailable = 'Unavailable'; theme.money_format = '${{amount}}'; theme.map = {}; theme.map_settings_url="//forbitterforworse.com/cdn/shop/t/96/assets/map_settings.min.js?v=55973849163231613841719426550"; theme.cart_type = 'notification'; theme.cart_ajax = true; theme.routes = { rootUrl: "/", rootUrlSlash: "/", cartUrl: "/cart", cartAddUrl: "/cart/add", cartChangeUrl: "/cart/change" }; theme.assets = { plyr: "//forbitterforworse.com/cdn/shop/t/96/assets/plyr.min.js?v=4209607025050129391719426550", masonry: "//forbitterforworse.com/cdn/shop/t/96/assets/masonry.min.js?v=52946867241060388171719426550", photoswipe: "//forbitterforworse.com/cdn/shop/t/96/assets/photoswipe.min.js?v=25365026511866153621719426550", fecha: "//forbitterforworse.com/cdn/shop/t/96/assets/fecha.min.js?v=77892649025288305351719426550" }; </script> <style id="fontsupporttest">@font-face{font-family:"font";src:url("https://")}</style> <script type="text/javascript"> function supportsFontFace() { function blacklist() { var match = /(WebKit|windows phone.+trident)\/(\d+)/i.exec(navigator.userAgent); return match && parseInt(match[2], 10) < (match[1] == 'WebKit' ? 533 : 6); } function hasFontFaceSrc() { var style = document.getElementById('fontsupporttest'); var sheet = style.sheet || style.styleSheet; var cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : ''; return /src/i.test(cssText); } return !blacklist() && hasFontFaceSrc(); } document.documentElement.classList.replace('no-js', 'js'); if (window.matchMedia("(pointer: coarse)").matches) {document.documentElement.classList.add('touchevents')} else {document.documentElement.classList.add('no-touchevents')} if (supportsFontFace()) {document.documentElement.classList.add('fontface')} </script> <script src="//forbitterforworse.com/cdn/shop/t/96/assets/jquery.min.js?v=115860211936397945481719426550" defer="defer"></script> <script src="//forbitterforworse.com/cdn/shop/t/96/assets/vendor.min.js?v=107625413123165081331719426550" defer="defer"></script> <script src="//forbitterforworse.com/cdn/shop/t/96/assets/ajax-cart.js?v=37901964180162130691719426550" defer="defer"></script> <!-- CSS ================================================== --> <style data-shopify> :root { --color--brand: #f998a6; --color--brand-dark: #f88091; --color--brand-light: #fab0bb; --color--accent: #ad2542; --color--accent-dark: #98213a; --color--link: #ffffff; --color--link-dark: #ea0e2e; --color--text: #212121; --color--text-light: rgba(33, 33, 33, 0.7); --color--text-lighter: rgba(33, 33, 33, 0.55); --color--text-lightest: rgba(33, 33, 33, 0.2); --color--text-bg: rgba(33, 33, 33, 0.1); --color--text-bg: rgba(33, 33, 33, 0.1); --color--headings: #212121; --color--alt-text: #ffffff; --color--btn: #212121; --color--product-bg: rgba(0,0,0,0); --color--product-sale: #c00000; --color--drawer-bg: #f998a6; --color--bg: #ffffff; --color--bg-alpha: rgba(255, 255, 255, 0.8); --color--bg-light: #ffffff; --color--bg-dark: #f2f2f2; --color--drop-shadow: rgba(42, 42, 42, 0.21); --font--size-base: 14.0; --font--line-base: 30; --font--size-h1: 35; --font--size-h2: 28; --font--size-h3: 23; --font--size-h4: 21; --font--size-h5: 18; --font--size-h6: 14.0; --font--size-grid: 18; --font--size-nav: 13; --font--body: Chivo, sans-serif; --font--body-style: normal; --font--body-weight: 400; --font--title: "Zurich Extended", sans-serif; --font--title-weight: 400; --font--title-style: normal; --font--title-space: 1px; --font--title-transform: normal; --font--title-border: 1; --font--title-border-size: 3px; --font--button: "Zurich Extended", sans-serif; --font--button-weight: 400; --font--button-style: normal; --font--button-space: 1px; --font--button-transform: uppercase; --font--button-size: 13; --font--button-mobile-size: 12px; } </style> <style>@font-face { font-family: Chivo; font-weight: 400; font-style: normal; font-display: swap; src: url("//forbitterforworse.com/cdn/fonts/chivo/chivo_n4.bf4dc1c0e4649d2f5a28281870307415c2a9c652.woff2?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=57ce3148d57e09586974a9391b55d086a33d077dc7887e7acda69bf5c37ef172") format("woff2"), url("//forbitterforworse.com/cdn/fonts/chivo/chivo_n4.c44f905e08fb3fb913ad750486da37926e77c01e.woff?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=ca43c0bedf870224e0d1b1b2b11bc34476039de26f42533177aa006bec344eb2") format("woff"); } @font-face { font-family: "Zurich Extended"; font-weight: 400; font-style: normal; font-display: swap; src: url("//forbitterforworse.com/cdn/fonts/zurich_extended/zurichextended_n4.b6aa1fcd46586f6b0821b3b5c436f52e1307af4d.woff2?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=a86fc1c594176aa1cf5c1184718a440e4d901cc312f7e139c55a9baa04aa5fa0") format("woff2"), url("//forbitterforworse.com/cdn/fonts/zurich_extended/zurichextended_n4.587bf053ea4f270aea46650a576d1802cc2c351a.woff?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=bee0f1aba6ba5464650db49f907e5f0a74546f2dbfa48d44c1fdeedaf25909b5") format("woff"); } @font-face { font-family: Chivo; font-weight: 700; font-style: normal; font-display: swap; src: url("//forbitterforworse.com/cdn/fonts/chivo/chivo_n7.d83b4aaa520af8b24ea0f1eb81a6d2d8b1a2ad49.woff2?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=b9144cbeeae73cf71977a3c57895e1058189fa05c43b934b36f5725f5ee48850") format("woff2"), url("//forbitterforworse.com/cdn/fonts/chivo/chivo_n7.ca33be8a8668a1a14638e19419769677d3ae8d49.woff?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=1348c0fd3db4791ee1c960b632813e4c765bc807fadbdc220dccfd1bc23b5ee2") format("woff"); } @font-face { font-family: Chivo; font-weight: 400; font-style: italic; font-display: swap; src: url("//forbitterforworse.com/cdn/fonts/chivo/chivo_i4.470484818143ea189f363c3f40b1b964b6f9b99a.woff2?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=b27ab3d3c24fb9ae933ba466f60b05d14f0fdc968a9b4535c745e0fa5b36327a") format("woff2"), url("//forbitterforworse.com/cdn/fonts/chivo/chivo_i4.200ce5592d4f6e30c5616533857fb75f86392d06.woff?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=629095fc2b7795278b2ec53e13b525591074df1c786911fa2af7293366b6c822") format("woff"); } @font-face { font-family: Chivo; font-weight: 700; font-style: italic; font-display: swap; src: url("//forbitterforworse.com/cdn/fonts/chivo/chivo_i7.29b3e3bf6a0a27a521a72b1c0827afe238bbc3c2.woff2?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=b319532e334e85ab19a3723c94261608d7d4a2f6557f9f6ad455086be3ee96bb") format("woff2"), url("//forbitterforworse.com/cdn/fonts/chivo/chivo_i7.a5526f7fe5855e716c95dfc91ed717abaf648aae.woff?h1=Zm9yYml0dGVyZm9yd29yc2UuY29t&h2=Zm9yLWJpdHRlci1mb3Itd29yc2UuYWNjb3VudC5teXNob3BpZnkuY29t&hmac=adfd9b751fd0abdba041c66c321494680b1d65a452baf59842cbc4f13f521c1e") format("woff"); } </style> <link rel="stylesheet" href="//forbitterforworse.com/cdn/shop/t/96/assets/theme-critical.css?v=35702529168485253221719426550"> <link rel="preload" href="//forbitterforworse.com/cdn/shop/t/96/assets/theme.css?v=58868874327977602891719426550" as="style" onload="this.onload=null;this.rel='stylesheet'"> <noscript><link rel="stylesheet" href="//forbitterforworse.com/cdn/shop/t/96/assets/theme.css?v=58868874327977602891719426550"></noscript> <script> /*! loadCSS rel=preload polyfill. [c]2017 Filament Group, Inc. MIT License */ (function(w){"use strict";if(!w.loadCSS){w.loadCSS=function(){}}var rp=loadCSS.relpreload={};rp.support=(function(){var ret;try{ret=w.document.createElement("link").relList.supports("preload")}catch(e){ret=false}return function(){return ret}})();rp.bindMediaToggle=function(link){var finalMedia=link.media||"all";function enableStylesheet(){if(link.addEventListener){link.removeEventListener("load",enableStylesheet)}else if(link.attachEvent){link.detachEvent("onload",enableStylesheet)}link.setAttribute("onload",null);link.media=finalMedia}if(link.addEventListener){link.addEventListener("load",enableStylesheet)}else if(link.attachEvent){link.attachEvent("onload",enableStylesheet)}setTimeout(function(){link.rel="stylesheet";link.media="only x"});setTimeout(enableStylesheet,3000)};rp.poly=function(){if(rp.support()){return}var links=w.document.getElementsByTagName("link");for(var i=0;i<links.length;i+=1){var link=links[i];if(link.rel==="preload"&&link.getAttribute("as")==="style"&&!link.getAttribute("data-loadcss")){link.setAttribute("data-loadcss",true);rp.bindMediaToggle(link)}}};if(!rp.support()){rp.poly();var run=w.setInterval(rp.poly,500);if(w.addEventListener){w.addEventListener("load",function(){rp.poly();w.clearInterval(run)})}else if(w.attachEvent){w.attachEvent("onload",function(){rp.poly();w.clearInterval(run)})}}if(typeof exports!=="undefined"){exports.loadCSS=loadCSS}else{w.loadCSS=loadCSS}}(typeof global!=="undefined"?global:this)); </script> <!-- JS after CSSOM=================================================== --> <script src="//forbitterforworse.com/cdn/shop/t/96/assets/theme.min.js?v=116675827242693986661719426550" defer="defer"></script> <script src="//forbitterforworse.com/cdn/shop/t/96/assets/custom.js?v=152733329445290166911719426550" defer="defer"></script> <script src="//forbitterforworse.com/cdn/shop/t/96/assets/scrollreveal.min.js?v=163720458850474464051719426550"></script> <!-- Header hook for plugins ================================================== --> <script src="https://smarteucookiebanner.upsell-apps.com/gdpr_adapter.js?shop=for-bitter-for-worse.myshopify.com" type="application/javascript"></script> <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="O_mBXHkwfloeaH5_59RJnM1anaa8ZDwtHabWAu2MVAo"> <meta name="google-site-verification" content="gY3LReMD4BodeaopYgjmHgh7o_Ldz5fyO8DgQtC4fx4"> <meta name="facebook-domain-verification" content="q2lfj4xvx3rtcnk3lap3lfiue8l3s4"> <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/31608897672/digital_wallets/dialog"> <meta name="shopify-checkout-api-token" content="cce30230b039e2586c0ab58a0c93caff"> <meta id="in-context-paypal-metadata" data-shop-id="31608897672" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> <script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script> <link rel="preconnect" href="https://shop.app" crossorigin="anonymous"> <script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=31608897672" crossorigin="anonymous"></script> <script id="apple-pay-shop-capabilities" type="application/json">{"shopId":31608897672,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/31608897672","merchantName":"For Bitter For Worse","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"For Bitter For Worse","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script> <script id="shopify-features" type="application/json">{"accessToken":"cce30230b039e2586c0ab58a0c93caff","betas":["rich-media-storefront-analytics"],"domain":"forbitterforworse.com","predictiveSearch":true,"shopId":31608897672,"smart_payment_buttons_url":"https:\/\/forbitterforworse.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/forbitterforworse.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en"}</script> <script>var Shopify = Shopify || {}; Shopify.shop = "for-bitter-for-worse.myshopify.com"; Shopify.locale = "en"; Shopify.currency = {"active":"USD","rate":"1.0"}; Shopify.country = "US"; Shopify.theme = {"name":"Venue - Live - 7\/5\/24","id":142940897501,"schema_name":"Venue","schema_version":"7.0.2","theme_store_id":836,"role":"main"}; Shopify.theme.handle = "null"; Shopify.theme.style = {"id":null,"handle":null}; Shopify.cdnHost = "forbitterforworse.com/cdn"; Shopify.routes = Shopify.routes || {}; Shopify.routes.root = "/";</script> <script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script> <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> <script>window.ShopifyPay = window.ShopifyPay || {}; window.ShopifyPay.apiHost = "shop.app\/pay";</script> <script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script> <script> window.Shopify = window.Shopify || {}; if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; window.Shopify.featureAssets['shop-js'] = {"login-button":["modules/client.login-button_PyB0yoLG.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"shop-pay-payment-request":["modules/client.shop-pay-payment-request_BSPYpBgE.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js","modules/chunk.shop-pay_DNi9j_X8.esm.js"],"payment-terms":["modules/client.payment-terms_BF5x7ymI.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"],"pay-button":["modules/client.pay-button_Cc3hmsbn.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"discount-app":["modules/client.discount-app_Dl148wJa.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"avatar":["modules/client.avatar_BTnouDA3.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/client.init-shop-for-new-customer-accounts_BXLde5-4.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/client.init-shop-email-lookup-coordinator_CSM1j0yH.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js"],"init-customer-accounts-sign-up":["modules/client.init-customer-accounts-sign-up_BDGFEblG.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"],"init-customer-accounts":["modules/client.init-customer-accounts_Ztg3e7fA.en.esm.js","modules/chunk.common_Ckk3SCTm.esm.js","modules/client.login-button_PyB0yoLG.en.esm.js"]}; </script> <script>(function() { function asyncLoad() { var urls = ["\/\/d1liekpayvooaz.cloudfront.net\/apps\/customizery\/customizery.js?shop=for-bitter-for-worse.myshopify.com","https:\/\/static.rechargecdn.com\/assets\/js\/widget.min.js?shop=for-bitter-for-worse.myshopify.com","https:\/\/swymv3free-01.azureedge.net\/code\/swym-shopify.js?shop=for-bitter-for-worse.myshopify.com","https:\/\/cdn.giftship.app\/build\/storefront\/giftship.js?shop=for-bitter-for-worse.myshopify.com","https:\/\/app.sixads.net\/sixads.js?shop=for-bitter-for-worse.myshopify.com","https:\/\/static.shareasale.com\/json\/shopify\/deduplication.js?shop=for-bitter-for-worse.myshopify.com","https:\/\/smarteucookiebanner.upsell-apps.com\/script_tag.js?shop=for-bitter-for-worse.myshopify.com","https:\/\/shopify-widget.route.com\/shopify.widget.js?shop=for-bitter-for-worse.myshopify.com","\/\/cdn.shopify.com\/proxy\/d4ba75523b358c44e1f94df582f1e3ee80505efda7f78d8f85027ed8dcdd2e60\/storage.googleapis.com\/adnabu-shopify\/online-store\/e60ca0260b2144e5b41541361706642560.min.js?shop=for-bitter-for-worse.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/amaicdn.com\/storelocator-prod\/stockist-form\/for-bitter-for-worse-1709627487.js?shop=for-bitter-for-worse.myshopify.com","https:\/\/cdn1.judge.me\/assets\/installed.js?shop=for-bitter-for-worse.myshopify.com","https:\/\/amaicdn.com\/storelocator-prod\/setting\/for-bitter-for-worse-1732290728.js?shop=for-bitter-for-worse.myshopify.com","https:\/\/amaicdn.com\/storelocator-prod\/wtb\/for-bitter-for-worse-1732290728.js?shop=for-bitter-for-worse.myshopify.com"]; for (var i = 0; i < urls.length; i++) { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = urls[i]; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } }; if(window.attachEvent) { window.attachEvent('onload', asyncLoad); } else { window.addEventListener('load', asyncLoad, false); } })();</script> <script id="__st">var __st={"a":31608897672,"offset":-28800,"reqid":"abb1a6f4-22e7-4524-b21d-747ad63a55e1-1732721752","pageurl":"forbitterforworse.com\/","u":"2c0fac1fd1f8","p":"home"};</script> <script>window.ShopifyPaypalV4VisibilityTracking = true;</script> <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(',');function s(t,e,n=!1){try{const o=window.sessionStorage;for(const[n,c]of Object.entries(JSON.parse(o.getItem(e))))t.elements[n]&&(t.elements[n].value=c);n&&o.removeItem(e)}catch{}}const a='form_key',i=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response','password'],u=()=>{try{return window.sessionStorage}catch{return}},m=t=>t.elements[a],f='form_type',d='cptcha';function p(t){t.dataset[d]=!0}const l=window,h=l.document,_='Shopify',y='ce_forms',E='captcha';let v=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe','https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js',T={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=l[_][y],c=o.bindForm;if(c)return c(t,g,e,T).then(n);o.q.push([[t,g,e,T],n]),v||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:'https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.4.0.iife.js'})),v=!0)});var g,T;l[_]=l[_]||{},l[_][y]=l[_][y]||{},l[_][y].q=[],l[_][E]=l[_][E]||{},l[_][E].protect=function(t,e){n(t,void 0,e),p(t)},Object.freeze(l[_][E]),function(t,e,n,l,h,_){const[y,E,v,g]=function(t,e,n){const s=e?o:[],a=t?c:[],i=[...s,...a],u=[...o],m=r(i),f=r(s),d=n&&r(i.filter((([t,e])=>n.includes(e)))),p=r(u),l=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];return[l(m),l(f),l(d),l(p)]}(l,h,_),T=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},S=t=>y().includes(t);t.addEventListener('submit',(t=>{const e=T(t);if(!e)return;const n=S(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=m(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!u())return;!function(t){const e=u();if(!e)return;const n=m(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){m(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:a})),t.elements[a].value=e}(t,e),function(t,e){const n=u();if(!n)return;const o=[...t.querySelectorAll('input[type="password"]')].map((({name:t})=>t)),c=[...i,...o],r={};for(const[s,a]of new FormData(t).entries())c.includes(s)||(r[s]=a);n.setItem(e,JSON.stringify(r))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const w=(t,e)=>{t&&!t.dataset[d]&&(n(t,e.some((e=>e===t))),p(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=T(t);S(e)&&w(e,E())}));const A=e.get('form_key'),b=e.get(f),I=A&&b;t.addEventListener('DOMContentLoaded',(()=>{const t=E();if(I)for(const e of t)e.elements[f].value===b&&s(e,A);[...new Set([...v(),...y().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>w(e,t)))}))}(h,new URLSearchParams(l.location.search),n,!0,!0,['guest_login'])})()}();</script> <script integrity="sha256-EGCDRYTvIEOXsReXgqGwkAR+5Dl8tickSrieA/ZcQwc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//forbitterforworse.com/cdn/shopifycloud/shopify/assets/storefront/load_feature-1060834584ef204397b1179782a1b090047ee4397cb627244ab89e03f65c4307.js" crossorigin="anonymous"></script> <script crossorigin="anonymous" defer="defer" src="//forbitterforworse.com/cdn/shopifycloud/shopify/assets/shopify_pay/storefront-80e528be853eac23af2454534897ca9536b1d3d04aa043b042f34879a3c111c8.js?v=20220906"></script> <script integrity="sha256-HAs5a9TQVLlKuuHrahvWuke+s1UlxXohfHeoYv8G2D8=" data-source-attribution="shopify.dynamic-checkout" defer="defer" src="//forbitterforworse.com/cdn/shopifycloud/shopify/assets/storefront/features-1c0b396bd4d054b94abae1eb6a1bd6ba47beb35525c57a217c77a862ff06d83f.js" crossorigin="anonymous"></script> <style id="shopify-accelerated-checkout"> .shopify-payment-button__button--hidden { visibility: hidden; } .shopify-payment-button__button { height: clamp( 25px, var(--shopify-accelerated-checkout-button-block-size, 44px), 55px ); min-height: clamp( 25px, var(--shopify-accelerated-checkout-button-block-size, 44px), 55px ); border-radius: var(--shopify-accelerated-checkout-button-border-radius, 0px); width: 100%; border: none; box-shadow: 0 0 0 0 transparent; color: white; cursor: pointer; display: block; font-size: 1em; font-weight: 500; line-height: 1; text-align: center; transition: background 0.2s ease-in-out; } .shopify-payment-button__button[disabled] { opacity: 0.6; cursor: default; } .shopify-payment-button__button--unbranded { background-color: #1990c6; padding: 1em 2em; } .shopify-payment-button__button--unbranded:hover:not([disabled]) { background-color: #136f99; } .shopify-payment-button__more-options { background: transparent; border: 0 none; cursor: pointer; display: block; font-size: 1em; margin-top: 1em; text-align: center; text-decoration: underline; width: 100%; } .shopify-payment-button__more-options.shopify-payment-button__skeleton { height: auto !important; min-height: 0 !important; border-radius: 4px !important; width: 50%; margin-left: 25%; margin-right: 25%; } .shopify-payment-button__more-options[disabled] { opacity: 0.6; cursor: default !important; } .shopify-payment-button__button.shopify-payment-button__button--branded { display: flex; flex-direction: column; position: relative; z-index: 1; } .shopify-payment-button__button.shopify-payment-button__button--branded .shopify-cleanslate { flex: 1 !important; display: flex !important; flex-direction: column !important; } .shopify-payment-button__button.button.loading { position: relative; color: transparent; } .shopify-payment-button__button.button.loading > .loading-overlay__spinner { top: 50%; left: 50%; transform: translate(-50%, -50%); position: absolute; height: 100%; display: flex; align-items: center; } .shopify-payment-button__button.button.loading > .loading-overlay__spinner .spinner { width: -moz-fit-content; width: -webkit-fit-content; width: fit-content; } .button.loading > .loading-overlay__spinner .path { stroke: white; } .shopify-payment-button__button .loading-overlay__spinner { width: 1.8rem; display: inline-block; } .shopify-payment-button__button .spinner { animation: shopify-rotator 1.4s linear infinite; } @keyframes shopify-rotator { 0% { transform: rotate(0deg); } 100% { transform: rotate(270deg); } } .shopify-payment-button__button .path { stroke-dasharray: 280; stroke-dashoffset: 0; transform-origin: center; stroke: rgb(18,18,18); animation: shopify-dash 1.4s ease-in-out infinite; } @media screen and (forced-colors: active) { .shopify-payment-button__button .path { stroke: CanvasText; } } @keyframes shopify-dash { 0% { stroke-dashoffset: 280; } 50% { stroke-dashoffset: 75; transform: rotate(135deg); } 100% { stroke-dashoffset: 280; transform: rotate(450deg); } } @keyframes acceleratedCheckoutLoadingSkeleton { 50% {opacity: var(--shopify-accelerated-checkout-skeleton-animation-opacity-start, 1);} 75% {opacity: var(--shopify-accelerated-checkout-skeleton-animation-opacity-end, 0.5);} 100% {opacity: var(--shopify-accelerated-checkout-skeleton-animation-opacity-start, 1);} } .shopify-payment-button__skeleton { animation: acceleratedCheckoutLoadingSkeleton var(--shopify-accelerated-checkout-skeleton-animation-duration, 4s) var(--shopify-accelerated-checkout-skeleton-animation-timing-function, ease) infinite; animation-delay: -0.168s; background-color: var(--shopify-accelerated-checkout-skeleton-background-color, #dedede); box-sizing: border-box; text-decoration: none !important; height: var(--shopify-accelerated-checkout-button-block-size, inherit); min-height: 25px; max-height: 55px; border-radius: var(--shopify-accelerated-checkout-button-border-radius, inherit); } .shopify-payment-button__button { border-radius: 0px; } #shopify-buyer-consent { margin-top: 1em; display: inline-block; width: 100%; } #shopify-buyer-consent.hidden { display: none; } #shopify-subscription-policy-button { background: none; border: none; padding: 0; text-decoration: underline; font-size: inherit; cursor: pointer; } #shopify-subscription-policy-button::before { box-shadow: none; } </style> <style id="shopify-dynamic-checkout-cart">@media screen and (min-width: 750px) { #dynamic-checkout-cart { min-height: 50px; } } @media screen and (max-width: 750px) { #dynamic-checkout-cart { min-height: 240px; } } </style><script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script> <link rel="stylesheet" href="https://use.typekit.net/lls8ban.css"> <!-- Hotjar Tracking Code for https://www.forbitterforworse.com --> <script> (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:3166518,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); </script> <script defer> /** * IMPORTANT! * Do not edit this file. Any changes made could be overwritten by Giftship at * any time. If you need assistance, please reach out to us at support@gist-apps.com. * * The below code is critical to the functionality of Giftship's multiple shipping * address and bundle features. It also greatly improves the load time of the * application. */ if (typeof(GIST) == 'undefined') { window.GIST = GIST = {}; } if (typeof(GIST.f) == 'undefined') { GIST.f = {}; } GIST.f._isEmpty = function(obj){ for(var prop in obj) { if(obj.hasOwnProperty(prop)) { return false; } } return JSON.stringify(obj) === JSON.stringify({}); }; GIST.bundles = []; GIST.remove = {}; GIST.discounts = []; GIST._bundleCart = false; if (GIST.remove && !GIST.f._isEmpty(GIST.remove) ) { GIST.xhr = new XMLHttpRequest(); GIST.xhr.open('POST', Shopify.routes.root + 'cart/update.js'); GIST.xhr.setRequestHeader('Content-Type', 'application/json'); GIST.xhr.onload = function() { if (GIST.xhr.status === 200 && window.performance) { var navEntries = window.performance.getEntriesByType('navigation'); if (navEntries.length > 0 && navEntries[0].type === 'back_forward') { location.reload(); } else if (window.performance.navigation && window.performance.navigation.type == window.performance.navigation.TYPE_BACK_FORWARD) { location.reload(); } } }; GIST.xhr.send(JSON.stringify({updates:GIST.remove})); } </script> <script> var appEnvironment = 'storelocator-prod'; var shopHash = 'ae9943a767eb6ecf09728f454f80df1e'; </script> <!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core --> <link rel="dns-prefetch" href="https://cdn.judge.me"> <script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"badge_no_review_text":"No reviews","badge_n_reviews_text":"({{ n }})","badge_star_color":"#F9CD41","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Enter your name (public)","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Enter your email (private)","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review","widget_review_body_placeholder_text":"Write your comments here","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank you! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e {{ shop_name }} replied:","widget_read_more_text":"Read more","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","widget_star_color":"#F9CD41","verified_badge_text":"Verified","verified_badge_placement":"left-of-reviewer-name","widget_hide_border":false,"widget_social_share":false,"all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_sorting_pictures_first_text":"Pictures First","floating_tab_button_name":"★ Judge.me Reviews","floating_tab_title":"Let customers speak for us","floating_tab_url":"","floating_tab_url_enabled":false,"all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","all_reviews_text_badge_url":"","all_reviews_text_style":"branded","featured_carousel_title":"Let customers speak for us","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_url":"","verified_count_badge_style":"branded","verified_count_badge_url":"","picture_reminder_submit_button":"Upload Pictures","widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","remove_microdata_snippet":true,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","remove_judgeme_branding":true,"widget_search_bar_placeholder":"Search reviews","widget_sorting_verified_only_text":"Verified only","featured_carousel_verified_badge_enable":true,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_more_text":"Load More Reviews","widget_advanced_speed_features":5,"widget_public_name_text":"displayed publicly like","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_verified_by_shop_text":"Verified by Shop","widget_load_with_code_splitting":true,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subtitle":"Tag us to see your picture featured in our page","widget_ugc_primary_button_text":"Buy Now","widget_ugc_secondary_button_text":"Load More","widget_ugc_reviews_button_text":"View Reviews","widget_primary_color":"#F9CD41","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_verified_by_judgeme_text":"Verified by Judge.me","widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_show_collected_by_judgeme":true,"widget_collected_by_judgeme_text":"collected by Judge.me","widget_load_more_text":"Load More","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","how_reviews_are_collected":"How reviews are collected?","widget_gdpr_statement":"How we use your data: We’ll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me’s \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","platform":"shopify","branding_url":"https://judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"For Bitter For Worse","widget_version":"3.0","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"can_be_branded":true};</script> <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color:#F9CD41;--jdgm-secondary-color:rgba(249,205,65,0.1);--jdgm-star-color:#F9CD41;--jdgm-write-review-text-color:white;--jdgm-write-review-bg-color:#F9CD41;--jdgm-paginate-color:#F9CD41;--jdgm-border-radius:0}.jdgm-histogram__bar-content{background-color:#F9CD41}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#F9CD41}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}}.jdgm-preview-badge .jdgm-star.jdgm-star{color:#F9CD41}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-author-last-initial{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__replier:before{content:'forbitterforworse.com'}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important} </style> <style class='jdgm-miracle-styles'> @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-prev-badge{display:block !important} </style> <script data-cfasync='false' class='jdgm-script'> !function(e){window.jdgm=window.jdgm||{},jdgm.CDN_HOST="https://cdn.judge.me/", jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)? setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){ !o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d), (a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!", a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))}, jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest; t.onreadystatechange=function(){4===t.readyState&&(Function(t.response)(),d&&d(t.response))}, t.open("GET",e),t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll( ".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting? parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_HOST+"widget_v3/base.css"): jdgm.loadCSS(jdgm.CDN_HOST+"widget/base.css"):jdgm.loadCSS(jdgm.CDN_HOST+"shopify_v2.css"), jdgm.loadJS(jdgm.CDN_HOST+"loader.js"))}))}(document); </script> <noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.judge.me/shopify_v2.css"></noscript> <!-- BEGIN app snippet: theme_fix_tags --><script> (function() { var jdgmThemeFixes = null; if (!jdgmThemeFixes) return; var thisThemeFix = jdgmThemeFixes[Shopify.theme.id]; if (!thisThemeFix) return; if (thisThemeFix.html) { document.addEventListener("DOMContentLoaded", function() { var htmlDiv = document.createElement('div'); htmlDiv.classList.add('jdgm-theme-fix-html'); htmlDiv.innerHTML = thisThemeFix.html; document.body.append(htmlDiv); }); }; if (thisThemeFix.css) { var styleTag = document.createElement('style'); styleTag.classList.add('jdgm-theme-fix-style'); styleTag.innerHTML = thisThemeFix.css; document.head.append(styleTag); }; if (thisThemeFix.js) { var scriptTag = document.createElement('script'); scriptTag.classList.add('jdgm-theme-fix-script'); scriptTag.innerHTML = thisThemeFix.js; document.head.append(scriptTag); }; })(); </script> <!-- END app snippet --> <!-- End of Judge.me Core --> <!-- END app app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> <script async src="https://static.klaviyo.com/onsite/js/H8meeg/klaviyo.js?company_id=H8meeg"></script> <script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script> <script> window.klaviyoReviewsProductDesignMode = false </script> <!-- END app app block --><link href="https://cdn.shopify.com/extensions/84393f6e-743b-4271-8a09-47b3dd80c2db/snicketts-gifting-promos-14/assets/index.css" rel="stylesheet" type="text/css" media="all"> <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> <script>(function(){if ("sendBeacon" in navigator && "performance" in window) {var session_token = document.cookie.match(/_shopify_s=([^;]*)/);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: 31608897672,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token: session_token && session_token.length === 2 ? session_token[1] : "",page_type: "index"};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> <script id="web-pixels-manager-setup">(function d(d,e,r,a,n){var o,i,t,s,l=(i=(o={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:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-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:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-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,t=o.legacy,s=navigator.userAgent,i.test(s)?"modern":(t.test(s),"legacy"));window.Shopify=window.Shopify||{};var c=window.Shopify;c.analytics=c.analytics||{};var u=c.analytics;u.replayQueue=[],u.publish=function(d,e,r){return u.replayQueue.push([d,e,r]),!0};try{self.performance.mark("wpm:start")}catch(d){}var h=[r,"/wpm","/b",n,l.substring(0,1),".js"].join("");!function(d){var e=d.src,r=d.async,a=void 0===r||r,n=d.onload,o=d.onerror,i=document.createElement("script"),t=document.head,s=document.body;i.async=a,i.src=e,n&&i.addEventListener("load",n),o&&i.addEventListener("error",o),t?t.appendChild(i):s?s.appendChild(i):console.error("Did not find a head or body element to append the script")}({src:h,async:!0,onload:function(){var r=window.webPixelsManager.init(d);e(r);var a=window.Shopify.analytics;a.replayQueue.forEach((function(d){var e=d[0],a=d[1],n=d[2];r.publishCustomEvent(e,a,n)})),a.replayQueue=[],a.publish=r.publishCustomEvent,a.visitor=r.visitor},onerror:function(){var e=d.storefrontBaseUrl.replace(/\/$/,""),r="".concat(e,"/.well-known/shopify/monorail/unstable/produce_batch"),n=JSON.stringify({metadata:{event_sent_at_ms:(new Date).getTime()},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:a||"latest",bundle_target:l,page_url:self.location.href,status:"failed",surface:d.surface,error_msg:"".concat(h," has failed to load")},metadata:{event_created_at_ms:(new Date).getTime()}}]});try{if(self.navigator.sendBeacon.bind(self.navigator)(r,n))return!0}catch(d){}var o=new XMLHttpRequest;try{return o.open("POST",r,!0),o.setRequestHeader("Content-Type","text/plain"),o.send(n),!0}catch(d){console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging a load error.")}return!1}})})({shopId: 31608897672,storefrontBaseUrl: "https://forbitterforworse.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"485523677","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"G-S5X3RJHSPX\\\",\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-S5X3RJHSPX\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-S5X3RJHSPX\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-S5X3RJHSPX\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-S5X3RJHSPX\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-S5X3RJHSPX\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-S5X3RJHSPX\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-S5X3RJHSPX\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"afe7c2de16587d6c6689522527d6c67f","type":"APP","apiClientId":1780363,"privacyPurposes":[]},{"id":"162431197","configuration":"{\"pixel_id\":\"2915935288522126\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"8d894c63179843e74a9691414b5ad83d","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"65372381","configuration":"{\"tagID\":\"2613476909479\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"4fd0680eed907adaf3f85849c393d688","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0220","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"For Bitter For Worse","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"for-bitter-for-worse.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/forbitterforworse.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"purchasingCompany":null},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed", {});},"https://forbitterforworse.com/cdn","1518c2ba4d2b3301a1e3cb6576947ef22edf7bb6","3c762e5aw5b983e43pc2dc4883m545d5a27",);</script> <script>window.ShopifyAnalytics = window.ShopifyAnalytics || {}; window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; window.ShopifyAnalytics.meta.currency = 'USD'; var meta = {"page":{"pageType":"home"}}; for (var attr in meta) { window.ShopifyAnalytics.meta[attr] = meta[attr]; }</script> <script>window.ShopifyAnalytics.merchantGoogleAnalytics = function() { }; </script> <script class="analytics">(window.gaDevIds=window.gaDevIds||[]).push('BwiEti'); (function () { var customDocumentWrite = function(content) { var jquery = null; if (window.jQuery) { jquery = window.jQuery; } else if (window.Checkout && window.Checkout.$) { jquery = window.Checkout.$; } if (jquery) { jquery('body').append(content); } }; var hasLoggedConversion = function(token) { if (token) { return document.cookie.indexOf('loggedConversion=' + token) !== -1; } return false; } var setCookieIfConversion = function(token) { if (token) { var twoMonthsFromNow = new Date(Date.now()); twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; } } var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; if (trekkie.integrations) { return; } trekkie.methods = [ 'identify', 'page', 'ready', 'track', 'trackForm', 'trackLink' ]; trekkie.factory = function(method) { return function() { var args = Array.prototype.slice.call(arguments); args.unshift(method); trekkie.push(args); return trekkie; }; }; for (var i = 0; i < trekkie.methods.length; i++) { var key = trekkie.methods[i]; trekkie[key] = trekkie.factory(key); } trekkie.load = function(config) { trekkie.config = config || {}; trekkie.config.initialDocumentCookie = document.cookie; var first = document.getElementsByTagName('script')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.onerror = function(e) { var scriptFallback = document.createElement('script'); scriptFallback.type = 'text/javascript'; scriptFallback.onerror = function(error) { var Monorail = { produce: function produce(monorailDomain, schemaId, payload) { var currentMs = new Date().getTime(); var event = { schema_id: schemaId, payload: payload, metadata: { event_created_at_ms: currentMs, event_sent_at_ms: currentMs } }; return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); }, sendRequest: function sendRequest(endpointUrl, payload) { // Try the sendBeacon API if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { var blobData = new window.Blob([payload], { type: 'text/plain' }); if (window.navigator.sendBeacon(endpointUrl, blobData)) { return true; } // sendBeacon was not successful } // XHR beacon var xhr = new XMLHttpRequest(); try { xhr.open('POST', endpointUrl); xhr.setRequestHeader('Content-Type', 'text/plain'); xhr.send(payload); } catch (e) { console.log(e); } return false; }, isIos12: function isIos12() { return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; } }; Monorail.produce('monorail-edge.shopifysvc.com', 'trekkie_storefront_load_errors/1.1', {shop_id: 31608897672, theme_id: 142940897501, app_name: "storefront", context_url: window.location.href, source_url: "//forbitterforworse.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js"}); }; scriptFallback.async = true; scriptFallback.src = '//forbitterforworse.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js'; first.parentNode.insertBefore(scriptFallback, first); }; script.async = true; script.src = '//forbitterforworse.com/cdn/s/trekkie.storefront.20de3b35f21c3bd6ff73e3f1547eb7d54e6e94e4.min.js'; first.parentNode.insertBefore(script, first); }; trekkie.load( {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":31608897672,"isMerchantRequest":null,"themeId":142940897501,"themeCityHash":"14405121973470996596","contentLanguage":"en","currency":"USD"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Google Analytics":{"trackingId":"UA-173124455-1","domain":"auto","siteSpeedSampleRate":"10","enhancedEcommerce":true,"doubleClick":true,"includeSearch":true},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} ); var loaded = false; trekkie.ready(function() { if (loaded) return; loaded = true; window.ShopifyAnalytics.lib = window.trekkie; ga('require', 'linker'); function addListener(element, type, callback) { if (element.addEventListener) { element.addEventListener(type, callback); } else if (element.attachEvent) { element.attachEvent('on' + type, callback); } } function decorate(event) { event = event || window.event; var target = event.target || event.srcElement; if (target && (target.getAttribute('action') || target.getAttribute('href'))) { ga(function (tracker) { var linkerParam = tracker.get('linkerParam'); document.cookie = '_shopify_ga=' + linkerParam + '; ' + 'path=/'; }); } } addListener(window, 'load', function(){ for (var i=0; i < document.forms.length; i++) { var action = document.forms[i].getAttribute('action'); if(action && action.indexOf('/cart') >= 0) { addListener(document.forms[i], 'submit', decorate); } } for (var i=0; i < document.links.length; i++) { var href = document.links[i].getAttribute('href'); if(href && href.indexOf('/checkout') >= 0) { addListener(document.links[i], 'click', decorate); } } }); var originalDocumentWrite = document.write; document.write = customDocumentWrite; try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; document.write = originalDocumentWrite; window.ShopifyAnalytics.lib.page(null,{"pageType":"home"}); var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) var token = match? match[1]: undefined; if (!hasLoggedConversion(token)) { setCookieIfConversion(token); } }); var eventsListenerScript = document.createElement('script'); eventsListenerScript.async = true; eventsListenerScript.src = "//forbitterforworse.com/cdn/shopifycloud/shopify/assets/shop_events_listener-61fa9e0a912c675e178777d2b27f6cbd482f8912a6b0aa31fa3515985a8cd626.js"; document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); })();</script> <script class="boomerang"> (function () { window.BOOMR = window.BOOMR || {}; window.BOOMR.themeName = "Venue"; window.BOOMR.themeVersion = "7.0.2"; window.BOOMR.shopId = 31608897672; window.BOOMR.themeId = 142940897501; })();</script> <script defer src="https://forbitterforworse.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-1.0.2.min.js" data-application="storefront-renderer" data-shop-id="31608897672" data-render-region="gcp-asia-southeast1" data-page-type="index" data-theme-instance-id="142940897501" data-monorail-region="shop_domain" data-resource-timing-sampling-rate="10" ></script> </head> <body id="for-bitter-for-worse-nonalcoholic-na-drinks" class="template-index" data-anim-load="true" data-anim-interval-style="fade_in" data-anim-zoom="true" data-anim-interval="true" data-heading-border="true"> <script type="text/javascript"> //loading class for animations document.body.className += ' ' + 'js-theme-loading'; setTimeout(function(){ document.body.className = document.body.className.replace('js-theme-loading','js-theme-loaded'); }, 300); </script> <a class="skip-to-content-link" href="#main">Skip to content</a> <div class="page-transition"></div> <div class="quick-shop-overlay"></div> <div class="page-container"> <div id="shopify-section-mobile-drawer" class="shopify-section js-section__mobile-draw"><style> .mobile-draw, .mobile-draw .mfp-close { background-color: #f998a6; } .mobile-draw__localize { background-color: #f88a9a; } </style> <div class="mobile-draw mobile-draw--dark js-menu-draw mfp-hide"><div class="mobile-draw__wrapper"> <nav class="mobile-draw__nav mobile-nav"> <ul class="mobile-nav__items o-list-bare"> <li class="mobile-nav__item mobile-nav__item--active f-family--heading f-caps--true f-space--1"> <a href="/" class="mobile-nav__link">Home</a> </li> <li class="mobile-nav__item f-family--heading f-caps--true f-space--1"> <a href="/collections/all-products" class="mobile-nav__link">Shop</a> </li> <li class="mobile-nav__item f-family--heading f-caps--true f-space--1"> <a href="/collections/for-bitter-for-worse-drinks-club" class="mobile-nav__link">Subscribe</a> </li> <li class="mobile-nav__item f-family--heading f-caps--true f-space--1"> <a href="/blogs/recipes" class="mobile-nav__link">Recipes</a> </li> <li class="mobile-nav__item f-family--heading f-caps--true f-space--1"> <a href="https://forbitterforworse.com/pages/store-locator" class="mobile-nav__link">Stockists</a> </li> <li class="mobile-nav__item f-family--heading f-caps--true f-space--1"> <a href="/blogs/news" class="mobile-nav__link">Blog</a> </li> <li class="mobile-nav__item f-family--heading f-caps--true f-space--1"> <a href="/pages/about" class="mobile-nav__link">About</a> </li> <li class="mobile-nav__item f-family--heading f-caps--true f-space--1"> <a href="/pages/faq" class="mobile-nav__link">FAQ</a> </li> <li class="mobile-nav__item f-family--heading f-caps--true f-space--1"> <a href="/account/login" class="mobile-nav__link">Log in</a> </li> </ul> </nav> <div class="mobile-draw__search mobile-search"> <form action="/search" method="get" class="mobile-search__form" role="search"> <input type="hidden" name="type" value="product,article,page"> <input type="search" name="q" class="mobile-search__input" value="" aria-label="Search our store..." placeholder="Search our store..."> <button type="submit" class="mobile-search__submit"> <i class="icon icon--search" aria-hidden="true"></i> <span class="icon-fallback__text">Search</span> </button> </form> </div> <div class="mobile-draw__footer mobile-footer"> <ul class="mobile-footer__social-items o-list-bare"> <li class="mobile-footer__social-item"> <a href="https://www.facebook.com/ForBitterForWorse/" class="mobile-footer__social-link icon-fallback" target="_blank" rel="noopener"> <i class="icon icon--facebook" aria-hidden="true"></i> <span class="icon-fallback__text">Facebook</span> </a> </li> <li class="mobile-footer__social-item"> <a href="https://www.instagram.com/forbitterforworse/" class="mobile-footer__social-link icon-fallback" target="_blank" rel="noopener"> <i class="icon icon--instagram" aria-hidden="true"></i> <span class="icon-fallback__text">Instagram</span> </a> </li> <li class="mobile-footer__social-item"> <a href="https://www.tiktok.com/@forbitterforworse?_t=8nWp5wIIflL&_r=1" class="mobile-footer__social-link icon-fallback" target="_blank" rel="noopener"> <i class="icon icon--tiktok" aria-hidden="true"></i> <span class="icon-fallback__text">TikTok</span> </a> </li> <li class="mobile-footer__social-item"> <a href="https://www.youtube.com/@forbitterforworse2752" class="mobile-footer__social-link icon-fallback" target="_blank" rel="noopener"> <i class="icon icon--youtube" aria-hidden="true"></i> <span class="icon-fallback__text">YouTube</span> </a> </li> </ul> </div> <div class="mobile-draw__cta mobile-cta"> <img class="mobile-cta__image" src="//forbitterforworse.com/cdn/shop/files/FullLogo-FBFW_300x.png?v=1660176848" srcset=" //forbitterforworse.com/cdn/shop/files/FullLogo-FBFW_180x.png?v=1660176848 180w 42h, //forbitterforworse.com/cdn/shop/files/FullLogo-FBFW_360x.png?v=1660176848 360w 84h, //forbitterforworse.com/cdn/shop/files/FullLogo-FBFW_540x.png?v=1660176848 540w 126h, //forbitterforworse.com/cdn/shop/files/FullLogo-FBFW_720x.png?v=1660176848 720w 168h, //forbitterforworse.com/cdn/shop/files/FullLogo-FBFW_900x.png?v=1660176848 900w 210h " width="300" height=" 70" alt="For Bitter For Worse" loading="lazy" /> </div> </div> </div> </div> <div id="shopify-section-announcement2" class="shopify-section js-section__announcement"><style type="text/css"> </style> </div> <div id="shopify-section-announcement" class="shopify-section js-section__announcement"><style type="text/css"> </style> </div> <div id="shopify-section-header" class="shopify-section shopify-section-header js-section__header"><style type="text/css"> .header, .nav__sub-wrap, .nav__sub-t-wrap { background-color: #f998a6; } .nav__sub-wrap:after { border-bottom-color: #f998a6; } .header--light .nav__sub__link.selected, .header--light .nav__sub__link:hover, .header--light .nav__sub__item--sub:hover .nav__sub__link, .header--light .nav__sub-t__link:hover { background-color: #fab0bb; } .header--dark .nav__sub__link.selected, .header--dark .nav__sub__link:hover, .header--dark .nav__sub__item--sub:hover .nav__sub__link, .header--dark .nav__sub-t__link:hover { background-color: #f88091; } .shopify-section-header { position: -webkit-sticky; position: sticky; } :root { --header-is-sticky: 1; ; } .header, .header__logo, .header-trigger { height: 300px; } .header__logo-img, .header-trigger { max-height: 300px; } .header--center .header__logo-img { width: 300px; } .header__logo-img { padding: 12px 0; } @media screen and (max-width: 767px) { .header, .header__logo, .header.header--center .header__logo, .header-trigger {height: 94px;} .header__logo-img, .header--center.header--center .header__logo-img, .header-trigger {max-height: 94px;} } .header--mega .primary-nav .nav__sub { padding-top: 133px; } .main { margin-top: 30px } .main .shopify-section:first-child .section--full { margin-top: -30px } @media screen and (max-width: 767px) {.main .shopify-section:first-child .section--full-mobile { margin-top: -30px }} </style> <header role="banner" id="top" class="header header--dark js-header header--sticky js-header-sticky header--center header--mega" data-section-id="header" data-section-type="header-section"> <div class="header__logo u-flex u-flex--middle u-flex--center"> <h1 class="header__logo-wrapper js-main-logo" itemscope itemtype="http://schema.org/Organization"> <a href="/" itemprop="url" class="header__logo-link animsition-link"> <img src="//forbitterforworse.com/cdn/shop/files/WebsiteBannerLogo_da8d344f-3486-4bb4-b418-ca76fcfed7f2_1000x.png?v=1717646848" class="header__logo-img" alt="For Bitter For Worse" itemprop="logo" width="2822" height="920"> </a> </h1> </div> <div class="header-trigger header-trigger--left mobile-draw-trigger-icon u-flex u-flex--middle js-mobile-draw-icon" style="display: none"> <a href="#" class="header-trigger__link header-trigger__link--mobile js-mobile-draw-trigger icon-fallback"> <i class="icon icon--menu" aria-hidden="true"></i> <span class="icon-fallback__text">Menu</span> </a> </div> <div class="header-trigger header-trigger--right search-draw-trigger-icon u-flex u-flex--middle js-search-draw-icon" style="display: none"> <a href="/search" class="header-trigger__link header-trigger__link--search icon-fallback js-search-trigger js-no-transition"> <i class="icon icon--search" aria-hidden="true"></i> <span class="icon-fallback__text">Search</span> </a> </div> <div class="header-trigger header-trigger--far-right cart-draw-trigger-icon u-flex u-flex--middle js-cart-draw-icon" style="display: none"> <a href="/cart" class="header-trigger__link header-trigger__link--cart icon-fallback js-cart-icon"> <i class="icon icon--cart" aria-hidden="true"></i> <span class="icon-fallback__text">Cart</span> </a> </div> <div class="header-navs js-heaver-navs u-clearfix u-hidden@tab-down"> <nav class="primary-nav header-navs__items js-primary-nav" role="navigation"> <ul class="primary-nav__items"> <li class="primary-nav__item primary-nav__item--active f-family--heading f-caps--true f-space--1"> <a href="/" class="primary-nav__link animsition-link" >Home</a> </li> <li class="primary-nav__item f-family--heading f-caps--true f-space--1"> <a href="/collections/all-products" class="primary-nav__link animsition-link" >Shop</a> </li> <li class="primary-nav__item f-family--heading f-caps--true f-space--1"> <a href="/collections/for-bitter-for-worse-drinks-club" class="primary-nav__link animsition-link" >Subscribe</a> </li> <li class="primary-nav__item f-family--heading f-caps--true f-space--1"> <a href="/blogs/recipes" class="primary-nav__link animsition-link" >Recipes</a> </li> <li class="primary-nav__item f-family--heading f-caps--true f-space--1"> <a href="https://forbitterforworse.com/pages/store-locator" class="primary-nav__link animsition-link" >Stockists</a> </li> <li class="primary-nav__item f-family--heading f-caps--true f-space--1"> <a href="/blogs/news" class="primary-nav__link animsition-link" >Blog</a> </li> <li class="primary-nav__item f-family--heading f-caps--true f-space--1"> <a href="/pages/about" class="primary-nav__link animsition-link" >About</a> </li> <li class="primary-nav__item f-family--heading f-caps--true f-space--1"> <a href="/pages/faq" class="primary-nav__link animsition-link" >FAQ</a> </li> </ul> </nav> <nav class="secondary-nav header-navs__items js-secondary-nav"> <ul class="secondary-nav__items"> <li class="secondary-nav__item secondary-nav__item--light f-family--heading f-caps--true f-space--1"> <a href="/account/login" class="secondary-nav__link">Log in</a> </li> <li class="secondary-nav__item f-family--heading f-caps--true f-space--1"> <a href="/cart" class="secondary-nav__link">Cart (<span id="CartCount">0</span>)</a> </li> <li class="secondary-nav__item secondary-nav__item--search f-family--heading f-caps--true f-space--1"> <a href="/search" class="secondary-nav__link secondary-nav__link--search icon-fallback js-search-trigger js-no-transition"> <i class="icon icon--search" aria-hidden="true"></i> <span class="icon-fallback__text u-hidden-visually">Search</span> </a> </li> </ul> </nav> </div> </header> <script> var primaryNav = document.getElementsByClassName('js-primary-nav')[0]; var primaryWidth = document.getElementsByClassName('js-primary-nav')[0].offsetWidth; var navSpace = document.getElementsByClassName('js-heaver-navs')[0].offsetWidth / 2 - document.getElementsByClassName('js-main-logo')[0].offsetWidth / 2 - 18; if (document.getElementsByClassName('js-header')[0].classList.contains('header--left')) { if (navSpace < primaryWidth) { document.getElementsByClassName('js-header')[0].classList.add('header--inline-icons'); } } //set header height variables function setHeightVar() { var announcementHeight; if (document.querySelector('.js-announcement') != null) { announcementHeight = document.querySelector('.js-announcement').offsetHeight; } else { announcementHeight = 0; } var headerHeight = document.querySelector('.js-header').offsetHeight; document.documentElement.style.setProperty('--header-height', headerHeight + 'px'); document.documentElement.style.setProperty('--header-full-height', announcementHeight + headerHeight + 'px'); } setHeightVar(); setTimeout(function() { setHeightVar(); }, 500); </script> </div> <div class="main" id="main"> <section id="shopify-section-template--18022997491933__section_liquid_qwB7hD" class="shopify-section js-section__liquid"><style> video { width: 100%; height: auto; display: block; margin: 0 auto; } </style> <video muted autoplay playsinline loop> <source src="https://cdn.shopify.com/videos/c/o/v/a9ebdcb583aa4285934eae1249b8ff57.mp4" type="video/mp4"> </video> </section><div id="shopify-section-template--18022997491933__section-collection" class="shopify-section js-section__featured-collection"> <section class="section section--template--18022997491933__section-collection section--featured-collection section--mb-s js-collection-section" data-section-id="template--18022997491933__section-collection" data-section-type="home-collection"> <div class="container container--large "> <div class="section__title section__title--center"> <h2 class="section__title-text">Explore Our Award-Winning Expressions</h2> </div> <div class="featured-collection featured-collection--grid" data-section-id="template--18022997491933__section-collection"><div class="grid-layout grid-layout--3 grid-layout--mob-2 grid-layout--align-center"> <div class="product-card js-product js-product-card js-product-8834649096413 product-card--fit product-card--center home-products__item product-card--none" data-product-id="8834649096413"> <!-- custom label --> <!-- new label --> <div class="product-card-top"> <a href="/collections/frontpage/products/the-saskatoon-4-pack" class="product-card-link product-card-link--full-opacity js-product-link home-products__link" title="The Saskatoon 4-Pack" tabindex="-1"> <div class="product-card__media product-card__media--hover-zoom"> <div class="o-ratio o-ratio--1:1"> <div class="o-ratio__content"> <div class="product-card__spinner product-card__spinner--grid js-product-card__spinner"> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> </div> <img class="product-card__img js-img-grid" src="//forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-Box-2024-MPGEE_868038f1-e063-4baf-ba54-bcbddb0a2038_300x.jpg?v=1732058933" srcset=" //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-Box-2024-MPGEE_868038f1-e063-4baf-ba54-bcbddb0a2038_180x.jpg?v=1732058933 180w 120h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-Box-2024-MPGEE_868038f1-e063-4baf-ba54-bcbddb0a2038_360x.jpg?v=1732058933 360w 240h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-Box-2024-MPGEE_868038f1-e063-4baf-ba54-bcbddb0a2038_540x.jpg?v=1732058933 540w 360h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-Box-2024-MPGEE_868038f1-e063-4baf-ba54-bcbddb0a2038_720x.jpg?v=1732058933 720w 480h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-Box-2024-MPGEE_868038f1-e063-4baf-ba54-bcbddb0a2038_900x.jpg?v=1732058933 900w 600h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-Box-2024-MPGEE_868038f1-e063-4baf-ba54-bcbddb0a2038_1080x.jpg?v=1732058933 1080w 720h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-Box-2024-MPGEE_868038f1-e063-4baf-ba54-bcbddb0a2038_1296x.jpg?v=1732058933 1296w 864h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-Box-2024-MPGEE_868038f1-e063-4baf-ba54-bcbddb0a2038_1512x.jpg?v=1732058933 1512w 1008h " sizes="(min-width: 1600px) calc((80vw - 120px) / 3), (min-width: 981px) calc((100vw - 120px) / 3), (min-width: 768px) calc((100vw - 66px) / 2), calc((100vw - 72px) / 2)" width="300" height="200" alt="" loading="lazy" /> </div> </div> </div> </a> </div> <div class="product-card__details"> <a href="/collections/frontpage/products/the-saskatoon-4-pack" class="product-card-link js-product-link" title="The Saskatoon 4-Pack"> <h2 class="product-card__title f-family--heading f-caps--false f-space--1">The Saskatoon 4-Pack</h2> </a> <div class="product-card__details__hover u-medium"> <a href="/collections/frontpage/products/the-saskatoon-4-pack" class="product-card-link js-product-link" title="The Saskatoon 4-Pack" tabindex="-1"> <p class="product-card__price"> <!-- snippet/product-price.liquid --> <span class="product-card__price-price"><span class="money">$22.00</span></span> </p> <!-- Start of Judge.me code --> <div class='jdgm-widget jdgm-preview-badge'> <div style='display:none' class='jdgm-prev-badge' data-average-rating='0.00' data-number-of-reviews='0' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='0.00' tabindex='0' aria-label='0.00 stars' role='button'> <span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span> </span> <span class='jdgm-prev-badge__text'> No reviews </span> </div> </div> <!-- End of Judge.me code --> </a> </div> </div> </div> <div class="product-card js-product js-product-card js-product-7775109021917 product-card--fit product-card--center home-products__item product-card--none" data-product-id="7775109021917"> <!-- custom label --> <!-- new label --> <div class="product-card-top"> <a href="/collections/frontpage/products/copy-of-evas-spritz-can" class="product-card-link product-card-link--full-opacity js-product-link home-products__link" title="Eva's Spritz Can 4-Pack" tabindex="-1"> <div class="product-card__media product-card__media--hover-zoom"> <div class="o-ratio o-ratio--1:1"> <div class="o-ratio__content"> <div class="product-card__spinner product-card__spinner--grid js-product-card__spinner"> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> </div> <img class="product-card__img js-img-grid" src="//forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-Box-2024-MPGEE_300x.jpg?v=1732058471" srcset=" //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-Box-2024-MPGEE_180x.jpg?v=1732058471 180w 120h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-Box-2024-MPGEE_360x.jpg?v=1732058471 360w 240h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-Box-2024-MPGEE_540x.jpg?v=1732058471 540w 360h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-Box-2024-MPGEE_720x.jpg?v=1732058471 720w 480h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-Box-2024-MPGEE_900x.jpg?v=1732058471 900w 600h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-Box-2024-MPGEE_1080x.jpg?v=1732058471 1080w 720h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-Box-2024-MPGEE_1296x.jpg?v=1732058471 1296w 864h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-Box-2024-MPGEE_1512x.jpg?v=1732058471 1512w 1008h " sizes="(min-width: 1600px) calc((80vw - 120px) / 3), (min-width: 981px) calc((100vw - 120px) / 3), (min-width: 768px) calc((100vw - 66px) / 2), calc((100vw - 72px) / 2)" width="300" height="200" alt="" loading="lazy" /> </div> </div> </div> </a> </div> <div class="product-card__details"> <a href="/collections/frontpage/products/copy-of-evas-spritz-can" class="product-card-link js-product-link" title="Eva's Spritz Can 4-Pack"> <h2 class="product-card__title f-family--heading f-caps--false f-space--1">Eva's Spritz Can 4-Pack</h2> </a> <div class="product-card__details__hover u-medium"> <a href="/collections/frontpage/products/copy-of-evas-spritz-can" class="product-card-link js-product-link" title="Eva's Spritz Can 4-Pack" tabindex="-1"> <p class="product-card__price"> <!-- snippet/product-price.liquid --> <span class="product-card__price-price"><span class="money">$22.00</span></span> </p> <!-- Start of Judge.me code --> <div class='jdgm-widget jdgm-preview-badge'> <div style='display:none' class='jdgm-prev-badge' data-average-rating='5.00' data-number-of-reviews='9' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='5.00' tabindex='0' aria-label='5.00 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> 9 reviews </span> </div> </div> <!-- End of Judge.me code --> </a> </div> </div> </div> <div class="product-card js-product js-product-card js-product-7775110103261 product-card--fit product-card--center home-products__item product-card--none" data-product-id="7775110103261"> <!-- custom label --> <!-- new label --> <div class="product-card-top"> <a href="/collections/frontpage/products/rose-city-fizz-4-pack" class="product-card-link product-card-link--full-opacity js-product-link home-products__link" title="Rose City Fizz 4-Pack" tabindex="-1"> <div class="product-card__media product-card__media--hover-zoom"> <div class="o-ratio o-ratio--1:1"> <div class="o-ratio__content"> <div class="product-card__spinner product-card__spinner--grid js-product-card__spinner"> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> </div> <img class="product-card__img js-img-grid" src="//forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-Box-2024-MPGEE_300x.jpg?v=1732058471" srcset=" //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-Box-2024-MPGEE_180x.jpg?v=1732058471 180w 120h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-Box-2024-MPGEE_360x.jpg?v=1732058471 360w 240h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-Box-2024-MPGEE_540x.jpg?v=1732058471 540w 360h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-Box-2024-MPGEE_720x.jpg?v=1732058471 720w 480h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-Box-2024-MPGEE_900x.jpg?v=1732058471 900w 600h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-Box-2024-MPGEE_1080x.jpg?v=1732058471 1080w 720h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-Box-2024-MPGEE_1296x.jpg?v=1732058471 1296w 864h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-Box-2024-MPGEE_1512x.jpg?v=1732058471 1512w 1008h " sizes="(min-width: 1600px) calc((80vw - 120px) / 3), (min-width: 981px) calc((100vw - 120px) / 3), (min-width: 768px) calc((100vw - 66px) / 2), calc((100vw - 72px) / 2)" width="300" height="200" alt="" loading="lazy" /> </div> </div> </div> </a> </div> <div class="product-card__details"> <a href="/collections/frontpage/products/rose-city-fizz-4-pack" class="product-card-link js-product-link" title="Rose City Fizz 4-Pack"> <h2 class="product-card__title f-family--heading f-caps--false f-space--1">Rose City Fizz 4-Pack</h2> </a> <div class="product-card__details__hover u-medium"> <a href="/collections/frontpage/products/rose-city-fizz-4-pack" class="product-card-link js-product-link" title="Rose City Fizz 4-Pack" tabindex="-1"> <p class="product-card__price"> <!-- snippet/product-price.liquid --> <span class="product-card__price-price"><span class="money">$22.00</span></span> </p> <!-- Start of Judge.me code --> <div class='jdgm-widget jdgm-preview-badge'> <div style='display:none' class='jdgm-prev-badge' data-average-rating='5.00' data-number-of-reviews='2' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='5.00' tabindex='0' aria-label='5.00 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> 2 reviews </span> </div> </div> <!-- End of Judge.me code --> </a> </div> </div> </div> <div class="product-card js-product js-product-card js-product-4508643164296 product-card--fit product-card--center home-products__item product-card--none" data-product-id="4508643164296"> <!-- custom label --> <!-- new label --> <div class="product-card-top"> <a href="/collections/frontpage/products/the-saskatoon" class="product-card-link product-card-link--full-opacity js-product-link home-products__link" title="The Saskatoon" tabindex="-1"> <div class="product-card__media product-card__media--hover-zoom"> <div class="o-ratio o-ratio--1:1"> <div class="o-ratio__content"> <div class="product-card__spinner product-card__spinner--grid js-product-card__spinner"> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> </div> <img class="product-card__img js-img-grid" src="//forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-2024-MPGEE_300x.jpg?v=1732058461" srcset=" //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-2024-MPGEE_180x.jpg?v=1732058461 180w 120h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-2024-MPGEE_360x.jpg?v=1732058461 360w 240h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-2024-MPGEE_540x.jpg?v=1732058461 540w 360h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-2024-MPGEE_720x.jpg?v=1732058461 720w 480h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-2024-MPGEE_900x.jpg?v=1732058461 900w 600h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-2024-MPGEE_1080x.jpg?v=1732058461 1080w 720h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-2024-MPGEE_1296x.jpg?v=1732058461 1296w 864h, //forbitterforworse.com/cdn/shop/files/FBFW-Saskatoon-2024-MPGEE_1512x.jpg?v=1732058461 1512w 1008h " sizes="(min-width: 1600px) calc((80vw - 120px) / 3), (min-width: 981px) calc((100vw - 120px) / 3), (min-width: 768px) calc((100vw - 66px) / 2), calc((100vw - 72px) / 2)" width="300" height="200" alt="" loading="lazy" /> </div> </div> </div> </a> </div> <div class="product-card__details"> <a href="/collections/frontpage/products/the-saskatoon" class="product-card-link js-product-link" title="The Saskatoon"> <h2 class="product-card__title f-family--heading f-caps--false f-space--1">The Saskatoon</h2> </a> <div class="product-card__details__hover u-medium"> <a href="/collections/frontpage/products/the-saskatoon" class="product-card-link js-product-link" title="The Saskatoon" tabindex="-1"> <p class="product-card__price"> <!-- snippet/product-price.liquid --> <span class="product-card__price-price"><span class="money">$28.00</span></span> </p> <!-- Start of Judge.me code --> <div class='jdgm-widget jdgm-preview-badge'> <div style='display:none' class='jdgm-prev-badge' data-average-rating='5.00' data-number-of-reviews='14' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='5.00' tabindex='0' aria-label='5.00 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> 14 reviews </span> </div> </div> <!-- End of Judge.me code --> </a> </div> </div> </div> <div class="product-card js-product js-product-card js-product-4508658008200 product-card--fit product-card--center home-products__item product-card--none" data-product-id="4508658008200"> <!-- custom label --> <!-- new label --> <div class="product-card-top"> <a href="/collections/frontpage/products/evas-spritz" class="product-card-link product-card-link--full-opacity js-product-link home-products__link" title="Eva's Spritz" tabindex="-1"> <div class="product-card__media product-card__media--hover-zoom"> <div class="o-ratio o-ratio--1:1"> <div class="o-ratio__content"> <div class="product-card__spinner product-card__spinner--grid js-product-card__spinner"> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> </div> <img class="product-card__img js-img-grid" src="//forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_300x.jpg?v=1732058463" srcset=" //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_180x.jpg?v=1732058463 180w 120h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_360x.jpg?v=1732058463 360w 240h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_540x.jpg?v=1732058463 540w 360h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_720x.jpg?v=1732058463 720w 480h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_900x.jpg?v=1732058463 900w 600h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_1080x.jpg?v=1732058463 1080w 720h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_1296x.jpg?v=1732058463 1296w 864h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_1512x.jpg?v=1732058463 1512w 1008h " sizes="(min-width: 1600px) calc((80vw - 120px) / 3), (min-width: 981px) calc((100vw - 120px) / 3), (min-width: 768px) calc((100vw - 66px) / 2), calc((100vw - 72px) / 2)" width="300" height="200" alt="" loading="lazy" /> </div> </div> </div> </a> </div> <div class="product-card__details"> <a href="/collections/frontpage/products/evas-spritz" class="product-card-link js-product-link" title="Eva's Spritz"> <h2 class="product-card__title f-family--heading f-caps--false f-space--1">Eva's Spritz</h2> </a> <div class="product-card__details__hover u-medium"> <a href="/collections/frontpage/products/evas-spritz" class="product-card-link js-product-link" title="Eva's Spritz" tabindex="-1"> <p class="product-card__price"> <!-- snippet/product-price.liquid --> <span class="product-card__price-price"><span class="money">$28.00</span></span> </p> <!-- Start of Judge.me code --> <div class='jdgm-widget jdgm-preview-badge'> <div style='display:none' class='jdgm-prev-badge' data-average-rating='4.93' data-number-of-reviews='15' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='4.93' tabindex='0' aria-label='4.93 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> 15 reviews </span> </div> </div> <!-- End of Judge.me code --> </a> </div> </div> </div> <div class="product-card js-product js-product-card js-product-7926074409181 product-card--fit product-card--center home-products__item product-card--none" data-product-id="7926074409181"> <!-- custom label --> <!-- new label --> <div class="product-card-top"> <a href="/collections/frontpage/products/rose-city-fizz-bottle-new" class="product-card-link product-card-link--full-opacity js-product-link home-products__link" title="Rose City Fizz" tabindex="-1"> <div class="product-card__media product-card__media--hover-zoom"> <div class="o-ratio o-ratio--1:1"> <div class="o-ratio__content"> <div class="product-card__spinner product-card__spinner--grid js-product-card__spinner"> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> <div class="product-card__spin-border"></div> </div> <img class="product-card__img js-img-grid" src="//forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-2024-MPGEE_300x.jpg?v=1732058466" srcset=" //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-2024-MPGEE_180x.jpg?v=1732058466 180w 120h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-2024-MPGEE_360x.jpg?v=1732058466 360w 240h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-2024-MPGEE_540x.jpg?v=1732058466 540w 360h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-2024-MPGEE_720x.jpg?v=1732058466 720w 480h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-2024-MPGEE_900x.jpg?v=1732058466 900w 600h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-2024-MPGEE_1080x.jpg?v=1732058466 1080w 720h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-2024-MPGEE_1296x.jpg?v=1732058466 1296w 864h, //forbitterforworse.com/cdn/shop/files/FBFW-RoseCityFizz-2024-MPGEE_1512x.jpg?v=1732058466 1512w 1008h " sizes="(min-width: 1600px) calc((80vw - 120px) / 3), (min-width: 981px) calc((100vw - 120px) / 3), (min-width: 768px) calc((100vw - 66px) / 2), calc((100vw - 72px) / 2)" width="300" height="200" alt="" loading="lazy" /> </div> </div> </div> </a> </div> <div class="product-card__details"> <a href="/collections/frontpage/products/rose-city-fizz-bottle-new" class="product-card-link js-product-link" title="Rose City Fizz"> <h2 class="product-card__title f-family--heading f-caps--false f-space--1">Rose City Fizz</h2> </a> <div class="product-card__details__hover u-medium"> <a href="/collections/frontpage/products/rose-city-fizz-bottle-new" class="product-card-link js-product-link" title="Rose City Fizz" tabindex="-1"> <p class="product-card__price"> <!-- snippet/product-price.liquid --> <span class="product-card__price-price"><span class="money">$28.00</span></span> </p> <!-- Start of Judge.me code --> <div class='jdgm-widget jdgm-preview-badge'> <div style='display:none' class='jdgm-prev-badge' data-average-rating='5.00' data-number-of-reviews='3' data-number-of-questions='0'> <span class='jdgm-prev-badge__stars' data-score='5.00' tabindex='0' aria-label='5.00 stars' role='button'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-prev-badge__text'> 3 reviews </span> </div> </div> <!-- End of Judge.me code --> </a> </div> </div> </div> </div> </div> </div> </section> </div><div id="shopify-section-template--18022997491933__2998aa07-6dba-4f9b-b614-0f3e9e01c0be" class="shopify-section js-section__home-promo"> <section class="section section--template--18022997491933__2998aa07-6dba-4f9b-b614-0f3e9e01c0be section--full-bg" data-section-id="template--18022997491933__2998aa07-6dba-4f9b-b614-0f3e9e01c0be" data-section-type="home-promo"> <div class="home-promo"> <div class="home-promo__item block--has-bg" > <div class="home-promo__item-bg" style="background-color: #ad2542"></div> <div class="container container--mob-0"> <div class="home-promo__content"> <div class="o-layout u-flex u-flex--middle"> <div class="o-layout__item u-1/1 u-1/2@desk"> <div class="home-promo__media"> <div class="o-ratio o-ratio--custom" style="padding-bottom:66.640625%;"> <div class="o-ratio__content img-lazyload-cover" style="background: url(//forbitterforworse.com/cdn/shop/files/Full_Line_-_Eva_s_Lead_Downsize_1x1.png?v=1669839708)"> <img class="home-promo__media-img" src="//forbitterforworse.com/cdn/shop/files/Full_Line_-_Eva_s_Lead_Downsize_300x.png?v=1669839708" srcset="//forbitterforworse.com/cdn/shop/files/Full_Line_-_Eva_s_Lead_Downsize_180x.png?v=1669839708 180w 120h, //forbitterforworse.com/cdn/shop/files/Full_Line_-_Eva_s_Lead_Downsize_360x.png?v=1669839708 360w 240h, //forbitterforworse.com/cdn/shop/files/Full_Line_-_Eva_s_Lead_Downsize_540x.png?v=1669839708 540w 360h, //forbitterforworse.com/cdn/shop/files/Full_Line_-_Eva_s_Lead_Downsize_720x.png?v=1669839708 720w 480h, //forbitterforworse.com/cdn/shop/files/Full_Line_-_Eva_s_Lead_Downsize_900x.png?v=1669839708 900w 600h, //forbitterforworse.com/cdn/shop/files/Full_Line_-_Eva_s_Lead_Downsize_1080x.png?v=1669839708 1080w 720h, //forbitterforworse.com/cdn/shop/files/Full_Line_-_Eva_s_Lead_Downsize.png?v=1669839708 1280w 853h" width="300" height="200" alt="Three bottles and two four-packs of cans all containing different non-alcoholic beverages are arranged upon a table alongside two mocktails in cocktail glasses." loading="lazy" /> </div> </div> </div> </div> <div class="o-layout__item u-1/1 u-1/2@desk"> <div class="home-promo__box home-promo__box--btn"> <div class="home-promo__title section__title"> <h3 class="section__title-text">Join Our Drinks Club</h3> </div> <div class="home-promo__text rte"><p>Subscribe and save 15% on your favorite bottles & cans! New subscription formats now available!!</p></div> <a href="/collections/for-bitter-for-worse-drinks-club" class="home-promo__btn c-btn c-btn--primary">SUBSCRIBE NOW</a> </div> </div> </div> </div> </div> </div> <div class="home-promo__item block--has-bg" > <div class="home-promo__item-bg" style="background-color: #ad2542"></div> <div class="container container--mob-0"> <div class="home-promo__content"> <div class="o-layout u-flex u-flex--middle"> <div class="o-layout__item u-1/1 u-1/2@desk"> <div class="home-promo__media"> <div class="o-ratio o-ratio--custom" style="padding-bottom:66.66%;"> <div class="o-ratio__content img-lazyload-cover" style="background: url(//forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_1x1.jpg?v=1669835691)"> <img class="home-promo__media-img" src="//forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_300x.jpg?v=1669835691" srcset="//forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_180x.jpg?v=1669835691 180w 120h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_360x.jpg?v=1669835691 360w 240h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_540x.jpg?v=1669835691 540w 360h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_720x.jpg?v=1669835691 720w 480h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_900x.jpg?v=1669835691 900w 600h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_1080x.jpg?v=1669835691 1080w 720h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_1296x.jpg?v=1669835691 1296w 864h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_1512x.jpg?v=1669835691 1512w 1008h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_1728x.jpg?v=1669835691 1728w 1152h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_1950x.jpg?v=1669835691 1950w 1300h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_2100x.jpg?v=1669835691 2100w 1400h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_2260x.jpg?v=1669835691 2260w 1507h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_2450x.jpg?v=1669835691 2450w 1633h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_2700x.jpg?v=1669835691 2700w 1800h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_3000x.jpg?v=1669835691 3000w 2000h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_3350x.jpg?v=1669835691 3350w 2233h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_3750x.jpg?v=1669835691 3750w 2500h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection_4100x.jpg?v=1669835691 4100w 2733h, //forbitterforworse.com/cdn/shop/files/FBFW_Holiday_LIfestyle_True_Connection.jpg?v=1669835691 5000w 3333h" width="300" height="200" alt="Five people laugh as they sit on a couch around a glass coffee table that holds a charcuterie board, mocktails in martini glasses, playing cards, and a bottle containing a non-alcoholic beverage." loading="lazy" /> </div> </div> </div> </div> <div class="o-layout__item u-1/1 u-1/2@desk"> <div class="home-promo__box home-promo__box--btn"> <div class="home-promo__title section__title"> <h3 class="section__title-text">True Connection Does Not Require Alcohol</h3> </div> <div class="home-promo__text rte"><p>For sober folks and those who are simply cutting back on booze, For Bitter For Worse embraces occasion and community, inviting opportunity for richer relationships.</p></div> <a href="/pages/about" class="home-promo__btn c-btn c-btn--primary">Our Values</a> </div> </div> </div> </div> </div> </div> </div> </section> </div><div id="shopify-section-template--18022997491933__58b2a524-ae94-4a7c-80db-598e674322fd" class="shopify-section js-section__home-logo-list"> <section class="section section--template--18022997491933__58b2a524-ae94-4a7c-80db-598e674322fd section--no-bg section--content-default" data-section-id="template--18022997491933__58b2a524-ae94-4a7c-80db-598e674322fd" data-section-type="home-logo-list"> <div class="home-logo-list home-logo-list--carousel home-logo-list--mob-carousel home-logo-list--4 home-logo-list--no-link"> <div class="home-logo-list__bg" style="background-color: rgba(0,0,0,0)"></div> <div class="container"> <div class="section__title section__title--center"> <h2 class="section__title-text">Everyone&#39;s Talking About Us</h2> </div> </div> <style> .home-logo-list-carousel--loading .home-logo-list__item:not(:first-of-type) { display: none; } </style> <noscript> <style> .home-logo-list-carousel--loading .home-logo-list__item:not(:first-of-type) { display: initial; } </style> </noscript> <div class="container container--xlarge container--mob-0"> <div class="home-logo-list__items js-home-logo-list"> <div class=" home-logo-list-carousel js-home-logo-list-carousel home-logo-list-carousel--loading" data-carousel-desktop="true" data-carousel-mobile="true" data-carousel-count="4" data-slick='{"autoplay": true, "autoplaySpeed": 5000}'> <div class="home-logo-list__item" data-slide-id="0" > <a href="https://www.hollywoodreporter.com/lifestyle/lifestyle-news/hollywoods-new-party-drink-non-alcoholic-cocktails-1235257919/" class="home-logo-list__link"> <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/thr_square_400x.webp?v=1669834717" width="400" height="400" alt="Logo of The Hollywood Reporter" loading="lazy" /> </a> </div> <div class="home-logo-list__item" data-slide-id="1" > <a href="https://www.nytimes.com/wirecutter/reviews/best-non-alcoholic-drinks/" class="home-logo-list__link"> <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/The_New_York_Times_Wirecutter_400x.jpg?v=1661360181" width="400" height="209" alt="Logo of The New York Times&#39; Wirecutter" loading="lazy" /> </a> </div> <div class="home-logo-list__item" data-slide-id="2" > <a href="https://www.forbes.com/sites/katedingwall/2022/11/24/3-new-non-alcoholic-beverages-to-try-this-november/?sh=4b1c24037d44" class="home-logo-list__link"> <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/forbes-logo-7-1_400x.png?v=1669840120" width="400" height="101" alt="Forbes logo" loading="lazy" /> </a> </div> <div class="home-logo-list__item" data-slide-id="3" > <a href="https://snaxshot.com/?utm_source=substack&utm_medium=email" class="home-logo-list__link"> <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/snaxshot_logo_400x.png?v=1669840065" width="400" height="225" alt="Snaxshot logo" loading="lazy" /> </a> </div> </div> </div> </div> </div> </section> </div><div id="shopify-section-template--18022997491933__section-image-grid" class="shopify-section js-section__home-image-grid"><style> .section--template--18022997491933__section-image-grid .home-image-grid__bg--overlay:before, .section--template--18022997491933__section-image-grid .home-image-grid__bg--cover:before { opacity: .30; } </style> <section class="section section--mb-s section--template--18022997491933__section-image-grid" data-section-id="template--18022997491933__section-image-grid" data-section-type="home-image-grid"> <div class="home-image-grid home-image-grid--large home-image-grid--featured"> <div class="container container--full"> <div class="home-image-grid__items"> <div class="o-layout"> <div class="o-layout__item u-1/1 u-2/3@tab" > <div class="u-flex-parent"> <div class="home-image-grid__item home-image-grid__item--text u-flex u-flex--middle u-flex--center" style="background-color:#ad2542;"> <div class="home-image-grid__content home-image-grid__content--default-light"> <h3 class="home-image-grid__title h1 home-image-grid__title--underline">What Is Reverse Bootlegging?</h3> <div class="home-image-grid__desc rte"><p>We use a trade secret “reverse bootlegging” process to achieve robust flavor and complexity.</p><p></p><p>WHAT'S IN OUR BOTTLES:</p><p>·  More than 13 farmed and foraged botanicals in very bottle</p><p>·  Certified organic, Fair Trade & ethically sourced ingredients</p><p></p><p>WHAT'S NOT IN OUR BOTTTLES:</p><p>·  Lab-derived ingredients, such as natural flavors and preservatives</p><p>·  Refined sugar</p><p>·  Velcorin</p></div> <a href="/pages/about" class="c-btn c-btn--primary c-btn--default-light home-image-grid__btn">LEARN MORE</a> </div> </div> </div> </div> <div class="o-layout__item u-1/1 u-1/3@tab" > <a href="https://www.nytimes.com/2020/08/14/dining/nonalcoholic-bitter-cocktails.html" class="home-image-grid__link"> <div class="u-flex-parent"> <div class="home-image-grid__item home-image-grid__item--image u-flex u-flex--bottom home-image-grid__item--p-"> <div class="home-image-grid__bg--cover u-bg-contain u-bg-overlay" style="background-image: url('//forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_1x1.png?v=1661359575')"></div> <picture> <source srcset="//forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_180x180_crop_center.png?v=1661359575 180w 180h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_360x360_crop_center.png?v=1661359575 360w 360h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_540x540_crop_center.png?v=1661359575 540w 540h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_720x720_crop_center.png?v=1661359575 720w 720h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_900x900_crop_center.png?v=1661359575 900w 900h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_1080x1080_crop_center.png?v=1661359575 1080w 1080h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_1296x1296_crop_center.png?v=1661359575 1296w 1296h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_1512x1512_crop_center.png?v=1661359575 1512w 1512h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_1728x1728_crop_center.png?v=1661359575 1728w 1728h, " media="all and (max-width: 540px)" /> <source srcset="//forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_180x.png?v=1661359575 180w 233h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_360x.png?v=1661359575 360w 465h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_540x.png?v=1661359575 540w 698h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_720x.png?v=1661359575 720w 930h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_900x.png?v=1661359575 900w 1163h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_1080x.png?v=1661359575 1080w 1395h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_1296x.png?v=1661359575 1296w 1674h, //forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times.png?v=1661359575 1498w 1935h" sizes="(min-width: 768px) 33vw, 100vw" media="all and (min-width: 541px)" /> <img class="home-image-grid__bg home-image-grid__bg--section-image-grid-2 home-image-grid__bg--top" src="//forbitterforworse.com/cdn/shop/files/Symbol-New-York-Times_300x.png?v=1661359575" width="300" height="388" alt="" loading="lazy" /> </picture> <div class="home-image-grid__bg--overlay u-bg-overlay"></div> <div class="home-image-grid__content"> <h3 class="home-image-grid__title h2 home-image-grid__title--underline">The New York Times</h3> <p class="home-image-grid__desc">&quot;Pleasantly Bitter &amp; Thoroughly Grown Up&quot;</p> </div> </div> </div> </a> </div> <div class="o-layout__item u-1/1 u-1/3@tab" > <a href="/collections/all" class="home-image-grid__link"> <div class="u-flex-parent"> <div class="home-image-grid__item home-image-grid__item--image u-flex u-flex--top home-image-grid__item--p-"> <div class="home-image-grid__bg--cover u-bg-contain u-bg-overlay" style="background-image: url('//forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_1x1.png?v=1660848329')"></div> <picture> <source srcset="//forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_180x180_crop_center.png?v=1660848329 180w 180h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_360x360_crop_center.png?v=1660848329 360w 360h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_540x540_crop_center.png?v=1660848329 540w 540h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_720x720_crop_center.png?v=1660848329 720w 720h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_900x900_crop_center.png?v=1660848329 900w 900h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_1080x1080_crop_center.png?v=1660848329 1080w 1080h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_1296x1296_crop_center.png?v=1660848329 1296w 1296h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_1512x1512_crop_center.png?v=1660848329 1512w 1512h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_1728x1728_crop_center.png?v=1660848329 1728w 1728h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_1950x1950_crop_center.png?v=1660848329 1950w 1950h, " media="all and (max-width: 540px)" /> <source srcset="//forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_180x.png?v=1660848329 180w 120h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_360x.png?v=1660848329 360w 240h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_540x.png?v=1660848329 540w 360h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_720x.png?v=1660848329 720w 480h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_900x.png?v=1660848329 900w 600h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_1080x.png?v=1660848329 1080w 720h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_1296x.png?v=1660848329 1296w 864h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_1512x.png?v=1660848329 1512w 1008h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_1728x.png?v=1660848329 1728w 1152h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_1950x.png?v=1660848329 1950w 1300h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_2100x.png?v=1660848329 2100w 1400h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_2260x.png?v=1660848329 2260w 1507h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_2450x.png?v=1660848329 2450w 1633h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_2700x.png?v=1660848329 2700w 1800h, //forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize.png?v=1660848329 3000w 2000h" sizes="(min-width: 768px) 33vw, 100vw" media="all and (min-width: 541px)" /> <img class="home-image-grid__bg home-image-grid__bg--section-image-grid-3 home-image-grid__bg--center" src="//forbitterforworse.com/cdn/shop/files/FBFW_Header_-_Shopify_Resize_300x.png?v=1660848329" width="300" height="200" alt="Three bottled non-alcoholic cocktails and two four-packs of cans with variably colored labels stand on a wooden table." loading="lazy" /> </picture> <div class="home-image-grid__bg--overlay u-bg-overlay"></div> <div class="home-image-grid__content"> <h3 class="home-image-grid__title h2 home-image-grid__title--underline">We Focus on Flavor</h3> <p class="home-image-grid__desc">We use organically-grown botanicals, not “natural” flavors. We don’t use synthetic vitamins or supplements that may not be safe for everyone. Our drinks are free from lab-derived ingredients. We make our drinks ourselves.</p> </div> </div> </div> </a> </div> <div class="o-layout__item u-1/1 u-1/3@tab" > <a href="https://www.nytimes.com/wirecutter/reviews/best-non-alcoholic-drinks/" class="home-image-grid__link"> <div class="u-flex-parent"> <div class="home-image-grid__item home-image-grid__item--image u-flex u-flex--bottom home-image-grid__item--p-"> <div class="home-image-grid__bg--cover u-bg-contain u-bg-overlay" style="background-image: url('//forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_1x1.jpg?v=1661347914')"></div> <picture> <source srcset="//forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_180x180_crop_center.jpg?v=1661347914 180w 180h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_360x360_crop_center.jpg?v=1661347914 360w 360h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_540x540_crop_center.jpg?v=1661347914 540w 540h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_720x720_crop_center.jpg?v=1661347914 720w 720h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_900x900_crop_center.jpg?v=1661347914 900w 900h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_1080x1080_crop_center.jpg?v=1661347914 1080w 1080h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_1296x1296_crop_center.jpg?v=1661347914 1296w 1296h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_1512x1512_crop_center.jpg?v=1661347914 1512w 1512h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_1728x1728_crop_center.jpg?v=1661347914 1728w 1728h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_1950x1950_crop_center.jpg?v=1661347914 1950w 1950h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_2100x2100_crop_center.jpg?v=1661347914 2100w 2100h, " media="all and (max-width: 540px)" /> <source srcset="//forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_180x.jpg?v=1661347914 180w 120h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_360x.jpg?v=1661347914 360w 240h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_540x.jpg?v=1661347914 540w 360h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_720x.jpg?v=1661347914 720w 480h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_900x.jpg?v=1661347914 900w 600h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_1080x.jpg?v=1661347914 1080w 720h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_1296x.jpg?v=1661347914 1296w 864h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_1512x.jpg?v=1661347914 1512w 1008h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_1728x.jpg?v=1661347914 1728w 1152h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_1950x.jpg?v=1661347914 1950w 1300h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_2100x.jpg?v=1661347914 2100w 1400h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_2260x.jpg?v=1661347914 2260w 1507h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_2450x.jpg?v=1661347914 2450w 1633h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_2700x.jpg?v=1661347914 2700w 1800h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_3000x.jpg?v=1661347914 3000w 2000h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_3350x.jpg?v=1661347914 3350w 2233h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_3750x.jpg?v=1661347914 3750w 2500h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_4100x.jpg?v=1661347914 4100w 2733h, //forbitterforworse.com/cdn/shop/files/08-01_FBFW-44.jpg?v=1661347914 5472w 3648h" sizes="(min-width: 768px) 33vw, 100vw" media="all and (min-width: 541px)" /> <img class="home-image-grid__bg home-image-grid__bg--2bdcbd8e-3dbe-46c1-823e-f44096674ff1 home-image-grid__bg--top" src="//forbitterforworse.com/cdn/shop/files/08-01_FBFW-44_300x.jpg?v=1661347914" width="300" height="200" alt="Close up of the torsos of a man and a woman. The man holds a bouquet and the woman holds two wine glasses in one hand and a bottle containing a non-alcoholic beverage in the other." loading="lazy" /> </picture> <div class="home-image-grid__bg--overlay u-bg-overlay"></div> <div class="home-image-grid__content"> <h3 class="home-image-grid__title h2 home-image-grid__title--underline">NYT Wirecutter</h3> <p class="home-image-grid__desc">18 Best Nonalcoholic Drinks of 2022: Eva&#39;s Spritz &amp; Saskatoon</p> </div> </div> </div> </a> </div> <div class="o-layout__item u-1/1 u-1/3@tab" > <a href="/pages/about" class="home-image-grid__link"> <div class="u-flex-parent"> <div class="home-image-grid__item home-image-grid__item--image u-flex u-flex--bottom home-image-grid__item--p-"> <div class="home-image-grid__bg--cover u-bg-contain u-bg-overlay" style="background-image: url('//forbitterforworse.com/cdn/shop/files/2021_08_28_FBFW-96_1x1.jpg?v=1661974495')"></div> <picture> <source srcset="//forbitterforworse.com/cdn/shop/files/2021_08_28_FBFW-96_180x180_crop_center.jpg?v=1661974495 180w 180h, //forbitterforworse.com/cdn/shop/files/2021_08_28_FBFW-96_360x360_crop_center.jpg?v=1661974495 360w 360h, //forbitterforworse.com/cdn/shop/files/2021_08_28_FBFW-96_540x540_crop_center.jpg?v=1661974495 540w 540h, " media="all and (max-width: 540px)" /> <source srcset="//forbitterforworse.com/cdn/shop/files/2021_08_28_FBFW-96_180x.jpg?v=1661974495 180w 120h, //forbitterforworse.com/cdn/shop/files/2021_08_28_FBFW-96_360x.jpg?v=1661974495 360w 240h, //forbitterforworse.com/cdn/shop/files/2021_08_28_FBFW-96_540x.jpg?v=1661974495 540w 360h, //forbitterforworse.com/cdn/shop/files/2021_08_28_FBFW-96_720x.jpg?v=1661974495 720w 480h, //forbitterforworse.com/cdn/shop/files/2021_08_28_FBFW-96_900x.jpg?v=1661974495 900w 600h, //forbitterforworse.com/cdn/shop/files/2021_08_28_FBFW-96.jpg?v=1661974495 1024w 683h" sizes="(min-width: 768px) 33vw, 100vw" media="all and (min-width: 541px)" /> <img class="home-image-grid__bg home-image-grid__bg--section-image-grid-0 home-image-grid__bg--center" src="//forbitterforworse.com/cdn/shop/files/2021_08_28_FBFW-96_300x.jpg?v=1661974495" width="300" height="200" alt="Shelley and Jeff, the founders of For Bitter For Worse, wear bright yellow aprons and smile as the stand between two large stainless steel mixing tanks." loading="lazy" /> </picture> <div class="home-image-grid__bg--overlay u-bg-overlay"></div> <div class="home-image-grid__content"> <h3 class="home-image-grid__title h2 home-image-grid__title--underline">Shelley & Jeff</h3> <p class="home-image-grid__desc">For Bitter For Worse is inspired by our long, sparky marriage and love for celebration.</p> </div> </div> </div> </a> </div> </div> </div> </div> </div> </section> </div><section id="shopify-section-template--18022997491933__section-product" class="shopify-section js-section__home-product"> <section class="section section--template--18022997491933__section-product section--product-featured section--full-bg section--no-bg" data-section-id="template--18022997491933__section-product" data-section-type="product-featured"> <style> /* Loading states */ .product-featured__photo--loading .product-featured__photo__wrapper:not(:first-of-type) { display: none; } </style> <noscript> <style> /* Loading states */ .product-featured__photo--loading .product-featured__photo__wrapper:not(:first-of-type) { display: initial; } </style> </noscript> <div class="product-featured product-featured--4508658008200 product-featured--default js-product-4508658008200 js-product-featured" data-product-id="4508658008200"> <div class="container container--medium"> <div class="o-layout u-flex u-flex--middle"> <div class="o-layout__item u-1/1 u-1/2@tab"> <div class="product-featured__photo-wrapper js-product-slider-wrapper" data-product-media-wrapper data-product-media-group data-enable-video-looping="true"> <div class="product-featured__photo js-product-slider product-featured__photo--loading" data-slider-id="1"> <div class="product-featured__photo__wrapper"> <div class="product-featured__photo__item" data-slide-id="0" data-media-id="35058645270749"> <img class="product-featured__photo__img" src="//forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_300x.jpg?v=1732058463" srcset=" //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_180x.jpg?v=1732058463 180w 120h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_360x.jpg?v=1732058463 360w 240h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_540x.jpg?v=1732058463 540w 360h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_720x.jpg?v=1732058463 720w 480h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_900x.jpg?v=1732058463 900w 600h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_1080x.jpg?v=1732058463 1080w 720h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_1296x.jpg?v=1732058463 1296w 864h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_1512x.jpg?v=1732058463 1512w 1008h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_1728x.jpg?v=1732058463 1728w 1152h, //forbitterforworse.com/cdn/shop/files/FBFW-EvasSpritz-2024-MPGEE_2048x.jpg?v=1732058463 20148w 1365h " sizes="(min-width: 768px) 50vw, 100vw" width="300" height="200" alt="Eva&#39;s Spritz" loading="lazy" /> </div> </div> <div class="product-featured__photo__wrapper"> <div class="product-featured__photo__item" data-slide-id="1" data-media-id="30522648428765"> <img class="product-featured__photo__img" src="//forbitterforworse.com/cdn/shop/products/Illo-FBFW-EvasSpritz_300x.jpg?v=1662997940" srcset=" //forbitterforworse.com/cdn/shop/products/Illo-FBFW-EvasSpritz_180x.jpg?v=1662997940 180w 150h, //forbitterforworse.com/cdn/shop/products/Illo-FBFW-EvasSpritz_360x.jpg?v=1662997940 360w 300h, //forbitterforworse.com/cdn/shop/products/Illo-FBFW-EvasSpritz_540x.jpg?v=1662997940 540w 449h, //forbitterforworse.com/cdn/shop/products/Illo-FBFW-EvasSpritz_720x.jpg?v=1662997940 720w 599h, //forbitterforworse.com/cdn/shop/products/Illo-FBFW-EvasSpritz_900x.jpg?v=1662997940 900w 749h, //forbitterforworse.com/cdn/shop/products/Illo-FBFW-EvasSpritz_1080x.jpg?v=1662997940 1080w 899h, //forbitterforworse.com/cdn/shop/products/Illo-FBFW-EvasSpritz_1296x.jpg?v=1662997940 1296w 1078h, //forbitterforworse.com/cdn/shop/products/Illo-FBFW-EvasSpritz_1512x.jpg?v=1662997940 1512w 1258h, //forbitterforworse.com/cdn/shop/products/Illo-FBFW-EvasSpritz_1728x.jpg?v=1662997940 1728w 1438h, //forbitterforworse.com/cdn/shop/products/Illo-FBFW-EvasSpritz_2048x.jpg?v=1662997940 20148w 1704h " sizes="(min-width: 768px) 50vw, 100vw" width="300" height="250" alt="Yellow cut-paper art depicting two people lounging on a blanket in the grass with a picnic basket beside them." loading="lazy" /> </div> </div> <div class="product-featured__photo__wrapper"> <div class="product-featured__photo__item" data-slide-id="2" data-media-id="30500443717853"> <img class="product-featured__photo__img" src="//forbitterforworse.com/cdn/shop/products/Evafountainhero_300x.jpg?v=1662997940" srcset=" //forbitterforworse.com/cdn/shop/products/Evafountainhero_180x.jpg?v=1662997940 180w 120h, //forbitterforworse.com/cdn/shop/products/Evafountainhero_360x.jpg?v=1662997940 360w 240h, //forbitterforworse.com/cdn/shop/products/Evafountainhero_540x.jpg?v=1662997940 540w 360h, //forbitterforworse.com/cdn/shop/products/Evafountainhero_720x.jpg?v=1662997940 720w 480h, //forbitterforworse.com/cdn/shop/products/Evafountainhero_900x.jpg?v=1662997940 900w 600h, //forbitterforworse.com/cdn/shop/products/Evafountainhero_1080x.jpg?v=1662997940 1080w 720h, //forbitterforworse.com/cdn/shop/products/Evafountainhero_1296x.jpg?v=1662997940 1296w 864h, //forbitterforworse.com/cdn/shop/products/Evafountainhero_1512x.jpg?v=1662997940 1512w 1008h, //forbitterforworse.com/cdn/shop/products/Evafountainhero_1728x.jpg?v=1662997940 1728w 1153h, //forbitterforworse.com/cdn/shop/products/Evafountainhero_2048x.jpg?v=1662997940 20148w 1366h " sizes="(min-width: 768px) 50vw, 100vw" width="300" height="200" alt="Close of up a bottle of Eva&#39;s Spritz held by a woman standing in a fountain on a sunny day." loading="lazy" /> </div> </div> <div class="product-featured__photo__wrapper"> <div class="product-featured__photo__item" data-slide-id="3" data-media-id="30500443947229"> <img class="product-featured__photo__img" src="//forbitterforworse.com/cdn/shop/products/Evafountainsplash_300x.jpg?v=1662997940" srcset=" //forbitterforworse.com/cdn/shop/products/Evafountainsplash_180x.jpg?v=1662997940 180w 120h, //forbitterforworse.com/cdn/shop/products/Evafountainsplash_360x.jpg?v=1662997940 360w 240h, //forbitterforworse.com/cdn/shop/products/Evafountainsplash_540x.jpg?v=1662997940 540w 360h, //forbitterforworse.com/cdn/shop/products/Evafountainsplash_720x.jpg?v=1662997940 720w 480h, //forbitterforworse.com/cdn/shop/products/Evafountainsplash_900x.jpg?v=1662997940 900w 600h, //forbitterforworse.com/cdn/shop/products/Evafountainsplash_1080x.jpg?v=1662997940 1080w 720h, //forbitterforworse.com/cdn/shop/products/Evafountainsplash_1296x.jpg?v=1662997940 1296w 864h, //forbitterforworse.com/cdn/shop/products/Evafountainsplash_1512x.jpg?v=1662997940 1512w 1008h, //forbitterforworse.com/cdn/shop/products/Evafountainsplash_1728x.jpg?v=1662997940 1728w 1153h, //forbitterforworse.com/cdn/shop/products/Evafountainsplash_2048x.jpg?v=1662997940 20148w 1366h " sizes="(min-width: 768px) 50vw, 100vw" width="300" height="200" alt="A man and a woman laugh as they wade through a fountain. The woman holds a bouquet and the man holds a bottle of Eva&#39;s Spritz." loading="lazy" /> </div> </div> <div class="product-featured__photo__wrapper"> <div class="product-featured__photo__item" data-slide-id="4" data-media-id="30500476453085"> <img class="product-featured__photo__img" src="//forbitterforworse.com/cdn/shop/products/spritzpoursquare_300x.png?v=1662997940" srcset=" //forbitterforworse.com/cdn/shop/products/spritzpoursquare_180x.png?v=1662997940 180w 180h, //forbitterforworse.com/cdn/shop/products/spritzpoursquare_360x.png?v=1662997940 360w 360h, //forbitterforworse.com/cdn/shop/products/spritzpoursquare_540x.png?v=1662997940 540w 540h, //forbitterforworse.com/cdn/shop/products/spritzpoursquare_720x.png?v=1662997940 720w 720h, //forbitterforworse.com/cdn/shop/products/spritzpoursquare_900x.png?v=1662997940 900w 900h, //forbitterforworse.com/cdn/shop/products/spritzpoursquare_1080x.png?v=1662997940 1080w 1080h, //forbitterforworse.com/cdn/shop/products/spritzpoursquare_1296x.png?v=1662997940 1296w 1296h, //forbitterforworse.com/cdn/shop/products/spritzpoursquare_1512x.png?v=1662997940 1512w 1512h, //forbitterforworse.com/cdn/shop/products/spritzpoursquare_1728x.png?v=1662997940 1728w 1728h, //forbitterforworse.com/cdn/shop/products/spritzpoursquare_2048x.png?v=1662997940 20148w 2048h " sizes="(min-width: 768px) 50vw, 100vw" width="300" height="300" alt="Close-up of a wine glass containing an orange non-alcoholic cocktail with an orange wedge garnish." loading="lazy" /> </div> </div> <div class="product-featured__photo__wrapper"> <div class="product-featured__photo__item" data-slide-id="5" data-media-id="30500480909533"> <img class="product-featured__photo__img" src="//forbitterforworse.com/cdn/shop/products/baby_i_love_your_way_hero_300x.png?v=1662997940" srcset=" //forbitterforworse.com/cdn/shop/products/baby_i_love_your_way_hero_180x.png?v=1662997940 180w 120h, //forbitterforworse.com/cdn/shop/products/baby_i_love_your_way_hero_360x.png?v=1662997940 360w 240h, //forbitterforworse.com/cdn/shop/products/baby_i_love_your_way_hero_540x.png?v=1662997940 540w 361h, //forbitterforworse.com/cdn/shop/products/baby_i_love_your_way_hero_720x.png?v=1662997940 720w 481h, //forbitterforworse.com/cdn/shop/products/baby_i_love_your_way_hero_900x.png?v=1662997940 900w 601h, //forbitterforworse.com/cdn/shop/products/baby_i_love_your_way_hero_1080x.png?v=1662997940 1080w 721h, //forbitterforworse.com/cdn/shop/products/baby_i_love_your_way_hero_1296x.png?v=1662997940 1296w 865h, //forbitterforworse.com/cdn/shop/products/baby_i_love_your_way_hero_1512x.png?v=1662997940 1512w 1009h, //forbitterforworse.com/cdn/shop/products/baby_i_love_your_way_hero_1728x.png?v=1662997940 1728w 1154h, //forbitterforworse.com/cdn/shop/products/baby_i_love_your_way_hero_2048x.png?v=1662997940 20148w 1367h " sizes="(min-width: 768px) 50vw, 100vw" width="300" height="200" alt="Close-up of four Collins glasses containing orange non-alcoholic cocktails with rosemary and lemon peel garnishes." loading="lazy" /> </div> </div> <div class="product-featured__photo__wrapper"> <div class="product-featured__photo__item" data-slide-id="6" data-media-id="30500453155037"> <img class="product-featured__photo__img" src="//forbitterforworse.com/cdn/shop/products/2021-SFWSC-Bronze-Med.-Artwork_300x.png?v=1662997940" srcset=" //forbitterforworse.com/cdn/shop/products/2021-SFWSC-Bronze-Med.-Artwork_180x.png?v=1662997940 180w 180h, //forbitterforworse.com/cdn/shop/products/2021-SFWSC-Bronze-Med.-Artwork_360x.png?v=1662997940 360w 360h, //forbitterforworse.com/cdn/shop/products/2021-SFWSC-Bronze-Med.-Artwork_540x.png?v=1662997940 540w 540h, //forbitterforworse.com/cdn/shop/products/2021-SFWSC-Bronze-Med.-Artwork_720x.png?v=1662997940 720w 720h, //forbitterforworse.com/cdn/shop/products/2021-SFWSC-Bronze-Med.-Artwork_900x.png?v=1662997940 900w 900h, //forbitterforworse.com/cdn/shop/products/2021-SFWSC-Bronze-Med.-Artwork_1080x.png?v=1662997940 1080w 1080h, //forbitterforworse.com/cdn/shop/products/2021-SFWSC-Bronze-Med.-Artwork_1296x.png?v=1662997940 1296w 1296h, //forbitterforworse.com/cdn/shop/products/2021-SFWSC-Bronze-Med.-Artwork_1512x.png?v=1662997940 1512w 1512h, //forbitterforworse.com/cdn/shop/products/2021-SFWSC-Bronze-Med.-Artwork_1728x.png?v=1662997940 1728w 1728h, //forbitterforworse.com/cdn/shop/products/2021-SFWSC-Bronze-Med.-Artwork_2048x.png?v=1662997940 20148w 2048h " sizes="(min-width: 768px) 50vw, 100vw" width="300" height="300" alt="A badge reads &quot;2021 San Francisco World Spirits Competition, bronze.&quot;" loading="lazy" /> </div> </div> <div class="product-featured__photo__wrapper"> <div class="product-featured__photo__item" data-slide-id="7" data-media-id="30500453253341"> <img class="product-featured__photo__img" src="//forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_300x.png?v=1662997940" srcset=" //forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_180x.png?v=1662997940 180w 180h, //forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_360x.png?v=1662997940 360w 360h, //forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_540x.png?v=1662997940 540w 540h, //forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_720x.png?v=1662997940 720w 720h, //forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_900x.png?v=1662997940 900w 900h, //forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_1080x.png?v=1662997940 1080w 1080h, //forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_1296x.png?v=1662997940 1296w 1296h, //forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_1512x.png?v=1662997940 1512w 1512h, //forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_1728x.png?v=1662997940 1728w 1728h, //forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_2048x.png?v=1662997940 20148w 2048h " sizes="(min-width: 768px) 50vw, 100vw" width="300" height="300" alt="A badge that reads &quot;IWSC 95 points, 2021.&quot;" loading="lazy" /> </div> </div> <div class="product-featured__photo__wrapper"> <div class="product-featured__photo__item" data-slide-id="8" data-media-id="30500453384413"> <img class="product-featured__photo__img" src="//forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_300x.png?v=1662997940" srcset=" //forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_180x.png?v=1662997940 180w 180h, //forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_360x.png?v=1662997940 360w 360h, //forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_540x.png?v=1662997940 540w 540h, //forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_720x.png?v=1662997940 720w 720h, //forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_900x.png?v=1662997940 900w 900h, //forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_1080x.png?v=1662997940 1080w 1080h, //forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_1296x.png?v=1662997940 1296w 1296h, //forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_1512x.png?v=1662997940 1512w 1512h, //forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_1728x.png?v=1662997940 1728w 1728h, //forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_2048x.png?v=1662997940 20148w 2048h " sizes="(min-width: 768px) 50vw, 100vw" width="300" height="300" alt="A badge that reads &quot;2022 LA Spirits Awards, silver medal.&quot;" loading="lazy" /> </div> </div> <div class="product-featured__photo__wrapper"> <div class="product-featured__photo__item" data-slide-id="9" data-media-id="31622896615645"> <img class="product-featured__photo__img" src="//forbitterforworse.com/cdn/shop/products/EVAwafa_medal_bronze_300x.png?v=1680731747" srcset=" //forbitterforworse.com/cdn/shop/products/EVAwafa_medal_bronze_180x.png?v=1680731747 180w 180h, //forbitterforworse.com/cdn/shop/products/EVAwafa_medal_bronze_360x.png?v=1680731747 360w 360h, //forbitterforworse.com/cdn/shop/products/EVAwafa_medal_bronze_540x.png?v=1680731747 540w 540h, //forbitterforworse.com/cdn/shop/products/EVAwafa_medal_bronze_720x.png?v=1680731747 720w 720h, //forbitterforworse.com/cdn/shop/products/EVAwafa_medal_bronze_900x.png?v=1680731747 900w 900h, //forbitterforworse.com/cdn/shop/products/EVAwafa_medal_bronze_1080x.png?v=1680731747 1080w 1080h, //forbitterforworse.com/cdn/shop/products/EVAwafa_medal_bronze_1296x.png?v=1680731747 1296w 1296h, //forbitterforworse.com/cdn/shop/products/EVAwafa_medal_bronze_1512x.png?v=1680731747 1512w 1512h, //forbitterforworse.com/cdn/shop/products/EVAwafa_medal_bronze_1728x.png?v=1680731747 1728w 1728h, //forbitterforworse.com/cdn/shop/products/EVAwafa_medal_bronze_2048x.png?v=1680731747 20148w 2048h " sizes="(min-width: 768px) 50vw, 100vw" width="300" height="300" alt="A badge reads &quot;2023 World Alcohol Free Awards, bronze.&quot;" loading="lazy" /> </div> </div> </div> <div class="product-featured__photo__nav js-product-slider-nav"> <div class="product-featured__photo__nav__dots js-product-slider-nav-dots"></div> </div></div> <div class="theme-spinner__wrap js-product-slider-spinner"> <span class="theme-spinner"></span> </div> </div> <div class="o-layout__item u-1/1 u-1/2@tab"> <div class="product-featured__details js-product-single-actions"> <div class="section__title"> <h2 class="section__title-text product-featured__title-text"><a href="/products/evas-spritz">Eva's Spritz</a></h2> </div> <form method="post" action="/cart/add" id="js-product-form--4508658008200" accept-charset="UTF-8" class="product-form product-form--featured js-product-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /> <select name="id" id="productSelect-template--18022997491933__section-product-4508658008200" class="product-form__single-variant-select js-product-variant-select"> <option selected="selected" data-sku="EVA-GB-750" value="33290349805704" data-qty="25">Default Title</option> </select><div class="product-featured__block product-featured__block--description" > <div class="product-featured__content"> <div class="product-featured__content-text rte"> <p></p> </div> </div> </div><div class="product-featured__block product-featured__block--price" > <!-- snippet/product-price.liquid --> <div class="product-featured__price js-product-price"> <div class="product-featured__price-text js-product-price-text"> <span class="u-hidden-visually">Regular price</span> <span class="js-product-price-number"> <span class="product-featured__price-number"> <span class="money"></span> </span> </span> </div> <div class="product-featured__price__notes"> <p class="product-featured__price__note product-featured__price__note--unit js-price-unit-note"> <!-- snippet/product-unit-price.liquid --> <span class="u-hidden-visually">Unit price</span><span class="js-price-unit-price"><span class="money"></span></span> <span class="js-price-unit-separator"><span aria-hidden="true">/</span> <span class="u-hidden-visually">per&nbsp;</span></span> <span class="js-price-unit-measure"></span> </p> </div> </div> </div><div class="product-featured__block product-featured__block--buy_buttons" > <div class="product-form__add js-product-buttons product-form__add--dynamic"> <button type="submit" name="add" class="c-btn c-btn--full c-btn--hollow product-form__add-btn js-product-add"> <span class="product-form__add-btn__text"> <span class="js-product-add-text">Add to cart</span> </span> <span class=" product-form__add-btn__tick"><i class="icon icon--tick"></i></span> </button> <div data-shopify="payment-button" data-has-selling-plan="false" data-has-fixed-selling-plan="false" data-customer-accounts-required="false" class="shopify-payment-button"><button class="shopify-payment-button__button shopify-payment-button__button--unbranded shopify-payment-button__button--hidden" disabled="disabled" aria-hidden="true"> </button><button class="shopify-payment-button__more-options shopify-payment-button__button--hidden" disabled="disabled" aria-hidden="true"> </button></div> </div> </div><div class="product-featured__block product-featured__block--reviews" style="text-align: left" > <span class="shopify-product-reviews-badge" data-id="4508658008200"></span> </div><input type="hidden" name="product-id" value="4508658008200" /><input type="hidden" name="section-id" value="template--18022997491933__section-product" /></form> </div> </div> </div> </div> </div> </section> <script type="application/json" id="ProductJson-4508658008200"> {"id":4508658008200,"title":"Eva's Spritz","handle":"evas-spritz","description":"\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eEva’s spritz is our convivial sparkler, an effervescent aperitif suited for the picnic table or during a toast. It’s like drinking delighted laughter, tinged with the knowledge that the moment is fleeting.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWE TASTE: Tart rhubarb, Citrus, Sunshine on bare shoulders\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cstrong\u003ePairing\u003c\/strong\u003e: picnics, fruit, cheese, light charcuterie, potato chips, caviar, brunch.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cstrong\u003eServe Suggestion\u003c\/strong\u003e: We suggest a goblet with ice and an orange wedge, or a flute at toast time—but you do you! \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eGOLD Medal winner International Wine and Spirits Competition, London; Silver Medal LA Spirits Awards 2022; Bronze medal winner, 2021 San Francisco World Spirits Competition.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e750 ml bottle: six 4-ounce servings. The bottle is sealed with a pry-off crown cap and accepts a standard \"champagne saver\" found at grocery stores and wine shops.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003cstrong\u003eIngredients:\u003c\/strong\u003e filtered water, organic rhubarb juice, organic white grape concentrate, organic sweet orange peel, organic bitter orange peel, organic beet juice powder, organic gentian root, organic rhubarb root, organic hibiscus, organic monk fruit, organic spices, non-GMO citric acid, organic dandelion root \u003c\/p\u003e\n\u003cp\u003eContains less than 0.5% alcohol by volume, 25 calories per 4 oz serving, Total Carb. 7g, Total Sugars 5g\u003c\/p\u003e\n\u003cp\u003eContains 35% juice\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eContains no milk, eggs, tree nuts, peanuts, wheat, fish, crustacean shellfish, or soybeans\u003c\/strong\u003e\u003c\/p\u003e","published_at":"2020-01-28T20:01:03-08:00","created_at":"2020-01-28T20:09:05-08:00","vendor":"For Bitter For Worse","type":"Bottle","tags":["Varietals"],"price":2800,"price_min":2800,"price_max":2800,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":33290349805704,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"EVA-GB-750","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Eva's Spritz","public_title":null,"options":["Default Title"],"price":2800,"weight":1461,"compare_at_price":null,"inventory_management":"shopify","barcode":"860002819501","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/forbitterforworse.com\/cdn\/shop\/files\/FBFW-EvasSpritz-2024-MPGEE.jpg?v=1732058463","\/\/forbitterforworse.com\/cdn\/shop\/products\/Illo-FBFW-EvasSpritz.jpg?v=1662997940","\/\/forbitterforworse.com\/cdn\/shop\/products\/Evafountainhero.jpg?v=1662997940","\/\/forbitterforworse.com\/cdn\/shop\/products\/Evafountainsplash.jpg?v=1662997940","\/\/forbitterforworse.com\/cdn\/shop\/products\/spritzpoursquare.png?v=1662997940","\/\/forbitterforworse.com\/cdn\/shop\/products\/baby_i_love_your_way_hero.png?v=1662997940","\/\/forbitterforworse.com\/cdn\/shop\/products\/2021-SFWSC-Bronze-Med.-Artwork.png?v=1662997940","\/\/forbitterforworse.com\/cdn\/shop\/products\/main_std_2021_gold95.png?v=1662997940","\/\/forbitterforworse.com\/cdn\/shop\/products\/LA22-SILVER-600x600.png?v=1662997940","\/\/forbitterforworse.com\/cdn\/shop\/products\/EVAwafa_medal_bronze.png?v=1680731747"],"featured_image":"\/\/forbitterforworse.com\/cdn\/shop\/files\/FBFW-EvasSpritz-2024-MPGEE.jpg?v=1732058463","options":["Title"],"media":[{"alt":null,"id":35058645270749,"position":1,"preview_image":{"aspect_ratio":1.5,"height":3648,"width":5472,"src":"\/\/forbitterforworse.com\/cdn\/shop\/files\/FBFW-EvasSpritz-2024-MPGEE.jpg?v=1732058463"},"aspect_ratio":1.5,"height":3648,"media_type":"image","src":"\/\/forbitterforworse.com\/cdn\/shop\/files\/FBFW-EvasSpritz-2024-MPGEE.jpg?v=1732058463","width":5472},{"alt":"Yellow cut-paper art depicting two people lounging on a blanket in the grass with a picnic basket beside them.","id":30522648428765,"position":2,"preview_image":{"aspect_ratio":1.202,"height":1601,"width":1924,"src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/Illo-FBFW-EvasSpritz.jpg?v=1662997940"},"aspect_ratio":1.202,"height":1601,"media_type":"image","src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/Illo-FBFW-EvasSpritz.jpg?v=1662997940","width":1924},{"alt":"Close of up a bottle of Eva's Spritz held by a woman standing in a fountain on a sunny day.","id":30500443717853,"position":3,"preview_image":{"aspect_ratio":1.499,"height":683,"width":1024,"src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/Evafountainhero.jpg?v=1662997940"},"aspect_ratio":1.499,"height":683,"media_type":"image","src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/Evafountainhero.jpg?v=1662997940","width":1024},{"alt":"A man and a woman laugh as they wade through a fountain. The woman holds a bouquet and the man holds a bottle of Eva's Spritz.","id":30500443947229,"position":4,"preview_image":{"aspect_ratio":1.499,"height":683,"width":1024,"src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/Evafountainsplash.jpg?v=1662997940"},"aspect_ratio":1.499,"height":683,"media_type":"image","src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/Evafountainsplash.jpg?v=1662997940","width":1024},{"alt":"Close-up of a wine glass containing an orange non-alcoholic cocktail with an orange wedge garnish.","id":30500476453085,"position":5,"preview_image":{"aspect_ratio":1.0,"height":1079,"width":1079,"src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/spritzpoursquare.png?v=1662997940"},"aspect_ratio":1.0,"height":1079,"media_type":"image","src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/spritzpoursquare.png?v=1662997940","width":1079},{"alt":"Close-up of four Collins glasses containing orange non-alcoholic cocktails with rosemary and lemon peel garnishes.","id":30500480909533,"position":6,"preview_image":{"aspect_ratio":1.498,"height":958,"width":1435,"src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/baby_i_love_your_way_hero.png?v=1662997940"},"aspect_ratio":1.498,"height":958,"media_type":"image","src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/baby_i_love_your_way_hero.png?v=1662997940","width":1435},{"alt":"A badge reads \"2021 San Francisco World Spirits Competition, bronze.\"","id":30500453155037,"position":7,"preview_image":{"aspect_ratio":1.0,"height":400,"width":400,"src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/2021-SFWSC-Bronze-Med.-Artwork.png?v=1662997940"},"aspect_ratio":1.0,"height":400,"media_type":"image","src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/2021-SFWSC-Bronze-Med.-Artwork.png?v=1662997940","width":400},{"alt":"A badge that reads \"IWSC 95 points, 2021.\"","id":30500453253341,"position":8,"preview_image":{"aspect_ratio":1.0,"height":340,"width":340,"src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/main_std_2021_gold95.png?v=1662997940"},"aspect_ratio":1.0,"height":340,"media_type":"image","src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/main_std_2021_gold95.png?v=1662997940","width":340},{"alt":"A badge that reads \"2022 LA Spirits Awards, silver medal.\"","id":30500453384413,"position":9,"preview_image":{"aspect_ratio":1.0,"height":600,"width":600,"src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/LA22-SILVER-600x600.png?v=1662997940"},"aspect_ratio":1.0,"height":600,"media_type":"image","src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/LA22-SILVER-600x600.png?v=1662997940","width":600},{"alt":"A badge reads \"2023 World Alcohol Free Awards, bronze.\"","id":31622896615645,"position":10,"preview_image":{"aspect_ratio":1.0,"height":400,"width":400,"src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/EVAwafa_medal_bronze.png?v=1680731747"},"aspect_ratio":1.0,"height":400,"media_type":"image","src":"\/\/forbitterforworse.com\/cdn\/shop\/products\/EVAwafa_medal_bronze.png?v=1680731747","width":400}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eEva’s spritz is our convivial sparkler, an effervescent aperitif suited for the picnic table or during a toast. It’s like drinking delighted laughter, tinged with the knowledge that the moment is fleeting.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWE TASTE: Tart rhubarb, Citrus, Sunshine on bare shoulders\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cstrong\u003ePairing\u003c\/strong\u003e: picnics, fruit, cheese, light charcuterie, potato chips, caviar, brunch.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cstrong\u003eServe Suggestion\u003c\/strong\u003e: We suggest a goblet with ice and an orange wedge, or a flute at toast time—but you do you! \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eGOLD Medal winner International Wine and Spirits Competition, London; Silver Medal LA Spirits Awards 2022; Bronze medal winner, 2021 San Francisco World Spirits Competition.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e750 ml bottle: six 4-ounce servings. The bottle is sealed with a pry-off crown cap and accepts a standard \"champagne saver\" found at grocery stores and wine shops.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003cstrong\u003eIngredients:\u003c\/strong\u003e filtered water, organic rhubarb juice, organic white grape concentrate, organic sweet orange peel, organic bitter orange peel, organic beet juice powder, organic gentian root, organic rhubarb root, organic hibiscus, organic monk fruit, organic spices, non-GMO citric acid, organic dandelion root \u003c\/p\u003e\n\u003cp\u003eContains less than 0.5% alcohol by volume, 25 calories per 4 oz serving, Total Carb. 7g, Total Sugars 5g\u003c\/p\u003e\n\u003cp\u003eContains 35% juice\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eContains no milk, eggs, tree nuts, peanuts, wheat, fish, crustacean shellfish, or soybeans\u003c\/strong\u003e\u003c\/p\u003e"} </script> <script type="application/json" id="ModelJson-template--18022997491933__section-product"> [] </script> <script> document.addEventListener("DOMContentLoaded", function(event) { theme.productSelect('4508658008200','template--18022997491933__section-product', 'featured', false); }); </script> <script type="application/ld+json"> { "@context": "http://schema.org/", "@type": "Product", "name": "Eva's Spritz", "url": "https:\/\/forbitterforworse.com\/products\/evas-spritz","image": [ "https:\/\/forbitterforworse.com\/cdn\/shop\/files\/FBFW-EvasSpritz-2024-MPGEE_5472x.jpg?v=1732058463" ],"description": "Eva’s spritz is our convivial sparkler, an effervescent aperitif suited for the picnic table or during a toast. It’s like drinking delighted laughter, tinged with the knowledge that the moment is fleeting.\nWE TASTE: Tart rhubarb, Citrus, Sunshine on bare shoulders\nPairing: picnics, fruit, cheese, light charcuterie, potato chips, caviar, brunch.\nServe Suggestion: We suggest a goblet with ice and an orange wedge, or a flute at toast time—but you do you! \nGOLD Medal winner International Wine and Spirits Competition, London; Silver Medal LA Spirits Awards 2022; Bronze medal winner, 2021 San Francisco World Spirits Competition.\n750 ml bottle: six 4-ounce servings. The bottle is sealed with a pry-off crown cap and accepts a standard \"champagne saver\" found at grocery stores and wine shops.\nIngredients: filtered water, organic rhubarb juice, organic white grape concentrate, organic sweet orange peel, organic bitter orange peel, organic beet juice powder, organic gentian root, organic rhubarb root, organic hibiscus, organic monk fruit, organic spices, non-GMO citric acid, organic dandelion root \nContains less than 0.5% alcohol by volume, 25 calories per 4 oz serving, Total Carb. 7g, Total Sugars 5g\nContains 35% juice\nContains no milk, eggs, tree nuts, peanuts, wheat, fish, crustacean shellfish, or soybeans","sku": "EVA-GB-750","brand": { "@type": "Thing", "name": "For Bitter For Worse" }, "offers": [{ "@type" : "Offer","sku": "EVA-GB-750","availability" : "http://schema.org/InStock", "price" : 28.0, "priceCurrency" : "USD", "url" : "https:\/\/forbitterforworse.com\/products\/evas-spritz?variant=33290349805704" } ] } </script> </section><div id="shopify-section-template--18022997491933__section-testimonials" class="shopify-section js-section__home-testimonials"> <section class="section section-home-testimonials section--template--18022997491933__section-testimonials section--mb-s--desk section--mb-s--mob" data-section-id="template--18022997491933__section-testimonials" data-section-type="home-testimonials"> <div class="container"> <div class="section__title section__title--center"> <h2 class="section__title-text">Our Customers Love Us!</h2> </div> </div> <div class="home-testimonials home-testimonials--featured-grid home-testimonials--mob-grid"> <div class="container container--xlarge"> <div class="home-testimonials__items js-home-testimonials"> <div class="o-layout o-layout--center" data-carousel-desktop="false" data-carousel-mobile="false" data-autoplay="true" data-slick='{"autoplay": true, "autoplaySpeed": 8000}'> <div class="o-layout__item u-1/1"> <div > <div class="home-testimonials__item home-testimonials__item--featured" data-slide-id="0"> <div class="home-testimonials__content"> <div class="home-testimonials__media"> <div class="home-testimonials__media__item home-testimonials__media__item--icon"> <i class="icon icon--quote" aria-hidden="true"></i> </div> </div> <div class="home-testimonials__text"> <p class="home-testimonials__text__text rte"><p>I was just gifted a set of your delicious cocktails. What I love best is that they are not trying to imitate alcohol. Thank you for your wonderful, inclusive, therapeutic work. </p></p> </div> <div class="home-testimonials__name"> <h3 class="home-testimonials__name__text u-medium f-family--body f-caps--false f-space--0">Mary W</h3> </div> </div> </div> </div> </div> <div class="o-layout__item u-1/1 u-1/2@tab u-1/3@desk"> <div > <div class="home-testimonials__item" data-slide-id="1"> <div class="home-testimonials__content"> <div class="home-testimonials__media"> <div class="home-testimonials__media__item home-testimonials__media__item--icon"> <i class="icon icon--quote" aria-hidden="true"></i> </div> </div> <div class="home-testimonials__text"> <p class="home-testimonials__text__text rte"><p>I just love you guys! I've explored the non-alcoholic drink market during the pandemic. None comes even close to your stuff...Just love love love it.</p></p> </div> <div class="home-testimonials__name"> <h3 class="home-testimonials__name__text u-medium f-family--body f-caps--false f-space--0">Jouyoon</h3> </div> </div> </div> </div> </div> <div class="o-layout__item u-1/1 u-1/2@tab u-1/3@desk"> <div > <div class="home-testimonials__item" data-slide-id="2"> <div class="home-testimonials__content"> <div class="home-testimonials__media"> <div class="home-testimonials__media__item home-testimonials__media__item--icon"> <i class="icon icon--quote" aria-hidden="true"></i> </div> </div> <div class="home-testimonials__text"> <p class="home-testimonials__text__text rte"><p>I love to drink but I feel better when I don't -- so I've been searching for a satisfying NON-alcoholic treat. I've tried Seedlip, Ghia, various non-alcoholic wines...but now I have found something I truly look forward to having before dinner.</p></p> </div> <div class="home-testimonials__name"> <h3 class="home-testimonials__name__text u-medium f-family--body f-caps--false f-space--0">Libby</h3> </div> </div> </div> </div> </div> <div class="o-layout__item u-1/1 u-1/2@tab u-1/3@desk"> <div > <div class="home-testimonials__item" data-slide-id="3"> <div class="home-testimonials__content"> <div class="home-testimonials__media"> <div class="home-testimonials__media__item home-testimonials__media__item--stars"> <i class="icon icon--star-full" aria-hidden="true"></i> <i class="icon icon--star-full" aria-hidden="true"></i> <i class="icon icon--star-full" aria-hidden="true"></i> <i class="icon icon--star-full" aria-hidden="true"></i> <i class="icon icon--star-full" aria-hidden="true"></i> </div> </div> <div class="home-testimonials__text"> <p class="home-testimonials__text__text rte"><p>We have tried many NA brands and this has surpassed them all. The nose hit and throat feel are so convincing of a true cocktail. It’s mouthfeel doesn’t taste diluted like many on the market. Consider me a new fan and a big fan. This will definitely be my new cocktail go to. </p></p> </div> <div class="home-testimonials__name"> <h3 class="home-testimonials__name__text u-medium f-family--body f-caps--false f-space--0">Tara</h3> </div> </div> </div> </div> </div> </div> </div> </div> </div> </section> </div><div id="shopify-section-template--18022997491933__16613628996a30c513" class="shopify-section js-section__home-logo-list"> <section class="section section--template--18022997491933__16613628996a30c513 section--no-bg section--content-dark" data-section-id="template--18022997491933__16613628996a30c513" data-section-type="home-logo-list"> <div class="home-logo-list home-logo-list--carousel home-logo-list--mob-carousel home-logo-list--4 home-logo-list--no-link"> <div class="home-logo-list__bg" style="background-color: rgba(0,0,0,0)"></div> <div class="container"> <div class="section__title section__title--center"> <h2 class="section__title-text">Medals and Awards</h2> </div> </div> <style> .home-logo-list-carousel--loading .home-logo-list__item:not(:first-of-type) { display: none; } </style> <noscript> <style> .home-logo-list-carousel--loading .home-logo-list__item:not(:first-of-type) { display: initial; } </style> </noscript> <div class="container container--xlarge container--mob-0"> <div class="home-logo-list__items js-home-logo-list"> <div class=" home-logo-list-carousel js-home-logo-list-carousel home-logo-list-carousel--loading" data-carousel-desktop="true" data-carousel-mobile="true" data-carousel-count="4" data-slick='{"autoplay": true, "autoplaySpeed": 5000}'> <div class="home-logo-list__item" data-slide-id="0" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/BSA_DoubleGoldMedal_2023_400x.png?v=1687462256" width="400" height="400" alt="A badge that reads &quot;2023 Bartender Spirits Awards Double Gold.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="1" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/BSA_GoldMedal_2023_400x.png?v=1687462271" width="400" height="400" alt="A badge that reads &quot;2023 Bartender Spirits Awards Gold.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="2" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/BSA_RtdOfTheYear_2023_400x.png?v=1687462282" width="400" height="400" alt="A badge that reads &quot;2023 Bartender Spirits Awards RTD of the Year.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="3" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/BSA_RTDProducerOfTheYear_2023_400x.png?v=1687462289" width="400" height="355" alt="A badge that reads &quot;2023 Bartender Spirits Awards RTD Producer of the Year.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="4" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/products/main_std_2021_gold95_400x.png?v=1662997940" width="400" height="400" alt="A badge that reads &quot;IWSC 95 points, 2021.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="5" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/RCF_wafa_medal_gold_400x.png?v=1680731798" width="400" height="400" alt="A badge reads &quot;2023 World Alcohol Free Awards, gold.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="6" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/products/LA22-GOLD-600x600_400x.png?v=1662998173" width="400" height="400" alt="A badge reads &quot;2022 LA Spirit Awards, gold medal.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="7" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/wafa_400x.png?v=1687462235" width="400" height="400" alt="A badge that reads &quot;2023 World Alcohol Free Awards Best Ethical Range.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="8" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/BSA_SilverMedal_2023_400x.png?v=1687462297" width="400" height="400" alt="A badge that reads &quot;2023 Bartender Spirits Awards Silver.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="9" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/products/LA22-SILVER-600x600_400x.png?v=1662997940" width="400" height="400" alt="A badge that reads &quot;2022 LA Spirits Awards, silver medal.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="10" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/SMOKY_wafa_medals-2023_silver_400x.png?v=1680731798" width="400" height="400" alt="A badge reads &quot;2023 World Alcohol Free Awards, silver.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="11" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/SFWSC-Logo_400x.png?v=1660517635" width="400" height="400" alt="A badge that reads &quot;San Francisco World Spirits Competition.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="12" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/main_std_2021_bronze_704edc7b-f243-41bb-8f7d-780bf18ba366_400x.png?v=1660517740" width="400" height="400" alt="A badge reads &quot;IWSC Bronze 2021.&quot;" loading="lazy" /> </div> <div class="home-logo-list__item" data-slide-id="13" > <img class="home-logo-list__img" src="//forbitterforworse.com/cdn/shop/files/EVA_wafa_medal_bronze_400x.png?v=1680731798" width="400" height="400" alt="A badge reads &quot;2023 World Alcohol Free Awards, bronze.&quot;" loading="lazy" /> </div> </div> </div> </div> </div> </section> </div><div id="shopify-section-template--18022997491933__166136228691a56ea6" class="shopify-section js-section__home-blog"> <section class="section section--template--18022997491933__166136228691a56ea6 section--has-bg"> <div class="container"> <div class="section__title section__title--center"> <h2 class="section__title-text">Recipes</h2> </div> <div class="section__bg" style="background-color: #ad2542"></div> </div> <div class="container"> <div class="home-blog"> <div class="home-blog__items"> <div class="o-layout o-layout--masonry"> <div class="o-layout__item u-1/1 u-1/2@tab u-1/3@desk"> <div class="blog blog--no-date"> <div class="blog__media-wrapper"> <a href="/blogs/recipes/strawberry-crisp" class="home-blog__link blog-link"> <div class="blog__media"> <div class="o-ratio o-ratio--custom" style="padding-bottom:55%;"> <div class="o-ratio__content"> <img class="home-blog__media-img blog__img" src="//forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.53.48_PM_360x200_crop_center.png?v=1726696630" srcset=" //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.53.48_PM_360x200_crop_center.png?v=1726696630 360w 200h, //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.53.48_PM_540x300_crop_center.png?v=1726696630 540w 300h, //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.53.48_PM_720x400_crop_center.png?v=1726696630 720w 400h, //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.53.48_PM_900x500_crop_center.png?v=1726696630 900w 500h, //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.53.48_PM_1080x600_crop_center.png?v=1726696630 1080w 600h, //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.53.48_PM_1296x720_crop_center.png?v=1726696630 1296w 720h " sizes="(min-width: 768px) 50vw, (min-width: 981px) 33vw, 100vw" width="360" height="200" alt="Strawberry Crisp" loading="lazy" /> </div> </div> </div> </a> </div> <div class="blog__details"> <a href="/blogs/recipes/strawberry-crisp" class="home-blog__link blog-link"> <h2 class="blog__title h4">Strawberry Crisp</h2> </a> <div class="blog__text rte"> Effervescent, fruit-forward, and playful! INGREDIENTS 1 part Eva's Spritz  1 part sparkling strawberry juice  Crushe... </div> <div class="blog__meta"> </div> </div> </div> </div> <div class="o-layout__item u-1/1 u-1/2@tab u-1/3@desk"> <div class="blog blog--no-date"> <div class="blog__media-wrapper"> <a href="/blogs/recipes/margarita-creamsicle" class="home-blog__link blog-link"> <div class="blog__media"> <div class="o-ratio o-ratio--custom" style="padding-bottom:55%;"> <div class="o-ratio__content"> <img class="home-blog__media-img blog__img" src="//forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.45.47_PM_360x200_crop_center.png?v=1726695967" srcset=" //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.45.47_PM_360x200_crop_center.png?v=1726695967 360w 200h, //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.45.47_PM_540x300_crop_center.png?v=1726695967 540w 300h, //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.45.47_PM_720x400_crop_center.png?v=1726695967 720w 400h, //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.45.47_PM_900x500_crop_center.png?v=1726695967 900w 500h, //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.45.47_PM_1080x600_crop_center.png?v=1726695967 1080w 600h, //forbitterforworse.com/cdn/shop/articles/Screen_Shot_2024-09-18_at_5.45.47_PM_1296x720_crop_center.png?v=1726695967 1296w 720h " sizes="(min-width: 768px) 50vw, (min-width: 981px) 33vw, 100vw" width="360" height="200" alt="Margarita Creamsicle" loading="lazy" /> </div> </div> </div> </a> </div> <div class="blog__details"> <a href="/blogs/recipes/margarita-creamsicle" class="home-blog__link blog-link"> <h2 class="blog__title h4">Margarita Creamsicle</h2> </a> <div class="blog__text rte"> A decadent twist on a cherry margarita!  INGREDIENTS 1.5oz part fresh squeezed lime (and we mean it when we say fre... </div> <div class="blog__meta"> </div> </div> </div> </div> <div class="o-layout__item u-1/1 u-1/2@tab u-1/3@desk"> <div class="blog blog--no-date"> <div class="blog__media-wrapper"> <a href="/blogs/recipes/watermelon-rhubarb-punch" class="home-blog__link blog-link"> <div class="blog__media"> <div class="o-ratio o-ratio--custom" style="padding-bottom:55%;"> <div class="o-ratio__content"> <img class="home-blog__media-img blog__img" src="//forbitterforworse.com/cdn/shop/articles/FBFW_1470063c-f640-4505-b065-e46b36fac0cc_360x200_crop_center.png?v=1726694842" srcset=" //forbitterforworse.com/cdn/shop/articles/FBFW_1470063c-f640-4505-b065-e46b36fac0cc_360x200_crop_center.png?v=1726694842 360w 200h, //forbitterforworse.com/cdn/shop/articles/FBFW_1470063c-f640-4505-b065-e46b36fac0cc_540x300_crop_center.png?v=1726694842 540w 300h, //forbitterforworse.com/cdn/shop/articles/FBFW_1470063c-f640-4505-b065-e46b36fac0cc_720x400_crop_center.png?v=1726694842 720w 400h, //forbitterforworse.com/cdn/shop/articles/FBFW_1470063c-f640-4505-b065-e46b36fac0cc_900x500_crop_center.png?v=1726694842 900w 500h, //forbitterforworse.com/cdn/shop/articles/FBFW_1470063c-f640-4505-b065-e46b36fac0cc_1080x600_crop_center.png?v=1726694842 1080w 600h, //forbitterforworse.com/cdn/shop/articles/FBFW_1470063c-f640-4505-b065-e46b36fac0cc_1296x720_crop_center.png?v=1726694842 1296w 720h " sizes="(min-width: 768px) 50vw, (min-width: 981px) 33vw, 100vw" width="360" height="200" alt="Watermelon Peach Punch" loading="lazy" /> </div> </div> </div> </a> </div> <div class="blog__details"> <a href="/blogs/recipes/watermelon-rhubarb-punch" class="home-blog__link blog-link"> <h2 class="blog__title h4">Watermelon Peach Punch</h2> </a> <div class="blog__text rte"> Refreshing, seasonal, and not too sweet!    INGREDIENTS 2 parts Eva’s Spritz 1 part sparkling watermelon juice—we ... </div> <div class="blog__meta"> </div> </div> </div> </div> </div> </div> </div> <div class="section__link section__link--center"> <a href="/blogs/recipes" class="link link--arrow section__link-link">VIEW ALL</a> </div> </div> </section> </div><script data-locksmith> var load = function () { Locksmith.ping(); Locksmith.util.on('submit', 'locksmith-resource-form', function (event) { event.preventDefault(); var data = Locksmith.util.serializeForm(event.target); Locksmith.postResource(data, { spinner: false, container: 'locksmith-content' }); }); Locksmith.util.on('click', 'locksmith-manual-trigger', function (event) { event.preventDefault(); Locksmith.postResource({}, { spinner: true, container: document }); }); Locksmith.submitPasscode = function (passcode) { Locksmith.postResource( { passcode: passcode }, { spinner: false, container: 'locksmith-content' } ); }; }; if (typeof Locksmith !== 'undefined') { load(); } else { window.addEventListener('load', load); } </script> </div> <div id="shopify-section-footer-newsletter" class="shopify-section js-section__footer-newsletter"><style type="text/css"> .section--footer-newsletter .newsletter { background-color: #f998a6; } </style> <section class="section section--footer-newsletter"> <div class="container"> <div class="newsletter newsletter--dark"> <div class="newsletter__content"> <div class="newsletter__title section__title section__title--center section__title--desc"> <h2 class="section__title-text">Sign Up For Our Newsletter</h2> <div class="section__title-desc rte"><p>Receive special offers and first look at new products.</p></div> </div> <div class="newsletter__form-wrapper"> <form method="post" action="/contact#newsletter" id="newsletter" accept-charset="UTF-8" class="newsletter__form-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /> <div class="o-layout o-layout--flush"> <div class="o-layout__item u-1/1 u-2/3@tab"> <input type="hidden" name="contact[tags]" value="newsletter"> <label for="Email-Footer" class="u-hidden-visually">Email</label> <input type="email" name="contact[email]" id="Email-Footer" class="newsletter__input" value="" placeholder="email@example.com" autocorrect="off" autocapitalize="off"> </div> <div class="o-layout__item u-1/1 u-1/3@tab"> <button type="submit" class="c-btn c-btn--full c-btn--primary newsletter__btn" name="commit" id="Subscribe-Footer">Subscribe</button> </div> </div> </form> </div> </div> </div> </div> </section> </div> <div id="shopify-section-footer" class="shopify-section js-section__footer"><style type="text/css"> .footer { background-color: #ad2542; } .footer__bottom { background-color: #98213a; } </style> <footer role="contentinfo" id="footer" class="footer footer--light"> <div class="container"> <div class="footer__content"> <div class="o-layout"> <div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk" > <div class="footer-nav"> <ul class="footer-nav__items o-list-bare"> <li class="footer-nav__item"><a href="/collections/all-products" class="footer-nav__link">Shop</a></li> <li class="footer-nav__item"><a href="/collections/for-bitter-for-worse-drinks-club" class="footer-nav__link">Subscribe</a></li> <li class="footer-nav__item"><a href="https://forbitterforworse.com/blogs/news/tagged/all-recipes" class="footer-nav__link">Recipes</a></li> <li class="footer-nav__item"><a href="/blogs/news" class="footer-nav__link">Blog</a></li> <li class="footer-nav__item"><a href="/pages/about" class="footer-nav__link">About</a></li> <li class="footer-nav__item"><a href="https://for-bitter-for-worse.myshopify.com/pages/faq" class="footer-nav__link">FAQ</a></li> <li class="footer-nav__item"><a href="http://for-bitter-for-worse.myshopify.com/pages/store-locator" class="footer-nav__link">Stockists</a></li> <li class="footer-nav__item"><a href="/pages/contact" class="footer-nav__link">Contact</a></li> <li class="footer-nav__item"><a href="/pages/ccpa-opt-out" class="footer-nav__link">Do not sell my personal information</a></li> </ul> </div> </div> <div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk" > <div class="footer-nav"> <ul class="footer-nav__items o-list-bare"> <li class="footer-nav__item"><a href="/collections/varietals" class="footer-nav__link">Varietals</a></li> <li class="footer-nav__item"><a href="/policies/terms-of-service" class="footer-nav__link">Terms of Service</a></li> <li class="footer-nav__item"><a href="/policies/refund-policy" class="footer-nav__link">Refund policy</a></li> <li class="footer-nav__item"><a href="https://app.joinrise.co/company/forbitterforworse" class="footer-nav__link">Careers</a></li> </ul> </div> </div> <div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk" > <div class="footer-nav footer-nav--social"> <h3 class="footer-nav__title h5">Social</h3> <ul class="footer-nav__social-items o-list-bare"> <li class="footer-nav__social-item"> <a href="https://www.facebook.com/ForBitterForWorse/" class="footer-nav__social-link icon-fallback" target="_blank" rel="noopener"> <i class="icon icon--facebook" aria-hidden="true"></i> <span class="icon-fallback__text">Facebook</span> </a> </li> <li class="footer-nav__social-item"> <a href="https://www.instagram.com/forbitterforworse/" class="footer-nav__social-link icon-fallback" target="_blank" rel="noopener"> <i class="icon icon--instagram" aria-hidden="true"></i> <span class="icon-fallback__text">Instagram</span> </a> </li> <li class="footer-nav__social-item"> <a href="https://www.tiktok.com/@forbitterforworse?_t=8nWp5wIIflL&_r=1" class="footer-nav__social-link icon-fallback" target="_blank" rel="noopener"> <i class="icon icon--tiktok" aria-hidden="true"></i> <span class="icon-fallback__text">TikTok</span> </a> </li> <li class="footer-nav__social-item"> <a href="https://www.youtube.com/@forbitterforworse2752" class="footer-nav__social-link icon-fallback" target="_blank" rel="noopener"> <i class="icon icon--youtube" aria-hidden="true"></i> <span class="icon-fallback__text">YouTube</span> </a> </li> </ul> </div> </div> <div class="o-layout__item u-1/1 u-1/2@tab u-1/4@desk" > <div class="footer-nav"> <h3 class="footer-nav__title h5">Send Your Questions, Compliments, and Love Letters To:</h3> <div class="footer-nav__text rte"> <p>cheers {at} forbitterforworse.com</p><p>Or via snail mail at:</p><p>100 NE Farragut St. Unit 106A Portland OR 97211</p> </div> </div> </div> </div> </div> </div> <div class="footer__bottom"> <div class="container container--full"> <div class="footer__bottom__left"><div class="footer__icons footer__bottom__left-item"> <ul class="footer__icons-items o-list-bare"> <li class="footer__icons-item"> <svg class="payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="pi-american_express" viewBox="0 0 38 24" width="38" height="24"><title id="pi-american_express">American Express</title><path fill="#000" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3Z" opacity=".07"/><path fill="#006FCF" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32Z"/><path fill="#FFF" d="M22.012 19.936v-8.421L37 11.528v2.326l-1.732 1.852L37 17.573v2.375h-2.766l-1.47-1.622-1.46 1.628-9.292-.02Z"/><path fill="#006FCF" d="M23.013 19.012v-6.57h5.572v1.513h-3.768v1.028h3.678v1.488h-3.678v1.01h3.768v1.531h-5.572Z"/><path fill="#006FCF" d="m28.557 19.012 3.083-3.289-3.083-3.282h2.386l1.884 2.083 1.89-2.082H37v.051l-3.017 3.23L37 18.92v.093h-2.307l-1.917-2.103-1.898 2.104h-2.321Z"/><path fill="#FFF" d="M22.71 4.04h3.614l1.269 2.881V4.04h4.46l.77 2.159.771-2.159H37v8.421H19l3.71-8.421Z"/><path fill="#006FCF" d="m23.395 4.955-2.916 6.566h2l.55-1.315h2.98l.55 1.315h2.05l-2.904-6.566h-2.31Zm.25 3.777.875-2.09.873 2.09h-1.748Z"/><path fill="#006FCF" d="M28.581 11.52V4.953l2.811.01L32.84 9l1.456-4.046H37v6.565l-1.74.016v-4.51l-1.644 4.494h-1.59L30.35 7.01v4.51h-1.768Z"/></svg> </li> <li class="footer__icons-item"> <svg class="payment-icon" version="1.1" xmlns="http://www.w3.org/2000/svg" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z" /><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875" /><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858" /><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048" /></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z" /><path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z" /><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z" /></g></g></svg> </li> <li class="footer__icons-item"> <svg class="payment-icon" viewBox="0 0 38 24" width="38" height="24" role="img" aria-labelledby="pi-discover" fill="none" xmlns="http://www.w3.org/2000/svg"><title id="pi-discover">Discover</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32z" fill="#fff"/><path d="M3.57 7.16H2v5.5h1.57c.83 0 1.43-.2 1.96-.63.63-.52 1-1.3 1-2.11-.01-1.63-1.22-2.76-2.96-2.76zm1.26 4.14c-.34.3-.77.44-1.47.44h-.29V8.1h.29c.69 0 1.11.12 1.47.44.37.33.59.84.59 1.37 0 .53-.22 1.06-.59 1.39zm2.19-4.14h1.07v5.5H7.02v-5.5zm3.69 2.11c-.64-.24-.83-.4-.83-.69 0-.35.34-.61.8-.61.32 0 .59.13.86.45l.56-.73c-.46-.4-1.01-.61-1.62-.61-.97 0-1.72.68-1.72 1.58 0 .76.35 1.15 1.35 1.51.42.15.63.25.74.31.21.14.32.34.32.57 0 .45-.35.78-.83.78-.51 0-.92-.26-1.17-.73l-.69.67c.49.73 1.09 1.05 1.9 1.05 1.11 0 1.9-.74 1.9-1.81.02-.89-.35-1.29-1.57-1.74zm1.92.65c0 1.62 1.27 2.87 2.9 2.87.46 0 .86-.09 1.34-.32v-1.26c-.43.43-.81.6-1.29.6-1.08 0-1.85-.78-1.85-1.9 0-1.06.79-1.89 1.8-1.89.51 0 .9.18 1.34.62V7.38c-.47-.24-.86-.34-1.32-.34-1.61 0-2.92 1.28-2.92 2.88zm12.76.94l-1.47-3.7h-1.17l2.33 5.64h.58l2.37-5.64h-1.16l-1.48 3.7zm3.13 1.8h3.04v-.93h-1.97v-1.48h1.9v-.93h-1.9V8.1h1.97v-.94h-3.04v5.5zm7.29-3.87c0-1.03-.71-1.62-1.95-1.62h-1.59v5.5h1.07v-2.21h.14l1.48 2.21h1.32l-1.73-2.32c.81-.17 1.26-.72 1.26-1.56zm-2.16.91h-.31V8.03h.33c.67 0 1.03.28 1.03.82 0 .55-.36.85-1.05.85z" fill="#231F20"/><path d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint0_linear)"/><path opacity=".65" d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint1_linear)"/><path d="M36.57 7.506c0-.1-.07-.15-.18-.15h-.16v.48h.12v-.19l.14.19h.14l-.16-.2c.06-.01.1-.06.1-.13zm-.2.07h-.02v-.13h.02c.06 0 .09.02.09.06 0 .05-.03.07-.09.07z" fill="#231F20"/><path d="M36.41 7.176c-.23 0-.42.19-.42.42 0 .23.19.42.42.42.23 0 .42-.19.42-.42 0-.23-.19-.42-.42-.42zm0 .77c-.18 0-.34-.15-.34-.35 0-.19.15-.35.34-.35.18 0 .33.16.33.35 0 .19-.15.35-.33.35z" fill="#231F20"/><path d="M37 12.984S27.09 19.873 8.976 23h26.023a2 2 0 002-1.984l.024-3.02L37 12.985z" fill="#F48120"/><defs><linearGradient id="pi-paint0_linear" x1="21.657" y1="12.275" x2="19.632" y2="9.104" gradientUnits="userSpaceOnUse"><stop stop-color="#F89F20"/><stop offset=".25" stop-color="#F79A20"/><stop offset=".533" stop-color="#F68D20"/><stop offset=".62" stop-color="#F58720"/><stop offset=".723" stop-color="#F48120"/><stop offset="1" stop-color="#F37521"/></linearGradient><linearGradient id="pi-paint1_linear" x1="21.338" y1="12.232" x2="18.378" y2="6.446" gradientUnits="userSpaceOnUse"><stop stop-color="#F58720"/><stop offset=".359" stop-color="#E16F27"/><stop offset=".703" stop-color="#D4602C"/><stop offset=".982" stop-color="#D05B2E"/></linearGradient></defs></svg> </li> <li class="footer__icons-item"> <svg class="payment-icon" width="38" height="24" role="img" aria-labelledby="pi-metapay" viewBox="0 0 38 24" fill="none" xmlns="http://www.w3.org/2000/svg"><title id="pi-metapay">Meta Pay</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32z" fill="#fff"/><path d="M4.983 12.986c0 .348.076.614.176.776a.6.6 0 00.524.3c.257 0 .491-.063.943-.688.362-.5.788-1.204 1.076-1.645l.486-.747c.337-.518.728-1.095 1.176-1.486.366-.319.76-.496 1.158-.496.667 0 1.302.386 1.788 1.111.532.794.79 1.793.79 2.825 0 .613-.12 1.064-.326 1.42-.2.345-.587.688-1.238.688v-.981c.558 0 .697-.513.697-1.1 0-.836-.195-1.764-.624-2.427-.305-.47-.7-.757-1.134-.757-.47 0-.848.354-1.274.986-.226.336-.457.745-.718 1.207l-.287.508c-.576 1.02-.722 1.254-1.01 1.637-.504.672-.935.927-1.502.927-.674 0-1.1-.291-1.363-.73C4.106 13.956 4 13.486 4 12.95l.983.035z" fill="#0081FB"/><path d="M4.775 10.18C5.225 9.486 5.875 9 6.622 9c.432 0 .861.128 1.31.494.49.4 1.013 1.06 1.665 2.146l.234.39c.565.94.886 1.424 1.074 1.652.242.293.411.38.631.38.558 0 .697-.512.697-1.099l.867-.027c0 .613-.12 1.064-.326 1.42-.2.345-.587.688-1.238.688-.405 0-.764-.088-1.16-.462-.306-.287-.663-.798-.937-1.257l-.816-1.363c-.41-.684-.785-1.194-1.003-1.425-.234-.249-.534-.549-1.014-.549-.388 0-.718.273-.994.69l-.837-.498z" fill="url(#pi-paint0_linear_1164_3)"/><path d="M6.606 9.988c-.388 0-.718.273-.994.69-.39.588-.629 1.466-.629 2.308 0 .348.076.614.176.776l-.838.552C4.106 13.956 4 13.486 4 12.95c0-.973.267-1.987.775-2.77C5.225 9.485 5.875 9 6.622 9l-.016.988z" fill="url(#pi-paint1_linear_1164_3)"/><path d="M15.01 9.191h1.138l1.933 3.498 1.934-3.498h1.112v5.747h-.928v-4.405l-1.695 3.05h-.87l-1.696-3.05v4.405h-.927V9.191zm9.023 2.143c-.665 0-1.066.5-1.162 1.12h2.258c-.046-.638-.415-1.12-1.096-1.12zm-2.081 1.474c0-1.305.843-2.254 2.097-2.254 1.234 0 1.971.937 1.971 2.323v.255h-3.148c.111.674.559 1.129 1.28 1.129.576 0 .936-.176 1.277-.497l.493.603c-.465.427-1.055.674-1.803.674-1.358 0-2.167-.99-2.167-2.233zm5.193-1.392h-.854v-.76h.854V9.402h.895v1.256h1.297v.76H28.04v1.924c0 .657.21.89.726.89.236 0 .371-.02.57-.053v.752c-.248.07-.485.102-.742.102-.966 0-1.45-.528-1.45-1.584v-2.032zm5.96.739a1.207 1.207 0 00-1.17-.788c-.766 0-1.256.543-1.256 1.428 0 .863.451 1.433 1.22 1.433.603 0 1.034-.351 1.206-.788v-1.285zM34 14.938h-.878v-.6c-.246.353-.693.703-1.417.703-1.164 0-1.941-.975-1.941-2.246 0-1.283.796-2.241 1.99-2.241.591 0 1.055.236 1.368.653v-.55H34v4.281z" fill="#000000"/><defs><linearGradient id="pi-paint0_linear_1164_3" x1="5.93" y1="12.703" x2="12.196" y2="13.019" gradientUnits="userSpaceOnUse"><stop stop-color="#0064E1"/><stop offset=".4" stop-color="#0064E1"/><stop offset=".83" stop-color="#0073EE"/><stop offset="1" stop-color="#0082FB"/></linearGradient><linearGradient id="pi-paint1_linear_1164_3" x1="5.424" y1="13.399" x2="5.424" y2="11.089" gradientUnits="userSpaceOnUse"><stop stop-color="#0082FB"/><stop offset="1" stop-color="#0064E0"/></linearGradient></defs></svg> </li> <li class="footer__icons-item"> <svg class="payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-google_pay"><title id="pi-google_pay">Google Pay</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/><path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.06zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"/><path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"/><path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"/><path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04"/><path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"/></svg> </li> <li class="footer__icons-item"> <svg class="payment-icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><circle fill="#EB001B" cx="15" cy="12" r="7"/><circle fill="#F79E1B" cx="23" cy="12" r="7"/><path fill="#FF5F00" d="M22 12c0-2.4-1.2-4.5-3-5.7-1.8 1.3-3 3.4-3 5.7s1.2 4.5 3 5.7c1.8-1.2 3-3.3 3-5.7z"/></svg> </li> <li class="footer__icons-item"> <svg class="payment-icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 0-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg> </li> <li class="footer__icons-item"> <svg class="payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-shopify_pay"><title id="pi-shopify_pay">Shop Pay</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000"/><path d="M35.889 0C37.05 0 38 .982 38 2.182v19.636c0 1.2-.95 2.182-2.111 2.182H2.11C.95 24 0 23.018 0 21.818V2.182C0 .982.95 0 2.111 0H35.89z" fill="#5A31F4"/><path d="M9.35 11.368c-1.017-.223-1.47-.31-1.47-.705 0-.372.306-.558.92-.558.54 0 .934.238 1.225.704a.079.079 0 00.104.03l1.146-.584a.082.082 0 00.032-.114c-.475-.831-1.353-1.286-2.51-1.286-1.52 0-2.464.755-2.464 1.956 0 1.275 1.15 1.597 2.17 1.82 1.02.222 1.474.31 1.474.705 0 .396-.332.582-.993.582-.612 0-1.065-.282-1.34-.83a.08.08 0 00-.107-.035l-1.143.57a.083.083 0 00-.036.111c.454.92 1.384 1.437 2.627 1.437 1.583 0 2.539-.742 2.539-1.98s-1.155-1.598-2.173-1.82v-.003zM15.49 8.855c-.65 0-1.224.232-1.636.646a.04.04 0 01-.069-.03v-2.64a.08.08 0 00-.08-.081H12.27a.08.08 0 00-.08.082v8.194a.08.08 0 00.08.082h1.433a.08.08 0 00.081-.082v-3.594c0-.695.528-1.227 1.239-1.227.71 0 1.226.521 1.226 1.227v3.594a.08.08 0 00.081.082h1.433a.08.08 0 00.081-.082v-3.594c0-1.51-.981-2.577-2.355-2.577zM20.753 8.62c-.778 0-1.507.24-2.03.588a.082.082 0 00-.027.109l.632 1.088a.08.08 0 00.11.03 2.5 2.5 0 011.318-.366c1.25 0 2.17.891 2.17 2.068 0 1.003-.736 1.745-1.669 1.745-.76 0-1.288-.446-1.288-1.077 0-.361.152-.657.548-.866a.08.08 0 00.032-.113l-.596-1.018a.08.08 0 00-.098-.035c-.799.299-1.359 1.018-1.359 1.984 0 1.46 1.152 2.55 2.76 2.55 1.877 0 3.227-1.313 3.227-3.195 0-2.018-1.57-3.492-3.73-3.492zM28.675 8.843c-.724 0-1.373.27-1.845.746-.026.027-.069.007-.069-.029v-.572a.08.08 0 00-.08-.082h-1.397a.08.08 0 00-.08.082v8.182a.08.08 0 00.08.081h1.433a.08.08 0 00.081-.081v-2.683c0-.036.043-.054.069-.03a2.6 2.6 0 001.808.7c1.682 0 2.993-1.373 2.993-3.157s-1.313-3.157-2.993-3.157zm-.271 4.929c-.956 0-1.681-.768-1.681-1.783s.723-1.783 1.681-1.783c.958 0 1.68.755 1.68 1.783 0 1.027-.713 1.783-1.681 1.783h.001z" fill="#fff"/></svg> </li> <li class="footer__icons-item"> <svg class="payment-icon" viewBox="0 0 38 24" width="38" height="24" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="pi-venmo"><title id="pi-venmo">Venmo</title><g fill="none" fill-rule="evenodd"><rect fill-opacity=".07" fill="#000" width="38" height="24" rx="3"/><path fill="#3D95CE" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M24.675 8.36c0 3.064-2.557 7.045-4.633 9.84h-4.74L13.4 6.57l4.151-.402 1.005 8.275c.94-1.566 2.099-4.025 2.099-5.702 0-.918-.154-1.543-.394-2.058l3.78-.783c.437.738.634 1.499.634 2.46z" fill="#FFF" fill-rule="nonzero"/></g></svg> </li> <li class="footer__icons-item"> <svg class="payment-icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M28.3 10.1H28c-.4 1-.7 1.5-1 3h1.9c-.3-1.5-.3-2.2-.6-3zm2.9 5.9h-1.7c-.1 0-.1 0-.2-.1l-.2-.9-.1-.2h-2.4c-.1 0-.2 0-.2.2l-.3.9c0 .1-.1.1-.1.1h-2.1l.2-.5L27 8.7c0-.5.3-.7.8-.7h1.5c.1 0 .2 0 .2.2l1.4 6.5c.1.4.2.7.2 1.1.1.1.1.1.1.2zm-13.4-.3l.4-1.8c.1 0 .2.1.2.1.7.3 1.4.5 2.1.4.2 0 .5-.1.7-.2.5-.2.5-.7.1-1.1-.2-.2-.5-.3-.8-.5-.4-.2-.8-.4-1.1-.7-1.2-1-.8-2.4-.1-3.1.6-.4.9-.8 1.7-.8 1.2 0 2.5 0 3.1.2h.1c-.1.6-.2 1.1-.4 1.7-.5-.2-1-.4-1.5-.4-.3 0-.6 0-.9.1-.2 0-.3.1-.4.2-.2.2-.2.5 0 .7l.5.4c.4.2.8.4 1.1.6.5.3 1 .8 1.1 1.4.2.9-.1 1.7-.9 2.3-.5.4-.7.6-1.4.6-1.4 0-2.5.1-3.4-.2-.1.2-.1.2-.2.1zm-3.5.3c.1-.7.1-.7.2-1 .5-2.2 1-4.5 1.4-6.7.1-.2.1-.3.3-.3H18c-.2 1.2-.4 2.1-.7 3.2-.3 1.5-.6 3-1 4.5 0 .2-.1.2-.3.2M5 8.2c0-.1.2-.2.3-.2h3.4c.5 0 .9.3 1 .8l.9 4.4c0 .1 0 .1.1.2 0-.1.1-.1.1-.1l2.1-5.1c-.1-.1 0-.2.1-.2h2.1c0 .1 0 .1-.1.2l-3.1 7.3c-.1.2-.1.3-.2.4-.1.1-.3 0-.5 0H9.7c-.1 0-.2 0-.2-.2L7.9 9.5c-.2-.2-.5-.5-.9-.6-.6-.3-1.7-.5-1.9-.5L5 8.2z" fill="#142688"/></svg> </li> </ul> </div></div> <div class="footer__bottom__right"> <div class="footer-copyright"> <p class="footer-copyright__text"> <span class="footer-copyright__span footer-copyright__span--powered"><a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=poweredby&amp;utm_medium=shopify&amp;utm_source=onlinestore">Powered by Shopify</a></span> <span class="footer-copyright__span footer-copyright__span--shop">&copy; 2024, For Bitter For Worse</span> </p> </div> </div> </div> </div> </footer> </div> <div id="shopify-section-promo-pop" class="shopify-section js-section__promo-pop"> <div class="promo-pop js-promo-pop promo-pop--no-mobile" data-promo-enabled="true" data-promo-delay="5000" data-promo-expiry="3"> <a href="#" class="promo-pop__close js-promo-pop-close icon-fallback"> <i class="icon icon--close" aria-hidden="true"></i> <span class="icon-fallback__text">Close (esc)</span> </a> <div class="promo-pop__wrapper"> <div class="promo-pop__content"> <div class="section__title promo-pop__title"> <h4 class="section__title-text">JOIN OUR EMAIL LIST</h4> </div> <div class="promo-pop__desc rte"><p>SIGN UP FOR OUR NEWSLETTER</p><p>Receive special offers and first look at new products.</p></div> <div class="promo-pop__form"> <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="promo-pop__form-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /> <div class="promo-pop__fieldset"> <input type="hidden" name="contact[tags]" value="newsletter"> <label for="Email" class="u-hidden-visually">Email</label> <input type="email" name="contact[email]" id="Email" class="promo-pop__fieldset-item promo-pop__input" value="" placeholder="email@example.com" autocorrect="off" autocapitalize="off"> <button type="submit" class="c-btn c-btn--primary promo-pop__fieldset-item promo-pop__btn" name="commit" id="Subscribe">Subscribe</button> </div> </form> </div> </div> </div> </div> </div> <div id="shopify-section-age-checker" class="shopify-section js-section__age-checker"><div class="age-checker js-age-draw mfp-hide" data-age-check-enabled="false"> <div class="age-checker__wrapper"> <div class="age-checker__content"> <div class="section__title section__title--center age-checker__title"> <h3 class="section__title-text">Age verification</h3> </div> <div class="age-checker__desc"><p>By clicking enter you are verifying that you are old enough to consume alcohol.</p></div> <div class="age-checker__actions"> <a href="#" class="age-checker__btn c-btn c-btn--primary c-btn--full js-age-close">Enter</a> </div> </div> </div> </div> </div> </div> <div class="search-draw js-search-draw mfp-hide"> <div class="search-draw__wrapper"> <div class="search__head"> <div class="search__label"> <h3 class="search__label-title h4">Search</h3> </div> </div> <div class="search__inner"> <form action="/search" method="get" class="search__form" role="search"> <input type="hidden" name="type" value="product,article,page"> <input type="search" name="q" class="search__form-input js-search-input" value="" placeholder="Search our store..." aria-label="Search our store..."> <button type="submit" class="search__form-submit"> <i class="icon icon--search" aria-hidden="true"></i> <span class="icon-fallback__text">Search</span> </button> </form> <div class="search__nav"> <h4 class="search__nav-title h5">MAIN MENU</h4> <ul class="search__nav-items o-list-bare"> <li class="search__nav-item"> <a href="/" class="search__nav-link">Home</a> </li> <li class="search__nav-item"> <a href="/collections/all-products" class="search__nav-link">Shop</a> </li> <li class="search__nav-item"> <a href="/collections/for-bitter-for-worse-drinks-club" class="search__nav-link">Subscribe</a> </li> <li class="search__nav-item"> <a href="/blogs/recipes" class="search__nav-link">Recipes</a> </li> <li class="search__nav-item"> <a href="https://forbitterforworse.com/pages/store-locator" class="search__nav-link">Stockists</a> </li> <li class="search__nav-item"> <a href="/blogs/news" class="search__nav-link">Blog</a> </li> <li class="search__nav-item"> <a href="/pages/about" class="search__nav-link">About</a> </li> <li class="search__nav-item"> <a href="/pages/faq" class="search__nav-link">FAQ</a> </li> </ul> </div> </div> </div> </div> <div class="ajaxcart-draw js-cart-draw mfp-hide ajaxcart-draw--notification"> <div class="ajaxcart-draw__wrapper js-cart-draw-inner"> <div class="ajaxcart-draw__scroll"> <div class="ajaxcart__head"> <div class="ajaxcart__label"> <h4 class="ajaxcart__label-title">Added to cart</h4> </div> </div> <div id="CartContainer"></div> </div> </div> </div> <script id="CartTemplate" type="text/template"> <form action="/cart" method="post" novalidate class="cart ajaxcart__form"> <div class="ajaxcart__inner"> <div class="ajaxcart__products"> {{#items}} <div class="ajaxcart__product"> <div class="ajaxcart__row" data-line="{{line}}"> <div class="o-layout o-layout--tiny u-flex u-flex--middle"> <div class="o-layout__item u-1/1 u-5/10@tab"> <div class="o-layout o-layout--tiny u-flex u-flex--middle"> <div class="o-layout__item u-1/3 u-1/4@tab"> <a href="{{url}}" class="ajaxcart__product-image"> <div class="o-ratio o-ratio--bg-product"> {{#if img}} <img src="{{img}}" class="o-ratio__content" alt="{{ name }}"> {{else}} <img src="//forbitterforworse.com/cdn/shop/t/96/assets/placeholder_240x.png?v=113555733946226816651719426550" class="o-ratio__content" alt="{{ name }}"> {{/if}} </div> </a> </div> <div class="o-layout__item u-2/3 u-3/4@tab"> <a href="{{url}}"><h4 class="ajaxcart__product-name f-family--body">{{name}}</h4></a> {{#if variation}} <p class="ajaxcart__product-meta">{{variation}}</p> {{/if}} {{#properties}} {{#each this}} {{#if this}} {{#iffirstnoteq @key "_"}} <p class="ajaxcart__product-meta">{{@key}}:{{this}}</p> {{/iffirstnoteq}} {{/if}} {{/each}} {{/properties}} {{#if sellingPlan}} <p class="ajaxcart__product-meta">{{ sellingPlan }}</p> {{/if}} </div> </div> </div> <div class="o-layout__item u-4/10 u-2/10@tab"> <div class="ajaxcart__qty"> <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> <span aria-hidden="true">&minus;</span> <span class="u-hidden-visually">Reduce item quantity by one</span> </button> <input type="text" name="updates[]" class="ajaxcart__qty-num js-qty-input" value="{{itemQty}}" min="0" data-id="{{key}}" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*" autocomplete="off"> <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> <span aria-hidden="true">+</span> <span class="u-hidden-visually">Increase item quantity by one</span> </button> </div> </div> <div class="o-layout__item u-6/10 u-3/10@tab"> {{#if lineDiscount}} <div class="ajaxcart-item__price ajaxcart-item__price--original"><s><span class="money">{{{originalLinePrice}}}</span></s></div> <div class="ajaxcart-item__discount"> {{#each lineDiscounts}} <p class="ajaxcart-item__discount-text"> {{ this.discount_application.title }} (-<span class="money">{{{ this.amount }}}</span>) </p> {{/each}} </div> <div class="ajaxcart-item__price ajaxcart-item__price--sale"><span class="money">{{{lineDiscountedPrice}}}</span></div> {{else}} <div class="ajaxcart-item__price"><span class="money">{{{linePrice}}}</span></div> {{/if}} {{#if unitPriceExists}} <div class="ajaxcart-item__price ajaxcart-item__price--unit">{{{ unitPrice }}}<span aria-hidden="true">/</span><span class="u-hidden-visually">per&nbsp;</span>{{#ifnoteq unitReferenceValue "1"}}{{{ unitReferenceValue }}}{{/ifnoteq}}{{{ unitReferenceUnit }}}</div> {{/if}} </div> </div> </div> </div> {{/items}} </div> </div> <div class="ajaxcart__footer"> <div class="o-layout o-layout--tiny o-layout--reverse"> <div class="o-layout__item u-1/1 u-1/3@tab"> {{#if cartDiscounts}} {{#each cartDiscounts}} <p class="ajaxcart__footer-discount">{{ this.title }} (-<span class="money">{{ this.total_allocated_amount }}</span>)</p> {{/each}} {{/if}} <p class="ajaxcart__footer-total">Subtotal <span class="money">{{{totalPrice}}}</span></p> </div> <div class="o-layout__item u-1/1 u-2/3@tab"> <p class="ajaxcart__footer-message">Shipping &amp; taxes calculated at checkout</p> </div> </div> </div> <div class="ajaxcart__button"> <div class="o-layout o-layout--tiny o-layout--reverse"> <div class="o-layout__item u-1/1 u-1/2@tab"> <button type="submit" class="c-btn c-btn--full c-btn--primary ajaxcart__checkout" name="checkout">Check Out</button> </div> <div class="o-layout__item u-1/1 u-1/2@tab"> <a href="/" class="c-btn c-btn--full c-btn--hollow js-close-mfp ajaxcart__continue">Continue shopping</a> </div> </div> </div> </form> </script> <script id="NotificationTemplate" type="text/template"> <div class="ajaxcart__inner"> <div class="o-layout o-layout--tiny u-flex u-flex--middle"> <div class="o-layout__item u-1/1 u-3/5@mob"> <div class="ajaxcart__product"> <div class="o-layout o-layout--small u-flex u-flex--middle"> <div class="o-layout__item u-1/3"> <div class="ajaxcart__product-image-wrapper"> <div class="ajaxcart__product-image"> <div class="o-ratio o-ratio--bg-product"> {{#if thisItem.img}} <img src="{{ thisItem.img }}" class="o-ratio__content" alt="{{ thisItem.name }}"> {{else}} <img src="//forbitterforworse.com/cdn/shop/t/96/assets/placeholder_240x.png?v=113555733946226816651719426550" class="o-ratio__content" alt="{{ thisItem.name }}"> {{/if}} </div> </div> </div> </div> <div class="o-layout__item u-2/3"> <p class="ajaxcart__product-name f-family--body">{{ thisItem.name }}</p> <p class="ajaxcart__product-meta">{{ thisItem.variation }}</p> <p class="ajaxcart__product-meta">{{ thisItem.sellingPlan }}</p> <p class="ajaxcart__product-meta">{{ thisItem.price }}</p> {{#if thisItem.unitPriceExists}} <div class="ajaxcart__product-meta ajaxcart-item__price--unit">{{{ thisItem.unitPrice }}}<span aria-hidden="true">/</span><span class="u-hidden-visually">per&nbsp;</span>{{#ifnoteq thisItem.unitReferenceValue "1"}}{{{ thisItem.unitReferenceValue }}}{{/ifnoteq}}{{{ thisItem.unitReferenceUnit }}}</div> {{/if}} </div> </div> </div> </div> <div class="o-layout__item u-1/1 u-2/5@mob"> <a href="/cart" class="c-btn c-btn--small c-btn--full c-btn--primary ajaxcart__checkout" name="checkout">View cart</a> <a href="/" class="c-btn c-btn--small c-btn--full c-btn--hollow js-close-mfp ajaxcart__continue">Continue shopping</a> </div> </div> </div> </script> <script id="AjaxQty" type="text/template"> <div class="ajaxcart__qty"> <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> <span aria-hidden="true">&minus;</span> <span class="u-hidden-visually">Reduce item quantity by one</span> </button> <input type="text" class="ajaxcart__qty-num js-qty-input" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" autocomplete="off"> <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> <span aria-hidden="true">+</span> <span class="u-hidden-visually">Increase item quantity by one</span> </button> </div> </script> <script id="JsQty" type="text/template"> <div class="js-qty"> <button type="button" class="js-qty__adjust js-qty__adjust--minus icon-fallback-text" data-id="{{key}}" data-qty="{{itemMinus}}"> <span aria-hidden="true">&minus;</span> <span class="u-hidden-visually">Reduce item quantity by one</span> </button> <input type="text" class="js-qty__num js-qty-input" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" autocomplete="off"> <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> <span aria-hidden="true">+</span> <span class="u-hidden-visually">Increase item quantity by one</span> </button> </div> </script> <script> //cart functions theme.ajaxCartInit = function() { ajaxCart.init({ sourceId: '#NotificationTemplate', triggerSelector: '.js-cart-icon', formSelector: '.js-product-form', addToCartSelector: '.js-product-add', cartContainer: '#CartContainer', cartCountSelector: '#CartCount', cartCostSelector: '#CartCost', emptySelector: '#EmptyCart', moneyFormat: "${{amount}}" }); }; </script> <!-- Venue theme by Safe As Milk - http://safeasmilk.co/ --> <!-- Theme version 7.0.2 --> <link rel="dns-prefetch" href="https://swymstore-v3free-01.swymrelay.com" crossorigin> <link rel="dns-prefetch" href="//swymv3free-01.azureedge.net/code/swym-shopify.js"> <link rel="preconnect" href="//swymv3free-01.azureedge.net/code/swym-shopify.js"> <script id="swym-snippet"> window.swymLandingURL = document.URL; window.swymCart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}; window.swymPageLoad = function(){ window.SwymProductVariants = window.SwymProductVariants || {}; window.SwymHasCartItems = 0 > 0; window.SwymPageData = {}, window.SwymProductInfo = {}; var unknown = {et: 0}; window.SwymPageData = unknown; window.SwymPageData.uri = window.swymLandingURL; }; if(window.selectCallback){ (function(){ // Variant select override var originalSelectCallback = window.selectCallback; window.selectCallback = function(variant){ originalSelectCallback.apply(this, arguments); try{ if(window.triggerSwymVariantEvent){ window.triggerSwymVariantEvent(variant.id); } }catch(err){ console.warn("Swym selectCallback", err); } }; })(); } window.swymCustomerId = null; window.swymCustomerExtraCheck = null; var swappName = ("Wishlist" || "Wishlist"); var swymJSObject = { pid: "i5HiRXRUn7O8CiQmFUmsZ2wP0gYa7M0wjDIiLulwtBo=" || "i5HiRXRUn7O8CiQmFUmsZ2wP0gYa7M0wjDIiLulwtBo=", interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName }; window.swymJSShopifyLoad = function(){ if(window.swymPageLoad) swymPageLoad(); if(!window._swat) { (function (s, w, r, e, l, a, y) { r['SwymRetailerConfig'] = s; r[s] = r[s] || function (k, v) { r[s][k] = v; }; })('_swrc', '', window); _swrc('RetailerId', swymJSObject.pid); _swrc('Callback', function(){initSwymShopify();}); }else if(window._swat.postLoader){ _swrc = window._swat.postLoader; _swrc('RetailerId', swymJSObject.pid); _swrc('Callback', function(){initSwymShopify();}); }else{ initSwymShopify(); } } if(!window._SwymPreventAutoLoad) { swymJSShopifyLoad(); } window.swymGetCartCookies = function(){ var RequiredCookies = ["cart", "swym-session-id", "swym-swymRegid", "swym-email"]; var reqdCookies = {}; RequiredCookies.forEach(function(k){ reqdCookies[k] = _swat.storage.getRaw(k); }); var cart_token = window.swymCart.token; var data = { action:'cart', token:cart_token, cookies:reqdCookies }; return data; } window.swymGetCustomerData = function(){ return {status:1}; } </script> <style id="safari-flasher-pre"></style> <script> if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { document.getElementById("safari-flasher-pre").innerHTML = '' + '#swym-plugin,#swym-hosted-plugin{display: none;}' + '.swym-button.swym-add-to-wishlist{display: none;}' + '.swym-button.swym-add-to-watchlist{display: none;}' + '#swym-plugin #swym-notepad, #swym-hosted-plugin #swym-notepad{opacity: 0; visibility: hidden;}' + '#swym-plugin #swym-notepad, #swym-plugin #swym-overlay, #swym-plugin #swym-notification,' + '#swym-hosted-plugin #swym-notepad, #swym-hosted-plugin #swym-overlay, #swym-hosted-plugin #swym-notification' + '{-webkit-transition: none; transition: none;}' + ''; window.SwymCallbacks = window.SwymCallbacks || []; window.SwymCallbacks.push(function(tracker){ tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function(){ // flash-preventer var x = function(){ SwymUtils.onDOMReady(function() { var d = document.createElement("div"); d.innerHTML = "<style id='safari-flasher-post'>" + "#swym-plugin:not(.swym-ready),#swym-hosted-plugin:not(.swym-ready){display: none;}" + ".swym-button.swym-add-to-wishlist:not(.swym-loaded){display: none;}" + ".swym-button.swym-add-to-watchlist:not(.swym-loaded){display: none;}" + "#swym-plugin.swym-ready #swym-notepad, #swym-plugin.swym-ready #swym-overlay, #swym-plugin.swym-ready #swym-notification," + "#swym-hosted-plugin.swym-ready #swym-notepad, #swym-hosted-plugin.swym-ready #swym-overlay, #swym-hosted-plugin.swym-ready #swym-notification" + "{-webkit-transition: opacity 0.3s, visibility 0.3ms, -webkit-transform 0.3ms !important;-moz-transition: opacity 0.3s, visibility 0.3ms, -moz-transform 0.3ms !important;-ms-transition: opacity 0.3s, visibility 0.3ms, -ms-transform 0.3ms !important;-o-transition: opacity 0.3s, visibility 0.3ms, -o-transform 0.3ms !important;transition: opacity 0.3s, visibility 0.3ms, transform 0.3ms !important;}" + "</style>"; document.head.appendChild(d); }); }; setTimeout(x, 10); }); }); } // Get the money format for the store from shopify window.SwymOverrideMoneyFormat = "${{amount}}"; </script> <style id="swym-product-view-defaults"> /* Hide when not loaded */ .swym-button.swym-add-to-wishlist-view-product:not(.swym-loaded){ display: none; } </style> <script id="pre-order-helper"> /*============================================================================== # WARNING: This file is auto-generated and any changes that are made may be lost. ==============================================================================*/ var _POConfig = _POConfig || {}; _POConfig = {"button":{"visible":"true","widget_button_enabled":"true","buttonBorderColor":"","buttonColor":"","buttonTextDecoration":"","buttonMarginTop":"","caption":"Reserve Now","buttonFontWeight":"","buttonMarginBottom":"","buttonPaddingTop":"","buttonFontSize":"","buttonBackgroundColor":"","buttonPaddingLeft":"","buttonBorderRadius":"","buttonBorderWidth":"","buttonFontFamily":""},"generic_trigger_handler":true,"require_inventory_management":true,"shop":"for-bitter-for-worse.myshopify.com","app_hostname":"xfm8r4vsg4.execute-api.us-west-1.amazonaws.com","quantity_field_enabled":false,"preorder_enabled":true,"ignore_duplicate_skus":false,"instock_qty_level":1,"selectors":{"priceContainerSelector":"","payment_button_selectors":".shopify-payment-button","cartLabelSelector":"","priceRegularValueContainerSelector":"","atcButtonSelector":""},"defaultSetting":{"quantityLimit":0,"overallQuantityLimit":0,"totalQuantityOrdered":0,"buttonText":"Reserve Now","buttonMessage":"The first batch sold out in just 19 days. Reserve yours now and you'll have these cute and tasty cans in your hand by mid September!","buttonMessageVisibility":"ALWAYS","cartCheckoutLabel":"Pre-ordered items","preOrderTimeEnable":false,"dateStart":"-1","dateStop":"-1","discountValue":0.0,"discountType":"PERCENTAGE","showPriceOnCheckoutLabelOnCart":true,"showFullPriceLabelOnCart":true,"showSellingPlanLabelOnCart":true,"showPurchaseOptions":true,"showPurchaseOptionsOnSingleSellingPlan":false,"orderTag":"appikon-pre-order","comingSoonEnable":false,"comingSoonHeader":"Coming Soon","comingSoonMessage":"Dropping on","comingSoonAvailableFrom":"-1","showPreOrderLabelOnCollectionPage":false,"collectionPagePreOrderLabelText":"","collectionPagePreOrderLabelClass":"","collectionPagePreOrderLabelCSS":"","preOrderClosedMessage":"Sold Out"},"partials":{"empty":true}}; _POConfig.shop = 'for-bitter-for-worse.myshopify.com'; _POConfig.cart={"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0} </script> <script> /*============================================================================== # WARNING: This file is auto-generated and any changes that are made may be lost. ==============================================================================*/ let signal = false; document.addEventListener('click', async function(e) { if (!signal) { await cartItem(); setTimeout(async function() { await cartItem(); signal = false; }, 2000); } signal = true; }); document.addEventListener('DOMContentLoaded', async function(e) { await cartItem(); }); //This function update the quantity of a item in cart if it has pre order enabled and the quantity set is more than the allowed and add the properties selected async function cartItem() { const cartData = await fetch(window.Shopify.routes.root+'cart.js', { method: 'GET', headers: { 'Content-Type': 'application/json' } }); const cartDataJson = await cartData.json(); const cartItems = cartDataJson.items; if (window._POConfig) { let hasChanged = false; let needReload = false; for (const item of cartItems) { const variantSetting = window._POConfig.variantSettings[item.id]; if (variantSetting && variantSetting.preOrderEnabled) { const itemLine = cartItems.findIndex(it => it == item); const productData = await fetch(window.Shopify.routes.root + 'products/' + item.handle + '.js', { method: 'GET', headers: { 'Content-Type': 'application/json' } }); const prudctDataJson = await productData.json(); let formQuantityData = addQuantityToFormData(item, variantSetting); let formPropertiesData = addPropertiesToFormData(itemLine, item, variantSetting, cartDataJson.currency, prudctDataJson); if (itemPropertiesHaveChanged(item.properties, formPropertiesData.properties) || item.quantity !== formQuantityData.quantity) { let formData=formPropertiesData; if(!itemPropertiesHaveChanged(item.properties, formPropertiesData.properties)){ delete formData.properties } if(item.quantity !== formQuantityData.quantity){ needReload = true; } formData={ ...formData, quantity: formQuantityData.quantity } await fetch('/cart/change.js', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(formData) }); hasChanged = true; } } } if (hasChanged) { hasChanged = false; if(!window.location.href.includes("products") || needReload){ needReload=false; window.location.reload(); } } } } function addQuantityToFormData(item, variantSetting) { var overallAvailable = variantSetting.overallQuantityLimit - variantSetting.totalQuantityOrdered; var fixedQuant = variantSetting.quantityLimit; let formQuantityData = { id: item.id.toString(), quantity: item.quantity }; if (variantSetting.overallQuantityLimit == 0 && variantSetting.quantityLimit == 0) { return formQuantityData; } if (overallAvailable > 0 && variantSetting.quantityLimit > 0) { fixedQuant = Math.min(overallAvailable, variantSetting.quantityLimit); if (item.quantity > variantSetting.quantityLimit || item.quantity > overallAvailable) { formQuantityData.quantity = fixedQuant; } } if (item.quantity > variantSetting.quantityLimit && variantSetting.quantityLimit != 0 && variantSetting.overallQuantityLimit == 0) { formQuantityData.quantity = variantSetting.quantityLimit; } if (item.quantity > overallAvailable && variantSetting.quantityLimit == 0 && overallAvailable > 0) { formQuantityData.quantity = overallAvailable; } return formQuantityData; } function addPropertiesToFormData(itemLine, item, variantSetting, currency, product){ const cartLabel = variantSetting.cartCheckoutLabel; let formPropertiesData = { line: parseInt(itemLine)+1, properties: { } }; if(item.selling_plan_allocation){ let properties = formPropertiesData.properties; formPropertiesData.properties = {...properties, "Pre-order": cartLabel} } if(item.selling_plan_allocation && variantSetting.showSellingPlanLabelOnCart){ let properties = formPropertiesData.properties; formPropertiesData.properties = {...properties, 'Purchase option': item.selling_plan_allocation.selling_plan.name} } if (item.selling_plan_allocation && variantSetting.showFullPriceLabelOnCart) { let properties = formPropertiesData.properties; formPropertiesData.properties = { ...properties, 'Full price': item.final_price / 100 + ' ' + currency }; } if(item.selling_plan_allocation && variantSetting.showPriceOnCheckoutLabelOnCart){ let properties = formPropertiesData.properties; if(item.properties && item.properties['Price at checkout']){ formPropertiesData.properties = {...properties, 'Price at checkout': item.properties['Price at checkout'] }; } else{ const selector = item.id+'-'+item.selling_plan_allocation.selling_plan.id+'-price-at-checkout'; let helper = document.getElementById(selector); if(helper){ formPropertiesData.properties = {...properties, 'Price at checkout': parseFloat(parseInt(helper.innerHTML)/100).toFixed(2) + ' ' + currency }; } } } return formPropertiesData; } function itemPropertiesHaveChanged(itemProperties, formDataProperties){ if(!itemProperties && formDataProperties){ return true; } if( itemProperties['Pre-order']!==formDataProperties['Pre-order'] ){ return true; } if( itemProperties['Purchase option']!==formDataProperties['Purchase option'] ){ return true; } if( itemProperties['Full price']!==formDataProperties['Full price'] ){ return true; } //Comented because product api doesnt return checkout_charge property on selling plan if (itemProperties['Price at checkout'] !== formDataProperties['Price at checkout']) { return true; } return false; } cartItem(); </script> <div class='appikon-pre-order-liquid-helper' style="display: none!important;"> </div><script> /*============================================================================== # WARNING: This file is auto-generated and any changes that are made may be lost. ==============================================================================*/ setTimeout(()=>{ let helper = document.querySelector('.appikon-pre-order-form-complement-helper-hidden'); let productDataHelper = document.querySelector('.appikon-pre-order-product-data-helper-hidden'); let product = undefined; if (productDataHelper) { product = JSON.parse(productDataHelper.dataset.product); } var spg = Array.from(helper.querySelectorAll('.purchase-option')); let originalButonText = ''; let variantSelectedReference = undefined; let KT_countdown_update = null; // ----------------------- Load jQuery -------------------------------- (function() { var head = document.getElementsByTagName('head')[0]; var startingTime = new Date().getTime(); if (typeof jQuery == 'undefined') { var jQueryScript = document.createElement('script'); jQueryScript.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'; jQueryScript.type = 'text/javascript'; head.appendChild(jQueryScript); } // Poll for jQuery to come into existance var checkReady = function(callback) { if (window.jQuery) { callback(jQuery); } else { window.setTimeout(function() { checkReady(callback); }, 20); } }; // Start polling... checkReady(function($) { $(function() { var endingTime = new Date().getTime(); var tookTime = endingTime - startingTime; console.log('jQuery is loaded, after ' + tookTime + ' milliseconds!'); }); }); })(); // ----------------------- Load jQuery -------------------------------- //----------------------- HTML elements getters - Custom theme -------------------------------- function getFormWithSellingPlan() { const variant = findSelectedVariant(); if (variant) { const variantSettings = window._POConfig.variantSettings[variant.id]; if (variantSettings && variantSettings.showPurchaseOptions !== false) { let formWithSellingPlan = document.querySelector('.appikon-pre-order-form-complement-helper'); return formWithSellingPlan; } } var forms = Array.from(document.querySelectorAll("form[action$='/cart/add']")); let formWithSellingPlan = undefined; for (const form of forms) { if (form.querySelector('[name="selling_plan"]')) { formWithSellingPlan = form; break; } } return formWithSellingPlan; } function getSellingPlanSelected() { let formWithSellingPlan = getFormWithSellingPlan(); let sellingPlan = undefined; if (formWithSellingPlan) { sellingPlan = formWithSellingPlan.querySelector('[name="selling_plan"]'); } return sellingPlan; } function getFormWithButton() { var forms = Array.from(document.querySelectorAll("form[action$='/cart/add']")); let formWithButton = undefined; for (const form of forms) { var submitButtons = Array.from(form.querySelectorAll("[type='submit']")); for (let submitButton of submitButtons) { let classList = Array.from(submitButton.classList); if (!classList.find(cl => cl === 'appikon-pre-order-button-customization')) { formWithButton = form; break; } } } return formWithButton; } function getActionButton() { if (window._POConfig && window._POConfig.selectors.atcButtonSelector && window._POConfig.selectors.atcButtonSelector !== '') { var submitButtons = Array.from(document.querySelectorAll(window._POConfig.selectors.atcButtonSelector)); for (let submitButton of submitButtons) { let classList = Array.from(submitButton.classList); if (!classList.find(cl => cl === 'appikon-pre-order-button-customization')) { return submitButton; } } return undefined; } var formWithButton = getFormWithButton(); if (formWithButton) { var submitButtons = Array.from(formWithButton.querySelectorAll("[type='submit']")); for (let submitButton of submitButtons) { let classList = Array.from(submitButton.classList); if (!classList.find(cl => cl === 'appikon-pre-order-button-customization')) { return submitButton; } } } return undefined; } function getPriceContainer() { if (window._POConfig && window._POConfig.selectors.priceContainerSelector && window._POConfig.selectors.priceContainerSelector !== '') { let priceContainer = document.querySelector(window._POConfig.selectors.priceContainerSelector); return priceContainer; } let priceContainer = undefined; if(document){ let body = document.querySelector('body'); if (body) { let main = body.querySelector('main'); if (main) { priceContainer = main.querySelector('.price'); } } } return priceContainer; } function getRegularPriceContainer() { if ( window._POConfig && window._POConfig.selectors.priceRegularValueContainerSelector && window._POConfig.selectors.priceRegularValueContainerSelector !== '' ) { let priceRegularValueContainer = document.querySelector(window._POConfig.selectors.priceRegularValueContainerSelector); return priceRegularValueContainer; } let priceContainer = getPriceContainer(); let priceRegularValue = undefined; if (priceContainer) { let priceContainerChild = priceContainer.querySelector('.price__container'); if (priceContainerChild) { let priceRegularContainer = priceContainerChild.querySelector('.price__regular'); if (priceRegularContainer) { priceRegularValue = priceRegularContainer.querySelector('.price-item'); } } } return priceRegularValue; } //----------------------- HTML elements getters - Custom theme -------------------------------- //----------------------- Listeners -------------------------------- document.addEventListener('click', function() { setTimeout(function() { let newSelectedVariant = findSelectedVariant(); if (newSelectedVariant && newSelectedVariant !== variantSelectedReference) { variantSelectedReference = newSelectedVariant; showOrHidePreOrder(); } }, 100); }); document.addEventListener('change', function(event) { setTimeout(function() { showOrHidePreOrder(); }, 100); }); let sellingPlanSelected = getSellingPlanSelected(); if (sellingPlanSelected) { sellingPlanSelected.addEventListener('change', function(e) { showPreOrderDiscount(); }); } //----------------------- Listeners -------------------------------- //----------------------- Logic -------------------------------- function findSelectedVariant() { //Find in location url the value for variant param let url = new URL(window.location.href); let variantId = url.searchParams.get('variant'); if (variantId) { let selectedVariantId = parseInt(variantId); let selectedVariant; for (let i = 0; i < product.variants.length; i++) { if (product.variants[i].id === selectedVariantId) { selectedVariant = product.variants[i]; break; } } return selectedVariant; } //Find if there is a select with class single-option-selector by title let singleOptionSelectors = document.querySelectorAll('select.single-option-selector'); let selectorValuesArray = []; if (singleOptionSelectors != null) { for (let singleOptionSelector of singleOptionSelectors) { if (singleOptionSelector != null && singleOptionSelector.selectedIndex != null && singleOptionSelector.selectedIndex !== -1) { selectorValuesArray.push(singleOptionSelector[singleOptionSelector.selectedIndex].value); } } } if (selectorValuesArray.length > 0) { let selectedVariantTitle = selectorValuesArray.join(' / '); for (let i = 0; i < product.variants.length; i++) { if (product.variants[i].title === selectedVariantTitle) { return product.variants[i]; } } } // Select by default the first variant if (window._POConfig && window._POConfig.product) { let selectedVariant = window._POConfig.product.selected_or_first_available_variant; return selectedVariant; } return undefined; } function showOrHidePreOrder() { const variant = findSelectedVariant(); if (window._POConfig && variant) { const variantSettings = window._POConfig.variantSettings[variant.id]; const variantData = window._POConfig.product.variants.find(item => item.id.toString() === variant.id.toString()); const cartQuantity = getVariantCartQuantity(variant.id); if ( //solo se muestra el bloque si: variantData && //existe la variant data variantSettings.preOrderEnabled && //la variante esta habilitada para pre order variantData.inventory_quantity <= 0 && //su inventario es igual o menor a cero variantData.available //si tiene continue selling without stock habilitado ) { // Chequea si existe la configuracion de la variante para analizar si existe una configuracion de tiempo durante el cual tiene que estar habilitado el pre order if (variantSettings.preOrderTimeEnable && variantSettings.dateStart && variantSettings.dateStop) { const now = new Date(); if (parseInt(variantSettings.dateStart) <= now.getTime() && parseInt(variantSettings.dateStop) >= now.getTime()) { createCustomCSS(); showPurchaseOptions(); showPreOrderButton(); showOrHideCountDownTimer(true); showPreOrderTag(); } else { createCustomCSS(); showSoldOutMessage(); hidePurchaseOptions(); showOrHideCountDownTimer(true); showPreOrderTag(); } } else if ( (variantSettings.overallQuantityLimit > 0 && variantSettings.overallQuantityLimit <= variantSettings.totalQuantityOrdered + cartQuantity) || (variantSettings.quantityLimit > 0 && variantSettings.quantityLimit <= cartQuantity) ) { //Condiciones: //1- Si se tiene un limite de cantidad TOTAL (implica la cantidad total que se puede comprar de un producto: overallQuantityLimit) seteado y se supera ese limite sumando la cantidad que hay compradas en todas las ordenes mas la cantidad que el usuario tiene en el carrito (que puede ser cero) -> se muestra sold out //2- Si se tiene un limite de cantidad POR ORDEN y el usuario tiene en su carrito esa cantidad o mas -> se muestra sold out createCustomCSS(); showSoldOutMessage(); hidePurchaseOptions(); showOrHideCountDownTimer(true); showPreOrderTag(); } else { createCustomCSS(); showPurchaseOptions(); showPreOrderButton(); showOrHideCountDownTimer(true); showPreOrderTag(); } } else { hidePurchaseOptions(); hidePreOrderButton(); hideSoldOutMessage(); showOrHideCountDownTimer(false); hidePreOrderTag(); } } else { hidePurchaseOptions(); hidePreOrderButton(); hideSoldOutMessage(); showOrHideCountDownTimer(false); hidePreOrderTag(); } } function createCustomCSS() { if (!document.getElementById('AppikonCustomAndPOLabelStyle')) { var AppikonCustomAndPOLabelstyle = document.createElement('style'); AppikonCustomAndPOLabelstyle.id = 'AppikonCustomAndPOLabelStyle'; AppikonCustomAndPOLabelstyle.innerHTML = window._POConfig.defaultSetting.collectionPagePreOrderLabelCSS; document.head.appendChild(AppikonCustomAndPOLabelstyle); } } function getVariantCartQuantity(variantId) { if (window._POConfig && window._POConfig.cart && window._POConfig.cart.items) { const cartItems = window._POConfig.cart.items; for (let item of cartItems) { if (item.id === variantId) { return item.quantity; } } } return 0; } function showPurchaseOptions() { const variant = findSelectedVariant(); const variantSettings = window._POConfig.variantSettings[variant.id]; if (variantSettings.showPurchaseOptions !== false) { let helper = document.querySelector('.appikon-pre-order-form-complement-helper-hidden'); let purchaseOptions = document.querySelector('.appikon-pre-order-form-complement-helper'); let actionButton = getActionButton(); if (helper && actionButton && !purchaseOptions) { purchaseOptions = helper.cloneNode(true); purchaseOptions.classList.remove('appikon-pre-order-form-complement-helper-hidden'); purchaseOptions.classList.remove('hidden'); purchaseOptions.classList.add('appikon-pre-order-form-complement-helper'); let purchaseOptionsInputs = Array.from(purchaseOptions.querySelectorAll('.purchase-option')); for (const input of purchaseOptionsInputs) { input.addEventListener('change', function(e) { let formWithSellingPlan = getFormWithSellingPlan(); let radio = input.querySelector('input[type="radio"]'); if (formWithSellingPlan && radio.checked) { let sellingPlan = getSellingPlanSelected(); sellingPlan.value = input.id; let sellingPlanDescription = purchaseOptions.querySelector('.appikon-pre-order-purchase-option-description'); const sellingPlanGroupData = product.selling_plan_groups.find( sellingPlanGroup => sellingPlanGroup.selling_plans[0].id.toString() === input.id.toString() ); sellingPlanDescription.innerHTML = sellingPlanGroupData.selling_plans[0].description; } showPreOrderDiscount(); }); } actionButton.before(purchaseOptions); } if (purchaseOptions) { showOrHideSellingPlans(purchaseOptions); } let variant = findSelectedVariant(); let formWithSellingPlan = getFormWithSellingPlan(); if (variant && formWithSellingPlan) { let sellingPlan = getSellingPlanSelected(); let existSellingPlan = variant.selling_plan_allocations.find( variantSellingPlan => variantSellingPlan.selling_plan_id.toString() === sellingPlan.value.toString() ); if (!existSellingPlan) { let newValue; if (variant.selling_plan_allocations.length > 0) { newValue = variant.selling_plan_allocations[0].selling_plan_id; } else { newValue = ''; } let purchaseOptions = document.querySelector('.appikon-pre-order-form-complement-helper'); if (purchaseOptions) { let purchaseOptionsInputs = Array.from(purchaseOptions.querySelectorAll('.purchase-option')); for (const input of purchaseOptionsInputs) { let radio = input.querySelector('input[type="radio"]'); if (input.id.toString() === newValue.toString()) { radio.checked = true; let sellingPlanDescription = purchaseOptions.querySelector('.appikon-pre-order-purchase-option-description'); const sellingPlanGroupData = product.selling_plan_groups.find( sellingPlanGroup => sellingPlanGroup.selling_plans[0].id.toString() === input.id.toString() ); sellingPlanDescription.innerHTML = sellingPlanGroupData.selling_plans[0].description; } else { radio.checked = false; } } } sellingPlan.value = newValue; } } } else { hidePurchaseOptions(); } } function hidePurchaseOptions() { let purchaseOptions = document.querySelector('.appikon-pre-order-form-complement-helper'); if (purchaseOptions) { purchaseOptions.remove(); } } function showOrHideSellingPlans(purchaseOptions) { purchaseOptions = document.querySelector('.appikon-pre-order-form-complement-helper'); const variant = findSelectedVariant(); var spgOptions = Array.from(purchaseOptions.querySelectorAll('.purchase-option')); const variantSettings = window._POConfig.variantSettings[variant.id]; if (variant.selling_plan_allocations.length > 0) { if (variantSettings.showPurchaseOptionsOnSingleSellingPlan !== true) { if (variant.selling_plan_allocations.length == 1) { purchaseOptions.classList.add('appikon-pre-order-single-option-hidden'); } else { purchaseOptions.classList.remove('appikon-pre-order-single-option-hidden'); } } else { purchaseOptions.classList.remove('appikon-pre-order-single-option-hidden'); } for (const sp of spgOptions) { const existSellingPlan = variant.selling_plan_allocations.find( sellingPlan => sellingPlan.selling_plan_id.toString() === sp.id.toString() ); if (existSellingPlan) { sp.classList.remove('hidden'); } else { sp.classList.add('hidden'); } } } } function showPreOrderButton() { hideSoldOutMessage(true); //hidePreOrderButton(true); const submitButton = getActionButton(); if (submitButton) { const variant = findSelectedVariant(); const variantSettings = window._POConfig.variantSettings[variant.id]; let preOrderButtonContainerExists = document.querySelector('.appikon-pre-order-button'); if(preOrderButtonContainerExists){ let preOrderButton = preOrderButtonContainerExists.querySelector('.appikon-pre-order-button-customization'); if(!preOrderButton){ preOrderButtonContainerExists.remove(); preOrderButtonContainerExists = null; } } if (!preOrderButtonContainerExists) { const preOrderButtonContainerHidden = document.querySelector('.appikon-pre-order-button-hidden'); const preOrderButtonContainer = preOrderButtonContainerHidden.cloneNode(true); preOrderButtonContainer.classList.remove('appikon-pre-order-button-hidden'); preOrderButtonContainer.classList.remove('hidden'); preOrderButtonContainer.classList.add('appikon-pre-order-button'); let preOrderButton = preOrderButtonContainer.querySelector('.appikon-pre-order-button-customization'); // copy css classes from submit button to pre order button preOrderButton.classList.add(...submitButton.classList); preOrderButton.classList.remove('hidden'); preOrderButton.innerHTML = variantSettings.buttonText || window._POConfig.defaultSetting.buttonText; //Needed workaround for themes that needs a span element inside button to not fail on click event const span = document.createElement('span'); span.classList.add('hidden'); preOrderButton.appendChild(span); // add event listener to pre order button preOrderButton.addEventListener('click', function(e) { setTimeout(() => { cartItem(); }, 700); }); if (variantSettings.buttonMessageVisibility === 'ON_HOVER') { preOrderButton.title = variantSettings.buttonMessage || window._POConfig.defaultSetting.buttonMessage; let preOrderButtonMessage = preOrderButtonContainer.querySelector('.appikon-pre-order-button-message'); if (preOrderButtonMessage) { preOrderButtonMessage.classList.add('hidden'); } } else { let preOrderButtonMessage = preOrderButtonContainer.querySelector('.appikon-pre-order-button-message'); preOrderButtonMessage.classList.remove('hidden'); preOrderButtonMessage.innerHTML = variantSettings.buttonMessage || window._POConfig.defaultSetting.buttonMessage; } let formWithSellingPlan = getFormWithSellingPlan(); if (formWithSellingPlan) { let sellingPlan = getSellingPlanSelected(); if (!sellingPlan || sellingPlan.value === '') { preOrderButton.disabled = true; } else { let existSellingPlanOnVariant = variant.selling_plan_allocations.find( variantSellingPlan => variantSellingPlan.selling_plan_id.toString() === sellingPlan.value.toString() ); if (!existSellingPlanOnVariant) { preOrderButton.disabled = true; } else { preOrderButton.disabled = false; } } } else { preOrderButton.disabled = true; } //insert submitButton.before(preOrderButtonContainer); for (let i = 0; i < 1; i = i + 1) { setTimeout(() => { hideOtherButtonsInForm(); }, i); } } else { let preOrderButton = preOrderButtonContainerExists.querySelector('.appikon-pre-order-button-customization'); preOrderButton.innerHTML = variantSettings.buttonText || window._POConfig.defaultSetting.buttonText; //Needed workaround for themes that needs a span element inside button to not fail on click event const span = document.createElement('span'); span.classList.add('hidden'); preOrderButton.appendChild(span); if (variantSettings.buttonMessageVisibility === 'ON_HOVER') { preOrderButton.title = variantSettings.buttonMessage || window._POConfig.defaultSetting.buttonMessage; let preOrderButtonMessage = preOrderButtonContainerExists.querySelector('.appikon-pre-order-button-message'); if (preOrderButtonMessage) { preOrderButtonMessage.classList.add('hidden'); } } else { let preOrderButtonMessage = preOrderButtonContainerExists.querySelector('.appikon-pre-order-button-message'); preOrderButtonMessage.classList.remove('hidden'); preOrderButtonMessage.innerHTML = variantSettings.buttonMessage || window._POConfig.defaultSetting.buttonMessage; } let formWithSellingPlan = getFormWithSellingPlan(); if (formWithSellingPlan) { let sellingPlan = getSellingPlanSelected(); if (!sellingPlan || sellingPlan.value === '') { preOrderButton.disabled = true; } else { let existSellingPlanOnVariant = variant.selling_plan_allocations.find( variantSellingPlan => variantSellingPlan.selling_plan_id.toString() === sellingPlan.value.toString() ); if (!existSellingPlanOnVariant) { preOrderButton.disabled = true; } else { preOrderButton.disabled = false; } } let errorMessage = document.querySelector('.appikon-pre-order-purchase-option-error'); if (errorMessage) { if (preOrderButton.disabled) { errorMessage.classList.remove('hidden'); } else { errorMessage.classList.add('hidden'); } } } else { preOrderButton.disabled = true; } } } } function showSoldOutMessage() { hidePreOrderButton(true); const submitButton = getActionButton(); if (submitButton) { const variant = findSelectedVariant(); const variantSettings = window._POConfig.variantSettings[variant.id]; const preOrderSoldOutMessageExists = document.querySelector('.appikon-pre-order-sold-out-message'); if (!preOrderSoldOutMessageExists) { const preOrderSoldOutMessageHidden = document.querySelector('.appikon-pre-order-sold-out-message-hidden'); //clone const preOrderSoldOutMessage = preOrderSoldOutMessageHidden.cloneNode(true); preOrderSoldOutMessage.classList.remove('appikon-pre-order-sold-out-message-hidden'); preOrderSoldOutMessage.classList.add('appikon-pre-order-sold-out-message'); preOrderSoldOutMessage.innerHTML = variantSettings.preOrderClosedMessage; preOrderSoldOutMessage.classList.add(...submitButton.classList); preOrderSoldOutMessage.classList.remove('hidden'); //insert submitButton.before(preOrderSoldOutMessage); for (let i = 0; i < 1; i = i + 1) { setTimeout(() => { hideOtherButtonsInForm(); }, i); } } } } function hidePreOrderButton(hideOtherButtons) { let preOrderButtonContainer = document.querySelector('.appikon-pre-order-button'); if (preOrderButtonContainer) { preOrderButtonContainer.remove(); if (hideOtherButtons) { hideOtherButtonsInForm(); } else { showOtherButtonsInForm(); } } } function hideSoldOutMessage(hideOtherButtons) { let preOrderSoldOutMessage = document.querySelector('.appikon-pre-order-sold-out-message'); if (preOrderSoldOutMessage) { preOrderSoldOutMessage.remove(); if (hideOtherButtons) { hideOtherButtonsInForm(); } else { showOtherButtonsInForm(); } } } function showOtherButtonsInForm() { if (window._POConfig && window._POConfig.selectors.payment_button_selectors) { var paymentButton = document.querySelector(window._POConfig.selectors.payment_button_selectors); if (paymentButton) { paymentButton.classList.remove('hidden'); paymentButton.disabled = false; } } let actionButton = getActionButton(); if (actionButton) { actionButton.classList.remove('hidden'); actionButton.disabled = false; hidePreOrderTag(); if (actionButton instanceof HTMLInputElement) { console.log('is input'); actionButton.classList.remove('appikon-pre-order-hide-input'); } } let preOrderButton = document.querySelector('.appikon-pre-order-button-customization'); if (preOrderButton) { preOrderButton.classList.add('hidden'); } } function hideOtherButtonsInForm() { if (window._POConfig && window._POConfig.selectors.payment_button_selectors) { var paymentButton = document.querySelector(window._POConfig.selectors.payment_button_selectors); if (paymentButton) { paymentButton.classList.add('hidden'); paymentButton.disabled = false; } } let actionButton = getActionButton(); if (actionButton) { actionButton.classList.add('hidden'); actionButton.disabled = false; if (actionButton instanceof HTMLInputElement) { console.log('is input'); actionButton.classList.add('appikon-pre-order-hide-input'); } } let preOrderButton = document.querySelector('.appikon-pre-order-button-customization'); if (preOrderButton) { preOrderButton.classList.remove('hidden'); } } function createUserCustomizations() { if (window._POConfig) { createButtonCustomizations(); createPillCustomizations(); } } function createButtonCustomizations() { if (window._POConfig) { var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = '.appikon-pre-order-button-customization { background-color: ' + (window._POConfig.button.buttonBackgroundColor || 'transparent') + '; border-color: ' + (window._POConfig.button.buttonBorderColor || 'black') + '; border-radius: ' + window._POConfig.button.buttonBorderRadius + 'px; border-width: ' + (window._POConfig.button.buttonBorderWidth || '1') + 'px; color: ' + (window._POConfig.button.buttonColor || 'black') + '; padding-left: ' + window._POConfig.button.buttonPadding + 'px; padding-right: ' + window._POConfig.button.buttonPadding + 'px; font-size: ' + window._POConfig.button.buttonFontSize + 'px; font-family: ' + window._POConfig.button.buttonFontFamily + '; font-weight: ' + window._POConfig.button.buttonFontWeight + '; text-decoration: ' + window._POConfig.button.buttonTextDecoration + '; margin-top: ' + window._POConfig.button.buttonMarginTop + 'px; margin-bottom: ' + window._POConfig.button.buttonMarginBottom + 'px;' + 'border-style: solid;' + '}'; document.getElementsByTagName('head')[0].appendChild(style); } } function createPillCustomizations() { if (window._POConfig) { //Toma la customizacion del boton y la aplica al pill (solo colores y bordes, no toda la customizacion) var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = '.appikon-pre-order-pill-customization { background-color: ' + (window._POConfig.button.buttonBackgroundColor || 'transparent') + '; border-color: ' + (window._POConfig.button.buttonBorderColor || 'black') + '; border-radius: ' + window._POConfig.button.buttonBorderRadius + 'px; border-width: ' + (window._POConfig.button.buttonBorderWidth || '1') + 'px; color: ' + (window._POConfig.button.buttonColor || 'black') + '; padding-left: ' + window._POConfig.button.buttonPadding + 'px; padding-right: ' + window._POConfig.button.buttonPadding + 'px; font-size: ' + window._POConfig.button.buttonFontSize + 'px; font-family: ' + window._POConfig.button.buttonFontFamily + '; font-weight: ' + window._POConfig.button.buttonFontWeight + '; text-decoration: ' + window._POConfig.button.buttonTextDecoration + '; margin-top: ' + window._POConfig.button.buttonMarginTop + 'px; margin-bottom: ' + window._POConfig.button.buttonMarginBottom + 'px;' + 'margin-left: 10px; border-style: solid;' + '}'; // style.innerHTML = // '.appikon-pre-order-pill-customization { background-color: ' + // (window._POConfig.button.buttonBackgroundColor || 'transparent') + // '; border-color: ' + // window._POConfig.button.buttonBorderColor + // '; border-width: ' + // (window._POConfig.button.buttonBorderWidth || '1') + // 'px; color: ' + // (window._POConfig.button.buttonColor || 'black') + // '; font-size: ' + // (window._POConfig.button.buttonFontSize || '14') + // 'px; font-family: ' + // window._POConfig.button.buttonFontFamily + // '; font-weight: ' + // window._POConfig.button.buttonFontWeight + // '; text-decoration: ' + // window._POConfig.button.buttonTextDecoration + // '; margin-left: 10px;' + // 'border-style: solid;' + // '}'; document.getElementsByTagName('head')[0].appendChild(style); } } function showOrHideCountDownTimer(show) { if (window._POConfig) { const preOrderButton = document.querySelector('.appikon-pre-order-button'); const soldOutMessage = document.querySelector('.appikon-pre-order-sold-out-message'); if (preOrderButton || soldOutMessage) { const countDownTimer = document.querySelector('.appikon-pre-order-countdown-timer-hidden'); const countDownTimerHeader = countDownTimer.querySelector('.appikon-pre-order-countdown-timer-header'); const countDownTimerMessage = countDownTimer.querySelector('.appikon-pre-order-countdown-timer-message'); if (show && countDownTimer && countDownTimerHeader && countDownTimerMessage) { const variant = findSelectedVariant(); const variantSettings = window._POConfig.variantSettings[variant.id]; if (variantSettings.comingSoonEnable && variantSettings.comingSoonAvailableFrom) { countDownTimerHeader.innerHTML = variantSettings.comingSoonHeader; countDownTimerMessage.innerHTML = variantSettings.comingSoonMessage; const second = 1000, minute = second * 60, hour = minute * 60, day = hour * 24; const countDown = new Date(parseInt(variantSettings.comingSoonAvailableFrom)).getTime(); if (KT_countdown_update !== null) { clearInterval(KT_countdown_update); } let countDownTimerCopy = document.querySelector('.appikon-pre-order-countdown-timer'); if (!countDownTimerCopy) { countDownTimerCopy = countDownTimer.cloneNode(true); countDownTimerCopy.classList.remove('appikon-pre-order-countdown-timer-hidden'); countDownTimerCopy.classList.add('appikon-pre-order-countdown-timer'); const actionButton = getActionButton(); if (actionButton) { actionButton.after(countDownTimerCopy); } else { const soldOutMessage = document.querySelector('.appikon-pre-order-sold-out-message'); if (soldOutMessage) { soldOutMessage.after(countDownTimerCopy); } } } let now = new Date().getTime(); if (countDown - now < 0) { if (KT_countdown_update !== null) { clearInterval(KT_countdown_update); } const countDownTimer = document.querySelector('.appikon-pre-order-countdown-timer'); if (countDownTimer) { countDownTimer.remove(); } } else { countDownTimerCopy.classList.remove('hidden'); loadAppkionTimer(); } } else { if (KT_countdown_update !== null) { clearInterval(KT_countdown_update); } const countDownTimer = document.querySelector('.appikon-pre-order-countdown-timer'); if (countDownTimer) { countDownTimer.remove(); } } } else { if (KT_countdown_update !== null) { clearInterval(KT_countdown_update); } const countDownTimer = document.querySelector('.appikon-pre-order-countdown-timer'); if (countDownTimer) { countDownTimer.remove(); } } } else { if (KT_countdown_update !== null) { clearInterval(KT_countdown_update); } const countDownTimer = document.querySelector('.appikon-pre-order-countdown-timer'); if (countDownTimer) { countDownTimer.remove(); } } } } function showPreOrderTag() { for (let i = 0; i < 1000; i++) { setTimeout(function() { let tagExists = document.querySelector('.appikon-pre-order-tag'); if (!tagExists) { let priceContainer = getPriceContainer(); const node = document.createElement('span'); node.classList.add('appikon-pre-order-tag'); node.classList.add('appikon-pre-order-pill-customization'); node.innerHTML = 'Pre-order'; if (priceContainer) { priceContainer.appendChild(node); } } showPreOrderDiscount(); }, i); } } function hidePreOrderTag() { // for (let i = 0; i < 1000; i++) { // setTimeout(function() { // let tagExists = document.querySelector('.appikon-pre-order-tag'); // if (tagExists) { // tagExists.remove(); // let actionButton = getActionButton(); // if (actionButton) { // actionButton.disabled = false; // } // if (window._POConfig && window._POConfig.selectors.payment_button_selectors) { // var paymentButton = document.querySelector(window._POConfig.selectors.payment_button_selectors); // if (paymentButton) { // paymentButton.disabled = false; // } // } // } // hidePreOrderDiscount(); // }, i); // } setTimeout(function() { let tagExists = document.querySelector('.appikon-pre-order-tag'); if (tagExists) { tagExists.remove(); let actionButton = getActionButton(); if (actionButton) { actionButton.disabled = false; } if (window._POConfig && window._POConfig.selectors.payment_button_selectors) { var paymentButton = document.querySelector(window._POConfig.selectors.payment_button_selectors); if (paymentButton) { paymentButton.disabled = false; } } } hidePreOrderDiscount(); }, 1000); } function showPreOrderDiscount() { let priceRegularValueContainer = getRegularPriceContainer(); let sellingPlanSelected = getSellingPlanSelected(); if (priceRegularValueContainer && sellingPlanSelected) { const variant = findSelectedVariant(); const sellingPlanData = variant.selling_plan_allocations.find( sp => sp.selling_plan_id.toString() === sellingPlanSelected.value.toString() ); if (sellingPlanData && sellingPlanData.price_adjustments.length > 0) { const price = Number.parseFloat(sellingPlanData.price / 100).toFixed(2); let preOrderDiscountContainer = document.querySelector('.appikon-pre-order-discount'); if (!preOrderDiscountContainer) { // si no se creo ese container lo crea const node = document.createElement('div'); node.classList = { ...priceRegularValueContainer.classList }; node.classList.add('appikon-pre-order-discount'); preOrderDiscountContainer = node; //asocia ese container creado al del tag pre order let preOrderTag = document.querySelector('.appikon-pre-order-tag'); if (preOrderTag) { preOrderTag.before(preOrderDiscountContainer); } } let newHtml = price + (window._POConfig && window._POConfig.cart && window._POConfig.cart.currency ? window._POConfig.cart.currency : ''); if (preOrderDiscountContainer.innerHTML.replace(' ', '') !== newHtml.replace(' ', '')) { preOrderDiscountContainer.innerHTML = newHtml.replace(' ', ''); } let classes = priceRegularValueContainer.classList; if (!classes.contains('appikon-pre-order-price-line-through')) { classes.add('appikon-pre-order-price-line-through'); } } else { hidePreOrderDiscount(); } } else { hidePreOrderDiscount(); } } function hidePreOrderDiscount() { let priceRegularValueContainer = getRegularPriceContainer(); if (priceRegularValueContainer) { priceRegularValueContainer.classList.remove('appikon-pre-order-price-line-through'); } let preOrderDiscountContainer = document.querySelector('.appikon-pre-order-discount'); if (preOrderDiscountContainer) { preOrderDiscountContainer.remove(); } } //--------------------New timer-------------------- function loadAppkionTimer() { function playanimation(old_value_po, new_value_po, type) { old_value_po = '0' + old_value_po; old_value_po = old_value_po.split('').reverse(); new_value_po = '0' + new_value_po; new_value_po = new_value_po.split('').reverse(); var left = '.countdown-KT .' + type + '0'; var right = '.countdown-KT .' + type + '1'; var isRightFlip = false; var isLeftFlip = false; isRightFlip = jQuery(right + ' .card-text-KT').text() != jQuery(right + ' .card-back-text-KT').text(); isLeftFlip = jQuery(left + ' .card-text-KT').text() != jQuery(left + ' .card-back-text-KT').text(); if (isRightFlip) { jQuery(right).addClass('flip-KT'); } if (isLeftFlip) { jQuery(left).addClass('flip-KT'); } setTimeout(function() { jQuery(right + ' .card-text-KT').html(old_value_po[0]); jQuery(right + ' .card-bottom-back-text-KT').html(old_value_po[0]); jQuery(right + ' .card-back-text-KT').html(new_value_po[0]); jQuery(right + ' .card-bottom-text-KT').html(new_value_po[0]); jQuery(left + ' .card-text-KT').html(old_value_po[1]); jQuery(left + ' .card-bottom-back-text-KT').html(old_value_po[1]); jQuery(left + ' .card-back-text-KT').html(new_value_po[1]); jQuery(left + ' .card-bottom-text-KT').html(new_value_po[1]); if (isLeftFlip) { jQuery(left).removeClass('flip-KT'); } if (isRightFlip) { jQuery(right).removeClass('flip-KT'); } }, 900); } function update_KT_CT() { var days_old_po = Math.floor(KT_TOTAL / (60 * 60 * 24)); var hrs_old_po = Math.floor((KT_TOTAL % (60 * 60 * 24)) / (60 * 60)); var mins_old_po = Math.floor((KT_TOTAL % (60 * 60)) / 60); var secs_old_po = KT_TOTAL % 60; KT_TOTAL--; var days_po = Math.floor(KT_TOTAL / (60 * 60 * 24)); var hrs_po = Math.floor((KT_TOTAL % (60 * 60 * 24)) / (60 * 60)); var mins_po = Math.floor((KT_TOTAL % (60 * 60)) / 60); var secs_po = KT_TOTAL % 60; if (KT_TOTAL < 0) { jQuery('.countdown-KT-full-width').css('display', 'none'); clearInterval(KT_countdown_update); return; } playanimation(days_old_po, days_po, 'days'); playanimation(hrs_old_po, hrs_po, 'hrs'); playanimation(mins_old_po, mins_po, 'mins'); playanimation(secs_old_po, secs_po, 'secs'); } function initDigit(old_value_po, new_value_po, type) { old_value_po = '0' + old_value_po; old_value_po = old_value_po.split('').reverse(); new_value_po = '0' + new_value_po; new_value_po = new_value_po.split('').reverse(); var left = '.countdown-KT .' + type + '0'; var right = '.countdown-KT .' + type + '1'; jQuery(right + ' .card-text-KT').html(old_value_po[0]); jQuery(right + ' .card-bottom-back-text-KT').html(old_value_po[0]); jQuery(right + ' .card-back-text-KT').html(new_value_po[0]); jQuery(right + ' .card-bottom-text-KT').html(new_value_po[0]); jQuery(left + ' .card-text-KT').html(old_value_po[1]); jQuery(left + ' .card-bottom-back-text-KT').html(old_value_po[1]); jQuery(left + ' .card-back-text-KT').html(new_value_po[1]); jQuery(left + ' .card-bottom-text-KT').html(new_value_po[1]); } function initValues() { var days_old_po = Math.floor(KT_TOTAL / (60 * 60 * 24)); var hrs_old_po = Math.floor((KT_TOTAL % (60 * 60 * 24)) / (60 * 60)); var mins_old_po = Math.floor((KT_TOTAL % (60 * 60)) / 60); var secs_old_po = KT_TOTAL % 60; KT_TOTAL--; var days_po = Math.floor(KT_TOTAL / (60 * 60 * 24)); var hrs_po = Math.floor((KT_TOTAL % (60 * 60 * 24)) / (60 * 60)); var mins_po = Math.floor((KT_TOTAL % (60 * 60)) / 60); var secs_po = KT_TOTAL % 60; initDigit(days_old_po, days_po, 'days'); initDigit(hrs_old_po, hrs_po, 'hrs'); initDigit(mins_old_po, mins_po, 'mins'); initDigit(secs_old_po, secs_po, 'secs'); } function start_Countdown_KT() { if (KT_countdown_update) { clearInterval(KT_countdown_update); } var variant = findSelectedVariant(); const variantSetting = window._POConfig.variantSettings[variant.id]; KT_TOTAL = variantSetting ? Math.round((variantSetting.comingSoonAvailableFrom - Date.now()) / 1000) : -1; if (variantSetting.comingSoonEnable) { var n = 2; while (KT_TOTAL <= 0) { KT_TOTAL = Math.round((variantSetting.comingSoonAvailableFrom + n * 86400 - Date.now()) / 1000); n = n * 2; } } if (KT_TOTAL < 0) { return; } setTimeout(function() { initValues(); }, 1000); KT_countdown_update = window.setInterval(() => { update_KT_CT(); }, 1000); jQuery('.countdown-KT-full-width').removeClass('hide-KT'); jQuery('.countdown-KT-full-width').addClass('fade-in-KT'); } //only call if jQuery is loaded if (window.jQuery) { start_Countdown_KT(); } else { window.setTimeout(function() { loadAppkionTimer(); }, 20); } } //--------------------New timer-------------------- //--------------------Add cart items properties-------------------- //Used to add properties to item when it is added to cart async function cartItem() { const cartData = await fetch('/cart.js', { method: 'GET', headers: { 'Content-Type': 'application/json' } }); const cartDataJson = await cartData.json(); const cartItems = cartDataJson.items; if (window._POConfig) { let hasChanged = false; let needReload = false; for (const item of cartItems) { const variantSetting = window._POConfig.variantSettings[item.id]; if (variantSetting && variantSetting.preOrderEnabled) { const itemLine = cartItems.findIndex(it => it == item); let formQuantityData = addQuantityToFormData(item, variantSetting); let formPropertiesData = addPropertiesToFormData(itemLine, item, variantSetting, cartDataJson.currency); if (itemPropertiesHaveChanged(item.properties, formPropertiesData.properties) || item.quantity !== formQuantityData.quantity) { let formData = formPropertiesData; if (!itemPropertiesHaveChanged(item.properties, formPropertiesData.properties)) { delete formData.properties; } if (item.quantity !== formQuantityData.quantity) { needReload = true; } formData = { ...formData, quantity: formQuantityData.quantity }; await fetch('/cart/change.js', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(formData) }); hasChanged = true; } } } if (hasChanged) { hasChanged = false; if (needReload) { needReload = false; location.reload(); } } } } function addQuantityToFormData(item, variantSetting) { var overallAvailable = variantSetting.overallQuantityLimit - variantSetting.totalQuantityOrdered; var fixedQuant = variantSetting.quantityLimit; let formQuantityData = { id: item.id.toString(), quantity: item.quantity }; if (variantSetting.overallQuantityLimit == 0 && variantSetting.quantityLimit == 0) { return formQuantityData; } if (overallAvailable > 0 && variantSetting.quantityLimit > 0) { fixedQuant = Math.min(overallAvailable, variantSetting.quantityLimit); if (item.quantity > variantSetting.quantityLimit || item.quantity > overallAvailable) { formQuantityData.quantity = fixedQuant; } } if (item.quantity > variantSetting.quantityLimit && variantSetting.quantityLimit != 0 && variantSetting.overallQuantityLimit == 0) { formQuantityData.quantity = variantSetting.quantityLimit; } if (item.quantity > overallAvailable && variantSetting.quantityLimit == 0 && overallAvailable > 0) { formQuantityData.quantity = overallAvailable; } return formQuantityData; } function addPropertiesToFormData(itemLine, item, variantSetting, currency) { const cartLabel = variantSetting.cartCheckoutLabel; let formPropertiesData = { line: parseInt(itemLine) + 1, properties: {} }; if (item.selling_plan_allocation) { let properties = formPropertiesData.properties; formPropertiesData.properties = { ...properties, 'Pre-order': cartLabel }; } if (item.selling_plan_allocation && variantSetting.showSellingPlanLabelOnCart) { let properties = formPropertiesData.properties; formPropertiesData.properties = { ...properties, 'Purchase option': item.selling_plan_allocation.selling_plan.name }; } if (item.selling_plan_allocation && variantSetting.showFullPriceLabelOnCart) { let properties = formPropertiesData.properties; formPropertiesData.properties = { ...properties, 'Full price': item.final_price / 100 + ' ' + currency }; } if (item.selling_plan_allocation && variantSetting.showPriceOnCheckoutLabelOnCart) { if (product.selling_plan_groups && product.selling_plan_groups.length > 0) { const sellingPlanGroup = product.selling_plan_groups.find( spg => spg.selling_plans[0].id.toString() === item.selling_plan_allocation.selling_plan.id.toString() ); if (sellingPlanGroup) { if (sellingPlanGroup.selling_plans[0].checkout_charge) { let value; if (sellingPlanGroup.selling_plans[0].checkout_charge.value_type === 'percentage') { value = Number.parseFloat((item.final_price / 100) * (sellingPlanGroup.selling_plans[0].checkout_charge.value / 100)).toFixed( 2 ); } if (sellingPlanGroup.selling_plans[0].checkout_charge.value_type === 'price') { value = sellingPlanGroup.selling_plans[0].checkout_charge.value / 100; } let properties = formPropertiesData.properties; formPropertiesData.properties = { ...properties, 'Price at checkout': value + ' ' + currency }; } } } } return formPropertiesData; } function itemPropertiesHaveChanged(itemProperties, formDataProperties) { if (!itemProperties && formDataProperties) { return true; } if (itemProperties['Pre-order'] !== formDataProperties['Pre-order']) { return true; } if (itemProperties['Purchase option'] !== formDataProperties['Purchase option']) { return true; } if (itemProperties['Full price'] !== formDataProperties['Full price']) { return true; } if (itemProperties['Price at checkout'] !== formDataProperties['Price at checkout']) { return true; } return false; } //--------------------Add cart items properties-------------------- //--------------------On page load-------------------- function onLoad() { showOrHidePreOrder(); createUserCustomizations(); } setTimeout(() => { onLoad(); }, 500); document.addEventListener('DOMContentLoaded', onLoad); //--------------------On page load-------------------- }, 300); </script><style type="text/css"> .hidden { display: none!important; } .appikon-pre-order-tag { border-radius: 19px; padding: 4px 8px; border-style: solid; } .appikon-pre-order-discount-hidden{ display:none; } .appikon-pre-order-price-line-through{ text-decoration: line-through; } .appikon-pre-order-hide-input{ position: absolute; left: -9999px; } .appikon-pre-order-single-option-hidden{ display: none; } .appikon-pre-order-countdown-timer li { display: inline-block; font-size: 14px; list-style-type: none; padding: 4px; } .appikon-pre-order-countdown-timer li span { display: block; font-size: 14px; } @media all and (max-width: 768px) { .appikon-pre-order-countdown-timer h1 { font-size: calc(1.5rem * var(--smaller)); } .appikon-pre-order-countdown-timer li { font-size: calc(1.125rem * var(--smaller)); } .appikon-pre-order-countdown-timer li span { font-size: calc(3.375rem * var(--smaller)); } } .countdown-KT-full-width { width: 100% } @media (min-width: 981px) { .countdown-KT-full-width { text-align: center } } @media (max-width: 980px) { .countdown-KT-full-width { text-align: center } } .countdown-KT { margin-top: 0; display: inline-block; font-family: Arial, Helvetica, sans-serif; line-height: 1.3 } .countdown-KT .countdown-section-KT { display: inline-block } .countdown-KT .separator-KT { color: rgba(0, 0, 0, 1.00); position: relative; display: inline-block; vertical-align: top; height: 46px; top: 13px; margin: 0 5px; font-weight: 900 } .countdown-KT .message-KT { display: inline-block; color: rgba(0, 0, 0, 1.00); text-align: center; font-family: Josefin Sans, serif; font-size: 16pt; width: 100%; margin: 10px 0; padding-left: 5px; padding-right: 5px } .countdown-KT .digit-KT { display: inline-block; margin: 0 2px; width: 28px; height: 45px; -webkit-perspective: 100px; perspective: 100px } .countdown-KT .title-KT { display: block; color: rgba(0, 0, 0, 1.00); font-family: Arial, Helvetica, sans-serif; font-size: 8pt; position: relative; text-align: center; margin-top: 5px } .countdown-KT .digit-KT .card-back-KT, .countdown-KT .digit-KT .card-KT { background-color: rgba(255, 255, 255, 1.00); color: rgba(0, 0, 0, 1.00); font-family: Josefin Sans, serif; font-size: 24pt; position: absolute; border-radius: 6px 6px 0 0; width: 28px; height: 22px; overflow: hidden; text-align: center } .countdown-KT .digit-KT .card-back-KT, .countdown-KT .digit-KT .card-bottom-back-KT { box-shadow: 1px 1px 4px rgba(0, 0, 0, .5) } .countdown-KT .digit-KT .card-bottom-back-KT, .countdown-KT .digit-KT .card-bottom-KT { background-color: rgba(255, 255, 255, 1.00); color: rgba(0, 0, 0, 1.00); font-family: Josefin Sans, serif; font-size: 24pt; position: absolute; top: 23px; border-radius: 0 0 6px 6px; width: 28px; height: 22px; overflow: hidden; text-align: center } .countdown-KT .digit-KT .card-KT, .countdown-KT .digit-KT .card-bottom-back-KT { z-index: 1 } .countdown-KT .digit-KT .card-back-KT, .countdown-KT .digit-KT .card-bottom-KT { z-index: 0 } .countdown-KT .digit-KT .card-back-text-KT, .countdown-KT .digit-KT .card-text-KT { line-height: 1.19; position: relative; top: 6px } .countdown-KT .digit-KT .card-bottom-back-text-KT, .countdown-KT .digit-KT .card-bottom-text-KT { line-height: 1.19; position: relative; top: -17px } .countdown-KT .flip-KT .card-KT { -webkit-animation: flipTop-KT .5s cubic-bezier(0.56, 0.56, 0.69, 0.69); animation: flipTop-KT .5s cubic-bezier(0.56, 0.56, 0.69, 0.69); -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-transform-origin: center bottom; transform-origin: center bottom } .countdown-KT .flip-KT .card-bottom-KT { z-index: 2; -webkit-transform-origin: center top; transform-origin: center top; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation: flipBottom-KT 1.0s cubic-bezier(0.56, 0.56, 0.69, 0.69); animation: flipBottom-KT 1.0s cubic-bezier(0.56, 0.56, 0.69, 0.69) } @-webkit-keyframes flipTop-KT { 0% { -webkit-transform: rotateX(0deg); transform: rotateX(0deg) } 99% { -webkit-transform: rotateX(-90deg); transform: rotateX(-90deg); opacity: 1 } 100% { opacity: 0 } } @keyframes flipTop-KT { 0% { -webkit-transform: rotateX(0deg); transform: rotateX(0deg) } 99% { -webkit-transform: rotateX(-90deg); transform: rotateX(-90deg); opacity: 1 } 100% { opacity: 0 } } @-webkit-keyframes flipBottom-KT { 0% { opacity: 0 } 50% { opacity: 0; -webkit-transform: rotateX(90deg); transform: rotateX(90deg) } 51% { opacity: 1 } 100% { -webkit-transform: rotateX(0deg); transform: rotateX(0deg) } } @keyframes flipBottom-KT { 0% { opacity: 0 } 50% { opacity: 0; -webkit-transform: rotateX(90deg); transform: rotateX(90deg) } 51% { opacity: 1 } 100% { -webkit-transform: rotateX(0deg); transform: rotateX(0deg) } } .hide-KT { display: none } .fade-in-KT { -webkit-animation: fade-in-anim-KT 2s cubic-bezier(0.390, 0.575, 0.565, 1.000) both; animation: fade-in-anim-KT 2s cubic-bezier(0.390, 0.575, 0.565, 1.000) both } .countdown-text{ margin-bottom: 5px } .countdown-message{ font-size: 15px } @media (max-width: 768px) { .countdown-KT .message-KT { text-align: center !important } } @-webkit-keyframes fade-in-anim-KT { 0% { opacity: 0 } 100% { opacity: 1 } } @keyframes fade-in-anim-KT { 0% { opacity: 0 } 100% { opacity: 1 } } </style> <div class="appikon-pre-order-product-data-helper-hidden hidden" data-product='null'> </div> <div class="appikon-pre-order-form-complement-helper-hidden hidden"> <fieldset class="selling-plan-fieldset"> <input type="hidden" name="selling_plan" value=""/> <legend>Purchase options</legend> </fieldset> <div class="appikon-pre-order-purchase-option-description" style="margin-top: 20px;"> </div> <div class="appikon-pre-order-purchase-option-error hidden"> <span style="color:red;"> Select a purchase option to pre order this product </span> </div> </div> <div class='appikon-pre-order-button-hidden hidden'> <button type="submit" name="add" class="appikon-pre-order-button-customization"> </button> <span class="appikon-pre-order-button-message hidden"> </span> </div> <button class="appikon-pre-order-sold-out-message-hidden hidden" disabled> </button> <div class="appikon-pre-order-countdown-timer-hidden hidden container" style="margin-top: 20px;"> <span class="appikon-pre-order-countdown-timer-header" style="font-weight: bold;">Countdown header</span><br/> <span class="appikon-pre-order-countdown-timer-message" style="font-stlye: italic;">Countdown message</span> <div class="countdown-KT-full-width hide-KT" id="countdownultimate-KT"><div class="countdown-KT"><div class="message-KT"><h3 id="comingSoonHeader" class="countdown-text"/><span id="comingSoonMessage" class="countdown-message countdown-text"/></div><br style="height: 0px;"><div class="countdown-section-KT day"><div class="digit-KT days0"><div class="card-KT"><div class="card-text-KT"></div></div><div class="card-back-KT"><div class="card-back-text-KT"></div></div><div class="card-bottom-KT"><div class="card-bottom-text-KT"></div></div><div class="card-bottom-back-KT"><div class="card-bottom-back-text-KT"></div></div></div><div class="digit-KT days1"><div class="card-KT"><div class="card-text-KT"></div></div><div class="card-back-KT"><div class="card-back-text-KT"></div></div><div class="card-bottom-KT"><div class="card-bottom-text-KT"></div></div><div class="card-bottom-back-KT"><div class="card-bottom-back-text-KT"></div></div></div><div class="title-KT">DAYS</div></div><div class="separator-KT sday">:</div><div class="countdown-section-KT hour"><div class="digit-KT hrs0"><div class="card-KT"><div class="card-text-KT"></div></div><div class="card-back-KT"><div class="card-back-text-KT"></div></div><div class="card-bottom-KT"><div class="card-bottom-text-KT"></div></div><div class="card-bottom-back-KT"><div class="card-bottom-back-text-KT"></div></div></div><div class="digit-KT hrs1"><div class="card-KT"><div class="card-text-KT"></div></div><div class="card-back-KT"><div class="card-back-text-KT"></div></div><div class="card-bottom-KT"><div class="card-bottom-text-KT"></div></div><div class="card-bottom-back-KT"><div class="card-bottom-back-text-KT"></div></div></div><div class="title-KT">HRS</div></div><div class="separator-KT shour">:</div><div class="countdown-section-KT minute"><div class="digit-KT mins0"><div class="card-KT"><div class="card-text-KT"></div></div><div class="card-back-KT"><div class="card-back-text-KT"></div></div><div class="card-bottom-KT"><div class="card-bottom-text-KT"></div></div><div class="card-bottom-back-KT"><div class="card-bottom-back-text-KT"></div></div></div><div class="digit-KT mins1"><div class="card-KT"><div class="card-text-KT"></div></div><div class="card-back-KT"><div class="card-back-text-KT"></div></div><div class="card-bottom-KT"><div class="card-bottom-text-KT"></div></div><div class="card-bottom-back-KT"><div class="card-bottom-back-text-KT"></div></div></div><div class="title-KT">MINS</div></div><div class="separator-KT sminute">:</div><div class="countdown-section-KT second"><div class="digit-KT secs0"><div class="card-KT"><div class="card-text-KT"></div></div><div class="card-back-KT"><div class="card-back-text-KT"></div></div><div class="card-bottom-KT"><div class="card-bottom-text-KT"></div></div><div class="card-bottom-back-KT"><div class="card-bottom-back-text-KT"></div></div></div><div class="digit-KT secs1"><div class="card-KT"><div class="card-text-KT"></div></div><div class="card-back-KT"><div class="card-back-text-KT"></div></div><div class="card-bottom-KT"><div class="card-bottom-text-KT"></div></div><div class="card-bottom-back-KT"><div class="card-bottom-back-text-KT"></div></div></div><div class="title-KT">SECS</div></div><div style="text-align: right;display: block !important;width: 100% !important; max-width: 100% !important; height: 100% !important; max-height: 100% !important;"></div></div></div> </div><div id="shopify-block-12652517025168875117" class="shopify-block shopify-app-block"> <script>let snickettDeals = [{"offer":{"_id":"65a73d731243a73e97f7f69c","channels":["web"],"contents":[],"detailed_contents":[],"name":"Snaxshot Offer","perk":{"_id":"65a73d801243a73e97f7f69d","details":{"discount":{"amount":15,"combinations":{"orderDiscounts":false,"productDiscounts":false,"shippingDiscounts":false},"minimumOrder":0,"type":"percentage"},"emailSubscriptions":false},"type":"discount"},"redemptions":null,"snickett_design":{"color":"linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.71) 100%), #FFD97C","gift_og_image":"https://cdn.shopthru.app/images/core/e09b8deeb72c80c814e6ba1f24ad98d119baad92.webp","image":"https://cdn.shopthru.app/images/core/e431635258529dd4ee147c44c8d8b927a93ad478.webp","logo":"https://cdn.shopthru.app/images/core/045cf765b0bd8adf3267a4693c9c1e23839a6314.webp","snickett_og_image":"https://cdn.shopthru.app/images/core/3f2032349a0649d288dc09191cc0e979e50d91bb.webp"},"target":"store"},"collabs":[{"_id":"65a73dbf8d3705922e7ad60e","community":null,"end":"2024-02-16T02:38:55.416Z","start":"2024-01-17T02:38:55.416Z"}]}] if (!snickettDeals) { snickettDeals = []; } window.snicketts = { storeName: "For Bitter For Worse", embeddedAppSettings: 0 ? 0 : null, deals : snickettDeals.map((item) => { item.collabs = item.collabs.filter((deal) => { const now = new Date(); const start = new Date(deal.start); if (start > now) return false; if (!deal.end) return true; const endDate = new Date(deal.end); return endDate > now; }); item.type = "collab"; return item; }).filter((item) => item.collabs.length > 0), }; </script> <!-- BEGIN app snippet: snicketts-embedded-block --> <div id="snicketts-embedded-block" data-snicketts-deal="" data-snicketts-keys="" > </div> <script src="https://cdn.shopify.com/extensions/84393f6e-743b-4271-8a09-47b3dd80c2db/snicketts-gifting-promos-14/assets/themeConfig.js" defer></script> <!-- END app snippet --> <script async type="module" src="https://cdn.shopify.com/extensions/84393f6e-743b-4271-8a09-47b3dd80c2db/snicketts-gifting-promos-14/assets/index.js"></script> </div></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10