1<!doctype html> 2 <html class="no-js" lang="en"> 3 <head>
3<script data-source-attribution="shopify.event_observer.bootstrap"> 4(function(){let e=navigator,t=`prototype`,n=`sendBeacon`,r=e[n],i=fetch,a=XMLHttpRequest[t],{open:o,send:s}=a,c=`EventListener`,l=`add${c}`,u=`remove${c}`,d=EventTarget[t],f=d[l],p=d[u],m=e=>Error((e=document.currentScript)&&[e?.src,e?.id||e?.dataset?.sourceAttribution]),h=(e=[],t=0)=>(e.p=n=>e[t++%1e3]=n,[e,t=>(e.forEach(e.p=t),e.length=0)]),[g,_]=h(),[v,y]=h(),b,x=new WeakMap,S=e=>e&&g.p([e,b||[m()]]);d[l]=function(e,t,n){let r=this,i=t?.handleEvent||t,a=x.get(t),o=m();i?.call&&!a&&x.set(t,a=function(e){b=[o,e.type];try{i.call(t==i?this:t,e)}finally{b=null}}),v.p([e,o,a,r?.tagName||r+``,r?.id]),f.call(r,e,a||t,n)},d[u]=function(e,t,n){p.call(this,e,x.get(t)||t,n)},a.open=function(e,t){x.set(this,[t+``,e]),o.apply(this,arguments)},a.send=function(e){S(x.get(this)),s.call(this,e)},fetch=(e,t)=>(S([(e?.url||e)+``,t?.method]),i(e,t)),e[n]=(t,n)=>(S([t+``,``]),r.call(e,t,n)),setTimeout(()=>import("//www.wakemakers.com/cdn/shopifycloud/storefront/assets/storefront/event_observer_reporter-ed358274.js").then(e=>e.$(_,y,f,i,`49088856229`)))})(); 5//# sourceURL=event-observer-collector.js 6</script>
6 7 8<!-- Start of Shoplift scripts --> 9<!-- 2026-09-10T04:00:04.6868431Z --> 10<style>.shoplift-hide { opacity: 0 !important; }</style> 11<style id="sl-preview-bar-hide">#preview-bar-iframe, #PBarNextFrameWrapper { display: none !important; }</style>
12<script type="text/javascript">(function(rootPath, template, themeRole, themeId, isThemePreview){ /* Generated on 2026-09-25T08:00:04.4503479Z */(function(){"use strict";var te=document.createElement("style");te.textContent=`#shoplift-preview-control{position:fixed;max-width:332px;height:56px;background-color:#141414;z-index:9999;bottom:20px;display:flex;border-radius:8px;box-shadow:13px 22px 7px #0000,9px 14px 7px #00000003,5px 8px 6px #0000000d,2px 4px 4px #00000017,1px 1px 2px #0000001a,0 0 #0000001a;align-items:center;margin:0 auto;left:16px;right:16px;opacity:0;transform:translateY(20px);visibility:hidden;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s .4s}#shoplift-preview-control.visible{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s 0s}#shoplift-preview-control *{font-family:Inter,sans-serif;color:#fff;box-sizing:border-box;font-size:16px}#shoplift-preview-variant-title{font-weight:400;line-height:140%;font-size:16px;text-align:start;letter-spacing:-.16px;flex-grow:1;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}#shoplift-preview-variant-selector{position:relative;display:block;padding:6px 0;height:100%;min-width:0;flex:1 1 auto}#shoplift-preview-variant-menu-trigger{border:none;cursor:pointer;width:100%;background-color:transparent;padding:0 16px;border-left:1px solid #333;border-right:1px solid #333;height:100%;display:flex;align-items:center;justify-content:start;gap:8px}#shoplift-preview-variant-selector .menu-variant-label{width:24px;height:24px;border-radius:50%;padding:6px;display:flex;justify-content:center;align-items:center;font-size:12px;font-style:normal;font-weight:600;line-height:100%;letter-spacing:-.12px;flex-shrink:0}#shoplift-preview-variant-selector .preview-variant-menu{position:absolute;bottom:110%;transform:translate3d(0,20px,0);visibility:hidden;pointer-events:none;opacity:0;cursor:pointer;background-color:#141414;border:1px solid #141414;border-radius:6px;width:100%;max-height:156px;overflow-y:auto;box-shadow:0 8px 16px #0003;z-index:1;transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s .3s}#shoplift-preview-variant-selector .preview-variant-menu.preview-variant-menu__visible{visibility:visible;pointer-events:auto;opacity:100;transform:translateZ(0);transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s 0s}@media screen and (max-width:400px){#shoplift-preview-variant-selector .preview-variant-menu{position:fixed;left:0;right:0;width:auto;bottom:110%}}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item{padding:12px 16px;display:flex;overflow:hidden}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item .menu-variant-label{margin-right:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item span{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap;white-space:nowrap;color:#f6f6f6;font-size:14px;font-style:normal;font-weight:500}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:hover{background-color:#545454}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:last-of-type{border-bottom-left-radius:6px;border-bottom-right-radius:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}#shoplift-preview-control div:has(#shoplift-exit-preview-button){padding:0 16px}#shoplift-exit-preview-button{padding:6px 8px;font-weight:500;line-height:75%;border-radius:4px;background-color:transparent;border:none;text-decoration:none}#shoplift-exit-preview-button:hover{cursor:pointer;background-color:#333}#shoplift-preview-subscription-warning{position:relative;display:flex;align-items:center;gap:6px;padding:6px 10px;margin:0 4px;border-left:1px solid #333;cursor:help;outline:none}#shoplift-preview-subscription-warning__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:#f59e0b;color:#141414!important;font-weight:700;font-size:12px!important;line-height:1;flex-shrink:0}#shoplift-preview-subscription-warning__label{font-size:13px!important;font-weight:500;color:#fbbf24!important;text-wrap:nowrap;white-space:nowrap}#shoplift-preview-subscription-warning__tooltip{position:absolute;bottom:calc(100% + 8px);right:0;max-width:320px;width:max-content;padding:10px 12px;border-radius:6px;background-color:#1f1f1f;color:#fff!important;font-size:12px!important;line-height:1.4!important;box-shadow:0 8px 16px #0000004d;z-index:10000;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s .2s;pointer-events:none}#shoplift-preview-subscription-warning__tooltip.shoplift-preview-subscription-warning__tooltip--visible{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s 0s}#shoplift-preview-subscription-warning:focus-visible{box-shadow:inset 0 0 0 2px #f59e0b;border-radius:4px}#shoplift-preview-control:has(#shoplift-preview-subscription-warning){max-width:480px}/*$vite$:1*/`,document.head.appendChild(te);var fe=" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!cam)scan|(?<!lib)http|24x
127|;\\s\\w+;$|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+/1\\.0;|\\bbw/|\\bdlc\\b|\\bort/|\\bperl\\b|\\btime/|\\||^[<\\(;]|^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[\\w\\-]+/[\\w]+$|^[^ ]{50,}$|^\\d+\\b|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^blackbox exporter|^bot|^clamav[ /]|^claude-code/|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^exodusmovement|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^ps_daily/|^python|^rank|^read|^reed|^remove\\.bg/|^rest|^rss|^snapchat|^sora |^space bison|^stape/|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|abuse|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|attracta|audit|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|collapsify\\b|convertify|cookiehubverify/|crawl|cursor/|cypress/|dareboost|datanyze|dejaclick|detect|discovery|dmbrowser|download|exaleadcloudview|feed|firephp|foregenix|functionize|grab|hardenize\\b|headless|hotjar|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|linktiger|mail\\.ru/|manager|manus-user/|marketgoo/|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|openvas|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|playwright|powermarks|preview|productfinder|prospectingstudio|proxy|ptst[ /]\\d|radar|readable/|retriever|rexx;|rigor|rss\\b|scrape|securityheaders|selenium|server|silktide|sindup/|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|testlocally|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|watchtowr|webglance|webkit2png|whatcms/|xtate/",ge=/bot|crawl|http|lighthouse|scan|search|spider/i,z;function me(){if(z instanceof RegExp)return z;try{z=new RegExp(fe,"i")}catch{z=ge}return z}var ye=a=>typeof a=="string"&&a!=="";function ve(a){return ye(a)&&me().test(a)}var we=ve;class X{timestamp;constructor(){this.timestamp=new Date}}class be extends X{type;testId;hypothesisId;constructor(e,t,i){super(),this.type=3,this.testId=e,this.hypothesisId=t,this.timestamp=i}}class Se extends X{type;path;constructor(e){super(),this.type=4,this.path=e}}class Ce extends X{type;cart;constructor(e){super(),this.type=5,this.cart=e}}class ie extends Error{isBot;constructor(){super(),this.isBot=!0}}function Te(a,e,t){for(const i of e.selectors){const s=a.querySelectorAll(i.cssSelector);for(let r=0;r<s.length;r++)t(e.testId,e.hypothesisId)}re(a,e,(i,s,r,o,n)=>n(s,r),t)}function U(a,e,t){for(const i of e.selectors)ne(a,e.testId,e.hypothesisId,i,t??(()=>{}));re(a,e,ne,t??(()=>{}))}function se(a){return a.urlPatterns.reduce((e,t)=>{switch(t.operator){case"contains":return e+`.*${t}.*`;case"endsWith":return e+`.*${t}`;case"startsWith":return e+`${t}.*`}},"")}function re(a,e,t,i){new MutationObserver(()=>{for(const r of e.selectors)t(a,e.testId,e.hypothesisId,r,i)}).observe(a.documentElement,{childList:!0,subtree:!0})}function ne(a,e,t,i,s){const r=a.querySelectorAll(i.cssSelector);for(let o=0;o<r.length;o++){let n=r.item(o);if(n instanceof HTMLElement&&n.dataset.shoplift!==""){n.dataset.shoplift="";for(const l of i.actions.sort(Re))n=Ie(a,i.cssSelector,n,l)}}return r.length>0&&s?(s(e,t),!0):!1}function Ie(a,e,t,i){switch(i.type){case"innerHtml":t.innerHTML=i.value;break;case"attribute":Pe(t,i.scope,i.value);break;case"css":Ae(a,e,i.value);break;case"js":ke(a,t,i);break;case"copy":return Ee(t);case"remove":xe(t);break;case"move":_e(t,parseInt(i.value));break}return t}function Pe(a,e,t){a.setAttribute(e,t)}function Ae(a,e,t){const i=a.createElement("style");i.innerHTML=`${e} { ${t} }`,a.getElementsByTagName("head")[0]?.appendChild(i)}function ke(a,e,t){Function("document","element",`"use strict"; ${t.value}`)(a,e)}function Ee(a){const e=a.cloneNode(!0);if(!a.parentNode)throw"Can't copy node outside of DOM";return a.parentNode.insertBefore(e,a.nextSibling),e}function xe(a){a.remove()}function _e(a,e){if(e===0)return;const t=Array.prototype.slice.call(a.parentElement.children).indexOf(a),i=Math.min(Math.max(t+e,0),a.parentElement.children.length-1);a.parentElement.children.item(i).insertAdjacentElement(e>0?"afterend":"beforebegin",a)}function Re(a,e){return oe(a)-oe(e)}function oe(a){return a.type==="copy"||a.type==="remove"?0:1}
12const M={Template:0,UrlRedirect:2,Script:3,Price:5},De="data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.96001%207.90004C9.86501%207.90004%209.77001%207.86504%209.69501%207.79004L6.43501%204.53004C6.19501%204.29004%205.80501%204.29004%205.56501%204.53004L2.30501%207.79004C2.16001%207.93504%201.92001%207.93504%201.77501%207.79004C1.63001%207.64504%201.63001%207.40504%201.77501%207.26004L5.03501%204.00004C5.56501%203.47004%206.43001%203.47004%206.96501%204.00004L10.225%207.26004C10.37%207.40504%2010.37%207.64504%2010.225%207.79004C10.15%207.86004%2010.055%207.90004%209.96001%207.90004Z'%20fill='white'/%3e%3c/svg%3e",Ve="data:image/svg+xml,%3csvg%20width='14'%20height='24'%20viewBox='0%200%2014%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.3976%2014.5255C12.2833%2013.8788%2012.0498%2013.3024%2011.6952%2012.7961C11.3416%2012.2898%2010.9209%2011.8353%2010.4353%2011.4317C9.94868%2011.0291%209.43546%2010.6488%208.89565%2010.292C8.48487%2010.049%208.09577%209.78565%207.72637%209.50402C7.35697%209.2224%207.08016%208.89503%206.89694%208.51987C6.71273%208.14471%206.67826%207.69533%206.79055%207.1697C6.86345%206.83216%206.97476%206.54647%207.12351%206.31162C7.27324%206.07778%207.47124%205.89986%207.7175%205.77684C7.96377%205.65483%208.21989%205.59383%208.48389%205.59383C8.88087%205.59383%209.17639%205.7016%209.3734%205.91714C9.56943%206.13268%209.68271%206.42345%209.71424%206.78946C9.74576%207.15547%209.72015%207.55401%209.63839%207.98509C9.55663%208.41617%209.43645%208.84724%209.27687%209.27934L13.5127%208.80149C13.9638%207.52656%2014.1017%206.42447%2013.9264%205.49725C13.751%204.56901%2013.2664%203.85122%2012.4724%203.34491C12.239%203.19648%2011.9779%203.07041%2011.6893%202.96569L12.0026%201.50979L9.86397%200L7.3875%201.50979L7.11169%202.78878C6.65166%202.8874%206.21724%203.01957%205.8114%203.19038C4.85292%203.594%204.06684%204.15115%203.45117%204.86385C2.83452%205.57655%202.42571%206.40108%202.22378%207.33847C2.06616%208.06947%202.04942%208.70796%202.17551%209.25087C2.30061%209.7948%202.52028%2010.2828%202.8355%2010.7139C3.14974%2011.145%203.51816%2011.5344%203.93977%2011.881C4.36039%2012.2288%204.782%2012.5521%205.20164%2012.851C5.68334%2013.1702%206.13844%2013.5169%206.56497%2013.8921C6.99052%2014.2672%207.31954%2014.7125%207.55004%2015.228C7.78055%2015.7445%207.81502%2016.3769%207.65347%2017.1262C7.56482%2017.5389%207.43676%2017.8765%207.27028%2018.1388C7.10381%2018.4011%206.89596%2018.5983%206.64772%2018.7295C6.3985%2018.8606%206.12071%2018.9267%205.8114%2018.9267C5.21641%2018.9267%204.79776%2018.6034%204.62833%2018.1632C4.4589%2017.7229%204.47367%2017.2583%204.60075%2016.5639C4.72782%2015.8705%205.05092%2015.1395%205.37107%2014.3699H1.17665C1.17665%2014.3699%200.207341%2016.1115%200.0310135%2017.6762C-0.0655232%2018.5302%200.0635208%2019.2653%200.41519%2019.8844C0.76686%2020.5036%201.33032%2020.9814%202.10655%2021.319C2.39222%2021.443%202.7104%2021.5447%203.05813%2021.623L2.54589%2024H7.17473L7.7047%2021.5386C8.08493%2021.442%208.43857%2021.3231%208.76562%2021.1787C9.73985%2020.7476%2010.52%2020.1427%2011.1071%2019.3649C11.6932%2018.5871%2012.0873%2017.7291%2012.2892%2016.7917C12.4744%2015.9295%2012.5099%2015.1741%2012.3966%2014.5275L12.3976%2014.5255Z'%20fill='white'/%3e%3c/svg%3e";async function Oe(a){let e=a.replace(/-/g,"+").replace(/_/g,"/");for(;e.length%4;)e+="=";const t=atob(e),i=Uint8Array.from(t,o=>
12o.charCodeAt(0)),s=new Blob([i]).stream().pipeThrough(new DecompressionStream("gzip")),r=await new Response(s).text();return JSON.parse(r)}function F(a,e){return typeof e=="string"&&/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d+(?:Z|[+-]\d+)/.test(e)?new Date(e):e}function ee(a,e){return e}function q(a,e=!1,t=!1,i=","){const s=a/100;if(t){const o=Math.round(s).toLocaleString("en-US");return i!==","?o.replace(/,/g,i):o}else{const r=e?",":".",o=s.toFixed(2).split("."),n=parseInt(o[0],10),l=o[1]??"00",c=n.toLocaleString("en-US");return i!==","?`${c.replace(/,/g,i)}${r}${l}`:e?`${c.replace(/,/g,".")}${r}${l}`:`${c}${r}${l}`}}function H(a,e,t,i){const s=e.replace("{{amount}}",q(a,!1,!1)).replace("{{amount_no_decimals}}",q(a,!1,!0)).replace("{{amount_with_comma_separator}}",q(a,!0,!1)).replace("{{amount_no_decimals_with_comma_separator}}",q(a,!0,!0)).replace("{{amount_with_space_separator}}",q(a,!1,!1," ")).replace("{{amount_no_decimals_with_space_separator}}",q(a,!1,!0," ")).replace("{{amount_with_apostrophe_separator}}",q(a,!1,!1,"'")).replace("{{amount_no_decimals_with_apostrophe_separator}}",q(a,!1,!0,"'")).replace("{{amount_with_period_and_space_separator}}",q(a,!1,!1,". ")).replace("{{amount_no_decimals_with_period_and_space_separator}}",q(a,!1,!0,". "));return i?`${s} ${t}`:s}function ae(a){return a.replace(/[^\d.,\s-]/g,"").trim()}function j(a){const e=new Map;for(const[t,i,s]of a.variants)e.set(t,{priceInCents:i,compareAtPriceInCents:s});return e}function Le(a,e,t,i){const{priceInCents:s,compareAtPriceInCents:r}=t,{moneyFormat:o,currency:n,currencyCodeEnabled:l}=i;if(a.getAttribute("data-sl-attribute-p")===e)a.innerHTML=H(s,o,n,l);else if(a.getAttribute("data-sl-attribute-cap")===e)r<=0||r<=s?a.remove():a.innerHTML=H(r,o,n,l);else if(a.getAttribute("data-sl-attribute-discount")===e&&!(r<=0||r<=s)){const d=Math.round((r-s)/r*100),u=ae(H(r-s,o,n,!1)),h=a.getAttribute("data-sl-format")||"percent";h==="percent"?a.textContent=`-${d}%`:h==="amount"?a.textContent=`-${u}`:h==="both"&&(a.textContent=`-${d}% (-${u})`)}}function $e(a){const e=[],t={id:"url-pattern",operator:"contains",value:"/"};for(const[i,s,r]of a.variants){e.push({id:`p-${i}`,cssSelector:`[data-sl-attribute-p="${i}"]`,urlPatterns:[t],actions:[{id:`p-action-${i}`,type:"innerHtml",scope:"price",value:H(s,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]});const o=r<=0||r<=s;if(e.push({id:`cap-${i}`,cssSelector:`[data-sl-attribute-cap="${i}"]`,urlPatterns:[t],actions:[{id:`cap-action-${i}`,type:o?"remove":"innerHtml",scope:"compare-at-price",value:o?"":H(r,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]}),!o&&r>s){const n=Math.round((r-s)/r*100),l=ae(H(r-s,a.moneyFormat,a.currency,!1));e.push({id:`d-${i}`,cssSelector:`[data-sl-attribute-discount="${i}"]`,urlPatterns:[t],actions:[{id:`d-action-${i}`,type:"js",scope:null,value:`var format = element.getAttribute('data-sl-format') || 'percent'; if (format === 'percent') { element.textContent = '-${n}%'; } else if (format === 'amount') { element.textContent = '-${l}'; } else if (format === 'both') { element.textContent = '-${n}% (-${l})'; }`}]})}}return e}const Me=a=>{let e=5381;for(let t=0;t<a.length;t++)e=(e*33^a.charCodeAt(t))>>>0;return e.toString(36)},qe=()=>Math.random().toString(36).slice(2,10)+Date.now().toString(36).slice(-4),He=a=>btoa(JSON.stringify(a)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),K=a=>a.replace(/#slr-[a-z0-9]+$/,""),tt="modulepreload",it=function(a){return"/"+a},st={},Ne=function(e,t,i){let s=Promise.resolve();function r(o){const n=new Event("vite:preloadError",{cancelable:!0});if(n.payload=o,window.dispatchEvent(n),!n.defaultPrevented)throw o}return s.then(o=>{for(const n of o||[])n.status==="rejected"&&r(n.reason);return e().catch(r)})};function le(a,e,t){const i=t?a.plans.filter(c=>!c.variantId||c.variantId===t):a.plans,s=[],r=[];for(const c of i)c.direction==="decrease"?(s.push(c.existingShopifyPlanId),r.push(c.createdShopifyPlanId)):(s.push(c.createdShopifyPlanId),r.push(c.existingShopifyPlanId));const o=e?s:r,n=e?r:s;if(t)for(const c of a.plans)for(const d of[c.existingShopifyPlanId,c.createdShopifyPlanId])d&&!o.includes(d)&&!n.includes(d)&&n.push(d);const l={};for(let c=0;c<n.length;c++){const d=n[c],u=o[c];d&&u&&(l[d]=u)}return{showPlanIds:o,hidePlanIds:n,swapMap:l}}function ce(a,e,t){const i=e?a.plans.find(r=>r.variantId===e):void 0;if(i)return i.direction;if(t){const r=a.plans.find(o=>o.productId===t);if(r)return r.direction}return a.plans.find(r=>!r.variantId)?.direction??null}function J(a,e){const t=e?a.plans.filter(r=>!r.productId||r.productId===e):a.plans,i={};for(const r of t)i[r.existingShopifyPlanId]=r.existingDiscountAmount,i[r.createdShopifyPlanId]=r.existingDiscountAmount;
12const s=Math.max(...Object.values(i),0);return{discountMap:i,maxDiscount:s}}function W(a){const e=document.querySelector('form[action*="/cart/add"] input[name="product-id"]')?.value;if(e)return e;if(a){for(const r of Array.from(document.querySelectorAll("[data-sl-attribute-p]"))){const o=r.getAttribute("data-sl-attribute-p");if(!o)continue;const n=a.variants.find(l=>l[0]===o);if(n?.[3])return n[3]}const s=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(s){const r=a.variants.find(o=>o[0]===s);if(r?.[3])return r[3]}}const t=window,i=t.ShopifyAnalytics?.meta?.product?.id??t.meta?.product?.id;return i!=null?String(i):null}function D(a,e){return a.widget.selectors[e]??[]}function N(a,e){return a.replace(/[\d.]+%/,`${e}%`)}function $(a,e){const t=document.createTreeWalker(a,NodeFilter.SHOW_TEXT);let i=t.nextNode();for(;i;){if(i.nodeValue!==null){const s=e(i.nodeValue);if(s!==i.nodeValue){i.nodeValue=s;return}}i=t.nextNode()}}function de(a,e){return a===null?!1:a==="decrease"?!e:e}async function Ue(a){if(a.subscriptionSwapDone)return;const e=a.getActiveAssignment();if(!e)return;const t=a.getHypothesis(e.hypothesisId);if(!t?.subscriptionData)return;a.subscriptionSwapDone=!0;const i=t.subscriptionData,s=t.isControl,r=[...new Set(i.plans.map(d=>d.direction))].join(",");a.log(`[SUB-SWAP] ${s?"A":"B"} side, directions=${r}`);const o=i.plans.some(d=>d.variantId);let n=!1,l=!1;function c(){if(!l){l=!0;try{const d=o?document.querySelector("select[name='id'], input[name='id']")?.value:void 0,{showPlanIds:u,hidePlanIds:h,swapMap:p}=le(i,s,d);a.swapMap=p;const b=D(i,"widgetParent"),E=D(i,"subscriptionPlans"),S=D(i,"subscriptionInput");if(!b.length||!E.length||!S.length)return;const C=document.querySelector(b[0].selector);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(E[0].selector);if(!_?.shadowRoot)return;const T=S[0].selector;let m=null;if(i.widget.widgetType==="buttons"||i.widget.widgetType==="radio"){const y=Array.from(_.shadowRoot.querySelectorAll(T));if(!y.length)return;for(const v of y){const g=v.closest("label");g&&(u.includes(v.value)?g.style.display="":h.includes(v.value)&&(g.style.display="none"))}const w=y.some(v=>u.includes(v.value)&&v.checked),I=y.some(v=>h.includes(v.value)&&v.checked);if((w||I)&&(n=!1),!w&&!n){n=!0;for(const v of y)if(u.includes(v.value)){v.closest("label")?.click(),v.dispatchEvent(new Event("change",{bubbles:!0}));break}}const f=y.find(v=>v.checked);m=f&&u.includes(f.value)?f.value:u[0]??null}else if(i.widget.widgetType==="dropdown"){const y=_.shadowRoot.querySelector("select");if(!y)return;for(const w of Array.from(y.options))h.includes(w.value)&&(w.style.display="none",w.disabled=!0);if(h.includes(y.value)){const w=Array.from(y.options).find(I=>u.includes(I.value));w&&(y.value=w.value,y.dispatchEvent(new Event("change",{bubbles:!0})))}m=u.includes(y.value)?y.value:u[0]??null}if(m){const y=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const w of y)w.value!==m&&(w.value=m)}}finally{l=!1}}}if(a.subscriptionHideWrongPlans=c,a.swapMap=le(i,s).swapMap,c(),o){const d=document.querySelector("select[name='id'], input[name='id']");d&&d.addEventListener("change",c)}}function B(a){const e=D(a,"widgetParent");return e.length?document.querySelector(e[0].selector)?.shadowRoot??null:null}function Y(a,e){const t=D(a,"subscriptionPlans");return t.length?e.querySelector(t[0].selector)?.shadowRoot??null:null}function Z(a,e){const t=new URLSearchParams(window.location.search).get("variant");if(t)return t;{const i=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(i)return i}return a.size>0?[...a.keys()][0]:void 0}function G(a,e){return H(a,e.moneyFormat,e.currency,e.currencyCodeEnabled)}function Fe({originalFetch:a,swapMap:e,slptValue:t,getSelectedPlanId:i,log:s}){if(window.fetch.__shoplift_intercepted)return s("[SUB-INTERCEPT] already installed â skipping"),()=>{};function r(n){if(i){const l=i();if(l)return e[l]??l}return e[n]??n}const o=function(n,l){if((typeof n=="string"?n:n instanceof URL?n.href:n.url).includes("/cart/add")&&l?.body)try{if(l.body instanceof FormData){const d=l.body.get("selling_plan");d?l.body.set("selling_plan",r(String(d))):(!d||d==="")&&t&&l.body.set("properties[_slpt]",t)}
12else if(typeof l.body=="string"){const d=JSON.parse(l.body);if(d.items)for(const u of d.items){const h=String(u.selling_plan??"");h?u.selling_plan=r(h):!u.selling_plan&&t&&(u.properties||(u.properties={}),u.properties._slpt=t)}else if(d.id){const u=String(d.selling_plan??"");u?d.selling_plan=r(u):!d.selling_plan&&t&&(d.properties||(d.properties={}),d.properties._slpt=t)}l.body=JSON.stringify(d)}}catch(d){s("[SUB-INTERCEPT] body parse failed; cart-add proceeds with un-swapped plan",d)}return a.call(window,n,l)};return o.__shoplift_intercepted=!0,window.fetch=o,function(){window.fetch===o&&(window.fetch=a)}}function Be({log:a}){if(window.fetch.__shoplift_intercepted)return a("[SUB-PREVIEW-BLOCK] already installed â skipping"),()=>{};const e=window.fetch,t=function(i,s){const r=typeof i=="string"?i:i instanceof URL?i.href:i.url;return r.includes("/cart/add")?(a("[SUB-PREVIEW-BLOCK] cart-add blocked in preview mode",{url:r}),Promise.resolve(new Response(JSON.stringify({id:0,properties:{},quantity:0,variant_id:0,key:"preview",title:"Preview â cart-add blocked",price:0,original_price:0,line_price:0,original_line_price:0,total_discount:0,discounts:[],preview:!0}),{status:200,headers:{"Content-Type":"application/json"}}))):e.call(window,i,s)};return t.__shoplift_intercepted=!0,window.fetch=t,function(){window.fetch===t&&(window.fetch=e)}}function pe({data:a,runUpdates:e,debounceMs:t=150}){let i=null;function s(){i&&clearTimeout(i),e(),i=setTimeout(e,t)}let r=null;const o=[],n={childList:!0,subtree:!0,characterData:!0,attributes:!0};function l(h){for(const p of o)p.disconnect();o.length=0;for(const p of Array.from(h.querySelectorAll("*")))if(p.shadowRoot){const b=new MutationObserver(s);b.observe(p.shadowRoot,n),o.push(b)}}function c(){const h=B(a);return h?(r&&r.disconnect(),l(h),r=new MutationObserver(p=>{p.some(b=>b.type==="childList"&&b.addedNodes.length>0)&&l(h),s()}),r.observe(h,n),!0):!1}const d=document.body||document.documentElement,u=new MutationObserver(()=>{c()&&s()});return u.observe(d,{childList:!0,subtree:!0}),c()&&s(),e(),function(){i&&(clearTimeout(i),i=null),u.disconnect(),r&&(r.disconnect(),r=null);for(const p of o)p.disconnect();o.length=0}}async function ze(a){if(a.subscriptionPriceDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=t?.subscriptionData?null:a.findActiveSubscriptionTestControl(),s=t?.subscriptionData?t:i?.hypothesis;if(!s?.subscriptionData)return;const r=t?.subscriptionData?e.testId:i.testId;a.subscriptionPriceDone=!0;const o=s.subscriptionData,n=s.isControl,l=s.priceData,c=o.widget.widgetType;let d=W(l),u=J(o,d),h=u.discountMap,p=u.maxDiscount;function b(){const g=W(l);g!==d&&(d=g,u=J(o,d),h=u.discountMap,p=u.maxDiscount,a.log(`[SUB-PRICE] scope refreshed side=${n?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${p}`))}a.log(`[SUB-PRICE] side=${n?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${p}`),a.updatePriceTestHiddenInputs(r,n?"control":"variant",!1);function E(){if(!l)return null;const g=j(l),P=Z(g),A=ce(o,P,d);if(!de(A,n))return null;const k=P?g.get(P):void 0;return k?{formattedVariantPrice:G(k.priceInCents,l),formattedDiscounted:G(k.priceInCents*(1-p/100),l)}:null}Fe({originalFetch:a.fetch,swapMap:a.swapMap??{},slptValue:a.slptValue??void 0,log:a.log,getSelectedPlanId:()=>{const g=B(o);if(!g)return null;const P=Y(o,g);if(!P)return null;const A=D(o,"subscriptionInput"),k=A.length?A[0].selector:'input[name="rc_plan"]';return P.querySelector(`${k}:checked`)?.value??null}});function S(g){const P=D(o,"subscriptionDiscount");for(const A of P)if(A.selector.includes("badge")||A.selector.includes("__badge")){const k=g.querySelector(A.selector);k?.textContent&&!k.textContent.includes(`${p}%`)&&$(k,x=>N(x,p))}}function C(g){const P=E();if(!P)return;const A=D(o,"subscriptionCompareAt");for(const k of A){const x=g.querySelector(k.selector)||g.querySelector(`[part~="${k.selector}"]`);x?.textContent&&!x.textContent.includes(P.formattedVariantPrice)&&$(x,R=>/\d/.test(R)?P.formattedVariantPrice:R)}}function _(g,P){const A=D(o,"subscriptionCompareAt"),k=P===0?"none":"";for(const x of A){const R=g.querySelector(x.selector)||g.querySelector(`[part~="${x.selector}"]`);R&&(k==="none"?R.style.display!=="none"&&(R.style.display="none"):R.style.display==="none"&&(R.style.display=""))}}function T(g){const P=D(o,"subscriptionInput"),A=P.length?P[0].selector:'input[name="rc_plan"]',k=D(o,"subscriptionPlanDiscount"),x=k.length?k[0].selector:".rc-plans-button__discount";for(const R of Array.from(g.querySelectorAll("label"))){const O=R.querySelector(A),V=R.querySelector(x);
12if(O&&V){const L=h[O.value];if(L!==void 0){if(L===0)V.style.display!=="none"&&(V.style.display="none");else if(V.style.display==="none"&&(V.style.display=""),V.textContent){const Q=V.textContent.match(/[\d.]+%/)?.[0];Q&&Q!==`${L}%`&&$(V,et=>N(et,L))}}}}}function m(g){const P=g.querySelector("select");if(P)for(const A of Array.from(P.options)){const k=h[A.value];if(k!==void 0&&A.textContent){const x=A.textContent.match(/[\d.]+%/)?.[0];x&&x!==`${k}%`&&(A.textContent=N(A.textContent,k))}}}function y(g,P){const k=D(o,"subscriptionDiscount").filter(x=>x.selector.includes("benefit")||x.selector==="rc-benefits");for(const x of k){const R=g.querySelector(x.selector);if(R?.shadowRoot){for(const O of Array.from(R.shadowRoot.querySelectorAll("li")))if(O.textContent?.includes("Save")){const V=O;if(P===0)V.style.display!=="none"&&(V.style.display="none");else{V.style.display==="none"&&(V.style.display="");const L=O.textContent.match(/[\d.]+%/)?.[0];L&&L!==`${P}%`&&$(O,Q=>N(Q,P))}}}}}let w=!1;function I(){if(!w){w=!0;try{if(b(),d!==null&&Object.keys(h).length===0)return;const g=B(o);if(!g)return;S(g),l&&C(g);const P=Y(o,g);let A=p;if(P){const k=D(o,"subscriptionInput"),x=k.length?k[0].selector:'input[name="rc_plan"]',R=P.querySelector(`${x}:checked`);if(R){const O=h[R.value];O!==void 0&&(A=O)}c==="buttons"||c==="radio"?T(P):m(P)}_(g,A),y(g,A)}finally{w=!1}}}function f(){const g=E();if(!g)return;const P=B(o);if(!P)return;const A=D(o,"onetimeToggle"),k=A.length?A[0].selector:'input[value="onetime"]';if(!P.querySelector(k)?.checked)return;const R=D(o,"subscriptionPrice");for(const O of R){const V=P.querySelector(O.selector)||P.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(g.formattedDiscounted)&&$(V,L=>/\d/.test(L)?g.formattedDiscounted:L)}}function v(){a.subscriptionHideWrongPlans&&a.subscriptionHideWrongPlans(),I(),a.subscriptionUpdateOneTime&&a.subscriptionUpdateOneTime(),f()}pe({data:o,runUpdates:v})}async function We(a){if(a.subscriptionOneTimeDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=!!(t?.subscriptionData&&t.priceData),s=i?null:a.findActiveSubscriptionTestControl(),r=i?t:s?.hypothesis;if(!r?.subscriptionData||!r.priceData)return;const o=i?e.testId:s.testId;a.subscriptionOneTimeDone=!0;const n=r.subscriptionData,l=r.priceData,c=j(l),d=r.isControl,u=d?"control":"variant";a.slptValue=`${o}:${u}:f`,a.updatePriceTestHiddenInputs(o,u,!1);function h(){const p=B(n);if(!p)return;const b=Z(c);if(!b)return;const E=W(l),S=ce(n,b,E);if(!de(S,d))return;const C=c.get(b);if(!C)return;const _=H(C.priceInCents,l.moneyFormat,l.currency,l.currencyCodeEnabled),T=D(n,"onetimePrice");if(!T.length)return;const m=D(n,"onetimeContainer"),y=m.length?m[0].selector:'[part~="rc-purchase-option__onetime"]',I=p.querySelector(y)??p;for(const f of T){let v=null;try{v=I.querySelector(f.selector)}catch{v=null}v??=I.querySelector(`[part~="${f.selector}"]`),v&&v.textContent&&!v.textContent.includes(_)&&$(v,g=>/\d/.test(g)?_:g)}}a.subscriptionUpdateOneTime=h,h()}async function Ge(a,e){const{subscriptionPreviewRender:t}=await Ne(async()=>{const{subscriptionPreviewRender:i}=await Promise.resolve().then(()=>Xe);return{subscriptionPreviewRender:i}},void 0);return t(a.subscriptionData,a.priceData,a.isControl,e)}function je(a,e){const t=a.widget.selectors.widgetParent??[],i=a.widget.selectors.subscriptionPlans??[],s=a.widget.selectors.subscriptionInput??[];if(!t.length||!i.length||!s.length){e("[SUB-GLOBAL-HIDE] Missing required selectors â skipping");return}const r=t[0].selector,o=i[0].selector,n=s[0].selector;let l=!1,c=null,d=!1;function u(){if(!d){d=!0;try{h()}finally{d=!1}}}function h(){const C=document.querySelector(r);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(o);if(!_?.shadowRoot)return;_.shadowRoot!==c&&(c=_.shadowRoot,l=!1);let T=0;if(a.widget.widgetType==="buttons"||a.widget.widgetType==="radio"){const m=Array.from(_.shadowRoot.querySelectorAll(n));for(const f of m)if(a.planIds.includes(f.value)){f.disabled||(f.disabled=!0);const v=f.closest("label");v&&v.style.display!=="none"&&(v.style.display="none",T++)}const y=m.filter(f=>!a.planIds.includes(f.value));if(!y.some(f=>f.checked)&&!l&&y.length>0){l=!0;const f=y[0];f.closest("label")?.click(),f.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible plan input=${f.value}`)}const I=y.find(f=>f.checked)??y[0];
12if(I){const f=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const v of f)v.value!==I.value&&(v.value=I.value,e(`[SUB-GLOBAL-HIDE] Mirrored plan id ${I.value} to form selling_plan input`))}}else if(a.widget.widgetType==="dropdown"){const m=_.shadowRoot.querySelector("select");if(!m)return;for(const I of Array.from(m.options))a.planIds.includes(I.value)&&(I.style.display!=="none"&&(I.style.display="none"),I.disabled||(I.disabled=!0),T++);const y=Array.from(m.options).filter(I=>!a.planIds.includes(I.value)),w=y.some(I=>I.value===m.value);y.length>0&&!w&&!l&&(l=!0,m.value=y[0].value,m.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible option=${y[0].value}`))}T>0&&e(`[SUB-GLOBAL-HIDE] Hidden ${T} B-side plan buttons`)}const p={childList:!0,subtree:!0,characterData:!0};let b=null;function E(C){b?.disconnect(),b=new MutationObserver(()=>u()),b.observe(C,p)}function S(){const C=document.querySelector(r);if(!C?.shadowRoot)return!1;u(),new MutationObserver(()=>{u();const m=C.shadowRoot.querySelector(o);m?.shadowRoot&&E(m.shadowRoot)}).observe(C.shadowRoot,p);const T=C.shadowRoot.querySelector(o);return T?.shadowRoot&&E(T.shadowRoot),!0}if(!S()){e("[SUB-GLOBAL-HIDE] Widget not in DOM yet â waiting via MutationObserver");const C=new MutationObserver(()=>{S()&&C.disconnect()});C.observe(document.body??document.documentElement,{childList:!0,subtree:!0})}}const ue="Limited preview",Ke="Add-to-cart and checkout prices won't reflect this test until it launches â test selling plans are not created in your subscription app until after a test is launched.",Je=5e3;function Ye(){const a=document.createElement("div");a.id="shoplift-preview-subscription-warning";const e=document.createElement("span");e.id="shoplift-preview-subscription-warning__icon",e.setAttribute("aria-hidden","true"),e.textContent="!";const t=document.createElement("span");t.id="shoplift-preview-subscription-warning__label",t.textContent=ue;const i=document.createElement("div");i.id="shoplift-preview-subscription-warning__tooltip",i.setAttribute("role","tooltip"),i.textContent=Ke,a.appendChild(e),a.appendChild(t),a.appendChild(i),a.setAttribute("tabindex","0"),a.setAttribute("aria-describedby",i.id),a.setAttribute("aria-label",ue);let s=null;function r(){s!==null&&(clearTimeout(s),s=null)}function o(){i.classList.add("shoplift-preview-subscription-warning__tooltip--visible")}function n(){i.classList.remove("shoplift-preview-subscription-warning__tooltip--visible")}function l(){o(),r(),s=setTimeout(()=>{n(),s=null},Je)}function c(){r(),o()}function d(){s===null&&n()}a.addEventListener("mouseenter",c),a.addEventListener("mouseleave",d),a.addEventListener("focus",c),a.addEventListener("blur",d);function u(p){try{const b=p.target;if(!(b instanceof Element))return;(b.closest('form[action*="/cart/add"] button[type="submit"], form[action*="/cart/add"] input[type="submit"]')!==null||b.closest('[name="add"], button[name="add"], [data-add-to-cart], button[data-add-to-cart]')!==null)&&l()}catch{}}document.addEventListener("click",u,!0);function h(){r(),document.removeEventListener("click",u,!0),a.removeEventListener("mouseenter",c),a.removeEventListener("mouseleave",d),a.removeEventListener("focus",c),a.removeEventListener("blur",d),a.remove()}return{root:a,tooltip:i,cleanup:h}}let he=!1;class Ze{DATA_SL_ATTRIBUTE_P="data-sl-attribute-p";DATA_SL_TEST_ID="data-sl-test-id";VIEWPORT_TRACK_THRESHOLD=.5;temporarySessionKey="Shoplift_Session";essentialSessionKey="Shoplift_Essential";analyticsSessionKey="Shoplift_Analytics";priceSelectorsSessionKey="Shoplift_PriceSelectors_v2";shop;host;eventHost;disableReferrerOverride;legacySessionKey;cssHideClass;testConfigs;inactiveTestConfigs;hiddenSubscriptionPlans;testsFilteredByAudience;sendPageView;shopliftDebug;gaConfig;telemetryEnabled;getCountryTimeout;geoViaShopify;resolvedRegion=null;state;subscriptionPreviewWarningCleanup=null;shopifyAnalyticsId;cookie=document.cookie;isSyncing=!1;isSyncingGA=!1;fetch;localStorageSet;localStorageGet;sessionStorageSet=window.sessionStorage.setItem.bind(window.sessionStorage);sessionStorageGet=window.sessionStorage.getItem.bind(window.sessionStorage);
12urlParams=new URLSearchParams(window.location.search);device;logHistory;activeViewportObservers=new Map;clientIdRetryCount=0;constructor(e,t,i,s,r,o,n,l,c,d,u,h,p,b=!1){this.shop=e,this.host=t,this.eventHost=i,this.disableReferrerOverride=l,this.logHistory=[],this.legacySessionKey=`SHOPLIFT_SESSION_${this.shop}`,this.cssHideClass=s?"shoplift-hide":"",this.testConfigs=u.map(S=>({...S,startAt:new Date(S.startAt),statusHistory:S.statusHistory.map(C=>({...C,createdAt:new Date(C.createdAt)}))})),this.inactiveTestConfigs=h,this.hiddenSubscriptionPlans=p,this.sendPageView=!!r,this.shopliftDebug=o===!0,this.telemetryEnabled=c===!0,this.geoViaShopify=b===!0,this.gaConfig=n!=={"sendEvents":false,"mode":"gtag"}?n:{sendEvents:!1},this.fetch=window.fetch.bind(window),this.localStorageSet=window.localStorage.setItem.bind(window.localStorage),this.localStorageGet=window.localStorage.getItem.bind(window.localStorage);const E=this.getDeviceType();this.device=E!=="tablet"?E:"mobile",this.state=this.loadState(),this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.testsFilteredByAudience=u.filter(S=>
12S.status=="active"),this.getCountryTimeout=d===1000?1e3:d,window.__slReadCookie=S=>{const C=this.getCookie(S);if(C===null)return null;try{return decodeURIComponent(C)}catch{return C}},this.log("State Loaded",JSON.stringify(this.state))}deriveCategoryFromExistingTests(){if(!this.state.temporary.testCategory&&this.state.essential.visitorTests.length>0){const e=this.state.essential.visitorTests.some(t=>{if(!t.hypothesisId)return!1;const i=this.getHypothesis(t.hypothesisId);return i&&["theme","basicScript","price"].includes(i.type)});this.state.temporary.testCategory=e?"global":"conditional",this.persistTemporaryState(),this.log("Derived test category from existing visitorTests: %s",this.state.temporary.testCategory)}}async init(){try{if(this.log("Shoplift script initializing"),window.Shopify&&window.Shopify.designMode){this.log("Skipping script for design mode");return}if(window.location.href.includes("slScreenshot=true")){this.log("Skipping script for screenshot");return}if(window.location.hostname.endsWith(".edgemesh.com")){this.log("Skipping script for preview");return}if(window.location.href.includes("isShopliftMerchant")){const o=this.urlParams.get("isShopliftMerchant")==="true";this.log("Setting merchant session to %s",o),this.state.temporary.isMerchant=o,this.persistTemporaryState()}if(this.state.temporary.isMerchant){this.log("Setting up preview for merchant"),typeof window.shoplift!="object"&&this.setShopliftStub(),this.state.temporary.previewConfig||this.hidePage(),await this.initPreview(),document.querySelector("#sl-preview-bar-hide")?.remove();return}if(this.state.temporary.previewConfig=void 0,we(navigator.userAgent))return;const e=Date.now(),t=!this.state.temporary.lastSeen||e-this.state.temporary.lastSeen>1800*1e3;(!this.state.temporary.entryPage||t)&&(this.state.temporary.entryPage=K(window.location.href)),this.state.temporary.lastSeen=e,this.persistTemporaryState(),window.__slEntryPage=this.state.temporary.entryPage??"";const i=this.state.essential.visitorTests.filter(o=>o.hypothesisId&&+o.createdAt>Date.now()-6e4);if(i.length===0)this.sendDiagnosticTelemetry("page-landed",null);else for(const o of i)this.sendDiagnosticTelemetry("page-landed",o.testId,{hypothesisId:o.hypothesisId,isControl:o.assignedTo==="control",testType:o.testType??"unknown"});if(navigator.userAgent.includes("Chrome/118")){this.log("Random: %o",[Math.random(),Math.random(),Math.random()]);const o=await this.makeRequest({url:`${this.eventHost}/api/v0/events/ip`,method:"get"}).then(n=>n?.json());this.log(`IP: ${o}`),this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify(this.debugState(),ee)}).catch()}if(this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.monitorConsentChange(),this.checkForThemePreview())return;if(!this.disableReferrerOverride&&this.state.temporary.originalReferrer!=null){this.log(`Overriding referrer from '${document.referrer}' to '${this.state.temporary.originalReferrer}'`);const o=this.state.temporary.originalReferrer;delete this.state.temporary.originalReferrer,this.persistTemporaryState(),Object.defineProperty(document,"referrer",{get:()=>o,enumerable:!0,configurable:!0})}if(await this.refreshVisitor(this.shopifyAnalyticsId),await this.handleVisitorTest()){this.log("Redirecting for visitor test");return}this.setShoplift(),this.showPage(),this.ensureCartAttributesForExistingPriceTests(!1);const r=this.state.essential.visitorTests.some(o=>(o.hypothesisId?this.getHypothesis(o.hypothesisId):void 0)?.subscriptionData!=null)||Object.values(this.state.temporary.testReservations??{}).some(o=>this.getHypothesis(o.hypothesisId)?.subscriptionData!=null);this.hiddenSubscriptionPlans&&!r&&(this.log(`[SUB-GLOBAL] Visitor not in subscription test â hiding ${this.hiddenSubscriptionPlans.planIds.length} B-side plans`),je(this.hiddenSubscriptionPlans,o=>this.log(o))),await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange(),await this.finalize(),console.log("SHOPLIFT SCRIPT INITIALIZED!")}catch(e){if(e instanceof ie)return;throw e}finally{typeof window.shoplift!="object"&&this.setShopliftStub()}}getVariantColor(e){switch(e){case"a":return{text:"#141414",bg:"#E2E2E2"};case"b":return{text:"rgba(255, 255, 255, 1)",bg:"rgba(37, 99, 235, 1)"}}}getDefaultVariantTitle(e){return e.title?e.title:e.type==="price"?e.isControl?"Original prices":"Variant prices":e.isControl?"Original":"Untitled variant "+e.label.toUpperCase()}
12async initPreview(){const e=this.urlParams.get("previewConfig");if(e){this.state.temporary.previewConfig=void 0,this.log("Setting up the preview"),this.log("Found preview config, writing to temporary state");const t=await Oe(e);if(this.state.temporary.previewConfig=t,this.state.temporary.previewConfig.testTypeCategory===M.Price){this.hidePage(!0);const s=this.state.temporary.previewConfig;let r=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/${s.isDraft||!1}`;s.shopifyProductId&&(r+=`?productId=${s.shopifyProductId}`);const o=await this.makeJsonRequest({method:"get",url:r}).catch(n=>(this.log("Error getting domSelectors",n),null));if(s.variants.forEach(n=>n.domSelectors=o[n.id]?.domSelectors),s.isDraft){const n=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/subscription-preview`,l=await this.makeJsonRequest({method:"get",url:n}).catch(c=>(this.log("No subscription preview data for draft (test may not have a subscription widget)",c),null));l?.subscriptionData&&s.variants.forEach(c=>{c.subscriptionData=l.subscriptionData,c.priceData=l.priceData})}}this.persistTemporaryState();const i=new URL(window.location.toString());i.searchParams.delete("previewConfig"),this.queueRedirect(i)}else if(this.state.temporary.previewConfig){this.showPage();const t=this.state.temporary.previewConfig;if(t.testTypeCategory===M.Template&&this.handleTemplatePreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.UrlRedirect&&this.handleUrlPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Script&&this.handleScriptPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Price){const i=await this.handlePricePreview(t);t.isDraft?await this.handleSubscriptionPricePreview(t):await this.handleSubscriptionLivePreview(t),i&&this.initPreviewControls(t)}}}initPreviewControls(e){document.addEventListener("DOMContentLoaded",()=>{const t=e.variants.find(b=>b.id===e.currentVariant),i=t?.label||"a",s=e.variants,r=document.createElement("div");r.id="shoplift-preview-control";const o=document.createElement("div"),n=document.createElement("img");n.src=Ve,n.height=24,n.width=14,o.style.padding="0 16px",o.style.lineHeight="100%",o.appendChild(n),r.appendChild(o);const l=document.createElement("div");l.id="shoplift-preview-variant-selector";const c=document.createElement("button");c.id="shoplift-preview-variant-menu-trigger";const d=document.createElement("div");d.className="menu-variant-label",d.style.backgroundColor=this.getVariantColor(i).bg,d.style.color=this.getVariantColor(i).text,d.innerText=i.toUpperCase(),c.appendChild(d);const u=document.createElement("span");if(u.id="shoplift-preview-variant-title",u.innerText=t?this.getDefaultVariantTitle(t):"Untitled variant "+i.toUpperCase(),c.appendChild(u),s.length>1){const b=document.createElement("img");b.src=De,b.width=12,b.height=12,b.style.height="12px",b.style.width="12px",c.appendChild(b);const E=document.createElement("div");E.className="preview-variant-menu";for(const S of e.variants.filter(C=>C.id!==e.currentVariant)){const C=document.createElement("div");C.className="preview-variant-menu--item";const _=document.createElement("div");_.className="menu-variant-label",_.style.backgroundColor=this.getVariantColor(S.label).bg,_.style.color=this.getVariantColor(S.label).text,_.style.flexShrink="0",_.innerText=S.label.toUpperCase(),C.appendChild(_);const T=document.createElement("span");T.innerText=this.getDefaultVariantTitle(S),C.appendChild(T),C.addEventListener("click",()=>{this.pickVariant(S.id)}),E.appendChild(C)}l.appendChild(E),c.addEventListener("click",()=>{E.className!=="preview-variant-menu preview-variant-menu__visible"?E.classList.add("preview-variant-menu__visible"):E.classList.remove("preview-variant-menu__visible")}),document.addEventListener("click",S=>{S.target instanceof Element&&!c.contains(S.target)&&E.className==="preview-variant-menu preview-variant-menu__visible"&&E.classList.remove("preview-variant-menu__visible")})}else c.style.pointerEvents="none",d.style.margin="0";if(l.appendChild(c),r.appendChild(l),e.hasSubscription){this.subscriptionPreviewWarningCleanup?.();const b=Ye();r.appendChild(b.root),this.subscriptionPreviewWarningCleanup=b.cleanup}const h=document.createElement("div"),p=document.createElement("button");p.id="shoplift-exit-preview-button",p.innerText="Exit",h.appendChild(p),p.addEventListener("click",()=>{this.exitPreview()}),r.appendChild(h),document.body.appendChild(r),requestAnimationFrame(()=>{r.classList.add("visible")})}),this.ensureCartAttributesForExistingPriceTests(!0)}pickVariant(e){if(this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig,i=new URL(window.location.toString());if(t.testTypeCategory===M.UrlRedirect){const s=t.variants.find(r=>r.id===t.currentVariant)?.redirectUrl;if(i.pathname===s){const r=t.variants.find(o=>o.id===e)?.redirectUrl;r&&(i.pathname=r)}}if(t.testTypeCategory===M.Template){const s=t.variants.find(r=>r.id===t.currentVariant)?.pathName;if(s&&i.pathname===s){const r=t.variants.find(o=>o.id===e)?.pathName;r&&r!==s&&(i.pathname=r)}}t.currentVariant=e,this.persistTemporaryState(),this.queueRedirect(i)}}exitPreview(){const e=new URL(window.location.toString());if(this.state.temporary.previewConfig?.testTypeCategory===M.Template&&e.searchParams.delete("view"),this.state.temporary.previewConfig?.testTypeCategory===M.Script&&e.searchParams.delete("slVariant"),this.state.temporary.previewConfig?.testTypeCategory===M.UrlRedirect){const i=this.state.temporary.previewConfig.variants.filter(r=>!r.isControl&&r.redirectUrl!==null).map(r=>r.redirectUrl),s=this.state.temporary.previewConfig.variants.find(r=>r.label==="a")?.redirectUrl;i.includes(e.pathname)&&s&&(e.pathname=s)}this.state.temporary.isMerchant=!1,e.searchParams.delete("isShopliftMerchant"),this.state.temporary.previewConfig=void 0,this.persistTemporaryState(),this.subscriptionPreviewWarningCleanup?.(),this.subscriptionPreviewWarningCleanup=null,this.hidePage(),this.queueRedirect(e)}handleTemplatePreview(e){const t=e.currentVariant,i=e.variants.find(l=>l.id===t);if(!i)return!1;const s=e.variants.find(l=>l.isControl);if(!s)return!1;this.log("Setting up template preview for type",s.type);
12const r=new URL(window.location.toString()),o=r.searchParams.get("view"),n=i.type===s.type;return!n&&!i.isControl&&template.suffix===s.affix&&this.typeFromTemplate()===s.type&&i.pathName!==null?(this.log("Hit control template type, redirecting to the variant url"),this.hidePage(),r.pathname=i.pathName,this.queueRedirect(r),!0):(!i.isControl&&this.typeFromTemplate()==i.type&&template.suffix===s.affix&&n&&o!==(i.affix||"__DEFAULT__")&&(this.log("Template type and affix match control, updating the view param"),r.searchParams.delete("view"),this.log("Setting the new viewParam to",i.affix||"__DEFAULT__"),this.hidePage(),r.searchParams.set("view",i.affix||"__DEFAULT__"),this.queueRedirect(r)),o!==null&&o!==(i.affix||"__DEFAULT__")&&(r.searchParams.delete("view"),this.hidePage(),this.queueRedirect(r)),!0)}handleUrlPreview(e){const t=e.currentVariant,i=e.variants.find(o=>o.id===t),s=e.variants.find(o=>o.isControl)?.redirectUrl;if(!i)return!1;this.log("Setting up URL redirect preview");const r=new URL(window.location.toString());return r.pathname===s&&!i.isControl&&i.redirectUrl!==null&&(this.log("Url matches control, redirecting"),this.hidePage(),r.pathname=i.redirectUrl,this.queueRedirect(r)),!0}handleScriptPreview(e){const t=e.currentVariant,i=e.variants.find(o=>o.id===t);if(!i)return!1;this.log("Setting up script preview");const s=new URL(window.location.toString());return s.searchParams.get("slVariant")!==i.id&&(this.log("current id doesn't match the variant, redirecting"),s.searchParams.delete("slVariant"),this.log("Setting the new slVariantParam"),this.hidePage(),s.searchParams.set("slVariant",i.id),this.queueRedirect(s)),!0}async handlePricePreview(e){const t=e.currentVariant,i=e.variants.find(s=>s.id===t);return i?(this.log("Setting up price preview"),i.domSelectors&&i.domSelectors.length>0&&(U(document,{testId:e.testId,hypothesisId:i.id,selectors:i.domSelectors}),this.ensureCartAttributesForExistingPriceTests(!0)),!0):!1}async handleSubscriptionPricePreview(e){const t=e.variants.find(i=>i.id===e.currentVariant);t?.subscriptionData&&(this.log("Setting up subscription price preview"),await Ge({id:t.id,isControl:t.isControl,subscriptionData:t.subscriptionData,priceData:t.priceData},(i,...s)=>this.log(i,...s)))}async handleSubscriptionLivePreview(e){this.testConfigs.find(s=>s.id===e.testId)?.hypotheses.find(s=>s.id===e.currentVariant)?.subscriptionData&&(this.log("Setting up subscription live preview"),this.subscriptionSwapDone=!1,this.subscriptionOneTimeDone=!1,this.subscriptionPriceDone=!1,await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange())}async finalize(){const e=await this.getCartState();e!==null&&this.queueCartUpdate(e),this.pruneStateAndSave(),await this.syncAllEvents()}setShoplift(){this.log("Setting up public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:async s=>{if(this.log("Script checking variant for hypothesis '%s'",s),t)return this.log("Forcing variant for hypothesis '%s'",s),!0;if(i!==null)return this.log("Forcing hypothesis '%s'",i),s===i;const r=this.testConfigs.find(n=>n.hypotheses.some(l=>l.id===s));if(!r)return this.log("No test found for hypothesis '%s'",s),!1;const o=this.state.essential.visitorTests.find(n=>n.testId===r.id);return o?(this.log("Active visitor test found",s),o.hypothesisId===s):(await this.manuallySplitVisitor(r),this.testConfigs.some(n=>n.hypotheses.some(l=>l.id===s&&this.state.essential.visitorTests.some(c=>c.hypothesisId===l.id))))},setAnalyticsConsent:async s=>{await this.onConsentChange(s,!0)},getVisitorData:()=>({visitor:this.state.analytics.visitor,visitorTests:this.state.essential.visitorTests.filter(s=>!s.isInvalid).map(s=>{const{shouldSendToGa:r,savedAt:o,...n}=s;return n})})}}setShopliftStub(){this.log("Setting up stubbed public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:s=>Promise.resolve(t||s===i),setAnalyticsConsent:()=>Promise.resolve(),getVisitorData:()=>({visitor:null,visitorTests:[]})}}async manuallySplitVisitor(e){this.log("Starting manual split for test '%s'",e.id),await this.handleVisitorTest([e]);const t=this.getReservationForTest(e.id);t&&!t.isRealized&&t.entryCriteriaKey&&(this.log("Realizing manual API reservation for test '%s'",e.id),this.realizeReservationForCriteria(t.entryCriteriaKey)),this.saveState(),this.syncAllEvents()}async handleVisitorTest(e){await this.filterTestsByAudience(this.testConfigs,this.state.analytics.visitor??this.buildBaseVisitor(),this.state.essential.visitorTests),this.pruneStaleVisitorTests(),this.deriveC
12ategoryFromExistingTests(),this.clearStaleReservations();let t=e?e.filter(i=>this.testsFilteredByAudience.some(s=>s.id===i.id)):[...this.testsForUrl(this.testsFilteredByAudience),...this.domTestsForUrl(this.testsFilteredByAudience)];try{if(t.length===0)return this.log("No tests found"),!1;this.log("Checking for existing visitor test on page");const i=this.getCurrentVisitorHypothesis(t);if(i){this.log("Found current visitor test");const l=this.considerRedirect(i);return l&&(this.log("Redirecting for current visitor test"),this.redirect(i)),l}const s=this.getReservationForCurrentPage();if(s){this.log("Found matching reservation for current page: %s",s.testId);const l=this.getHypothesis(s.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(s.entryCriteriaKey);const c=this.considerRedirect(l);return c&&this.redirect(l),c}}this.log("No active test relation for test page");const r=this.testsForUrl(this.inactiveTestConfigs.filter(l=>this.testIsPaused(l)&&l.hypotheses.some(c=>this.state.essential.visitorTests.some(d=>d.hypothesisId===c.id)))).map(l=>l.id);if(r.length>0)return this.log("Visitor has paused tests for test page, skipping test assignment: %o",r),!1;if(!this.state.temporary.testCategory){const l=this.testsFilteredByAudience.filter(d=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d))),c=this.testsFilteredByAudience.filter(d=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d)));if(this.log("Category dice roll - global tests: %o, conditional tests: %o",l.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)})),c.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)}))),l.length>0&&c.length>0){const d=l.length,u=c.length,h=d+u,p=Math.random()*h;this.state.temporary.testCategory=p<d?"global":"conditional",this.log("Category dice roll: rolled %.2f of %d (global weight: %d, conditional weight: %d), selected '%s'",p,h,d,u,this.state.temporary.testCategory)}else l.length>0?(this.state.temporary.testCategory="global",this.log("Only global tests available, setting category to global")):(this.state.temporary.testCategory="conditional",this.log("Only conditional tests available, setting category to conditional"));this.persistTemporaryState()}const o=this.state.temporary.testCategory;if(this.log("Visitor test category: %s",o),o==="global"){const l=this.testsFilteredByAudience.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:global");t=t.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}else{const l=this.testsFilteredByAudience.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:conditional");t=t.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}if(t.length===0)return this.log("No tests remaining after category filter"),!1;this.createReservations(t);const n=this.getReservationForCurrentPage();if(n&&!n.isRealized){const l=this.getHypothesis(n.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(n.entryCriteriaKey);const c=this.considerRedirect(l);return c&&(this.log("Redirecting for new test"),this.redirect(l)),c}}return!1}finally{this.includeInDomTests(),this.saveState()}}includeInDomTests(){this.applyControlForAudienceFilteredPriceTests();const e=this.getDomTestsForCurrentUrl(),t=this.getVisitorDomHypothesis(e);for(const i of e){this.log("Evaluating dom test '%s'",i.id);const s=i.hypotheses.some(p=>p.type==="price");if(this.state.essential.visitorTests.find(p=>p.testId===i.id&&p.isInvalid&&!p.hypothesisId)){if(this.log("Visitor is blocked from test '%s', applying control prices if price test",i.id),s){const p=i.hypotheses.find(b=>b.isControl);p?.priceData&&(this.applyPriceTestWithMapLookup(i.id,p,[p],()=>{this.log("Control prices applied for blocked visitor, no metrics tracked")}),this.updatePriceTestHiddenInputs(i.id,"control",!1))}continue}const o=this.getReservationForTest(i.id);let n=null,l=!1;const c=t.find(p=>i.hypotheses.some(b=>p.id===b.id));if(o)n=this.getHypothesis(o.hypothesisId)??null,this.log("Using reserved hypothesis '%s' for test '%s'",o.hypothesisId,i.id);else if(c)n=c,this.log("Using existing hypothesis assignment for test '%s'",i.id);else if(s){const p=this.visitorActiveTestTypeWithReservations();p?(l=!0,this.log("Visitor already in test type '%s', treating as non-test for price test '%s'",p,i.id)):n=this.pickHypothesis(i)}else n=this.pickHypothesis(i);if(l&&s){const p=i.hypotheses.find(b=>b.isControl);p?.priceData&&(this.log("Applying control prices for non-test visitor on price test '%s' (Map-based)",i.id),this.applyPriceTestWithMapLookup(i.id,p,[p],()=>{this.log("Control prices applied for non-test visitor, no metrics tracked")}
12),this.updatePriceTestHiddenInputs(i.id,"control",!1));continue}if(!n){this.log("Failed to pick hypothesis for test");continue}this.sendDiagnosticTelemetry("assignment",i.id,{hypothesisId:n.id,isControl:n.isControl,testType:n.type});const d=i.bayesianRevision??4,u=n.type==="price",h=d>=5;if(u&&h){if(this.log(`Price test with Map-based lookup (v${d}): ${i.id}`),!n.priceData){this.log("No price data for hypothesis '%s', skipping",n.id);continue}const p=n.isControl?"control":"variant";this.log(`Setting up Map-based price test for ${p} (test: ${i.id})`),this.applyPriceTestWithMapLookup(i.id,n,i.hypotheses,b=>{const E=this.getReservationForTest(b);E&&!E.isRealized&&E.entryCriteriaKey?this.realizeReservationForCriteria(E.entryCriteriaKey):this.queueAddVisitorToTest(b,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(u&&!h){this.log(`Price test without viewport tracking (v${d}): ${i.id}`);const p=this.getDomSelectorsForHypothesis(n);if(p.length===0)continue;U(document,{testId:i.id,hypothesisId:n.id,selectors:p},b=>{this.queueAddVisitorToTest(b,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(!n.domSelectors||n.domSelectors.length===0){this.log("No selectors found, skipping hypothesis");continue}U(document,{testId:i.id,hypothesisId:n.id,selectors:n.domSelectors},p=>{this.queueAddVisitorToTest(p,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()})}}considerRedirect(e){if(this.log("Considering redirect for hypothesis '%s'",e.id),e.isControl)return this.log("Skipping redirect for control"),!1;if(e.type==="basicScript"||e.type==="manualScript")return this.log("Skipping redirect for script test"),!1;const t=this.state.essential.visitorTests.find(o=>o.hypothesisId===e.id),i=new URL(window.location.toString()),r=new URLSearchParams(window.location.search).get("view");if(e.type==="theme"){if(!(e.themeId===themeId)){if(this.log("Theme id '%s' is not hypothesis theme ID '%s'",e.themeId,themeId),this.isAppProxyPath())return this.log("On App Proxy path, skipping theme redirect to avoid infinite loop"),!1;if(t&&t.themeId!==e.themeId&&(t.themeId===themeId||!this.isThemePreview()))this.log("On old theme, redirecting and updating local visitor"),t.themeId=e.themeId;else if(this.isThemePreview())return this.log("On non-test theme, skipping redirect"),!1;return this.log("Hiding page to redirect for theme test"),this.hidePage(),!0}return!1}else if(e.type!=="dom"&&e.type!=="price"&&e.affix!==template.suffix&&e.affix!==r||e.redirectPath&&!i.pathname.endsWith(e.redirectPath))return this.log("Hiding page to redirect for template test"),this.hidePage(),!0;return this.log("Not redirecting"),!1}redirect(e){if(this.log("Redirecting to hypothesis '%s'",e.id),e.isControl)return;const t=new URL(window.location.toString());if(t.searchParams.delete("view"),e.redirectPath){const n=RegExp("^(/w{2}-w{2})/").exec(t.pathname);if(n&&n.length>1){const l=n[1];t.pathname=`${l}${e.redirectPath}`}else t.pathname=e.redirectPath}else e.type==="theme"?(t.searchParams.set("_ab","0"),t.searchParams.set("_fd","0"),t.searchParams.set("_sc","1"),t.searchParams.set("preview_theme_id",e.themeId.toString())):e.type!=="urlRedirect"&&t.searchParams.set("view",e.affix);const i=this.state.essential.visitorTests.find(n=>n.hypothesisId===e.id)?.testId,s=t.pathname+t.search,r=window.location.pathname+window.location.search,o=K(t.hash);if(i&&s!==r&&!o){const n=qe(),l=He({v:2,t:i,n,fh:Me(window.location.pathname+window.location.search)});t.hash=`slr-${n}`;const c=new Date(Date.now()+3e4).toUTCString();document.cookie=`shoplift_redirect=${l};domain=.${window.location.hostname};path=/;SameSite=Strict;expires=${c}`}s===r&&this.showPage(),this.queueRedirect(t)}async refreshVisitor(e){if(e===null||!this.state.essential.isFirstLoad||!this.testConfigs.some(i=>i.visitorOption!=="all"))return;this.log("Refreshing visitor"),this.hidePage();const t=await this.getVisitor(e);t&&t.id&&this.updateLocalVisitor(t)}buildBaseVisitor(){return{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.device,country:null,...this.state.essential.initialState}}getInitialState(){const e=this.getUTMValue("utm_source")??"",t=this.getUTMValue("utm_medium")??"",i=this.getUTMValue("utm_campaign")??"",s=this.getUTMValue("utm_content")??"",r=window.document.referrer,o=this.device;return{createdAt:new Date,utmSource:e,utmMedium:t,utmCampaign:i,utmContent:s,referrer:r,device:o}}checkForThemePreview(){return this.log("Checking for theme preview"),window.location.hostname.endsWith(".shopifypreview.com")?(this.log("on shopify preview domain"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!1):this.isThemePreview()?this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("On active theme test, remov
12ing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&!this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("Visitor is on an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.state.essential.isFirstLoad?(this.log("No visitor found on theme preview, redirecting to main theme"),this.redirectToMainTheme(),!0):this.inactiveTestConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Current theme is an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.testConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Falling back to clearing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):(this.log("No tests on current theme, skipping script"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!0):(this.log("Not on theme preview"),this.clearThemeBar(!0,!1,this.state),!1)}redirectToMainTheme(){this.hidePage();const e=new URL(window.location.toString());e.searchParams.set("preview_theme_id",""),this.queueRedirect(e)}testsForUrl(e){const t=new URL(window.location.href),i=this.typeFromTemplate();return e.filter(s=>s.hypotheses.some(r=>r.type!=="dom"&&r.type!=="price"&&(r.isControl&&r.type===i&&r.affix===template.suffix||r.type==="theme"||r.isControl&&r.type==="urlRedirect"&&r.redirectPath&&t.pathname.endsWith(r.redirectPath)||r.type==="basicScript"))&&(s.ignoreTestViewParameterEnforcement||!t.searchParams.has("view")||s.hypotheses.map(r=>r.affix).includes(t.searchParams.get("view")??"")))}domTestsForUrl(e){const t=new URL(window.location.href);return e.filter(i=>i.hypotheses.some(s=>s.type!=="dom"&&s.type!=="price"?!1:s.type==="price"&&s.priceData&&s.priceData.variants.length>0?!0:s.domSelectors&&s.domSelectors.some(r=>new RegExp(se(r)).test(K(t.toString())))))}async filterTestsByAudience(e,t,i){const s=[],r=e.some(n=>(n.requiresRegion||this.geoViaShopify&&n.requiresCountry)&&!i.some(l=>l.testId===n.id));this.resolvedRegion===null&&r&&(this.log("Hiding page to wait for Shopify region resolution"),this.hidePage(),await this.waitForResolvedRegion()),window.__slRegion=this.resolvedRegion??"";let o=t.country;this.geoViaShopify?o=this.resolvedRegion?this.resolvedRegion.slice(0,2):o:!o&&e.some(n=>n.requiresCountry&&!i.some(l=>l.testId===n.id))&&(this.log("Hiding page to check geoip"),this.hidePage(),o=await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/get-country`,signal:AbortSignal.timeout(this.getCountryTimeout)}).catch(n=>(this.log("Error getting country",n),null)));for(const n of e){if(this.log("Checking audience for test '%s'",n.id),this.state.essential.visitorTests.some(d=>d.testId===n.id&&d.hypothesisId==null)){console.log(`Skipping blocked test '${n.id}'`);continue}const l=this.visitorCreatedDuringTestActive(n.statusHistory);(i.some(d=>d.testId===n.id&&(n.device==="all"||n.device===t.device&&n.device===this.device))||this.isTargetAudience(n,t,l,o))&&(this.log("Visitor is in audience for test '%s'",n.id),s.push(n))}this.testsFilteredByAudience=s}async waitForResolvedRegion(e=1500,t=50){const i=Date.now();for(;this.resolvedRegion===null&&Date.now()-i<e;)await new Promise(s=>window.setTimeout(s,t))}isTargetAudience(e,t,i,s){const r=this.getChannel(t);return(e.device==="all"||e.device===t.device&&e.device===this.device)&&(e.visitorOption==="all"||e.visitorOption==="new"&&i||e.visitorOption==="returning"&&!i)&&(e.targetAudiences.length===0||e.targetAudiences.reduce((o,n)=>o||n.reduce((l,c)=>l&&c(t,i,r,s),!0),!1))}visitorCreatedDuringTestActive(e){let t="";for(const i of e){if(this.state.analytics.visitor!==null&&this.state.analytics.visitor.createdAt<i.createdAt||this.state.essential.initialState.createdAt<i.createdAt)break;t=i.status}return t==="active"}getDomTestsForCurrentUrl(){return this.domTestsForUrl(this.testsFilteredByAudience)}getCurrentVisitorHypothesis(e){return e.flatMap(t=>t.hypotheses).find(t=>t.type!=="dom"&&t.type!=="price"&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getVisitorDomHypothesis(e){return e.flatMap(t=>t.hypotheses).filter(t=>(t.type==="dom"||t.type==="price")&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getHypothesis(e){return this.testConfigs.filter(t=>t.hypotheses.some(i=>i.id===e)).map(t=>t.hypotheses.find(i=>i.id===e))[0]}getActiveAssignment(){if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;return t.currentVariant&&t.testId?{testId:t.testId,hypothesisId:t.currentVariant}:null}const e=this.state.essential.visitorTests.find(t=>t.hypothesisId);return e?.hypothesisId?{testId:e.testId,hypothesisId:e.hypothesisId}:null}findActiveSubscriptionTestControl(){for(const e of this.testConfigs){const t=e.hypotheses.find(i=>i.isControl);if(t?.subscriptionData)return{testId:e.id,hypothesis:t}}return null}getDomSelectorsForHypothesis(e){if(!e)return[];if(e.domSelectors&&e.domSelectors.length>0)return e.domSelectors;if(e.priceData){const t=`${this.priceSelectorsSessionKey}_${e.id}`;try{const s=sessionStorage.getItem(t);if(s){const r=JSON.parse(s);return e.domSelectors=r,this.log("Loaded %d price selectors from cache for hypothesis '%s'",r.length,e.id),r}}catch{}const i=$e(e.priceData);e.domSelectors=i;try{sessionStorage.setItem(t,JSON.stringify(i)),this.log("Generated and cached %d price selectors for hypothesis '%s'",i.length,e.id)}catch{this.log("Generated %d price selectors for hypothesis '%s' (cache unavailable)",i.length,e.id)}return i}return[]}hasThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type==="theme"))}hasTestThatIsNotThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type!=="theme"&&i.type!=="dom"&&i.type!=="price"))}hasThemeAndOtherTestTypes(e){return this.hasThemeTest(e)&&this.hasTestThatIsNotThemeTest(e)}testIsPaused(e){return e.status==="paused"||e.status==="incompatible"||e.status==="suspended"}visitorActiveTestType(){const e=this.state.essential.visitorTests.filter(t=>this.testConfigs.some(i=>i.hypotheses.some(s=>s.id==t.hypothesisId)));return e.length===0?null:e.some(t=>t.isThemeTest)?"theme":"templateOrUrlRedirect"}getReservationType(e){return e==="price"||this.isTemplateTestType(e)?"deferred":"immediate"}isTemplateTestType(e){return["product","collection","landing","index","cart","search","blog","article","collectionList"].includes(e)}getEntryCriteriaKey(e){const t=e.hypotheses.find(i=>i.isControl);if(!t)return`unknown:${e.id}`;switch(t.type){case"theme":return"global:theme";case"basicScript":return"global:autoApi";case"price":return"global:price";case"manualScript":return`conditional:manualApi:${e.id}`;case"urlRedirect":return`conditional:url:${t.redirectPath||"unknown"}`;default:return`conditional:template:${t.type}`}}isGlobalEntryCriteria(e){return e.startsWith("global:")}groupTestsByEntryCriteria(e){const t=new Map;for(const i of e){const s=this.getEntryCriteriaKey(i),r=t.get(s)||[];r.push(i),t.set(s,r)}return t}doesCurrentPageMatchEntryCriteria(e){if(this.isGlobalEntryCriteria(e))return!0;
12if(e==="conditional:manualApi")return!1;if(e.startsWith("conditional:url:")){const t=e.replace("conditional:url:","");return window.location.pathname.endsWith(t)}if(e.startsWith("conditional:template:")){const t=e.replace("conditional:template:","");return this.typeFromTemplate()===t}return!1}hasActiveReservation(){const e=this.getActiveReservations();return Object.values(e).some(t=>!t.isRealized)}getActiveReservation(){const e=this.getActiveReservations();return Object.values(e).find(t=>!t.isRealized)??null}clearStaleReservations(){const e=this.state.temporary.testReservations;if(!e)return;let t=!1;for(const[i,s]of Object.entries(e)){const r=this.testConfigs.find(n=>n.id===s.testId);if(!r){this.log("Test '%s' no longer in config, clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0;continue}if(r.status!=="active"){this.log("Test '%s' status is '%s', clearing reservation for criteria '%s'",s.testId,r.status,i),delete e[i],t=!0;continue}this.testsFilteredByAudience.some(n=>n.id===s.testId)||(this.log("Visitor no longer passes audience for test '%s', clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0)}t&&this.persistTemporaryState()}createReservations(e){if(this.state.temporary.testReservations||(this.state.temporary.testReservations={}),this.state.temporary.rolledEntryCriteria||(this.state.temporary.rolledEntryCriteria=[]),this.state.temporary.testCategory==="global"){this.createSingleReservation(e,"global");return}const i=e.filter(n=>this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(n))),s=e.filter(n=>!this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(n)));this.log("Conditional tests split - matching current page: %d, not matching: %d",i.length,s.length),i.length>0&&this.log("Tests matching current page (same pool): %o",i.map(n=>({id:n.id,title:n.title,criteria:this.getEntryCriteriaKey(n)})));const r=`conditional:current-page:${this.typeFromTemplate()}`;if(i.length>0&&!this.state.temporary.rolledEntryCriteria.includes(r)){this.createSingleReservation(i,r);for(const n of i){const l=this.getEntryCriteriaKey(n);this.state.temporary.rolledEntryCriteria.includes(l)||this.state.temporary.rolledEntryCriteria.push(l)}}const o=this.groupTestsByEntryCriteria(s);for(const[n,l]of o){if(this.state.temporary.rolledEntryCriteria.includes(n)){this.log("Already rolled for criteria '%s', skipping",n);continue}if(l.some(S=>this.state.essential.visitorTests.some(C=>C.testId===S.id))){this.log("Visitor already has VT for criteria '%s', skipping",n),this.state.temporary.rolledEntryCriteria.push(n);continue}const d=[...l].sort((S,C)=>S.id.localeCompare(C.id));this.log("Test dice roll for criteria '%s' - available tests: %o",n,d.map(S=>({id:S.id,title:S.title})));const u=Math.floor(Math.random()*d.length),h=d[u];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",u+1,l.length,h.id,h.title);const p=this.pickHypothesis(h);if(!p){this.log("No hypothesis picked for test '%s'",h.id);continue}this.sendDiagnosticTelemetry("assignment",h.id,{hypothesisId:p.id,isControl:p.isControl,testType:p.type});const b=this.getReservationType(p.type),E={testId:h.id,hypothesisId:p.id,testType:p.type,reservationType:b,isThemeTest:p.type==="theme",themeId:p.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:n};this.state.temporary.testReservations[n]=E,this.state.temporary.rolledEntryCriteria.push(n),this.log("Created %s reservation for test '%s' (criteria: %s)",b,h.id,n);for(const S of l)S.id!==h.id&&this.markTestAsBlocked(S,n)}this.persistTemporaryState()}createSingleReservation(e,t){if(this.state.temporary.rolledEntryCriteria.includes(t)){this.log("Already rolled for pool '%s', skipping",t);return}if(e.some(u=>this.state.essential.visitorTests.some(h=>h.testId===u.id&&!h.isInvalid))){this.log("Visitor already has VT for pool '%s', skipping",t),this.state.temporary.rolledEntryCriteria.push(t);return}if(e.length===0){this.log("No tests in pool '%s'",t);return}const s=[...e].sort((u,h)=>u.id.localeCompare(h.id));this.log("Test dice roll for pool '%s' - available tests: %o",t,s.map(u=>({id:u.id,title:u.title,criteria:this.getEntryCriteriaKey(u)})));const r=Math.floor(Math.random()*s.length),o=s[r];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",r,e.length,o.id,o.title);const n=this.pickHypothesis(o);if(!n){this.log("No hypothesis picked for test '%s'",o.id);return}this.sendDiagnosticTelemetry("assignment",o.id,{hypothesisId:n.id,isControl:n.isControl,testType:n.type});const l=this.getReservationType(n.type),c=this.getEntryCriteriaKey(o),d={testId:o.id,hypothesisId:n.id,testType:n.type,reservationType:l,isThemeTest:n.type==="theme",themeId:n.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:c};this.state.temporary.testReservations[c]=d,this.state.temporary.rolledEntryCriteria.push(t),this.log("Created %s reservation for test '%s' from pool '%s' (criteria: %s)",l,o.id,t,c);for(const u of e)u.id!==o.id&&this.markTestAsBlocked(u,`pool:${t}`);this.persistTemporaryState()}markTestAsBlocked(e,t){this.state.essential.visitorTests.some(i=>i.testId===e.id)||(this.log("Blocking visitor from test '%s' (reason: %s)",e.id,t),this.state.essential.visitorTests.push({createdAt:new Date,testId:e.id,hypothesisId:null,isThemeTest:e.hypotheses.some(i=>
12i.type==="theme"),shouldSendToGa:!1,isSaved:!0,isInvalid:!0,themeId:void 0}))}realizeReservationForCriteria(e){const t=this.state.temporary.testReservations?.[e];if(!t)return this.log("No reservation found for criteria '%s'",e),!1;if(t.isRealized)return this.log("Reservation already realized for criteria '%s'",e),!1;if(this.state.essential.visitorTests.some(s=>s.testId===t.testId&&!s.isInvalid))return this.log("Visitor already assigned to test '%s'",t.testId),!1;const i=this.getHypothesis(t.hypothesisId);return i?(t.isRealized=!0,this.persistTemporaryState(),this.queueAddVisitorToTest(t.testId,i),this.saveState(),this.log("Realized reservation for test '%s' (criteria: %s)",t.testId,e),!0):(this.log("Hypothesis '%s' not found",t.hypothesisId),!1)}getActiveReservations(){return this.state.temporary.testReservations??{}}getReservationForCurrentPage(){const e=this.getActiveReservations();for(const[t,i]of Object.entries(e)){if(i.isRealized)continue;const s=this.testConfigs.find(r=>r.id===i.testId);if(!(!s||s.status!=="active")&&this.doesCurrentPageMatchEntryCriteria(t))return i}return null}getReservationForTest(e){const t=this.getActiveReservations();return Object.values(t).find(i=>i.testId===e)??null}getReservationTestType(){const e=this.getActiveReservations(),t=Object.values(e);if(t.length===0)return null;for(const i of t)if(i.isThemeTest)return"theme";for(const i of t)if(i.testType==="price")return"price";return t.some(i=>!i.isRealized)?"templateOrUrlRedirect":null}hasPriceTests(e){return e.some(t=>t.hypotheses.some(i=>i.type==="price"))}_priceTestProductIds=null;getPriceTestProductIds(){if(this._priceTestProductIds)return this._priceTestProductIds;const e=new Set;for(const t of this.testConfigs)for(const i of t.hypotheses)if(i.type==="price"){for(const s of i.domSelectors||[]){const r=s.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);r?.[1]&&e.add(r[1])}if(i.priceData?.variants)for(const[s]of i.priceData.variants)e.add(s)}return this._priceTestProductIds=e,this.log("Built price test product ID cache with %d products",e.size),e}isProductInAnyPriceTest(e){return this.getPriceTestProductIds().has(e)}visitorActiveTestTypeWithReservations(){const e=this.getActiveReservations();for(const r of Object.values(e)){if(r.isThemeTest)return"theme";if(r.testType==="price")return"price"}if(Object.values(e).some(r=>!r.isRealized)){if(this.state.temporary.testCategory==="global")for(const o of Object.values(e)){if(o.testType==="theme")return"theme";if(o.testType==="price")return"price";if(o.testType==="basicScript")return"theme"}return"templateOrUrlRedirect"}const i=this.state.essential.visitorTests.filter(r=>!r.isInvalid&&this.testConfigs.some(o=>o.hypotheses.some(n=>n.id===r.hypothesisId)));return i.length===0?null:i.some(r=>this.getHypothesis(r.hypothesisId)?.type==="price")?"price":i.some(r=>r.isThemeTest)?"theme":"templateOrUrlRedirect"}applyControlForAudienceFilteredPriceTests(){const e=this.testConfigs.filter(s=>s.status==="active"&&s.hypotheses.some(r=>r.type==="price"));if(e.length===0)return;const t=this.testsFilteredByAudience.filter(s=>s.hypotheses.some(r=>r.type==="price")),i=e.filter(s=>!t.some(r=>r.id===s.id));if(i.length!==0){this.log("Found %d price tests filtered by audience, applying control selectors",i.length);for(const s of i){const r=s.hypotheses.find(c=>c.isControl),o=this.getDomSelectorsForHypothesis(r);if(o.length===0){this.log("No control selectors for audience-filtered price test '%s'",s.id);continue}const n=new URL(window.location.href);o.some(c=>{try{return new RegExp(se(c)).test(K(n.toString()))}catch{return!1}})&&(this.log("Applying control selectors for audience-filtered price test '%s'",s.id),U(document,{testId:s.id,hypothesisId:r.id,selectors:o},()=>{}),this.updatePriceTestHiddenInputs(s.id,"control",!1))}}}pickHypothesis(e){let t=Math.random();const i=e.hypotheses.reduce((r,o)=>r+o.visitorCount,0);return e.hypotheses.sort((r,o)=>r.isControl?o.isControl?0:-1:o.isControl?1:0).reduce((r,o)=>{if(r!==null)return r;const l=e.hypotheses.reduce((c,d)=>c&&d.visitorCount>20,!0)?o.visitorCount/i-o.trafficPercentage:0;return t<=o.trafficPercentage-l?o:(t-=o.trafficPercentage-l,null)},null)}typeFromTemplate(){switch(template.type){case"list-collections":return"collectionList";case"page":return"landing";case"article":case"blog":case"cart":case"collection":case"index":case"product":case"search":return template.type;default:return null}}queueRedirect(e){this.saveState(),this.disableReferrerOverride||(this.log(`Saving temporary referrer override '${document.referrer}'`),this.state.temporary.originalReferrer=document.referrer,this.persistTemporaryState()),window.setTimeout(()=>window.location.assign(e),0),window.setTimeout(()=>{this.syncAllEvents()},2e3)}scheduleRetrySync(){this.clientIdRetryCount>=5||(this.clientIdRetryCount++,window.setTimeout(()=>{this.syncAllEvents()},500))}async syncAllEvents(){const e=async()=>
12{if(this.isSyncing){window.setTimeout(()=>{(async()=>await e())()},500);return}try{if(this.isSyncing=!0,this.syncGAEvents(),this.shopifyAnalyticsId||(this.shopifyAnalyticsId=this.getShopifyAnalyticsId()),!this.shopifyAnalyticsId){this.scheduleRetrySync();return}await this.syncEvents()}finally{this.isSyncing=!1}};await e()}async syncEvents(){if(!this.state.essential.consentApproved||!this.shopifyAnalyticsId||this.state.analytics.queue.length===0)return;const e=this.state.analytics.queue.length,t=this.state.analytics.queue.splice(0,e);this.log("Syncing %s events",e);try{const i={shop:this.shop,visitorDetails:{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.state.analytics.visitor?.device??this.device,country:this.state.analytics.visitor?.country??null,...this.state.essential.initialState},events:this.state.essential.visitorTests.filter(r=>!r.isInvalid&&!r.isSaved&&r.hypothesisId!=null).map(r=>new be(r.testId,r.hypothesisId,r.createdAt)).concat(t)};await this.sendEvents(i);for(const r of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved&&o.hypothesisId!=null))this.sendDiagnosticTelemetry("event-delivered",r.testId,{hypothesisId:r.hypothesisId,isControl:r.assignedTo==="control",testType:r.testType??"unknown"});const s=await this.getVisitor(this.shopifyAnalyticsId);s!==null&&this.updateLocalVisitor(s);for(const r of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved))r.isSaved=!0,r.savedAt=Date.now()}catch{this.state.analytics.queue.splice(0,0,...t)}finally{this.saveState()}}syncGAEvents(){if(!this.gaConfig.sendEvents){if(he)return;he=!0,this.log("UseGtag is false â skipping GA Events");return}if(this.isSyncingGA){this.log("Already syncing GA - skipping GA events");return}const e=this.state.essential.visitorTests.filter(t=>t.shouldSendToGa);e.length!==0&&(this.isSyncingGA=!0,this.log("Syncing %s GA Events",e.length),Promise.allSettled(e.map(t=>this.sendGAEvent(t))).then(()=>this.log("All gtag events sent")).finally(()=>this.isSyncingGA=!1))}sendGAEvent(e){return new Promise(t=>{this.log("Sending GA Event for test %s, hypothesis %s",e.testId,e.hypothesisId);const i=()=>{this.log("GA acknowledged event for hypothesis %s",e.hypothesisId),e.shouldSendToGa=!1,this.persistEssentialState(),t()},s={exp_variant_string:`SL-${e.testId}-${e.hypothesisId}`};
12this.shopliftDebug&&Object.assign(s,{debug_mode:!0});function r(o,n,l){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}this.gaConfig.mode==="gtag"?r("event","experience_impression",{...s,event_callback:i}):(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"experience_impression",...s,eventCallback:i}))})}updateLocalVisitor(e){let t;({visitorTests:t,...this.state.analytics.visitor}=e),this.log("updateLocalVisitor - server returned %d tests: %o",t.length,t.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isInvalid:s.isInvalid}))),this.log("updateLocalVisitor - local has %d tests: %o",this.state.essential.visitorTests.length,this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid})));const i=300*1e3;for(const s of this.state.essential.visitorTests.filter(r=>r.isSaved&&(!r.savedAt||Date.now()-r.savedAt>i)&&!t.some(o=>o.testId===r.testId)))this.log("updateLocalVisitor - marking LOCAL test as INVALID (isSaved && not in server): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),s.isInvalid=!0;for(const s of t){const r=this.state.essential.visitorTests.findIndex(n=>n.testId===s.testId);if(!(r!==-1))this.log("updateLocalVisitor - ADDING server test (not found locally): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),this.state.essential.visitorTests.push(s);else{const n=this.state.essential.visitorTests.at(r);this.log("updateLocalVisitor - REPLACING local test with server test: testId=%s, local hypothesisId=%s -> server hypothesisId=%s, local isInvalid=%s -> false",s.testId,n?.hypothesisId,s.hypothesisId,n?.isInvalid),s.isInvalid=!1,s.shouldSendToGa=n?.shouldSe
12ndToGa??!1,s.testType=n?.testType,s.assignedTo=n?.assignedTo,s.testTitle=n?.testTitle,this.state.essential.visitorTests.splice(r,1,s)}}this.log("updateLocalVisitor - FINAL local tests: %o",this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid}))),this.state.analytics.visitor.storedAt=new Date}async getVisitor(e){try{return await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/by-key/${this.shop}/${e}`})}catch{return null}}async sendEvents(e){await this.makeRequest({method:"post",url:`${this.eventHost}/api/v0/events`,data:JSON.stringify(e)})}sendDiagnosticTelemetry(e,t,i){if(!this.telemetryEnabled||!navigator.sendBeacon)return;const s=this.state.essential.consentApproved,r=JSON.stringify({shop:this.shop,testId:t,checkpoint:e,device:this.device,...s?{visitorId:this.shopifyAnalyticsId??"unknown"}:{},clientTimestamp:Date.now(),consentApproved:s,hasConsentInteraction:this.state.essential.hasConsentInteraction,...i});navigator.sendBeacon(`${this.eventHost}/api/v0/telemetry`,new Blob([r],{type:"text/plain"}))}getUTMValue(e){const i=decodeURIComponent(window.location.search.substring(1)).split("&");for(let s=0;s<i.length;s++){const r=i[s].split("=");if(r[0]===e)return r[1]||null}return null}hidePage(e){this.log("Hiding page"),this.cssHideClass&&!window.document.documentElement.classList.contains(this.cssHideClass)&&(window.document.documentElement.classList.add(this.cssHideClass),e||setTimeout(this.removeAsyncHide(this.cssHideClass),2e3))}showPage(){this.cssHideClass&&this.removeAsyncHide(this.cssHideClass)()}getDeviceType(){function e(){let i=!1;return(function(s){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}function t(){let i=!1;return(function(s){(/android|ipad|playbook|silk/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
12sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}return e()?"mobile":t()?"tablet":"desktop"}removeAsyncHide(e){return()=>{e&&window.document.documentElement.classList.remove(e)}}async getCartState(){try{let e=await this.makeJsonRequest({method:"get",url:`${window.location.origin}/cart.js`});return e===null||(e.note===null&&(e=await this.makeJsonRequest({method:"post",url:`${window.location.origin}/cart/update.js`,data:JSON.stringify({note:""})})),e==null)?null:{token:e.token,total_price:e.total_price,total_discount:e.total_discount,currency:e.currency,items_subtotal_price:e.items_subtotal_price,items:e.items.map(t=>({quantity:t.quantity,variant_id:t.variant_id,key:t.key,price:t.price,final_line_price:t.final_line_price,sku:t.sku,product_id:t.product_id}))}}catch(e){return this.log("Error sending cart info",e),null}}ensureCartAttributesForExistingPriceTests(e){try{if(this.log("Checking visitor assignments for active price tests"),e&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;this.log("Using preview config for merchant:",t.testId);let i="variant";if(t.variants&&t.variants.length>0){const s=t.variants.find(r=>r.id===t.currentVariant);s&&s.isControl&&(i="control")}this.log("Merchant preview - updating hidden inputs:",t.testId,i),this.updatePriceTestHiddenInputs(t.testId,i,!0);return}for(const t of this.state.essential.visitorTests){const i=this.testConfigs.find(o=>o.id===t.testId);if(!i){this.log("Test config not found:",t.testId);continue}const s=i.hypotheses.find(o=>o.id===t.hypothesisId);if(!s||s.type!=="price")continue;const r=s.isControl?"control":"variant";this.log("Updating hidden inputs for price test:",t.testId,r),this.updatePriceTestHiddenInputs(t.testId,r,e)}}catch(t){this.log("Error ensuring cart attributes for existing price tests:",t)}}subscriptionSwapDone=!1;subscriptionHideWrongPlans=null;subscriptionPriceDone=!1;subscriptionUpdateOneTime=null;subscriptionOneTimeDone=!1;swapMap=null;slptValue=null;async subscriptionSwap(){await Ue(this)}async subscriptionPriceChange(){await ze(this)}async subscriptionOneTimePrice(){await We(this)}updatePriceTestHiddenInputs(e,t,i){try{this.cleanupPriceTestObservers();const s=`${e}:${t}:${i?"t":"f"}`,r=T=>{const m=T.getAttribute("data-sl-pid");if(!m)return!0;if(i&&this.state.temporary.previewConfig){const w=this.state.temporary.previewConfig,I=t==="control"?"a":"b",f=w.variants.find(v=>v.label===I);if(!f)return!1;for(const v of f.domSelectors||[]){const g=v.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(g){const P=g[1];if(this.log(`Extracted ID from selector: ${P}, comparing to: ${m}`),P===m)return this.log("Product ID match found in preview config:",m,"variant:",f.label),!0}else this.log(`Could not extract ID from selector: ${v.cssSelector}`)}return this.log("No product ID match in preview config for:",m,"variant:",I),!1}const y=this.testConfigs.find(w=>w.id===e);if(!y)return this.log("Test config not found for testId:",e),!1;for(const w of y.hypotheses||[]){for(const I of w.domSelectors||[]){const f=I.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(f&&f[1]===m)return this.log("Product ID match found in domSelectors:",m,"for test:",e),!0}if(w.priceData?.variants){for(const I of w.priceData.variants)if(I[0]===m)return this.log("Product ID match found in priceData:",m,"for test:",e),!0}}return this.log("No product ID match for:",m,"in test:",e),!1},o=new Set;let n=!1,l=null;const c=(T,m)=>{if(document.querySelectorAll("[data-sl-attribute-p]").forEach(w=>{if(w instanceof Element&&w.nodeType===Node.ELEMENT_NODE&&w.isConnected&&document.contains(w))try{T.observe(w,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(I){this.log(`Failed to observe element (${m}):`,I)}}),document.body&&document.body.isConnected)try{T.observe(document.body,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(w){this.log(`Failed to observe document.body (${m}):`,w)}},d=(T,m,y,w)=>{const I=T.filter(f=>{const v=f.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);return v&&v[1]===w});this.log(`Applying ${y} DOM selectors, total: ${T.length}, filtered: ${I.length}`),I.length>0&&U(document,{testId:e,hypothesisId:m,selectors:I})},u=(T,m)=>{this.log(`Applying DOM selector changes for product ID: ${T}`),m.disconnect(),n=!0;try{if(i&&this.state.temporary.previewConfig){const y=t==="control"?"a":"b",w=this.state.temporary.previewConfig.variants.find(I=>I.label===y);if(!w?.domSelectors){this.log(`No DOM selectors found for preview variant: ${y}`);return}d(w.domSelectors,w.id,"preview config",T)}else{const y=this.testConfigs.find(I=>I.id===e);if(!y){this.log(`No test config found for testId: ${e}`);return}const w=y.hypotheses.find(I=>t==="control"?I.isControl:!I.isControl);if(!w?.domSelectors){this.log(`No DOM selectors found for assignment: ${t}`);return}d(w.domSelectors,w.id,"live config",T)}}finally{l!==null&&clearTimeout(l),l=window.setTimeout(()=>{n=!1,l=null,c(m,"reconnection"),this.log("Re-established innerHTML observer after DOM changes")}
12,50)}},h=new MutationObserver(T=>{if(!n)for(const m of T){if(m.type!=="childList"&&m.type!=="characterData")continue;let y=m.target;m.type==="characterData"&&(y=m.target.parentElement||m.target.parentNode);let w=y,I=w.getAttribute("data-sl-attribute-p");for(;!I&&w.parentElement;)w=w.parentElement,I=w.getAttribute("data-sl-attribute-p");if(!I)continue;const f=w.innerHTML||w.textContent||"";let v="";m.type==="characterData"&&m.oldValue!==null&&(v=m.oldValue),this.log(`innerHTML changed on element with data-sl-attribute-p="${I}"`),v&&this.log(`Previous content: "${v}"`),this.log(`Current content: "${f}"`),u(I,h)}});c(h,"initial setup"),o.add(h);const p=new MutationObserver(T=>{T.forEach(m=>{m.addedNodes.forEach(y=>{if(y.nodeType===Node.ELEMENT_NODE){const w=y;E(w);const I=w.matches('input[name="properties[_slpt]"]')?[w]:w.querySelectorAll('input[name="properties[_slpt]"]');I.length>0&&this.log(`MutationObserver found ${I.length} new hidden input(s)`),I.forEach(f=>{const v=f.getAttribute("data-sl-pid");if(this.log(`MutationObserver checking new input with data-sl-pid="${v}"`),r(f))f.value!==s&&(f.value=s,this.log("Updated newly added hidden input:",s)),S(f);else{const g=f.getAttribute("data-sl-pid");g&&this.isProductInAnyPriceTest(g)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",g):(f.remove(),this.log("Removed newly added non-matching hidden input for product ID:",g))}})}})})});o.add(p);const b=new MutationObserver(T=>{T.forEach(m=>{if(m.type==="attributes"&&m.attributeName==="data-sl-pid"){const y=m.target;if(this.log("AttributeObserver detected data-sl-pid attribute change on:",y.tagName),y.matches('input[name="properties[_slpt]"]')){const w=y,I=m.oldValue,f=w.getAttribute("data-sl-pid");this.log(`data-sl-pid changed from "${I}" to "${f}" - triggering payment placement updates`),r(w)?(w.value!==s&&(w.value=s,this.log("Updated hidden input after data-sl-pid change:",s)),f&&u(f,h),this.log("Re-running payment placement updates after variant change"),E(document.body)):f&&this.isProductInAnyPriceTest(f)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",f):(w.remove(),this.log("Removed non-matching hidden input after data-sl-pid change:",f))}}})});o.add(b);const E=T=>{T.tagName==="SHOPIFY-PAYMENT-TERMS"&&(this.log("MutationObserver found new shopify-payment-terms element"),this.updateShopifyPaymentTerms(e,t));const m=T.querySelectorAll("shopify-payment-terms");m.length>0&&(this.log(`MutationObserver found ${m.length} shopify-payment-terms in added node`),this.updateShopifyPaymentTerms(e,t)),T.tagName==="AFTERPAY-PLACEMENT"&&(this.log("MutationObserver found new afterpay-placement element"),this.updateAfterpayPlacements(e,t,"afterpay"));const y=T.querySelectorAll("afterpay-placement");y.length>0&&(this.log(`MutationObserver found ${y.length} afterpay-placement in added node`),this.updateAfterpayPlacements(e,t,"afterpay")),T.tagName==="SQUARE-PLACEMENT"&&(this.log("MutationObserver found new square-placement element"),this.updateAfterpayPlacements(e,t,"square"));const w=T.querySelectorAll("square-placement");w.length>0&&(this.log(`MutationObserver found ${w.length} square-placement in added node`),this.updateAfterpayPlacements(e,t,"square")),T.tagName==="KLARNA-PLACEMENT"&&(this.log("MutationObserver found new klarna-placement element"),this.updateKlarnaPlacements(e,t));const I=T.querySelectorAll("klarna-placement");I.length>0&&(this.log(`MutationObserver found ${I.length} klarna-placement in added node`),this.updateKlarnaPlacements(e,t))},S=T=>{b.observe(T,{attributes:!0,attributeFilter:["data-sl-pid"],attributeOldValue:!0,subtree:!1});const m=T.getAttribute("data-sl-pid");this.log(`Started AttributeObserver on specific input with data-sl-pid="${m}"`)},C=()=>{const T=document.querySelectorAll('input[name="properties[_slpt]"]');this.log(`Found ${T.length} existing hidden inputs to check`),T.forEach(m=>{const y=m.getAttribute("data-sl-pid");this.log(`Checking existing input with data-sl-pid="${y}"`),r(m)?(m.value=s,this.log("Updated existing hidden input:",s),y&&(this.log("Applying initial DOM selector changes for existing product"),u(y,h)),S(m)):y&&this.isProductInAnyPriceTest(y)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",
12y):(m.remove(),this.log("Removed non-matching hidden input for product ID:",y))})},_=()=>{document.body?(p.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver on document.body"),C(),E(document.body)):document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{document.body&&(p.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver after DOMContentLoaded"),C(),E(document.body))}):(this.log("Set timeout on observer"),setTimeout(_,10))};_(),window.__shopliftPriceTestObservers=o,window.__shopliftPriceTestValue=s,this.log("Set up DOM observer for price test hidden inputs")}catch(s){this.log("Error updating price test hidden inputs:",s)}}updateKlarnaPlacements(e,t){this.updatePlacementElements(e,t,"klarna-placement",(i,s)=>{i.setAttribute("data-purchase-amount",s.toString())})}cleanupPriceTestObservers(){const e=window.__shopliftPriceTestObservers;e&&(e.forEach(t=>{t.disconnect()}),e.clear(),this.log("Cleaned up existing price test observers")),delete window.__shopliftPriceTestObservers,delete window.__shopliftPriceTestValue}updateAfterpayPlacements(e,t,i="afterpay"){const s=i==="square"?"square-placement":"afterpay-placement";if(document.querySelectorAll(s).length===0){this.log(`No ${s} elements found on page - early return`);return}this.updatePlacementElements(e,t,s,(o,n)=>{if(i==="afterpay"){const l=(n/100).toFixed(2);o.setAttribute("data-amount",l)}else o.setAttribute("data-amount",n.toString())}),this.log("updateAfterpayPlacements completed")}updatePlacementElements(e,t,i,s){const r=document.querySelectorAll(i);if(r.length===0){this.log(`No ${i} elements found - early return`);return}let o;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const l=t==="control"?"a":"b",c=this.state.temporary.previewConfig.variants.find(d=>d.label===l);if(!c?.domSelectors){this.log(`No variant found for label ${l} in preview config for ${i}`);return}o=c.domSelectors,this.log(`Using preview config for ${i} in merchant mode, variant: ${l}`)}else{const l=this.testConfigs.find(d=>d.id===e);if(!l){this.log(`No testConfig found for id: ${e} - early return`);return}
12const c=l.hypotheses.find(d=>t==="control"?d.isControl:!d.isControl);if(!c?.domSelectors){this.log(`No hypothesis or domSelectors found for assignment: ${t} - early return`);return}o=c.domSelectors}const n=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);r.forEach(l=>{let c=null;const d=l.parentElement;if(d&&(c=d.querySelector('input[name="properties[_slpt]"]')),c||(c=l.querySelector('input[name="properties[_slpt]"]')),!c){this.log(`No hidden input found for ${i} element`);return}const u=c.getAttribute("data-sl-pid");if(!u){this.log("Hidden input has no data-sl-pid attribute - skipping");return}const h=o.find(S=>{const C=S.cssSelector.match(n);return C&&C[1]===u});if(!h){this.log(`No matching selector found for productId: ${u} - skipping element`);return}const p=h.actions.find(S=>S.scope==="price");if(!p?.value){this.log("No price action or value found - skipping element");return}const b=parseFloat(p.value.replace(/[^0-9.]/g,""));if(Number.isNaN(b)){this.log(`Invalid price "${p.value}" for product ${u} - skipping`);return}const E=Math.round(b*100);s(l,E)}),this.log(`updatePlacementElements completed for ${i}`)}updateShopifyPaymentTerms(e,t){const i=document.querySelectorAll("shopify-payment-terms");if(i.length===0)return;this.log("Store using shopify payments");let s;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const o=t==="control"?"a":"b",n=this.state.temporary.previewConfig.variants.find(l=>l.label===o);if(!n||!n.domSelectors){this.log(`No variant found for label ${o} in preview config`);return}s=n.domSelectors,this.log(`Using preview config for shopify-payment-terms in merchant mode, variant: ${o}`)}else{const o=this.testConfigs.find(l=>l.id===e);if(!o)return;const n=o.hypotheses.find(l=>t==="control"?l.isControl===!0:l.isControl===!1);if(!n||!n.domSelectors)return;s=n.domSelectors}const r=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);i.forEach(o=>{const n=o.getAttribute("variant-id");if(!n)return;const l=s.find(c=>{const d=c.cssSelector.match(r);return d&&d[1]===n});if(l){const c=l.actions.find(d=>d.scope==="price");if(c&&c.value){const d=o.getAttribute("shopify-meta");if(d)try{const u=JSON.parse(d);if(u.variants&&Array.isArray(u.variants)){const h=u.variants.find(p=>p.id?.toString()===n);if(h){h.full_price=c.value;const p=parseFloat(c.value.replace(/[^0-9.]/g,""));if(h.number_of_payment_terms&&h.number_of_payment_terms>1){const b=p/h.number_of_payment_terms;h.price_per_term=`$${b.toFixed(2)}`}o.setAttribute("shopify-meta",JSON.stringify(u))}}}catch(u){this.log("Error parsing/updating shoplift-meta:",u)}}}})}async makeJsonRequest(e){const t=await this.makeRequest(e);return t===null?null:JSON.parse(await t.text(),F)}async makeRequest(e){const{url:t,method:i,headers:s,data:r,signal:o}=e,n=new Headers;if(s)for(const c in s)n.append(c,s[c]);(!s||!s.Accept)&&n.append("Accept","application/json"),(!s||!s["Content-Type"])&&n.append("Content-Type","application/json"),(this.eventHost.includes("ngrok.io")||this.eventHost.includes("ngrok-free.app"))&&n.append("ngrok-skip-browser-warning","1234");const l=await this.fetch(t,{method:i,headers:n,body:r,signal:o});if(!l.ok){if(l.status===204)return null;if(l.status===422){const c=await l.json();if(typeof c<"u"&&c.isBot)throw new ie}throw new Error(`Error sending shoplift request ${l.status}`)}return l}queueAddVisitorToTest(e,t){if(this.state.essential.visitorTests.some(s=>s.testId===e))return;const i=this.testConfigs.find(s=>s.id===e);if(this.state.essential.visitorTests.push({createdAt:new Date,testId:e,hypothesisId:t.id,isThemeTest:t.type==="theme",themeId:t.themeId,isSaved:!1,isInvalid:!1,shouldSendToGa:!0,testType:t.type,assignedTo:t.isControl?"control":"variant",testTitle:i?.title}),t.type==="price"){const s=t.isControl?"control":"variant";this.log("Price test assignment detected, updating cart attributes:",e,s),this.updatePriceTestHiddenInputs(e,s,!1)}}queueCartUpdate(e){this.queueEvent(new Ce(e))}queuePageView(e){this.queueEvent(new Se(e))}queueEvent(e){!this.state.essential.consentApproved&&this.state.essential.hasConsentInteraction||this.state.analytics.queue.length>10||this.state.analytics.queue.push(e)}legacyGetLocalStorageVisitor(){const e=this.localStorageGet(this.legacySessionKey);if(e)try{return JSON.parse(e,F)}catch{}return null}pruneStaleVisitorTests(){this.state.essential.visitorTests=this.state.essential.visitorTests.filter(e=>this.testConfigs.some(t=>t.id==e.testId)||this.inactiveTestConfigs.filter(t=>this.testIsPaused(t)).some(t=>t.id===e.testId))}pruneStateAndSave(){this.pruneStaleVisitorTests(),this.saveState()}saveState(){this.persistEssentialState(),this.persistAnalyticsState()}loadState(){const e=this.loadAnalyticsState(),t={analytics:e,essential:this.loadEssentialState(e),temporary:this.loadTemporaryState()},i=this.legacyGetLocalStorageVisitor(),s=this.legacyGetCookieVisitor(),r=[i,s].filter(o=>o!==null).sort((o,n)=>+n.storedAt-+o.storedAt)[0];return t.analytics.visitor===null&&r&&({visitorTests:t.essential.visitorTests,...t.analytics.visitor}=r,t.essential.isFirstLoad=!1,t.essential.initialState={createdAt:r.createdAt,referrer:r.referrer,utmCampaign:r.utmCampaign,utmContent:r.utmContent,utmMedium:r.utmMedium,utmSource:r.utmSource,device:r.device},this.deleteCookie("SHOPLIFT"),this.deleteLocalStorage(this.legacySessionKey)),!t.essential.consentApproved&&t.essential.hasConsentInteraction&&this.deleteLocalStorage(this.analyticsSessionKey),t}loadEssentialState(e){const t=this.loadLocalStorage(this.essentialSessionKey),i=this.loadCookie(this.essentialSessionKey),s=this.getInitialState();e.visitor?.device&&(s.device=e.visitor.device);const r={timestamp:new Date,consentApproved:!1,hasConsentInteraction:!1,debugMode:!1,initialState:s,visitorTests:[],isFirstLoad:!0},o=[t,i].filter(n=>n!==null).sort((n,l)=>+l.timestamp-+n.timestamp)[0]??r;return o.initialState||(e.visitor!==null?o.initialState=e.visitor:(o.initialState=s,o.initialState.createdAt=o.timestamp)),o}loadAnalyticsState(){const e=this.loadLocalStorage(this.analyticsSessionKey),t=this.loadCookie(this.analyticsSessionKey),i={timestamp:new Date,visitor:null,queue:[]},s=[e,t].filter(r=>r!==null).sort((r,o)=>+o.timestamp-+r.timestamp)[0]??i;return s.queue.length===0&&e&&e.queue.length>1&&(s.queue=e.queue),s}loadTemporaryState(){const e=this.sessionStorageGet(this.temporarySessionKey),t=e?JSON.parse(e,F):null,i=this.loadCookie(this.temporarySessionKey);return t??i??{isMerchant:!1,timestamp:new Date}}persistEssentialState(){this.log("Persisting essential state"),this.state.essential.isFirstLoad=!1,this.state.essential.timestamp=new Date,this.persistLocalStorageState(this.essentialSessionKey,this.state.essential),this.persist
12CookieState(this.essentialSessionKey,this.state.essential)}persistAnalyticsState(){this.log("Persisting analytics state"),this.state.essential.consentApproved&&(this.state.analytics.timestamp=new Date,this.persistLocalStorageState(this.analyticsSessionKey,this.state.analytics),this.persistCookieState(this.analyticsSessionKey,{...this.state.analytics,queue:[]}))}persistTemporaryState(){this.log("Setting temporary session state"),this.state.temporary.timestamp=new Date,this.sessionStorageSet(this.temporarySessionKey,JSON.stringify(this.state.temporary)),this.persistCookieState(this.temporarySessionKey,this.state.temporary,!0)}loadLocalStorage(e){const t=this.localStorageGet(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}loadCookie(e){const t=this.getCookie(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}persistLocalStorageState(e,t){this.localStorageSet(e,JSON.stringify(t))}persistCookieState(e,t,i=!1){const s=JSON.stringify(t),r=i?"":`expires=${new Date(new Date().getTime()+864e5*365).toUTCString()};`;document.cookie=`${e}=${s};domain=.${window.location.hostname};path=/;SameSite=Strict;${r}`}deleteCookie(e){const t=new Date(0).toUTCString();document.cookie=`${e}=;domain=.${window.location.hostname};path=/;expires=${t};`}deleteLocalStorage(e){window.localStorage.removeItem(e)}getChannel(e){return[{"name":"cross-network","test":(v) => new RegExp(".*cross-network.*", "i").test(v.utmCampaign)},{"name":"direct","test":(v) => v.utmSource === "" && v.utmMedium === ""},{"name":"paid-shopping","test":(v) => (new RegExp("^(?:Google|IGShopping|aax-us-east\.amazon-adsystem\.com|aax\.amazon-adsystem\.com|alibaba|alibaba\.com|amazon|amazon\.co\.uk|amazon\.com|apps\.shopify\.com|checkout\.shopify\.com|checkout\.stripe\.com|cr\.shopping\.naver\.com|cr2\.shopping\.naver\.com|ebay|ebay\.co\.uk|ebay\.com|ebay\.com\.au|ebay\.de|etsy|etsy\.com|m\.alibaba\.com|m\.shopping\.naver\.com|mercadolibre|mercadolibre\.com|mercadolibre\.com\.ar|mercadolibre\.com\.mx|message\.alibaba\.com|msearch\.shopping\.naver\.com|nl\.shopping\.net|no\.shopping\.net|offer\.alibaba\.com|one\.walmart\.com|order\.shopping\.yahoo\.co\.jp|partners\.shopify\.com|s3\.amazonaws\.com|se\.shopping\.net|shop\.app|shopify|shopify\.com|shopping\.naver\.com|shopping\.yahoo\.co\.jp|shopping\.yahoo\.com|shopzilla|shopzilla\.com|simplycodes\.com|store\.shopping\.yahoo\.co\.jp|stripe|stripe\.com|uk\.shopping\.net|walmart|walmart\.com)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|y
12andex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|kakao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.o
12pera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"display","test":(v) => new RegExp("^(?:display|banner|expandable|interstitial|cpm)$", "i").test(v.utmMedium)},{"name":"paid-other","test":(v) => new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)}
12,{"name":"organic-shopping","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)},{"name":"organic-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|k
12akao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.opera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) || new RegExp("^(?:social|social-network|social-media|sm|social network|social media)$", "i").test(v.utmMedium)},{"name":"organic-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) || new RegExp("^(.*video.*)$", "i").test(v.utmMedium)},{"name":"organic-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|y
12andex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || v.utmMedium.toLowerCase() === "organic"},{"name":"referral","test":(v) => new RegExp("^(?:referral|app|link)$", "i").test(v.utmMedium)},{"name":"email","test":(v) => new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmMedium) || new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmSource)},{"name":"affiliate","test":(v) => v.utmMedium.toLowerCase() === "affiliate"},{"name":"audio","test":(v) => v.utmMedium.toLowerCase() === "audio"},{"name":"sms","test":(v) => v.utmSource.toLowerCase() === "sms" || v.utmMedium.toLowerCase() === "sms"},{"name":"mobile-push-notification","test":(v) => v.utmSource.toLowerCase() === "firebase" || new RegExp("(?:.*mobile.*|.*notification.*|push$)", "i").test(v.utmMedium)}].find(i=>i.test(e))?.name??"other"}getShopifyAnalyticsId(){const e=this.getCookie("_shopify_y");if(e)return e;try{const t=this.localStorageGet("Shoplift_ClientId");if(t)return t}catch{}return null}legacyGetCookieVisitor(){const e=this.getCookie("SHOPLIFT");return e===null?null:JSON.parse(e,F)}getCookie(e){const t=this.cookie.split("; ").filter(i=>i.split("=").at(0)===e).at(0);return t===void 0?null:t.split("=").slice(1).join("=")}monitorConsentChange(){document.addEventListener("visitorConsentCollected",e=>{(async()=>await this.onConsentChange(e.detail.analyticsAllowed,!0))()}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>this.loadShopifyConsentApiWithRetry()):this.loadShopifyConsentApiWithRetry()}loadShopifyConsentApiWithRetry(){let e=0;const t=()=>{this.loadShopifyConsentApi()||e++<10&&window.setTimeout(t,100)};t()}loadShopifyConsentApi(){if(window.Shopify){this.log("Loading Shopify features");const e=async()=>{if(!window.Shopify){this.log("Shopify object missing... suddenly?");return}if(window.Shopify.customerPrivacy===void 0){this.log("Shopify CustomerPrivacy api still missing, trying again in 1000ms"),t=window.setTimeout(()=>{(async()=>await e())()},1e3);return}if(this.geoViaShopify){const s=window.Shopify.customerPrivacy.getRegion?.();this.resolvedRegion=typeof s=="string"?s.replace(/-/g,""):""}const i=window.Shopify.customerPrivacy.getTrackingConsent();await this.onConsentChange(window.Shopify.customerPrivacy.analyticsProcessingAllowed(),i==="yes")};let t=window.setTimeout(()=>{(async()=>await e())()},5e3);return window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],i=>{(async()=>{if(window.clearTimeout(t),i){this.log("Error loading consent tracking",i);return}await e()})()}),!0}return!1}async onConsentChange(e,t){try{if(this.log("Consent change detected",e,t),this.state.essential.consentApproved=e,this.state.essential.hasConsentInteraction=t,!this.state.essential.consentApproved){this.state.essential.hasConsentInteraction&&(this.state.analytics.queue.length=0),this.saveState();return}this.cookie=document.cookie,this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.saveState(),await this.syncAllEvents()}catch(i){this.log("Error syncing on consent change",i)}}isThemePreview(){return isThemePreview||themeRole!=="main"}isAppProxyPath(){const e=["/apps/","/tools/","/a/"],t=window.location.pathname;return e.some(i=>t.startsWith(i))}clearThemeBar(e,t,i){const s=structuredClone(i);this.log("Looking for theme bar"),this.waitForElement(null,"body").then(r=>this.waitForElement(r,"#preview-bar-iframe, #PBarNextFrameWrapper").then(o=>(this.log("Found theme bar"),t&&(this.log("Removing theme bar"),o.remove()),e?this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify({...this.debugState(),stateAtEvaluation:s},ee)}):Promise.resolve(null)))).catch(r=>console.error(r))}waitForElement(e,t){return new Promise(i=>{const s=document.querySelector(t);if(s){i(s);return}const r=new MutationObserver(o=>{const n=document.querySelector(t);if(n){r.disconnect(),i(n);return}});r.observe(e??document.documentElement,{childList:!0})})}setDebug(e){this.state.essential.debugMode=e,this.saveState()}log(e,...t){let i=0;const s=e.replace(/%[sdoOfF]/g,r=>{if(i>=t.length)return r;const o=t[i++];return r==="%o"||r==="%O"?JSON.stringify(o):String(o)});this.logHistory.push(`[${new Date().toISOString()}][SL] ${s}`),!(!this.state.essential.debugMode&&!this.shopliftDebug)&&console.debug(`[SL] ${e}`,...t)}debugState(){return{state:this.state,storage:{essential:this.loadLocalStorage(this.essentialSessionKey),analytics:this.loadLocalStorage(this.analyticsSessionKey)},params:{shop:this.shop,host:this.host,eventHost:this.eventHost,cssHideClass:this.cssHideClass,testConfigs:this.testConfigs,inactiveTestConfigs:this.inactiveTestConfigs,sendPageView:this.sendPageView,isShopifyMerchantCookie
12:this.getCookie("is_shopify_merchant"),themeId,url:window.location.href,isThemePreview,themeRole,gaConfig:this.gaConfig},logHistory:this.logHistory}}createViewportObserver(e,t={}){const{threshold:i=this.VIEWPORT_TRACK_THRESHOLD,triggerOnce:s=!0}=t,r=new Set;return new IntersectionObserver(o=>{o.forEach(n=>{if(n.isIntersecting&&!r.has(n.target)){const l=n.target,c=l.getAttribute(this.DATA_SL_TEST_ID);c&&(e(c,l),s&&r.add(l))}})},{threshold:i})}applyChangesWithViewport(e,t,i,s){const r=t.selectorsForViewportTracking??t.selectors,o=n=>{if(this.state.essential.visitorTests.some(h=>h.testId===n)||this.activeViewportObservers.has(n))return;const l=[];if(r.forEach(h=>{e.querySelectorAll(h.cssSelector).forEach(b=>l.push(b))}),l.length===0)return;let c=!1;const d=()=>{c||(c=!0,i(n),u.disconnect(),this.activeViewportObservers.delete(n))},u=this.createViewportObserver(()=>{d()},{triggerOnce:!0,...s});this.activeViewportObservers.set(n,u),this.log(`Created viewport observer for test ${n}, observing ${l.length} elements`),l.forEach(h=>{h.setAttribute(this.DATA_SL_TEST_ID,String(n)),u.observe(h)}),setTimeout(()=>{c||l.forEach(h=>{const p=h.getBoundingClientRect(),b=s?.threshold??this.VIEWPORT_TRACK_THRESHOLD,E=Math.min(p.bottom,window.innerHeight)-Math.max(p.top,0),S=Math.min(p.right,window.innerWidth)-Math.max(p.left,0);p.top<window.innerHeight&&p.bottom>0&&p.left<window.innerWidth&&p.right>0&&E>0&&S>0&&E>=p.height*b&&(this.log(`Price element already visible in viewport for test ${n}:`,h),d())})},100)};t.selectors.length>0&&U(e,t,()=>{}),Te(e,{testId:t.testId,hypothesisId:t.hypothesisId,selectors:r},n=>{o(n)})}applyPriceTestWithMapLookup(e,t,i,s){if(!t.priceData){this.log("No price data for hypothesis '%s'",t.id);return}this.log("Hypothesis '%s' isControl=%s, priceData has %d variants",t.id,t.isControl,t.priceData.variants.length);const r=t.priceData.variants.slice(0,3);for(const[S,C,_]of r)this.log(" Sample priceData: variant=%s, price=%d, compareAt=%d",S,C,_);const o=j(t.priceData),n=new Set;for(const S of i)if(S.priceData)for(const[C]of S.priceData.variants)n.add(C);this.log("Price test Map lookup: %d products in hypothesis, %d total products to track",o.size,n.size);const l=t.priceData,c=new WeakSet;let d=!1;const u="[data-sl-attribute-p], [data-sl-attribute-cap], [data-sl-attribute-discount]",h=S=>{if(c.has(S))return;const C=S.getAttribute("data-sl-attribute-p"),_=S.getAttribute("data-sl-attribute-cap"),T=S.getAttribute("data-sl-attribute-discount"),m=C||_||T;if(!m||!n.has(m))return;c.add(S);const y=o.get(m);y&&(this.log("Applying price for product %s: %d cents (compare at: %d cents)",m,y.priceInCents,y.compareAtPriceInCents),Le(S,m,y,l),this.log("Applied price to element for product %s",m)),!d&&!this.state.essential.visitorTests.some(w=>w.testId===e)&&(S.setAttribute(this.DATA_SL_TEST_ID,String(e)),this.setupElementViewportTracking(S,e,()=>{d||(d=!0,s(e))}))},p=()=>{const S=document.querySelectorAll(u);this.log("Scanning for price elements, found: %d",S.length),S.forEach(h)},b=new MutationObserver(S=>{for(const C of S)C.type==="childList"&&C.addedNodes.forEach(_=>{if(_.nodeType===Node.ELEMENT_NODE){const T=_;(T.hasAttribute("data-sl-attribute-p")||T.hasAttribute("data-sl-attribute-cap")||T.hasAttribute("data-sl-attribute-discount"))&&h(T),T.querySelectorAll(u).forEach(h)}}),C.type==="attributes"&&C.target instanceof Element&&h(C.target)}),E=document.body||document.documentElement;b.observe(E,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-sl-attribute-p","data-sl-attribute-cap","data-sl-attribute-discount"]}),this.log("MutationObserver started for price elements"),p(),document.readyState==="loading"&&document.addEventListener("DOMContentLoaded",()=>{this.log("DOMContentLoaded - rescanning for price elements"),p()}),setTimeout(()=>{this.log("Delayed rescan for price elements"),p()},100),setTimeout(()=>{this.log("Final rescan for price elements"),p()},500)}setupElementViewportTracking(e,t,i){const s=this.VIEWPORT_TRACK_THRESHOLD,r=e.getBoundingClientRect(),o=Math.min(r.bottom,window.innerHeight)-Math.max(r.top,0),n=Math.min(r.right,window.innerWidth)-Math.max(r.left,0);if(r.top<window.innerHeight&&r.bottom>0&&r.left<window.innerWidth&&r.right>0&&o>0&&n>0&&o>=r.height*s){this.log("Price element already visible for test %s",t),i();return}const c=new IntersectionObserver(d=>{for(const u of d)if(u.isIntersecting&&u.intersectionRatio>=s){this.log("Price element entered viewport for test %s",t),c.disconnect(),i();break}},{threshold:s});c.observe(e)}debug(){const e=this.debugState();console.log(JSON.stringify(e,ee,2))}}(async function(){window.shopliftInstance||(window.shopliftInstance=new Ze("wakemakers-prod.myshopify.com","https://app.shoplift.ai","https://events.shoplift.ai",true,false,false,{"sendEvents":false,"mode":"gtag"},false,false,1000,[{"id":"01a087a3-1609-7de7-88bf-a0839f8741ad","startAt":"2026-09-09T19:26:47.272245Z","requiresCountry":false,"requiresRegion":false,"bayesianRevision":5,"device":"all","status":"active","visitorOption":"all","ignoreTestViewParameterEnforcement":false,"statusHistory":[{"status":"active","createdAt":"2026-09-09T19:26:47.402692Z"}],"hypotheses":[{"visitorCount":43,"trafficPercentage":0.4235073777340126,"title":"Original","domSelectors":[],"id":"01a087a0-fcf2-7932-9b63-e9081780123b","type":"product","themeId":158076305573,"affix":"ballast-control","isControl":true},{"visitorCount":58,"trafficPercentage":0.5764926222659874,"title":"Premium Product Page v1.0","domSelectors":[],"id":"01a087a1-4c65-7b75-ac70-d2b8904d0e9a","type":"product","themeId":158076305573,"affix":"ballast-system","isControl":false}],"targetAudiences":[],"title":"Complete Ballast System PDP"}
12],[],null,false),await window.shopliftInstance.init())})();async function Qe(a,e,t,i){const s=Be({log:i});if(t)return i("[SUB-PREVIEW] A side â no overlay applied; widget renders naturally"),s;const r=a.widget.widgetType,o=e?j(e):null;let n=W(e),l=J(a,n),c=l.discountMap,d=l.maxDiscount;function u(){const f=W(e);f!==n&&(n=f,l=J(a,n),c=l.discountMap,d=l.maxDiscount,i(`[SUB-PREVIEW] scope refreshed currentProductId=${n??"n/a"}, maxDiscount=${d}`))}i(`[SUB-PREVIEW] side=B, currentProductId=${n??"n/a"}, maxDiscount=${d}`);function h(f){if(!e||!o)return null;const v=Z(o),g=v?o.get(v):void 0;return g?{formattedVariantPrice:G(g.priceInCents,e),formattedDiscounted:G(g.priceInCents*(1-f/100),e)}:null}function p(f){const v=Y(a,f);if(!v)return d;const g=D(a,"subscriptionInput"),P=g.length?g[0].selector:'input[name="rc_plan"]',A=v.querySelector(`${P}:checked`);if(A){const k=c[A.value];if(k!==void 0)return k}return d}function b(f){const v=D(a,"subscriptionDiscount");for(const g of v)if(g.selector.includes("badge")||g.selector.includes("__badge")){const P=f.querySelector(g.selector);P?.textContent&&!P.textContent.includes(`${d}%`)&&$(P,A=>N(A,d))}}function E(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionCompareAt");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedVariantPrice)&&$(k,x=>/\d/.test(x)?g.formattedVariantPrice:x)}}function S(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionPrice");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedDiscounted)&&$(k,x=>/\d/.test(x)?g.formattedDiscounted:x)}}function C(f){const v=D(a,"subscriptionInput"),g=v.length?v[0].selector:'input[name="rc_plan"]',P=D(a,"subscriptionPlanDiscount"),A=P.length?P[0].selector:".rc-plans-button__discount";for(const k of Array.from(f.querySelectorAll("label"))){const x=k.querySelector(g),R=k.querySelector(A);if(x&&R?.textContent){const O=c[x.value];if(O!==void 0){const V=R.textContent.match(/[\d.]+%/)?.[0];V&&V!==`${O}%`&&$(R,L=>N(L,O))}}}}function _(f){const v=f.querySelector("select");if(v)for(const g of Array.from(v.options)){const P=c[g.value];if(P!==void 0&&g.textContent){const A=g.textContent.match(/[\d.]+%/)?.[0];A&&A!==`${P}%`&&(g.textContent=N(g.textContent,P))}}}function T(f){const v=D(a,"onetimePrice");if(!v.length||!e||!o)return;const g=Z(o),P=g?o.get(g):void 0;if(!P)return;const A=G(P.priceInCents,e),k=D(a,"onetimeContainer"),x=k.length?k[0].selector:'[part~="rc-purchase-option__onetime"]',R=f.querySelector(x);if(R)for(const O of v){const V=R.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(A)&&$(V,L=>/\d/.test(L)?A:L)}}function m(f,v){const P=D(a,"subscriptionDiscount").filter(A=>A.selector.includes("benefit")||A.selector==="rc-benefits");for(const A of P){const k=f.querySelector(A.selector);if(k?.shadowRoot){for(const x of Array.from(k.shadowRoot.querySelectorAll("li")))if(x.textContent?.includes("Save")){const R=x.textContent.match(/[\d.]+%/)?.[0];R&&R!==`${v}%`&&$(x,O=>N(O,v))}}}}let y=!1;function w(){if(!y){y=!0;try{u();const f=B(a);if(!f)return;const v=p(f);b(f),E(f,v),S(f,v),T(f);const g=Y(a,f);g&&(r==="buttons"||r==="radio"?C(g):_(g)),m(f,v)}finally{y=!1}}}const I=pe({data:a,runUpdates:w});return function(){I(),s()}}const Xe=Object.freeze(Object.defineProperty({__proto__:null,subscriptionPreviewRender:Qe},Symbol.toStringTag,{value:"Module"}))})(); })("/", { suffix: "", type: "product" }, "main", 158076305573, false)</script>
12 13<!-- End of Shoplift scripts --> 14 15 16<!-- Hyperspeed:262606 --> 17<!-- hs-shared_id:03ccf8fb --> 18 19 20
21<script>window.HS_JS_OVERRIDES = [{"load_method":"ON_ACTION","match":"static.klaviyo.com","pages":null,"match_type":"SMART_DEFER_JS","extension_id":null,"file_name":null},{"load_method":"ON_ACTION","match":"codeblackbelt","pages":null,"match_type":"SMART_DEFER_JS","extension_id":null,"file_name":null},{"load_method":"ON_ACTION","match":"chatra","pages":null,"match_type":"SMART_DEFER_JS","extension_id":null,"file_name":null},{"load_method":"ON_ACTION","match":"gorgias","pages":null,"match_type":"SMART_DEFER_JS","extension_id":null,"file_name":null},{"load_method":"ON_ACTION","match":"zdassets","pages":null,"match_type":"SMART_DEFER_JS","extension_id":null,"file_name":null},{"load_method":"ON_ACTION","match":"omappapi","pages":null,"match_type":"SMART_DEFER_JS","extension_id":null,"file_name":null},{"load_method":"ON_ACTION","match":"foursixty","pages":null,"match_type":"SMART_DEFER_JS","extension_id":null,"file_name":null},{"load_method":"ON_ACTION","match":"shopifycloud\/shopify\/assets\/shopify_pay","pages":null,"match_type":"SMART_DEFER_JS","extension_id":null,"file_name":null},{"load_method":"ON_ACTION","match":"shopifycloud\/shopify\/assets\/storefront\/features","pages":null,"match_type":"SMART_DEFER_JS","extension_id":null,"file_name":null},{"load_method":"ON_ACTION","match":"shopifycloud\/shopify\/assets\/storefront\/load_feature","pages":null,"match_type":"SMART_DEFER_JS","extension_id":null,"file_name":null},{"load_method":"ON_ACTION","match":"shopifycloud\/storefront-recaptch","pages":null,"match_type":"SMART_DEFER_JS","extension_id":null,"file_name":null},{"load_method":"ON_ACTION","match":"01a08a21-5062-724b-a3f6-05b9f88f68da\/2ab921a.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a08a21-5062-724b-a3f6-05b9f88f68da","file_name":"2ab921a.js"},{"load_method":"DEFER","match":"01a08a21-5062-724b-a3f6-05b9f88f68da\/scripts-v2.min.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a08a21-5062-724b-a3f6-05b9f88f68da","file_name":"scripts-v2.min.js"},{"load_method":"ON_ACTION","match":"01a08a21-5062-724b-a3f6-05b9f88f68da\/scripts.min.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a08a21-5062-724b-a3f6-05b9f88f68da","file_name":"scripts.min.js"},{"load_method":"DEFER","match":"01a0cdf8-b2d2-7ccd-a251-5cf8c66ad2ca\/loader.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a0cdf8-b2d2-7ccd-a251-5cf8c66ad2ca","file_name":"loader.js"},{"load_method":"ON_ACTION","match":"c1eb4680-ad4e-49c3-898d-493ebb06e626\/affirm-cart-drawer-embed-handler.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"c1eb4680-ad4e-49c3-898d-493ebb06e626","file_name":"affirm-cart-drawer-embed-handler.js"},{"load_method":"DEFER","match":"01a0d4e7-ec80-7a83-9d0e-4fd71fdcdb60\/rebuy-extensions.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a0d4e7-ec80-7a83-9d0e-4fd71fdcdb60","file_name":"rebuy-extensions.js"},{"load_method":"DEFER","match":"01a0d61e-3051-7383-be09-dc10c7351f79\/pagefly-product.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a0d61e-3051-7383-be09-dc10c7351f79","file_name":"pagefly-product.js"},{"load_method":"DEFER","match":"01a0d61e-3051-7383-be09-dc10c7351f79\/pagefly-product-media.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a0d61e-3051-7383-be09-dc10c7351f79","file_name":"pagefly-product-media.js"},{"load_method":"DEFER","match":"01a0d61e-3051-7383-be09-dc10c7351f79\/pagefly-general-helper.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a0d61e-3051-7383-be09-dc10c7351f79","file_name":"pagefly-general-helper.js"},{"load_method":"DEFER","match":"01a0d61e-3051-7383-be09-dc10c7351f79\/pagefly-slideshow-v1-v2.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_
21id":"01a0d61e-3051-7383-be09-dc10c7351f79","file_name":"pagefly-slideshow-v1-v2.js"},{"load_method":"DEFER","match":"01a0d61e-3051-7383-be09-dc10c7351f79\/pagefly-slideshow-v4.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a0d61e-3051-7383-be09-dc10c7351f79","file_name":"pagefly-slideshow-v4.js"},{"load_method":"DEFER","match":"01a0d61e-3051-7383-be09-dc10c7351f79\/pagefly-snap-slider.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a0d61e-3051-7383-be09-dc10c7351f79","file_name":"pagefly-snap-slider.js"},{"load_method":"DEFER","match":"01a0d61e-3051-7383-be09-dc10c7351f79\/pagefly-glider.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a0d61e-3051-7383-be09-dc10c7351f79","file_name":"pagefly-glider.js"},{"load_method":"DEFER","match":"01a0d61e-3051-7383-be09-dc10c7351f79\/pagefly-slideshow-v3.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a0d61e-3051-7383-be09-dc10c7351f79","file_name":"pagefly-slideshow-v3.js"},{"load_method":"DEFER","match":"01a0d61e-3051-7383-be09-dc10c7351f79\/pagefly-helper.js","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"],"match_type":"APP_EMBED_JS","extension_id":"01a0d61e-3051-7383-be09-dc10c7351f79","file_name":"pagefly-helper.js"}];</script>
vendor: 1 bytes, line 21
21
22<script>!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(self,(()=>(()=>{"use strict";var e={};(e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})})(e);const t="hyperscript/defer-load",n="ON_ACTION",r=window.HS_JS_OVERRIDES||[];function o(e,t){const n=!e||"string"!=typeof e,o=t&&t.hasAttribute("hs-ignore");if(!t&&n||o)return null;{const n=r.find((n=>e&&e.includes(n.match)||t&&t.innerHTML&&t.innerHTML.includes(n.match)&&!t.innerHTML.includes("asyncLoad")));return n?function(e,t){let n=t;if(e.cdn){n=`https://cdn.hyperspeed.me/script/${t.replace(/^(http:\/\/|https:\/\/|\/\/)/,"")}`}return{load_method:e.load_method||"default",src:n}}(n,e):null}}window.HS_LOAD_ON_ACTION_SCRIPTS=window.HS_LOAD_ON_ACTION_SCRIPTS||[];const c=document.createElement,s={src:Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype,"src"),t
22ype:Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype,"type")};function i(e,n){window.HS_LOAD_ON_ACTION_SCRIPTS.push([e,n]),e.type=t;const r=function(n){e.getAttribute("type")===t&&n.preventDefault(),e.removeEventListener("beforescriptexecute",r)};e.addEventListener("beforescriptexecute",r)}return document.createElement=function(...e){if("script"!==e[0].toLowerCase()||window.hsUnblocked)return c.bind(document)(...e);const r=c.bind(document)(...e);try{Object.defineProperties(r,{src:{...s.src,set(e){const r=o(e,null),c=r&&r.load_method===n,i=r?r.src:e;c&&s.type.set.call(this,t),s.src.set.call(this,i)}},type:{...s.type,set(e){const c=o(r.src,null);c&&c.load_method===n?s.type.set.call(this,t):s.type.set.call(this,e)}}}),r.setAttribute=function(e,t){"type"===e||"src"===e?r[e]=t:HTMLScriptElement.prototype.setAttribute.call(r,e,t)}}catch(e){console.warn("HyperScripts: unable to prevent script execution for script src ",r.src,".\n",'A likely cause would be because you are using a third-party browser extension that monkey patches the "document.createElement" function.')}return r},window.hsScriptObserver=new MutationObserver((e=>{for(let r=0;r<e.length;r++){const{addedNodes:c}=e[r];for(let e=0;e<c.length;e++){const r=c[e];if(1===r.nodeType&&"SCRIPT"===r.tagName)if(r.type===t)i(r,null);else{const e=o(r.src,r);e&&e.load_method===n&&i(r,r.type===t?null:r.type)}}}})),window.hsScriptObserver.observe(document.documentElement,{childList:!0,subtree:!0}),e})()));</script>
22 23 24<!-- Lazyload + Responsive Images-->
25<script defer src="//www.wakemakers.com/cdn/shop/t/336/assets/hs-lazysizes.min.js?v=123530508129183618731788387212"></script>
25 26 27<link rel="stylesheet" href="//www.wakemakers.com/cdn/shop/t/336/assets/hs-image-blur.css?v=157208600979694062561788387211" media="print" onload="this.media='all'; this.onload = null"> 28<!-- Third party app optimization --> 29<!-- Is an app not updating? Just click Rebuild Cache in Hyperspeed. --> 30<!-- Or, stop deferring the app by clicking View Details on App Optimization in your Theme Optimization settings. -->
31<script hs-ignore>(function(){var hsUrls=[{"load_method":"ASYNC","original_url":"https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=wakemakers-prod.myshopify.com","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"]},{"load_method":"ON_ACTION","original_url":"https:\/\/cdn.shopify.com\/s\/files\/1\/0490\/8885\/6229\/t\/300\/assets\/affirmShopify.js?v=1730246387\u0026shop=wakemakers-prod.myshopify.com","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"]},{"load_method":"ON_ACTION","original_url":"\/\/cdn.shopify.com\/proxy\/75e88df025523c7a6023f81f4d4701140eee3002e5a89ee806e9f246185e723c\/api.kimonix.com\/kimonix_void_script.js?shop=wakemakers-prod.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"]},{"load_method":"ON_ACTION","original_url":"https:\/\/d3hw6dc1ow8pp2.cloudfront.net\/reviewsWidget.min.js?shop=wakemakers-prod.myshopify.com","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"]},{"load_method":"ON_ACTION","original_url":"https:\/\/strn.rise-ai.com\/?shop=wakemakers-prod.myshopify.com","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"]},{"load_method":"ON_ACTION","original_url":"https:\/\/str.rise-ai.com\/?shop=wakemakers-prod.myshopify.com","pages":["HOME","COLLECTIONS","PRODUCT","CART","OTHER"]}];var insertBeforeBackup=Node.prototype.insertBefore;var currentPageType=getPageType();function getPageType(){var currentPage="product";if(currentPage==='index'){return'HOME';}else if(currentPage==='collection'){return'COLLECTIONS';}else if(currentPage==='product'){return'PRODUCT';}else if(currentPage==='cart'){return'CART';}else{return'OTHER';}} 32function isWhitelistedPage(script){return script.pages.includes(currentPageType);} 33function getCachedScriptUrl(url){var result=(hsUrls||[]).find(function(el){var compareUrl=el.original_url;if(url.substring(0,6)==="https:"&&el.original_url.substring(0,2)==="//"){compareUrl="https:"+el.original_url;} 34return url==compareUrl;});return result;} 35function loadScript(scriptInfo){if(isWhitelistedPage(scriptInfo)){var s=document.createElement('script');s.type='text/javascript';s.async=true;s.src=scriptInfo.original_url;var x=document.getElementsByTagName('script')[0];insertBeforeBackup.apply(x.parentNode,[s,x]);}} 36var userEvents={touch:["touchmove","touchend"],mouse:["mousemove","click","keydown","scroll"]};function isTouch(){var touchIdentifiers=" -webkit- -moz- -o- -ms- ".split(" ");if("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch){return true;} 37var query=["(",touchIdentifiers.join("touch-enabled),("),"hsterminal",")"].join("");return window.matchMedia(query).matches;} 38var actionEvents=isTouch()?userEvents.touch:userEvents.mouse;function loadOnUserAction(){(hsUrls||[]).filter(function(url){return url.load_method==='ON_ACTION';}).forEach(function(scriptInfo){loadScript(scriptInfo)}) 39actionEvents.forEach(function(userEvent){document.removeEventListener(userEvent,loadOnUserAction);});} 40Node.prototype.insertBefore=function(newNode,refNode){if(newNode.type!=="text/javascript"&&newNode.type!=="application/javascript"&&newNode.type!=="application/ecmascript"){return insertBeforeBackup.apply(this,arguments);} 41var scriptInfo=getCachedScriptUrl(newNode.src);if(!scriptInfo){return insertBeforeBackup.apply(this,arguments);} 42if(isWhitelistedPage(scriptInfo)&&scriptInfo.load_method!=='ON_ACTION'){var s=document.createElement('script');s.type='text/javascript';s.async=true;s.src=scriptInfo.original_url;insertBeforeBackup.apply(this,[s,refNode]);}} 43actionEvents.forEach(function(userEvent){document.addEventListener(userEvent,loadOnUserAction);});})();</script>
43 44 45<!-- instant.load -->
46<script defer src="//www.wakemakers.com/cdn/shop/t/336/assets/hs-instantload.min.js?v=106803949153345037901788387212"></script>
46 47 48<!-- defer JS until action -->
49<script async src="//www.wakemakers.com/cdn/shop/t/336/assets/hs-script-loader.min.js?v=24912448706018637961788387213"></script>
49 50 51 52 53 54<style id='hs-critical-css'>@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:300;src:url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-Light.woff2) format("woff2"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-Light.woff) format("woff"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-Light.svg#SourceSansPro-Light) format("svg")}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-Regular.woff2) format("woff2"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-Regular.woff) format("woff"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-Regular.svg#SourceSansPro-Regular) format("svg")}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:700;src:url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-Bold.woff2) format("woff2"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-Bold.woff) format("woff"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-Bold.svg#SourceSansPro-Bold) format("svg")}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:600;src:url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-SemiBold.woff2) format("woff2"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-SemiBold.woff) format("woff"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/SourceSansPro-SemiBold.svg#SourceSansPro-SemiBold) format("svg")}@font-face{font-family:icomoon-custom;font-style:normal;font-weight:400;src:url(https://www.wakemakers.com/cdn/shop/t/298/assets/icomoon-custom.eot) format("embedded-opentype"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/icomoon-custom.woff2) format("woff2"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/icomoon-custom.ttf) format("truetype"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/icomoon-custom.woff) format("woff"),url(https://www.wakemakers.com/cdn/shop/t/298/assets/icomoon-custom.svg#icomoon-custom) format("svg")}.rotate-\[-90deg\]{transform:var(--tw-transform)}[type=submit],button{-webkit-appearance:button}h1,h2,h3,p{margin:0}.flickity-enabled{position:relative}.flickity-viewport{height:100%;overflow:hidden;position:relative}.flickity-slider{height:100%;position:absolute;width:100%}*,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-ring-inset:var(--tw-empty,);--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-blur:var(--tw-empty,);--tw-brightness:var(--tw-empty,);--tw-contrast:var(--tw-empty,);--tw-grayscale:var(--tw-empty,);--tw-hue-rotate:var(--tw-empty,);--tw-invert:var(--tw-empty,);--tw-saturate:var(--tw-empty,);--tw-sepia:var(--tw-empty,);--tw-drop-shadow:var(--tw-empty,);--tw-filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);border:0 solid;border-color:currentColor}@media screen and (min-width:48rem){:root{--footer-height:30.3125rem}}@media screen and (min-width:64rem){:root{--footer-height:23.5625rem}}@media screen and (min-width:68.125rem){:root{--footer-height:22.0625rem}}:focus{outline:transparent solid .125rem;outline-offset:.125rem}.no-js:not(html){display:none!important}.visually-hidden:not(:focus):not(:active){clip:rect(0 0 0 0);height:0!important;height:.0625rem;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;width:0!important;width:.0625rem}.icon{display:inline-block;width:100%}.icon:not(.icon--full-color){fill:currentColor}body{font-family:Source Sans Pro,Helvetica,sans-serif}h1{font-size:1.75rem;font-weight:400}.btn{--tw-text-opacity:1;border-color:transparent;border-radius:.125rem;color:rgba(255,255,255,var(--tw-text-opacity));display:inline-block;font-weight:600;padding:.5rem 1.75rem;white-space:nowrap}.btn--green{--tw-bg-opacity:1;background-color:rgba(37,213,136,var(--tw-bg-opacity))}.btn--orange{--tw-bg-opacity:1;background-color:rgba(255,106,30,var(--tw-bg-opacity))}.btn--gray{--tw-bg-opacity:1;background-color:rgba(186,186,186,var(--tw-bg-opacity))}input[type=search]::-ms-clear,input[type=search]::-ms-reveal{display:none;height:0;width:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{dis
54play:none}.form__label{font-size:.875rem;font-weight:600;text-transform:uppercase}.z-\[2\]{z-index:2}.z-\[3\]{z-index:3}.z-\[6\]{z-index:6}.h-\[22px\]{height:1.375rem}.h-\[60px\]{height:3.75rem}.max-h-\[calc\(100vh-var\(--header-height\)\)\]{max-height:calc(100vh - var(--header-height))}.max-h-\[10px\]{max-height:.625rem}.\!max-h-\[60vh\]{max-height:60vh!important}.w-\[36px\]{width:2.25rem}.w-\[30px\]{width:1.875rem}.w-\[146px\]{width:9.125rem}.w-\[35px\]{width:2.1875rem}.w-\[22px\]{width:1.375rem}.w-\[388px\]{width:24.25rem}.w-\[40px\]{width:2.5rem}.w-\[180px\]{width:11.25rem}.w-\[20px\]{width:1.25rem}.max-w-\[1140px\]{max-width:71.25rem}.max-w-\[100vw\]{max-width:100vw}.\!max-w-\[80vh\]{max-width:80vh!important}.-translate-y-1\/2{--tw-translate-y:-50%;transform:var(--tw-transform)}.translate-x-\[25\%\]{--tw-translate-x:25%;transform:var(--tw-transform)}.translate-y-\[-25\%\]{--tw-translate-y:-25%;transform:var(--tw-transform)}.translate-y-full{--tw-translate-y:100%;transform:var(--tw-transform)}.rotate-180{transform:var(--tw-transform)}.rotate-\[-90deg\]{--tw-rotate:-90deg}.rotate-\[-90deg\],.transform{transform:var(--tw-transform)}.\!list-none{list-style-type:none!important}.rounded-\[50\%\]{border-radius:50%}.rounded-none{border-radius:0}.bg-\[\#eff1f3\]{--tw-bg-opacity:1;background-color:rgba(239,241,243,var(--tw-bg-opacity))}.fill-\[\#0199FF\]{fill:#0199ff}.fill-\[\#ECEFF1\]{fill:#eceff1}.fill-\[\#D4D9DD\]{fill:#d4d9dd}.fill-\[\#7B8084\]{fill:#7b8084}.fill-\[\#787D81\]{fill:#787d81}.fill-\[\#B3B3B3\]{fill:#b3b3b3}.fill-\[\#BBC4CB\]{fill:#bbc4cb}.fill-\[\#1395ED\]{fill:#1395ed}.fill-\[\#E1F3F5\]{fill:#e1f3f5}.stroke-\[\#BBC4CB\]{stroke:#bbc4cb}.py-\[5px\]{padding-bottom:.3125rem;padding-top:.3125rem}.pb-\[1px\]{padding-bottom:.0625rem}.text-\[24px\]{font-size:1.5rem}.text-\[20px\]{font-size:1.25rem}.text-\[18px\]{font-size:1.125rem}.text-\[0px\]{font-size:0}.text-\[32px\]{font-size:2rem}.text-\[\#39f\]{--tw-text-opacity:1;color:rgba(51,153,255,var(--tw-text-opacity))}.lazypicture img{aspect-ratio:var(--ar-mobile)}s-drawer{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity));display:none;max-width:20rem;overflow:hidden;position:fixed;transform:var(--tw-transform);width:100%;z-index:3}s-drawer[position=left],s-drawer[position=right]{bottom:0;top:0}s-drawer[position=right]{--tw-translate-x:100%;right:0;transform:var(--tw-transform)}s-drawer[position=left]{--tw-translate-x:-100%;left:0;transform:var(--tw-transform)}.drawer-background:after{--tw-bg-opacity:1;--tw-bg-opacity:.6;background-color:rgba(0,0,0,var(--tw-bg-opacity));bottom:0;content:"";height:100%;left:0;opacity:0;position:fixed;right:0;top:0;visibility:hidden;width:100%;z-index:2}s-modal{--tw-translate-y:-50%;--tw-translate-x:-50%;--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity));display:none;left:50%;margin:auto;max-height:75vh;opacity:0;overflow:auto;position:fixed;top:50%;transform:var(--tw-transform);z-index:3}.modal-background:after{--tw-bg-opacity:1;--tw-bg-opacity:.6;background-color:rgba(0,0,0,var(--tw-bg-opacity));bottom:0;content:"";height:100%;left:0;opacity:0;position:fixed;right:0;top:0;visibility:hidden;width:100%;z-index:2}#shopify-section-header{z-index:5}.announcement__slide a{--tw-text-opacity:1;color:rgba(51,153,255,var(--tw-text-opacity))}.accordion{display:block}.accordion-header{position:relative;text-align:left;width:100%}.accordion-content[aria-hidden=true]{max-height:0}.accordion-header:after{font-size:1.5rem;position:absolute;right:0;top:50%;transform:translateY(-50%)}.accordion-header[aria-expanded=true]{opacity:.7}.accordion-header[aria-expanded=true]:after{background:url(https://www.wakemakers.com/cdn/shop/t/298/assets/accordion-arrow.png) 50% no-repeat;content:"";height:1.3125rem;position:absolute;right:.9375rem;top:50%;width:1.5625rem}.accordion-header[aria-expanded=true]:after{transform:translateY(-50%) rotate(-90deg)}.accordion-content{background-color:#fff;overflow:hidden}html{-webkit-text-size-adjust:100%;line-height:1.15;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;margin:0}button,input,select{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:ButtonText dotted .0625rem}:-moz-ui-invalid{box-shadow:none}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-.125rem}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}dd,dl,h1,h2,h3,p{margin:0}button{background-color:transparent;background-image:none}ul{margin:0;padding:0}ul{list-style:none}html{font-family:Source Sans Pro,Helvetica,sans-serif;line-height:1.5}body{font-family:inherit;line-height:inherit}*,:after,:before{border-style:solid;border-width:0;box-sizing:border-box}img{border-style:solid}input::-moz-placeholder{color:#a1a1aa;opacity:1}input:-ms-input-placeholder{color:#a1a1aa;opacity:1}:-moz-focusring{outline:auto}h1,h2,h3{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,select{color:inherit;line-height:inherit;padding:0}iframe,img,svg{display:block;vertical-align:middle}img{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{border-color:currentColor}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.top-0{top:0}.top-8{top:.5rem}.top-12{top:.75rem}.top-16{top:1rem}.top-1\/2{top:50%}.right-0{right:0}.right-8{right:.5rem}.right-12{right:.75rem}.right-16{right:1rem}.bottom-0{bottom:0}.bottom-8{bottom:.5rem}.bottom-12{bottom:.75rem}.left-0{left:0}.col-span-2{grid-column:span 2/span 2}.m-16{margin:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-32{margin-bottom:2rem;margin-top:2rem}.mt-8{margin-top:.5rem}.mt-16{margin-top:1rem}.mr-8{margin-right:.5rem}.mr-12{margin-right:.75rem}.mr-16{margin-right:1rem}.mb-4{margin-bottom:.25rem}.mb-8{margin-bottom:.5rem}.mb-16{margin-bottom:1rem}.mb-32{margin-bottom:2rem}.ml-8{margin-left:.5rem}.ml-16{margin-left:1rem}.ml-auto{margin-left:auto}.block{display:block}.inline-block{display:inline-block}
54.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-12{height:.75rem}.h-16{height:1rem}.h-32{height:2rem}.h-64{height:4rem}.h-auto{height:auto}.h-full{height:100%}.min-h-header{min-height:calc(100vh - var(--header-height))}.w-12{width:.75rem}.w-16{width:1rem}.w-20{width:1.25rem}.w-24{width:1.5rem}.w-32{width:2rem}.w-64{width:4rem}.w-72{width:4.5rem}.w-2\/3{width:66.666667%}.w-3\/4{width:75%}.w-full{width:100%}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}.translate-y-full{--tw-translate-y:100%}.-translate-y-1\/2{--tw-translate-y:-50%}.rotate-180{--tw-rotate:180deg}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}.animate-pulse{-webkit-animation:2s cubic-bezier(.4,0,.6,1) infinite pulse;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-y-auto{overflow-y:auto}.rounded-br-2{border-bottom-right-radius:.125rem}.rounded-bl-2{border-bottom-left-radius:.125rem}.border-2{border-width:.125rem}.border{border-width:.0625rem}.border-t-0{border-top-width:0}.border-t{border-top-width:.0625rem}.border-b{border-bottom-width:.0625rem}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-gray{--tw-border-opacity:1;border-color:rgba(186,186,186,var(--tw-border-opacity))}.border-gray-light{--tw-border-opacity:1;border-color:rgba(240,241,243,var(--tw-border-opacity))}.border-blue-dark{--tw-border-opacity:1;border-color:rgba(33,114,195,var(--tw-border-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgba(39,39,39,var(--tw-bg-opacity))}.bg-gray-dark{--tw-bg-opacity:1;background-color:rgba(65,65,65,var(--tw-bg-opacity))}.bg-gray-light{--tw-bg-opacity:1;background-color:rgba(240,241,243,var(--tw-bg-opacity))}.bg-blue-dark{--tw-bg-opacity:1;background-color:rgba(33,114,195,var(--tw-bg-opacity))}.bg-blue{--tw-bg-opacity:1;background-color:rgba(51,153,255,var(--tw-bg-opacity))}.p-0{padding:0}.p-8{padding:.5rem}.p-16{padding:1rem}.p-32{padding:2rem}.px-12{padding-left:.75rem;padding-right:.75rem}.px-16{padding-left:1rem;padding-right:1rem}.py-8{padding-bottom:.5rem;padding-top:.5rem}.py-12{padding-bottom:.75rem;padding-top:.75rem}.py-16{padding-bottom:1rem;padding-top:1rem}.pr-16{padding-right:1rem}.pr-40{padding-right:2.5rem}.pb-32{padding-bottom:2rem}.pl-16{padding-left:1rem}.pl-32{padding-left:2rem}.text-center{text-align:center}.text-14{font-size:.875rem}.text-16{font-size:1rem}.text-20{font-size:1.25rem}.text-28{font-size:1.75rem}.font-300{font-weight:300}.font-400{font-weight:400}.font-500{font-weight:500}.font-600{font-weight:600}.font-700{font-weight:700}.uppercase{text-transform:uppercase}.italic{font-style:italic}.text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgba(39,39,39,var(--tw-text-opacity))}.text-gray-dark{--tw-text-opacity:1;color:rgba(65,65,65,var(--tw-text-opacity))}.text-gray{--tw-text-opacity:1;color:rgba(186,186,186,var(--tw-text-opacity))}.text-blue{--tw-text-opacity:1;color:rgba(51,153,255,var(--tw-text-opacity))}.text-green{--tw-text-opacity:1;color:rgba(37,213,136,var(--tw-text-opacity))}.placeholder-current::-moz-placeholder{color:currentColor}.placeholder-current:-ms-input-placeholder{color:currentColor}.opacity-0{opacity:0}
54.opacity-5{opacity:.05}*,:after,:before{--tw-shadow:0 0 transparent}*,:after,:before{--tw-ring-inset:var(--tw-empty,);--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}@media (min-width:64rem){.tabletl\:block{display:block}.tabletl\:flex{display:flex}.tabletl\:hidden{display:none}.tabletl\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.tabletl\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}}@media (min-width:64.0625rem){.desktop\:sticky{position:-webkit-sticky;position:sticky}.desktop\:m-0{margin:0}.desktop\:my-0{margin-bottom:0;margin-top:0}.desktop\:mt-12{margin-top:.75rem}.desktop\:mb-0{margin-bottom:0}.desktop\:mb-16{margin-bottom:1rem}.desktop\:block{display:block}.desktop\:grid{display:grid}.desktop\:hidden{display:none}.desktop\:items-start{align-items:flex-start}.desktop\:justify-start{justify-content:flex-start}.desktop\:gap-24{gap:1.5rem}.desktop\:border-t-0{border-top-width:0}.desktop\:p-0{padding:0}.desktop\:p-32{padding:2rem}.desktop\:px-16{padding-left:1rem;padding-right:1rem}.desktop\:px-32{padding-left:2rem;padding-right:2rem}.desktop\:pt-44{padding-top:2.75rem}.desktop\:text-left{text-align:left}}#MobileNavDrawer{max-height:calc(100% - env(safe-area-inset-bottom))}.mobile-drawer__accordion{height:calc(100% - 9.8125rem - env(safe-area-inset-bottom));overflow:scroll}.mobile-drawer__footer{padding-bottom:calc(1.875rem + env(safe-area-inset-bottom))}.search__input::-moz-placeholder{--tw-text-opacity:1;--webkit-appearance:none;border-radius:0;color:rgba(255,255,255,var(--tw-text-opacity))}.search__input:-ms-input-placeholder{--tw-text-opacity:1;--webkit-appearance:none;border-radius:0;color:rgba(255,255,255,var(--tw-text-opacity))}.product input::-webkit-inner-spin-button,.product input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.product input[type=number]{-moz-appearance:textfield}.product__tabs{top:var(--header-height)}.product__tab.active{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgba(39,39,39,var(--tw-bg-opacity));color:rgba(255,255,255,var(--tw-text-opacity))}.accordion-header.product-description-content__header:after{content:none}.product-description-content__header[aria-expanded=true] .product-description-content__icon-carat{--tw-rotate:180deg;transform:var(--tw-transform)}s-modal.product-features__modal{left:0;top:calc(5vh + var(--header-height));transform:none}.product-features__modal h3{--tw-border-opacity:1;border-bottom:.0625rem;border-color:rgba(186,186,186,var(--tw-border-opacity));border-style:solid;font-size:.875rem;font-weight:700;padding-bottom:1rem;text-transform:uppercase}.product-features__modal p{font-size:.875rem;padding-bottom:1rem;padding-top:1rem}.product-features__modal p+p{padding-top:0}.product-features__modal ul{list-style-type:disc;padding-left:1rem}.product-features__modal li{font-size:.875rem}.product-features__modal li:not(:last-child){padding-bottom:1rem}.icon-custom{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:icomoon-custom!important;font-style:normal;font-weight:400;line-height:1;text-transform:none}.icon-custom:before{font-size:1.5rem}.icon-custom-price:before{content:"\e901"}.icon-custom-return:before{content:"\e908"}.icon-custom-headset:before{content:"\e902"}.icon-custom-truck:before{content:"\e900"}.icon-custom-warning:before{content:"\e90a"}.icon-custom-phone:before{content:"\e906"}.icon-custom-mail:before{content:"\e904"}.icon-custom-boat:before{content:"\e903"}.icon-custom-prop:before{content:"\e907"}.icon-custom-surf:before{content:"\e909"}@media screen and (min-width:64.0625rem){.product__information-container{top:var(--header-height)}}@media (min-width:48rem){.lazypicture img{aspect-ratio:var(--ar-desktop,var(--ar-mobile))}.tabletp\:min-h-header-footer{min-height:calc(100vh - var(--header-height) - var(--footer-height))}.tabletp\:max-w-\[500px\]{max-width:31.25rem}}@media (min-width:64rem){.tabletl\:block{display:block}.tabletl\:flex{display:flex}.tabletl\:hidden{display:none}.tabletl\:w-\[194px\]{width:12.125rem}.tabletl\:border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.tabletl\:bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}}@media (min-width:64.0625rem){s-modal.product-features__modal{left:50%;
54top:60%;transform:var(--tw-transform)}.desktop\:sticky{position:-webkit-sticky;position:sticky}.desktop\:m-0{margin:0}.desktop\:my-0{margin-bottom:0;margin-top:0}.desktop\:mb-0{margin-bottom:0}.desktop\:mt-12{margin-top:.75rem}.desktop\:mb-16{margin-bottom:1rem}.desktop\:mt-\[-203px\]{margin-top:-12.6875rem}.desktop\:mt-\[-68px\]{margin-top:-4.25rem}.desktop\:block{display:block}.desktop\:grid{display:grid}.desktop\:hidden{display:none}.desktop\:grid-cols-\[auto\,388px\]{grid-template-columns:auto 24.25rem}.desktop\:grid-cols-\[56px\,1fr\]{grid-template-columns:3.5rem 1fr}.desktop\:items-start{align-items:flex-start}.desktop\:justify-start{justify-content:flex-start}.desktop\:gap-24{gap:1.5rem}.desktop\:border-t-0{border-top-width:0}.desktop\:p-0{padding:0}.desktop\:p-32{padding:2rem}.desktop\:px-16{padding-left:1rem;padding-right:1rem}.desktop\:px-32{padding-left:2rem;padding-right:2rem}.desktop\:pt-44{padding-top:2.75rem}.desktop\:pt-\[203px\]{padding-top:12.6875rem}.desktop\:pt-\[68px\]{padding-top:4.25rem}.desktop\:text-left{text-align:left}}a.swym-wishlist{margin-right:10px}@media all and (max-width:1000px){.product-container [data-oke-reviews-product-listing-rating]{text-align:center}}</style> 55 56 57 58 <meta charset="utf-8"> 59 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 60 <meta name="viewport" content="width=device-width,initial-scale=1"> 61 <meta name="theme-color" content=""> 62 63 64 65 66 67 68 69 70 <link rel="canonical" href="https://www.wakemakers.com/products/wakemakers-rear-lbs-ballast-bag" /> 71 72 73 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 74 <link rel="dns-prefetch" href="https://static.zdassets.com"> 75 <link rel="dns-prefetch" href="https://cdn.shopify.com"> 76 <link rel="dns-prefetch" href="https://connect.facebook.net"> 77 <link rel="dns-prefetch" href="https://static.klaviyo.com"> 78 <link rel="dns-prefetch" href="https://cdnjs.cloudflare.com"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin> 79 <link rel="shortcut icon" href="//www.wakemakers.com/cdn/shop/files/WM_Flavicon_32x32.png?v=1645204198" type="image/png"> 80 81 82 83 <title> 84 85 86 WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) | WakeMAKERS 87 88 89 </title> 90 91 92 93 <meta name="description" content="Free shipping, expert advice and our best price promise on the WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) at WakeMAKERS."> 94 95 96 97 <meta name="google-site-verification" content="hBP0yMHPaHeDIWIDkmowWuIu8TZdup5RWPePTI2uk1Y" /> 98 99 100 101<meta property="og:site_name" content="WakeMAKERS"> 102<meta property="og:url" content="https://www.wakemakers.com/products/wakemakers-rear-lbs-ballast-bag"> 103<meta property="og:title" content="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)"> 104<meta property="og:type" content="product"> 105<meta property="og:description" content="Our exclusive WakeMAKERS UniversalFIT Rear Locker Ballast Bags are making a splash in the industry and forever changing how boaters look at ballast bags. The team of product designers and engineers at WakeMAKERS agreed that a 'one-size fits all' approach that other brands are taking isn't good enough. Seeking a better "><meta property="og:image" content="http://www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"> 106 <meta property="og:image:secure_url" content="https://www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"> 107 <meta property="og:image:width" content="1000"> 108 <meta property="og:image:height" content="1001"><meta property="og:price:amount" content="169.99"> 109 <meta property="og:price:currency" content="USD"><meta name="twitter:card" content="summary_large_image"> 110<meta name="twitter:title" content="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)"> 111<meta name="twitter:description" content="Our exclusive WakeMAKERS UniversalFIT Rear Locker Ballast Bags are making a splash in the industry and forever changing how boaters look at ballast bags. The team of product designers and engineers at WakeMAKERS agreed that a 'one-size fits all' approach that other brands are taking isn't good enough. Seeking a better "> 112 113 114
114<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
114<meta name="google-site-verification" content="k_EqSBQDIB2fqxZ0vrrxpEc5tntq1MWYI1cVW0t1RqQ"> 115<meta name="facebook-domain-verification" content="wtbilbhxq5wonznkym1o618h2i3axa"> 116<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/49088856229/digital_wallets/dialog"> 117<meta id="in-context-paypal-metadata" data-shop-id="49088856229" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 118<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/41675600920741:1?ucp/version=2026-08-25&context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" type="application/json+oembed" href="https://www.wakemakers.com/products/wakemakers-rear-lbs-ballast-bag.oembed">
119<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=891355301"></script>
119 120<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
121<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=891355301&shop_id=49088856229" crossorigin="anonymous"></script>
vendor: 1 bytes, line 121
121
122<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":49088856229,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/49088856229","merchantName":"WakeMAKERS","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"WakeMAKERS","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 122
122
123<script id="shopify-features" type="application/json">{"accessToken":"3413dc84a393718bc38523d6111d9333","betas":["rich-media-storefront-analytics"],"domain":"www.wakemakers.com","predictiveSearch":true,"shopId":49088856229,"locale":"en"}</script>
vendor: 1 bytes, line 123
123
124<script>var Shopify = Shopify || {}; 125Shopify.shop = "wakemakers-prod.myshopify.com"; 126Shopify.locale = "en"; 127Shopify.currency = {"active":"USD","rate":"1.0"}; 128Shopify.country = "US"; 129Shopify.theme = {"name":"wakemakers\/live","id":158076305573,"schema_name":"WakeMakers","schema_version":"1.1.0","theme_store_id":null,"role":"main"}; 130Shopify.theme.handle = "null"; 131Shopify.theme.style = {"id":null,"handle":null}; 132Shopify.cdnHost = "www.wakemakers.com/cdn"; 133Shopify.routes = Shopify.routes || {}; 134Shopify.routes.root = "/"; 135Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 136Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 137Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 138Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 138
138
139<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 139
139
140<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 140
140
141<script> 142 window.ShopifyPay = window.ShopifyPay || {}; 143 window.ShopifyPay.apiHost = "shop.app\/pay"; 144 window.ShopifyPay.redirectState = null; 145</script>
vendor: 1 bytes, line 145
145
146<script> 147 window.Shopify = window.Shopify || {}; 148 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 149 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 150 window.Shopify.SignInWithShop.eligible = true; 151</script>
vendor: 1 bytes, line 151
151
152<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 152
152
153<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 153
153
154<script type="module"> 155 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 156 157 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 158 159</script>
vendor: 1 bytes, line 159
159
160<script> 161 window.Shopify = window.Shopify || {}; 162 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 163 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 164</script>
vendor: 1 bytes, line 164
164
165<script>(function() { 166 var isLoaded = false; 167 function asyncLoad() { 168 if (isLoaded) return; 169 isLoaded = true; 170 var urls = ["https:\/\/str.rise-ai.com\/?shop=wakemakers-prod.myshopify.com","https:\/\/strn.rise-ai.com\/?shop=wakemakers-prod.myshopify.com","https:\/\/d3hw6dc1ow8pp2.cloudfront.net\/reviewsWidget.min.js?shop=wakemakers-prod.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0490\/8885\/6229\/t\/300\/assets\/affirmShopify.js?v=1730246387\u0026shop=wakemakers-prod.myshopify.com","https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=wakemakers-prod.myshopify.com","\/\/cdn.shopify.com\/proxy\/75e88df025523c7a6023f81f4d4701140eee3002e5a89ee806e9f246185e723c\/api.kimonix.com\/kimonix_void_script.js?shop=wakemakers-prod.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"]; 171 for (var i = 0; i < urls.length; i++) { 172 var s = document.createElement('script'); 173 s.type = 'text/javascript'; 174 s.async = true; 175 s.src = urls[i]; 176 var x = document.getElementsByTagName('script')[0]; 177 x.parentNode.insertBefore(s, x); 178 } 179 }; 180 if(window.attachEvent) { 181 window.attachEvent('onload', asyncLoad); 182 } else { 183 window.addEventListener('load', asyncLoad, false); 184 } 185})();</script>
vendor: 1 bytes, line 185
185
186<script id="__st">var __st={"a":49088856229,"offset":-25200,"reqid":"1277f873-4a8e-4114-8cc8-bb4ec1b8c851-1790324395","pageurl":"www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag","u":"6168af0a9bf9","p":"product","rtyp":"product","rid":7759285649573};</script>
vendor: 1 bytes, line 186
186
187<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 187
187
188<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 188
188
189<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.wakemakers.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 189
189
190<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.wakemakers.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
190<script crossorigin="anonymous" defer="defer" src="//www.wakemakers.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 190
190
191<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 191
191
192<script> 193 window.Shopify = window.Shopify || {}; 194 window.Shopify.MCP = window.Shopify.MCP || {}; 195 window.Shopify.MCP.enabled = true; 196 window.Shopify.MCP.shop = "wakemakers-prod.myshopify.com"; 197 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.wakemakers.com\/api\/mcp"; 198 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}]; 199</script>
vendor: 1 bytes, line 199
199
200<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.wakemakers.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 201</script>
vendor: 1 bytes, line 201
201
202<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.wakemakers.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 203</script>
vendor: 1 bytes, line 203
203
204<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 205 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 206</script>
vendor: 1 bytes, line 206
206
207<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 208</script>
vendor: 1 bytes, line 208
208
209<script id='scb4127' type='text/javascript' async='' src='https://www.wakemakers.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
209<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.wakemakers.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 210<style id="shopify-accelerated-checkout-cart"> 211 #shopify-buyer-consent { 212 margin-top: 1em; 213 display: inline-block; 214 width: 100%; 215} 216 217#shopify-buyer-consent.hidden { 218 display: none; 219} 220 221#shopify-subscription-policy-button { 222 background: none; 223 border: none; 224 padding: 0; 225 text-decoration: underline; 226 font-size: inherit; 227 cursor: pointer; 228} 229 230#shopify-subscription-policy-button::before { 231 box-shadow: none; 232} 233 234 </style> 235
236<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
236 237 238 239<link 240 rel="stylesheet" 241 href="//www.wakemakers.com/cdn/shop/t/336/assets/vendor.css?v=98392603099687543171788570591" 242 media="print" 243 onload="this.media='all'; this.onload = null"> 244 245<link 246 rel="stylesheet" 247 href="//www.wakemakers.com/cdn/shop/t/336/assets/theme.css?v=95910606090487855141790231794" 248 media="print" 249 onload="this.media='all'; this.onload = null"> 250<link rel="preload" as="font" href="Liquid error (layout/theme line 100): font_url can only be used with a font drop" type="font/woff2" crossorigin><link rel="preload" as="font" href="Liquid error (layout/theme line 103): font_url can only be used with a font drop" type="font/woff2" crossorigin>
250<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
250 251 <!-- Affirm --> 252
252<script> 253 _affirm_config = { 254 public_api_key: "NWY0L4OUY56YERNZ", 255 script: "https://cdn1.affirm.com/js/v2/affirm.js", 256 session_id: "xxxxxxxxxxxxxxxxx" 257 }; 258 (function(l,g,m,e,a,f,b){var d,c=l[m]||{},h=document.createElement(f),n=document.getElementsByTagName(f)[0],k=function(a,b,c){return function(){a[b]._.push([c,arguments])}};c[e]=k(c,e,"set");d=c[e];c[a]={};c[a]._=[];d._=[];c[a][b]=k(c,a,b);a=0;for(b="set add save post open empty reset on off trigger ready setProduct".split(" ");a<b.length;a++)d[b[a]]=k(c,e,b[a]);a=0;for(b=["get","token","url","items"];a<b.length;a++)d[b[a]]=function(){};h.async=!0;h.src=g[f];n.parentNode.insertBefore(h,n);delete g[f];d(g);l[m]=c})(window,_affirm_config,"affirm","checkout","ui","script","ready"); 259 // Use your live public API Key and https://cdn1.affirm.com/js/v2/affirm.js script to point to Affirm production environment. 260 </script>
260 261 <!-- End Affirm --> 262 263 <!-- HotJar --> 264
264<script>
vendor: 133 bytes, lines 264-267
264 265 (function(h,o,t,j,a,r){ 266 h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; 267 h._hjSettings={hjid:
2672648357
vendor: 276 bytes, lines 267-273
267,hjsv:6}; 268 a=o.getElementsByTagName('head')[0]; 269 r=o.createElement('script');r.async=1; 270 r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; 271 a.appendChild(r); 272 })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); 273
273</script>
273 274
275<script>(() => {const installerKey = 'docapp-discount-auto-install'; const urlParams = new URLSearchParams(window.location.search); if (urlParams.get(installerKey)) {window.sessionStorage.setItem(installerKey, JSON.stringify({integrationId: urlParams.get('docapp-integration-id'), divClass: urlParams.get('docapp-install-class'), check: urlParams.get('docapp-check')}));}})();</script>
275 276
277<script>(() => {const previewKey = 'docapp-discount-test'; const urlParams = new URLSearchParams(window.location.search); if (urlParams.get(previewKey)) {window.sessionStorage.setItem(previewKey, JSON.stringify({active: true, integrationId: urlParams.get('docapp-discount-inst-test')}));}})();</script>
277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317<!-- BEGIN app block: shopify://apps/cartcheck/blocks/cartcheck-embed/019b2da7-455f-7b73-a9dc-aa9798ef345a --> 318
319<script> 320(function() { 321 'use strict'; 322 323 const CARTCHECK_APP_URL = 'https://cartcheck.up.railway.app'; 324 const SHOP_DOMAIN = 'wakemakers-prod.myshopify.com'; 325 326 // Customer data from Liquid (only available if logged in) 327 const customerData = { 328 id: null, 329 email: null, 330 firstName: null, 331 lastName: null, 332 name: null, 333 phone: null, 334 isLoggedIn: false 335 }; 336 337 // Debounce function to prevent too many API calls 338 function debounce(func, wait) { 339 let timeout; 340 return function executedFunction(...args) { 341 const later = () => { 342 clearTimeout(timeout); 343 func(...args); 344 }; 345 clearTimeout(timeout); 346 timeout = setTimeout(later, wait); 347 }; 348 } 349 350 // Get cart data from Shopify 351 async function getCartData() { 352 try { 353 const response = await fetch('/cart.js', { 354 method: 'GET', 355 headers: { 356 'Content-Type': 'application/json', 357 }, 358 }); 359 360 if (!response.ok) { 361 throw new Error('Failed to fetch cart'); 362 } 363 364 return await response.json(); 365 } catch (error) { 366 console.error('[Cartcheck] Error fetching cart:', error); 367 return null; 368 } 369 } 370 371 // Send cart data to Cartcheck app server 372 async function syncCartData(cart) { 373 if (!cart) return; 374 375 // Only sync if cart has items OR customer is logged in 376 // This prevents tracking empty anonymous carts 377 if (cart.item_count === 0 && !customerData.isLoggedIn) { 378 console.debug('[Cartcheck] Skipping sync - empty cart from anonymous visitor'); 379 return; 380 } 381 382 const payload = { 383 shop: SHOP_DOMAIN, 384 cart: { 385 token: cart.token, 386 itemCount: cart.item_count, 387 totalPrice: cart.total_price, 388 currency: cart.currency, 389 items: cart.items.map(item => ({ 390 id: item.id, 391 productId: item.product_id, 392 variantId: item.variant_id, 393 title: item.product_title, 394 variantTitle: item.variant_title, 395 quantity: item.quantity, 396 price: item.price, 397 linePrice: item.line_price, 398 sku: item.sku, 399 vendor: item.vendor, 400 image: item.image, 401 properties: item.properties, 402 })), 403 note: cart.note, 404 attributes: cart.attributes, 405 }, 406 customer: customerData.isLoggedIn ? { 407 id: customerData.id, 408 email: customerData.email, 409 firstName: customerData.firstName, 410 lastName: customerData.lastName, 411 name: customerData.name, 412 phone: customerData.phone, 413 } : null, 414 timestamp: new Date().toISOString(), 415 pageUrl: window.location.href, 416 }; 417 418 try { 419 const response = await fetch(`${CARTCHECK_APP_URL}/api/cart-sync`, { 420 method: 'POST', 421 headers: { 422 'Content-Type': 'application/json', 423 }, 424 body: JSON.stringify(payload), 425 mode: 'cors', 426 }); 427 428 if (!response.ok) { 429 throw new Error(`HTTP error! status: ${response.status}`); 430 } 431 432 console.debug('[Cartcheck] Cart synced successfully'); 433 } catch (error) { 434 console.error('[Cartcheck] Error syncing cart:', error); 435 } 436 } 437 438 // Debounced sync function (wait 1 second after last change) 439 const debouncedSync = debounce(async () => { 440 const cart = await getCartData(); 441 await syncCartData(cart); 442 }, 1000); 443 444 // Initial sync on page load 445 async function initialSync() { 446 const cart = await getCartData(); 447 await syncCartData(cart); 448 } 449 450 // Listen for cart changes via AJAX API interception 451 function interceptCartChanges() { 452 // Intercept fetch requests 453 const originalFetch = window.fetch; 454 window.fetch = async function(...args) { 455 const response = await originalFetch.apply(this, args); 456 457 const url = args[0]; 458 if (typeof url === 'string' && ( 459 url.includes('/cart/add') || 460 url.includes('/cart/change') || 461 url.includes('/cart/update') || 462 url.includes('/cart/clear') 463 )) { 464 // Cart was modified, sync after a short delay 465 debouncedSync(); 466 } 467 468 return response; 469 }; 470 471 // Also intercept XMLHttpRequest for older themes 472 const originalOpen = XMLHttpRequest.prototype.open; 473 XMLHttpRequest.prototype.open = function(method, url, ...rest) { 474 this._cartcheckUrl = url; 475 return originalOpen.apply(this, [method, url, ...rest]); 476 }; 477 478 const originalSend = XMLHttpRequest.prototype.send; 479 XMLHttpRequest.prototype.send = function(...args) { 480 this.addEventListener('load', function() { 481 if (typeof this._cartcheckUrl === 'string' && ( 482 this._cartcheckUrl.includes('/cart/add') || 483 this._cartcheckUrl.includes('/cart/change') || 484 this._cartcheckUrl.includes('/cart/update') || 485 this._cartcheckUrl.includes('/cart/clear') 486 )) { 487 debouncedSync(); 488 } 489 }); 490 return originalSend.apply(this, args); 491 }; 492 } 493 494 // Initialize 495 document.addEventListener('DOMContentLoaded', function() { 496 interceptCartChanges(); 497 initialSync(); 498 }); 499 500 // Also sync on visibility change (when user returns to tab) 501 document.addEventListener('visibilitychange', function() { 502 if (document.visibilityState === 'visible') { 503 debouncedSync(); 504 } 505 }); 506 507})(); 508</script>
508 509 510 511<!-- END app block --><!-- BEGIN app block: shopify://apps/elevar-conversion-tracking/blocks/dataLayerEmbed/bc30ab68-b15c-4311-811f-8ef485877ad6 --> 512 513 514
515<script type="module" dynamic> 516 const configUrl = "/a/elevar/static/configs/df97c9adf21e96563f961f8e3e733cc3dd90ccfe/config.js"; 517 const config = (await import(configUrl)).default; 518 const scriptUrl = config.script_src_app_theme_embed; 519 520 if (scriptUrl) { 521 const { handler } = await import(scriptUrl); 522 523 await handler( 524 config, 525 { 526 cartData: { 527 marketId: "3566141605", 528 localeCountryCode:"US", 529 attributes:{}, 530 cartTotal: "0.0", 531 currencyCode:"USD", 532 items: [] 533} 534, 535 user: { 536 cartTotal: "0.0", 537 currencyCode:"USD", 538 customer: {}, 539} 540, 541 isOnCartPage:false, 542 collectionView:null, 543 searchResultsView:null, 544 productView:{ 545 attributes:{}, 546 currencyCode:"USD",defaultVariant: {id:"B0079",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 547 brand:"WakeMAKERS", 548 category:"Ballast Bags", 549 variant:"30\"L x 20\"W x 20\"H - 490lbs", 550 price: "189.99", 551 productId: "7759285649573", 552 variantId: "41675600920741", 553 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675600920741"},items: [{id:"B0079",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 554 brand:"WakeMAKERS", 555 category:"Ballast Bags", 556 variant:"30\"L x 20\"W x 20\"H - 490lbs", 557 price: "189.99", 558 productId: "7759285649573", 559 variantId: "41675600920741", 560 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675600920741"},{id:"B0080",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 561 brand:"WakeMAKERS", 562 category:"Ballast Bags", 563 variant:"45\"L x 25\"W x 20\"H - 910lbs", 564 price: "249.99", 565 productId: "7759285649573", 566 variantId: "41675600953509", 567 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675600953509"},{id:"B0081",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 568 brand:"WakeMAKERS", 569 category:"Ballast Bags", 570 variant:"45\"L x 25\"W x 25\"H - 1,140lbs", 571 price: "259.99", 572 productId: "7759285649573", 573 variantId: "41675600986277", 574 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675600986277"},{id:"B0082",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 575 brand:"WakeMAKERS", 576 category:"Ballast Bags", 577 variant:"45\"L x 20\"W x 25\"H - 910lbs", 578 price: "249.99", 579 productId: "7759285649573", 580 variantId: "41675601019045", 581 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601019045"},{id:"B0083",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 582 brand:"WakeMAKERS", 583 category:"Ballast Bags", 584 variant:"45\"L x 20\"W x 20\"H - 720lbs", 585 price: "229.99", 586 productId: "7759285649573", 587 variantId: "41675601051813", 588 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601051813"},{id:"B0088",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 589 brand:"WakeMAKERS", 590 category:"Ballast Bags", 591 variant:"40\"L x 25\"W x 15\"H - 610lbs", 592 price: "199.99", 593 productId: "7759285649573", 594 variantId: "41675601084581", 595 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601084581"},{id:"B0089",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 596 brand:"WakeMAKERS", 597 category:"Ballast Bags", 598 variant:"40\"L x 20\"W x 20\"H - 640lbs", 599 price: "199.99", 600 productId: "7759285649573", 601 variantId: "41675601117349", 602 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601117349"},{id:"B0090",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 603 brand:"WakeMAKERS", 604 category:"Ballast Bags", 605 variant:"40\"L x 25\"W x 20\"H - 820lbs", 606 price: "239.99", 607 productId: "7759285649573", 608 variantId: "41675601150117", 609 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601150117"},{id:"B0091",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 610 brand:"WakeMAKERS", 611 category:"Ballast Bags", 612 variant:"35\"L x 25\"W x 15\"H - 540lbs", 613 price: "189.99", 614 productId: "7759285649573", 615 variantId: "41675601182885", 616 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601182885"},{id:"B0092",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 617 brand:"WakeMAKERS", 618 category:"Ballast Bags", 619 variant:"50\"L x 25\"W x 15\"H - 740lbs", 620 price: "229.99", 621 productId: "7759285649573", 622 variantId: "41675601215653", 623 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601215653"},{id:"B0093",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 624 brand:"WakeMAKERS", 625 category:"Ballast Bags", 626 variant:"50\"L x 25\"W x 25\"H - 1,280lbs", 627 price: "249.99", 628 productId: "7759285649573", 629 variantId: "41675601248421", 630 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601248421"},{id:"B0096",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 631 brand:"WakeMAKERS", 632 category:"Ballast Bags", 633 variant:"30\"L x 25\"W x 15\"H - 460lbs", 634 price: "179.99", 635 productId: "7759285649573", 636 variantId: "41675601281189", 637 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601281189"},{id:"B0110",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 638 brand:"WakeMAKERS", 639 category:"Ballast Bags", 640 variant:"35\"L x 20\"W x 15\"H - 430lbs", 641 price: "169.99", 642 productId: "7759285649573", 643 variantId: "41675601313957", 644 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601313957"},{id:"B0121",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 645 brand:"WakeMAKERS", 646 category:"Ballast Bags", 647 variant:"30\"L x 25\"W x 25\"H - 765lbs", 648 price: "229.99", 649 productId: "7759285649573", 650 variantId: "41675601346725", 651 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601346725"},{id:"B0122",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 652 brand:"WakeMAKERS", 653 category:"Ballast Bags", 654 variant:"45\"L x 20\"W x 15\"H - 550lbs", 655 price: "189.99", 656 productId: "7759285649573", 657 variantId: "41675601379493", 658 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601379493"},{id:"B0144",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 659 brand:"WakeMAKERS", 660 category:"Ballast Bags", 661 variant:"35\"L x 25\"W x 20\"H - 710lbs", 662 price: "229.99", 663 productId: "7759285649573", 664 variantId: "41675601412261", 665 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601412261"},{id:"B0145",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 666 brand:"WakeMAKERS", 667 category:"Ballast Bags", 668 variant:"30\"L x 25\"W x 20\"H - 610lbs", 669 price: "199.99", 670 productId: "7759285649573", 671 variantId: "41675601445029", 672 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601445029"},{id:"B0146",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 673 brand:"WakeMAKERS", 674 category:"Ballast Bags", 675 variant:"50\"L x 25\"W x 20\"H - 1,020lbs", 676 price: "259.99", 677 productId: "7759285649573", 678 variantId: "41675601477797", 679 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601477797"},{id:"B0147",name:"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 680 brand:"WakeMAKERS", 681 category:"Ballast Bags", 682 variant:"35\"L x 25\"W x 25\"H - 890lbs", 683 price: "249.99", 684 productId: "7759285649573", 685 variantId: "41675601510565", 686 compareAtPrice: "0.0",image:"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349",url:"\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601510565"},] 687 }, 688 } 689 ); 690 } 691</script>
691 692 693 694<!-- END app block --><!-- BEGIN app block: shopify://apps/okendo/blocks/theme-settings/bb689e69-ea70-4661-8fb7-ad24a2e23c29 --><!-- BEGIN app snippet: header-metafields --> 695 696 697 698 699 700 701 702 703 704 705 706 707 <link href="https://d3hw6dc1ow8pp2.cloudfront.net/styles/main.min.css" rel="stylesheet" type="text/css"> 708<style type="text/css"> 709.okeReviews .okeReviews-reviewsWidget-header-controls-writeReview { 710 display: inline-block; 711 } 712 .okeReviews .okeReviews-reviewsWidget.is-okeReviews-empty { 713 display: block; 714 } 715</style>
716<script type="application/json" id="oke-reviews-settings"> 717{"analyticsSettings":{"provider":"none"},"disableInitialReviewsFetchOnProducts":false,"locale":"en","omitMicrodata":true,"subscriberId":"6e683df2-08da-4c40-a14c-c765d5257fcf","starRatingColor":"#3399FF","recorderPlus":true,"recorderQandaPlus":true} 718</script>
718 719 720 <link rel="stylesheet" type="text/css" href="https://dov7r31oq5dkj.cloudfront.net/6e683df2-08da-4c40-a14c-c765d5257fcf/widget-style-customisations.css?v=f98b5ecc-7740-498f-a62e-e6c423102b74"> 721 722 723 724 725 726 727 728 729 730 731 732 733 734<!-- END app snippet --> 735 736<!-- BEGIN app snippet: widget-plus-initialisation-script --> 737 738 739 740 741<!-- END app snippet --> 742 743 744<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core --> 745 746 747 748 749 750 751 752<link rel="dns-prefetch" href="https://cdn.judge.me"> 753<link rel="dns-prefetch" href="https://cdn1.judge.me"> 754<link rel="dns-prefetch" href="https://api.judge.me"> 755
756<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":true,"coupon_receiving_condition":"any_review","coupon_value_type":"percentage","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"single","coupon_tier_text_enabled":false,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":false,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":false,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ n }} review/reviews","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":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","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 content","widget_review_body_placeholder_text":"Start writing 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 y
756ou! 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":"{{ shop_name }}","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"last_initial","widget_rating_filter_color":"#3399FF","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":"Q\u0026A","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.","verified_badge_text":"Verified","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":true,"widget_social_share":false,"widget_thumb":true,"widget_review_location_show":true,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":true,"widget_theme":"default","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_product_variant_reference_text":"Review for","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_product_and_store_reviews_text":"Product and store reviews","widget_reviews_in_collection_text":"Reviews in this collection","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"â
Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","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","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"branded","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":false,"featured_carousel_show_header":true,"featured_carousel_title":"Let customers speak for us","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"branded","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":true,"widget_pagination_use_custom_color":true,"widget_star_use_custom_color":false,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":false,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":false,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":true,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_icon_color":"#3399FF","qa_badge_position":"same-row","remove_judgeme_branding":true,"widget_add_search_bar":true,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","widget_sorting_most_relevant_text":"Most Relevant","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":true,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_advanced_speed_features":5,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"right","medals_widget_use_monochromatic_version":true,"medals_widget_elements_color":"#3399FF","show_reviewer_avatar":true,"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_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":true,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subt
756itle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#3399FF","widget_enable_secondary_color":true,"widget_secondary_color":"#EFEFEF","widget_summary_average_rating_text":"{{ average_rating }}","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":false,"widget_show_product_medals":true,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"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_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"#2E2E2E","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"load_more","widget_load_more_text":"Load More","widget_load_more_color":"#3399FF","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_verified_text":"Verified","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","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":true,"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.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"review_snippet_widget_round_border_style":false,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#3399FF","show_product_variant":true,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":true,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"AI-powered review summary based on recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Customers rate this store","store_summary_widget_button_text":"View customer reviews","store_summary_widget_button_theme_text":"See AI reviews summary","widget_show_review_title_input":false,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"external_form","request_store_review_after_product_review":true,"request_review_other_products_in_order":true,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#3399FF","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#3399FF","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","confirm_email_screen_title_text":"Confirm your email","confirm_email_screen_message_text":"To help keep reviews authentic, we'll send you a secure link to continue writing your review. It only takes a moment.","check_email_screen_title_text":"Check your email","check_email_screen_message_text":"We sent you an email to {{ email }}. Click the button on the email to continue.","check_email_screen_resend_message_text":"Email resent!","check_email_resend_hint_text":"Didn't get the email? Check your spam folder or [resend the email].","verification_email_rate_limit_error_text":"You've reached the limit for review attempts on this product. Please check your inbox or try again later.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_
756youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":true,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Write a review and get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_photo_text":"Write a review and add a photo or video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_video_text":"Write a review and add a video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_up_to_any_review_text":"Write a review and get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_up_to_with_photo_text":"Write a review and add a photo or video to get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_external_text":"Write a review and get a reward for your next purchase","coupon_promo_intro_external_with_photo_text":"Write a review and add a photo or video to get a reward for your next purchase","coupon_promo_intro_external_with_video_text":"Write a review and add a video to get a reward for your next purchase","coupon_promo_media_photo_text":"Add a photo or video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_photo_only_text":"Add a photo and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_video_text":"Add a video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_external_photo_text":"Add a photo or video and get a reward for your next purchase","coupon_promo_media_external_photo_only_text":"Add a photo and get a reward for your next purchase","coupon_promo_media_external_video_text":"Add a video and get a reward for your next purchase","coupon_promo_success_text":"You've got a coupon for your next purchase at {{ shop_name }}!","coupon_promo_success_subtext":"You'll receive your coupon email within the hour.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":true,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":10,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Review about the store","widget_cart_mode_aggregate_heading_text":"Customers rate this store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":false,"review_widget_qna_enabled":false,"review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural"
756:"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Rating","review_widget_filter_keyword_title":"Keyword","review_widget_clear_filters_text":"Clear filters","review_widget_expand_more_text":"More","review_widget_review_highlights_title":"Review highlights","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"Weâll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","all_reviews_widget_v2025_review_highlights_title":"Review highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"From our customers","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"WakeMAKERS","shop_currency":"USD","widget_version":"3.0","footer":true,"autopublish":false,"review_dates":true,"enable_custom_form":false,"shop_locale":"en","enable_multi_locales_translations":true,"show_review_title_input":false,"autofill_review_title":true,"review_verification_email_status":"always","require_verification_before_submit":false,"sign_in_with_
756shop_enabled":false,"customer_account_validation_enabled":true,"most_relevant_sort_enabled":true,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":false,"can_be_branded":true,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"WakeMAKERS"};</script>
756 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #39f;--jdgm-secondary-color: #EFEFEF;--jdgm-star-color: #39f;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #3399FF;--jdgm-paginate-color: #3399FF;--jdgm-border-radius: 0;--jdgm-reviewer-name-color: #2E2E2E}.jdgm-histogram__bar-content{background-color:#3399FF}.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:#39f}.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-rev__thumb-btn{color:#39f}.jdgm-rev__thumb-btn:hover{opacity:0.8}.jdgm-rev__thumb-btn:not([disabled]):hover,.jdgm-rev__thumb-btn:hover,.jdgm-rev__thumb-btn:active,.jdgm-rev__thumb-btn:visited{color:#39f}.jdgm-widget .jdgm-write-rev-link{display:none}.jdgm-widget .jdgm-rev-widg[data-number-of-reviews='0'] .jdgm-rev-widg__summary{display:none}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-widget.jdgm-all-reviews-widget,.jdgm-widget .jdgm-rev-widg{border:none;padding:0}.jdgm-author-fullname{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.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}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget{--jdgm-snippet-card-color: #fff;--jdgm-snippet-text-color: #000;--jdgm-snippet-lighter-text-color: #7B7B7B;--jdgm-snippet-star-color: #39f;--jdgm-snippet-border-radius: 0px;--jdgm-snippet-arrows-bg-color: #fff;--jdgm-snippet-arrows-color: #000}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:0px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#39f}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:0px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:0px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:0px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 0px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'WakeMAKERS'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 0px * 6 )} 757</style> <style class='jdgm-settings-style'></style> 758 759 760 761 762 <style class='jdgm-miracle-styles'> 763 @-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
763/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-spinner:empty{display:block}.jdgm-prev-badge{display:block !important} 764 765</style> 766 767 768 769 770 771 772 773 774
775<script data-cfasync='false' class='jdgm-script'> 776!function(e){window.jdgm=window.jdgm||{}; 777/* INF-1976 */ 778var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}(); 779if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;} 780jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a0cdf8-b2d2-7ccd-a251-5cf8c66ad2ca/judgeme-762/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/", 781jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)? 782setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){ 783!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d), 784(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!", 785a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))}, 786jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest; 787t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))}, 788t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll( 789".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting? 790parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"): 791jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css") 792)}))}(document); 793</script>
793 794<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a0cdf8-b2d2-7ccd-a251-5cf8c66ad2ca/judgeme-762/assets/shopify_v2.css"></noscript> 795 796<!-- BEGIN app snippet: theme_fix_tags -->
796<script> 797 (function() { 798 var jdgmThemeFixes = null; 799 if (!jdgmThemeFixes) return; 800 801 // "All themes" fix: CSS and JS applied on every theme. CSS is injected 802 // before the per-theme fix so the theme-specific CSS wins the cascade. 803 // HTML is never applied globally (too risky). 804 var allThemesFix = jdgmThemeFixes['all']; 805 if (allThemesFix && allThemesFix.css) { 806 var allStyleTag = document.createElement('style'); 807 allStyleTag.classList.add('jdgm-theme-fix-style-all'); 808 allStyleTag.innerHTML = allThemesFix.css; 809 document.head.append(allStyleTag); 810 }; 811 812 if (allThemesFix && allThemesFix.js) { 813 var allScriptTag = document.createElement('script'); 814 allScriptTag.classList.add('jdgm-theme-fix-script-all'); 815 allScriptTag.innerHTML = allThemesFix.js; 816 document.head.append(allScriptTag); 817 }; 818 819 var thisThemeFix = jdgmThemeFixes[Shopify.theme.id]; 820 if (!thisThemeFix) return; 821 822 if (thisThemeFix.html) { 823 document.addEventListener("DOMContentLoaded", function() { 824 var htmlDiv = document.createElement('div'); 825 htmlDiv.classList.add('jdgm-theme-fix-html'); 826 htmlDiv.innerHTML = thisThemeFix.html; 827 document.body.append(htmlDiv); 828 }); 829 }; 830 831 if (thisThemeFix.css) { 832 var styleTag = document.createElement('style'); 833 styleTag.classList.add('jdgm-theme-fix-style'); 834 styleTag.innerHTML = thisThemeFix.css; 835 document.head.append(styleTag); 836 }; 837 838 if (thisThemeFix.js) { 839 var scriptTag = document.createElement('script'); 840 scriptTag.classList.add('jdgm-theme-fix-script'); 841 scriptTag.innerHTML = thisThemeFix.js; 842 document.head.append(scriptTag); 843 }; 844 })(); 845</script>
845 846<!-- END app snippet --> 847<!-- End of Judge.me Core --> 848 849 850 851<!-- END app block --><!-- BEGIN app block: shopify://apps/pagefly-ai-page-builder/blocks/app-embed/83e179f7-59a0-4589-8c66-c0dddf959200 --> 852 853<!-- BEGIN app snippet: pagefly-cro-ab-testing-main --> 854 855 856 857 858 859 860
861<script> 862 ;(function () { 863 const url = new URL(window.location) 864 const viewParam = url.searchParams.get('view') 865 if (viewParam && viewParam.includes('variant-pf-')) { 866 url.searchParams.set('pf_v', viewParam) 867 url.searchParams.delete('view') 868 window.history.replaceState({}, '', url) 869 } 870 })() 871</script>
871 872 873 874
875<script type='module'> 876 877 window.PAGEFLY_CRO = window.PAGEFLY_CRO || {} 878 879 window.PAGEFLY_CRO['data_debug'] = { 880 original_template_suffix: "all_products", 881 allow_ab_test: false, 882 ab_test_start_time: 0, 883 ab_test_end_time: 0, 884 today_date_time: 1790324396000, 885 } 886 window.PAGEFLY_CRO['GA4'] = { enabled: true} 887</script>
887 888 889<!-- END app snippet --> 890 891 892 893 894 895 896 897 898
898<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-helper.js' defer='defer'></script>
898 899 900
900<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-general-helper.js' defer='defer'></script>
900 901 902
902<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-snap-slider.js' defer='defer'></script>
902 903 904
904<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-slideshow-v3.js' defer='defer'></script>
904 905 906
906<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-slideshow-v4.js' defer='defer'></script>
906 907 908
908<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-glider.js' defer='defer'></script>
908 909 910
910<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-slideshow-v1-v2.js' defer='defer'></script>
910 911 912
912<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-product-media.js' defer='defer'></script>
912 913 914
914<script src='https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-product.js' defer='defer'></script>
914 915 916
917<script id='pagefly-helper-data' type='application/json'> 918 { 919 "page_optimization": { 920 "assets_prefetching": false 921 }, 922 "elements_asset_mapper": { 923 "Accordion": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-accordion.js", 924 "Accordion3": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-accordion3.js", 925 "CountDown": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-countdown.js", 926 "GMap1": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-gmap.js", 927 "GMap2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-gmap.js", 928 "GMapBasicV2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-gmap.js", 929 "GMapAdvancedV2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-gmap.js", 930 "HTML.Video": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-htmlvideo.js", 931 "HTML.Video2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-htmlvideo2.js", 932 "HTML.Video3": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-htmlvideo2.js", 933 "BackgroundVideo": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-htmlvideo2.js", 934 "Instagram": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-instagram.js", 935 "Instagram2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-instagram.js", 936 "Insta3": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-instagram3.js", 937 "Tabs": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-tab.js", 938 "Tabs3": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-tab3.js", 939 "ProductBox": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-cart.js", 940 "FBPageBox2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-facebook.js", 941 "FBLikeButton2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-facebook.js", 942 "TwitterFeed2": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-twitter.js", 943 "Paragraph4": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-paragraph4.js", 944 945 "AliReviews": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 946 "BackInStock": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 947 "GloboBackInStock": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 948 "GrowaveWishlist": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 949 "InfiniteOptionsShopPad": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 950 "InkybayProductPersonalizer": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder
950-359/assets/pagefly-3rd-elements.js", 951 "LimeSpot": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 952 "Loox": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 953 "Opinew": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 954 "Powr": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 955 "ProductReviews": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 956 "PushOwl": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 957 "ReCharge": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 958 "Rivyo": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 959 "TrackingMore": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 960 "Vitals": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js", 961 "Wiser": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-3rd-elements.js" 962 }, 963 "custom_elements_mapper": { 964 "pf-click-action-element": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-click-action-element.js", 965 "pf-dialog-element": "https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-dialog-element.js" 966 } 967 } 968</script>
968 969
970<script id='pagefly-heatmap-config' type='application/json'> 971 {} 972</script>
vendor: 1 bytes, line 972
972
973<script> 974 (function () { 975 var el = document.getElementById('pagefly-heatmap-config') 976 if (!el) { window.__pagefly_heatmap_config__ = {}; return } 977 try { 978 window.__pagefly_heatmap_config__ = JSON.parse(el.textContent || '{}') || {} 979 } catch (e) { 980 window.__pagefly_heatmap_config__ = {} 981 } 982 })() 983</script>
vendor: 1 bytes, line 983
983
984<script> 985 // Heatmap overlay loader. Three gates, all of them cheap, none of them trusting the URL: 986 // the visitor must have arrived on a pf_heatmap link, the SERVER must have published an 987 // overlay path in the metafield, and this page must already be one the merchant enabled 988 // tracking for. The last gate is what stops a crafted link pulling the asset onto an 989 // arbitrary storefront page. Everything else is decided inside the asset, and by the server. 990 (function () { 991 var cfg = window.__pagefly_heatmap_config__ || {} 992 var id = (window.__pagefly_page_setting__ || {}).pageId 993 if (!/[#&]pf_heatmap=/.test(window.location.hash || '')) return 994 if (!cfg.overlay_data_path || !Array.isArray(cfg.enabled_page_ids)) return 995 if (!id || cfg.enabled_page_ids.indexOf(id) === -1) return 996 var s = document.createElement('script') 997 s.src = 'https://cdn.shopify.com/extensions/01a0d61e-3051-7383-be09-dc10c7351f79/pagefly-ai-page-builder-359/assets/pagefly-heatmap-overlay.js' 998 s.defer = true 999 document.head.appendChild(s) 1000 })() 1001</script>
1001 1002 1003<!-- BEGIN app snippet: pf-ai-schema --> 1004<!-- END app snippet --> 1005 1006 1007<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020
1020<script async src="https://static.klaviyo.com/onsite/js/qBA9D8/klaviyo.js?company_id=qBA9D8"></script>
1020 1021
1021<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>
1021 1022 1023 1024
1024<script id="viewed_product"> 1025 if (item == null) { 1026 var _learnq = _learnq || []; 1027 1028 var MetafieldReviews = null 1029 var MetafieldYotpoRating = null 1030 var MetafieldYotpoCount = null 1031 var MetafieldLooxRating = null 1032 var MetafieldLooxCount = null 1033 var okendoProduct = null 1034 var okendoProductReviewCount = null 1035 var okendoProductReviewAverageValue = null 1036 try { 1037 // The following fields are used for Customer Hub recently viewed in order to add reviews. 1038 // This information is not part of __kla_viewed. Instead, it is part of __kla_viewed_reviewed_items 1039 MetafieldReviews = {"rating":{"scale_min":"1.0","scale_max":"5.0","value":"4.6"},"rating_count":23}; 1040 MetafieldYotpoRating = null 1041 MetafieldYotpoCount = null 1042 MetafieldLooxRating = null 1043 MetafieldLooxCount = null 1044 1045 okendoProduct = {"attributeRatings":[],"fiveStarReviewCount":17,"mediaCount":9,"percentageRecommended":96,"reviewAverageValue":"4.6","reviewCount":23} 1046 // If the okendo metafield is not legacy, it will error, which then requires the new json formatted data 1047 if (okendoProduct && 'error' in okendoProduct) { 1048 okendoProduct = null 1049 } 1050 okendoProductReviewCount = okendoProduct ? okendoProduct.reviewCount : null 1051 okendoProductReviewAverageValue = okendoProduct ? okendoProduct.reviewAverageValue : null 1052 } catch (error) { 1053 console.error('Error in Klaviyo onsite reviews tracking:', error); 1054 } 1055 1056 var item = { 1057 Name: "WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 1058 ProductID: 7759285649573, 1059 Categories: ["Ballast Combos and Upgrades","Ballast Featured Products","Black Friday - Ballast","Discount Eligible Products","Featured Products","Featured Products*","Heaters \u0026 Accessories","Jetpilot","MB Sports Wakeboard Boat Ballast","Meguiars","Showers \u0026 Accessories","Slide Anchor","WakeMAKERS Ballast Bags","WakeMAKERS Ballast Bags, Combos, Upgrades","WakeMAKERS Brand","WakeMAKERS Brand","WakeMAKERS Featured Products","Wakesurf Ballast Bags"], 1060 ImageURL: "https://www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8_grande.jpg?v=1731575349", 1061 URL: "https://www.wakemakers.com/products/wakemakers-rear-lbs-ballast-bag", 1062 Brand: "WakeMAKERS", 1063 Price: "$169.99", 1064 Value: "169.99", 1065 CompareAtPrice: "$0.00" 1066 }; 1067 _learnq.push(['track', 'Viewed Product', item]); 1068 _learnq.push(['trackViewedItem', { 1069 Title: item.Name, 1070 ItemId: item.ProductID, 1071 Categories: item.Categories, 1072 ImageUrl: item.ImageURL, 1073 Url: item.URL, 1074 Metadata: { 1075 Brand: item.Brand, 1076 Price: item.Price, 1077 Value: item.Value, 1078 CompareAtPrice: item.CompareAtPrice 1079 }, 1080 metafields:{ 1081 reviews: MetafieldReviews, 1082 yotpo:{ 1083 rating: MetafieldYotpoRating, 1084 count: MetafieldYotpoCount, 1085 }, 1086 loox:{ 1087 rating: MetafieldLooxRating, 1088 count: MetafieldLooxCount, 1089 }, 1090 okendo: { 1091 rating: okendoProductReviewAverageValue, 1092 count: okendoProductReviewCount, 1093 } 1094 } 1095 }]); 1096 } 1097 </script>
1097 1098 1099 1100 1101 1102 1103
1103<script> 1104 window.klaviyoReviewsProductDesignMode = false 1105 </script>
1105 1106 1107 1108 1109 <!-- BEGIN app snippet: customer-hub-data -->
1109<script> 1110 if (!window.customerHub) { 1111 window.customerHub = {}; 1112 } 1113 window.customerHub.storefrontRoutes = { 1114 login: "https://www.wakemakers.com/customer_authentication/redirect?locale=en®ion_country=US?return_url=%2F%23k-hub", 1115 register: "https://account.wakemakers.com?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ3YWtlbWFrZXJzLXByb2QubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkwOTI5MTk2LCJuYmYiOjE3OTAzMjQzOTZ9.9mL3NRAK_GW5e5Kk-pCcXB1AAjvhQN61OohpJ-QC-Q0?return_url=%2F%23k-hub", 1116 logout: "/account/logout", 1117 profile: "/account", 1118 addresses: "/account/addresses", 1119 }; 1120 1121 window.customerHub.userId = null; 1122 1123 window.customerHub.storeDomain = "wakemakers-prod.myshopify.com"; 1124 1125 1126 window.customerHub.activeProduct = { 1127 name: "WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 1128 category: null, 1129 imageUrl: "https://www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8_grande.jpg?v=1731575349", 1130 id: "7759285649573", 1131 link: "https://www.wakemakers.com/products/wakemakers-rear-lbs-ballast-bag", 1132 options: [ 1133 1134 { 1135 name: "Bag Size", 1136 values: [ 1137 1138 1139 1140 { 1141 name: "30\"L x 20\"W x 20\"H - 490lbs", 1142 colorHex: null, 1143 swatchImageUrl: null 1144 }, 1145 1146 1147 1148 { 1149 name: "45\"L x 25\"W x 20\"H - 910lbs", 1150 colorHex: null, 1151 swatchImageUrl: null 1152 }, 1153 1154 1155 1156 { 1157 name: "45\"L x 25\"W x 25\"H - 1,140lbs", 1158 colorHex: null, 1159 swatchImageUrl: null 1160 }, 1161 1162 1163 1164 { 1165 name: "45\"L x 20\"W x 25\"H - 910lbs", 1166 colorHex: null, 1167 swatchImageUrl: null 1168 }, 1169 1170 1171 1172 { 1173 name: "45\"L x 20\"W x 20\"H - 720lbs", 1174 colorHex: null, 1175 swatchImageUrl: null 1176 }, 1177 1178 1179 1180 { 1181 name: "40\"L x 25\"W x 15\"H - 610lbs", 1182 colorHex: null, 1183 swatchImageUrl: null 1184 }, 1185 1186 1187 1188 { 1189 name: "40\"L x 20\"W x 20\"H - 640lbs", 1190 colorHex: null, 1191 swatchImageUrl: null 1192 }, 1193 1194 1195 1196 { 1197 name: "40\"L x 25\"W x 20\"H - 820lbs", 1198 colorHex: null, 1199 swatchImageUrl: null 1200 }, 1201 1202 1203 1204 { 1205 name: "35\"L x 25\"W x 15\"H - 540lbs", 1206 colorHex: null, 1207 swatchImageUrl: null 1208 }, 1209 1210 1211 1212 { 1213 name: "50\"L x 25\"W x 15\"H - 740lbs", 1214 colorHex: null, 1215 swatchImageUrl: null 1216 }, 1217 1218 1219 1220 { 1221 name: "50\"L x 25\"W x 25\"H - 1,280lbs", 1222 colorHex: null, 1223 swatchImageUrl: null 1224 }, 1225 1226 1227 1228 { 1229 name: "30\"L x 25\"W x 15\"H - 460lbs", 1230 colorHex: null, 1231 swatchImageUrl: null 1232 }, 1233 1234 1235 1236 { 1237 name: "35\"L x 20\"W x 15\"H - 430lbs", 1238 colorHex: null, 1239 swatchImageUrl: null 1240 }, 1241 1242 1243 1244 { 1245 name: "30\"L x 25\"W x 25\"H - 765lbs", 1246 colorHex: null, 1247 swatchImageUrl: null 1248 }, 1249 1250 1251 1252 { 1253 name: "45\"L x 20\"W x 15\"H - 550lbs", 1254 colorHex: null, 1255 swatchImageUrl: null 1256 }, 1257 1258 1259 1260 { 1261 name: "35\"L x 25\"W x 20\"H - 710lbs", 1262 colorHex: null, 1263 swatchImageUrl: null 1264 }, 1265 1266 1267 1268 { 1269 name: "30\"L x 25\"W x 20\"H - 610lbs", 1270 colorHex: null, 1271 swatchImageUrl: null 1272 }, 1273 1274 1275 1276 { 1277 name: "50\"L x 25\"W x 20\"H - 1,020lbs", 1278 colorHex: null, 1279 swatchImageUrl: null 1280 }, 1281 1282 1283 1284 { 1285 name: "35\"L x 25\"W x 25\"H - 890lbs", 1286 colorHex: null, 1287 swatchImageUrl: null 1288 } 1289 1290 ] 1291 } 1292 1293 ], 1294 variants: [ 1295 1296 { 1297 id: "41675600920741", 1298 selectedOptions: [ 1299 1300 1301 { 1302 name: "Bag Size", 1303 value: "30\"L x 20\"W x 20\"H - 490lbs" 1304 } 1305 1306 ], 1307 1308 imageUrl: null, 1309 1310 price: "18999", 1311 currency: "USD", 1312 availableForSale: true, 1313 title: "30\"L x 20\"W x 20\"H - 490lbs", 1314 }, 1315 1316 { 1317 id: "41675600953509", 1318 selectedOptions: [ 1319 1320 1321 { 1322 name: "Bag Size", 1323 value: "45\"L x 25\"W x 20\"H - 910lbs" 1324 } 1325 1326 ], 1327 1328 imageUrl: null, 1329 1330 price: "24999", 1331 currency: "USD", 1332 availableForSale: true, 1333 title: "45\"L x 25\"W x 20\"H - 910lbs", 1334 }, 1335 1336 { 1337 id: "41675600986277", 1338 selectedOptions: [ 1339 1340 1341 { 1342 name: "Bag Size", 1343 value: "45\"L x 25\"W x 25\"H - 1,140lbs" 1344 } 1345 1346 ], 1347 1348 imageUrl: null, 1349 1350 price: "25999", 1351 currency: "USD", 1352 availableForSale: true, 1353 title: "45\"L x 25\"W x 25\"H - 1,140lbs", 1354 }, 1355 1356 { 1357 id: "41675601019045", 1358 selectedOptions: [ 1359 1360 1361 { 1362 name: "Bag Size", 1363 value: "45\"L x 20\"W x 25\"H - 910lbs" 1364 } 1365 1366 ], 1367 1368 imageUrl: null, 1369 1370 price: "24999", 1371 currency: "USD", 1372 availableForSale: true, 1373 title: "45\"L x 20\"W x 25\"H - 910lbs", 1374 }, 1375 1376 { 1377 id: "41675601051813", 1378 selectedOptions: [ 1379 1380 1381 { 1382 name: "Bag Size", 1383 value: "45\"L x 20\"W x 20\"H - 720lbs" 1384 } 1385 1386 ], 1387 1388 imageUrl: null, 1389 1390 price: "22999", 1391 currency: "USD", 1392 availableForSale: true, 1393 title: "45\"L x 20\"W x 20\"H - 720lbs", 1394 }, 1395 1396 { 1397 id: "41675601084581", 1398 selectedOptions: [ 1399 1400 1401 { 1402 name: "Bag Size", 1403 value: "40\"L x 25\"W x 15\"H - 610lbs" 1404 } 1405 1406 ], 1407 1408 imageUrl: null, 1409 1410 price: "19999", 1411 currency: "USD", 1412 availableForSale: true, 1413 title: "40\"L x 25\"W x 15\"H - 610lbs", 1414 }, 1415 1416 { 1417 id: "41675601117349", 1418 selectedOptions: [ 1419 1420 1421 { 1422 name: "Bag Size", 1423 value: "40\"L x 20\"W x 20\"H - 640lbs" 1424 } 1425 1426 ], 1427 1428 imageUrl: null, 1429 1430 price: "19999", 1431 currency: "USD", 1432 availableForSale: true, 1433 title: "40\"L x 20\"W x 20\"H - 640lbs", 1434 }, 1435 1436 { 1437 id: "41675601150117", 1438 selectedOptions: [ 1439 1440 1441 { 1442 name: "Bag Size", 1443 value: "40\"L x 25\"W x 20\"H - 820lbs" 1444 } 1445 1446 ], 1447 1448 imageUrl: null, 1449 1450 price: "23999", 1451 currency: "USD", 1452 availableForSale: true, 1453 title: "40\"L x 25\"W x 20\"H - 820lbs", 1454 }, 1455 1456 { 1457 id: "41675601182885", 1458 selectedOptions: [ 1459 1460 1461 { 1462 name: "Bag Size", 1463 value: "35\"L x 25\"W x 15\"H - 540lbs" 1464 } 1465 1466 ], 1467 1468 imageUrl: null, 1469 1470 price: "18999", 1471 currency: "USD", 1472 availableForSale: true, 1473 title: "35\"L x 25\"W x 15\"H - 540lbs", 1474 }, 1475 1476 { 1477 id: "41675601215653", 1478 selectedOptions: [ 1479 1480 1481 { 1482 name: "Bag Size", 1483 value: "50\"L x 25\"W x 15\"H - 740lbs" 1484 } 1485 1486 ], 1487 1488 imageUrl: null, 1489 1490 price: "22999", 1491 currency: "USD", 1492 availableForSale: true, 1493 title: "50\"L x 25\"W x 15\"H - 740lbs", 1494 }, 1495 1496 { 1497 id: "41675601248421", 1498 selectedOptions: [ 1499 1500 1501 { 1502 name: "Bag Size", 1503 value: "50\"L x 25\"W x 25\"H - 1,280lbs" 1504 } 1505 1506 ], 1507 1508 imageUrl: null, 1509 1510 price: "24999", 1511 currency: "USD", 1512 availableForSale: true, 1513 title: "50\"L x 25\"W x 25\"H - 1,280lbs", 1514 }, 1515 1516 { 1517 id: "41675601281189", 1518 selectedOptions: [ 1519 1520 1521 { 1522 name: "Bag Size", 1523 value: "30\"L x 25\"W x 15\"H - 460lbs" 1524 } 1525 1526 ], 1527 1528 imageUrl: null, 1529 1530 price: "17999", 1531 currency: "USD", 1532 availableForSale: true, 1533 title: "30\"L x 25\"W x 15\"H - 460lbs", 1534 }, 1535 1536 { 1537 id: "41675601313957", 1538 selectedOptions: [ 1539 1540 1541 { 1542 name: "Bag Size", 1543 value: "35\"L x 20\"W x 15\"H - 430lbs" 1544 } 1545 1546 ], 1547 1548 imageUrl: null, 1549 1550 price: "16999", 1551 currency: "USD", 1552 availableForSale: true, 1553 title: "35\"L x 20\"W x 15\"H - 430lbs", 1554 }, 1555 1556 { 1557 id: "41675601346725", 1558 selectedOptions: [ 1559 1560 1561 { 1562 name: "Bag Size", 1563 value: "30\"L x 25\"W x 25\"H - 765lbs" 1564 } 1565 1566 ], 1567 1568 imageUrl: null, 1569 1570 price: "22999", 1571 currency: "USD", 1572 availableForSale: true, 1573 title: "30\"L x 25\"W x 25\"H - 765lbs", 1574 }, 1575 1576 { 1577 id: "41675601379493", 1578 selectedOptions: [ 1579 1580 1581 { 1582 name: "Bag Size", 1583 value: "45\"L x 20\"W x 15\"H - 550lbs" 1584 } 1585 1586 ], 1587 1588 imageUrl: null, 1589 1590 price: "18999", 1591 currency: "USD", 1592 availableForSale: true, 1593 title: "45\"L x 20\"W x 15\"H - 550lbs", 1594 }, 1595 1596 { 1597 id: "41675601412261", 1598 selectedOptions: [ 1599 1600 1601 { 1602 name: "Bag Size", 1603 value: "35\"L x 25\"W x 20\"H - 710lbs" 1604 } 1605 1606 ], 1607 1608 imageUrl: null, 1609 1610 price: "22999", 1611 currency: "USD", 1612 availableForSale: true, 1613 title: "35\"L x 25\"W x 20\"H - 710lbs", 1614 }, 1615 1616 { 1617 id: "41675601445029", 1618 selectedOptions: [ 1619 1620 1621 { 1622 name: "Bag Size", 1623 value: "30\"L x 25\"W x 20\"H - 610lbs" 1624 } 1625 1626 ], 1627 1628 imageUrl: null, 1629 1630 price: "19999", 1631 currency: "USD", 1632 availableForSale: true, 1633 title: "30\"L x 25\"W x 20\"H - 610lbs", 1634 }, 1635 1636 { 1637 id: "41675601477797", 1638 selectedOptions: [ 1639 1640 1641 { 1642 name: "Bag Size", 1643 value: "50\"L x 25\"W x 20\"H - 1,020lbs" 1644 } 1645 1646 ], 1647 1648 imageUrl: null, 1649 1650 price: "25999", 1651 currency: "USD", 1652 availableForSale: true, 1653 title: "50\"L x 25\"W x 20\"H - 1,020lbs", 1654 }, 1655 1656 { 1657 id: "41675601510565", 1658 selectedOptions: [ 1659 1660 1661 { 1662 name: "Bag Size", 1663 value: "35\"L x 25\"W x 25\"H - 890lbs" 1664 } 1665 1666 ], 1667 1668 imageUrl: null, 1669 1670 price: "24999", 1671 currency: "USD", 1672 availableForSale: true, 1673 title: "35\"L x 25\"W x 25\"H - 890lbs", 1674 }, 1675 1676 ], 1677 };
1678 window.customerHub.activeProduct.variants.forEach((variant) => { 1679 1680 variant.price = `${variant.price.slice(0, -2)}.${variant.price.slice(-2)}`; 1681 }); 1682 1683 1684 1685 window.customerHub.storeLocale = { 1686 currentLanguage: 'en', 1687 currentCountry: 'US', 1688 availableLanguages: [ 1689 1690 { 1691 iso_code: 'en', 1692 endonym_name: 'English' 1693 } 1694 1695 ], 1696 availableCountries: [ 1697 1698 { 1699 iso_code: 'AF', 1700 name: 'Afghanistan', 1701 currency_code: 'AFN' 1702 }, 1703 1704 { 1705 iso_code: 'AX', 1706 name: 'à land Islands', 1707 currency_code: 'EUR' 1708 }, 1709 1710 { 1711 iso_code: 'AL', 1712 name: 'Albania', 1713 currency_code: 'ALL' 1714 }, 1715 1716 { 1717 iso_code: 'DZ', 1718 name: 'Algeria', 1719 currency_code: 'DZD' 1720 }, 1721 1722 { 1723 iso_code: 'AD', 1724 name: 'Andorra', 1725 currency_code: 'EUR' 1726 }, 1727 1728 { 1729 iso_code: 'AO', 1730 name: 'Angola', 1731 currency_code: 'USD' 1732 }, 1733 1734 { 1735 iso_code: 'AI', 1736 name: 'Anguilla', 1737 currency_code: 'XCD' 1738 }, 1739 1740 { 1741 iso_code: 'AG', 1742 name: 'Antigua & Barbuda', 1743 currency_code: 'XCD' 1744 }, 1745 1746 { 1747 iso_code: 'AR', 1748 name: 'Argentina', 1749 currency_code: 'USD' 1750 }, 1751 1752 { 1753 iso_code: 'AM', 1754 name: 'Armenia', 1755 currency_code: 'AMD' 1756 }, 1757 1758 { 1759 iso_code: 'AW', 1760 name: 'Aruba', 1761 currency_code: 'AWG' 1762 }, 1763 1764 { 1765 iso_code: 'AC', 1766 name: 'Ascension Island', 1767 currency_code: 'SHP' 1768 }, 1769 1770 { 1771 iso_code: 'AU', 1772 name: 'Australia', 1773 currency_code: 'AUD' 1774 }, 1775 1776 { 1777 iso_code: 'AT', 1778 name: 'Austria', 1779 currency_code: 'EUR' 1780 }, 1781 1782 { 1783 iso_code: 'AZ', 1784 name: 'Azerbaijan', 1785 currency_code: 'AZN' 1786 }, 1787 1788 { 1789 iso_code: 'BS', 1790 name: 'Bahamas', 1791 currency_code: 'BSD' 1792 }, 1793 1794 { 1795 iso_code: 'BH', 1796 name: 'Bahrain', 1797 currency_code: 'USD' 1798 }, 1799 1800 { 1801 iso_code: 'BD', 1802 name: 'Bangladesh', 1803 currency_code: 'BDT' 1804 }, 1805 1806 { 1807 iso_code: 'BB', 1808 name: 'Barbados', 1809 currency_code: 'BBD' 1810 }, 1811 1812 { 1813 iso_code: 'BY', 1814 name: 'Belarus', 1815 currency_code: 'USD' 1816 }, 1817 1818 { 1819 iso_code: 'BE', 1820 name: 'Belgium', 1821 currency_code: 'EUR' 1822 }, 1823 1824 { 1825 iso_code: 'BZ', 1826 name: 'Belize', 1827 currency_code: 'BZD' 1828 }, 1829 1830 { 1831 iso_code: 'BM', 1832 name: 'Bermuda', 1833 currency_code: 'USD' 1834 }, 1835 1836 { 1837 iso_code: 'BO', 1838 name: 'Bolivia', 1839 currency_code: 'BOB' 1840 }, 1841 1842 { 1843 iso_code: 'BA', 1844 name: 'Bosnia & Herzegovina', 1845 currency_code: 'BAM' 1846 }, 1847 1848 { 1849 iso_code: 'BW', 1850 name: 'Botswana', 1851 currency_code: 'BWP' 1852 }, 1853 1854 { 1855 iso_code: 'BR', 1856 name: 'Brazil', 1857 currency_code: 'USD' 1858 }, 1859 1860 { 1861 iso_code: 'IO', 1862 name: 'British Indian Ocean Territory', 1863 currency_code: 'USD' 1864 }, 1865 1866 { 1867 iso_code: 'VG', 1868 name: 'British Virgin Islands', 1869 currency_code: 'USD' 1870 }, 1871 1872 { 1873 iso_code: 'BN', 1874 name: 'Brunei', 1875 currency_code: 'BND' 1876 }, 1877 1878 { 1879 iso_code: 'BG', 1880 name: 'Bulgaria', 1881 currency_code: 'EUR' 1882 }, 1883 1884 { 1885 iso_code: 'BF', 1886 name: 'Burkina Faso', 1887 currency_code: 'XOF' 1888 }, 1889 1890 { 1891 iso_code: 'KH', 1892 name: 'Cambodia', 1893 currency_code: 'KHR' 1894 }, 1895 1896 { 1897 iso_code: 'CM', 1898 name: 'Cameroon', 1899 currency_code: 'XAF' 1900 }, 1901 1902 { 1903 iso_code: 'CA', 1904 name: 'Canada', 1905 currency_code: 'CAD' 1906 }, 1907 1908 { 1909 iso_code: 'CV', 1910 name: 'Cape Verde', 1911 currency_code: 'CVE' 1912 }, 1913 1914 { 1915 iso_code: 'BQ', 1916 name: 'Caribbean Netherlands', 1917 currency_code: 'USD' 1918 }, 1919 1920 { 1921 iso_code: 'KY', 1922 name: 'Cayman Islands', 1923 currency_code: 'KYD' 1924 }, 1925 1926 { 1927 iso_code: 'TD', 1928 name: 'Chad', 1929 currency_code: 'XAF' 1930 }, 1931 1932 { 1933 iso_code: 'CL', 1934 name: 'Chile', 1935 currency_code: 'USD' 1936 }, 1937 1938 { 1939 iso_code: 'CN', 1940 name: 'China', 1941 currency_code: 'CNY' 1942 }, 1943 1944 { 1945 iso_code: 'CX', 1946 name: 'Christmas Island', 1947 currency_code: 'AUD' 1948 }, 1949 1950 { 1951 iso_code: 'CC', 1952 name: 'Cocos (Keeling) Islands', 1953 currency_code: 'AUD' 1954 }, 1955 1956 { 1957 iso_code: 'CO', 1958 name: 'Colombia', 1959 currency_code: 'USD' 1960 }, 1961 1962 { 1963 iso_code: 'KM', 1964 name: 'Comoros', 1965 currency_code: 'KMF' 1966 }, 1967 1968 { 1969 iso_code: 'CK', 1970 name: 'Cook Islands', 1971 currency_code: 'NZD' 1972 }, 1973 1974 { 1975 iso_code: 'CR', 1976 name: 'Costa Rica', 1977 currency_code: 'CRC' 1978 }, 1979 1980 { 1981 iso_code: 'CI', 1982 name: 'Côte dâIvoire', 1983 currency_code: 'XOF' 1984 }, 1985 1986 { 1987 iso_code: 'HR', 1988 name: 'Croatia', 1989 currency_code: 'EUR' 1990 }, 1991 1992 { 1993 iso_code: 'CW', 1994 name: 'Curaçao', 1995 currency_code: 'ANG' 1996 }, 1997 1998 { 1999 iso_code: 'CY', 2000 name: 'Cyprus', 2001 currency_code: 'EUR' 2002 }, 2003 2004 { 2005 iso_code: 'CZ', 2006 name: 'Czechia', 2007 currency_code: 'CZK' 2008 }, 2009 2010 { 2011 iso_code: 'DK', 2012 name: 'Denmark', 2013 currency_code: 'DKK' 2014 }, 2015 2016 { 2017 iso_code: 'DJ', 2018 name: 'Djibouti', 2019 currency_code: 'DJF' 2020 }, 2021 2022 { 2023 iso_code: 'DM', 2024 name: 'Dominica', 2025 currency_code: 'XCD' 2026 }, 2027 2028 { 2029 iso_code: 'DO', 2030 name: 'Dominican Republic', 2031 currency_code: 'DOP' 2032 }, 2033 2034 { 2035 iso_code: 'EC', 2036 name: 'Ecuador', 2037 currency_code: 'USD' 2038 }, 2039 2040 { 2041 iso_code: 'EG', 2042 name: 'Egypt', 2043 currency_code: 'EGP' 2044 }, 2045 2046 { 2047 iso_code: 'SV', 2048 name: 'El Salvador', 2049 currency_code: 'USD' 2050 }, 2051 2052 { 2053 iso_code: 'GQ', 2054 name: 'Equatorial Guinea', 2055 currency_code: 'XAF' 2056 }, 2057 2058 { 2059 iso_code: 'EE', 2060 name: 'Estonia', 2061 currency_code: 'EUR' 2062 }, 2063 2064 { 2065 iso_code: 'FK', 2066 name: 'Falkland Islands', 2067 currency_code: 'FKP' 2068 }, 2069 2070 { 2071 iso_code: 'FO', 2072 name: 'Faroe Islands', 2073 currency_code: 'DKK' 2074 }, 2075 2076 { 2077 iso_code: 'FJ', 2078 name: 'Fiji', 2079 currency_code: 'FJD' 2080 }, 2081 2082 { 2083 iso_code: 'FI', 2084 name: 'Finland', 2085 currency_code: 'EUR' 2086 }, 2087 2088 { 2089 iso_code: 'FR', 2090 name: 'France', 2091 currency_code: 'EUR' 2092 }, 2093 2094 { 2095 iso_code: 'PF', 2096 name: 'French Polynesia', 2097 currency_code: 'XPF' 2098 }, 2099 2100 { 2101 iso_code: 'TF', 2102 name: 'French Southern Territories', 2103 currency_code: 'EUR' 2104 }, 2105 2106 { 2107 iso_code: 'GA', 2108 name: 'Gabon', 2109 currency_code: 'XOF' 2110 }, 2111 2112 { 2113 iso_code: 'GM', 2114 name: 'Gambia', 2115 currency_code: 'GMD' 2116 }, 2117 2118 {
2119 iso_code: 'GE', 2120 name: 'Georgia', 2121 currency_code: 'USD' 2122 }, 2123 2124 { 2125 iso_code: 'DE', 2126 name: 'Germany', 2127 currency_code: 'EUR' 2128 }, 2129 2130 { 2131 iso_code: 'GH', 2132 name: 'Ghana', 2133 currency_code: 'USD' 2134 }, 2135 2136 { 2137 iso_code: 'GI', 2138 name: 'Gibraltar', 2139 currency_code: 'GBP' 2140 }, 2141 2142 { 2143 iso_code: 'GR', 2144 name: 'Greece', 2145 currency_code: 'EUR' 2146 }, 2147 2148 { 2149 iso_code: 'GL', 2150 name: 'Greenland', 2151 currency_code: 'DKK' 2152 }, 2153 2154 { 2155 iso_code: 'GD', 2156 name: 'Grenada', 2157 currency_code: 'XCD' 2158 }, 2159 2160 { 2161 iso_code: 'GP', 2162 name: 'Guadeloupe', 2163 currency_code: 'EUR' 2164 }, 2165 2166 { 2167 iso_code: 'GT', 2168 name: 'Guatemala', 2169 currency_code: 'GTQ' 2170 }, 2171 2172 { 2173 iso_code: 'GG', 2174 name: 'Guernsey', 2175 currency_code: 'GBP' 2176 }, 2177 2178 { 2179 iso_code: 'GN', 2180 name: 'Guinea', 2181 currency_code: 'GNF' 2182 }, 2183 2184 { 2185 iso_code: 'GW', 2186 name: 'Guinea-Bissau', 2187 currency_code: 'XOF' 2188 }, 2189 2190 { 2191 iso_code: 'GY', 2192 name: 'Guyana', 2193 currency_code: 'GYD' 2194 }, 2195 2196 { 2197 iso_code: 'HT', 2198 name: 'Haiti', 2199 currency_code: 'USD' 2200 }, 2201 2202 { 2203 iso_code: 'HN', 2204 name: 'Honduras', 2205 currency_code: 'HNL' 2206 }, 2207 2208 { 2209 iso_code: 'HK', 2210 name: 'Hong Kong SAR', 2211 currency_code: 'HKD' 2212 }, 2213 2214 { 2215 iso_code: 'HU', 2216 name: 'Hungary', 2217 currency_code: 'HUF' 2218 }, 2219 2220 { 2221 iso_code: 'IS', 2222 name: 'Iceland', 2223 currency_code: 'ISK' 2224 }, 2225 2226 { 2227 iso_code: 'IN', 2228 name: 'India', 2229 currency_code: 'INR' 2230 }, 2231 2232 { 2233 iso_code: 'ID', 2234 name: 'Indonesia', 2235 currency_code: 'IDR' 2236 }, 2237 2238 { 2239 iso_code: 'IQ', 2240 name: 'Iraq', 2241 currency_code: 'USD' 2242 }, 2243 2244 { 2245 iso_code: 'IE', 2246 name: 'Ireland', 2247 currency_code: 'EUR' 2248 }, 2249 2250 { 2251 iso_code: 'IM', 2252 name: 'Isle of Man', 2253 currency_code: 'GBP' 2254 }, 2255 2256 { 2257 iso_code: 'IL', 2258 name: 'Israel', 2259 currency_code: 'ILS' 2260 }, 2261 2262 { 2263 iso_code: 'IT', 2264 name: 'Italy', 2265 currency_code: 'EUR' 2266 }, 2267 2268 { 2269 iso_code: 'JM', 2270 name: 'Jamaica', 2271 currency_code: 'JMD' 2272 }, 2273 2274 { 2275 iso_code: 'JP', 2276 name: 'Japan', 2277 currency_code: 'JPY' 2278 }, 2279 2280 { 2281 iso_code: 'JE', 2282 name: 'Jersey', 2283 currency_code: 'USD' 2284 }, 2285 2286 { 2287 iso_code: 'JO', 2288 name: 'Jordan', 2289 currency_code: 'USD' 2290 }, 2291 2292 { 2293 iso_code: 'KZ', 2294 name: 'Kazakhstan', 2295 currency_code: 'KZT' 2296 }, 2297 2298 { 2299 iso_code: 'KE', 2300 name: 'Kenya', 2301 currency_code: 'KES' 2302 }, 2303 2304 { 2305 iso_code: 'XK', 2306 name: 'Kosovo', 2307 currency_code: 'EUR' 2308 }, 2309 2310 { 2311 iso_code: 'KW', 2312 name: 'Kuwait', 2313 currency_code: 'USD' 2314 }, 2315 2316 { 2317 iso_code: 'KG', 2318 name: 'Kyrgyzstan', 2319 currency_code: 'KGS' 2320 }, 2321 2322 { 2323 iso_code: 'LV', 2324 name: 'Latvia', 2325 currency_code: 'EUR' 2326 }, 2327 2328 { 2329 iso_code: 'LB', 2330 name: 'Lebanon', 2331 currency_code: 'LBP' 2332 }, 2333 2334 { 2335 iso_code: 'LS', 2336 name: 'Lesotho', 2337 currency_code: 'USD' 2338 }, 2339 2340 { 2341 iso_code: 'LR', 2342 name: 'Liberia', 2343 currency_code: 'USD' 2344 }, 2345 2346 { 2347 iso_code: 'LY', 2348 name: 'Libya', 2349 currency_code: 'USD' 2350 }, 2351 2352 { 2353 iso_code: 'LI', 2354 name: 'Liechtenstein', 2355 currency_code: 'CHF' 2356 }, 2357 2358 { 2359 iso_code: 'LT', 2360 name: 'Lithuania', 2361 currency_code: 'EUR' 2362 }, 2363 2364 { 2365 iso_code: 'LU', 2366 name: 'Luxembourg', 2367 currency_code: 'EUR' 2368 }, 2369 2370 { 2371 iso_code: 'MO', 2372 name: 'Macao SAR', 2373 currency_code: 'MOP' 2374 }, 2375 2376 { 2377 iso_code: 'MG', 2378 name: 'Madagascar', 2379 currency_code: 'USD' 2380 }, 2381 2382 { 2383 iso_code: 'MW', 2384 name: 'Malawi', 2385 currency_code: 'MWK' 2386 }, 2387 2388 { 2389 iso_code: 'MY', 2390 name: 'Malaysia', 2391 currency_code: 'MYR' 2392 }, 2393 2394 { 2395 iso_code: 'MV', 2396 name: 'Maldives', 2397 currency_code: 'MVR' 2398 }, 2399 2400 { 2401 iso_code: 'ML', 2402 name: 'Mali', 2403 currency_code: 'XOF' 2404 }, 2405 2406 { 2407 iso_code: 'MT', 2408 name: 'Malta', 2409 currency_code: 'EUR' 2410 }, 2411 2412 { 2413 iso_code: 'MQ', 2414 name: 'Martinique', 2415 currency_code: 'EUR' 2416 }, 2417 2418 { 2419 iso_code: 'MR', 2420 name: 'Mauritania', 2421 currency_code: 'USD' 2422 }, 2423 2424 { 2425 iso_code: 'MU', 2426 name: 'Mauritius', 2427 currency_code: 'MUR' 2428 }, 2429 2430 { 2431 iso_code: 'YT', 2432 name: 'Mayotte', 2433 currency_code: 'EUR' 2434 }, 2435 2436 { 2437 iso_code: 'MX', 2438 name: 'Mexico', 2439 currency_code: 'USD' 2440 }, 2441 2442 { 2443 iso_code: 'MD', 2444 name: 'Moldova', 2445 currency_code: 'MDL' 2446 }, 2447 2448 { 2449 iso_code: 'MC', 2450 name: 'Monaco', 2451 currency_code: 'EUR' 2452 }, 2453 2454 { 2455 iso_code: 'MN', 2456 name: 'Mongolia', 2457 currency_code: 'MNT' 2458 }, 2459 2460 { 2461 iso_code: 'ME', 2462 name: 'Montenegro', 2463 currency_code: 'EUR' 2464 }, 2465 2466 { 2467 iso_code: 'MS', 2468 name: 'Montserrat', 2469 currency_code: 'XCD' 2470 }, 2471 2472 { 2473 iso_code: 'MA', 2474 name: 'Morocco', 2475 currency_code: 'MAD' 2476 }, 2477 2478 { 2479 iso_code: 'MZ', 2480 name: 'Mozambique', 2481 currency_code: 'USD' 2482 }, 2483 2484 { 2485 iso_code: 'MM', 2486 name: 'Myanmar (Burma)', 2487 currency_code: 'MMK' 2488 }, 2489 2490 { 2491 iso_code: 'NA', 2492 name: 'Namibia', 2493 currency_code: 'USD' 2494 }, 2495 2496 { 2497 iso_code: 'NR', 2498 name: 'Nauru', 2499 currency_code: 'AUD' 2500 }, 2501 2502 { 2503 iso_code: 'NP', 2504 name: 'Nepal', 2505 currency_code: 'NPR' 2506 }, 2507 2508 { 2509 iso_code: 'NL', 2510 name: 'Netherlands', 2511 currency_code: 'EUR' 2512 }, 2513 2514 { 2515 iso_code: 'NC', 2516 name: 'New Caledonia', 2517 currency_code: 'XPF' 2518 }, 2519 2520 { 2521 iso_code: 'NZ', 2522 name: 'New Zealand', 2523 currency_code: 'NZD' 2524 }, 2525 2526 { 2527 iso_code: 'NI', 2528 name: 'Nicaragua', 2529 currency_code: 'NIO' 2530 }, 2531 2532 { 2533 iso_code: 'NE', 2534 name: 'Niger', 2535 currency_code: 'XOF' 2536 }, 2537 2538 { 2539 iso_code: 'NG', 2540 name: 'Nigeria', 2541 currency_code: 'NGN' 2542 }, 2543 2544 { 2545 iso_code: 'NU', 2546 name: 'Niue', 2547 currency_code: 'NZD' 2548 }, 2549 2550 { 2551 iso_code: 'NF', 2552 name: 'Norfolk Island', 2553 currency_code: 'AUD' 2554 }, 2555 2556 { 2557 iso_code: 'MK', 2558 name: 'North Macedonia', 2559 currency_code: 'MKD' 2560 }, 2561 2562 { 2563 iso_code: 'NO', 2564 name: 'Norway', 2565 currency_code: 'USD' 2566 }, 2567 2568 { 2569 iso_code: 'OM', 2570 name: 'Oman', 2571 currency_code: 'USD' 2572 }, 2573 2574 { 2575 iso_code: 'PK', 2576 name: 'Pakistan', 2577 currency_code: 'PKR' 2578 }, 2579 2580 { 2581 iso_code: 'PS', 2582 name: 'Palestinian Territories', 2583 currency_code: 'ILS' 2584 }, 2585 2586 { 2587 iso_code: 'PA', 2588 name: 'Panama', 2589 currency_code: 'USD' 2590 }, 2591 2592 { 2593 iso_code: 'PG', 2594 name: 'Papua New Guinea', 2595 currency_code: 'PGK' 2596 }, 2597 2598 { 2599 iso_code: 'PY', 2600 name: 'Paraguay', 2601 currency_code: 'PYG' 2602 }, 2603 2604 { 2605 iso_code: 'PE', 2606 name: 'Peru', 2607 currency_code: 'PEN' 2608 }, 2609 2610 { 2611 iso_code: 'PH', 2612 name: 'Philippines', 2613 currency_code: 'PHP' 2614 }, 2615 2616 { 2617 iso_code: 'PN', 2618 name: 'Pitcairn Islands', 2619 currency_code: 'NZD' 2620 }, 2621 2622 { 2623 iso_code: 'PL', 2624 name: 'Poland', 2625 currency_code: 'PLN' 2626 }, 2627 2628 { 2629 iso_code: 'PT', 2630 name: 'Portugal', 2631 currency_code: 'EUR' 2632 }, 2633 2634 { 2635 iso_code: 'QA', 2636 name: 'Qatar', 2637 currency_code: 'QAR' 2638 }, 2639 2640 { 2641 iso_code: 'RE', 2642 name: 'Réunion', 2643 currency_code: 'EUR' 2644 }, 2645 2646 { 2647 iso_code: 'RO', 2648 name: 'Romania', 2649 currency_code: 'RON' 2650 }, 2651 2652 { 2653 iso_code: 'RU', 2654 name: 'Russia', 2655 currency_code: 'USD' 2656 }, 2657 2658 { 2659 iso_code: 'RW', 2660 name: 'Rwanda', 2661 currency_code: 'RWF' 2662 }, 2663 2664 { 2665 iso_code: 'WS', 2666 name: 'Samoa', 2667 currency_code: 'WST' 2668 }, 2669 2670 { 2671 iso_code: 'SM', 2672 name: 'San Marino', 2673 currency_code: 'EUR' 2674 }, 2675 2676 { 2677 iso_code: 'ST', 2678 name: 'São Tomé & PrÃncipe', 2679 currency_code: 'STD' 2680 }, 2681 2682 { 2683 iso_code: 'SA', 2684 name: 'Saudi Arabia', 2685 currency_code: 'SAR' 2686 }, 2687 2688 { 2689 iso_code: 'SN', 2690 name: 'Senegal', 2691 currency_code: 'XOF' 2692 }, 2693 2694 { 2695 iso_code: 'RS', 2696 name: 'Serbia', 2697 currency_code: 'RSD' 2698 }, 2699 2700 { 2701 iso_code: 'SC', 2702 name: 'Seychelles', 2703 currency_code: 'USD' 2704 }, 2705 2706 { 2707 iso_code: 'SL', 2708 name: 'Sierra Leone', 2709 currency_code: 'SLL' 2710 }, 2711 2712 { 2713 iso_code: 'SG', 2714 name: 'Singapore', 2715 currency_code: 'SGD' 2716 }, 2717 2718 { 2719 iso_code: 'SX', 2720 name: 'Sint Maarten', 2721 currency_code: 'ANG' 2722 }, 2723 2724 { 2725 iso_code: 'SK', 2726 name: 'Slovakia', 2727 currency_code: 'EUR' 2728 }, 2729 2730 { 2731 iso_code: 'SI', 2732 name: 'Slovenia', 2733 currency_code: 'EUR' 2734 }, 2735 2736 { 2737 iso_code: 'SB', 2738 name: 'Solomon Islands', 2739 currency_code: 'SBD' 2740 }, 2741 2742 { 2743 iso_code: 'SO', 2744 name: 'Somalia', 2745 currency_code: 'USD' 2746 }, 2747 2748 { 2749 iso_code: 'ZA', 2750 name: 'South Africa', 2751 currency_code: 'USD' 2752 }, 2753 2754 { 2755 iso_code: 'GS', 2756 name: 'South Georgia & South Sandwich Islands', 2757 currency_code: 'GBP' 2758 }, 2759 2760 { 2761 iso_code: 'KR', 2762 name: 'South Korea', 2763 currency_code: 'KRW' 2764 }, 2765 2766 { 2767 iso_code: 'SS', 2768 name: 'South Sudan', 2769 currency_code: 'USD' 2770 }, 2771 2772 { 2773 iso_code: 'ES', 2774 name: 'Spain', 2775 currency_code: 'EUR' 2776 }, 2777 2778 { 2779 iso_code: 'LK', 2780 name: 'Sri Lanka', 2781 currency_code: 'LKR' 2782 }, 2783 2784 { 2785 iso_code: 'BL', 2786 name: 'St. Barthélemy', 2787 currency_code: 'EUR' 2788 }, 2789 2790 { 2791 iso_code: 'SH', 2792 name: 'St. Helena', 2793 currency_code: 'SHP' 2794 }, 2795 2796 { 2797 iso_code: 'KN', 2798 name: 'St. Kitts & Nevis', 2799 currency_code: 'XCD' 2800 }, 2801 2802 { 2803 iso_code: 'LC', 2804 name: 'St. Lucia', 2805 currency_code: 'XCD' 2806 }, 2807 2808 { 2809 iso_code: 'MF', 2810 name: 'St. Martin', 2811 currency_code: 'EUR' 2812 }, 2813 2814 { 2815 iso_code: 'PM', 2816 name: 'St. Pierre & Miquelon', 2817 currency_code: 'EUR' 2818 }, 2819 2820 { 2821 iso_code: 'VC', 2822 name: 'St. Vincent & Grenadines', 2823 currency_code: 'XCD' 2824 }, 2825 2826 { 2827 iso_code: 'SD', 2828 name: 'Sudan', 2829 c
2829urrency_code: 'USD' 2830 }, 2831 2832 { 2833 iso_code: 'SR', 2834 name: 'Suriname', 2835 currency_code: 'USD' 2836 }, 2837 2838 { 2839 iso_code: 'SJ', 2840 name: 'Svalbard & Jan Mayen', 2841 currency_code: 'USD' 2842 }, 2843 2844 { 2845 iso_code: 'SE', 2846 name: 'Sweden', 2847 currency_code: 'SEK' 2848 }, 2849 2850 { 2851 iso_code: 'CH', 2852 name: 'Switzerland', 2853 currency_code: 'CHF' 2854 }, 2855 2856 { 2857 iso_code: 'TW', 2858 name: 'Taiwan', 2859 currency_code: 'TWD' 2860 }, 2861 2862 { 2863 iso_code: 'TJ', 2864 name: 'Tajikistan', 2865 currency_code: 'TJS' 2866 }, 2867 2868 { 2869 iso_code: 'TZ', 2870 name: 'Tanzania', 2871 currency_code: 'TZS' 2872 }, 2873 2874 { 2875 iso_code: 'TH', 2876 name: 'Thailand', 2877 currency_code: 'THB' 2878 }, 2879 2880 { 2881 iso_code: 'TL', 2882 name: 'Timor-Leste', 2883 currency_code: 'USD' 2884 }, 2885 2886 { 2887 iso_code: 'TK', 2888 name: 'Tokelau', 2889 currency_code: 'NZD' 2890 }, 2891 2892 { 2893 iso_code: 'TT', 2894 name: 'Trinidad & Tobago', 2895 currency_code: 'TTD' 2896 }, 2897 2898 { 2899 iso_code: 'TA', 2900 name: 'Tristan da Cunha', 2901 currency_code: 'GBP' 2902 }, 2903 2904 { 2905 iso_code: 'TN', 2906 name: 'Tunisia', 2907 currency_code: 'USD' 2908 }, 2909 2910 { 2911 iso_code: 'TR', 2912 name: 'Türkiye', 2913 currency_code: 'USD' 2914 }, 2915 2916 { 2917 iso_code: 'TM', 2918 name: 'Turkmenistan', 2919 currency_code: 'USD' 2920 }, 2921 2922 { 2923 iso_code: 'TC', 2924 name: 'Turks & Caicos Islands', 2925 currency_code: 'USD' 2926 }, 2927 2928 { 2929 iso_code: 'TV', 2930 name: 'Tuvalu', 2931 currency_code: 'AUD' 2932 }, 2933 2934 { 2935 iso_code: 'UM', 2936 name: 'U.S. Outlying Islands', 2937 currency_code: 'USD' 2938 }, 2939 2940 { 2941 iso_code: 'UG', 2942 name: 'Uganda', 2943 currency_code: 'UGX' 2944 }, 2945 2946 { 2947 iso_code: 'UA', 2948 name: 'Ukraine', 2949 currency_code: 'UAH' 2950 }, 2951 2952 { 2953 iso_code: 'AE', 2954 name: 'United Arab Emirates', 2955 currency_code: 'AED' 2956 }, 2957 2958 { 2959 iso_code: 'GB', 2960 name: 'United Kingdom', 2961 currency_code: 'GBP' 2962 }, 2963 2964 { 2965 iso_code: 'US', 2966 name: 'United States', 2967 currency_code: 'USD' 2968 }, 2969 2970 { 2971 iso_code: 'UY', 2972 name: 'Uruguay', 2973 currency_code: 'UYU' 2974 }, 2975 2976 { 2977 iso_code: 'UZ', 2978 name: 'Uzbekistan', 2979 currency_code: 'UZS' 2980 }, 2981 2982 { 2983 iso_code: 'VA', 2984 name: 'Vatican City', 2985 currency_code: 'EUR' 2986 }, 2987 2988 { 2989 iso_code: 'VE', 2990 name: 'Venezuela', 2991 currency_code: 'USD' 2992 }, 2993 2994 { 2995 iso_code: 'VN', 2996 name: 'Vietnam', 2997 currency_code: 'VND' 2998 }, 2999 3000 { 3001 iso_code: 'WF', 3002 name: 'Wallis & Futuna', 3003 currency_code: 'XPF' 3004 }, 3005 3006 { 3007 iso_code: 'EH', 3008 name: 'Western Sahara', 3009 currency_code: 'MAD' 3010 }, 3011 3012 { 3013 iso_code: 'YE', 3014 name: 'Yemen', 3015 currency_code: 'YER' 3016 }, 3017 3018 { 3019 iso_code: 'ZM', 3020 name: 'Zambia', 3021 currency_code: 'USD' 3022 }, 3023 3024 { 3025 iso_code: 'ZW', 3026 name: 'Zimbabwe', 3027 currency_code: 'USD' 3028 } 3029 3030 ] 3031 }; 3032 3033</script>
3033 3034<!-- END app snippet --> 3035 3036 3037 3038 3039 3040 3041 3042<!-- END app block -->
3042<script src="https://cdn.shopify.com/extensions/c1eb4680-ad4e-49c3-898d-493ebb06e626/affirm-pay-over-time-messaging-9/assets/affirm-cart-drawer-embed-handler.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 3042
3042
3043<script src="https://cdn.shopify.com/extensions/01a0d4e7-ec80-7a83-9d0e-4fd71fdcdb60/rebuy-personalization-engine-436/assets/rebuy-extensions.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 3043
3043
3044<script src="https://cdn.shopify.com/extensions/01a0cdf8-b2d2-7ccd-a251-5cf8c66ad2ca/judgeme-762/assets/loader.js" type="text/javascript" defer="defer"></script>
3044 3045<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
3046<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 49088856229,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 3046
3046
3047<script> 3048 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 3049</script>
vendor: 1 bytes, line 3049
3049
3050<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
3050).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 49088856229,storefrontBaseUrl: "https://www.wakemakers.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.wakemakers.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b"],webPixelsConfigList: [{"id":"2592932005","configuration":"{\"shop\":\"wakemakers-prod.myshopify.com\", \"shopliftUrl\":\"https:\/\/events.shoplift.ai\/api\/events\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"dabcda9558be25394b12ce3ce899568b","type":"APP","apiClientId":7521861633,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
3050,"dataSharingState":"unrestricted"},{"id":"1679753381","configuration":"{\"appProxyPath\":\"\/apps\/pagefly\",\"analyticsEndpoint\":\"undefined\/analytics-v2\/events\",\"focusDuration\":\"3\",\"enableAdvancedTracking\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1e023fb0c721518c0dce4129e4d87a86","type":"APP","apiClientId":1743893,"privacyPurposes":["ANALYTICS","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1578926245","configuration":"{\"accountID\":\"qBA9D8\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1365967013","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"904134821","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"GT-NCTTRQLN\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"MC-2ZB2L14V25\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"MC-2ZB2L14V25\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"MC-2ZB2L14V25\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"242057381","configuration":"{\"pixel_id\":\"1372970226467923\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"5505189","configuration":"{\"config_url\": \"https:\/\/shopify-gtm-suite.getelevar.com\/configs\/df97c9adf21e96563f961f8e3e733cc3dd90ccfe\/config.js\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"7ae63d00911d5ee26809bf1e3232d852","type":"APP","apiClientId":2509311,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"45842597","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Elevar - Checkout Tracking"},{"id":"81330341","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"Shopper Approved"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"WakeMAKERS","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"wakemakers-prod.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.wakemakers.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":189.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675600920741","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0079","title":"30\"L x 20\"W x 20\"H - 490lbs","untranslatedTitle":"30\"L x 20\"W x 20\"H - 490lbs"},{"price":{"amount":249.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675600953509","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0080","title":"45\"L x 25\"W x 20\"H - 910lbs","untranslatedTitle":"45\"L x 25\"W x 20\"H - 910lbs"},{"price":{"amount":259.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675600986277","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0081","title":"45\"L x 25\"W x 25\"H - 1,140lbs","untranslatedTitle":"45\"L x 25\"W x 25\"H - 1,140lbs"},{"price":{"amount":249.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601019045","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0082","title":"45\"L x 20\"W x 25\"H - 910lbs","untranslatedTitle":"45\"L x 20\"W x 25\"H - 910lbs"},{"price":{"amount":229.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601051813","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0083","title":"45\"L x 20\"W x 20\"H - 720lbs","untranslatedTitle":"45\"L x 20\"W x 20\"H - 720lbs"},{"price":{"amount":199.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601084581","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0088","title":"40\"L x 25\"W x 15\"H - 610lbs","untranslatedTitle":"40\"L x 25\"W x 15\"H - 610lbs"},{"price":{"amount":199.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601117349","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0089","title":"40\"L x 20\"W x 20\"H - 640lbs","untranslatedTitle":"40\"L x 20\"W x 20\"H - 640lbs"},{"price":{"amount":239.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601150117","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0090","title":"40\"L x 25\"W x 20\"H - 820lbs","untranslatedTitle":"40\"L x 25\"W x 20\"H - 820lbs"},{"price":{"amount":189.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601182885","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0091","title":"35\"L x 25\"W x 15\"H - 540lbs","untranslatedTitle":"35\"L x 25\"W x 15\"H - 540lbs"},{"price":{"amount":229.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601215653","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0092","title":"50\"L x 25\"W x 15\"H - 740lbs","untranslatedTitle":"50\"L x 25\"W x 15\"H - 740lbs"},{"price":{"amount":249.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601248421","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0093","title":"50\"L x 25\"W x 25\"H - 1,280lbs","untranslatedTitle":"50\"L x 25\"W x 25\"H - 1,280lbs"},{"price":{"amount":179.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601281189","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0096","title":"30\"L x 25\"W x 15\"H - 460lbs","untranslatedTitle":"30\"L x 25\"W x 15\"H - 460lbs"},{"price":{"amount":169.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601313957","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0110","title":"35\"L x 20\"W x 15\"H - 430lbs","untranslatedTitle":"35\"L x 20\"W x 15\"H - 430lbs"},{"price":{"amount":229.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601346725","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0121","title":"30\"L x 25\"W x 25\"H - 765lbs","untranslatedTitle":"30\"L x 25\"W x 25\"H - 765lbs"},{"price":{"amount":189.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601379493","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0122","title":"45\"L x 20\"W x 15\"H - 550lbs","untranslatedTitle":"45\"L x 20\"W x 15\"H - 550lbs"},{"price":{"amount":229.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601412261","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0144","title":"35\"L x 25\"W x 20\"H - 710lbs","untranslatedTitle":"35\"L x 25\"W x 20\"H - 710lbs"},{"price":{"amount":199.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601445029","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0145","title":"30\"L x 25\"W x 20\"H - 610lbs","untranslatedTitle":"30\"L x 25\"W x 20\"H - 610lbs"},{"price":{"amount":259.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601477797","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0146","title":"50\"L x 25\"W x 20\"H - 1,020lbs","untranslatedTitle":"50\"L x 25\"W x 20\"H - 1,020lbs"},{"price":{"amount":249.99,"currencyCode":"USD"},"product":{"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","vendor":"WakeMAKERS","id":"7759285649573","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","type":"Ballast Bags"},"id":"41675601510565","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"sku":"B0147","title":"35\"L x 25\"W x 25\"H - 890lbs","untranslatedTitle":"35\"L x 25\"W x 25\"H - 890lbs"}],"products":[{"id":"7759285649573","handle":"wakemakers-rear-lbs-ballast-bag","isCollective":null,"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","type":"Ballast Bags","untranslatedTitle":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","url":"\/products\/wakemakers-rear-lbs-ballast-bag","vendor":"Wake
3050MAKERS","remoteShopId":null,"variants":[{"id":"41675600920741","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":189.99,"currencyCode":"USD"},"sku":"B0079","title":"30\"L x 20\"W x 20\"H - 490lbs","untranslatedTitle":"30\"L x 20\"W x 20\"H - 490lbs"},{"id":"41675600953509","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":249.99,"currencyCode":"USD"},"sku":"B0080","title":"45\"L x 25\"W x 20\"H - 910lbs","untranslatedTitle":"45\"L x 25\"W x 20\"H - 910lbs"},{"id":"41675600986277","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":259.99,"currencyCode":"USD"},"sku":"B0081","title":"45\"L x 25\"W x 25\"H - 1,140lbs","untranslatedTitle":"45\"L x 25\"W x 25\"H - 1,140lbs"},{"id":"41675601019045","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":249.99,"currencyCode":"USD"},"sku":"B0082","title":"45\"L x 20\"W x 25\"H - 910lbs","untranslatedTitle":"45\"L x 20\"W x 25\"H - 910lbs"},{"id":"41675601051813","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":229.99,"currencyCode":"USD"},"sku":"B0083","title":"45\"L x 20\"W x 20\"H - 720lbs","untranslatedTitle":"45\"L x 20\"W x 20\"H - 720lbs"},{"id":"41675601084581","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":199.99,"currencyCode":"USD"},"sku":"B0088","title":"40\"L x 25\"W x 15\"H - 610lbs","untranslatedTitle":"40\"L x 25\"W x 15\"H - 610lbs"},{"id":"41675601117349","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":199.99,"currencyCode":"USD"},"sku":"B0089","title":"40\"L x 20\"W x 20\"H - 640lbs","untranslatedTitle":"40\"L x 20\"W x 20\"H - 640lbs"},{"id":"41675601150117","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":239.99,"currencyCode":"USD"},"sku":"B0090","title":"40\"L x 25\"W x 20\"H - 820lbs","untranslatedTitle":"40\"L x 25\"W x 20\"H - 820lbs"},{"id":"41675601182885","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":189.99,"currencyCode":"USD"},"sku":"B0091","title":"35\"L x 25\"W x 15\"H - 540lbs","untranslatedTitle":"35\"L x 25\"W x 15\"H - 540lbs"},{"id":"41675601215653","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":229.99,"currencyCode":"USD"},"sku":"B0092","title":"50\"L x 25\"W x 15\"H - 740lbs","untranslatedTitle":"50\"L x 25\"W x 15\"H - 740lbs"},{"id":"41675601248421","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":249.99,"currencyCode":"USD"},"sku":"B0093","title":"50\"L x 25\"W x 25\"H - 1,280lbs","untranslatedTitle":"50\"L x 25\"W x 25\"H - 1,280lbs"},{"id":"41675601281189","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":179.99,"currencyCode":"USD"},"sku":"B0096","title":"30\"L x 25\"W x 15\"H - 460lbs","untranslatedTitle":"30\"L x 25\"W x 15\"H - 460lbs"},{"id":"41675601313957","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":169.99,"currencyCode":"USD"},"sku":"B0110","title":"35\"L x 20\"W x 15\"H - 430lbs","untranslatedTitle":"35\"L x 20\"W x 15\"H - 430lbs"},{"id":"41675601346725","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":229.99,"currencyCode":"USD"},"sku":"B0121","title":"30\"L x 25\"W x 25\"H - 765lbs","untranslatedTitle":"30\"L x 25\"W x 25\"H - 765lbs"},{"id":"41675601379493","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":189.99,"currencyCode":"USD"},"sku":"B0122","title":"45\"L x 20\"W x 15\"H - 550lbs","untranslatedTitle":"45\"L x 20\"W x 15\"H - 550lbs"},{"id":"41675601412261","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":229.99,"currencyCode":"USD"},"sku":"B0144","title":"35\"L x 25\"W x 20\"H - 710lbs","untranslatedTitle":"35\"L x 25\"W x 20\"H - 710lbs"},{"id":"41675601445029","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":199.99,"currencyCode":"USD"},"sku":"B0145","title":"30\"L x 25\"W x 20\"H - 610lbs","untranslatedTitle":"30\"L x 25\"W x 20\"H - 610lbs"},{"id":"41675601477797","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":259.99,"currencyCode":"USD"},"sku":"B0146","title":"50\"L x 25\"W x 20\"H - 1,020lbs","untranslatedTitle":"50\"L x 25\"W x 20\"H - 1,020lbs"},{"id":"41675601510565","image":{"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"price":{"amount":249.99,"currencyCode":"USD"},"sku":"B0147","title":"35\"L x 25\"W x 25\"H - 890lbs","untranslatedTitle":"35\"L x 25\"W x 25\"H - 890lbs"}]}],"purchasingCompany":null},},"https://www.wakemakers.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"158076305573","themePublished":"true","eventMetadataId":"532df4d1-62d8-43a2-8f97-bdc56ee492d8","pageType":"product","resourceId":"7759285649573","shopId":"49088856229","storefrontBaseUrl":"https:\/\/www.wakemakers.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":189.99,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)\",\"vendor\":\"WakeMAKERS\",\"id\":\"7759285649573\",\"untranslatedTitle\":\"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)\",\"url\":\"\/products\/wakemakers-rear-lbs-ballast-bag\",\"type\":\"Ballast Bags\"},\"id\":\"41675600920741\",\"image\":{\"src\":\"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349\"},\"sku\":\"B0079\",\"title\":\"30\\\"L x 20\\\"W x 20\\\"H - 490lbs\",\"untranslatedTitle\":\"30\\\"L x 20\\\"W x 20\\\"H - 490lbs\"}}]]"});})();</script>
3050<script> 3051 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 3052 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 3053 window.ShopifyAnalytics.meta.currency = 'USD'; 3054 var meta = {"product":{"id":7759285649573,"gid":"gid:\/\/shopify\/Product\/7759285649573","vendor":"WakeMAKERS","type":"Ballast Bags","handle":"wakemakers-rear-lbs-ballast-bag","variants":[{"id":41675600920741,"price":18999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 20\"W x 20\"H - 490lbs","public_title":"30\"L x 20\"W x 20\"H - 490lbs","sku":"B0079"},{"id":41675600953509,"price":24999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 25\"W x 20\"H - 910lbs","public_title":"45\"L x 25\"W x 20\"H - 910lbs","sku":"B0080"},{"id":41675600986277,"price":25999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 25\"W x 25\"H - 1,140lbs","public_title":"45\"L x 25\"W x 25\"H - 1,140lbs","sku":"B0081"},{"id":41675601019045,"price":24999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 20\"W x 25\"H - 910lbs","public_title":"45\"L x 20\"W x 25\"H - 910lbs","sku":"B0082"},{"id":41675601051813,"price":22999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 20\"W x 20\"H - 720lbs","public_title":"45\"L x 20\"W x 20\"H - 720lbs","sku":"B0083"},{"id":41675601084581,"price":19999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 40\"L x 25\"W x 15\"H - 610lbs","public_title":"40\"L x 25\"W x 15\"H - 610lbs","sku":"B0088"},{"id":41675601117349,"price":19999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 40\"L x 20\"W x 20\"H - 640lbs","public_title":"40\"L x 20\"W x 20\"H - 640lbs","sku":"B0089"},{"id":41675601150117,"price":23999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 40\"L x 25\"W x 20\"H - 820lbs","public_title":"40\"L x 25\"W x 20\"H - 820lbs","sku":"B0090"},{"id":41675601182885,"price":18999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 25\"W x 15\"H - 540lbs","public_title":"35\"L x 25\"W x 15\"H - 540lbs","sku":"B0091"},{"id":41675601215653,"price":22999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 50\"L x 25\"W x 15\"H - 740lbs","public_title":"50\"L x 25\"W x 15\"H - 740lbs","sku":"B0092"},{"id":41675601248421,"price":24999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 50\"L x 25\"W x 25\"H - 1,280lbs","public_title":"50\"L x 25\"W x 25\"H - 1,280lbs","sku":"B0093"},{"id":41675601281189,"price":17999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 25\"W x 15\"H - 460lbs","public_title":"30\"L x 25\"W x 15\"H - 460lbs","sku":"B0096"},{"id":41675601313957,"price":16999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 20\"W x 15\"H - 430lbs","public_title":"35\"L x 20\"W x 15\"H - 430lbs","sku":"B0110"},{"id":41675601346725,"price":22999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 25\"W x 25\"H - 765lbs","public_title":"30\"L x 25\"W x 25\"H - 765lbs","sku":"B0121"},{"id":41675601379493,"price":18999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 20\"W x 15\"H - 550lbs","public_title":"45\"L x 20\"W x 15\"H - 550lbs","sku":"B0122"},{"id":41675601412261,"price":22999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 25\"W x 20\"H - 710lbs","public_title":"35\"L x 25\"W x 20\"H - 710lbs","sku":"B0144"},{"id":41675601445029,"price":19999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 25\"W x 20\"H - 610lbs","public_title":"30\"L x 25\"W x 20\"H - 610lbs","sku":"B0145"},{"id":41675601477797,"price":25999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 50\"L x 25\"W x 20\"H - 1,020lbs","public_title":"50\"L x 25\"W x 20\"H - 1,020lbs","sku":"B0146"},{"id":41675601510565,"price":24999,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 25\"W x 25\"H - 890lbs","public_title":"35\"L x 25\"W x 25\"H - 890lbs","sku":"B0147"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":7759285649573,"requestId":"1277f873-4a8e-4114-8cc8-bb4ec1b8c851-1790324395"}}; 3055 for (var attr in meta) { 3056 window.ShopifyAnalytics.meta[attr] = meta[attr]; 3057 } 3058</script>
vendor: 1 bytes, line 3058
3058
3059<script class="analytics"> 3060 (function () { 3061 var customDocumentWrite = function(content) { 3062 var jquery = null; 3063 3064 if (window.jQuery) { 3065 jquery = window.jQuery; 3066 } else if (window.Checkout && window.Checkout.$) { 3067 jquery = window.Checkout.$; 3068 } 3069 3070 if (jquery) { 3071 jquery('body').append(content); 3072 } 3073 }; 3074 3075 var hasLoggedConversion = function(token) { 3076 if (token) { 3077 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 3078 } 3079 return false; 3080 } 3081 3082 var setCookieIfConversion = function(token) { 3083 if (token) { 3084 var twoMonthsFromNow = new Date(Date.now()); 3085 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 3086 3087 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 3088 } 3089 } 3090 3091 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 3092 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 3093 if (trekkie.integrations) { 3094 return; 3095 } 3096 trekkie.methods = [ 3097 'identify', 3098 'page', 3099 'ready', 3100 'track', 3101 'trackForm', 3102 'trackLink' 3103 ]; 3104 trekkie.factory = function(method) { 3105 return function() { 3106 var args = Array.prototype.slice.call(arguments); 3107 args.unshift(method); 3108 trekkie.push(args); 3109 if (method == 'track' || method == 'page') { 3110 var pageUrl; 3111 try { 3112 pageUrl = window.location.href; 3113 } catch (e) {} 3114 var pageReferrer; 3115 try { 3116 pageReferrer = document.referrer; 3117 } catch (e) {} 3118 try { 3119 if (window.__TREKKIE_SHIM_QUEUE == null) { 3120 window.__TREKKIE_SHIM_QUEUE = []; 3121 } 3122 window.__TREKKIE_SHIM_QUEUE.push({ 3123 from: 'trekkie-stub', 3124 method: method, 3125 args: args.slice(1), 3126 pageContext: { 3127 url: pageUrl, 3128 referrer: pageReferrer 3129 } 3130 }); 3131 } catch (e) { 3132 // no-op 3133 } 3134 } 3135 return trekkie; 3136 }; 3137 }; 3138 for (var i = 0; i < trekkie.methods.length; i++) { 3139 var key = trekkie.methods[i]; 3140 trekkie[key] = trekkie.factory(key); 3141 } 3142 trekkie.load = function(config) { 3143 trekkie.config = config || {}; 3144 trekkie.config.initialDocumentCookie = document.cookie; 3145 var first = document.getElementsByTagName('script')[0]; 3146var script = document.createElement('script'); 3147script.type = 'text/javascript'; 3148script.onerror = function(e) { 3149 var scriptFallback = document.createElement('script'); 3150 scriptFallback.type = 'text/javascript'; 3151 scriptFallback.onerror = function(error) { 3152 var Monorail = { 3153 produce: function produce(monorailDomain, schemaId, payload) { 3154 var currentMs = new Date().getTime(); 3155 var event = { 3156 schema_id: schemaId, 3157 payload: payload, 3158 metadata: { 3159 event_created_at_ms: currentMs, 3160 event_sent_at_ms: currentMs 3161 } 3162 }; 3163 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 3164 }, 3165 sendRequest: function sendRequest(endpointUrl, payload) { 3166 // Try the sendBeacon API 3167 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 3168 var blobData = new window.Blob([payload], { 3169 type: 'text/plain' 3170 }); 3171 3172 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 3173 return true; 3174 } // sendBeacon was not successful 3175 3176 } // XHR beacon 3177 3178 var xhr = new XMLHttpRequest(); 3179 3180 try { 3181 xhr.open('POST', endpointUrl); 3182 xhr.setRequestHeader('Content-Type', 'text/plain'); 3183 xhr.send(payload); 3184 } catch (e) { 3185 console.log(e); 3186 } 3187 3188 return false; 3189 }, 3190 isIos12: function isIos12() { 3191 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 3192 } 3193 }; 3194 Monorail.produce('monorail-edge.shopifysvc.com', 3195 'trekkie_storefront_load_errors/1.1', 3196 {shop_id: 49088856229, 3197 theme_id: 158076305573, 3198 app_name: "storefront", 3199 context_url: window.location.href, 3200 source_url: "//www.wakemakers.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 3201 3202 }; 3203 scriptFallback.async = true; 3204 scriptFallback.src = '//www.wakemakers.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 3205 first.parentNode.insertBefore(scriptFallback, first); 3206}; 3207script.async = true; 3208script.src = '//www.wakemakers.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 3209first.parentNode.insertBefore(script, first); 3210 3211 }; 3212 trekkie.load( 3213 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":49088856229,"isMerchantRequest":null,"themeId":158076305573,"themeCityHash":"1159530713686141614","contentLanguage":"en","currency":"USD","eventMetadataId":"532df4d1-62d8-43a2-8f97-bdc56ee492d8"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 3214 ); 3215 3216 var loaded = false;
3217 trekkie.ready(function() { 3218 if (loaded) return; 3219 loaded = true; 3220 3221 window.ShopifyAnalytics.lib = window.trekkie; 3222 3223 var originalDocumentWrite = document.write; 3224 document.write = customDocumentWrite; 3225 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 3226 document.write = originalDocumentWrite; 3227 3228 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 3229 var token = match? match[1]: undefined; 3230 if (!hasLoggedConversion(token)) { 3231 setCookieIfConversion(token); 3232 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":41675600920741,"productId":7759285649573,"productGid":"gid:\/\/shopify\/Product\/7759285649573","name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 20\"W x 20\"H - 490lbs","price":"189.99","sku":"B0079","brand":"WakeMAKERS","variant":"30\"L x 20\"W x 20\"H - 490lbs","category":"Ballast Bags","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 3233 } 3234 }); 3235 3236 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":7759285649573,"requestId":"1277f873-4a8e-4114-8cc8-bb4ec1b8c851-1790324395","shopifyEmitted":true}); 3237 3238 var eventsListenerScript = document.createElement('script'); 3239 eventsListenerScript.async = true; 3240 eventsListenerScript.src = "//www.wakemakers.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 3241 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 3242})();</script>
vendor: 1 bytes, line 3242
3242
3243<script 3244 defer 3245 src="https://www.wakemakers.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 3246 data-application="storefront-renderer" 3247 data-shop-id="49088856229" 3248 data-render-region="gcp-us-central1" 3249 data-page-type="product" 3250 data-theme-instance-id="158076305573" 3251 data-theme-name="WakeMakers" 3252 data-theme-version="1.1.0" 3253 data-monorail-region="shop_domain" 3254 data-resource-timing-sampling-rate="10" 3255 data-shs="true" 3256 data-shs-beacon="true" 3257 data-shs-export-with-fetch="true" 3258 data-shs-logs-sample-rate="1" 3259 data-shs-beacon-endpoint="https://www.wakemakers.com/api/collect" 3260></script>
3260 3261<meta name="shopify-y" content="7b1640bc-6fe0-480c-9092-163e2558e9be" data-expiration="1821881995000"><meta name="shopify-s" content="94c6a739-3898-41ac-8f4a-9ab52f5605b4" data-expiration="1790326195000"><meta name="new-cookie-storage-activated" content="t"> 3262</head> 3263 3264 <body> 3265 3266 <!-- Google Tag Manager (noscript) -->
vendor: 74 bytes, lines 3266-3267
3266 3267 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
3267GTM-WLJK5KD
vendor: 95 bytes, lines 3267-3269
3267" 3268 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 3269
3269<!-- End Google Tag Manager (noscript) --> 3270 3271 <a class="skip-to-content-link button visually-hidden" href="#MainContent"> 3272 Skip to content 3273 </a> 3274 3275 <div id="shopify-section-header" class="shopify-section sticky top-0 bg-white"> 3276 3277 3278 3279 3280 3281 3282<style> 3283 :root{ 3284 --header-height: 91px; 3285 } 3286 3287 @media screen and (min-width: 1024px){ 3288 :root{ 3289 --header-height: 159px; 3290 } 3291 } 3292</style> 3293 3294<!-- Testing --> 3295 3296 3297 3298 <section class="announcement bg-gray-dark text-white w-full overflow-hidden" id="AnnouncementBar"> 3299 3300 3301 3302 <div class="block w-full max-w-[1140px] mx-auto text-14 font-300 py-8"> 3303 3304 3305 <div class="announcement__slide w-full text-center" js-carousel-slide> 3306 Free US Shipping on Orders Over $99 <a href="https://www.wakemakers.com/pages/discounts-coupon-codes" title="Free Shipping">Learn More »</a> 3307 </div> 3308 3309 3310 </div> 3311 3312 3313 </section> 3314 3315<header class="site-header" id="SiteHeader"> 3316 <div class="site-header__top-container bg-gray-light tabletl:bg-white "> 3317 <div class="site-header__top py-12 px-16 flex items-center justify-between w-full max-w-[1140px] mx-auto"> 3318 <div class="site-header-top__left flex items-center justify-start"> 3319 <button id="header-open-nav" class="w-[36px] mr-8 focus:text-blue desktop:hover:text-blue tabletl:hidden" aria-label="Menu" title="Menu" js-open-mobile-nav><svg class="icon icon--menu" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.12 72"> 3320 3321 <polygon points="0 50.63 0 72 74.63 72 61.13 50.63 0 50.63" /> 3322 <path d="M48.94,0H0V21.37H30.85A25.9,25.9,0,0,1,48.94,0Z" /> 3323 <path d="M30.64,25.31H0V46.69H42.78A25.84,25.84,0,0,1,30.64,25.31Z" /> 3324 <path d="M85.12,68.1,69.19,42.87a22,22,0,1,0-7,3.27L78.5,72h6.62ZM56.5,42A17.25,17.25,0,1,1,73.75,24.75,17.25,17.25,0,0,1,56.5,42Z" /> 3325</svg></button> 3326 <button id="header-close-nav" class="w-[36px] items-center justify-center mr-8 text-blue hidden " aria-label="Close" title="Close" js-close-mobile-nav> 3327 <div class="w-[30px]"><svg class="icon icon-arrow-close" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 504 504"> 3328 3329 <path d="M252,0C113,0,0,113,0,252S113,504,252,504,504,391,504,252,391,0,252,0Zm0,33.6A218.4,218.4,0,1,1,33.6,252,218.14,218.14,0,0,1,252,33.6Zm54.77,78.22a16.85,16.85,0,0,0-10.15,4.56L162.23,239.58a16.79,16.79,0,0,0,0,24.67l134.39,123.2a16.8,16.8,0,1,0,22.76-24.67L198.45,252,319.38,141.06a16.81,16.81,0,0,0-12.61-29.23Z" /> 3330</svg></div> 3331 </button> 3332 <a href="/" class="site-header__logo inline-block w-[146px] text-[0px] tabletl:w-[194px]" title="Home" aria-label="WakeMAKERS"><svg class="icon icon--full-color icon--logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300.1 36.9"> 3333 <defs> 3334 <style> 3335 .text-gray-dark { 3336 fill: #414141; 3337 } 3338 3339 .text-blue { 3340 fill: #3399ff; 3341 } 3342 </style> 3343 </defs> 3344 <path class="text-blue" d="M123.3,6.5V0H100.6V36.7h22.7V30.2H107.1V21.6h10.8V15.1H107.1V6.5ZM86,16.1,98.4,0H91.5L78,16V0H71.5V36.7H78V25.9L82.1,21l9.5,15.8h6.9ZM66.7.1C58.8.1,33.1,2.7,33.1,36.2v.6h6.4v-.6c0-4,.3-9.8,2.5-13.5H60.8V16.2h-16c2.6-4.9,9.1-10,18.3-10.2V36.8h6.5V.2h-.8c-.1,0-.8-.1-2.1-.1" /> 3345 <path class="text-blue" d="M36.8,0,26,23.4,22.6,0H20.2L8.9,23.4,6.1,0H0L5.4,36.7H7.7L19,13.6l4.2,23.2h2.3L42.9,0Z" /> 3346 <path class="text-gray-dark" d="M298.5,20.8a12,12,0,0,0-5.2-4.2l-2.8-1.3a20.72,20.72,0,0,1-3.5-2,4.81,4.81,0,0,1-1.2-1.6,5.38,5.38,0,0,1-.4-2.2,4.14,4.14,0,0,1,1.2-3.1A4.55,4.55,0,0,1,290,5.2a11.09,11.09,0,0,1,3.4.6A11.76,11.76,0,0,1,296.1,7l.6.4,1.7-5.1-.3-.2c-1.6-1.3-4.3-2-8.3-2a10.54,10.54,0,0,0-7.4,2.7,9.06,9.06,0,0,0-2.9,6.8,10.53,10.53,0,0,0,1.5,5.7,11.42,11.42,0,0,0,5.1,4.1l2.8,1.3c2.4,1.1,3.9,2.2,4.4,3.1a5.29,5.29,0,0,1,.9,3,4.33,4.33,0,0,1-1.5,3.4,6,6,0,0,1-4.1,1.4,10.51,10.51,0,0,1-3.3-.6,11.19,11.19,0,0,1-3.1-1.5l-.5-.4-2.1,5.3.4.2a14.24,14.24,0,0,0,8.1,2.2,13.35,13.35,0,0,0,8.7-2.8,8.85,8.85,0,0,0,3.3-7,12.91,12.91,0,0,0-1.6-6.2M277.8,36.9l-9.7-15.2c3.8-1.9,5.4-5.5,5.4-10.9,0-7.2-5.2-10.8-15.7-10.8-.8,0-2.9.1-6.6.3h-.6V36.9h6.5V23.1c2.2.1,2.8.2,3.3.2a13.55,13.55,0,0,0,2-.2l8.4,13.8ZM260,17.8c-.1,0,.3,0-2.9-.2V5.7c2.2-.1,1.8-.2,2.3-.2,6,0,8.1,1.9,8.1,5.8-.1,4.4-1.9,6.5-7.5,6.5M248.4,6.6V.1H225.7V36.8h22.7V30.3H232.2V21.7H243V15.2H232.2V6.6ZM211,16.1,223.5.1h-6.9L203,16.1V.1h-6.5V36.8H203V25.9l4.1-4.9,9.5,15.8h6.9ZM180.3.1h-2L163.9,36.8h6.6l2.6-7.6h12.5l2.5,7.6h6.6ZM183,22.8h-7.5l3.6-10.1ZM154.3.1h-3l-7.4,24.7L135.8.1h-3.1l-6.9,36.7h5.7l3.8-21,7.4,21h2l7.2-21,3.9,21h5.7Z" /> 3347</svg></a> 3348 </div> 3349 <div class="site-header-top__right flex items-center justify-end"> 3350 <div class="site-header__contact hidden tabletl:flex items-center justify-end mr-16 text-14"> 3351 <div class="site-header-contact__links flex flex-col items-end"> 3352 3353 <a href="tel:8883386085" class="font-600" target="_blank" rel="noopener noreferrer">(888) 338-6085</a> 3354 3355 3356 <a href="mailto:[email protected]" target="_blank" class="text-14" rel="noopener noreferrer">[email protected]</a> 3357 3358 </div> 3359 3360 <a href="/pages/customer-service" data-online-text="LIVE CHAT" class="site-header-contact__link btn btn--gray px-12 font-400 ml-16 focus:text-white focus:bg-blue desktop:hover:text-white desktop:hover:bg-blue" js-contact-btn>CONTACT US</a> 3361 3362 </div> 3363 <button class="w-[35px] text-gray focus:text-blue desktop:hover:text-blue mr-16 relative wm-cart-button" title="Cart" aria-label="Cart" js-cart-drawer-open> 3364 <svg class="icon icon--cart" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23.99 21"> 3365 3366 <path d="M23.93,5.66l-2.61,7.88a1.31,1.31,0,0,1-1.24.9H7.82a1.3,1.3,0,0,1-1.23-.9L3,2.62H1.3A1.3,1.3,0,0,1,0,1.31,1.31,1.31,0,0,1,1.3,0H3.91A1.31,1.31,0,0,1,5.15.9l1,3H22.69a1.31,1.31,0,0,1,1.06.54A1.34,1.34,0,0,1,23.93,5.66ZM9.23,16.24a2.39,2.39,0,0,1,2.42,2.38A2.5,2.5,0,0,1,9.08,21a2.25,2.25,0,0,1-2.27-2.38A2.39,2.39,0,0,1,9.23,16.24ZM18.42,16a2.5,2.5,0,1,1-2.51,2.5A2.51,2.51,0,0,1,18.42,16Z" /> 3367</svg>
3368 <span class="absolute top-0 right-0 w-[22px] h-[22px] border-2 border-solid rounded-[50%] border-gray-light tabletl:border-white bg-blue text-white text-14 flex items-center justify-center hidden translate-x-[25%] translate-y-[-25%]" js-cart-counter>0</span> 3369 </button> 3370 3371 <a href="#swym-wishlist" class="swym-wishlist"> 3372 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="40" width="40" zoomAndPan="magnify" viewBox="0 0 1350 1349.999938" preserveAspectRatio="xMidYMid meet" version="1.0"> 3373 <defs> 3374 <clipPath id="ec211ed600"> 3375 <path d="M 138 267 L 1131 267 L 1131 1135.230469 L 138 1135.230469 Z M 138 267 " clip-rule="nonzero"/> 3376 </clipPath> 3377 </defs> 3378 <g clip-path="url(#ec211ed600)"> 3379 <path fill="#afb0b3" d="M 619.148438 497.902344 C 700.691406 295.25 908.226562 186.480469 1062.582031 338.71875 C 1349.476562 620.960938 630.65625 1135.230469 630.65625 1135.230469 C 265.195312 835.917969 0.523438 579.28125 215.394531 350.230469 C 335.828125 221.613281 534.828125 304.378906 619.148438 497.902344 Z M 619.148438 497.902344 " fill-opacity="1" fill-rule="nonzero"/> 3380 </g> 3381 </svg> 3382 </a> 3383 3384 <a href="/account" class="w-[30px] block text-gray" title="Account" aria-label="Account"><svg class="icon icon--account" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> 3385 3386 <path d="M6,6a6,6,0,1,0,6-6A6,6,0,0,0,6,6Zm11.1,8.23H6.9c-3,0-6.9,3.07-6.9,6.86V24H24V21.09C24,17.3,19.78,14.17,17.1,14.23Z" /> 3387</svg></a> 3388 </div> 3389 </div> 3390 </div> 3391 <div class="site-header__bottom-container hidden tabletl:block bg-blue"> 3392 <div class="site-header__bottom flex items-center justify-between w-full max-w-[1140px] mx-auto pr-16"> 3393 <nav class="site-header__nav flex items-center justify-start"> 3394 3395 <a href="/pages/wakeboard-ballast" class="site-header-nav__link p-16 uppercase text-white bg-blue focus:bg-blue-dark focus:text-white desktop:hover:bg-blue-dark desktop:hover:text-white">Ballast</a> 3396 3397 <a href="/pages/props" class="site-header-nav__link p-16 uppercase text-white bg-blue focus:bg-blue-dark focus:text-white desktop:hover:bg-blue-dark desktop:hover:text-white">Props</a> 3398 3399 <a href="/pages/wakesurf" class="site-header-nav__link p-16 uppercase text-white bg-blue focus:bg-blue-dark focus:text-white desktop:hover:bg-blue-dark desktop:hover:text-white">Surf</a> 3400 3401 <a href="/pages/hydrofoil-boards" class="site-header-nav__link p-16 uppercase text-white bg-blue focus:bg-blue-dark focus:text-white desktop:hover:bg-blue-dark desktop:hover:text-white">Foil</a> 3402 3403 <a href="/pages/wake" class="site-header-nav__link p-16 uppercase text-white bg-blue focus:bg-blue-dark focus:text-white desktop:hover:bg-blue-dark desktop:hover:text-white">Wake</a> 3404 3405 <a href="/pages/wakeboard-boat" class="site-header-nav__link p-16 uppercase text-white bg-blue focus:bg-blue-dark focus:text-white desktop:hover:bg-blue-dark desktop:hover:text-white">Boat</a> 3406 3407 <a href="/pages/gear" class="site-header-nav__link p-16 uppercase text-white bg-blue focus:bg-blue-dark focus:text-white desktop:hover:bg-blue-dark desktop:hover:text-white">Gear</a> 3408 3409 <a href="/pages/outlet" class="site-header-nav__link p-16 uppercase text-white bg-blue focus:bg-blue-dark focus:text-white desktop:hover:bg-blue-dark desktop:hover:text-white">Outlet</a> 3410 3411 <a href="/blogs/resources" class="site-header-nav__link p-16 uppercase text-white bg-blue focus:bg-blue-dark focus:text-white desktop:hover:bg-blue-dark desktop:hover:text-white">Resources</a> 3412 3413 </nav> 3414 <predictive-search class="text-white w-[388px]"> 3415 <form action="/search" method="get" role="search" class="relative w-full"> 3416 <label for="header-search" class="visually-hidden">Search</label> 3417 <input 3418 id="header-search" 3419 class="bg-blue-dark py-16 pl-16 pr-40 font-300 placeholder-current w-full appearance-none rounded-none" 3420 type="search" 3421 name="q" 3422 autocomplete="off" 3423 value=""placeholder="Enter keyword or item #" 3424 > 3425 <input type="hidden" name="type" value="product"/> 3426 <input name="options[prefix]" type="hidden" value="last"> 3427 <button class="w-[36px] absolute right-0 top-1/2 -translate-y-1/2 p-8 text-[0px]" type="submit" aria-label="Search" title="Search"><svg class="icon icon--search" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 99.83"> 3428 3429 <path d="M99.34,89.07,68.05,57.79A37.16,37.16,0,0,0,37.15,0,37.15,37.15,0,0,0,10.88,63.42,37.16,37.16,0,0,0,58,67.91L89.24,99.17c1.06,1,3,.82,4.33-.52l5.26-5.25C100.16,92.07,100.39,90.13,99.34,89.07ZM37.15,64.23A27.09,27.09,0,1,1,64.23,37.15,27.12,27.12,0,0,1,37.15,64.23Z" /> 3430</svg></button> 3431 <div class="absolute hidden w-full left-0 bottom-0 translate-y-full text-black bg-white p-16 border-2 border-t-0 border-solid border-blue-dark rounded-bl-2 roun
3431ded-br-2 max-h-[calc(100vh-var(--header-height))] overflow-y-auto" tabindex="-1" js-predictive-search></div> 3432 </form> 3433 </predictive-search> 3434 </div> 3435 </div> 3436</header> 3437 3438 3439 3440</div> 3441 3442 3443 3444<s-drawer id="MobileNavDrawer" position='left' open="[js-open-mobile-nav]" close="[js-close-mobile-nav]"> 3445 <button class="hidden" js-close-mobile-nav>Close</button> 3446 <div class="template-search__search"> 3447 <form action="/search" method="get" role="search" class="search"> 3448 <div class="field bg-blue-dark w-full p-16 relative"> 3449 <input 3450 class="search__input bg-blue-dark text-white w-3/4 appearance-none" 3451 id="Search-In-Template" 3452 type="search" 3453 name="q" 3454 value="" 3455 3456 placeholder="Enter keyword or item #" 3457 > 3458 <label class="field__label hidden" for="Search-In-Template" aria-hidden="true">Search</label> 3459 <input type="hidden" name="type" value="product"/> 3460 <input name="options[prefix]" type="hidden" value="last"> 3461 <button type="submit" class="search__button w-24 text-white absolute right-16" aria-label="Search"> 3462 <svg class="icon icon--search" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 99.83"> 3463 3464 <path d="M99.34,89.07,68.05,57.79A37.16,37.16,0,0,0,37.15,0,37.15,37.15,0,0,0,10.88,63.42,37.16,37.16,0,0,0,58,67.91L89.24,99.17c1.06,1,3,.82,4.33-.52l5.26-5.25C100.16,92.07,100.39,90.13,99.34,89.07ZM37.15,64.23A27.09,27.09,0,1,1,64.23,37.15,27.12,27.12,0,0,1,37.15,64.23Z" /> 3465</svg> 3466 </button> 3467 </div> 3468 </form> 3469 </div> 3470 3471 <div class="mobile-drawer__accordion"> 3472 <s-accordion js-accordion> 3473 3474 <div class="mobile-menu__accordion accordion-item" js-accordion-item> 3475 <button class="mobile-menu__accordion-header mobile-accordion-header p-16 text-20 text-gray-dark flex flex-row justify-between items-center w-full" aria-expanded="false" aria-controls="mobile-accordion-ballast" js-accordion-header> 3476 <span>Ballast</span> 3477 <div class="accordion-icon w-24 text-gray-dark rotate-[-90deg]"> 3478 <?xml version="1.0" encoding="UTF-8"?> 3479<svg class="icon icon-carousel-left" version="1.1" viewBox="0 0 700 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3480 3481 <g> 3482 <path d="m350 28c-138.98 0-252 113.02-252 252s113.02 252 252 252 252-113.02 252-252-113.02-252-252-252zm0 33.602c120.82 0 218.4 97.582 218.4 218.4s-97.582 218.4-218.4 218.4-218.4-97.582-218.4-218.4 97.582-218.4 218.4-218.4zm54.773 78.223c-3.8008 0.32031-7.3789 1.9258-10.148 4.5508l-134.4 123.2c-3.4414 3.1797-5.3984 7.6523-5.3984 12.34 0 4.6836 1.957 9.1562 5.3984 12.336l134.4 123.2c3.2227 3.2812 7.6523 5.0977 12.254 5.0273 4.5977-0.074218 8.9688-2.0273 12.086-5.4102 3.1172-3.3828 4.7109-7.8945 4.4141-12.488-0.30078-4.5898-2.4727-8.8555-6.0039-11.805l-120.93-110.77 120.93-110.95c3.5-3.1562 5.5117-7.6367 5.5508-12.352 0.035157-4.7109-1.9102-9.2227-5.3633-12.43-3.4492-3.2109-8.0898-4.8242-12.789-4.4453z"/> 3483 3484 </g> 3485</svg> 3486 3487 </div> 3488 </button> 3489 <div id="mobile-accordion-ballast" class="mobile-menu__accordion-content accordion-content" aria-hidden="true" js-accordion-content> 3490 3491 <div class="mobile-menu__child-item p-16 pl-32"> 3492 <a class="mobile-menu__child-link" href="/collections/factory-wakeboard-ballast-upgrades"> Factory Ballast Upgrades</a> 3493 </div> 3494 3495 <div class="mobile-menu__child-item p-16 pl-32"> 3496 <a class="mobile-menu__child-link" href="/collections/wakeboard-ballast-bag-pump-combos"> Balast Bag & Pump Combo</a> 3497 </div> 3498 3499 <div class="mobile-menu__child-item p-16 pl-32"> 3500 <a class="mobile-menu__child-link" href="/collections/wakeboard-ballast-systems"> Complete Ballast Systems</a> 3501 </div> 3502 3503 <div class="mobile-menu__child-item p-16 pl-32"> 3504 <a class="mobile-menu__child-link" href="/collections/wakesurf-ballast-bags"> Ballast Bags</a> 3505 </div> 3506 3507 <div class="mobile-menu__child-item p-16 pl-32"> 3508 <a class="mobile-menu__child-link" href="/collections/wakeboard-ballast-pumps"> Ballast Pumps</a> 3509 </div> 3510 3511 <div class="mobile-menu__child-item p-16 pl-32"> 3512 <a class="mobile-menu__child-link" href="/pages/wakeboard-ballast-parts"> Ballast Parts</a> 3513 </div> 3514 3515 <div class="mobile-menu__child-item p-16 pl-32"> 3516 <a class="mobile-menu__child-link" href="/collections/wakesurf-systems"> Wake Shapers & Wakesurf Systems</a> 3517 </div> 3518 3519 <div class="mobile-menu__child-item p-16 pl-32"> 3520 <a class="mobile-menu__child-link" href="/pages/wakeboard-ballast"> Shop All Ballast »</a> 3521 </div> 3522 3523 </div> 3524 </div> 3525 3526 <div class="mobile-menu__accordion accordion-item" js-accordion-item> 3527 <button class="mobile-menu__accordion-header mobile-accordion-header p-16 text-20 text-gray-dark flex flex-row justify-between items-center w-full" aria-expanded="false" aria-controls="mobile-accordion-props" js-accordion-header>
3528 <span>Props</span> 3529 <div class="accordion-icon w-24 text-gray-dark rotate-[-90deg]"> 3530 <?xml version="1.0" encoding="UTF-8"?> 3531<svg class="icon icon-carousel-left" version="1.1" viewBox="0 0 700 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3532 3533 <g> 3534 <path d="m350 28c-138.98 0-252 113.02-252 252s113.02 252 252 252 252-113.02 252-252-113.02-252-252-252zm0 33.602c120.82 0 218.4 97.582 218.4 218.4s-97.582 218.4-218.4 218.4-218.4-97.582-218.4-218.4 97.582-218.4 218.4-218.4zm54.773 78.223c-3.8008 0.32031-7.3789 1.9258-10.148 4.5508l-134.4 123.2c-3.4414 3.1797-5.3984 7.6523-5.3984 12.34 0 4.6836 1.957 9.1562 5.3984 12.336l134.4 123.2c3.2227 3.2812 7.6523 5.0977 12.254 5.0273 4.5977-0.074218 8.9688-2.0273 12.086-5.4102 3.1172-3.3828 4.7109-7.8945 4.4141-12.488-0.30078-4.5898-2.4727-8.8555-6.0039-11.805l-120.93-110.77 120.93-110.95c3.5-3.1562 5.5117-7.6367 5.5508-12.352 0.035157-4.7109-1.9102-9.2227-5.3633-12.43-3.4492-3.2109-8.0898-4.8242-12.789-4.4453z"/> 3535 3536 </g> 3537</svg> 3538 3539 </div> 3540 </button> 3541 <div id="mobile-accordion-props" class="mobile-menu__accordion-content accordion-content" aria-hidden="true" js-accordion-content> 3542 3543 <div class="mobile-menu__child-item p-16 pl-32"> 3544 <a class="mobile-menu__child-link" href="/collections/propellers"> Exclusive PropFinder</a> 3545 </div> 3546 3547 <div class="mobile-menu__child-item p-16 pl-32"> 3548 <a class="mobile-menu__child-link" href="/collections/propellers"> Propellers</a> 3549 </div> 3550 3551 <div class="mobile-menu__child-item p-16 pl-32"> 3552 <a class="mobile-menu__child-link" href="/collections/prop-accessories"> Prop Accessories</a> 3553 </div> 3554 3555 <div class="mobile-menu__child-item p-16 pl-32"> 3556 <a class="mobile-menu__child-link" href="/pages/props"> Shop all Props »</a> 3557 </div> 3558 3559 </div> 3560 </div> 3561 3562 <div class="mobile-menu__accordion accordion-item" js-accordion-item> 3563 <button class="mobile-menu__accordion-header mobile-accordion-header p-16 text-20 text-gray-dark flex flex-row justify-between items-center w-full" aria-expanded="false" aria-controls="mobile-accordion-surf" js-accordion-header> 3564 <span>Surf</span> 3565 <div class="accordion-icon w-24 text-gray-dark rotate-[-90deg]"> 3566 <?xml version="1.0" encoding="UTF-8"?> 3567<svg class="icon icon-carousel-left" version="1.1" viewBox="0 0 700 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3568 3569 <g> 3570 <path d="m350 28c-138.98 0-252 113.02-252 252s113.02 252 252 252 252-113.02 252-252-113.02-252-252-252zm0 33.602c120.82 0 218.4 97.582 218.4 218.4s-97.582 218.4-218.4 218.4-218.4-97.582-218.4-218.4 97.582-218.4 218.4-218.4zm54.773 78.223c-3.8008 0.32031-7.3789 1.9258-10.148 4.5508l-134.4 123.2c-3.4414 3.1797-5.3984 7.6523-5.3984 12.34 0 4.6836 1.957 9.1562 5.3984 12.336l134.4 123.2c3.2227 3.2812 7.6523 5.0977 12.254 5.0273 4.5977-0.074218 8.9688-2.0273 12.086-5.4102 3.1172-3.3828 4.7109-7.8945 4.4141-12.488-0.30078-4.5898-2.4727-8.8555-6.0039-11.805l-120.93-110.77 120.93-110.95c3.5-3.1562 5.5117-7.6367 5.5508-12.352 0.035157-4.7109-1.9102-9.2227-5.3633-12.43-3.4492-3.2109-8.0898-4.8242-12.789-4.4453z"/> 3571 3572 </g> 3573</svg> 3574 3575 </div> 3576 </button> 3577 <div id="mobile-accordion-surf" class="mobile-menu__accordion-content accordion-content" aria-hidden="true" js-accordion-content> 3578 3579 <div class="mobile-menu__child-item p-16 pl-32"> 3580 <a class="mobile-menu__child-link" href="/collections/wakesurf-boards"> Wakesurf Boards</a> 3581 </div> 3582 3583 <div class="mobile-menu__child-item p-16 pl-32"> 3584 <a class="mobile-menu__child-link" href="/collections/wakeboard-vests"> Wakesurf Vests & Life Jackets</a> 3585 </div> 3586 3587 <div class="mobile-menu__child-item p-16 pl-32"> 3588 <a class="mobile-menu__child-link" href="/collections/wakesurf-ropes"> Wakesurf Ropes & Handles</a> 3589 </div> 3590 3591 <div class="mobile-menu__child-item p-16 pl-32"> 3592 <a class="mobile-menu__child-link" href="/collections/wakesurf-bags"> Wakesurf Bags</a> 3593 </div> 3594 3595 <div class="mobile-menu__child-item p-16 pl-32"> 3596 <a class="mobile-menu__child-link" href="/collections/drysuits-wetsuits"> Drysuits & Wetsuits</a> 3597 </div> 3598 3599 <div class="mobile-menu__child-item p-16 pl-32"> 3600 <a class="mobile-menu__child-link" href="/collections/wakesurf-accessories"> Wakesurf Fins & Accessories</a> 3601 </div> 3602 3603 <div class="mobile-menu__child-item p-16 pl-32"> 3604 <a class="mobile-menu__child-link" href="/collections/wakesurf-systems"> Wake Shapers & Wakesurf Systems</a> 3605 </div> 3606 3607 <div class="mobile-menu__child-item p-16 pl-32"> 3608 <a class="mobile-menu__child-link" href="/pages/wakesurf"> Shop all Surf »</a> 3609 </div> 3610 3611 </div> 3612 </div> 3613 3614 <div class="mobile-menu__accordion accordion-item" js-accordion-item> 3615 <button class="mobile-menu__accordion-header mobile-accordion-header p-16 text-20 text-gray-dark flex flex-row justify-between items-center w-full" aria-expanded="false" aria-controls="mobile-accordion-foil" js-accordion-header>
3616 <span>Foil</span> 3617 <div class="accordion-icon w-24 text-gray-dark rotate-[-90deg]"> 3618 <?xml version="1.0" encoding="UTF-8"?> 3619<svg class="icon icon-carousel-left" version="1.1" viewBox="0 0 700 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3620 3621 <g> 3622 <path d="m350 28c-138.98 0-252 113.02-252 252s113.02 252 252 252 252-113.02 252-252-113.02-252-252-252zm0 33.602c120.82 0 218.4 97.582 218.4 218.4s-97.582 218.4-218.4 218.4-218.4-97.582-218.4-218.4 97.582-218.4 218.4-218.4zm54.773 78.223c-3.8008 0.32031-7.3789 1.9258-10.148 4.5508l-134.4 123.2c-3.4414 3.1797-5.3984 7.6523-5.3984 12.34 0 4.6836 1.957 9.1562 5.3984 12.336l134.4 123.2c3.2227 3.2812 7.6523 5.0977 12.254 5.0273 4.5977-0.074218 8.9688-2.0273 12.086-5.4102 3.1172-3.3828 4.7109-7.8945 4.4141-12.488-0.30078-4.5898-2.4727-8.8555-6.0039-11.805l-120.93-110.77 120.93-110.95c3.5-3.1562 5.5117-7.6367 5.5508-12.352 0.035157-4.7109-1.9102-9.2227-5.3633-12.43-3.4492-3.2109-8.0898-4.8242-12.789-4.4453z"/> 3623 3624 </g> 3625</svg> 3626 3627 </div> 3628 </button> 3629 <div id="mobile-accordion-foil" class="mobile-menu__accordion-content accordion-content" aria-hidden="true" js-accordion-content> 3630 3631 <div class="mobile-menu__child-item p-16 pl-32"> 3632 <a class="mobile-menu__child-link" href="/collections/foil-boards"> Wake Foil Packages</a> 3633 </div> 3634 3635 <div class="mobile-menu__child-item p-16 pl-32"> 3636 <a class="mobile-menu__child-link" href="/collections/foil-surfboards"> Foil Boards</a> 3637 </div> 3638 3639 <div class="mobile-menu__child-item p-16 pl-32"> 3640 <a class="mobile-menu__child-link" href="/collections/hydrofoils"> Foil Sets</a> 3641 </div> 3642 3643 <div class="mobile-menu__child-item p-16 pl-32"> 3644 <a class="mobile-menu__child-link" href="/collections/foil-hardware-accessories"> Foil Accessories</a> 3645 </div> 3646 3647 <div class="mobile-menu__child-item p-16 pl-32"> 3648 <a class="mobile-menu__child-link" href="/collections/wakeboard-vests"> Foil Vests & Life Jackets</a> 3649 </div> 3650 3651 <div class="mobile-menu__child-item p-16 pl-32"> 3652 <a class="mobile-menu__child-link" href="/collections/drysuits-wetsuits"> Drysuits & Wetsuits</a> 3653 </div> 3654 3655 <div class="mobile-menu__child-item p-16 pl-32"> 3656 <a class="mobile-menu__child-link" href="/pages/hydrofoil-boards"> Shop all Foil »</a> 3657 </div> 3658 3659 </div> 3660 </div> 3661 3662 <div class="mobile-menu__accordion accordion-item" js-accordion-item> 3663 <button class="mobile-menu__accordion-header mobile-accordion-header p-16 text-20 text-gray-dark flex flex-row justify-between items-center w-full" aria-expanded="false" aria-controls="mobile-accordion-wake" js-accordion-header> 3664 <span>Wake</span> 3665 <div class="accordion-icon w-24 text-gray-dark rotate-[-90deg]"> 3666 <?xml version="1.0" encoding="UTF-8"?> 3667<svg class="icon icon-carousel-left" version="1.1" viewBox="0 0 700 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3668 3669 <g> 3670 <path d="m350 28c-138.98 0-252 113.02-252 252s113.02 252 252 252 252-113.02 252-252-113.02-252-252-252zm0 33.602c120.82 0 218.4 97.582 218.4 218.4s-97.582 218.4-218.4 218.4-218.4-97.582-218.4-218.4 97.582-218.4 218.4-218.4zm54.773 78.223c-3.8008 0.32031-7.3789 1.9258-10.148 4.5508l-134.4 123.2c-3.4414 3.1797-5.3984 7.6523-5.3984 12.34 0 4.6836 1.957 9.1562 5.3984 12.336l134.4 123.2c3.2227 3.2812 7.6523 5.0977 12.254 5.0273 4.5977-0.074218 8.9688-2.0273 12.086-5.4102 3.1172-3.3828 4.7109-7.8945 4.4141-12.488-0.30078-4.5898-2.4727-8.8555-6.0039-11.805l-120.93-110.77 120.93-110.95c3.5-3.1562 5.5117-7.6367 5.5508-12.352 0.035157-4.7109-1.9102-9.2227-5.3633-12.43-3.4492-3.2109-8.0898-4.8242-12.789-4.4453z"/> 3671 3672 </g> 3673</svg> 3674 3675 </div> 3676 </button> 3677 <div id="mobile-accordion-wake" class="mobile-menu__accordion-content accordion-content" aria-hidden="true" js-accordion-content> 3678 3679 <div class="mobile-menu__child-item p-16 pl-32"> 3680 <a class="mobile-menu__child-link" href="/collections/wakeboard-bindings"> Wakeboard Bindings</a> 3681 </div> 3682 3683 <div class="mobile-menu__child-item p-16 pl-32"> 3684 <a class="mobile-menu__child-link" href="/collections/wakeboard-vests"> Wakeboard Vests & Life Jackets</a> 3685 </div> 3686 3687 <div class="mobile-menu__child-item p-16 pl-32"> 3688 <a class="mobile-menu__child-link" href="/collections/wakeboard-ropes"> Wakeboard Ropes & Handles</a> 3689 </div> 3690 3691 <div class="mobile-menu__child-item p-16 pl-32"> 3692 <a class="mobile-menu__child-link" href="/collections/wakeboard-bags"> Wakeboard Bags</a> 3693 </div> 3694 3695 <div class="mobile-menu__child-item p-16 pl-32"> 3696 <a class="mobile-menu__child-link" href="/collections/wakeskates"> Wakeskates</a> 3697 </div> 3698 3699 <div class="mobile-menu__child-item p-16 pl-32"> 3700 <a class="mobile-menu__child-link" href="/collections/drysuits-wetsuits"> Drysuits, Wetsuits & Neo Accessories</a> 3701 </div> 3702 3703 <div class="mobile-menu__child-item p-16 pl-32"> 3704 <a class="mobile-menu__child-link" href="/collections/wakeboard-accessories"> Wake Accessories</a> 3705 </div> 3706 3707 <div class="mobile-menu__child-item p-16 pl-32"> 3708 <a class="mobile-menu__child-link" href="/pages/wake"> Shop all Wake »</a> 3709 </div> 3710 3711 </div> 3712 </div> 3713 3714 <div class="mobile-menu__accordion accordion-item" js-accordion-item> 3715 <button class="mobile-menu__accordion-header mobile-accordion-header p-16 text-20 text-gray-dark flex flex-row justify-between items-center w-full" aria-expanded="false" aria-controls="mobile-accordion-boat" js-accordion-header>
3716 <span>Boat</span> 3717 <div class="accordion-icon w-24 text-gray-dark rotate-[-90deg]"> 3718 <?xml version="1.0" encoding="UTF-8"?> 3719<svg class="icon icon-carousel-left" version="1.1" viewBox="0 0 700 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3720 3721 <g> 3722 <path d="m350 28c-138.98 0-252 113.02-252 252s113.02 252 252 252 252-113.02 252-252-113.02-252-252-252zm0 33.602c120.82 0 218.4 97.582 218.4 218.4s-97.582 218.4-218.4 218.4-218.4-97.582-218.4-218.4 97.582-218.4 218.4-218.4zm54.773 78.223c-3.8008 0.32031-7.3789 1.9258-10.148 4.5508l-134.4 123.2c-3.4414 3.1797-5.3984 7.6523-5.3984 12.34 0 4.6836 1.957 9.1562 5.3984 12.336l134.4 123.2c3.2227 3.2812 7.6523 5.0977 12.254 5.0273 4.5977-0.074218 8.9688-2.0273 12.086-5.4102 3.1172-3.3828 4.7109-7.8945 4.4141-12.488-0.30078-4.5898-2.4727-8.8555-6.0039-11.805l-120.93-110.77 120.93-110.95c3.5-3.1562 5.5117-7.6367 5.5508-12.352 0.035157-4.7109-1.9102-9.2227-5.3633-12.43-3.4492-3.2109-8.0898-4.8242-12.789-4.4453z"/> 3723 3724 </g> 3725</svg> 3726 3727 </div> 3728 </button> 3729 <div id="mobile-accordion-boat" class="mobile-menu__accordion-content accordion-content" aria-hidden="true" js-accordion-content> 3730 3731 <div class="mobile-menu__child-item p-16 pl-32"> 3732 <a class="mobile-menu__child-link" href="/collections/boat-parts"> Boat Parts</a> 3733 </div> 3734 3735 <div class="mobile-menu__child-item p-16 pl-32"> 3736 <a class="mobile-menu__child-link" href="/collections/propellers"> WakeMAKERS PropFinder Tool</a> 3737 </div> 3738 3739 <div class="mobile-menu__child-item p-16 pl-32"> 3740 <a class="mobile-menu__child-link" href="/collections/wakesurf-systems"> Wake Shapers & Wakesurf Systems</a> 3741 </div> 3742 3743 <div class="mobile-menu__child-item p-16 pl-32"> 3744 <a class="mobile-menu__child-link" href="/collections/detailing-cleaning"> Cleaning & Detailing</a> 3745 </div> 3746 3747 <div class="mobile-menu__child-item p-16 pl-32"> 3748 <a class="mobile-menu__child-link" href="/collections/docking-mooring"> Docking & Mooring</a> 3749 </div> 3750 3751 <div class="mobile-menu__child-item p-16 pl-32"> 3752 <a class="mobile-menu__child-link" href="/collections/tower-mirrors"> Mirrors & Accessories</a> 3753 </div> 3754 3755 <div class="mobile-menu__child-item p-16 pl-32"> 3756 <a class="mobile-menu__child-link" href="/collections/propellers"> Propellers</a> 3757 </div> 3758 3759 <div class="mobile-menu__child-item p-16 pl-32"> 3760 <a class="mobile-menu__child-link" href="/pages/marine-stereo-systems"> Marine Audio »</a> 3761 </div> 3762 3763 <div class="mobile-menu__child-item p-16 pl-32"> 3764 <a class="mobile-menu__child-link" href="/collections/wakeboard-towers"> Towers & Accessories</a> 3765 </div> 3766 3767 <div class="mobile-menu__child-item p-16 pl-32"> 3768 <a class="mobile-menu__child-link" href="/collections/trailer-accessories"> Trailer Accessories</a> 3769 </div> 3770 3771 <div class="mobile-menu__child-item p-16 pl-32"> 3772 <a class="mobile-menu__child-link" href="/collections/towing-protection"> Towing Protection</a> 3773 </div> 3774 3775 <div class="mobile-menu__child-item p-16 pl-32"> 3776 <a class="mobile-menu__child-link" href="/collections/safety"> Safety Accessories</a> 3777 </div> 3778 3779 <div class="mobile-menu__child-item p-16 pl-32"> 3780 <a class="mobile-menu__child-link" href="/collections/inflatables"> Inflatables & Accessories</a> 3781 </div> 3782 3783 <div class="mobile-menu__child-item p-16 pl-32"> 3784 <a class="mobile-menu__child-link" href="/collections/solid-ballast"> Lead Ballast</a> 3785 </div> 3786 3787 <div class="mobile-menu__child-item p-16 pl-32"> 3788 <a class="mobile-menu__child-link" href="/pages/wakeboard-boat"> Shop all Boat »</a> 3789 </div> 3790 3791 </div> 3792 </div> 3793 3794 <div class="mobile-menu__accordion accordion-item" js-accordion-item> 3795 <button class="mobile-menu__accordion-header mobile-accordion-header p-16 text-20 text-gray-dark flex flex-row justify-between items-center w-full" aria-expanded="false" aria-controls="mobile-accordion-gear" js-accordion-header>
3796 <span>Gear</span> 3797 <div class="accordion-icon w-24 text-gray-dark rotate-[-90deg]"> 3798 <?xml version="1.0" encoding="UTF-8"?> 3799<svg class="icon icon-carousel-left" version="1.1" viewBox="0 0 700 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3800 3801 <g> 3802 <path d="m350 28c-138.98 0-252 113.02-252 252s113.02 252 252 252 252-113.02 252-252-113.02-252-252-252zm0 33.602c120.82 0 218.4 97.582 218.4 218.4s-97.582 218.4-218.4 218.4-218.4-97.582-218.4-218.4 97.582-218.4 218.4-218.4zm54.773 78.223c-3.8008 0.32031-7.3789 1.9258-10.148 4.5508l-134.4 123.2c-3.4414 3.1797-5.3984 7.6523-5.3984 12.34 0 4.6836 1.957 9.1562 5.3984 12.336l134.4 123.2c3.2227 3.2812 7.6523 5.0977 12.254 5.0273 4.5977-0.074218 8.9688-2.0273 12.086-5.4102 3.1172-3.3828 4.7109-7.8945 4.4141-12.488-0.30078-4.5898-2.4727-8.8555-6.0039-11.805l-120.93-110.77 120.93-110.95c3.5-3.1562 5.5117-7.6367 5.5508-12.352 0.035157-4.7109-1.9102-9.2227-5.3633-12.43-3.4492-3.2109-8.0898-4.8242-12.789-4.4453z"/> 3803 3804 </g> 3805</svg> 3806 3807 </div> 3808 </button> 3809 <div id="mobile-accordion-gear" class="mobile-menu__accordion-content accordion-content" aria-hidden="true" js-accordion-content> 3810 3811 <div class="mobile-menu__child-item p-16 pl-32"> 3812 <a class="mobile-menu__child-link" href="/collections/drysuits-wetsuits"> Drysuits, Wetsuits & Neo Accessories</a> 3813 </div> 3814 3815 <div class="mobile-menu__child-item p-16 pl-32"> 3816 <a class="mobile-menu__child-link" href="/collections/inflatables"> Inflatable Maps & Pumps</a> 3817 </div> 3818 3819 <div class="mobile-menu__child-item p-16 pl-32"> 3820 <a class="mobile-menu__child-link" href="/collections/tubes"> Tubes & Accessories</a> 3821 </div> 3822 3823 <div class="mobile-menu__child-item p-16 pl-32"> 3824 <a class="mobile-menu__child-link" href="/collections/wakeboard-vests"> Life Jackets & Comp Vests</a> 3825 </div> 3826 3827 <div class="mobile-menu__child-item p-16 pl-32"> 3828 <a class="mobile-menu__child-link" href="/collections/apparel"> Boating Apparel & Accessories</a> 3829 </div> 3830 3831 <div class="mobile-menu__child-item p-16 pl-32"> 3832 <a class="mobile-menu__child-link" href="/collections/water-ski-packages"> Water Ski Packages</a> 3833 </div> 3834 3835 <div class="mobile-menu__child-item p-16 pl-32"> 3836 <a class="mobile-menu__child-link" href="/collections/water-ski"> Blank Slalom Water Skis</a> 3837 </div> 3838 3839 <div class="mobile-menu__child-item p-16 pl-32"> 3840 <a class="mobile-menu__child-link" href="/collections/water-ski-bindings"> Water Ski Bindings</a> 3841 </div> 3842 3843 <div class="mobile-menu__child-item p-16 pl-32"> 3844 <a class="mobile-menu__child-link" href="/collections/water-ski-ropes"> Water Ski Ropes & Handles</a> 3845 </div> 3846 3847 <div class="mobile-menu__child-item p-16 pl-32"> 3848 <a class="mobile-menu__child-link" href="/collections/water-ski-gloves"> Water Ski Gloves</a> 3849 </div> 3850 3851 <div class="mobile-menu__child-item p-16 pl-32"> 3852 <a class="mobile-menu__child-link" href="/collections/water-ski-accessories"> Water Ski Accessories</a> 3853 </div> 3854 3855 <div class="mobile-menu__child-item p-16 pl-32"> 3856 <a class="mobile-menu__child-link" href="/collections/kneeboards"> Kneeboards</a> 3857 </div> 3858 3859 <div class="mobile-menu__child-item p-16 pl-32"> 3860 <a class="mobile-menu__child-link" href="/pages/gear"> Shop all Gear»</a> 3861 </div> 3862 3863 </div> 3864 </div> 3865 3866 <div class="mobile-menu__accordion accordion-item" js-accordion-item> 3867 <button class="mobile-menu__accordion-header mobile-accordion-header p-16 text-20 text-gray-dark flex flex-row justify-between items-center w-full" aria-expanded="false" aria-controls="mobile-accordion-outlet" js-accordion-header>
3868 <span>Outlet</span> 3869 <div class="accordion-icon w-24 text-gray-dark rotate-[-90deg]"> 3870 <?xml version="1.0" encoding="UTF-8"?> 3871<svg class="icon icon-carousel-left" version="1.1" viewBox="0 0 700 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3872 3873 <g> 3874 <path d="m350 28c-138.98 0-252 113.02-252 252s113.02 252 252 252 252-113.02 252-252-113.02-252-252-252zm0 33.602c120.82 0 218.4 97.582 218.4 218.4s-97.582 218.4-218.4 218.4-218.4-97.582-218.4-218.4 97.582-218.4 218.4-218.4zm54.773 78.223c-3.8008 0.32031-7.3789 1.9258-10.148 4.5508l-134.4 123.2c-3.4414 3.1797-5.3984 7.6523-5.3984 12.34 0 4.6836 1.957 9.1562 5.3984 12.336l134.4 123.2c3.2227 3.2812 7.6523 5.0977 12.254 5.0273 4.5977-0.074218 8.9688-2.0273 12.086-5.4102 3.1172-3.3828 4.7109-7.8945 4.4141-12.488-0.30078-4.5898-2.4727-8.8555-6.0039-11.805l-120.93-110.77 120.93-110.95c3.5-3.1562 5.5117-7.6367 5.5508-12.352 0.035157-4.7109-1.9102-9.2227-5.3633-12.43-3.4492-3.2109-8.0898-4.8242-12.789-4.4453z"/> 3875 3876 </g> 3877</svg> 3878 3879 </div> 3880 </button> 3881 <div id="mobile-accordion-outlet" class="mobile-menu__accordion-content accordion-content" aria-hidden="true" js-accordion-content> 3882 3883 <div class="mobile-menu__child-item p-16 pl-32"> 3884 <a class="mobile-menu__child-link" href="/collections/clearance-sale"> Clearance Sale</a> 3885 </div> 3886 3887 <div class="mobile-menu__child-item p-16 pl-32"> 3888 <a class="mobile-menu__child-link" href="/collections/on-sale-wakesurf-boards"> Surfboards</a> 3889 </div> 3890 3891 <div class="mobile-menu__child-item p-16 pl-32"> 3892 <a class="mobile-menu__child-link" href="/collections/on-sale-wakeboard-packages"> Wakeboard Packages</a> 3893 </div> 3894 3895 <div class="mobile-menu__child-item p-16 pl-32"> 3896 <a class="mobile-menu__child-link" href="/collections/on-sale-vests"> Life Jackets & Comp Vests</a> 3897 </div> 3898 3899 <div class="mobile-menu__child-item p-16 pl-32"> 3900 <a class="mobile-menu__child-link" href="/collections/on-sale-tubes"> Tubes & Towables</a> 3901 </div> 3902 3903 <div class="mobile-menu__child-item p-16 pl-32"> 3904 <a class="mobile-menu__child-link" href="/collections/on-sale-ballast-pumps"> Ballast Pumps</a> 3905 </div> 3906 3907 <div class="mobile-menu__child-item p-16 pl-32"> 3908 <a class="mobile-menu__child-link" href="/pages/outlet"> Shop all Outlet »</a> 3909 </div> 3910 3911 </div> 3912 </div> 3913 3914 <div class="mobile-menu__accordion accordion-item" js-accordion-item> 3915 <button class="mobile-menu__accordion-header mobile-accordion-header p-16 text-20 text-gray-dark flex flex-row justify-between items-center w-full" aria-expanded="false" aria-controls="mobile-accordion-resources" js-accordion-header> 3916 <span>Resources</span> 3917 <div class="accordion-icon w-24 text-gray-dark rotate-[-90deg]"> 3918 <?xml version="1.0" encoding="UTF-8"?> 3919<svg class="icon icon-carousel-left" version="1.1" viewBox="0 0 700 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3920 3921 <g> 3922 <path d="m350 28c-138.98 0-252 113.02-252 252s113.02 252 252 252 252-113.02 252-252-113.02-252-252-252zm0 33.602c120.82 0 218.4 97.582 218.4 218.4s-97.582 218.4-218.4 218.4-218.4-97.582-218.4-218.4 97.582-218.4 218.4-218.4zm54.773 78.223c-3.8008 0.32031-7.3789 1.9258-10.148 4.5508l-134.4 123.2c-3.4414 3.1797-5.3984 7.6523-5.3984 12.34 0 4.6836 1.957 9.1562 5.3984 12.336l134.4 123.2c3.2227 3.2812 7.6523 5.0977 12.254 5.0273 4.5977-0.074218 8.9688-2.0273 12.086-5.4102 3.1172-3.3828 4.7109-7.8945 4.4141-12.488-0.30078-4.5898-2.4727-8.8555-6.0039-11.805l-120.93-110.77 120.93-110.95c3.5-3.1562 5.5117-7.6367 5.5508-12.352 0.035157-4.7109-1.9102-9.2227-5.3633-12.43-3.4492-3.2109-8.0898-4.8242-12.789-4.4453z"/> 3923 3924 </g> 3925</svg> 3926 3927 </div> 3928 </button> 3929 <div id="mobile-accordion-resources" class="mobile-menu__accordion-content accordion-content" aria-hidden="true" js-accordion-content> 3930 3931 </div> 3932 </div> 3933 3934 </s-accordion> 3935 </div> 3936 3937 <div class="mobile-drawer__footer bg-white fixed bottom-0 p-16 w-full flex justify-around items-center"> 3938 <a href="tel:8883386085" class="inline-block btn btn--green">(888) 338-6085 </a> 3939 3940 <a href="/account" class="text-16 font-700 text-blue">Sign in</a> 3941 </div> 3942</s-drawer> 3943 3944 <s-drawer id="CartDrawer" class="z-[6]" position="right" open="[js-cart-drawer-open]" close="[js-cart-drawer-close]" js-cart-drawer> 3945 <s-ajaxcart class="ajaxcart hidden relative h-full" data-shipping-threshold="false" data-gift=""> 3946 <div id="AjaxCartTemplate"> 3947 <header class="ajaxcart__header flex flex-wrap justify-between p-16" ref="cartHeader"> 3948 <h2>Your Cart</h2> 3949 <button class="ajaxcart__close w-[20px] text-[0px] focus:text-blue desktop:hover:text-blue" aria-label="Close" title="Close" js-cart-drawer-close><svg class="icon icon--close" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"> 3950 3951 <path d="M75.4,64l50.24-50.24a8.06,8.06,0,1,0-11.4-11.4L64,52.6,13.76,2.36a8.06,8.06,0,0,0-11.4,11.4h0L52.6,64,2.36,114.24a8.06,8.06,0,0,0,11.4,11.4h0L64,75.4l50.24,50.24a8.06,8.06,0,0,0,11.4-11.4Z" /> 3952</svg></button> 3953 <shipping-threshold 3954 v-if="shippingThreshold" 3955 class="w-full" 3956 :cart="cart" 3957 /> 3958 </header> 3959 3960 <form v-if="cart && cart.items.length" class="ajaxcart__content overflow-y-auto p-16" :style="{ height: cartHe
3960ight }" action="/cart" method="post" novalidate> 3961 <main :class="['ajaxcart__main', 'relative', loading.cart ? 'opacity-50' : '']"> 3962 <p v-if="error" class="ajaxcart__error sticky top-0 w-full"> 3963 ${ error } 3964 <button @click.prevent="this.error = false">X</button> 3965 </p> 3966 <ul v-if="cart.items.length" class="ajaxcart__products grid grid-cols-1 gap-24"> 3967 <line-item 3968 v-for="(item, idx) in cart.items" 3969 :item="item" 3970 :line="idx + 1" 3971 :loading="loading.item === idx" 3972 :key="item.key" 3973 @remove-item="removeItem" 3974 @update-item-quantity="updateItemQuantity" 3975 /> 3976 </ul> 3977 3978 <upsell-products 3979 :cart="cart" 3980 :handles-in-cart="handlesInCart" 3981 @add-to-cart="addToCart" 3982 /> 3983 3984 </main><!--.ajaxcart__main --> 3985 3986 <footer class="ajaxcart__footer absolute left-0 bottom-0 w-full bg-white p-16" ref="cartFooter"> 3987 <div class="ajaxcart__subtotal"> 3988 <div class="ajaxcart__subtotal-row flex justify-between mb-16"> 3989 <p class="ajaxcart__subtotal-title">Subtotal</p> 3990 <p class="ajaxcart__subtotal-price">${ formatMoney(cart.total_price) }</p> 3991 </div><!--.ajaxcart__subtotal-row --> 3992 </div><!-- .ajaxcart__subtotal --> 3993 <button type="submit" class="ajaxcart__checkout btn btn--blue w-full mb-16" name="checkout"> 3994 Checkout 3995 </button> 3996 <p class="ajaxcart__disclaimer text-center text-14">Taxes and shipping calculated at checkout</p> 3997 </footer> 3998 </form><!-- .ajaxcart__content --> 3999 <p v-else-if="cart" class="ajaxcart__empty px-16">Your cart is empty</p> 4000 <div v-else class="ajaxcart__loading-skeleton"> 4001 <ul class="ajaxcart__skeleton-items"> 4002 <skeleton-item v-for="i in 3"></skeleton-item> 4003 </ul> 4004 <footer class="ajaxcart__skeleton-footer w-full fixed bottom-0 p-16"> 4005 <div class="flex justify-between mb-16"> 4006 <div class="h-12 w-64 opacity-5 bg-black animate-pulse"> </div> 4007 <div class="h-12 w-32 opacity-5 bg-black animate-pulse"> </div> 4008 </div> 4009 <div class="w-full h-32 opacity-5 mb-8 bg-black animate-pulse"> </div> 4010 <div class=" w-2/3 mx-auto h-12 opacity-5 bg-black animate-pulse"> </div> 4011 </footer> 4012 </div> 4013 </div><!-- #AjaxCart --> 4014 </s-ajaxcart> 4015</s-drawer>
4015<script id="AjaxCartLineItem" type="text/template"> 4016 <li class="line-item" :class="[ loading ? 'opacity-50' : '']"> 4017 <div class="line-item__information grid grid-cols-[135px,1fr] gap-16"> 4018 <a :href="item.url" class="line-item__image-wrapper"> 4019 <img :src="item.featured_image.url" :alt="item.title" class="line-item__image"> 4020 </a> 4021 <div class="line-item__detail"> 4022 <div class="grid grid-cols-[1fr,14px] gap-12"> 4023 <a :href="item.url" class="flex flex-col"> 4024 <h2 class="line-item__title font-600 leading-none">${ item.product_title }</h2> 4025 <div class="mt-16" v-if="item.properties && item.properties._customfit"> 4026 <p v-if="dimensions['LENGTH']" class="line-item__dimension">LENGTH: <span class="capitalize">${ dimensions['LENGTH'] }</span></p> 4027 <p v-if="dimensions['WIDTH']" class="line-item__dimension">WIDTH: <span class="capitalize">${ dimensions['WIDTH'] }</span></p> 4028 <p v-if="dimensions['HEIGHT']" class="line-item__dimension">HEIGHT: <span class="capitalize">${ dimensions['HEIGHT'] }</span></p> 4029 <p v-if="dimensions['NUMBER OF PORTS']" class="line-item__dimension">PORTS: <span class="capitalize">${ dimensions['NUMBER OF PORTS'] }</span></p> 4030 <p v-if="dimensions['ARM LENGTH']" class="line-item__dimension">ARM LENGTH: <span class="capitalize">${ dimensions['ARM LENGTH'] }</span></p> 4031 <p v-if="dimensions['ARM HEIGHT']" class="line-item__dimension">ARM HEIGHT: <span class="capitalize">${ dimensions['ARM HEIGHT'] }</span></p> 4032 4033 </div> 4034 <span v-else-if="item.variant_title || !isCustomFit" class="line-item__variant text-14 mt-4">${ item.variant_title }</span> 4035 </a> 4036 <button class="line-item__remove block self-start text-[0px] focus:text-blue desktop:hover:text-blue" @click.prevent="$emit('removeItem', line)" aria-label="Remove Item" title="Remove Item"><svg class="icon icon--close" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"> 4037 4038 <path d="M75.4,64l50.24-50.24a8.06,8.06,0,1,0-11.4-11.4L64,52.6,13.76,2.36a8.06,8.06,0,0,0-11.4,11.4h0L52.6,64,2.36,114.24a8.06,8.06,0,0,0,11.4,11.4h0L64,75.4l50.24,50.24a8.06,8.06,0,0,0,11.4-11.4Z" /> 4039</svg></button> 4040 </div> 4041 4042 <div class="line-item__pricing mt-8"> 4043 <div class="line-item__price"> 4044 <div v-if="item.line_price !== item.original_line_price"> 4045 <span class="font-600 text-orange">${ formatMoney(item.line_price) }</span> 4046 <s class="ml-4">${ formatMoney(item.original_line_price) }</s> 4047 </div> 4048 <span v-else class="font-600 text-blue">${ formatMoney(item.line_price) }</span> 4049 </div><!-- .line-item__price--> 4050 <div v-if="item.line_price !== item.original_line_price" class="line-item__discounts"> 4051 <span v-for="discount in item.discounts" class="line-item__discount"> 4052 ${ discount.title } - ${ formatMoney(discount.amount) } 4053 </span> 4054 </div><!-- .line-item__discounts --> 4055 </div><!-- .line-item__pricing --> 4056 <div class="line-item__qty-selector flex items-center mt-8"> 4057 <button class="ajaxcart__qty-minus btn btn--blue px-8 py-0" @click.prevent="$emit('updateItemQuantity', { quantity: item.quantity - 1, line })">−</button> 4058 <input class="line-item__qty-selector-input text-center w-[44px]" type="text" :value="item.quantity" @change="$emit('updateItemQuantity', { quantity: $event.target.value, line })"> 4059 <button class="ajaxcart__qty-plus btn btn--blue px-8 py-0" @click.prevent="$emit('updateItemQuantity', { quantity: item.quantity + 1, line})">+</button> 4060 </div><!-- .line-item__qty-selector--> 4061 </div><!-- .line-item__detail--> 4062 </div><!-- .line-item__information --> 4063 </li><!-- .line-item --> 4064</script>
4064<script id="AjaxCartShippingThreshold" 4065 type="text/template" 4066 data-threshold="$99" 4067 > 4068 <div v-if="cart && cart.total_price > 0" class="shipping-threshold"> 4069 <h3 class="shipping-threshold__title"> 4070 <span v-if="unlocked">Congratulations! You got free shipping</span> 4071 <span v-else>You're ${formatMoney(amountForFreeShipping)} from free shipping!</span> 4072 </h3> 4073 <progress 4074 v-if="!unlocked" 4075 class="shipping-threshold__bar w-full" 4076 max="100" 4077 :value="progress"> 4078 </progress> 4079 </div> 4080</script>
4080<script id="AjaxCartUpsell" type="text/template"> 4081 <div v-if="cart && cart.items.length && products.length" class="upsell"> 4082 <h3 class="upsell__title">You May Also Like:</h3> 4083 <div v-if="fetching"> 4084 <skeleton-item></skeleton-item> 4085 </div> 4086 <ul v-else-if="products" class="upsell__products" js-upsell-slider> 4087 <li v-for="product in products" :key="product.id" class="upsell__product w-full"> 4088 <upsell-product 4089 :product="product" 4090 ></upsell-product> 4091 </li><!-- .upsell__product --> 4092 </ul><!-- .upsell__products--> 4093 <ul v-if="products.length > 1" class="upsell__slider-dots flex justify-center"> 4094 <li v-for="(product, idx) in products"> 4095 <button 4096 class="upsell__slider-trigger w-16 h-16 rounded-full" 4097 :class="[currentSlide === idx ? 'bg-black' : 'bg-black opacity-40']" 4098 :aria-label="`Go to slide ${idx + 1}`" 4099 @click.prevent="changeSlide(idx)"></button> 4100 </li> 4101 </ul> 4102 </div><!-- .upsell --> 4103</script>
4103<script id="AjaxCartUpsellProduct" type="text/template"> 4104 <div v-if="product && product.available" class="upsell-product"> 4105 <a :href="product.url" class="upsell-product__image"> 4106 <img :src="product.featured_image" :alt="product.title"> 4107 </a> 4108 <div class="upsell-product__info"> 4109 <h3 class="upsell-product__title"><a :href="product.url">${ product.title }</a></h3> 4110 <p class="upsell-product__price">${ formatMoney(selectedVariant.price) }</p> 4111 <div v-if="product.variants.length > 1" class="upsell-product__variants"> 4112 <div class="upsell-product__swatches"> 4113 <div v-for="option in product.options" class="upsell-product__swatch"> 4114 <h3 class="upsell-product__swatch-option">${ option.name }</h3> 4115 <div v-for="value in option.values" class="upsell-product__swatch-group"> 4116 <label for="`ajaxcart-${product.id}-${value}`">${ value }</label> 4117 <input 4118 v-model="options[option.position]" 4119 :id="`ajaxcart-${product.id}-${option}`" 4120 type="radio" :name="`${option.name}-selector`" 4121 @change="onOptionChange(option)" 4122 :value="value" 4123 /> 4124 </div><!-- .upsell-product__swatch-group--> 4125 <!-- <select 4126 v-model="options[option.position]" 4127 :name="`${option.name}-selector`" 4128 :id="`ajaxcart-${product.id}-${option.name}`" 4129 @change="onOptionChange(option)"> 4130 <option 4131 v-for="value in option.values" 4132 :value="value" 4133 > 4134 ${ value } 4135 </option> 4136 </select> --> 4137 </div><!-- .upsell-product__swatch--> 4138 </div><!-- .upsell-product__swatches--> 4139 </div><!-- .upsell-product__variants --> 4140 <button class='upsell-product__atc' :disabled="!selectedVariant.available" @click.prevent="addToCart"> 4141 ${ selectedVariant.available ? 'Add To Cart' : 'Sold Out'} 4142 </button> 4143 </div> 4144 </div> 4145</script>
4145<script id="AjaxCartSkeletonItem" type="text/template"> 4146 <div class="skeleton-item flex p-16"> 4147 <div class="skeleton-item__image block w-72 h-64 mr-16 opacity-5 bg-black animate-pulse"> </div> 4148 <div class="skeleton-item__info flex-grow"> 4149 <div class="skeleton-item__title block w-full h-16 mb-8 opacity-5 bg-black animate-pulse"> </div> 4150 <div class="skeleton-item__subtitle block w-64 h-12 mb-8 opacity-5 bg-black animate-pulse"> </div> 4151 <div class="skeleton-item__price block w-32 h-12 opacity-5 bg-black animate-pulse"> </div> 4152 </div> 4153 </div> 4154</script>
4154<script> 4155 window.theme = window.theme || {} 4156 theme.upsellTags = [ 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 ] 4177</script>
4177<script id="AjaxCartUpsellData" type="application/json" js-upsell-data> 4178 [ 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 { 4191 "tag": null, 4192 "product": null 4193 }, 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 { 4205 "tag": null, 4206 "product": null 4207 }, 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 { 4219 "tag": null, 4220 "product": null 4221 }, 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 { 4233 "tag": null, 4234 "product": null 4235 }, 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 { 4247 "tag": null, 4248 "product": null 4249 }, 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 { 4261 "tag": null, 4262 "product": null 4263 } 4264 4265 4266 4267 ] 4268</script>
4268 4269 4270 <main id="MainContent" class="main main--product drawer-background modal-background grid min-h-header tabletp:min-h-header-footer" role="main"> 4271 <section id="shopify-section-template--21893123571877__17405118861d234a88" class="shopify-section spaced-section"><div class=""></div> 4272 4273 4274</section><section id="shopify-section-template--21893123571877__main" class="shopify-section product-section">
4274<script> 4275 const allVariants = [ 4276 { 4277 "id": 41675600920741, 4278 "title": "30\"L x 20\"W x 20\"H - 490lbs", 4279 "available": true, 4280 "price": "189.99" 4281 }, 4282 { 4283 "id": 41675600953509, 4284 "title": "45\"L x 25\"W x 20\"H - 910lbs", 4285 "available": true, 4286 "price": "249.99" 4287 }, 4288 { 4289 "id": 41675600986277, 4290 "title": "45\"L x 25\"W x 25\"H - 1,140lbs", 4291 "available": true, 4292 "price": "259.99" 4293 }, 4294 { 4295 "id": 41675601019045, 4296 "title": "45\"L x 20\"W x 25\"H - 910lbs", 4297 "available": true, 4298 "price": "249.99" 4299 }, 4300 { 4301 "id": 41675601051813, 4302 "title": "45\"L x 20\"W x 20\"H - 720lbs", 4303 "available": true, 4304 "price": "229.99" 4305 }, 4306 { 4307 "id": 41675601084581, 4308 "title": "40\"L x 25\"W x 15\"H - 610lbs", 4309 "available": true, 4310 "price": "199.99" 4311 }, 4312 { 4313 "id": 41675601117349, 4314 "title": "40\"L x 20\"W x 20\"H - 640lbs", 4315 "available": true, 4316 "price": "199.99" 4317 }, 4318 { 4319 "id": 41675601150117, 4320 "title": "40\"L x 25\"W x 20\"H - 820lbs", 4321 "available": true, 4322 "price": "239.99" 4323 }, 4324 { 4325 "id": 41675601182885, 4326 "title": "35\"L x 25\"W x 15\"H - 540lbs", 4327 "available": true, 4328 "price": "189.99" 4329 }, 4330 { 4331 "id": 41675601215653, 4332 "title": "50\"L x 25\"W x 15\"H - 740lbs", 4333 "available": true, 4334 "price": "229.99" 4335 }, 4336 { 4337 "id": 41675601248421, 4338 "title": "50\"L x 25\"W x 25\"H - 1,280lbs", 4339 "available": true, 4340 "price": "249.99" 4341 }, 4342 { 4343 "id": 41675601281189, 4344 "title": "30\"L x 25\"W x 15\"H - 460lbs", 4345 "available": true, 4346 "price": "179.99" 4347 }, 4348 { 4349 "id": 41675601313957, 4350 "title": "35\"L x 20\"W x 15\"H - 430lbs", 4351 "available": true, 4352 "price": "169.99" 4353 }, 4354 { 4355 "id": 41675601346725, 4356 "title": "30\"L x 25\"W x 25\"H - 765lbs", 4357 "available": true, 4358 "price": "229.99" 4359 }, 4360 { 4361 "id": 41675601379493, 4362 "title": "45\"L x 20\"W x 15\"H - 550lbs", 4363 "available": true, 4364 "price": "189.99" 4365 }, 4366 { 4367 "id": 41675601412261, 4368 "title": "35\"L x 25\"W x 20\"H - 710lbs", 4369 "available": true, 4370 "price": "229.99" 4371 }, 4372 { 4373 "id": 41675601445029, 4374 "title": "30\"L x 25\"W x 20\"H - 610lbs", 4375 "available": true, 4376 "price": "199.99" 4377 }, 4378 { 4379 "id": 41675601477797, 4380 "title": "50\"L x 25\"W x 20\"H - 1,020lbs", 4381 "available": true, 4382 "price": "259.99" 4383 }, 4384 { 4385 "id": 41675601510565, 4386 "title": "35\"L x 25\"W x 25\"H - 890lbs", 4387 "available": true, 4388 "price": "249.99" 4389 } 4390]; 4391 4392 document.addEventListener("DOMContentLoaded", (event) => { 4393 // console.log("DOM fully loaded and parsed" ); 4394 manageAdd2CartBtn(); 4395 }); 4396 4397 function manageAdd2CartBtn() { 4398 try { 4399 var selEl__1 = document.querySelector( `product-options .product-option[option="1"] .product-option__select` ); 4400 var selEl__2 = document.querySelector( `product-options .product-option[option="2"] .product-option__select` ); 4401 var selEl__3 = document.querySelector( `product-options .product-option[option="3"] .product-option__select` ); 4402 if ( selEl__3 ) { 4403 var selEl__3_index = document.querySelector( `product-options .product-option[option="3"] .product-option__select option[this-option-selected]` ).getAttribute( `i` ) * 1; 4404 selEl__3.options[selEl__3_index].selected = true; 4405 if ("createEvent" in document) { 4406 var evt = document.createEvent("HTMLEvents"); 4407 evt.initEvent("change", false, true); 4408 selEl__3.dispatchEvent( evt ); 4409 } else { 4410 selEl__3.fireEvent("onchange"); 4411 } 4412 console.log ( 'chaaaaaaaaaaa 3 options' ); 4413 } 4414 if ( selEl__2 ) { 4415 var selEl__2_index = document.querySelector( `product-options .product-option[option="2"] .product-option__select option[this-option-selected]` ).getAttribute( `i` ) * 1; 4416 selEl__2.options[selEl__2_index].selected = true; 4417 if ("createEvent" in document) { 4418 var evt = document.createEvent("HTMLEvents"); 4419 evt.initEvent("change", false, true); 4420 selEl__2.dispatchEvent( evt ); 4421 } else { 4422 selEl__2.fireEvent("onchange"); 4423 } 4424 console.log ( 'chaaaaaaaaaaa 2 options' ); 4425 } 4426 if ( selEl__1 ) { 4427 var selEl__1_index = document.querySelector( `product-options .product-option[option="1"] .product-option__select option[this-option-selected]` ).getAttribute( `i` ) * 1; 4428 selEl__1.options[selEl__1_index].selected = true; 4429 if ("createEvent" in document) { 4430 var evt = document.createEvent("HTMLEvents"); 4431 evt.initEvent("change", false, true); 4432 selEl__1.dispatchEvent( evt ); 4433 } else { 4434 selEl__1.fireEvent("onchange"); 4435 } 4436 console.log ( 'chaaaaaaaaaaa 1 options' ); 4437 } 4438 } catch ( err ) { 4439 console.log( `ERROR manageAdd2CartBtn()`, err.message ); 4440 } 4441 } 4442 4443 // document.addEventListener('variant:change', function(evt) { 4444 // console.log(evt.detail.variant); 4445 // }); 4446</script>
4446 4447 4448 4449 4450 4451 4452 4453 4454<main-product role="section" class="product block" js-product data-product="wakemakers-rear-lbs-ballast-bag"> 4455 <div class="product-container bg-[#eff1f3]"> 4456 <div class="product__layout max-w-[1140px] mx-auto desktop:grid desktop:grid-cols-[auto,388px] desktop:px-16 desktop:items-start"> 4457 <div class="product__images-container bg-white w-full h-full p-16 desktop:p-0 max-w-[100vw]"> 4458 4459 <div class="desktop:p-32"> 4460 <div class="product__vendor-container flex justify-center items-center desktop:justify-start"> 4461 <h2 class="product__vendor text-[18px] font-700 uppercase"> 4462 <a href="/pages/wakemakers">WakeMAKERS</a> 4463 </h2> 4464 <div class="product__badges inline-flex gap-x-16 gap-y-4 ml-12"> 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 <span class="product-card__tag product-card__tag--exclusive bg-blue">Exclusive</span> 4484 4485<span class="contents" js-deal-badge> 4486</span><template data-variant-id="41675600920741" js-variant-deal-badge> 4487</template><template data-variant-id="41675600953509" js-variant-deal-badge> 4488</template><template data-variant-id="41675600986277" js-variant-deal-badge> 4489</template><template data-variant-id="41675601019045" js-variant-deal-badge> 4490</template><template data-variant-id="41675601051813" js-variant-deal-badge> 4491</template><template data-variant-id="41675601084581" js-variant-deal-badge> 4492</template><template data-variant-id="41675601117349" js-variant-deal-badge> 4493</template><template data-variant-id="41675601150117" js-variant-deal-badge> 4494</template><template data-variant-id="41675601182885" js-variant-deal-badge> 4495</template><template data-variant-id="41675601215653" js-variant-deal-badge> 4496</template><template data-variant-id="41675601248421" js-variant-deal-badge> 4497</template><template data-variant-id="41675601281189" js-variant-deal-badge> 4498</template><template data-variant-id="41675601313957" js-variant-deal-badge> 4499</template><template data-variant-id="41675601346725" js-variant-deal-badge> 4500</template><template data-variant-id="41675601379493" js-variant-deal-badge> 4501</template><template data-variant-id="41675601412261" js-variant-deal-badge> 4502</template><template data-variant-id="41675601445029" js-variant-deal-badge> 4503</template><template data-variant-id="41675601477797" js-variant-deal-badge> 4504</template><template data-variant-id="41675601510565" js-variant-deal-badge> 4505</template> 4506 </div> 4507 </div> 4508 <h1 class="product__title text-center text-28 font-500 desktop:mt-12 desktop:text-left"> 4509 WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) 4510 </h1> 4511 <div class="reviews-rating flex items-center"> 4512<div class="mr-12" data-oke-reviews-product-listing-rating><div data-oke-reviews-version="2.19.0" class="okeReviews okeReviews--theme"> 4513<div class="okeReviews-reviewsSummary js-okeReviews-reviewsSummary" data-oke-ga-click-action="Star Rating Summary Click" 4514 data-oke-ga-click-label="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 4515> 4516<div class="okeReviews-reviewsSummary-starRating"> 4517<span class="okeReviews-starRating okeReviews-starRating--small"> 4518<span class="okeReviews-a11yText">Rated 4.6 out of 5</span> 4519<span class="okeReviews-starRating-indicator" role="presentation"> 4520<span class="okeReviews-starRating-indicator-layer"></span> 4521<span class="okeReviews-starRating-indicator-layer okeReviews-starRating-indicator-layer--foreground" style="width: 92%"></span> 4522</span> 4523</span> 4524</div> 4525<div class="okeReviews-reviewsSummary-ratingCount"> 4526<span aria-hidden="true">23 Reviews</span> 4527<span class="okeReviews-a11yText">Based on 23 reviews</span> 4528</div> 4529</div> 4530</div> 4531</div> 4532<a href="#reviews" class="oke-w-writeReview oke-button"> Write a Review </a> 4533</div> 4534 </div> 4535 <div class="product__images desktop:px-32"> 4536 <s-carousel class="flex flex-col-reverse mb-16 desktop:mb-0 desktop:grid desktop:gap-24 desktop:grid-cols-[56px,1fr]"> 4537 4538 <div class="w-full overflow-x-auto"> 4539 <ul class="bottom-8 flex justify-start items-center desktop:block" js-carousel-dots> 4540 4541 <li class="mx-8 desktop:mx-0 desktop:mb-16"> 4542 <button 4543 class="border-none m-0 w-[56px] h-auto hover:opacity-70 focus:opacity-70 selected" 4544 data-index="0" 4545 > 4546 <div class="w-full h-auto" js-product-image> 4547 4548 4549 4550 4551 4552<picture class="lazypicture block w-full "> 4553 4554 <img 4555 class="w-full " 4556 src="//www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=480 4557" 4558 srcset="//www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=480 480w, 4559 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=768 768w, 4560 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=1024 1024
4560w, 4561 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=1140 1140w, 4562 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=1280 1280w, 4563 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=1440 1440w, 4564 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349 1920w" 4565 sizes="100vw" 4566 loading="lazy" 4567 alt="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 4568 4569 4570 style="--ar-mobile: 0.999000999000999; " 4571 /> 4572</picture> 4573 </div> 4574 </button> 4575 </li> 4576 4577 <li class="mx-8 desktop:mx-0 desktop:mb-16"> 4578 <button 4579 class="border-none m-0 w-[56px] h-auto hover:opacity-70 focus:opacity-70" 4580 data-index="1" 4581 > 4582 <div class="w-full h-auto" js-product-image> 4583 4584 4585 4586 4587 4588<picture class="lazypicture block w-full "> 4589 4590 <img 4591 class="w-full " 4592 src="//www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=480 4593" 4594 srcset="//www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=480 480w, 4595 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=768 768w, 4596 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=1024 1024w, 4597 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=1140 1140w, 4598 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=1280 1280w, 4599 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=1440 1440w, 4600 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349 1920w" 4601 sizes="100vw" 4602 loading="lazy" 4603 alt="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 4604 4605 4606 style="--ar-mobile: 1.0; " 4607 /> 4608</picture> 4609 </div> 4610 </button> 4611 </li> 4612 4613 <li class="mx-8 desktop:mx-0 desktop:mb-16"> 4614 <button 4615 class="border-none m-0 w-[56px] h-auto hover:opacity-70 focus:opacity-70" 4616 data-index="2" 4617 > 4618 <div class="w-full h-auto" js-product-image> 4619 4620 4621 4622 4623 4624<picture class="lazypicture block w-full "> 4625 4626 <img 4627 class="w-full " 4628 src="//www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=480 4629" 4630 srcset="//www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=480 480w, 4631 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=768 768w, 4632 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=1024 1024w, 4633 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=1140 1140w, 4634 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=1280 1280w, 4635 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=1440 1440w, 4636 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349 1920w" 4637 sizes="100vw" 4638 loading="lazy" 4639 alt="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 4640 4641 4642 style="--ar-mobile: 1.0; " 4643 /> 4644</picture> 4645 </div> 4646 </button> 4647 </li> 4648 4649 <li class="mx-8 desktop:mx-0 desktop:mb-16"> 4650 <button 4651 class="border-none m-0 w-[56px] h-auto hover:opacity-70 focus:opacity-70" 4652 data-index="3" 4653 > 4654 <div class="w-full h-auto" js-product-image> 4655 4656 4657 4658 4659 4660<picture class="lazypicture block w-full "> 4661 4662 <img 4663 class="w-full " 4664 src="//www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=480 4665" 4666 srcset="//www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=480 480w, 4667 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=768 768w, 4668 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=1024 1024
4668w, 4669 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=1140 1140w, 4670 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=1280 1280w, 4671 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=1440 1440w, 4672 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349 1920w" 4673 sizes="100vw" 4674 loading="lazy" 4675 alt="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 4676 4677 4678 style="--ar-mobile: 0.999000999000999; " 4679 /> 4680</picture> 4681 </div> 4682 </button> 4683 </li> 4684 4685 </ul> 4686 </div> 4687 4688 <div 4689 class="relative my-32 desktop:my-0 " 4690 js-carousel 4691 > 4692 4693 4694 <div class="product-images__img w-full" js-carousel-slide> 4695 <div class="mx-auto tabletp:max-w-[500px]" js-product-image> 4696 4697 4698 4699 4700 4701<picture class="lazypicture block w-full "> 4702 4703 <img 4704 class="w-full " 4705 src="//www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=480 4706" 4707 srcset="//www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=480 480w, 4708 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=768 768w, 4709 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=1024 1024w, 4710 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=1140 1140w, 4711 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=1280 1280w, 4712 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349&width=1440 1440w, 4713 //www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349 1920w" 4714 sizes="100vw" 4715 loading="lazy" 4716 alt="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 4717 4718 4719 style="--ar-mobile: 0.999000999000999; " 4720 /> 4721</picture> 4722 </div> 4723 </div> 4724 4725 <div class="product-images__img w-full" js-carousel-slide> 4726 <div class="mx-auto tabletp:max-w-[500px]" js-product-image> 4727 4728 4729 4730 4731 4732<picture class="lazypicture block w-full "> 4733 4734 <img 4735 class="w-full " 4736 src="//www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=480 4737" 4738 srcset="//www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=480 480w, 4739 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=768 768w, 4740 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=1024 1024w, 4741 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=1140 1140w, 4742 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=1280 1280w, 4743 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349&width=1440 1440w, 4744 //www.wakemakers.com/cdn/shop/files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349 1920w" 4745 sizes="100vw" 4746 loading="lazy" 4747 alt="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 4748 4749 4750 style="--ar-mobile: 1.0; " 4751 /> 4752</picture> 4753 </div> 4754 </div> 4755 4756 <div class="product-images__img w-full" js-carousel-slide> 4757 <div class="mx-auto tabletp:max-w-[500px]" js-product-image> 4758 4759 4760 4761 4762 4763<picture class="lazypicture block w-full "> 4764 4765 <img 4766 class="w-full " 4767 src="//www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=480 4768" 4769 srcset="//www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=480 480w, 4770 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=768 768w, 4771 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=1024 1024
4771w, 4772 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=1140 1140w, 4773 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=1280 1280w, 4774 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349&width=1440 1440w, 4775 //www.wakemakers.com/cdn/shop/files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349 1920w" 4776 sizes="100vw" 4777 loading="lazy" 4778 alt="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 4779 4780 4781 style="--ar-mobile: 1.0; " 4782 /> 4783</picture> 4784 </div> 4785 </div> 4786 4787 <div class="product-images__img w-full" js-carousel-slide> 4788 <div class="mx-auto tabletp:max-w-[500px]" js-product-image> 4789 4790 4791 4792 4793 4794<picture class="lazypicture block w-full "> 4795 4796 <img 4797 class="w-full " 4798 src="//www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=480 4799" 4800 srcset="//www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=480 480w, 4801 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=768 768w, 4802 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=1024 1024w, 4803 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=1140 1140w, 4804 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=1280 1280w, 4805 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349&width=1440 1440w, 4806 //www.wakemakers.com/cdn/shop/files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349 1920w" 4807 sizes="100vw" 4808 loading="lazy" 4809 alt="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 4810 4811 4812 style="--ar-mobile: 0.999000999000999; " 4813 /> 4814</picture> 4815 </div> 4816 </div> 4817 4818 4819 </div> 4820 </s-carousel> 4821 </div> 4822 </div> 4823 <!-- .product__images-container --> 4824 4825 <div 4826 class="product__information-container p-16 pb-32 desktop:p-32 desktop:sticky" 4827 id="ProductInfo-template--21893123571877__main" 4828 > 4829 4830<form method="post" action="/cart/add" id="ProductForm-template--21893123571877__main7759285649573" accept-charset="UTF-8" class="form mb-32 pb-32 border-b border-gray" enctype="multipart/form-data" novalidate="novalidate" js-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="â" /> 4831 4832<select id="MasterSelect-template--21893123571877__main" name="id" class="no-js"> 4833 4834 <option 4835 selected="selected" 4836 4837 value="41675600920741" data-quantity="5" js-variant-option> 4838 30"L x 20"W x 20"H - 490lbs 4839 </option> 4840 4841 <option 4842 4843 4844 value="41675600953509" data-quantity="22" js-variant-option> 4845 45"L x 25"W x 20"H - 910lbs 4846 </option> 4847 4848 <option 4849 4850 4851 value="41675600986277" data-quantity="4" js-variant-option> 4852 45"L x 25"W x 25"H - 1,140lbs 4853 </option> 4854 4855 <option 4856 4857 4858 value="41675601019045" data-quantity="0" js-variant-option> 4859 45"L x 20"W x 25"H - 910lbs 4860 </option> 4861 4862 <option 4863 4864 4865 value="41675601051813" data-quantity="5" js-variant-option> 4866 45"L x 20"W x 20"H - 720lbs 4867 </option> 4868 4869 <option 4870 4871 4872 value="41675601084581" data-quantity="0" js-variant-option> 4873 40"L x 25"W x 15"H - 610lbs 4874 </option> 4875 4876 <option 4877 4878 4879 value="41675601117349" data-quantity="7" js-variant-option> 4880 40"L x 20"W x 20"H - 640lbs 4881 </option> 4882 4883 <option 4884 4885 4886 value="41675601150117" data-quantity="17" js-variant-option> 4887 40"L x 25"W x 20"H - 820lbs 4888 </option> 4889 4890 <option 4891 4892 4893 value="41675601182885" data-quantity="0" js-variant-option> 4894 35"L x 25"W x 15"H - 540lbs 4895 </option> 4896 4897 <option 4898 4899 4900 value="41675601215653" data-quantity="6" js-variant-option> 4901 50"L x 25"W x 15"H - 740lbs 4902 </option> 4903 4904 <option 4905 4906 4907 value="41675601248421" data-quantity="0" js-variant-option> 4908 50"L x 25"W x 25"H - 1,280lbs 4909 </option> 4910 4911 <option 4912 4913 4914 value="41675601281189" data-quantity="21" js-variant-option> 4915 30"L x 25"W x 15"H - 460lbs 4916 </option> 4917 4918 <option 4919 4920 4921 value="41675601313957" data-quantity="2" js-variant-option> 4922 35"L x 20"W x 15"H - 430lbs 4923 </option> 4924 4925 <option 4926 4927 4928 value="41675601346725" data-quantity="3" js-variant-option> 4929 30"L x 25"W x 25"H - 765lbs 4930 </option> 4931 4932 <option 4933 4934 4935 value="41675601379493" data-quantity="0" js-variant-option> 4936 45"L x 20"W x 15"H - 550lbs 4937 </option> 4938 4939 <option 4940 4941 4942 value="41675601412261" data-quantity="5" js-variant-option> 4943 35"L x 25"W x 20"H - 710lbs 4944 </option> 4945 4946 <option 4947 4948 4949 value="41675601445029" data-quantity="0" js-variant-option> 4950 30"L x 25"W x 20"H - 610lbs 4951 </option> 4952 4953 <option 4954 4955 4956 value="41675601477797" data-quantity="0" js-variant-option> 4957 50"L x 25"W x 20"H - 1,020lbs 4958 </option> 4959 4960 <option 4961 4962 4963 value="41675601510565" data-quantity="0" js-variant-option> 4964 35"L x 25"W x 25"H - 890lbs 4965 </option> 4966 4967</select> 4968 4969 <product-options 4970 class="no-js-hidden" 4971 data-product="ProductJSON" 4972 data-master-select-id="MasterSelect-template--21893123571877__main" 4973 data-enable-history-state 4974 data-disable-option-binding 4975 > 4976 4977 4978 <div class="product-option relative mb-20" option="1"> 4979 4980 <label for="option-Bag Size-template--21893123571877__main-7759285649573" class="hidden"> 4981 Bag Size 4982 </label> 4983 <div class="w-full flex justify-between items-center gap-24"> 4984 <div class="bg-white relative w-full"> 4985 <select 4986 id="option-Bag Size-template--21893123571877__main-7759285649573" 4987 class="product-option__select w-full border border-transparent p-8 pl-12 pr-32 bg-transparent z-[2] cursor-pointer" 4988 js-product-option-selector 4989 data-index="option1"> 4990 <option value="" selected disabled>Choose Bag Size</option> 4991 4992 <option 4993 value="30"L x 20"W x 20"H - 490lbs" 4994 i="1" 4995 this-option-selected 4996 >30"L x 20"W x 20"H - 490lbs</option> 4997 4998 <option 4999 value="45"L x 25"W x 20"H - 910lbs" 5000 i="2" 5001 5002 >45"L x 25"W x 20"H - 910lbs</option> 5003 5004 <option 5005 value="45"L x 25"W x 25"H - 1,140lbs" 5006 i="3" 5007 5008 >45"L x 25"W x 25"H - 1,140lbs</option> 5009 5010 <option 5011 value="45"L x 20"W x 25"H - 910lbs" 5012 i="4" 5013 5014 >45"L x 20"W x 25"H - 910lbs</option> 5015 5016 <option 5017 value="45"L x 20"W x 20"H - 720lbs" 5018 i="5" 5019 5020 >45"L x 20"W x 20"H - 720lbs</option> 5021 5022 <option 5023 value="40"L x 25"W x 15"H - 610lbs" 5024 i="6" 5025 5026 >40"L x 25"W x 15"H - 610lbs</option> 5027 5028 <option 5029 value="40"L x 20"W x 20"H - 640lbs" 5030 i="7" 5031 5032 >40"L x 20"W x 20"H - 640lbs</option> 5033 5034 <option 5035 value="40"L x 25"W x 20"H - 820lbs" 5036 i="8" 5037 5038 >40"L x 25"W x 20"H - 820lbs</option> 5039 5040 <option 5041 value="35"L x 25"W x 15"H - 540lbs" 5042 i="9" 5043 5044 >35"L x 25"W x 15"H - 540lbs</option> 5045 5046 <option 5047 value="50"L x 25"W x 15"H - 740lbs" 5048 i="10" 5049 5050 >50"L x 25"W x 15"H - 740lbs</option> 5051 5052 <option 5053 value="50"L x 25"W x 25"H - 1,280lbs" 5054 i="11" 5055 5056 >50"L x 25"W x 25"H - 1,280lbs</option> 5057 5058 <option 5059 value="30"L x 25"W x 15"H - 460lbs" 5060 i="12" 5061 5062 >30"L x 25"W x 15"H - 460lbs</option> 5063 5064 <option 5065 value="35"L x 20"W x 15"H - 430lbs" 5066 i="13" 5067 5068 >35"L x 20"W x 15"H - 430lbs</option> 5069 5070 <option 5071 value="30"L x 25"W x 25"H - 765lbs" 5072 i="14" 5073 5074 >30"L x 25"W x 25"H - 765lbs</option> 5075 5076 <option 5077 value="45"L x 20"W x 15"H - 550lbs" 5078 i="15" 5079 5080 >45"L x 20"W x 15"H - 550lbs</option> 5081 5082 <option 5083 value="35"L x 25"W x 20"H - 710lbs" 5084 i="16" 5085 5086 >35"L x 25"W x 20"H - 710lbs</option> 5087 5088 <option 5089 value="30"L x 25"W x 20"H - 610lbs" 5090 i="17" 5091 5092 >30"L x 25"W x 20"H - 610lbs</option> 5093 5094 <option 5095 value="50"L x 25"W x 20"H - 1,020lbs" 5096 i="18" 5097 5098 >50"L x 25"W x 20"H - 1,020lbs</option> 5099 5100 <option 5101 value="35"L x 25"W x 25"H - 890lbs" 5102 i="19" 5103 5104 >35"L x 25"W x 25"H - 890lbs</option> 5105 5106 </select> 5107 <div class="flex justify-center items-center w-12 h-auto max-h-[10px] absolute top-[18px] right-8 z-[1] pointer-events-none"> 5108 <svg class="icon icon--carat-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.14 5.24"> 5109 5110 <path d="M8.94.2a.69.69,0,0,0-1,0L4.57,3.61,1.16.2a.67.67,0,0,0-1,0,.67.67,0,0,0,0,1L4.08,5a.69.69,0,0,0,.48.2A.67.67,0,0,0,5,5l3.9-3.88A.69.69,0,0,0,8.94.2Z" /> 5111</svg> 5112 </div> 5113 </div> 5114 5115 </div> 5116 <p class="product-option__required-field text-14 text-[#f33] hidden" js-required-field>This is a required field.</p> 5117 </div> 5118 5119 5120 5121 5122 5123 5124 5125 </product-options> 5126 5127 <div class="product__qty-container flex justify-start items-center"> 5128 <label class="form__label hidden" for="Quantity-template--21893123571877__main"> Qty </label> 5129 <quantity-input class="quantity border border-transparent mr-16 relative p-8 pl-16 bg-white"> 5130 <button 5131 class="quantity__button flex justify-center items-center w-12 h-auto max-h-[10px] absolute bottom-8 right-8" 5132 name="minus" 5133 type="button" 5134 aria-label="Decrease quantity for WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 5135 title="Decrease quantity for WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 5136 > 5137 <svg class="icon icon--carat-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.14 5.24"> 5138 5139 <path d="M8.94.2a.69.69,0,0,0-1,0L4.57,3.61,1.16.2a.67.67,0,0,0-1,0,.67.67,0,0,0,0,1L4.08,5a.69.69,0,0,0,.48.2A.67.67,0,0,0,5,5l3.9-3.88A.69.69,0,0,0,8.94.2Z" /> 5140</svg> 5141 </button> 5142 <input 5143 class="quantity__input w-[40px] h-auto" 5144 type="number" 5145 name="quantity" 5146 id="Quantity-template--21893123571877__main" 5147 min="1" 5148 value="1" 5149 form="ProductForm-template--21893123571877__main7759285649573" 5150 > 5151 <button 5152 class="quantity__button flex justify-center items-center w-12 h-auto max-h-[10px] transform rotate-180 absolute top-8 r
5152ight-8" 5153 name="plus" 5154 type="button" 5155 aria-label="Increase quantity for WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 5156 title="Increase quantity for WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 5157 > 5158 <svg class="icon icon--carat-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.14 5.24"> 5159 5160 <path d="M8.94.2a.69.69,0,0,0-1,0L4.57,3.61,1.16.2a.67.67,0,0,0-1,0,.67.67,0,0,0,0,1L4.08,5a.69.69,0,0,0,.48.2A.67.67,0,0,0,5,5l3.9-3.88A.69.69,0,0,0,8.94.2Z" /> 5161</svg> 5162 </button> 5163 </quantity-input> 5164 <div class="product__price"> 5165<div class="price flex flex-row flex-wrap items-center"> 5166 <dl><div class="price__regular "> 5167 <dt> 5168 <span class="visually-hidden visually-hidden--inline">Regular price</span> 5169 </dt> 5170 <dd class="price__last flex flex-row justify justify-start items-center flex-wrap"><span class="price-item price-item--regular text-[32px] text-[#39f] ss55" js-price> 5171 From $169.99 5172 </span> 5173 5174 5175 <div class="price__msrp"> 5176 5177 5178 5179 5180 5181 5182 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675600920741" data-msrp="0" js-msrp> 5183 $0.00 5184 </s> 5185 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675600920741" data-discount="" js-compare-price> 5186 5187 </s> 5188 5189 5190 5191 5192 5193 5194 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675600953509" data-msrp="0" js-msrp> 5195 $0.00 5196 </s> 5197 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675600953509" data-discount="" js-compare-price> 5198 5199 </s> 5200 5201 5202 5203 5204 5205 5206 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675600986277" data-msrp="0" js-msrp> 5207 $0.00 5208 </s> 5209 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675600986277" data-discount="" js-compare-price> 5210 5211 </s> 5212 5213 5214 5215 5216 5217 5218 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601019045" data-msrp="0" js-msrp> 5219 $0.00 5220 </s> 5221 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601019045" data-discount="" js-compare-price> 5222 5223 </s> 5224 5225 5226 5227 5228 5229 5230 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601051813" data-msrp="0" js-msrp> 5231 $0.00 5232 </s> 5233 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601051813" data-discount="" js-compare-price> 5234 5235 </s> 5236 5237 5238 5239 5240 5241 5242 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601084581" data-msrp="0" js-msrp> 5243 $0.00 5244 </s> 5245 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601084581" data-discount="" js-compare-price> 5246 5247 </s> 5248 5249 5250 5251 5252 5253 5254 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601117349" data-msrp="0" js-msrp> 5255 $0.00 5256 </s> 5257 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601117349" data-discount="" js-compare-price> 5258 5259 </s> 5260 5261 5262 5263 5264 5265 5266 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601150117" data-msrp="0" js-msrp> 5267 $0.00 5268 </s> 5269 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601150117" data-discount="" js-compare-price> 5270 5271 </s> 5272 5273 5274 5275 5276 5277 5278 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601182885" data-msrp="0" js-msrp> 5279 $0.00 5280 </s> 5281 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601182885" data-discount="" js-compare-price> 5282 5283 </s> 5284 5285 5286 5287 5288 5289 5290 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601215653" data-msrp="0" js-msrp> 5291 $0.00 5292 </s> 5293 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601215653" data-discount="" js-compare-price> 5294 5295 </s> 5296 5297 5298 5299 5300 5301 5302 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601248421" data-msrp="0" js-msrp> 5303 $0.00 5304 </s> 5305 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601248421" data-discount="" js-compare-price> 5306 5307 </s> 5308 5309 5310 5311 5312 5313 5314 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601281189" data-msrp="0" js-msrp> 5315 $0.00 5316 </s> 5317 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601281189" data-discount="" js-compare-price> 5318 5319 </s> 5320 5321 5322 5323 5324 5325 5326 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601313957" data-msrp="0" js-msrp> 5327 $0.00 5328 </s> 5329 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601313957" data-discount="" js-compare-price> 5330 5331 </s> 5332 5333 5334 5335 5336 5337 5338 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601346725" data-msrp="0" js-msrp> 5339 $0.00 5340 </s> 5341 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601346725" data-discount="" js-compare-price> 5342 5343 </s> 5344 5345 5346 5347 5348 5349 5350 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601379493" data-msrp="0" js-msrp> 5351 $0.00 5352 </s> 5353 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601379493" data-discount="" js-compare-price> 5354 5355 </s> 5356 5357 5358 5359 5360 5361 5362 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601412261" data-msrp="0" js-msrp> 5363 $0.00 5364 </s> 5365 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601412261" data-discount="" js-compare-price> 5366 5367 </s> 5368 5369 5370 5371 5372 5373 5374 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601445029" data-msrp="0" js-msrp> 5375 $0.00 5376 </s> 5377 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601445029" data-discount="" js-compare-price> 5378 5379 </s> 5380 5381 5382 5383 5384 5385 5386 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601477797" data-msrp="0" js-msrp> 5387 $0.00 5388 </s> 5389 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601477797" data-discount="" js-compare-price> 5390 5391 </s> 5392 5393 5394 5395 5396 5397 5398 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601510565" data-msrp="0" js-msrp> 5399 $0.00 5400 </s> 5401 <s class="price-item price-item--regular text-[20px] text-black ml-8 hidden" data-variant-id="41675601510565" data-discount="" js-compare-price> 5402 5403 </s> 5404 5405 </div> 5406 5407 </dd> 5408 </div> 5409 5410 5411 </dl> 5412</div> 5413</div> 5414 </div> 5415 <div class="product-form__properties"> 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 </div> 5456 5457 5458 <div 5459 class="product__stock-status text-center mt-16 5460 5461 hidden 5462 5463 " 5464 data-cta-oos="Add to Cart" 5465 js-stock-status 5466 > 5467 <div class="product-stock-status__title"><div><span class="text-green text-16 font-600">IN PRODUCTION</span> - Ships in 3-5 days</div></div> 5468 <div class="product-stock-status__message mt-8"><p style="font-weight:300 !important;font-size:14px !important;">Although we don't have it on the shelf currently, we are producing more daily in our US production facilities. Orders placed today will ship within 3-5 days. <a href="https://www.wakemakers.com/contact-us" title="Contact our Team">Contact our team</a> if you have further questions.</p></div> 5469 </div> 5470 <div class="product__shipping-status text-center mt-16 5471 5472 hidden 5473 5474 " js-ship-status>
5475 <span class="text-green text-16 font-600">IN STOCK</span> - Ships <span js-ship-day></span> <br> 5476 <span class="text-gray-dark">Place your order prior to 4PM EST/1PM PST for same day shipping on all in stock items.</span> 5477 </div> 5478 <button 5479 class="relative btn btn--orange w-full uppercase text-[20px] h-[60px] mt-16 flex justify-center items-center " 5480 id="AddToCart" 5481 type="submit" 5482 5483 disabled="disabled" 5484 5485 js-add-to-cart 5486 > 5487 <loading-spinner style="--size: 3rem; --bg-opacity: 100%;"></loading-spinner> 5488 5489 <span js-add-to-cart-icon class="w-24 h-auto mr-16 mb-4 text-white"><svg class="icon icon--cart" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23.99 21"> 5490 5491 <path d="M23.93,5.66l-2.61,7.88a1.31,1.31,0,0,1-1.24.9H7.82a1.3,1.3,0,0,1-1.23-.9L3,2.62H1.3A1.3,1.3,0,0,1,0,1.31,1.31,1.31,0,0,1,1.3,0H3.91A1.31,1.31,0,0,1,5.15.9l1,3H22.69a1.31,1.31,0,0,1,1.06.54A1.34,1.34,0,0,1,23.93,5.66ZM9.23,16.24a2.39,2.39,0,0,1,2.42,2.38A2.5,2.5,0,0,1,9.08,21a2.25,2.25,0,0,1-2.27-2.38A2.39,2.39,0,0,1,9.23,16.24ZM18.42,16a2.5,2.5,0,1,1-2.51,2.5A2.51,2.51,0,0,1,18.42,16Z" /> 5492</svg></span> 5493 <span js-add-to-cart-text>Add To Cart</span> 5494 5495 5496 </button> 5497 5498<input type="hidden" name="product-id" value="7759285649573" /><input type="hidden" name="section-id" value="template--21893123571877__main" /></form> 5499 <div class="product__addtional-information"> 5500 <p class="text-[20px] text-black mt-16">Item: B0079</p> 5501 </div> 5502 5503 5504 5505 5506 5507 5508 5509 5510 <div class="product-features p-16 bg-white mt-16 text-14"> 5511 <ul class=""> 5512 <li class="py-[5px]"> 5513 <button 5514 js-open-feature-best-price-promise 5515 class="btn p-0 font-400 text-black flex justify-start items-center" 5516 > 5517 <span class="icon-custom text-[#39f] icon-custom-price w-24 h-auto mr-12"></span> 5518 <span>Best Price Promise</span> 5519 </button> 5520 </li> 5521 <li class="py-[5px]"> 5522 <button 5523 js-open-feature-product-features--365-day-returns 5524 class="btn p-0 font-400 text-black flex justify-start items-center" 5525 > 5526 <span class="icon-custom text-[#39f] icon-custom-return w-24 h-auto mr-12"></span> 5527 <span>365 Day Returns*</span> 5528 </button> 5529 </li> 5530 <li class="py-[5px]"> 5531 <button 5532 js-open-feature-lifetime-expert-advice-support 5533 class="btn p-0 font-400 text-black flex justify-start items-center" 5534 > 5535 <span class="icon-custom text-[#39f] icon-custom-headset w-24 h-auto mr-12"></span> 5536 <span>Lifetime Expert Advice & Support</span> 5537 </button> 5538 </li> 5539 <li class="py-[5px]"> 5540 <button 5541 js-open-feature-free-shipping 5542 class="btn p-0 font-400 text-black flex justify-start items-center" 5543 > 5544 <span class="icon-custom text-[#39f] icon-custom-truck w-24 h-auto mr-12"></span> 5545 <span>Free Shipping on Orders Over $99</span> 5546 </button> 5547 </li> 5548 </ul> 5549 </div> 5550 5551 </div> 5552 <!-- .product__information-container --> 5553 5554 <div class="product__description-container p-16 bg-white desktop:p-32 desktop:pt-44"> 5555 5556 <div class="product__tabs hidden grid-cols-4 text-[24px] text-center bg-white z-[2] border-b border-solid border-gray desktop:mb-16 desktop:sticky desktop:grid"> 5557 5558 <a href="#product-details" class="product__tab p-8 active" js-product-tab>Details</a> 5559 5560 <a href="#product-specs" class="product__tab p-8" js-product-tab>Specs</a> 5561 <a href="#product-reviews" class="product__tab p-8" js-product-tab>Reviews</a> 5562 <a href="#product-faq" class="product__tab p-8" js-product-tab>FAQ</a> 5563 </div> 5564 5565 <div class="product__description font-300"> 5566 5567 <s-accordion 5568 class="accordion product-description-content border-t border-gray border-solid desktop:border-t-0" 5569 js-accordion 5570 > 5571 <div class="accordion-item desktop:pt-[203px] desktop:mt-[-203px]" js-accordion-item> 5572 <button 5573 id="product-details" 5574 class="accordion-header product-description-content__header py-16 text-[24px] font-300 flex justify-between items-center desktop:pointer-events-none desktop:pt-[
557468px] desktop:mt-[-68px]" 5575 aria-expanded="true" 5576 aria-controls="product-details-content" 5577 js-accordion-header 5578 > 5579 <span>Details</span> 5580 <div class="product-description-content__icon-carat w-20 h-auto mr-16 flex justify-between items-center desktop:hidden"> 5581 <svg class="icon icon--carat-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.14 5.24"> 5582 5583 <path d="M8.94.2a.69.69,0,0,0-1,0L4.57,3.61,1.16.2a.67.67,0,0,0-1,0,.67.67,0,0,0,0,1L4.08,5a.69.69,0,0,0,.48.2A.67.67,0,0,0,5,5l3.9-3.88A.69.69,0,0,0,8.94.2Z" /> 5584</svg> 5585 </div> 5586 </button> 5587 <div 5588 id="product-details-content" 5589 class="accordion-content rte text-16 desktop:h-full" 5590 aria-hidden="false" 5591 js-accordion-content 5592 > 5593 5594 We created our UniversalFIT Rear Locker Bags to be the best fitting off-the-shelf ballast bags for the rear lockers of v-drive boats, which means nearly 20 incremental sizes, delivering a nearly custom fit and improved wake. 5595 5596 5597 5598 <div class="relative overflow-hidden w-full pt-[56.25%] my-32 desktop:mb-16"> 5599 <iframe 5600 class="absolute top-0 left-0 bottom-0 right-0 w-full h-full" 5601 width="560" 5602 height="315" 5603 src="https://www.youtube.com/embed/kmOBcAxsaRk" 5604 title="YouTube video player" 5605 frameborder="0" 5606 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 5607 allowfullscreen 5608 ></iframe> 5609 </div> 5610 5611 <p>Our exclusive WakeMAKERS UniversalFIT Rear Locker Ballast Bags are making a splash in the industry and forever changing how boaters look at ballast bags. The team of product designers and engineers at WakeMAKERS agreed that a 'one-size fits all' approach that other brands are taking isn't good enough. Seeking a better ballast solution than standard sized bags, we developed our series of UniversalFIT ballast bags, designed for specific zones of your boat and offered in incremental sizes to give you better fitment and improved wake performance.</p><p>Ranging from 400 to 1,200 lbs. in size, the UniversalFIT Rear Locker bags allow you to choose the dimensions of the bag in 5" increments. The result is a much better fitting bag for your boat's rear locker, allowing you to fill to capacity and maximize added weight for the best possible wake. WakeMAKERS UniversalFIT ballast bags give you a nearly perfect fit without the expense of building a custom bag.</p><p>All WakeMAKERS ballast bags come standard with an industry-leading two year warranty. The bags are constructed of a DuraTEK, our proprietary material that is strong, durable, and puncture resistant. Once the material is cut, the bags are RF welded together with 1" seams to ensure a clean look and watertight seal. There are five 1" NPT ports on this ballast bag that feature a tapered thread pattern and bottom o-ring for a leak-free seal. The larger port size allows water to flow quicker for faster fill/drain times. </p><p>If you are shopping for ballast bags to put in the rear lockers of your v-drive boat, the WakeMAKERS UniversalFIT ballast bags are a no-brainer decision. From the quality craftsmanship to the innovative design, these ballast bags are built to deliver improved wakes behind your boat.</p><p>Sold individually as seen here, these bags are also included our WakeMAKERS exclusive <a href="https://www.wakemakers.com/factory-wakeboard-ballast-upgrades" title="Wakeboard boat ballast upgrade solutions">Factory Ballast Upgrades</a> that integrate the bags into your boat's factory ballast system for automated filling/draining. Use the dropdown tool to find available factory ballast upgrades for your year, make, and model boat.</p><p>You can also use our UniversalFIT Rear Locker ballast bags with a <a href="https://www.wakemakers.com/wakeboard-ballast-pumps?bag_compatibility=1533" title="Shop for WakeMAKERS compatible portable ballast pumps">portable ballast pump</a> or integrate them with a <a href="https://www.wakemakers.com/wakeboard-ballast-systems" title="Shop for WakeMAKERS Complete Ballast Systems">WakeMAKERS Complete Ballast System</a> for automated filling/draining of the bags.<br></p> 5612 5613 5614 5615 5616 5617 5618 5619 <div class="mb-20" data-value="cb-wakemakers-bags-fittings-not-included-five-ports" js-custom-description></div> 5620 5621 5622 5623 5624 5625 <div class="mb-20" data-value="cb-wakemakers-universalfit-rear-locker-tech" js-custom-description></div> 5626 5627 5628 5629 5630 5631 <div class="mb-20" data-value="cb-wakemakers-universalfit-port-placement-rear-locker" js-custom-description></div> 5632 5633 5634 5635 5636 5637 <div class="mb-20" data-value="cb-wakemakers-made-in-usa" js-custom-description></div> 5638 5639 5640 5641 5642 5643 5644 5645 <!-- Attribute Block Display --> 5646 5647 <!-- Surfboards --> 5648 5649 5650 5651 <!-- // Surfboards --> 5652 5653 <!-- // Attribute Block Display --> 5654 5655 <!-- // Size Chart Display --> 5656 5657 5658 5659 <div data-rebuy-id="47749" data-rebuy-shopify-product-ids="7759285649573"></div> 5660 5661 </div> 5662 </div> 5663 </s-accordion> 5664 5665 <s-accordion 5666 class="accordion product-description-content border-t border-gray border-solid desktop:border-t-0" 5667 js-accordion 5668 > 5669 <div class="accordion-item desktop:pt-[203px] desktop:mt-[-203px]" js-accordion-item> 5670 <button 5671 id="product-specs" 5672 class="accordion-header product-description-content__header py-16 text-[24px] font-300 flex justify-between items-center desktop:pointer-events-none desktop:pt-[
567268px] desktop:mt-[-68px]" 5673 aria-expanded="true" 5674 aria-controls="product-specs-content" 5675 js-accordion-header 5676 > 5677 <span>Product Specs</span> 5678 <div class="product-description-content__icon-carat w-20 h-auto mr-16 flex justify-between items-center desktop:hidden"> 5679 <svg class="icon icon--carat-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.14 5.24"> 5680 5681 <path d="M8.94.2a.69.69,0,0,0-1,0L4.57,3.61,1.16.2a.67.67,0,0,0-1,0,.67.67,0,0,0,0,1L4.08,5a.69.69,0,0,0,.48.2A.67.67,0,0,0,5,5l3.9-3.88A.69.69,0,0,0,8.94.2Z" /> 5682</svg> 5683 </div> 5684 </button> 5685 <div 5686 id="product-specs-content" 5687 class="accordion-content rte text-16 desktop:h-full" 5688 aria-hidden="false" 5689 js-accordion-content 5690 > 5691 5692 5693 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center" data-variant-id="41675600920741" js-specs-table> 5694 5695 5696 5697 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 5698 <dd class="variant-specs__spec-value inline-block">B0079</dd> 5699 5700 5701 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 5702 <dd class="variant-specs__spec-value inline-block">B0079</dd> 5703 5704 5705 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 5706 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 5707 5708 5709 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 5710 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 5711 5712 5713 5714 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 5715 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 5728 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 5729</dl> 5730 5731 5732 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675600953509" js-specs-table> 5733 5734 5735 5736 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 5737 <dd class="variant-specs__spec-value inline-block">B0080</dd> 5738 5739 5740 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 5741 <dd class="variant-specs__spec-value inline-block">B0080</dd> 5742 5743 5744 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 5745 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 5746 5747 5748 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 5749 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 5750 5751 5752 5753 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 5754 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 5767 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 5768</dl> 5769 5770 5771 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675600986277" js-specs-table> 5772 5773 5774 5775 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 5776 <dd class="variant-specs__spec-value inline-block">B0081</dd> 5777 5778 5779 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 5780 <dd class="variant-specs__spec-value inline-block">B0081</dd> 5781 5782 5783 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 5784 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 5785 5786 5787 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 5788 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 5789 5790 5791 5792 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 5793 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 5806 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-prop
5806osition-warning>Proposition 65 - view warning</button></td> 5807</dl> 5808 5809 5810 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601019045" js-specs-table> 5811 5812 5813 5814 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 5815 <dd class="variant-specs__spec-value inline-block">B0082</dd> 5816 5817 5818 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 5819 <dd class="variant-specs__spec-value inline-block">B0082</dd> 5820 5821 5822 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 5823 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 5824 5825 5826 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 5827 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 5828 5829 5830 5831 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 5832 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 5845 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 5846</dl> 5847 5848 5849 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601051813" js-specs-table> 5850 5851 5852 5853 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 5854 <dd class="variant-specs__spec-value inline-block">B0083</dd> 5855 5856 5857 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 5858 <dd class="variant-specs__spec-value inline-block">B0083</dd> 5859 5860 5861 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 5862 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 5863 5864 5865 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 5866 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 5867 5868 5869 5870 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 5871 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 5884 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 5885</dl> 5886 5887 5888 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601084581" js-specs-table> 5889 5890 5891 5892 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 5893 <dd class="variant-specs__spec-value inline-block">B0088</dd> 5894 5895 5896 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 5897 <dd class="variant-specs__spec-value inline-block">B0088</dd> 5898 5899 5900 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 5901 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 5902 5903 5904 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 5905 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 5906 5907 5908 5909 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 5910 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 5923 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-prop
5923osition-warning>Proposition 65 - view warning</button></td> 5924</dl> 5925 5926 5927 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601117349" js-specs-table> 5928 5929 5930 5931 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 5932 <dd class="variant-specs__spec-value inline-block">B0089</dd> 5933 5934 5935 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 5936 <dd class="variant-specs__spec-value inline-block">B0089</dd> 5937 5938 5939 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 5940 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 5941 5942 5943 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 5944 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 5945 5946 5947 5948 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 5949 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 5962 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 5963</dl> 5964 5965 5966 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601150117" js-specs-table> 5967 5968 5969 5970 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 5971 <dd class="variant-specs__spec-value inline-block">B0090</dd> 5972 5973 5974 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 5975 <dd class="variant-specs__spec-value inline-block">B0090</dd> 5976 5977 5978 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 5979 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 5980 5981 5982 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 5983 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 5984 5985 5986 5987 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 5988 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6001 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 6002</dl> 6003 6004 6005 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601182885" js-specs-table> 6006 6007 6008 6009 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 6010 <dd class="variant-specs__spec-value inline-block">B0091</dd> 6011 6012 6013 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 6014 <dd class="variant-specs__spec-value inline-block">B0091</dd> 6015 6016 6017 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 6018 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 6019 6020 6021 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 6022 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 6023 6024 6025 6026 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 6027 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6040 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-prop
6040osition-warning>Proposition 65 - view warning</button></td> 6041</dl> 6042 6043 6044 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601215653" js-specs-table> 6045 6046 6047 6048 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 6049 <dd class="variant-specs__spec-value inline-block">B0092</dd> 6050 6051 6052 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 6053 <dd class="variant-specs__spec-value inline-block">B0092</dd> 6054 6055 6056 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 6057 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 6058 6059 6060 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 6061 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 6062 6063 6064 6065 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 6066 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6079 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 6080</dl> 6081 6082 6083 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601248421" js-specs-table> 6084 6085 6086 6087 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 6088 <dd class="variant-specs__spec-value inline-block">B0093</dd> 6089 6090 6091 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 6092 <dd class="variant-specs__spec-value inline-block">B0093</dd> 6093 6094 6095 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 6096 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 6097 6098 6099 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 6100 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 6101 6102 6103 6104 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 6105 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6118 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 6119</dl> 6120 6121 6122 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601281189" js-specs-table> 6123 6124 6125 6126 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 6127 <dd class="variant-specs__spec-value inline-block">B0096</dd> 6128 6129 6130 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 6131 <dd class="variant-specs__spec-value inline-block">B0096</dd> 6132 6133 6134 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 6135 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 6136 6137 6138 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 6139 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 6140 6141 6142 6143 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 6144 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6157 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-prop
6157osition-warning>Proposition 65 - view warning</button></td> 6158</dl> 6159 6160 6161 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601313957" js-specs-table> 6162 6163 6164 6165 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 6166 <dd class="variant-specs__spec-value inline-block">B0110</dd> 6167 6168 6169 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 6170 <dd class="variant-specs__spec-value inline-block">B0110</dd> 6171 6172 6173 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 6174 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 6175 6176 6177 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 6178 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 6179 6180 6181 6182 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 6183 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6196 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 6197</dl> 6198 6199 6200 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601346725" js-specs-table> 6201 6202 6203 6204 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 6205 <dd class="variant-specs__spec-value inline-block">B0121</dd> 6206 6207 6208 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 6209 <dd class="variant-specs__spec-value inline-block">B0121</dd> 6210 6211 6212 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 6213 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 6214 6215 6216 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 6217 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 6218 6219 6220 6221 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 6222 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6235 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 6236</dl> 6237 6238 6239 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601379493" js-specs-table> 6240 6241 6242 6243 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 6244 <dd class="variant-specs__spec-value inline-block">B0122</dd> 6245 6246 6247 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 6248 <dd class="variant-specs__spec-value inline-block">B0122</dd> 6249 6250 6251 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 6252 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 6253 6254 6255 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 6256 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 6257 6258 6259 6260 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 6261 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6274 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-prop
6274osition-warning>Proposition 65 - view warning</button></td> 6275</dl> 6276 6277 6278 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601412261" js-specs-table> 6279 6280 6281 6282 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 6283 <dd class="variant-specs__spec-value inline-block">B0144</dd> 6284 6285 6286 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 6287 <dd class="variant-specs__spec-value inline-block">B0144</dd> 6288 6289 6290 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 6291 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 6292 6293 6294 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 6295 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 6296 6297 6298 6299 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 6300 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6313 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 6314</dl> 6315 6316 6317 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601445029" js-specs-table> 6318 6319 6320 6321 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 6322 <dd class="variant-specs__spec-value inline-block">B0145</dd> 6323 6324 6325 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 6326 <dd class="variant-specs__spec-value inline-block">B0145</dd> 6327 6328 6329 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 6330 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 6331 6332 6333 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 6334 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 6335 6336 6337 6338 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 6339 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6352 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 6353</dl> 6354 6355 6356 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601477797" js-specs-table> 6357 6358 6359 6360 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 6361 <dd class="variant-specs__spec-value inline-block">B0146</dd> 6362 6363 6364 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 6365 <dd class="variant-specs__spec-value inline-block">B0146</dd> 6366 6367 6368 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 6369 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 6370 6371 6372 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 6373 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 6374 6375 6376 6377 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 6378 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6391 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-prop
6391osition-warning>Proposition 65 - view warning</button></td> 6392</dl> 6393 6394 6395 <dl class="variant-specs grid grid-cols-[auto,1fr] items-center hidden " data-variant-id="41675601510565" js-specs-table> 6396 6397 6398 6399 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Manufacturer Part Number</td> 6400 <dd class="variant-specs__spec-value inline-block">B0147</dd> 6401 6402 6403 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Item#</td> 6404 <dd class="variant-specs__spec-value inline-block">B0147</dd> 6405 6406 6407 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ports</td> 6408 <dd class="variant-specs__spec-value inline-block">2 fill/vent - 3 drain</dd> 6409 6410 6411 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Ballast Bag Size</td> 6412 <dd class="variant-specs__spec-value inline-block">30" - 50"L x 20" - 25"W x 15" - 25"H</dd> 6413 6414 6415 6416 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Bag Capacity</td> 6417 <dd class="variant-specs__spec-value inline-block">430 - 1280</dd> 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 <dt class="variant-specs__spec-label inline-block font-600 text-gray-dark pr-28 py-16">Warning</td> 6430 <dd class="variant-specs__spec-value inline-block"><button class="inline text-left text-blue font-400" js-open-proposition-warning>Proposition 65 - view warning</button></td> 6431</dl> 6432 6433 6434 6435 </div> 6436 </div> 6437 </s-accordion> 6438 <s-accordion 6439 class="accordion product-description-content border-t border-gray border-solid desktop:border-t-0" 6440 js-accordion 6441 > 6442 <div class="accordion-item desktop:pt-[203px] desktop:mt-[-203px]" js-accordion-item> 6443 <button 6444 id="product-reviews" 6445 class="accordion-header product-description-content__header py-16 text-[24px] font-300 flex justify-between items-center desktop:pointer-events-none desktop:pt-[68px] desktop:mt-[-68px]" 6446 aria-expanded="true" 6447 aria-controls="product-reviews-content" 6448 js-accordion-header 6449 > 6450 <span>Customer Reviews</span> 6451 <div class="product-description-content__icon-carat w-20 h-auto mr-16 flex justify-between items-center desktop:hidden"> 6452 <svg class="icon icon--carat-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.14 5.24"> 6453 6454 <path d="M8.94.2a.69.69,0,0,0-1,0L4.57,3.61,1.16.2a.67.67,0,0,0-1,0,.67.67,0,0,0,0,1L4.08,5a.69.69,0,0,0,.48.2A.67.67,0,0,0,5,5l3.9-3.88A.69.69,0,0,0,8.94.2Z" /> 6455</svg> 6456 </div> 6457 </button> 6458 <div 6459 id="product-reviews-content" 6460 class="accordion-content rte text-16 desktop:h-full" 6461 aria-hidden="false" 6462 js-accordion-content 6463 > 6464 <div class="mb-20"> 6465 <a name="reviews"></a> 6466<div data-oke-reviews-widget data-oke-reviews-product-id="shopify-7759285649573"><div data-oke-reviews-version="2.19.0" class="okeReviews okeReviews--theme js-okeReviews"> 6467<div class="okeReviews-reviewsWidget js-okeReviews-reviewsWidget "> 6468<div class="okeReviews-reviewsWidget-header"> 6469<div class="okeReviews-reviewsWidget-header-poweredBy"> 6470<div class="okeReviews-reviewsWidget-poweredBy"> 6471<a href="https://www.okendo.io" target="_blank" rel="noopener" class="okeReviews-lazyPoweredBy" aria-label="Powered by Okendo" data-oke-reviews-lazy-class="is-okeReviews-lazyLoaded"></a> 6472</div></div> 6473<div class="okeReviews-reviewsWidget-header-controls"> 6474<a target="_blank" rel="noopener" tabindex="0" class="okeReviews-reviewsWidget-header-controls-writeReview js-okeReviews-writeReview okeReviews-button is-okeReviews-hidden" data-oke-ga-click-action="Write Review Click">Write a Review</a></div> 6475</div> 6476<div class="okeReviews-reviewsWidget-reviewsAggregate js-okeReviews-reviewsAggregateContainer"> 6477<div data-oke-reviews-aggregate data-oke-reviews-version="2.19.0" 6478data-oke-reviews-review-count="23" 6479class="okeReviews-reviewsAggregate"> 6480<div class="okeReviews-reviewsAggregate-side"> 6481<div class="okeReviews-reviewsAggregate-side-inner"> 6482<div class="okeReviews-reviewsAggregate-summary" 6483data-oke-ga-click-label="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 6484> 6485<div class="okeReviews-reviewsAggregate-summary-rating"> 6486<div class="okeReviews-reviewsAggregate-summary-rating-value"> 6487<div class="okeReviews-badge okeReviews-badge--large okeReviews-badge--rating"> 6488<span class="okeReviews-a11yText">average rating</span> 6489<span 6490>4.6</span> 6491<span class="okeReviews-a11yText">out of 5</span> 6492</div> 6493</div> 6494<div class="okeReviews-reviewsAggregate-summary-rating-starRating" role="presentation"> 6495<span class="okeReviews-starRating"> 6496<span class="okeReviews-starRating-indicator" role="presentation"> 6497<span class="okeReviews-starRating-indicator-layer"></span> 6498<span class="okeReviews-starRating-indicator-layer okeReviews-starRating-indicator-layer
6498--foreground" style="width: 92%;"></span> 6499</span> 6500</span> 6501</div> 6502</div> 6503<div class="okeReviews-reviewsAggregate-summary-total"> 6504Based on 23 reviews 6505</div> 6506</div><div class="okeReviews-reviewsAggregate-ratingDistribution js-or-rtgDis"> 6507<ul class="okeReviews-ratingDistribution" aria-label="Rating distribution"> 6508<li class="okeReviews-ratingDistribution-item"> 6509<div class="okeReviews-ratingDistribution-item-label"> 6510<div class="okeReviews-ratingDistribution-item-label-inner">5 Stars</div> 6511</div> 6512<div class="okeReviews-ratingDistribution-item-value"> 6513<div class="okeReviews-ratingDistribution-item-value-inner"> 6514<div class="okeReviews-ratingDistribution-item-value-graph" role="presentation"> 6515<div class="okeReviews-barGraph"> 6516<div class="okeReviews-barGraph-layer okeReviews-barGraph-layer--background"></div> 6517<div class="okeReviews-barGraph-layer okeReviews-barGraph-layer--foreground" style="width: 74%"></div> 6518</div> 6519</div> 6520<div class="okeReviews-ratingDistribution-item-value-count"> 652117 <span class="okeReviews-a11yText">Reviews</span> 6522</div> 6523</div> 6524</div> 6525</li> 6526<li class="okeReviews-ratingDistribution-item"> 6527<div class="okeReviews-ratingDistribution-item-label"> 6528<div class="okeReviews-ratingDistribution-item-label-inner">4 Stars</div> 6529</div> 6530<div class="okeReviews-ratingDistribution-item-value"> 6531<div class="okeReviews-ratingDistribution-item-value-inner"> 6532<div class="okeReviews-ratingDistribution-item-value-graph" role="presentation"> 6533<div class="okeReviews-barGraph"> 6534<div class="okeReviews-barGraph-layer okeReviews-barGraph-layer--background"></div> 6535<div class="okeReviews-barGraph-layer okeReviews-barGraph-layer--foreground" style="width: 22%"></div> 6536</div> 6537</div> 6538<div class="okeReviews-ratingDistribution-item-value-count"> 65395 <span class="okeReviews-a11yText">Reviews</span> 6540</div> 6541</div> 6542</div> 6543</li> 6544<li class="okeReviews-ratingDistribution-item"> 6545<div class="okeReviews-ratingDistribution-item-label"> 6546<div class="okeReviews-ratingDistribution-item-label-inner">3 Stars</div> 6547</div> 6548<div class="okeReviews-ratingDistribution-item-value"> 6549<div class="okeReviews-ratingDistribution-item-value-inner"> 6550<div class="okeReviews-ratingDistribution-item-value-graph" role="presentation"> 6551<div class="okeReviews-barGraph"> 6552<div class="okeReviews-barGraph-layer okeReviews-barGraph-layer--background"></div> 6553<div class="okeReviews-barGraph-layer okeReviews-barGraph-layer--foreground" style="width: 0%"></div> 6554</div> 6555</div> 6556<div class="okeReviews-ratingDistribution-item-value-count"> 65570 <span class="okeReviews-a11yText">Reviews</span> 6558</div> 6559</div> 6560</div> 6561</li> 6562<li class="okeReviews-ratingDistribution-item"> 6563<div class="okeReviews-ratingDistribution-item-label"> 6564<div class="okeReviews-ratingDistribution-item-label-inner">2 Stars</div> 6565</div> 6566<div class="okeReviews-ratingDistribution-item-value"> 6567<div class="okeReviews-ratingDistribution-item-value-inner"> 6568<div class="okeReviews-ratingDistribution-item-value-graph" role="presentation"> 6569<div class="okeReviews-barGraph"> 6570<div class="okeReviews-barGraph-layer okeReviews-barGraph-layer--background"></div> 6571<div class="okeReviews-barGraph-layer okeReviews-barGraph-layer--foreground" style="width: 0%"></div> 6572</div> 6573</div> 6574<div class="okeReviews-ratingDistribution-item-value-count"> 65750 <span class="okeReviews-a11yText">Reviews</span> 6576</div> 6577</div> 6578</div> 6579</li> 6580<li class="okeReviews-ratingDistribution-item"> 6581<div class="okeReviews-ratingDistribution-item-label"> 6582<div class="okeReviews-ratingDistribution-item-label-inner">1 Star</div> 6583</div> 6584<div class="okeReviews-ratingDistribution-item-value"> 6585<div class="okeReviews-ratingDistribution-item-value-inner"> 6586<div class="okeReviews-ratingDistribution-item-value-graph" role="presentation"> 6587<div class="okeReviews-barGraph"> 6588<div class="okeReviews-barGraph-layer okeReviews-barGraph-layer--background"></div> 6589<div class="okeReviews-barGraph-layer okeReviews-barGraph-layer--foreground" style="width: 4%"></div> 6590</div> 6591</div> 6592<div class="okeReviews-ratingDistribution-item-value-count"> 65931 <span class="okeReviews-a11yText">Review</span> 6594</div> 6595</div> 6596</div> 6597</li> 6598</ul> 6599</div></div> 6600</div> 6601<div class="okeReviews-reviewsAggregate-primary"> 6602<div class="okeReviews-reviewsAggregate-recommends"> 6603<span class="okeReviews-reviewsAggregate-recommends-badge okeReviews-badge okeReviews-badge--recommended">96%</span> 6604<span> 6605of reviewers would recommend this product to a friend 6606</span> 6607</div> 6608<div class="okeReviews-reviewsAggregate-mod"> 6609<div class="okeReviews-reviewsAggregate-mod-itm okeReviews-reviewsAggregate-mod-itm--medAgg"> 6610<div class="okeReviews-mediaAggregate"> 6611<span class="okeReviews-a11yText">Customer photos and videos</span> 6612<div class="okeReviews-mediaStrip is-overflow"> 6613<a href="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/5012bf66-bacd-4218-b0d8-f0935aca39b0.jpg?d=1600x1600" class="okeReviews-mediaStrip-item js-okeReviews-mediaStrip-item" data-oke-ga-click-action="Review Aggregate Photo Click" role="button"> 6614<img class="okeReviews-mediaStrip-item-media js-okeReviews-mediaStrip-media" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-oke-reviews-lazy-image-url="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/5012bf66-bacd-4218-b0d8-f0935aca39b0.jpg?d=120x120&crop=center" alt="Open user-uploaded photo and review in a modal" data-oke-reviews-media-id="5012bf66-bacd-4218-b0d8-f0935aca39b0" data-oke-reviews-mode="aggregate"> 6615</a> 6616<a href="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/a11a215c-792b-4227-8f2d-2edd69d139d6.jpg?d=1600x1600" class="okeReviews-mediaStrip-item js-okeReviews-mediaStrip-item" data-oke-ga-click-action="Review Aggregate Photo Click" role="button"> 6617<img class="okeReviews-mediaStrip-item-media js-okeReviews-mediaStrip-media" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-oke-reviews-lazy-image-url="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/a11a215c-792b-4227-8f2d-2edd69d139d6.jpg?d=120x120&crop=center" alt="Open user-uploaded photo and review in a modal" data-oke-reviews-media-id="a11a215c-792b-4227-8f2d-2edd69d139d6" data-oke-reviews-mode="aggregate"> 6618</a> 6619<a href="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/1de762f6-0883-4795-9da3-70030d0971e3.jpg?d=1600x1600" class="okeReviews-mediaStrip-item js-okeReviews-mediaStrip-item" data-oke-ga-click-action="Review Aggregate Photo Click" role="button"> 6620<img class="okeReviews-mediaStrip-item-media js-okeReviews-mediaStrip-media" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-oke-reviews-lazy-image-url="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/1de762f6-0883-4795-9da3-70030d0971e3.jpg?d=120x120&crop=center" alt="Open user-uploaded photo and review in a modal" data-oke-reviews-media-id="1de762f6-0883-4795-9da3-70030d0971e3" data-oke-reviews-mode="aggregate"> 6621</a> 6622<a href="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/ed198f5a-f393-4219-a2cc-0ce470b7e4cf.jpg?d=1600x1600" class="okeReviews-mediaStrip-item js-okeReviews-mediaStrip-item" data-oke-ga-click-action="Review Aggregate Photo Click" role="button"> 6623<img class="okeReviews-mediaStrip-item-media js-okeReviews-mediaStrip-media" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-oke-reviews-lazy-image-url="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/ed198f5a-f393-4219-a2cc-0ce470b7e4cf.jpg?d=120x120&crop=center" alt="Open user-uploaded photo and review in a modal" data-oke-reviews-media-id="ed198f5a-f393-4219-a2cc-0ce470b7e4cf" data-oke-reviews-mode="aggregate"> 6624</a> 6625<a href="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/662b6e89-58ac-435f-a1ae-1fce87eedc9e.jpg?d=1600x1600" class="okeReviews-mediaStrip-item js-okeReviews-mediaStrip-item" data-oke-ga-click-action="Review Aggregate Photo Click" role="button"> 6626<img class="okeReviews-mediaStrip-item-media js-okeReviews-mediaStrip-media" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-oke-reviews-lazy-image-url="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/662b6e89-58ac-435f-a1ae-1fce87eedc9e.jpg?d=120x120&crop=center" alt="Open user-uploaded photo and review in a modal" data-oke-reviews-media-id="662b6e89-58ac-435f-a1ae-1fce87eedc9e" data-oke-reviews-mode="aggregate"> 6627</a> 6628<a href="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/c5e4a7e6-d189-47e9-a11a-87e6bbf4456e.jpg?d=1600x1600" class="okeReviews-mediaStrip-item js-okeReviews-mediaStrip-item" data-oke-ga-click-action="Review Aggregate Photo Click" role="button"> 6629<img class="okeReviews-mediaStrip-item-media js-okeReviews-mediaStrip-media" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-oke-reviews-lazy-image-url="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/c5e4a7e6-d189-47e9-a11a-87e6bbf4456e.jpg?d=120x120&crop=center" alt="Open user-uploaded photo and review in a modal" data-oke-reviews-media-id="c5e4a7e6-d189-47e9-a11a-87e6bbf4456e" data-oke-reviews-mode="aggregate"> 6630</a> 6631</div> 6632</div> 6633</div></div> 6634</div> 6635</div> 6636</div> 6637<div class="okeReviews-reviewsWidget-reviews js-okeReviews-reviewsContainer"> 6638<div class="okeReviews-reviews"> 6639<div class="okeReviews-reviews-controls"> 6640<div class="okeReviews-reviews-controls-filterToggle"> 6641<button class="okeReviews-filterToggle okeReviews-button is-okeReviews-hidden js-okeReviews-filterToggle" aria-controls="filters" aria-expanded="false" data-oke-ga-click-action="Filter Toggle Click"> 6642Filters 6643<span class="okeReviews-filterToggle-count js-okeReviews-filterCount is-okeReviews-hidden"></span> 6644</button></div> 6645<div class="okeReviews-reviews-controls-sort"> 6646<div class="okeReviews-reviews-controls-reviewCount"> 664723 Reviews 6648</div> 6649<div class="okeReviews-reviews-controls-select"> 6650<span class="okeReviews-select js-okeReviews-select"> 6651<label for="okeReviews-reviews-controls-sort" class="okeReviews-a11yText">Sort by</label> 6652<select id="okeReviews-reviews-controls-sort" class="okeReviews-select-input js-okeReviews-select-input" data-oke-ga-change-action="Review Sort"> 6653<option value="date desc">Most Recent</option> 6654<option value="date asc">Oldest</option> 6655<option value="has_media desc" >Photos & Videos</option> 6656<option value="rating desc" >Highest Rating</option> 6657<option value="rating asc">Lowest Rating</option> 6658<option value="helpful desc" >Most Helpful</option> 6659<option value="unhelpful desc">Least Helpful</option> 6660</select> 6661</span> 6662</div></div> 6663<div class="okeReviews-reviews-controls-filters"> 6664<div class="okeReviews-filters js-okeReviews-filters is-okeReviews-hidden"> 6665</div> 6666</div> 6667</div> 6668<div class="okeReviews-reviews-alert okeReviews-reviews-alert--top okeReviews-alert okeReviews-alert--top js-okeReviews-topAlert" aria-hidden="true"> 6669<div class="okeReviews-reviews-alert-inner okeReviews-alert-inner js-okeReviews-alertInner"> 6670</div> 6671</div><div class="okeReviews-reviews-main js-okeReviews-reviews-main"> 6672<div class="okeReviews-reviews-review"> 6673<article data-oke-reviews-version="2.19.0" class="okeReviews-review js-okeReviews-review" data-oke-reviews-review-id="3b3b17a6-6fd0-4f40-a048-749a6b5d594d" data-oke-reviews-reviewer-name="Brett o." 6674 data-oke-ga-click-label="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 6675> 6676<div class="okeReviews-review-side"> 6677<div class="okeReviews-review-side-inner"> 6678<div class="okeReviews-review-reviewer"> 6679<div class="okeReviews-review-reviewer-profile js-okeReviews-reviewerProfile"> 6680<div class="okeReviews-review-reviewer-profile-avatar"> 6681<div class="okeReviews-avatar okeReviews-avatar--reviewer "> 6682<div class="okeReviews-avatar-placeholder" aria-hidden="true">
6682BO</div> 6683</div> 6684</div> 6685<div class="okeReviews-review-reviewer-profile-details"> 6686<div class="okeReviews-review-reviewer-profile-details-inner"> 6687<span class="okeReviews-review-reviewer-profile-name" aria-hidden="true">Brett o.</span> 6688<span class="okeReviews-a11yText">Reviewed by Brett o.</span> 6689</div> 6690<div class="okeReviews-review-reviewer-profile-status okeReviews-review-reviewer-profile-status--verified"> 6691Verified Buyer 6692</div> 6693</div> 6694</div> 6695<div class="okeReviews-review-recommendation okeReviews-review-recommendation--yes">I recommend this product</div> 6696</div> 6697</div> 6698</div> 6699<div class="okeReviews-review-primary"> 6700<div class="okeReviews-review-meta js-okeReviews-reviewMeta"> 6701<div class="okeReviews-review-starRating"> 6702<div class="okeReviews-starRating"> 6703<span class="okeReviews-a11yText">Rated 5 out of 5</span> 6704<span class="okeReviews-starRating-indicator" role="presentation"> 6705<span class="okeReviews-starRating-indicator-layer"></span> 6706<span class="okeReviews-starRating-indicator-layer okeReviews-starRating-indicator-layer--foreground" style="width: 100%;"></span> 6707</span> 6708</div> 6709</div><div class="okeReviews-review-date"> 6710<span class="okeReviews-a11yText">Review posted</span><span data-oke-reviews-date="2026-09-17T14:17:53.027Z"></span> 6711</div></div><div class="okeReviews-review-main js-okeReviews-reviewMain " data-oke-reviews-review-id="3b3b17a6-6fd0-4f40-a048-749a6b5d594d"> 6712<h2 class="okeReviews-review-main-heading"> 6713They are exactly what I expected 6714</h2> 6715<div class="okeReviews-review-main-content"> 6716<div class="js-okeReviews-reviewContent okeReviews-review-main-content-body"> 6717<p>Fit well and provide ample displacement. If you go with bags like this I found out about siphoning on the lake. I had to install ball valves on every line, 1 way check valves would have worked as well on the fill and. Iâd fill and they would drain out so just something to be aware off, my boat has aerator style pumps for fill and drain. </p> 6718</div> 6719<div class="okeReviews-review-main-content-controls"> 6720<span class="okeReviews-review-main-content-loader">Loading...</span> 6721<button class="okeReviews-review-main-content-untruncate okeReviews-review-main-content-readMore js-okeReviews-readMore" aria-hidden="true">Read more</button> 6722</div> 6723</div> 6724</div> 6725<div class="okeReviews-review-helpful okeReviews-helpful js-okeReviews-reviewHelpful"> 6726<span class="okeReviews-review-helpful-question okeReviews-helpful-question">Was this helpful?</span> 6727<div class="okeReviews-review-helpful-vote okeReviews-helpful-vote"> 6728<button class="okeReviews-review-helpful-vote-button okeReviews-review-helpful-vote-button--positive okeReviews-helpful-vote-button okeReviews-helpful-vote-button--positive js-okeReviews-review-helpful-vote-button" aria-label="Yes" aria-describedby="okeReviews-helpful-vote-counter-positive-3b3b17a6-6fd0-4f40-a048-749a6b5d594d" data-oke-reviews-vote="positive" data-oke-reviews-review-id="3b3b17a6-6fd0-4f40-a048-749a6b5d594d" data-oke-ga-click-action="Review Upvote"> 6729<span id="okeReviews-helpful-vote-counter-positive-3b3b17a6-6fd0-4f40-a048-749a6b5d594d" class="okeReviews-review-helpful-vote-counter okeReviews-helpful-vote-counter"> 6730<span class="js-okeReviews-review-helpful-vote-counter-positive" data-oke-reviews-review-id="3b3b17a6-6fd0-4f40-a048-749a6b5d594d">0</span> <span class="okeReviews-a11yText">people voted yes</span> 6731</span> 6732</button> 6733<button class="okeReviews-review-helpful-vote-button okeReviews-review-helpful-vote-button--negative okeReviews-helpful-vote-button okeReviews-helpful-vote-button--negative js-okeReviews-review-helpful-vote-button" aria-label="No" aria-describedby="okeReviews-helpful-vote-counter-negative-3b3b17a6-6fd0-4f40-a048-749a6b5d594d" data-oke-reviews-vote="negative" data-oke-reviews-review-id="3b3b17a6-6fd0-4f40-a048-749a6b5d594d" data-oke-ga-click-action="Review Downvote"> 6734<span id="okeReviews-helpful-vote-counter-negative-3b3b17a6-6fd0-4f40-a048-749a6b5d594d" class="okeReviews-review-helpful-vote-counter okeReviews-helpful-vote-counter"> 6735<span class="js-okeReviews-review-helpful-vote-counter-negative" data-oke-reviews-review-id="3b3b17a6-6fd0-4f40-a048-749a6b5d594d">0</span> <span class="okeReviews-a11yText">people voted no</span> 6736</span> 6737</button> 6738</div> 6739</div> 6740 6741</div> 6742</article> 6743</div> 6744<div class="okeReviews-reviews-review"> 6745<article data-oke-reviews-version="2.19.0" class="okeReviews-review js-okeReviews-review" data-oke-reviews-review-id="dcac79ee-680c-49ef-9883-55dc2f26515f" data-oke-reviews-reviewer-name="Brian" 6746 data-oke-ga-click-label="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 6747> 6748<div class="okeReviews-review-side"> 6749<div class="okeReviews-review-side-inner"> 6750<div class="okeReviews-review-reviewer"> 6751<div class="okeReviews-review-reviewer-profile js-okeReviews-reviewerProfile"> 6752<div class="okeReviews-review-reviewer-profile-avatar"> 6753<div class="okeReviews-avatar okeReviews-avatar--reviewer "> 6754<div class="okeReviews-avatar-placeholder" aria-hidden="true">B</div> 6755</div> 6756</div> 6757<div class="okeReviews-review-reviewer-profile-details"> 6758<div class="okeReviews-review-reviewer-profile-details-inner"> 6759<span class="okeReviews-review-reviewer-profile-name" aria-hidden="true">Brian</span> 6760<span class="okeReviews-a11yText">Reviewed by Brian</span> 6761</div> 6762</div> 6763</div> 6764<div class="okeReviews-review-recommendation okeReviews-review-recommendation--yes">I recommend this product</div> 6765</div> 6766</div> 6767</div> 6768<div class="okeReviews-review-primary"> 6769<div class="okeReviews-review-meta js-okeReviews-reviewMeta"> 6770<div class="okeReviews-review-starRating"> 6771<div class="okeReviews-starRating"> 6772<span class="okeReviews-a11yText">Rated 4 out of 5</span> 6773<span class="okeReviews-starRating-indicator" role="presentation"> 6774<span class="okeReviews-starRating-indicator-layer"></span> 6775<span class="okeReviews-starRating-indicator-layer okeReviews-starRating-indicator-layer
6775--foreground" style="width: 80%;"></span> 6776</span> 6777</div> 6778</div><div class="okeReviews-review-date"> 6779<span class="okeReviews-a11yText">Review posted</span><span data-oke-reviews-date="2026-09-02T00:34:49.000Z"></span> 6780</div></div><div class="okeReviews-review-main js-okeReviews-reviewMain " data-oke-reviews-review-id="dcac79ee-680c-49ef-9883-55dc2f26515f"> 6781<h2 class="okeReviews-review-main-heading"> 67824 Stars 6783</h2> 6784<div class="okeReviews-review-main-content"> 6785<div class="js-okeReviews-reviewContent okeReviews-review-main-content-body"> 6786<p>Thoguht they came with fittinfs but definitely did not so had to order those now also</p> 6787</div> 6788<div class="okeReviews-review-main-content-controls"> 6789<span class="okeReviews-review-main-content-loader">Loading...</span> 6790<button class="okeReviews-review-main-content-untruncate okeReviews-review-main-content-readMore js-okeReviews-readMore" aria-hidden="true">Read more</button> 6791</div> 6792</div> 6793</div> 6794<div class="okeReviews-review-helpful okeReviews-helpful js-okeReviews-reviewHelpful"> 6795<span class="okeReviews-review-helpful-question okeReviews-helpful-question">Was this helpful?</span> 6796<div class="okeReviews-review-helpful-vote okeReviews-helpful-vote"> 6797<button class="okeReviews-review-helpful-vote-button okeReviews-review-helpful-vote-button--positive okeReviews-helpful-vote-button okeReviews-helpful-vote-button--positive js-okeReviews-review-helpful-vote-button" aria-label="Yes" aria-describedby="okeReviews-helpful-vote-counter-positive-dcac79ee-680c-49ef-9883-55dc2f26515f" data-oke-reviews-vote="positive" data-oke-reviews-review-id="dcac79ee-680c-49ef-9883-55dc2f26515f" data-oke-ga-click-action="Review Upvote"> 6798<span id="okeReviews-helpful-vote-counter-positive-dcac79ee-680c-49ef-9883-55dc2f26515f" class="okeReviews-review-helpful-vote-counter okeReviews-helpful-vote-counter"> 6799<span class="js-okeReviews-review-helpful-vote-counter-positive" data-oke-reviews-review-id="dcac79ee-680c-49ef-9883-55dc2f26515f">0</span> <span class="okeReviews-a11yText">people voted yes</span> 6800</span> 6801</button> 6802<button class="okeReviews-review-helpful-vote-button okeReviews-review-helpful-vote-button--negative okeReviews-helpful-vote-button okeReviews-helpful-vote-button--negative js-okeReviews-review-helpful-vote-button" aria-label="No" aria-describedby="okeReviews-helpful-vote-counter-negative-dcac79ee-680c-49ef-9883-55dc2f26515f" data-oke-reviews-vote="negative" data-oke-reviews-review-id="dcac79ee-680c-49ef-9883-55dc2f26515f" data-oke-ga-click-action="Review Downvote"> 6803<span id="okeReviews-helpful-vote-counter-negative-dcac79ee-680c-49ef-9883-55dc2f26515f" class="okeReviews-review-helpful-vote-counter okeReviews-helpful-vote-counter"> 6804<span class="js-okeReviews-review-helpful-vote-counter-negative" data-oke-reviews-review-id="dcac79ee-680c-49ef-9883-55dc2f26515f">0</span> <span class="okeReviews-a11yText">people voted no</span> 6805</span> 6806</button> 6807</div> 6808</div> 6809<div class="okeReviews-review-shopBadge okeReviews-shopBadge"> 6810<svg width="100" height="21" viewBox="0 0 173 36" fill="none" xmlns="http://www.w3.org/2000/svg"> 6811<path d="M0 7.99999C0 3.58172 3.58172 0 7.99999 0H164.731C169.149 0 172.731 3.58172 172.731 7.99999V28C172.731 32.4183 169.149 36 164.731 36H7.99998C3.58171 36 0 32.4183 0 28V7.99999Z" fill="#F0F0F0"/> 6812<path d="M16.3636 25H13.7636L8.62359 9.40002H11.0436L15.0636 22.52L19.0836 9.40002H21.4836L16.3636 25ZM26.2372 25.32C23.1572 25.32 21.0972 23.02 21.0972 19.78C21.0972 16.58 23.0972 14.28 26.2372 14.28C28.7772 14.28 30.9172 16.22 30.9172 19.66V20.48H23.3372C23.4772 22.36 24.4172 23.58 26.2372 23.58C27.5572 23.58 28.4572 22.8 28.6372 22.06H30.8172C30.4972 23.84 28.6772 25.32 26.2372 25.32ZM23.3572 18.98H28.7172C28.6572 17.3 27.6372 16.16 26.1772 16.16C24.4772 16.16 23.5972 17.26 23.3572 18.98ZM35.4331 25H33.3331V14.6H35.4331V17.3C36.1131 15.18 37.5331 14.48 39.6331 14.48V16.56C37.1731 16.56 35.4331 17.3 35.4331 19.9V25ZM42.3428 12.38C41.4628 12.38 40.8628 11.78 40.8628 10.9C40.8628 10.02 41.4628 9.44002 42.3428 9.44002C43.2428 9.44002 43.8228 10.02 43.8228 10.9C43.8228 11.78 43.2428 12.38 42.3428 12.38ZM43.4428 25H41.2628V14.6H43.4428V25ZM49.8404 25H47.6604V16.48H45.4004V14.6H47.6604V13.42C47.6604 10.52 48.9604 9.04002 51.6404 9.20002L52.4004 9.22002V11.1H52.0004C50.4604 11.1 49.8604 11.66 49.8404 13.18V14.6H52.4204V16.48H49.8404V25ZM55.5068 12.38C54.6268 12.38 54.0268 11.78 54.0268 10.9C54.0268 10.02 54.62
681268 9.44002 55.5068 9.44002C56.4068 9.44002 56.9868 10.02 56.9868 10.9C56.9868 11.78 56.4068 12.38 55.5068 12.38ZM56.6068 25H54.4268V14.6H56.6068V25ZM64.2644 25.32C61.1845 25.32 59.1245 23.02 59.1245 19.78C59.1245 16.58 61.1245 14.28 64.2644 14.28C66.8044 14.28 68.9444 16.22 68.9444 19.66V20.48H61.3645C61.5045 22.36 62.4445 23.58 64.2644 23.58C65.5844 23.58 66.4844 22.8 66.6644 22.06H68.8444C68.5244 23.84 66.7044 25.32 64.2644 25.32ZM61.3845 18.98H66.7444C66.6844 17.3 65.6644 16.16 64.2044 16.16C62.5045 16.16 61.6245 17.26 61.3845 18.98ZM75.6785 25.32C72.8985 25.32 71.0385 23.12 71.0385 19.76C71.0385 16.44 72.8985 14.28 75.6785 14.28C77.0185 14.28 78.5385 15.04 79.2585 16.24V9.20002H81.4385V25H79.2585V23.34C78.5585 24.56 77.0185 25.32 75.6785 25.32ZM76.1385 23.44C78.0385 23.44 79.3185 22 79.3185 19.78C79.3185 17.58 78.0385 16.16 76.1385 16.16C74.3985 16.16 73.2385 17.58 73.2385 19.78C73.2385 22 74.3985 23.44 76.1385 23.44ZM95.0691 25.32C93.7291 25.32 92.1891 24.56 91.4891 23.34V25H89.3091V9.20002H91.4891V16.24C92.2091 15.04 93.7291 14.28 95.0691 14.28C97.8491 14.28 99.7091 16.44 99.7091 19.76C99.7091 23.12 97.8491 25.32 95.0691 25.32ZM94.6091 23.44C96.3491 23.44 97.5091 22 97.5091 19.78C97.5091 17.58 96.3491 16.16 94.6091 16.16C92.7091 16.16 91.4291 17.58 91.4291 19.78C91.4291 22 92.7091 23.44 94.6091 23.44ZM101.559 29V27.1C103.059 27.1 103.719 26.86 104.319 25.28L100.559 14.6H102.919L105.459 22.58L107.979 14.6H110.299L106.379 25.68C105.419 28.4 104.179 29 101.559 29Z" fill="black"/> 6813<g clip-path="url(#clip0_14247_21265)"> 6814<path d="M121.804 17.9961C119.846 17.572 118.973 17.406 118.973 16.6526C118.973 15.9439 119.564 15.5909 120.744 15.5909C121.783 15.5909 122.542 16.044 123.101 16.9318C123.143 17.0003 123.23 17.024 123.301 16.9871L125.505 15.8754C125.584 15.8359 125.613 15.7358 125.568 15.6594C124.653 14.0762 122.964 13.2095 120.739 13.2095C117.816 13.2095 116 14.6478 116 16.9344C116 19.3633 118.211 19.9771 120.172 20.4012C122.134 20.8254 123.009 20.9913 123.009 21.7448C123.009 22.4982 122.371 22.8538 121.098 22.8538C119.922 22.8538 119.05 22.3164 118.522 21.2732C118.483 21.1968 118.391 21.1652 118.314 21.2047L116.116 22.2927C116.04 22.3322 116.008 22.4244 116.047 22.5035C116.92 24.2553 118.71 25.2405 121.1 25.2405C124.145 25.2405 125.984 23.8259 125.984 21.4682C125.984 19.1104 123.762 18.4255 121.804 18.0014V17.9961Z" fill="black"/> 6815<path d="M133.613 13.2096C132.364 13.2096 131.259 13.6521 130.466 14.4398C130.416 14.4872 130.334 14.453 130.334 14.3845V9.3555C130.334 9.26857 130.266 9.20007 130.179 9.20007H127.422C127.335 9.20007 127.266 9.26857 127.266 9.3555V24.964C127.266 25.0509 127.335 25.1194 127.422 25.1194H130.179C130.266 25.1194 130.334 25.0509 130.334 24.964V18.1173C130.334 16.7949 131.349 15.7807 132.717 15.7807C134.085 15.7807 135.076 16.7738 135.076 18.1173V24.964C135.076 25.0509 135.145 25.1194 135.232 25.1194H137.989C138.076 25.1194 138.144 25.0509 138.144 24.964V18.1173C138.144 15.2406 136.257 13.2096 133.613 13.2096Z" fill="black"/> 6816<path d="M143.737 12.7618C142.24 12.7618 140.838 13.2202 139.831 13.8814C139.762 13.9262 139.739 14.0184 139.781 14.0896L140.996 16.1628C141.041 16.2365 141.136 16.2629 141.209 16.2181C141.974 15.7571 142.849 15.5174 143.742 15.5226C146.149 15.5226 147.918 17.2192 147.918 19.461C147.918 21.3709 146.502 22.7855 144.707 22.7855C143.244 22.7855 142.229 21.9346 142.229 20.7334C142.229 20.0458 142.522 19.4821 143.284 19.0843C143.363 19.0421 143.392 18.9447 143.344 18.8683L142.198 16.9294C142.161 16.8662 142.082 16.8372 142.011 16.8635C140.474 17.4325 139.396 18.8024 139.396 20.6412C139.396 23.423 141.613 25.4989 144.705 25.4989C148.316 25.4989 150.912 22.9989 150.912 19.4136C150.912 15.5701 147.891 12.7618 143.737 12.7618Z" fill="black"/> 6817<path d="M158.977 13.1858C157.583 13.1858 156.336 13.7021 155.427 14.6083C155.376 14.6584 155.295 14.6215 155.295 14.553V13.4624C155.295 13.3755 155.226 13.307 155.139 13.307H152.453C152.366 13.307 152.298 13.3755 152.298 13.4624V29.0472C152.298 29.1341 152.366 29.2026 152.453 29.2026H155.21C155.297 29.2026 155.366 29.1341 155.366 29.0472V23.9366C155.366 23.8681 155.448 23.8338 155.498 23.8786C156.404 24.7216 157.604 25.2142 158.977 25.2142C162.211 25.2142 164.734 22.5983 164.734 19.2C164.734 15.8017 162.209 13.1858 158.977 13.1858ZM158.455 22.5746C1
681756.615 22.5746 155.221 21.1125 155.221 19.1789C155.221 17.2453 156.613 15.7833 158.455 15.7833C160.298 15.7833 161.687 17.2216 161.687 19.1789C161.687 21.1363 160.316 22.5746 158.452 22.5746H158.455Z" fill="black"/> 6818</g> 6819<defs> 6820<clipPath id="clip0_14247_21265"> 6821<rect width="48.7309" height="20" fill="white" transform="translate(116 9.20007)"/> 6822</clipPath> 6823</defs> 6824</svg> 6825</div> 6826</div> 6827</article> 6828</div> 6829<div class="okeReviews-reviews-review"> 6830<article data-oke-reviews-version="2.19.0" class="okeReviews-review js-okeReviews-review" data-oke-reviews-review-id="d2217133-d149-477f-98b1-73fcadf93982" data-oke-reviews-reviewer-name="Brian" 6831 data-oke-ga-click-label="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 6832> 6833<div class="okeReviews-review-side"> 6834<div class="okeReviews-review-side-inner"> 6835<div class="okeReviews-review-reviewer"> 6836<div class="okeReviews-review-reviewer-profile js-okeReviews-reviewerProfile"> 6837<div class="okeReviews-review-reviewer-profile-avatar"> 6838<div class="okeReviews-avatar okeReviews-avatar--reviewer "> 6839<div class="okeReviews-avatar-placeholder" aria-hidden="true">B</div> 6840</div> 6841</div> 6842<div class="okeReviews-review-reviewer-profile-details"> 6843<div class="okeReviews-review-reviewer-profile-details-inner"> 6844<span class="okeReviews-review-reviewer-profile-name" aria-hidden="true">Brian</span> 6845<span class="okeReviews-a11yText">Reviewed by Brian</span> 6846</div> 6847</div> 6848</div> 6849<div class="okeReviews-review-recommendation okeReviews-review-recommendation--yes">I recommend this product</div> 6850</div> 6851</div> 6852</div> 6853<div class="okeReviews-review-primary"> 6854<div class="okeReviews-review-meta js-okeReviews-reviewMeta"> 6855<div class="okeReviews-review-starRating"> 6856<div class="okeReviews-starRating"> 6857<span class="okeReviews-a11yText">Rated 4 out of 5</span> 6858<span class="okeReviews-starRating-indicator" role="presentation"> 6859<span class="okeReviews-starRating-indicator-layer"></span> 6860<span class="okeReviews-starRating-indicator-layer okeReviews-starRating-indicator-layer--foreground" style="width: 80%;"></span> 6861</span> 6862</div> 6863</div><div class="okeReviews-review-date"> 6864<span class="okeReviews-a11yText">Review posted</span><span data-oke-reviews-date="2026-09-02T00:34:25.000Z"></span> 6865</div></div><div class="okeReviews-review-main js-okeReviews-reviewMain " data-oke-reviews-review-id="d2217133-d149-477f-98b1-73fcadf93982"> 6866<h2 class="okeReviews-review-main-heading"> 68674 Stars 6868</h2> 6869<div class="okeReviews-review-main-content"> 6870<div class="js-okeReviews-reviewContent okeReviews-review-main-content-body"> 6871<p>Thought it came with fittings definitely did not so had to order those also</p> 6872</div> 6873<div class="okeReviews-review-main-content-controls"> 6874<span class="okeReviews-review-main-content-loader">Loading...</span> 6875<button class="okeReviews-review-main-content-untruncate okeReviews-review-main-content-readMore js-okeReviews-readMore" aria-hidden="true">Read more</button> 6876</div> 6877</div> 6878</div> 6879<div class="okeReviews-review-helpful okeReviews-helpful js-okeReviews-reviewHelpful"> 6880<span class="okeReviews-review-helpful-question okeReviews-helpful-question">Was this helpful?</span> 6881<div class="okeReviews-review-helpful-vote okeReviews-helpful-vote"> 6882<button class="okeReviews-review-helpful-vote-button okeReviews-review-helpful-vote-button--positive okeReviews-helpful-vote-button okeReviews-helpful-vote-button--positive js-okeReviews-review-helpful-vote-button" aria-label="Yes" aria-describedby="okeReviews-helpful-vote-counter-positive-d2217133-d149-477f-98b1-73fcadf93982" data-oke-reviews-vote="positive" data-oke-reviews-review-id="d2217133-d149-477f-98b1-73fcadf93982" data-oke-ga-click-action="Review Upvote"> 6883<span id="okeReviews-helpful-vote-counter-positive-d2217133-d149-477f-98b1-73fcadf93982" class="okeReviews-review-helpful-vote-counter okeReviews-helpful-vote-counter"> 6884<span class="js-okeReviews-review-helpful-vote-counter-positive" data-oke-reviews-review-id="d2217133-d149-477f-98b1-73fcadf93982">0</span> <span class="okeReviews-a11yText">people voted yes</span> 6885</span> 6886</button> 6887<button class="okeReviews-review-helpful-vote-button okeReviews-review-helpful-vote-button--negative okeReviews-helpful-vote-button okeReviews-helpful-vote-button--negative js-okeReviews-review-helpful-vote-button" aria-label="No" aria-describedby="okeReviews-helpful-vote-counter-negative-d2217133-d149-477f-98b1-73fcadf93982" data-oke-reviews-vote="negative" data-oke-reviews-review-id="d2217133-d149-477f-98b1-73fcadf93982" data-oke-ga-click-action="Review Downvote"> 6888<span id="okeReviews-helpful-vote-counter-negative-d2217133-d149-477f-98b1-73fcadf93982" class="okeReviews-review-helpful-vote-counter okeReviews-helpful-vote-counter"> 6889<span class="js-okeReviews-review-helpful-vote-counter-negative" data-oke-reviews-review-id="d2217133-d149-477f-98b1-73fcadf93982">0</span> <span class="okeReviews-a11yText">people voted no</span> 6890</span> 6891</button> 6892</div> 6893</div> 6894<div class="okeReviews-review-shopBadge okeReviews-shopBadge"> 6895<svg width="100" height="21" viewBox="0 0 173 36" fill="none" xmlns="http://www.w3.org/2000/svg"> 6896<path d="M0 7.99999C0 3.58172 3.58172 0 7.99999 0H164.731C169.149 0 172.731 3.58172 172.731 7.99999V28C172.731 32.4183 169.149 36 164.731 36H7.99998C3.58171 36 0 32.4183 0 28V7.99999Z" fill="#F0F0F0"/> 6897<path d="M16.3636 25H13.7636L8.62359 9.40002H11.0436L15.0636 22.52L19.0836 9.40002H21.4836L16.3636 25ZM26.2372 25.32C23.1572 25.32 21.0972 23.02 21.0972 19.78C21.0972 16.58 23.0972 14.28 26.2372 14.28C28.7772 14.28 30.9172 16.22 30.9172 19.66V20.48H23.3372C23.4772 22.36 24.4172 23.58 26.2372 23.58C27.5572 23.58 28.4572 22.8 28.6372 22.06
6897H30.8172C30.4972 23.84 28.6772 25.32 26.2372 25.32ZM23.3572 18.98H28.7172C28.6572 17.3 27.6372 16.16 26.1772 16.16C24.4772 16.16 23.5972 17.26 23.3572 18.98ZM35.4331 25H33.3331V14.6H35.4331V17.3C36.1131 15.18 37.5331 14.48 39.6331 14.48V16.56C37.1731 16.56 35.4331 17.3 35.4331 19.9V25ZM42.3428 12.38C41.4628 12.38 40.8628 11.78 40.8628 10.9C40.8628 10.02 41.4628 9.44002 42.3428 9.44002C43.2428 9.44002 43.8228 10.02 43.8228 10.9C43.8228 11.78 43.2428 12.38 42.3428 12.38ZM43.4428 25H41.2628V14.6H43.4428V25ZM49.8404 25H47.6604V16.48H45.4004V14.6H47.6604V13.42C47.6604 10.52 48.9604 9.04002 51.6404 9.20002L52.4004 9.22002V11.1H52.0004C50.4604 11.1 49.8604 11.66 49.8404 13.18V14.6H52.4204V16.48H49.8404V25ZM55.5068 12.38C54.6268 12.38 54.0268 11.78 54.0268 10.9C54.0268 10.02 54.6268 9.44002 55.5068 9.44002C56.4068 9.44002 56.9868 10.02 56.9868 10.9C56.9868 11.78 56.4068 12.38 55.5068 12.38ZM56.6068 25H54.4268V14.6H56.6068V25ZM64.2644 25.32C61.1845 25.32 59.1245 23.02 59.1245 19.78C59.1245 16.58 61.1245 14.28 64.2644 14.28C66.8044 14.28 68.9444 16.22 68.9444 19.66V20.48H61.3645C61.5045 22.36 62.4445 23.58 64.2644 23.58C65.5844 23.58 66.4844 22.8 66.6644 22.06H68.8444C68.5244 23.84 66.7044 25.32 64.2644 25.32ZM61.3845 18.98H66.7444C66.6844 17.3 65.6644 16.16 64.2044 16.16C62.5045 16.16 61.6245 17.26 61.3845 18.98ZM75.6785 25.32C72.8985 25.32 71.0385 23.12 71.0385 19.76C71.0385 16.44 72.8985 14.28 75.6785 14.28C77.0185 14.28 78.5385 15.04 79.2585 16.24V9.20002H81.4385V25H79.2585V23.34C78.5585 24.56 77.0185 25.32 75.6785 25.32ZM76.1385 23.44C78.0385 23.44 79.3185 22 79.3185 19.78C79.3185 17.58 78.0385 16.16 76.1385 16.16C74.3985 16.16 73.2385 17.58 73.2385 19.78C73.2385 22 74.3985 23.44 76.1385 23.44ZM95.0691 25.32C93.7291 25.32 92.1891 24.56 91.4891 23.34V25H89.3091V9.20002H91.4891V16.24C92.2091 15.04 93.7291 14.28 95.0691 14.28C97.8491 14.28 99.7091 16.44 99.7091 19.76C99.7091 23.12 97.8491 25.32 95.0691 25.32ZM94.6091 23.44C96.3491 23.44 97.5091 22 97.5091 19.78C97.5091 17.58 96.3491 16.16 94.6091 16.16C92.7091 16.16 91.4291 17.58 91.4291 19.78C91.4291 22 92.7091 23.44 94.6091 23.44ZM101.559 29V27.1C103.059 27.1 103.719 26.86 104.319 25.28L100.559 14.6H102.919L105.459 22.58L107.979 14.6H110.299L106.379 25.68C105.419 28.4 104.179 29 101.559 29Z" fill="black"/> 6898<g clip-path="url(#clip0_14247_21265)"> 6899<path d="M121.804 17.9961C119.846 17.572 118.973 17.406 118.973 16.6526C118.973 15.9439 119.564 15.5909 120.744 15.5909C121.783 15.5909 122.542 16.044 123.101 16.9318C123.143 17.0003 123.23 17.024 123.301 16.9871L125.505 15.8754C125.584 15.8359 125.613 15.7358 125.568 15.6594C124.653 14.0762 122.964 13.2095 120.739 13.2095C117.816 13.2095 116 14.6478 116 16.9344C116 19.3633 118.211 19.9771 120.172 20.4012C122.134 20.8254 123.009 20.9913 123.009 21.7448C123.009 22.4982 122.371 22.8538 121.098 22.8538C119.922 22.8538 119.05 22.3164 118.522 21.2732C118.483 21.1968 118.391 21.1652 118.314 21.2047L116.116 22.2927C116.04 22.3322 116.008 22.4244 116.047 22.5035C116.92 24.2553 118.71 25.2405 121.1 25.2405C124.145 25.2405 125.984 23.8259 125.984 21.4682C125.984 19.1104 123.762 18.4255 121.804 18.0014V17.9961Z" fill="black"/> 6900<path d="M133.613 13.2096C132.364 13.2096 131.259 13.6521 130.466 14.4398C130.416 14.4872 130.334 14.453 130.334 14.3845V9.3555C130.334 9.26857 130.266 9.20007 130.179 9.20007H127.422C127.335 9.20007 127.266 9.26857 127.266 9.3555V24.964C127.266 25.0509 127.335 25.1194 127.422 25.1194H130.179C130.266 25.1194 130.334 25.0509 130.334 24.964V18.1173C130.334 16.7949 131.349 15.7807 132.717 15.7807C134.085 15.7807 135.076 16.7738 135.076 18.1173V24.964C135.076 25.0509 135.145 25.1194 135.232 25.1194H137.989C138.076 25.1194 138.144 25.0509 138.144 24.964V18.1173C138.144 15.2406 136.257 13.2096 133.613 13.2096Z" fill="black"/> 6901<path d="M143.737 12.7618C142.24 12.7618 140.838 13.2202 139.831 13.8814C139.762 13.9262 139.739 14.0184 139.781 14.0896L140.996 16.1628C141.041 16.2365 141.136 16.2629 141.209 16.2181C141.974 15.7571 142.849 15.5174 143.742 15.5226C146.149 15.5226 147.918 17.2192 147.918 19.461C147.918 21.3709 146.502 22.7855 144.707 22.7855C143.244 22.7855 142.229 21.9346 142.229 20.7334C142.229 20.0458 142.522 19.4821 143.284 19.0843C143.363 19.0421 143.392 18.9447 143.344 18.8683L142.198 16.9294C142.161 16.8662 142.082 16.8372 142.011 16.8635C140.474 17.4325 139.396 18.8024 139.396 20.6412C139.396 23.423 141.613 25.4989 144.705 25.4989C148.316 25.4989 150.912 22.9989 150.912 19.4136C150.912 15.5701 147.891 12.7618 143.737 12.7618Z" fill="black"/> 6902<path d="M158.977 13.1858C157.583 13.1858 156.336 13.7021 155.427 14.6083C155.376 14.6584 155.295 14.6215 155.295 14.553V13.4624C155.295 13.3755 155.226 13.307 155.139 13.307H152.453C152.366 13.307 152.298 13.3755 152.298 13.4624V29.0472C152.298 29.1341 152.366 29.2026 152.453 29.2026H155.21C155.297 29.2026 155.366 29.1341 155.366 29.0472V23.9366C155.366 23.8681 155.448 23.8338 155.498 23.8786C156.404 24.7216 157.604 25.2142 158.977 25.2142C162.211 25.2142 164.734 22.5983 164.734 19.2C164.734 15.8017 162.209 13.1858 158.977 13.1858ZM158.455 22.5746C1
690256.615 22.5746 155.221 21.1125 155.221 19.1789C155.221 17.2453 156.613 15.7833 158.455 15.7833C160.298 15.7833 161.687 17.2216 161.687 19.1789C161.687 21.1363 160.316 22.5746 158.452 22.5746H158.455Z" fill="black"/> 6903</g> 6904<defs> 6905<clipPath id="clip0_14247_21265"> 6906<rect width="48.7309" height="20" fill="white" transform="translate(116 9.20007)"/> 6907</clipPath> 6908</defs> 6909</svg> 6910</div> 6911</div> 6912</article> 6913</div> 6914<div class="okeReviews-reviews-review"> 6915<article data-oke-reviews-version="2.19.0" class="okeReviews-review js-okeReviews-review" data-oke-reviews-review-id="8d4f113b-659d-4972-833e-6e29a665f040" data-oke-reviews-reviewer-name="Ryan R." 6916 data-oke-ga-click-label="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 6917> 6918<div class="okeReviews-review-side"> 6919<div class="okeReviews-review-side-inner"> 6920<div class="okeReviews-review-reviewer"> 6921<div class="okeReviews-review-reviewer-profile js-okeReviews-reviewerProfile"> 6922<div class="okeReviews-review-reviewer-profile-avatar"> 6923<div class="okeReviews-avatar okeReviews-avatar--reviewer "> 6924<div class="okeReviews-avatar-placeholder" aria-hidden="true">RR</div> 6925</div> 6926</div> 6927<div class="okeReviews-review-reviewer-profile-details"> 6928<div class="okeReviews-review-reviewer-profile-details-inner"> 6929<span class="okeReviews-review-reviewer-profile-name" aria-hidden="true">Ryan R.</span> 6930<span class="okeReviews-a11yText">Reviewed by Ryan R.</span> 6931</div> 6932<div class="okeReviews-review-reviewer-profile-status okeReviews-review-reviewer-profile-status--verified"> 6933Verified Buyer 6934</div> 6935</div> 6936</div> 6937<div class="okeReviews-review-recommendation okeReviews-review-recommendation--no">I don't recommend this product</div> 6938</div> 6939</div> 6940</div> 6941<div class="okeReviews-review-primary"> 6942<div class="okeReviews-review-meta js-okeReviews-reviewMeta"> 6943<div class="okeReviews-review-starRating"> 6944<div class="okeReviews-starRating"> 6945<span class="okeReviews-a11yText">Rated 1 out of 5</span> 6946<span class="okeReviews-starRating-indicator" role="presentation"> 6947<span class="okeReviews-starRating-indicator-layer"></span> 6948<span class="okeReviews-starRating-indicator-layer okeReviews-starRating-indicator-layer--foreground" style="width: 20%;"></span> 6949</span> 6950</div> 6951</div><div class="okeReviews-review-date"> 6952<span class="okeReviews-a11yText">Review posted</span><span data-oke-reviews-date="2024-07-28T22:40:38.456Z"></span> 6953</div></div><div class="okeReviews-review-main js-okeReviews-reviewMain " data-oke-reviews-review-id="8d4f113b-659d-4972-833e-6e29a665f040"> 6954<h2 class="okeReviews-review-main-heading"> 6955Wouldnât recommend 6956</h2> 6957<div class="okeReviews-review-main-content"> 6958<div class="js-okeReviews-reviewContent okeReviews-review-main-content-body"> 6959<p>It took over 4 months to receive the order for the ballast bag. The description clearly states the fittings are 1â NPT but they do not fit any other NPT fittings so you can only use specialty fittings</p> 6960</div> 6961<div class="okeReviews-review-main-content-controls"> 6962<span class="okeReviews-review-main-content-loader">Loading...</span> 6963<button class="okeReviews-review-main-content-untruncate okeReviews-review-main-content-readMore js-okeReviews-readMore" aria-hidden="true">Read more</button> 6964</div> 6965</div> 6966</div> 6967<div class="okeReviews-review-helpful okeReviews-helpful js-okeReviews-reviewHelpful"> 6968<span class="okeReviews-review-helpful-question okeReviews-helpful-question">Was this helpful?</span> 6969<div class="okeReviews-review-helpful-vote okeReviews-helpful-vote"> 6970<button class="okeReviews-review-helpful-vote-button okeReviews-review-helpful-vote-button--positive okeReviews-helpful-vote-button okeReviews-helpful-vote-button--positive js-okeReviews-review-helpful-vote-button" aria-label="Yes" aria-describedby="okeReviews-helpful-vote-counter-positive-8d4f113b-659d-4972-833e-6e29a665f040" data-oke-reviews-vote="positive" data-oke-reviews-review-id="8d4f113b-659d-4972-833e-6e29a665f040" data-oke-ga-click-action="Review Upvote"> 6971<span id="okeReviews-helpful-vote-counter-positive-8d4f113b-659d-4972-833e-6e29a665f040" class="okeReviews-review-helpful-vote-counter okeReviews-helpful-vote-counter"> 6972<span class="js-okeReviews-review-helpful-vote-counter-positive" data-oke-reviews-review-id="8d4f113b-659d-4972-833e-6e29a665f040">1</span> <span class="okeReviews-a11yText">
6972person voted yes</span> 6973</span> 6974</button> 6975<button class="okeReviews-review-helpful-vote-button okeReviews-review-helpful-vote-button--negative okeReviews-helpful-vote-button okeReviews-helpful-vote-button--negative js-okeReviews-review-helpful-vote-button" aria-label="No" aria-describedby="okeReviews-helpful-vote-counter-negative-8d4f113b-659d-4972-833e-6e29a665f040" data-oke-reviews-vote="negative" data-oke-reviews-review-id="8d4f113b-659d-4972-833e-6e29a665f040" data-oke-ga-click-action="Review Downvote"> 6976<span id="okeReviews-helpful-vote-counter-negative-8d4f113b-659d-4972-833e-6e29a665f040" class="okeReviews-review-helpful-vote-counter okeReviews-helpful-vote-counter"> 6977<span class="js-okeReviews-review-helpful-vote-counter-negative" data-oke-reviews-review-id="8d4f113b-659d-4972-833e-6e29a665f040">0</span> <span class="okeReviews-a11yText">people voted no</span> 6978</span> 6979</button> 6980</div> 6981</div> 6982 6983</div> 6984</article> 6985</div> 6986<div class="okeReviews-reviews-review"> 6987<article data-oke-reviews-version="2.19.0" class="okeReviews-review js-okeReviews-review" data-oke-reviews-review-id="ceb202ba-d0c4-4cac-8a52-210c55df5b55" data-oke-reviews-reviewer-name="Charles M." 6988 data-oke-ga-click-label="WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)" 6989> 6990<div class="okeReviews-review-side"> 6991<div class="okeReviews-review-side-inner"> 6992<div class="okeReviews-review-reviewer"> 6993<div class="okeReviews-review-reviewer-profile js-okeReviews-reviewerProfile"> 6994<div class="okeReviews-review-reviewer-profile-avatar"> 6995<div class="okeReviews-avatar okeReviews-avatar--reviewer "> 6996<div class="okeReviews-avatar-placeholder" aria-hidden="true">CM</div> 6997</div> 6998</div> 6999<div class="okeReviews-review-reviewer-profile-details"> 7000<div class="okeReviews-review-reviewer-profile-details-inner"> 7001<span class="okeReviews-review-reviewer-profile-name" aria-hidden="true">Charles M.</span> 7002<span class="okeReviews-a11yText">Reviewed by Charles M.</span> 7003</div> 7004<div class="okeReviews-review-reviewer-profile-status okeReviews-review-reviewer-profile-status--verified"> 7005Verified Buyer 7006</div> 7007</div> 7008</div> 7009<div class="okeReviews-review-recommendation okeReviews-review-recommendation--yes">I recommend this product</div> 7010</div> 7011</div> 7012</div> 7013<div class="okeReviews-review-primary"> 7014<div class="okeReviews-review-meta js-okeReviews-reviewMeta"> 7015<div class="okeReviews-review-starRating"> 7016<div class="okeReviews-starRating"> 7017<span class="okeReviews-a11yText">Rated 5 out of 5</span> 7018<span class="okeReviews-starRating-indicator" role="presentation"> 7019<span class="okeReviews-starRating-indicator-layer"></span> 7020<span class="okeReviews-starRating-indicator-layer okeReviews-starRating-indicator-layer--foreground" style="width: 100%;"></span> 7021</span> 7022</div> 7023</div><div class="okeReviews-review-date"> 7024<span class="okeReviews-a11yText">Review posted</span><span data-oke-reviews-date="2024-07-05T18:31:01.072Z"></span> 7025</div></div><div class="okeReviews-review-main js-okeReviews-reviewMain " data-oke-reviews-review-id="ceb202ba-d0c4-4cac-8a52-210c55df5b55"> 7026<h2 class="okeReviews-review-main-heading"> 7027The extra weight that the boat needed 7028</h2> 7029<div class="okeReviews-review-main-content"> 7030<div class="js-okeReviews-reviewContent okeReviews-review-main-content-body"> 7031<p>These bags gave my xt 20 the extra weight it needed to give the wave that extra height and push </p> 7032</div> 7033<div class="okeReviews-review-main-content-controls"> 7034<span class="okeReviews-review-main-content-loader">Loading...</span> 7035<button class="okeReviews-review-main-content-untruncate okeReviews-review-main-content-readMore js-okeReviews-readMore" aria-hidden="true">Read more</button> 7036</div> 7037</div> 7038</div> 7039<div class="okeReviews-review-media"> 7040<div class="okeReviews-mediaStrip"> 7041<a href="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/5012bf66-bacd-4218-b0d8-f0935aca39b0.jpg?d=1600x1600" class="okeReviews-mediaStrip-item js-okeReviews-mediaStrip-item" data-oke-ga-click-action="Review Photo Click" role="button"> 7042<img class="okeReviews-mediaStrip-item-media js-okeReviews-mediaStrip-media" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-oke-reviews-lazy-image-url="https://media-dynamic.okendo.io/images/6e683df2-08da-4c40-a14c-c765d5257fcf/5012bf66-bacd-4218-b0d8-f0935aca39b0.jpg?d=120x120&crop=center" alt="Open Image by Charles M. in a modal" data-oke-reviews-review-id="ceb202ba-d0c4-4cac-8a52-210c55df5b55" data-oke-reviews-media-id="5012bf66-bacd-4218-b0d8-f0935aca39b0"> 7043</a> 7044</div> 7045</div> 7046<div class="okeReviews-review-helpful okeReviews-helpful js-okeReviews-reviewHelpful"> 7047<span class="okeReviews-review-helpful-question okeReviews-helpful-question">Was this helpful?</span> 7048<div class="okeReviews-review-helpful-vote okeReviews-helpful-vote"> 7049<button class="okeReviews-review-helpful-vote-button okeReviews-review-helpful-vote-button--positive okeReviews-helpful-vote-button okeReviews-helpful-vote-button--positive js-okeReviews-review-helpful-vote-button" aria-label="Yes" aria-describedby="okeReviews-helpful-vote-counter-positive-ceb202ba-d0c4-4cac-8a52-210c55df5b55" data-oke-reviews-vote="positive" data-oke-reviews-review-id="ceb202ba-d0c4-4cac-8a52-210c55df5b55" data-oke-ga-click-action="Review Upvote"> 7050<span id="okeReviews-helpful-vote-counter-positive-ceb202ba-d0c4-4cac-8a52-210c55df5b55" class="okeReviews-review-helpful-vote-counter okeReviews-helpful-vote-counter"> 7051<span class="js-okeReviews-review-helpful-vote-counter-positive" data-oke-reviews-review-id="ceb202ba-d0c4-4cac-8a52-210c55df5b55">0</span> <span class="okeReviews-a11yText">people voted yes</span> 7052</span> 7053</button> 7054<button class="okeReviews-review-helpful-vote-button okeReviews-review-helpful-vote-button--negative okeReviews-helpful-vote-button okeReviews-helpful-vote-button--negative js-okeReviews-review-helpful-vote-button" aria-label="No" aria-describedby="okeReviews-helpful-vote-counter-negative-ceb202ba-d0c4-4cac-8a52-210c55df5b55" data-oke-reviews-vote="negative" data-oke-reviews-review-id="ceb202ba-d0c4-4cac-8a52-210c55df5b55" data-oke-ga-click-action="Review Downvote"> 7055<span id="okeReviews-helpful-vote-counter-negative-ceb202ba-d0c4-4cac-8a52-210c55df5b55" class="okeReviews-review-helpful-vote-counter okeReviews-helpful-vote-counter"> 7056<span class="js-okeReviews-review-helpful-vote-counter-negative" data-oke-reviews-review-id="ceb202ba-d0c4-4cac-8a52-210c55df5b55">0</span> <span class="okeReviews-a11yText">people voted no</span> 7057</span> 7058</button> 7059</div> 7060</div> 7061 7062</div> 7063</article> 7064</div> 7065</div> 7066<div class="okeReviews-reviews-alert okeReviews-reviews-alert--bottom okeReviews-alert okeReviews-alert--bottom js-okeReviews-bottomAlert" aria-hidden="true"> 7067<div class="okeReviews-reviews-alert-inner okeReviews-alert-inner js-okeReviews-alertInner"> 7068</div> 7069</div><div class="okeReviews-reviews-footer js-okeReviews-footer js-okeReviews-reviews-footer is-okeReviews-hidden"> 7070<button class="okeReviews-reviews-showMore okeReviews-showMore js-okeReviews-showMore" data-oke-reviews-next-uri="/stores/6e683df2-08da-4c40-a14c-c765d5257fcf/products/shopify-7759285649573/reviews?limit=5&orderBy=date%20desc&lastEvaluated=%7B%22reviewId%22%3A%22ceb202ba-d0c4-4cac-8a52-210c55df5b55%22%2C%22subscriberId_productId%22%3A%226e683df2-08da-4c40-a14c-c765d5257fcf%3Ashopify-7759285649573%22%2C%22subscriberId%22%3A%226e683df2-08da-4c40-a14c-c765d5257fcf%22%2C%22dateCreated%22%3A%222024-07-05T18%3A31%3A01.072Z%22%7D" data-oke-ga-click-action="Review Load More">Show more</button> 7071</div> 7072</div> 7073</div> 7074</div> 7075</div>
7076<script> 7077!function(){function e(e){var d=e.getBoundingClientRect().width;d>=i.s&&d<i.m&&e.classList.add(s.m),d<i.m||e.classList.add(s.l)}var i={s:640,m:960},s={m:"is-okeReviews-reviewsWidget-medium",l:"is-okeReviews-reviewsWidget-large"};e(document.querySelector(".js-okeReviews-reviewsWidget"))}(); 7078</script>
7078 7079</div> 7080 </div> 7081 </div> 7082 </div> 7083 </s-accordion> 7084 <s-accordion 7085 class="accordion product-description-content border-t border-gray border-solid desktop:pt-16" 7086 js-accordion 7087 > 7088 <div class="accordion-item desktop:pt-[203px] desktop:mt-[-203px]" js-accordion-item> 7089 <button 7090 id="product-faq" 7091 class="accordion-header product-description-content__header py-16 text-[24px] font-300 flex justify-between items-center desktop:pointer-events-none desktop:pt-[68px] desktop:mt-[-68px]" 7092 aria-expanded="true" 7093 aria-controls="product-faq-content" 7094 js-accordion-header 7095 > 7096 <span>Frequently Asked Questions</span> 7097 <div class="product-description-content__icon-carat w-20 h-auto mr-16 flex justify-between items-center desktop:hidden"> 7098 <svg class="icon icon--carat-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9.14 5.24"> 7099 7100 <path d="M8.94.2a.69.69,0,0,0-1,0L4.57,3.61,1.16.2a.67.67,0,0,0-1,0,.67.67,0,0,0,0,1L4.08,5a.69.69,0,0,0,.48.2A.67.67,0,0,0,5,5l3.9-3.88A.69.69,0,0,0,8.94.2Z" /> 7101</svg> 7102 </div> 7103 </button> 7104 <div 7105 id="product-faq-content" 7106 class="accordion-content rte text-16 border-b border-solid border-gray desktop:h-full" 7107 aria-hidden="false" 7108 js-accordion-content 7109 > 7110 <div class="mb-16"> 7111 <div data-oke-reviews-qanda data-oke-reviews-product-id="shopify-7759285649573"></div> 7112 </div> 7113 </div> 7114 </div> 7115 </s-accordion> 7116 </div> 7117 7118 <div class="product__social-sharing py-32"> 7119 <p class="text-[24px] font-300">Share this product with others.</p> 7120 <nav class="product__social w-full mt-16 grid grid-cols-[repeat(4,44px)] gap-8 justify-start"> 7121 <a href="//www.facebook.com/sharer.php?u=https://www.wakemakers.com/products/wakemakers-rear-lbs-ballast-bag" target="_blank" rel="noopener noreferrer" class="product__social text-white block w-[44px] h-[44px] p-12 bg-black text-[0px] text-center focus:text-blue desktop:hover:text-blue" title="Facebook" aria-label="Facebook"><svg class="icon icon--facebook" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"> 7122 7123 <path d="M215.8 85H264V3.6C255.7 2.5 227.1 0 193.8 0 124.3 0 76.7 42.4 76.7 120.3V192H0v91h76.7v229h94V283h73.6l11.7-91h-85.3v-62.7c0-26.3 7.3-44.3 45.1-44.3z" /> 7124</svg></a> 7125 <a href="//twitter.com/share?text=WakeMAKERS%20UniversalFIT%20Rear%20Locker%20Ballast%20Bags%20(Multiple%20Sizes)&url=https://www.wakemakers.com/products/wakemakers-rear-lbs-ballast-bag" target="_blank"" target="_blank" rel="noopener noreferrer" class="product__social text-white block w-[44px] h-[44px] p-12 bg-black text-[0px] text-center focus:text-blue desktop:hover:text-blue" title="Twitter" aria-label="Twitter"><svg class="icon icon--twitter" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"> 7126 7127 <path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" /> 7128</svg></a> 7129 <a href="//pinterest.com/pin/create/button/?url=https://www.wakemakers.com/products/wakemakers-rear-lbs-ballast-bag}&media=//www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8_1024x1024.jpg?v=1731575349&description=WakeMAKERS%20UniversalFIT%20Rear%20Locker%20Ballast%20Bags%20(Multiple%20Sizes)" target="_blank" rel="noopener noreferrer" class="product__social text-white block w-[44px] h-[44px] p-12 bg-black text-[0px] text-center focus:text-blue desktop:hover:text-blue" title="Pinterest" aria-label="Pinterest"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-pinterest" viewBox="0 0 17 18">
7130 <path fill="currentColor" d="M8.48.58a8.42 8.42 0 015.9 2.45 8.42 8.42 0 011.33 10.08 8.28 8.28 0 01-7.23 4.16 8.5 8.5 0 01-2.37-.32c.42-.68.7-1.29.85-1.8l.59-2.29c.14.28.41.52.8.73.4.2.8.31 1.24.31.87 0 1.65-.25 2.34-.75a4.87 4.87 0 001.6-2.05 7.3 7.3 0 00.56-2.93c0-1.3-.5-2.41-1.49-3.36a5.27 5.27 0 00-3.8-1.43c-.93 0-1.8.16-2.58.48A5.23 5.23 0 002.85 8.6c0 .75.14 1.41.43 1.98.28.56.7.96 1.27 1.2.1.04.19.04.26 0 .07-.03.12-.1.15-.2l.18-.68c.05-.15.02-.3-.11-.45a2.35 2.35 0 01-.57-1.63A3.96 3.96 0 018.6 4.8c1.09 0 1.94.3 2.54.89.61.6.92 1.37.92 2.32 0 .8-.11 1.54-.33 2.21a3.97 3.97 0 01-.93 1.62c-.4.4-.87.6-1.4.6-.43 0-.78-.15-1.06-.47-.27-.32-.36-.7-.26-1.13a111.14 111.14 0 01.47-1.6l.18-.73c.06-.26.09-.47.09-.65 0-.36-.1-.66-.28-.89-.2-.23-.47-.35-.83-.35-.45 0-.83.2-1.13.62-.3.41-.46.93-.46 1.56a4.1 4.1 0 00.18 1.15l.06.15c-.6 2.58-.95 4.1-1.08 4.54-.12.55-.16 1.2-.13 1.94a8.4 8.4 0 01-5-7.65c0-2.3.81-4.28 2.44-5.9A8.04 8.04 0 018.48.57z"> 7131</svg> 7132</a> 7133</nav> 7134 </div> 7135 </div> 7136 <!-- .product__description-container --> 7137 7138 <button 7139 class="product__back-to-top hidden desktop:block fixed w-[180px] opacity-0 transition-opacity z-[2] bottom-12 right-12" 7140 js-back-to-top 7141 > 7142 <?xml version="1.0" encoding="utf-8"?> 7143<!-- Generator: Adobe Illustrator 26.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 7144<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 7145 viewBox="0 0 612 792" style="enable-background:new 0 0 612 792;" xml:space="preserve"> 7146<g id="Layer_2"> 7147 <g> 7148 <path class="fill-[#0199FF]" d="M260,519.39v-27.46h-9.31v-6.45h26.31v6.45h-9.31v27.46H260z"/> 7149 <path class="fill-[#0199FF]" d="M294.64,520.01c-2.29,0-4.38-0.41-6.27-1.22c-1.89-0.81-3.51-1.98-4.86-3.51c-1.35-1.52-2.4-3.38-3.15-5.56 7150 c-0.75-2.18-1.12-4.66-1.12-7.44c0-2.77,0.37-5.24,1.12-7.41c0.75-2.17,1.79-3.99,3.15-5.46c1.35-1.47,2.97-2.6,4.86-3.38 7151 c1.89-0.78,3.98-1.17,6.27-1.17s4.38,0.39,6.27,1.17c1.89,0.78,3.51,1.92,4.86,3.41c1.35,1.49,2.4,3.32,3.15,5.49 7152 c0.75,2.17,1.12,4.62,1.12,7.36c0,2.77-0.37,5.25-1.12,7.44c-0.75,2.18-1.79,4.04-3.15,5.56c-1.35,1.53-2.97,2.7-4.86,3.51 7153 C299.01,519.6,296.92,520.01,294.64,520.01z M294.64,513.41c2.32,0,4.16-1,5.51-2.99c1.35-1.99,2.03-4.71,2.03-8.14 7154 c0-3.4-0.68-6.05-2.03-7.96c-1.35-1.91-3.19-2.86-5.51-2.86c-2.32,0-4.16,0.95-5.51,2.86c-1.35,1.91-2.03,4.56-2.03,7.96 7155 c0,3.43,0.68,6.15,2.03,8.14C290.48,512.41,292.31,513.41,294.64,513.41z"/> 7156 <path class="fill-[#0199FF]" d="M316.42,519.39v-33.9h11.65c1.87,0,3.62,0.18,5.25,0.55c1.63,0.36,3.05,0.97,4.26,1.82 7157 c1.21,0.85,2.17,1.98,2.89,3.38c0.71,1.4,1.07,3.13,1.07,5.17c0,1.98-0.36,3.69-1.07,5.15c-0.71,1.46-1.67,2.65-2.89,3.59 7158 c-1.21,0.94-2.62,1.63-4.21,2.08c-1.59,0.45-3.29,0.68-5.1,0.68h-4.21v11.49H316.42z M324.07,501.81h3.74 7159 c4.16,0,6.24-1.8,6.24-5.41c0-1.77-0.55-3.02-1.66-3.74c-1.11-0.73-2.7-1.09-4.78-1.09h-3.54V501.81z"/> 7160 </g> 7161 <path class="fill-[#0199FF]" d="M425.5,651.17c-25.42,0-60.22-12.15-76-26.53c-12.95-11.81-27.03-29.16-33.24-68.38l7.9-1.25 7162 c4.69,29.64,13.59,48.1,30.72,63.71c14.54,13.25,46.87,24.44,70.61,24.44V651.17z"/> 7163 <path class="fill-[#0199FF]" d="M170.72,651.11v-8c23.74,0,56.07-11.19,70.61-24.44c17.13-15.62,26.04-34.08,30.72-63.71l7.9,1.25 7164 c-6.2,39.21-20.28,56.57-33.24,68.38C230.94,638.96,196.13,651.11,170.72,651.11z"/> 7165 <path class="fill-[#0199FF]" d="M316.55,633.92c-7.88-22.11-12.31-45.42-14.35-75.55l-3.69,0.25l-4.51-0.3c-2.04,30.14-6.46,53.44-14.35,75.55 7166 c-7.33,20.57-19.13,37.83-45.09,65.98l5.88,5.42c26.78-29.03,39.01-47.02,46.75-68.72c4.81-13.5,8.37-27.4,10.9-42.88 7167 c2.54,15.51,6.1,29.43,10.91,42.94c7.74,21.7,19.97,39.68,46.75,68.72l5.88-5.42C335.68,671.75,323.88,654.49,316.55,633.92z"/> 7168</g> 7169<g id="Layer_3"> 7170 <g> 7171 <path class="fill-[#ECEFF1]" d="M298.52,299.15l-39.15,0.38c-25.79,0.25-32.3-3.81-32.57,22.39c-0.26,26.2-0.89,87.78-0.89,87.78 7172 c2.55,2.68,6.5,5.34,32.29,5.09l39.15-0.38l-2.46,0.02l39.15-0.38c25.79-0.25,29.8-2.99,32.4-5.72c0,0,0.73-72.04,0.87-86.3 7173 c0.14-14.27-6.29-26.5-32.11-23.24l-39.15,0.38L298.52,299.15z"/> 7174 <path class="fill-[#D4D9DD]" d="M295.68,234.75h-37.49c-24.7,0-30.98-4.11-30.98,22.03s0,87.58,0,87.58c2.47,2.7,6.28,5.4,30.98,5.4h37.49 7175 h-2.36h37.49c24.7,0,29.51-2.7,31.98-5.4c0,0-1-71.87-1-86.1c0-14.23-6.28-26.5-30.98-23.5h-37.49H295.68z"/> 7176 <path class="fill-[#D4D9DD]" d="M294.61,450.05c-82.96,0-82.81-24.82-81.57-63.84c0.17-5.35,0.36-10.96,0.36-16.81l11.63,16.47 7177 c0-3.64,22.67-2.43,27.91-0.65c6.05,2.05,4.92,10.95,11.12,14.47c8.09,4.59,30.56,4.47,30.56,4.47h-0.21 7178 c0,0,21.77,0.13,30.56-4.47c6.32-3.3,5.37-11,10.68-14.56c3.68-2.47,28.09-2.71,28.09,0.93l12.21-16.65 7179 c0,5.85,0.19,11.47,0.36,16.81c1.24,39.01,1.39,63.84-81.57,63.84"/> 7180 <path class="fill-[#7B8084]" d="M237.47,246.4c0,0-10.08,11.74-10.08,40.21l-0.18,60.74l0.3,66.07c0,0,0.03,4.67,0.05,9.35 7181 c0.02,4.67-13.54-2.51-14.28-16.32c-0.49-9.28,0.04-21.31,0.04-37.02l-1.58-131.76c-1.14-70.63,31.64-106.39,56.57-126.73l0,0 7182 c0.93-0.76,1.92-1.48,2.85-2.23c2.8-2.26,11.23-8.96,23.44-19.36h0.11c12.21,10.4,20.64,17.1,23.44,19.36 7183 c0.93,0.75,1.92,1.47,2.85,2.23l0,0c24.93,20.34,57.71,56.1,56.57,126.73l-1.58,131.76c0,15.71,0.53,27.74,0.04,37.02 7184 c-0.74,13.81-14.3,20.99-14.28,16.32c0.02-4.67,0.05-9.35,0.05-9.35l0.3-66.07l-0.18-60.74c0-28.47-10.05-40.35-10.05-40.35 7185 l-27.83-13.26l-76.33,6.07L237.47,246.4z"/> 7186 <path class="fill-white" d="M251.77,346.66c-17.44,0.84-19.67-3.21-19.67-17.86l1-18h17.56c16.88,0,11.29,8.7,18.98,9.21 7187 c5.85,0.38,7.12-7.4,16.33-7.4h16.47c9.21,0,10.48,7.78,16.33,7.4c7.69-0.51,2.09-9.21,18.98-9.21h17.56l1,18 7188 c0,14.65-2.23,18.7-19.67,17.86H251.77z"/> 7189 <ellipse class="fill-[#7B8084]" cx="275.01" cy="240.93" rx="6.21" ry="4.29"/> 7190 <ellipse class="fill-[#7B8084]" cx="314" cy="240.93" rx="6.21" ry="4.29"/> 7191 <path class="fill-[#787D81]" d="M295.68,354.75h-37.49c-24.7,0-30.98-7.4-30.98-7.4v-3c2.47,2.7,6.28,5.4,30.98,5.4h37.49h-2.36h37.49 7192 c24.7,0,29-3.29,31.47-5.99v3c0,0-6.77,4.99-31.47,7.99h-37.49H295.68z"/> 7193 <ellipse class="fill-white" cx="336.05" cy="244.1" rx="10.19" ry="6.84"/> 7194 <g> 7195 <path class="fill-[#ECEFF1]" d="M247.44,260.38c0,0-0.08-3.51,4.33-4.23c0.28-0.05,12.7,0,12.7,0c4.47,0,4.33,4.23,4.33,4.23v24.53 7196 c0,0-21.63,0.28-21.35,0C247.73,284.63,247.44,260.38,247.44,260.38z"/> 7197 <path class="fill-[#B3B3B3]" d="M253.52,285.29c-6.18,0-6.24-0.14-6.3-0.28l-0.07-0.16l0.08-0.08c0.17-1.06,0.08-15.09-0.03-24.4l0,0 7198 c0-0.12,0.02-3.74,4.54-4.48c0.29-0.05,10.67-0.01,12.74,0c1.43,0,2.55,0.42,3.35,1.24c1.27,1.31,1.23,3.17,1.22,3.25v24.77 7199 l-0.25,0C261.52,285.26,256.7,285.29,253.52,285.29z M247.71,284.72c1.62,0.14,13.04,0.05,20.84-0.05v-24.29 7200 c0-0.02,0.04-1.74-1.08-2.9c-0.7-0.72-1.71-1.09-2.99-1.09c-4.92-0.02-12.35-0.03-12.67,0c-4.12,0.67-4.11,3.84-4.11,3.98v0
7201 C247.91,279.19,247.81,283.63,247.71,284.72z"/> 7202 </g> 7203 <g> 7204 <path class="fill-white" d="M253.21,291.54c-10.71,0-13.71-4.88-13.71-14.09v-6.84c0-2.87,0.99-5.46,2.09-6.7 7205 c4.74-5.3,8.51-4.74,8.51,4.88l0.14,9.35c0,5.28,5.44,5.02,5.44,5.02h4.36c0,0,5.44,0.23,5.44-5.02l0.14-9.35 7206 c0-9.63,3.77-10.19,8.51-4.88c1.11,1.24,2.09,3.83,2.09,6.7v6.84c0,9.21-3,14.09-13.71,14.09H253.21z"/> 7207 <path class="fill-[#B3B3B3]" d="M262.52,291.79h-9.31c-11.59,0-13.96-5.73-13.96-14.34v-6.84c0-3.08,1.08-5.66,2.16-6.86 7208 c2.46-2.75,4.6-3.88,6.21-3.27c1.82,0.7,2.74,3.49,2.74,8.32l0.14,9.34c0,1.46,0.43,2.61,1.28,3.43c1.51,1.44,3.87,1.35,3.9,1.35 7209 l4.37,0c0.04,0,2.41,0.08,3.92-1.38c0.84-0.81,1.27-1.96,1.27-3.4l0.14-9.35c0-4.82,0.92-7.62,2.74-8.31 7210 c1.6-0.61,3.75,0.52,6.21,3.27c1.07,1.2,2.16,3.79,2.16,6.86v6.84C276.48,286.06,274.1,291.79,262.52,291.79z M246.72,260.82 7211 c-1.31,0-3.03,1.13-4.94,3.26c-0.98,1.09-2.03,3.6-2.03,6.53v6.84c0,11.49,5.38,13.84,13.46,13.84h9.31 7212 c11.17,0,13.46-5.53,13.46-13.84v-6.84c0-2.93-1.05-5.44-2.03-6.53c-2.28-2.54-4.29-3.66-5.65-3.13 7213 c-1.58,0.6-2.42,3.32-2.42,7.85l-0.14,9.35c0,1.58-0.48,2.85-1.43,3.76c-1.67,1.6-4.17,1.52-4.27,1.51h-4.35 7214 c-0.09,0-2.58,0.1-4.25-1.49c-0.96-0.91-1.44-2.18-1.44-3.79l-0.14-9.34c0-4.53-0.84-7.25-2.42-7.85 7215 C247.21,260.86,246.97,260.82,246.72,260.82z"/> 7216 </g> 7217 <g> 7218 <path class="fill-[#ECEFF1]" d="M320.21,260.38c0,0-0.08-3.51,4.33-4.23c0.28-0.05,12.7,0,12.7,0c4.47,0,4.33,4.23,4.33,4.23v24.53 7219 c0,0-21.63,0.28-21.35,0C320.5,284.63,320.21,260.38,320.21,260.38z"/> 7220 <path class="fill-[#B3B3B3]" d="M326.29,285.29c-6.18,0-6.24-0.14-6.3-0.28l-0.07-0.16l0.08-0.08c0.17-1.06,0.08-15.09-0.03-24.4 7221 c0-0.12,0.02-3.74,4.54-4.48c0.29-0.05,10.67-0.01,12.74,0c1.43,0,2.55,0.42,3.35,1.24c1.27,1.31,1.23,3.17,1.22,3.25v24.77 7222 l-0.25,0C334.29,285.26,329.47,285.29,326.29,285.29z M320.48,284.72c1.62,0.14,13.04,0.05,20.84-0.05v-24.29 7223 c0-0.02,0.04-1.74-1.08-2.9c-0.7-0.72-1.71-1.09-2.99-1.09c-4.92-0.02-12.35-0.04-12.67,0c-4.12,0.67-4.11,3.84-4.11,3.98v0 7224 C320.68,279.19,320.58,283.63,320.48,284.72z"/> 7225 </g> 7226 <g> 7227 <path class="fill-white" d="M335.81,291.54c10.71,0,13.71-4.88,13.71-14.09v-6.84c0-2.87-0.99-5.46-2.09-6.7 7228 c-4.74-5.3-8.51-4.74-8.51,4.88l-0.14,9.35c0,5.28-5.44,5.02-5.44,5.02h-4.36c0,0-5.44,0.23-5.44-5.02l-0.14-9.35 7229 c0-9.63-3.77-10.19-8.51-4.88c-1.11,1.24-2.09,3.83-2.09,6.7v6.84c0,9.21,3,14.09,13.71,14.09H335.81z"/> 7230 <path class="fill-[#B3B3B3]" d="M335.81,291.79h-9.31c-11.59,0-13.96-5.73-13.96-14.34v-6.84c0-3.08,1.08-5.67,2.16-6.86 7231 c2.46-2.75,4.61-3.88,6.21-3.27c1.82,0.7,2.74,3.49,2.74,8.32l0.14,9.34c0,1.45,0.43,2.59,1.27,3.4 7232 c1.51,1.45,3.88,1.38,3.91,1.38h4.37c0.03,0,2.4,0.09,3.91-1.35c0.85-0.81,1.28-1.96,1.28-3.42l0.14-9.35 7233 c0-4.82,0.92-7.62,2.74-8.31c1.6-0.61,3.75,0.52,6.21,3.27c1.07,1.2,2.16,3.79,2.16,6.86v6.84 7234 C349.77,286.06,347.39,291.79,335.81,291.79z M320,260.82c-1.31,0-3.03,1.13-4.94,3.26c-0.98,1.09-2.03,3.6-2.03,6.53v6.84 7235 c0,11.49,5.38,13.84,13.46,13.84h9.31c11.17,0,13.46-5.53,13.46-13.84v-6.84c0-2.93-1.05-5.44-2.03-6.53 7236 c-2.28-2.54-4.29-3.66-5.65-3.13c-1.58,0.6-2.42,3.32-2.42,7.85l-0.14,9.35c0,1.6-0.48,2.87-1.44,3.78 7237 c-1.67,1.59-4.16,1.49-4.26,1.49l-4.35,0c-0.1,0-2.59,0.09-4.26-1.51c-0.95-0.91-1.43-2.17-1.43-3.76l-0.14-9.34 7238 c0-4.53-0.84-7.25-2.42-7.85C320.5,260.86,320.26,260.82,320,260.82z"/> 7239 </g> 7240 <path class="fill-white" d="M320.77,202.8h30c35.86,0-16.47-70.32-31.81-80.23h-48.9c-15.35,9.91-67.67,80.16-31.81,80.16l0,0 7241 C217.59,202.73,341.42,202.8,320.77,202.8z"/> 7242 <path class="fill-none stroke-black" style="stroke-miterlimit:10;" d="M257.12,125.01"/> 7243 <path class="fill-none stroke-black" style="stroke-miterlimit:10;" d="M257.8,121.4"/> 7244 <path class="fill-[#BBC4CB]" d="M316.17,130.24c15.35,9.91,55.26,72.56,34.6,72.56l0,0c35.86,0-16.47-70.32-31.81-80.23h-48.9 7245 c-15.35,9.91-67.67,80.16-31.81,80.16l0,0c-20.65,0,19.26-62.58,34.6-72.49H316.17z"/> 7246 <rect x="280.07" y="177.05" class="fill-[#D4D9DD]" width="28.85" height="32.16"/> 7247 <path class="fill-[#BBC4CB]" d="M301.93,179.53c5.86,0,7.02,0.94,7.02,8.06l-0.05,15.28h18.91c0,0-0.28-0.49-2.39-4.19 7248 c-2.11-3.7-1.58-19.6-1.58-19.6c0-18.28-11.06-22.88-21.91-22.88h-14.86c-10.85,0-21.91,4.6-21.91,22.88 7249 c0,0,0.98,14.86-1.07,19.74c-2.05,4.88-2.86,3.78-2.86,3.93c0,0.24,18.86,0.12,18.86,0.12l-0.05-15.28c0-7.12,1.16-8.06,7.02-8.06 7250 H301.93z"/> 7251 <path class="fill-[#1395ED]" d="M278.03,209.77c-56.51,0-54.58,24.14-54.58,53.72l0,0c0,0,6.98-13.49,18.7-19.12 7252 c7.37-3.54,20.56-3.07,35.88-3.07V209.77z"/> 7253 <path class="fill-[#1395ED]" d="M310.98,209.77c56.51,0,54.58,24.14,54.58,53.72l0,0c0,0-6.98-13.49-18.7-19.12 7254 c-7.37-3.54-20.56-3.07-35.88-3.07V209.77z"/> 7255 <path class="fill-none stroke-[#BBC4CB]" style="stroke-miterlimit: 10;" d="M261.77,202.75"/> 7256 <path class="fill-[#E1F3F5]" d="M278.03,238.03c0,3.77,0,3.53,3.74,3.53h25.46c3.74,0,3.74,0.23,3.74-3.53V211.8c0-3.77,0-3.53-3.74-3.53 7257 h-25.46c-3.74,0-3.74-0.23-3.74,3.53V238.03z"/> 7258 </g> 7259</g> 7260</svg> 7261 7262 </button> 7263 <!-- .product__back-to-top --> 7264 </div> 7265
7265<script type="application/json" id="ProductJSON"> 7266 {"id":7759285649573,"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","handle":"wakemakers-rear-lbs-ballast-bag","description":"\u003cp\u003eOur exclusive WakeMAKERS UniversalFIT Rear Locker Ballast Bags are making a splash in the industry and forever changing how boaters look at ballast bags. The team of product designers and engineers at WakeMAKERS agreed that a 'one-size fits all' approach that other brands are taking isn't good enough. Seeking a better ballast solution than standard sized bags, we developed our series of UniversalFIT ballast bags, designed for specific zones of your boat and offered in incremental sizes to give you better fitment and improved wake performance.\u003c\/p\u003e\u003cp\u003eRanging from 400 to 1,200 lbs. in size, the UniversalFIT Rear Locker bags allow you to choose the dimensions of the bag in 5\" increments. The result is a much better fitting bag for your boat's rear locker, allowing you to fill to capacity and maximize added weight for the best possible wake. WakeMAKERS UniversalFIT ballast bags give you a nearly perfect fit without the expense of building a custom bag.\u003c\/p\u003e\u003cp\u003eAll WakeMAKERS ballast bags come standard with an industry-leading two year warranty. The bags are constructed of a DuraTEK, our proprietary material that is strong, durable, and puncture resistant. Once the material is cut, the bags are RF welded together with 1\" seams to ensure a clean look and watertight seal. There are five 1\" NPT ports on this ballast bag that feature a tapered thread pattern and bottom o-ring for a leak-free seal. The larger port size allows water to flow quicker for faster fill\/drain times. \u003c\/p\u003e\u003cp\u003eIf you are shopping for ballast bags to put in the rear lockers of your v-drive boat, the WakeMAKERS UniversalFIT ballast bags are a no-brainer decision. From the quality craftsmanship to the innovative design, these ballast bags are built to deliver improved wakes behind your boat.\u003c\/p\u003e\u003cp\u003eSold individually as seen here, these bags are also included our WakeMAKERS exclusive \u003ca href=\"https:\/\/www.wakemakers.com\/factory-wakeboard-ballast-upgrades\" title=\"Wakeboard boat ballast upgrade solutions\"\u003eFactory Ballast Upgrades\u003c\/a\u003e that integrate the bags into your boat's factory ballast system for automated filling\/draining. Use the dropdown tool to find available factory ballast upgrades for your year, make, and model boat.\u003c\/p\u003e\u003cp\u003eYou can also use our UniversalFIT Rear Locker ballast bags with a \u003ca href=\"https:\/\/www.wakemakers.com\/wakeboard-ballast-pumps?bag_compatibility=1533\" title=\"Shop for WakeMAKERS compatible portable ballast pumps\"\u003eportable ballast pump\u003c\/a\u003e or integrate them with a \u003ca href=\"https:\/\/www.wakemakers.com\/wakeboard-ballast-systems\" title=\"Shop for WakeMAKERS Complete Ballast Systems\"\u003eWakeMAKERS Complete Ballast System\u003c\/a\u003e for automated filling\/draining of the bags.\u003cbr\u003e\u003c\/p\u003e","published_at":"2024-12-31T00:09:21-08:00","created_at":"2022-05-31T09:09:26-07:00","vendor":"WakeMAKERS","type":"Ballast Bags","tags":["Hero"],"price":16999,"price_min":16999,"price_max":25999,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":41675600920741,"title":"30\"L x 20\"W x 20\"H - 490lbs","option1":"30\"L x 20\"W x 20\"H - 490lbs","option2":null,"option3":null,"sku":"B0079","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 20\"W x 20\"H - 490lbs","public_title":"30\"L x 20\"W x 20\"H - 490lbs","options":["30\"L x 20\"W x 20\"H - 490lbs"],"price":18999,"weight":2667,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675600953509,"title":"45\"L x 25\"W x 20\"H - 910lbs","option1":"45\"L x 25\"W x 20\"H - 910lbs","option2":null,"option3":null,"sku":"B0080","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 25\"W x 20\"H - 910lbs","public_title":"45\"L x 25\"W x 20\"H - 910lbs","options":["45\"L x 25\"W x 20\"H - 910lbs"],"price":24999,"weight":3583,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675600986277,"title":"45\"L x 25\"W x 25\"H - 1,140lbs","option1":"45\"L x 25\"W x 25\"H - 1,140lbs","option2":null,"option3":null,"sku":"B0081","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 25\"W x 25\"H - 1,140lbs","public_title":"45\"L x 25\"W x 25\"H - 1,140lbs","options":["45\"L x 25\"W x 25\"H - 1,140lbs"],"price":25999,"weight":4137,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601019045,"title":"45\"L x 20\"W x 25\"H - 910lbs","option1":"45\"L x 20\"W x 25\"H - 910lbs","option2":null,"option3":null,"sku":"B0082","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 20\"W x 25\"H - 910lbs","public_title":"45\"L x 20\"W x 25\"H - 910lbs","options":["45\"L x 20\"W x 25\"H - 910lbs"],"price":24999,"weight":4064,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}
7266,{"id":41675601051813,"title":"45\"L x 20\"W x 20\"H - 720lbs","option1":"45\"L x 20\"W x 20\"H - 720lbs","option2":null,"option3":null,"sku":"B0083","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 20\"W x 20\"H - 720lbs","public_title":"45\"L x 20\"W x 20\"H - 720lbs","options":["45\"L x 20\"W x 20\"H - 720lbs"],"price":22999,"weight":3379,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601084581,"title":"40\"L x 25\"W x 15\"H - 610lbs","option1":"40\"L x 25\"W x 15\"H - 610lbs","option2":null,"option3":null,"sku":"B0088","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 40\"L x 25\"W x 15\"H - 610lbs","public_title":"40\"L x 25\"W x 15\"H - 610lbs","options":["40\"L x 25\"W x 15\"H - 610lbs"],"price":19999,"weight":2976,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601117349,"title":"40\"L x 20\"W x 20\"H - 640lbs","option1":"40\"L x 20\"W x 20\"H - 640lbs","option2":null,"option3":null,"sku":"B0089","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 40\"L x 20\"W x 20\"H - 640lbs","public_title":"40\"L x 20\"W x 20\"H - 640lbs","options":["40\"L x 20\"W x 20\"H - 640lbs"],"price":19999,"weight":2957,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601150117,"title":"40\"L x 25\"W x 20\"H - 820lbs","option1":"40\"L x 25\"W x 20\"H - 820lbs","option2":null,"option3":null,"sku":"B0090","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 40\"L x 25\"W x 20\"H - 820lbs","public_title":"40\"L x 25\"W x 20\"H - 820lbs","options":["40\"L x 25\"W x 20\"H - 820lbs"],"price":23999,"weight":3198,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601182885,"title":"35\"L x 25\"W x 15\"H - 540lbs","option1":"35\"L x 25\"W x 15\"H - 540lbs","option2":null,"option3":null,"sku":"B0091","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 25\"W x 15\"H - 540lbs","public_title":"35\"L x 25\"W x 15\"H - 540lbs","options":["35\"L x 25\"W x 15\"H - 540lbs"],"price":18999,"weight":2622,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601215653,"title":"50\"L x 25\"W x 15\"H - 740lbs","option1":"50\"L x 25\"W x 15\"H - 740lbs","option2":null,"option3":null,"sku":"B0092","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 50\"L x 25\"W x 15\"H - 740lbs","public_title":"50\"L x 25\"W x 15\"H - 740lbs","options":["50\"L x 25\"W x 15\"H - 740lbs"],"price":22999,"weight":4064,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601248421,"title":"50\"L x 25\"W x 25\"H - 1,280lbs","option1":"50\"L x 25\"W x 25\"H - 1,280lbs","option2":null,"option3":null,"sku":"B0093","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 50\"L x 25\"W x 25\"H - 1,280lbs","public_title":"50\"L x 25\"W x 25\"H - 1,280lbs","options":["50\"L x 25\"W x 25\"H - 1,280lbs"],"price":24999,"weight":3896,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601281189,"title":"30\"L x 25\"W x 15\"H - 460lbs","option1":"30\"L x 25\"W x 15\"H - 460lbs","option2":null,"option3":null,"sku":"B0096","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 25\"W x 15\"H - 460lbs","public_title":"30\"L x 25\"W x 15\"H - 460lbs","options":["30\"L x 25\"W x 15\"H - 460lbs"],"price":17999,"weight":4064,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601313957,"title":"35\"L x 20\"W x 15\"H - 430lbs","option1":"35\"L x 20\"W x 15\"H - 430lbs","option2":null,"option3":null,"sku":"B0110","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 20\"W x 15\"H - 430lbs","public_title":"35\"L x 20\"W x 15\"H - 430lbs","options":["35\"L x 20\"W x 15\"H - 430lbs"],"price":16999,"weight":3116,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601346725,"title":"30\"L x 25\"W x 25\"H - 765lbs","option1":"30\"L x 25\"W x 25\"H - 765lbs","option2":null,"option3":null,"sku":"B0121","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 25\"W x 25\"H - 765lbs","public_title":"30\"L x 25\"W x 25\"H - 765lbs","options":["30\"L x 25\"W x 25\"H - 765lbs"],"price":22999,"weight":4064,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601379493,"title":"45\"L x 20\"W x 15\"H - 550lbs","option1":"45\"L x 20\"W x 15\"H - 550lbs","option2":null,"option3":null,"sku":"B0122","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 20\"W x 15\"H - 550lbs","public_title":"45\"L x 20\"W x 15\"H - 550lbs","options":["45\"L x 20\"W x 15\"H - 550lbs"],"price":18999,"weight":4064,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601412261,"title":"35\"L x 25\"W x 20\"H - 710lbs","option1":"35\"L x 25\"W x 20\"H - 710lbs","option2":null,"option3":null,"sku":"B0144","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 25\"W x 20\"H - 710lbs","public_title":"35\"L x 25\"W x 20\"H - 710lbs","options":["35\"L x 25\"W x 20\"H - 710lbs"],"price":22999,"weight":3116,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601445029,"title":"30\"L x 25\"W x 20\"H - 610lbs","option1":"30\"L x 25\"W x 20\"H - 610lbs","option2":null,"option3":null,"sku":"B0145","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 25\"W x 20\"H - 610lbs","public_title":"30\"L x 25\"W x 20\"H - 610lbs","options":["30\"L x 25\"W x 20\"H - 610lbs"],"price":19999,"weight":2953,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601477797,"title":"50\"L x 25\"W x 20\"H - 1,020lbs","option1":"50\"L x 25\"W x 20\"H - 1,020lbs","option2":null,"option3":null,"sku":"B0146","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 50\"L x 25\"W x 20\"H - 1,020lbs","public_title":"50\"L x 25\"W x 20\"H - 1,020lbs","options":["50\"L x 25\"W x 20\"H - 1,020lbs"],"price":25999,"weight":4078,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601510565,"title":"35\"L x 25\"W x 25\"H - 890lbs","option1":"35\"L x 25\"W x 25\"H - 890lbs","option2":null,"option3":null,"sku":"B0147","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 25\"W x 25\"H - 890lbs","public_title":"35\"L x 25\"W x 25\"H - 890lbs","options":["35\"L x 25\"W x 25\"H - 890lbs"],"price":24999,"weight":3524,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349","\/\/www.wakemakers.com\/cdn\/shop\/files\/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349","\/\/www.wakemakers.com\/cdn\/shop\/files\/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349","\/\/www.wakemakers.com\/cdn\/shop\/files\/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349"],"featured_image":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349","options":["Bag Size"],"media":[{"alt":null,"id":30354210390181,"position":1,"preview_image":{"aspect_ratio":0.999,"height":1001,"width":1000,"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"aspect_ratio":0.999,"height":1001,"media_type":"image","src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349","width":1000},{"alt":null,"id":30354210422949,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349","width":1000},{"alt":null,"id":30354210455717,"position":3,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349","width":1000},{"alt":null,"id":30354210488485,"position":4,"preview_image":{"aspect_ratio":0.999,"height":1001,"width":1000,"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349"},"aspect_ratio":0.999,"height":1001,"media_type":"image","src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349","width":1000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eOur exclusive WakeMAKERS UniversalFIT Rear Locker Ballast Bags are making a splash in the industry and forever changing how boaters look at ballast bags. The team of product designers and engineers at WakeMAKERS agreed that a 'one-size fits all' approach that other brands are taking isn't good enough. Seeking a better ballast solution than standard sized bags, we developed our series of UniversalFIT ballast bags, designed for specific zones of your boat and offered in incremental sizes to give you better fitment and improved wake performance.\u003c\/p\u003e\u003cp\u003eRanging from 400 to 1,200 lbs. in size, the UniversalFIT Rear Locker bags allow you to choose the dimensions of the bag in 5\" increments. The result is a much better fitting bag for your boat's rear locker, allowing you to fill to capacity and maximize added weight for the best possible wake. WakeMAKERS UniversalFIT ballast bags give you a nearly perfect fit without the expense of building a custom bag.\u003c\/p\u003e\u003cp\u003eAll WakeMAKERS ballast bags come standard with an industry-leading two year warranty. The bags are constructed of a DuraTEK, our proprietary material that is strong, durable, and puncture resistant. Once the material is cut, the bags are RF welded together with 1\" seams to ensure a clean look and watertight seal. There are five 1\" NPT ports on this ballast bag that feature a tapered thread pattern and bottom o-ring for a leak-free seal. The larger port size allows water to flow quicker for faster fill\/drain times. \u003c\/p\u003e\u003cp\u003eIf you are shopping for ballast bags to put in the rear lockers of your v-drive boat, the WakeMAKERS UniversalFIT ballast bags are a no-brainer decision. From the quality craftsmanship to the innovative design, these ballast bags are built to deliver improved wakes behind your boat.\u003c\/p\u003e\u003cp\u003eSold individually as seen here, these bags are also included our WakeMAKERS exclusive \u003ca href=\"https:\/\/www.wakemakers.com\/factory-wakeboard-ballast-upgrades\" title=\"Wakeboard boat ballast upgrade solutions\"\u003eFactory Ballast Upgrades\u003c\/a\u003e that integrate the bags into your boat's factory ballast system for automated filling\/draining. Use the dropdown tool to find available factory ballast upgrades for your year, make, and model boat.\u003c\/p\u003e\u003cp\u003eYou can also use our UniversalFIT Rear Locker ballast bags with a \u003ca href=\"https:\/\/www.wakemakers.com\/wakeboard-ballast-pumps?bag_compatibility=1533\" title=\"Shop for WakeMAKERS compatible portable ballast pumps\"\u003eportable ballast pump\u003c\/a\u003e or integrate them with a \u003ca href=\"https:\/\/www.wakemakers.com\/wakeboard-ballast-systems\" title=\"Shop for WakeMAKERS Complete Ballast Systems\"\u003eWakeMAKERS Complete Ballast System\u003c\/a\u003e for automated filling\/draining of the bags.\u003cbr\u003e\u003c\/p\u003e"} 7267 </script>
7267 7268 </div> 7269</main-product><s-modal 7270 id="product-warning-proposition-65" 7271 open="[js-open-proposition-warning]" 7272 close="[js-close-proposition-warning]" 7273> 7274 <div class="p-16 relative"> 7275 <button class="w-16 ml-auto absolute right-12 top-12" js-close-proposition-warning> 7276 <svg class="icon icon--close" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"> 7277 7278 <path d="M75.4,64l50.24-50.24a8.06,8.06,0,1,0-11.4-11.4L64,52.6,13.76,2.36a8.06,8.06,0,0,0-11.4,11.4h0L52.6,64,2.36,114.24a8.06,8.06,0,0,0,11.4,11.4h0L64,75.4l50.24,50.24a8.06,8.06,0,0,0,11.4-11.4Z" /> 7279</svg> 7280 </button> 7281 <h3 class="text-blue">WARNING</h3> 7282 <p> 7283 This product can expose you to chemicals including DINP (Diisononyl phthalate) and DIDP (Diisodecyl phthalate) 7284 which are known to the State of California to cause cancer. For more information go to 7285 <a href="https://www.p65warnings.ca.gov">https://www.p65warnings.ca.gov</a>. 7286 </p> 7287 </div> 7288</s-modal> 7289 <s-modal 7290 id="product-features--best-price-promise" 7291 class="product-features__modal w-full overflow-scroll bg-transparent !max-w-[80vh] !max-h-[60vh]" 7292 open="[js-open-feature-best-price-promise]" 7293 close="[js-close-feature-best-price-promise]" 7294 > 7295 <div class="p-32 bg-white relative m-16 desktop:m-0"> 7296 <button class="w-16 h-auto text-black absolute top-16 right-16 z-[3]" js-close-feature-best-price-promise> 7297 <svg class="icon icon--close" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"> 7298 7299 <path d="M75.4,64l50.24-50.24a8.06,8.06,0,1,0-11.4-11.4L64,52.6,13.76,2.36a8.06,8.06,0,0,0-11.4,11.4h0L52.6,64,2.36,114.24a8.06,8.06,0,0,0,11.4,11.4h0L64,75.4l50.24,50.24a8.06,8.06,0,0,0,11.4-11.4Z" /> 7300</svg> 7301 </button> 7302 <div class="product-features__content"> 7303 <h3 class="title">Best Price Promise</h3> 7304 <p> 7305 We want you to receive the best possible deal on your boating products. We match any authorized dealer's 7306 advertised price for the same in-stock item. What does that mean for you? If you find the same product in 7307 stock at another authorized retailer we'll gladly match their price delivered price. Don't forget that on top 7308 of our free fast shipping (on any order over $99 shipped to the Continental US) we also offer our exclusive 7309 lifetime technical support. 7310 </p> 7311 <ul class="list-default"> 7312 <li>WakeMAKERS Best Price Promise is only valid on products sold by factory authorized internet dealers.</li> 7313 <li>WakeMAKERS Best Price Promise is not available with any coupons or individual discounts.</li> 7314 <li> 7315 WakeMAKERS Best Price Promise is based on the delivered price for the item and will factor in shipping and 7316 tax charges. 7317 </li> 7318 <li> 7319 WakeMAKERS Best Price Promise is only available on an exact, in stock product with a displayed internet 7320 price (not price implied after promotions and coupons) 7321 </li> 7322 <li> 7323 WakeMAKERS Best Price Promise is not available to be applied retroactively, so please contact us us BEFORE 7324 placing your order. 7325 </li> 7326 </ul> 7327 <p> 7328 If you have any questions about our price match policy, or if you would like us to match a price for you, 7329 simply <a href="https://www.wakemakers.com/contact-us" title="Contact us">contact us</a>. 7330 </p> 7331 <p> 7332 <span class="subtitle text-14 font-700 uppercase flex justify-start items-center"> 7333 <span class="icon-custom text-[#39f] icon-custom-warning mr-8"></span> 7334 <span class="subtitle-text pb-[1px]">Note</span> 7335 </span> 7336 We have the right to refuse price matching at any time for any reason. In order to qualify for price matching, 7337 the item must be identical make, model, year, and part number, and must be in stock. Price matching excludes 7338 sale items and previously purchased products. 7339 </p> 7340 </div> 7341 </div> 7342 </s-modal> 7343 <s-modal 7344 id="product-features--365-day-returns" 7345 class="product-features__modal w-full overflow-scroll bg-transparent !max-w-[80vh] !max-h-[60vh]" 7346 open="[js-open-feature-product-features--365-day-returns]" 7347 close="[js-close-feature-product-features--365-day-returns]" 7348 > 7349 <div class="p-32 bg-white relative m-16 desktop:m-0"> 7350 <button 7351 class="w-16 h-auto text-black absolute top-16 right-16 z-[3]" 7352 js-close-feature-product-features--365-day-returns 7353 > 7354 <svg class="icon icon--close" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"> 7355 7356 <path d="M75.4,64l50.24-50.24a8.06,8.06,0,1,0-11.4-11.4L64,52.6,13.76,2.36a8.06,8.06,0,0,0-11.4,11.4h0L52.6,64,2.36,114.24a8.06,8.06,0,0,0,11.4,11.4h0L64,75.4l50.24,50.24a8.06,8.06,0,0,0,11.4-11.4Z" /> 7357</svg> 7358 </button> 7359 <div class="product-features__content"> 7360 <h3 class="title">365 Day Returns</h3> 7361 <p>
7362 <span class="subtitle text-14 font-700 uppercase flex justify-start items-center"> 7363 <span class="icon-custom text-[#39f] icon-custom-return mr-8"></span> 7364 <span class="subtitle-text pb-[1px]">365 Day Returns</span> 7365 </span> 7366 Your satisfaction is our biggest priority, which is why we gladly accept returns on any new product for up to 7367 365 days from the date your order ships. Refunds will be issued to the original payment method for up to 30 7368 days from the original ship date. Returns on orders older than 30 days up to 365 days will be processed as 7369 store credit that can be applied to a future order. 7370 </p> 7371 <p> 7372 For the full details of our 365 Return Policy, including any restrictions or exclusions, please visit the 7373 <a 7374 href="https://www.wakemakers.com/pages/customer-service#returns-exchanges" 7375 title="Return & Exchanges Policy" 7376 class="disclaimer text-[#39f]" 7377 >Returns & Exchanges section</a 7378 > 7379 on Customer Service page. 7380 </p> 7381 </div> 7382 </div> 7383 </s-modal> 7384 <s-modal 7385 id="product-features--lifetime-expert-advice-support" 7386 class="product-features__modal w-full overflow-scroll bg-transparent !max-w-[80vh] !max-h-[60vh]" 7387 open="[js-open-feature-lifetime-expert-advice-support]" 7388 close="[js-close-feature-lifetime-expert-advice-support]" 7389 > 7390 <div class="p-32 bg-white relative m-16 desktop:m-0"> 7391 <button 7392 class="w-16 h-auto text-black absolute top-16 right-16 z-[3]" 7393 js-close-feature-lifetime-expert-advice-support 7394 > 7395 <svg class="icon icon--close" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"> 7396 7397 <path d="M75.4,64l50.24-50.24a8.06,8.06,0,1,0-11.4-11.4L64,52.6,13.76,2.36a8.06,8.06,0,0,0-11.4,11.4h0L52.6,64,2.36,114.24a8.06,8.06,0,0,0,11.4,11.4h0L64,75.4l50.24,50.24a8.06,8.06,0,0,0,11.4-11.4Z" /> 7398</svg> 7399 </button> 7400 <div class="product-features__content"> 7401 <h3 class="title">Expert Advice</h3> 7402 <p> 7403 Our product experts bring over 40+ years of real-world experience and knowledge of the boating industry. They 7404 really know the gear, because they spend their free time out on the water with friends and family testing the 7405 products out. 7406 </p> 7407 <p> 7408 <span class="subtitle text-14 font-700 uppercase flex justify-start items-center"> 7409 <span class="icon-custom text-[#39f] icon-custom-phone mr-8"></span> 7410 <span class="subtitle-text pb-[1px]">Product Expert Phone Hours</span> 7411 </span> 7412 <span class="indented pl-32">9am - 5pm (PST) Monday - Friday</span> 7413 </p> 7414 <p> 7415 <span class="subtitle text-14 font-700 uppercase flex justify-start items-center"> 7416 <span class="icon-custom text-[#39f] icon-custom-mail mr-8"></span> 7417 <span class="subtitle-text pb-[1px]">Product Expert Email</span> 7418 </span> 7419 <span class="indented pl-32">We respond to most emails within 24-48 hours.</span> 7420 </p> 7421 <p> 7422 Looking for specific installation guides or instructional videos? Check out our 7423 <a href="/blogs/news" class="text-[#39f] italic">Resource Section</a> for detailed information. 7424 </p> 7425 <p> 7426 <span class="subtitle text-14 font-700 uppercase flex justify-start items-center"> 7427 <span class="subtitle-text">WakeMAKERS Online Shopping Tools</span> 7428 </span> 7429 Our Finder tools are designed to help you pick the perfect product. We've simplified the complex process of 7430 finding the right ballast or prop for you boating style and made it easy by doing the research for you. 7431 </p> 7432 <ul class="indented !list-none"> 7433 <li> 7434 <a 7435 href="/collections/wakemakers-factory-ballast-upgrades" 7436 class="text-14 uppercase flex justify-start items-center" 7437 > 7438 <span class="icon-custom text-[#39f] icon-custom-boat mr-8"></span>
7439 <span class="text-[#39f]">Factory Ballast Upgrade Finder</span> 7440 </a> 7441 </li> 7442 <li> 7443 <a 7444 href="/collections/wakeboard-boat-propeller-finder" 7445 class="text-14 uppercase flex justify-start items-center" 7446 > 7447 <span class="icon-custom text-[#39f] icon-custom-prop mr-8"></span> 7448 <span class="text-[#39f]">Prop Finder</span> 7449 </a> 7450 </li> 7451 <li> 7452 <a href="/collections/wakesurf-boards" class="text-14 uppercase flex justify-start items-center"> 7453 <span class="icon-custom text-[#39f] icon-custom-surf mr-8"></span> 7454 <span class="text-[#39f]">Wakesurf Finder</span> 7455 </a> 7456 </li> 7457 </ul> 7458 <p>Our goal is simple; provide the best product, at the best price, with the best customer support.</p> 7459 </div> 7460 </div> 7461 </s-modal> 7462 <s-modal 7463 id="product-features--free-shipping" 7464 class="product-features__modal w-full overflow-scroll bg-transparent !max-w-[80vh] !max-h-[60vh]" 7465 open="[js-open-feature-free-shipping]" 7466 close="[js-close-feature-free-shipping]" 7467 > 7468 <div class="p-32 bg-white relative m-16 desktop:m-0"> 7469 <button class="w-16 h-auto text-black absolute top-16 right-16 z-[3]" js-close-feature-free-shipping> 7470 <svg class="icon icon--close" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"> 7471 7472 <path d="M75.4,64l50.24-50.24a8.06,8.06,0,1,0-11.4-11.4L64,52.6,13.76,2.36a8.06,8.06,0,0,0-11.4,11.4h0L52.6,64,2.36,114.24a8.06,8.06,0,0,0,11.4,11.4h0L64,75.4l50.24,50.24a8.06,8.06,0,0,0,11.4-11.4Z" /> 7473</svg> 7474 </button> 7475 <div class="product-features__content"> 7476 <h3 class="title">Free Shipping On Orders Over $99</h3> 7477 <p> 7478 The last thing you want to do is pay to have your order shipped when shopping online, which is why we include 7479 free shipping on all orders over $99*. 7480 </p> 7481 <p class="disclaimer text-[#39f] italic"> 7482 *Free shipping offer applies to orders over $99 shipped within the Continental United States and cannot be 7483 combined with other discounts or promotions (including coupon codes). 7484 </p> 7485 </div> 7486 </div> 7487 </s-modal> 7488 7489 7490
7491<script type="application/ld+json"> 7492 { 7493 "@context": "http://schema.org/", 7494 "@type": "Product", 7495 "name": "WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)", 7496 "url": "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag", 7497 "image": "https://www.wakemakers.com/cdn/shop/files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8_grande.jpg?v=1731575349", 7498 "description": "Our exclusive WakeMAKERS UniversalFIT Rear Locker Ballast Bags are making a splash in the industry and forever changing how boaters look at ballast bags. The team of product designers and engineers at WakeMAKERS agreed that a 'one-size fits all' approach that other brands are taking isn't good enough. Seeking a better ballast solution than standard sized bags, we developed our series of UniversalFIT ballast bags, designed for specific zones of your boat and offered in incremental sizes to give you better fitment and improved wake performance.Ranging from 400 to 1,200 lbs. in size, the UniversalFIT Rear Locker bags allow you to choose the dimensions of the bag in 5\" increments. The result is a much better fitting bag for your boat's rear locker, allowing you to fill to capacity and maximize added weight for the best possible wake. WakeMAKERS UniversalFIT ballast bags give you a nearly perfect fit without the expense of building a custom bag.All WakeMAKERS ballast bags come standard with an industry-leading two year warranty. The bags are constructed of a DuraTEK, our proprietary material that is strong, durable, and puncture resistant. Once the material is cut, the bags are RF welded together with 1\" seams to ensure a clean look and watertight seal. There are five 1\" NPT ports on this ballast bag that feature a tapered thread pattern and bottom o-ring for a leak-free seal. The larger port size allows water to flow quicker for faster fill\/drain times. If you are shopping for ballast bags to put in the rear lockers of your v-drive boat, the WakeMAKERS UniversalFIT ballast bags are a no-brainer decision. From the quality craftsmanship to the innovative design, these ballast bags are built to deliver improved wakes behind your boat.Sold individually as seen here, these bags are also included our WakeMAKERS exclusive Factory Ballast Upgrades that integrate the bags into your boat's factory ballast system for automated filling\/draining. Use the dropdown tool to find available factory ballast upgrades for your year, make, and model boat.You can also use our UniversalFIT Rear Locker ballast bags with a portable ballast pump or integrate them with a WakeMAKERS Complete Ballast System for automated filling\/draining of the bags.", 7499 "gtin12": "", 7500 "brand": { 7501 "@type": "Brand", 7502 "name": "WakeMAKERS" 7503 }, 7504 7505 "aggregateRating": { 7506 "@type": "AggregateRating", 7507 "ratingValue": "4.6", 7508 "ratingCount": "23" 7509 }, 7510 7511 "offers": [{ 7512 "@type" : "Offer","sku": "B0079", 7513 "availability" : "http://schema.org/InStock", 7514 7515 "price" : 189.99, 7516 "priceCurrency" : "USD", 7517 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675600920741", 7518 "priceValidUntil": "2027-09-25" 7519 }, 7520{ 7521 "@type" : "Offer","sku": "B0080", 7522 "availability" : "http://schema.org/InStock", 7523 7524 "price" : 249.99, 7525 "priceCurrency" : "USD", 7526 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675600953509", 7527 "priceValidUntil": "2027-09-25" 7528 }, 7529{ 7530 "@type" : "Offer","sku": "B0081", 7531 "availability" : "http://schema.org/InStock", 7532 7533 "price" : 259.99, 7534 "priceCurrency" : "USD", 7535 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675600986277", 7536 "priceValidUntil": "2027-09-25" 7537 }, 7538{ 7539 "@type" : "Offer","sku": "B0082", 7540 "availability" : "http://schema.org/InStock", 7541 7542 "price" : 249.99, 7543 "priceCurrency" : "USD", 7544 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601019045", 7545 "priceValidUntil": "2027-09-25" 7546 }, 7547{ 7548 "@type" : "Offer","sku": "B0083", 7549 "availability" : "http://schema.org/InStock", 7550 7551 "price" : 229.99, 7552 "priceCurrency" : "USD", 7553 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601051813", 7554 "priceValidUntil": "2027-09-25" 7555 }, 7556{ 7557 "@type" : "Offer","sku": "B0088", 7558 "availability" : "http://schema.org/InStock", 7559 7560 "price" : 199.99, 7561 "priceCurrency" : "USD", 7562 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601084581", 7563 "priceValidUntil": "2027-09-25" 7564 }, 7565{ 7566 "@type" : "Offer","sku": "B0089", 7567 "availability" : "http://schema.org/InStock", 7568 7569 "price" : 199.99, 7570 "priceCurrency" : "USD", 7571 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601117349", 7572 "priceValidUntil": "2027-09-25" 7573 }, 7574{ 7575 "@type" : "Offer","sku": "B0090", 7576 "availability" : "http://schema.org/InStock", 7577 7578 "price" : 239.99, 7579 "priceCurrency" : "USD", 7580 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601150117", 7581 "priceValidUntil": "2027-09-25" 7582 }, 7583{ 7584 "@type" : "Offer","sku": "B0091", 7585 "availability" : "http://schema.org/InStock", 7586 7587 "price" : 189.99, 7588 "priceCurrency" : "USD", 7589 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601182885", 7590 "priceValidUntil": "2027-09-25" 7591 }, 7592{ 7593 "@type" : "Offer","sku": "B0092", 7594 "availability" : "http://schema.org/InStock", 7595 7596 "price" : 229.99, 7597 "priceCurrency" : "USD", 7598 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601215653", 7599 "priceValidUntil": "2027-09-25" 7600 }, 7601{ 7602 "@type" : "Offer","sku": "B0093", 7603 "availability" : "http://schema.org/InStock", 7604 7605 "price" : 249.99, 7606 "priceCurrency" : "USD", 7607 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601248421", 7608 "priceValidUntil": "2027-09-25" 7609 }, 7610{ 7611 "@type" : "Offer","sku": "B0096", 7612 "availability" : "http://schema.org/InStock", 7613 7614 "price" : 179.99, 7615 "priceCurrency" : "USD", 7616 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601281189", 7617 "priceValidUntil": "2027-09-25" 7618 }, 7619{ 7620 "@type" : "Offer","sku": "B0110", 7621 "availability" : "http://schema.org/InStock", 7622 7623 "price" : 169.99, 7624 "priceCurrency" : "USD", 7625 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601313957", 7626 "priceValidUntil": "2027-09-25" 7627 }, 7628{ 7629 "@type" : "Offer","sku": "B0121", 7630 "availability" : "http://schema.org/InStock", 7631 7632 "price" : 229.99, 7633 "priceCurrency" : "USD", 7634 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601346725", 7635 "priceValidUntil": "2027-09-25" 7636 }, 7637{ 7638 "@type" : "Offer","sku": "B0122", 7639 "availability" : "http://schema.org/InStock", 7640 7641 "price" : 189.99, 7642 "priceCurrency" : "USD", 7643 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601379493", 7644 "priceValidUntil": "2027-09-25" 7645 }, 7646{ 7647 "@type" : "Offer","sku": "B0144", 7648 "availability" : "http://schema.org/InStock", 7649 7650 "price" : 229.99, 7651 "priceCurrency" : "USD", 7652 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601412261", 7653 "priceValidUntil": "2027-09-25" 7654 }, 7655{ 7656 "@type" : "Offer","sku": "B0145", 7657 "availability" : "http://schema.org/InStock", 7658 7659 "price" : 199.99, 7660 "priceCurrency" : "USD", 7661 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601445029", 7662 "priceValidUntil": "2027-09-25" 7663 }, 7664{ 7665 "@type" : "Offer","sku": "B0146", 7666 "availability" : "http://schema.org/InStock", 7667 7668 "price" : 259.99, 7669 "priceCurrency" : "USD", 7670 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601477797", 7671 "priceValidUntil": "2027-09-25" 7672 }, 7673{ 7674 "@type" : "Offer","sku": "B0147", 7675 "availability" : "http://schema.org/InStock", 7676 7677 "price" : 249.99, 7678 "priceCurrency" : "USD", 7679 "url" : "https:\/\/www.wakemakers.com\/products\/wakemakers-rear-lbs-ballast-bag?variant=41675601510565", 7680 "priceValidUntil": "2027-09-25" 7681 } 7682] 7683 } 7684</script>
7684 7685 7686 7687</section><section id="shopify-section-template--21893123571877__16576020719375aa6a" class="shopify-section spaced-section"><div class="page-width"><div id="shopify-block-AQmdLSnQ1VDVLT1g0O__e6ffa6f7-0ee9-4736-b3ae-2d38c2e241a4" class="shopify-block shopify-app-block"> 7688 <div 7689 data-rebuy-id="45551" 7690 data-rebuy-shopify-product-ids="7759285649573" 7691 > 7692 </div> 7693 7694 7695</div> 7696<div id="shopify-block-AK3czZlJSMnVGemlsO__4578b95d-b45f-414b-8639-970c6553b7dc" class="shopify-block shopify-app-block"> 7697 <div 7698 data-rebuy-id="38302" 7699 data-rebuy-shopify-product-ids="7759285649573" 7700 > 7701 </div> 7702 7703 7704</div> 7705</div> 7706 7707 7708</section><section id="shopify-section-template--21893123571877__174069776374f8a2f5" class="shopify-section spaced-section"><div class=""></div> 7709 7710 7711</section> 7712 <noscript class="endOfLayoutContentX" type="text/mark"></noscript> 7713 </main> 7714 7715 <footer class="site-footer"> 7716 <div class="site-footer__main-container bg-gray-dark"> 7717 <section class="site-footer__main text-white p-16 w-full max-w-[1140px] mx-auto tabletl:grid tabletl:grid-cols-[1fr,375px] tabletl:grid-rows-[auto,1fr] tabletl:gap-16 tabletl:py-32"> 7718 <nav class="site-footer__nav landscape-all:grid landscape-all:grid-cols-3 landscape-all:gap-16 tabletp:grid tabletp:grid-cols-3 tabletp:row-span-2 tabletp:gap-16"> 7719 7720 <div class="site-footer-nav__group flex flex-col justify-center items-center mb-32 self-start landscape-all:items-start tabletp:items-start tabletl:mb-0"> 7721 <span class="site-footer-nav__header text-blue mb-16 font-300">ABOUT US</span> 7722 7723 <a href="/pages/about-us" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Who we are</a> 7724 7725 <a href="https://www.wakemakers.com/blogs/resources/tagged/buyers-guide" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Buyer's Guides</a> 7726 7727 <a href="/pages/brands" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Shop by Brand</a> 7728 7729 <a href="/blogs/project-boat/2004-malibu-wakesetter-vlx" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Project Boat</a> 7730 7731 <a href="/pages/careers" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Careers</a> 7732 7733 </div> 7734 7735 <div class="site-footer-nav__group flex flex-col justify-center items-center mb-32 self-start landscape-all:items-start tabletp:items-start tabletl:mb-0"> 7736 <span class="site-footer-nav__header text-blue mb-16 font-300">CUSTOMER SERVICE</span> 7737 7738 <a href="/pages/customer-service" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Customer Service</a> 7739 7740 <a href="/pages/discounts-coupon-codes" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Discounts, Promotions, Coupons</a> 7741 7742 <a href="/apps/parcelpanel" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Order Status</a> 7743 7744 <a href="https://www.wakemakers.com/pages/customer-service#returns-exchanges" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Returns</a> 7745 7746 <a href="/products/gift-certificate-dep" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Gift Cards</a> 7747 7748 </div> 7749 7750 <div class="site-footer-nav__group flex flex-col justify-center items-center mb-32 self-start landscape-all:items-start tabletp:items-start tabletl:mb-0"> 7751 <span class="site-footer-nav__header text-blue mb-16 font-300">CONTACT US</span> 7752 7753 <a href="https://support.wakemakers.com/hc/en-us/requests/new" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >[email protected]</a> 7754 7755 <a href="#" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >(888) 338-6085</a> 7756 7757 <a href="/contact-us" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" ><span class="text-green">Get Help</span></a> 7758 7759 <a href="/pages/about-us" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Bend, OR</a> 7760 7761 <a href="https://order.wakemakers.com/customer/account/login/" class="site-footer-nav__link font-300 mb-12 focus:underline desktop:hover:underline" >Dealer Portal</a> 7762 7763 </div> 7764 7765 </nav> 7766 <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="relative text-center text-white mb-32 tabletl:mb-0"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 7767 7768<input type="hidden" name="contact[tags]" value="newsletter"> 7769 <div class="site-footer-signup__container relative w-full max-w-[375px] mx-auto"> 7770 <label for="NewsletterFormEmail--footer" class="visually-hidden">Email</label> 7771 <input 7772 id="NewsletterFormEmail--footer" 7773 class="bg-black pl-12 py-16 pr-72 w-full focus:bg-white focus:text-black transition-colors duration-200" 7774 type="email" 7775 name="contact[email]" 7776 value="" 7777 aria-required="true" 7778 autocorrect="off" 7779 autocomplete="email" 7780 7781 placeholder="Sign up for deals and news" 7782 required 7783 > 7784 <button class="bg-blue text-white w-[60px] h-full flex items-center justify-center absolute right-0 top-0" type="submit" name="commit" id="NewletterFormSubscribe--footer">></button> 7785 </div> 7786 7787 </form> 7788 <div class="flex flex-col items-end justify-start"> 7789 <nav class="site-footer__socials grid grid-cols-[repeat(4,44px)] gap-8 justify-center tabletl:ju
7789stify-end"> 7790 <a href="https://www.facebook.com/wakemakers" target="_blank" rel="noopener noreferrer" class="site-footer__social block w-[44px] h-[44px] p-12 bg-black text-gray-light text-[0px] text-center focus:text-blue desktop:hover:text-blue" title="Facebook" aria-label="Facebook"><svg class="icon icon--facebook" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"> 7791 7792 <path d="M215.8 85H264V3.6C255.7 2.5 227.1 0 193.8 0 124.3 0 76.7 42.4 76.7 120.3V192H0v91h76.7v229h94V283h73.6l11.7-91h-85.3v-62.7c0-26.3 7.3-44.3 45.1-44.3z" /> 7793</svg></a> 7794 <a href="https://twitter.com/wakemakers" target="_blank" rel="noopener noreferrer" class="site-footer__social block w-[44px] h-[44px] p-12 bg-black text-gray-light text-[0px] text-center focus:text-blue desktop:hover:text-blue" title="Twitter" aria-label="Twitter"><svg class="icon icon--twitter" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"> 7795 7796 <path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" /> 7797</svg></a> 7798 <a href="https://www.instagram.com/wakemakers/" target="_blank" rel="noopener noreferrer" class="site-footer__social block w-[44px] h-[44px] p-12 bg-black text-gray-light text-[0px] text-center focus:text-blue desktop:hover:text-blue" title="Instagram" aria-label="Instagram"><svg class="icon icon--instagram" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"> 7799 7800 <path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z" /> 7801</svg></a> 7802 <a href="https://www.youtube.com/c/Wakemakers" target="_blank" rel="noopener noreferrer" class="site-footer__social block w-[44px] h-[44px] p-12 bg-black text-gray-light text-[0px] text-center focus:text-blue desktop:hover:text-blue" title="YouTube" aria-label="YouTube"><svg class="icon icon--youtube" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"> 7803 7804 <path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/> 7805</svg></a> 7806 </nav> 7807 <a href="http://www.shopperapproved.com/reviews/WakeMAKERS.com/" class="shopperlink site-footer-nav__link font-300 mt-16 focus:underline desktop:hover:underline"> 7808 <img src="//www.shopperapproved.com/seals/6613-r.gif" style="border: 0" alt="Customer Reviews" oncontextmenu="var d = new Date();
7809 alert('Copying Prohibited by Law - This image and all included logos are copyrighted by Shopper Approved \251 '+d.getFullYear()+'.'); 7810 return false;" /> 7811 </a> 7812
7812<script type="text/javascript">(function() { 7813 var js = window.document.createElement("script"); 7814 js.src = '//www.shopperapproved.com/seals/certificate.js'; js.type = "text/javascript"; 7815 document.getElementsByTagName("head")[0].appendChild(js); })(); 7816 </script>
7816 7817 7818 </div> 7819 </section> 7820 </div> 7821 <div class="site-footer__copyright-container bg-black"> 7822 <section class="site-footer__copyright text-gray-light py-24 px-16 text-14 w-full max-w-[1140px] mx-auto landscape-all:flex landscape-all:items-center landscape-all:justify-between tabletp:flex tabletp:items-center tabletp:justify-between"> 7823 <span class="site-footer-copyright block text-center font-300"> 7824 © 2026 WakeMAKERS.com 7825 </span> 7826 7827 <nav class="site-footer-copyright__nav w-[100%] flex items-center justify-center mt-16 landscape-all:w-auto landscape-all:mt-0 tabletp:w-auto tabletp:mt-0"> 7828 7829 <a href="/pages/terms-of-service" class="site-footer-copyright__link px-8 focus:underline desktop:hover:underline">TERMS</a> 7830 7831 <a href="/pages/privacy-policy" class="site-footer-copyright__link px-8 focus:underline desktop:hover:underline">LEGAL</a> 7832 7833 </nav> 7834 7835 </section> 7836 </div> 7837</footer> 7838 7839 <ul hidden> 7840 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 7841 </ul> 7842 7843
7843<script> 7844 window.routes = { 7845 cart_add_url: '/cart/add', 7846 cart_change_url: '/cart/change', 7847 cart_update_url: '/cart/update', 7848 predictive_search_url: '/search/suggest' 7849 }; 7850 </script>
7850 7851 7852 <!-- BEGIN: Gleam.io Smart Offer --> 7853
7853<script async src="https://js.gleam.io/oi-IfJz11ip.js"></script>
7853 7854 <!-- END: Gleam.io Smart Offer --> 7855 <!-- Start of WakeMAKERS Zendesk Widget script -->
7856<script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=636f3ace-1ce7-48bb-b7a3-309ae7432892"> </script>
7856 7857<!-- End of wakeshops Zendesk Widget script --> 7858
7859<script> 7860 zE('webWidget:on', 'chat:status', function (status) { 7861 if (!status) { 7862 return; 7863 } 7864 7865 document.querySelectorAll('[js-contact-btn]').forEach(function(el) { 7866 if (! el.dataset.origText) { 7867 el.dataset.origText = el.innerHTML; 7868 } 7869 7870 if (status === 'online') { 7871 if (el.dataset.onlineText) { 7872 el.innerHTML = el.dataset.onlineText; 7873 } 7874 el.classList.add('btn--green'); 7875 el.classList.remove('btn--gray'); 7876 7877 el.addEventListener('click', function(event) { 7878 zE('webWidget', 'open'); 7879 event.preventDefault(); 7880 }); 7881 } else { 7882 el.innerHTML = el.dataset.origText; 7883 el.classList.add('btn--gray'); 7884 el.classList.remove('btn--green'); 7885 el.stopObserving('click'); 7886 } 7887 }); 7888 }) 7889</script>
7889 7890 7891
7891<script defer src="//www.wakemakers.com/cdn/shop/t/336/assets/vendor.js?v=28876009874998393401788387214"></script>
7891 7892
7892<script defer src="//www.wakemakers.com/cdn/shop/t/336/assets/theme.js?v=176150862818859460731790316796"></script>
7892 7893 <!---------Shopper Approved------->
7894<script type="text/javascript"> 7895 function saLoadScript(src) { var js = window.document.createElement('script'); 7896 js.src = src; js.type = 'text/javascript'; document.getElementsByTagName("head")[0].appendChild(js); } 7897 saLoadScript('//www.shopperapproved.com/widgets/group2.0/6613.js'); 7898</script>
7898 7899<style> 7900 .group-stars .ind_cnt { 7901 font-size: 12px; 7902 display: initial; 7903 width: 100%; 7904 text-align: center; 7905 margin: 0 auto; 7906 margin-left: 10px; 7907} 7908 #merchant_page #sa_sort { 7909 display: inline; 7910 width: inherit; 7911 height: 32px; 7912 font-size: 12px; 7913} 7914 #product_page #sa_sort { 7915 display: inline; 7916 width: inherit; 7917 height: 16px; 7918 font-size: 13px; 7919} 7920 </style> 7921<!-----------End Shopper Approved------> 7922 7923
7923<script src="https://a.klaviyo.com/media/js/onsite/onsite.js"></script>
7923 7924
7924<script> 7925 var klaviyo = klaviyo || []; 7926 klaviyo.init({ 7927 account: "qBA9D8", 7928 platform: "shopify" 7929 }); 7930 klaviyo.enable("backinstock",{ 7931 trigger: { 7932 product_page_text: "Notify Me When Available", 7933 product_page_class: "relative btn btn--orange w-full uppercase text-[20px] h-[60px] mt-16 flex justify-center items-center", 7934 product_page_text_align: "center", 7935 product_page_margin: "15px 0px", 7936 replace_anchor: true 7937 }, 7938 modal: { 7939 headline: "{product_name}", 7940 body_content: "Register to receive a notification when this item comes back in stock.", 7941 email_field_label: "Email", 7942 button_label: "Notify me when available", 7943 subscription_success_label: "You're in! We'll let you know when it's back.", 7944 footer_content: '', 7945 additional_styles: "@import url('https://fonts.googleapis.com/css?family=Helvetica+Neue');", 7946 drop_background_color: "#000", 7947 background_color: "#fff", 7948 text_color: "#222", 7949 button_text_color: "#fff", 7950 button_background_color: "#39f", 7951 close_button_color: "#ccc", 7952 error_background_color: "#fcd6d7", 7953 error_text_color: "#C72E2F", 7954 success_background_color: "#d3efcd", 7955 success_text_color: "#1B9500" 7956 } 7957 }); 7958 </script>
7958 7959 7960 7961 7962<!-- "snippets/swymSnippet.liquid" was not rendered, the associated app was uninstalled --> 7963
7964<script> 7965 document.addEventListener('fg-gifts:updated', async () => { 7966 CartAPI.update(); 7967 }); 7968</script>
7968 7969 7970 7971<div id="shopify-block-AcFN1M1hVN1RCVTB6Y__5057006142565981955" class="shopify-block shopify-app-block">
7971<script type="text/javascript"> 7972 const promoConfig = { 7973 fontSize: '16', 7974 logoType: 'logo', 7975 logoColor: 'blue', 7976 pageType: 'cart', 7977 textAlign: 'left' 7978 }; 7979 const drawerAppData = '{"theme_app_configuration"=>Metafields::MetafieldDrop}'; 7980 const drawerPromoAppConfig = (drawerAppData == '{}') ? {} : JSON.parse('{"region_public_keys":{"us":"NWY0L4OUY56YERNZ","ca":""}}') ; 7981 const drawerHasRegionKeys = drawerPromoAppConfig.hasOwnProperty('region_public_keys'); 7982 let drawerPublicKey = null; 7983 if (Shopify.country == 'US') 7984 drawerPublicKey = (drawerHasRegionKeys) ? drawerPromoAppConfig.region_public_keys.us : null; 7985 if (Shopify.country == 'CA') 7986 drawerPublicKey = (drawerHasRegionKeys) ? drawerPromoAppConfig.region_public_keys.ca : null; 7987 const affirmPublicApiKeyCartDrawer = ('') ? '' : drawerPublicKey; 7988 const customDrawerTotalSelector = ('') ? '' : null; 7989 const customAdjacentElementSelector = ('') ? '' : null; 7990 const customAddToCartSelector = ('') ? '' : null; 7991 const customCartDrawerSelector = ('') ? '' : null; 7992 const publicKeyEntered = ('') ? '' : null; 7993</script>
7993 7994 7995</div><div id="shopify-block-ASThiUjVaeFB0dEwrT__9482890028372019417" class="shopify-block shopify-app-block camouflage-hide-oos-global">
7995<script> 7996 // This function modifies the href of the given DOM element, by adding the availability filter to the href. 7997 var CAMOUFLAGE_SCRIPT = window.CAMOUFLAGE_SCRIPT || { 7998 update_collection_links: "true" === "true", 7999 t_collection_link_selectors: ``, 8000 m_collection_link_selectors: ``, 8001 theme_name: "seed", 8002 quickview_enabled: "no" === "yes" ? true: false, 8003 col_swatch_action: "", // hide, strike-through 8004 col_swatch_option_to_hide: "", 8005 col_handle: "", 8006 } 8007 8008</script>
8008 8009
8010<script src="https://cdn.shopify.com/extensions/01a08a21-5062-724b-a3f6-05b9f88f68da/3.12.3/assets/scripts.min.js" defer></script>
8010 8011 8012</div><div id="shopify-block-AWXFqMDFtQTRGTUxNT__914574027208035924" class="shopify-block shopify-app-block camouflage-hide-oos"> 8013 8014 8015 8016<style data-script_priority="low"> 8017 8018 8019 8020 8021 .camouflage-grid-disable, input.camouflage-grid-disable + label { 8022 display: none; 8023 } 8024 8025</style> 8026 8027 8028<!-- BEGIN app snippet: camouflage-data -->
8028<script> 8029 (function() { 8030 if(!window.loaded_script_hoos_obj) { 8031 window.loaded_script_hoos_obj = {}; 8032 } 8033 window.hoosObj = null; // resetting value for quick views 8034 8035 window.hide_oos_enabled = "codecrux hide oos"; 8036 8037 window.current_date_time = "Friday, September 25, 2026 1:19 am -0700";const codecrux_settings = {"selector_type":"select","theme_name":"seed","other_theme_name":"Seed","unavailable_class":"","hide_oos_variants":true,"strikethrough_oos_variants":false,"variant_action":"hide","hide_oos_check_qty":false,"quickview_enabled":"no","featured_product_enabled":"yes","product_grid_enabled":"","load_available_script":"","hsoi":"c","integrates_with":"","update_collection_links":"no","collection_link_delay":0,"hide_if_no_image":"","hide_if_price_zero":"","custom_js":"{\n \"hide_oos_query_selectors\": {\n \"selector_type\": \"select\",\n \"input_selector\": \"select\",\n \"field_selector\": \"product-options select\",\n \"mainContainer\": \"body\"\n },\n \"hide_oos_extras\": {\n \"disabled\": false,\n \"make_a_selection_required\": true\n }\n}","hide_unavailable":"yes","more_scripts_v2":"yes","hide_in_safari":"hide","version":"v2","always_hide_show_field":"variant_title","include_only_hide_show_field":""} || {}; 8038 const requested_page = { "design_mode": "false", "host": "www.wakemakers.com", "locale": "en", "origin": "https://www.wakemakers.com", "page_type": "product", "path": "/products/wakemakers-rear-lbs-ballast-bag", "visual_preview_mode": "false"} 8039 8040 8041 const hide_variants_options_arr = ''; 8042 let hide_oos_extras = window.hide_oos_extras || null; 8043 let hide_oos_query_selectors = window.hide_oos_query_selectors || null; 8044 let custom_js = {}; // custom_js is custom_json configuration 8045 if (codecrux_settings && codecrux_settings.custom_js) { 8046 custom_js = codecrux_settings.custom_js || ''; 8047 if (typeof custom_js === "string") { 8048 try { 8049 custom_js = JSON.parse(custom_js) || {}; 8050 } catch(error) { 8051 console.error(error); 8052 } 8053 } 8054 8055 // giving priority to window object 8056 if (typeof custom_js === "object") { 8057 custom_js.hide_oos_extras = window.hide_oos_extras || custom_js.hide_oos_extras; 8058 custom_js.hide_oos_query_selectors = window.hide_oos_query_selectors || custom_js.hide_oos_query_selectors; 8059 custom_js.product_grid = window.hide_oos_product_grid || custom_js.product_grid; 8060 custom_js.quick_view = window.hide_oos_quick_view || custom_js.quick_view; 8061 custom_js.featured_product = window.hide_oos_featured_product || custom_js.featured_product; 8062 custom_js.image_hide = window.hide_oos_image_hide || custom_js.image_hide; 8063 } 8064 } 8065 8066 window.hide_oos_t_settings = {"theme_name":"other","selector_type":"select","hide_oos_variants":true,"strikethrough_oos_variants":false,"other_file_name":"","reverse_options":false} || {}; 8067 8068 delete codecrux_settings.custom_css; 8069 delete codecrux_settings.custom_js; 8070 delete codecrux_settings.global_custom_css; 8071 8072 window.hide_oos_m_settings = { 8073 ...codecrux_settings, 8074 variant_action: "hide" 8075 } 8076 8077 window.camouflage_global_config = { 8078 hide_oos_m_settings: hide_oos_m_settings, 8079 hide_oos_t_settings: hide_oos_t_settings, 8080 hide_variants_options_arr: hide_variants_options_arr, 8081 key: "", 8082 request: requested_page, 8083 logLevel: "fakeLog", 8084 current_country: "US", 8085 money_format: "${{amount}}", 8086 collection_id: null, 8087 collection_handle: null, 8088 collection_product_count: null, 8089 collection_products: [], 8090 ...custom_js 8091 }; 8092 8093 console.fakeLog = () => {}; 8094 8095 8096})(); 8097 8098</script>
8098 8099 8100
8101<script id="camouflage_customer_tags"> 8102 window.camouflageCustomerTags = window.camouflageCustomerTags || [];</script>
8102<!-- END app snippet --><!-- BEGIN app snippet: hide-oos-variants-snippet --><style> 8103 option.hide-oos-disable { 8104 color: grey; 8105 } 8106 .price--sold-out .price__badge--sold-out, .hide-oos-disable, .hide_oos--parent-hidden, variant-swatch-king ul li.swatch-item-unavailable { 8107 display: none !important; 8108 } 8109 8110 . { 8111 display: none !important; 8112 } 8113 8114 8115 .pf-option-swatches { 8116 gap: 0!important; 8117 } 8118 .pf-option-swatches .pf-vs-label { 8119 margin-right: 16px; 8120 } 8121 8122 label.swatches__form--label img.swatches__sold-out--image.crossed-out { 8123 display: none; 8124 } 8125 .variant-wrapper fieldset.variant-input-wrap label.disabled.hide-oos-disable { 8126 color: inherit; 8127 } 8128 .variant-wrapper fieldset.variant-input-wrap label.disabled.hide-oos-disable:after { 8129 display: none; 8130 } 8131 variant-picker color-swatches-picker div:has( > label.hide-oos-disable), variant-picker fieldset label.variant-option__button-label:has( > .hide-oos-disable) { 8132 display: none !important; 8133 } 8134 8135 8136 8137 .camouflage-unavailable { 8138 display: none !important; 8139 } 8140 8141 8142 8143 8144 .camouflage-special-swatch-A, .camouflage-special-swatch-B { 8145 position: relative; 8146 text-decoration: none !important; 8147 overflow: hidden; 8148 } 8149 .camouflage-special-swatch-B.hide-oos-disable, .camouflage-special-swatch-A.hide-oos-disable, .camouflage-special-swatch-A.hide-oos-disable > *, .camouflage-special-swatch-B.hide-oos-disable > * { 8150 text-decoration: none !important; 8151 } 8152 .camouflage-special-swatch-A:after, .camouflage-special-swatch-B:before { 8153 content: ""; 8154 display: block; 8155 position: absolute; 8156 top: 0; 8157 left: 0; 8158 width: 100%; 8159 height: 100%; 8160 background: linear-gradient(to bottom right,transparent calc(50% - 1px),#000 50%,transparent calc(50% + 1px)) no-repeat; 8161 opacity: 1; 8162 } 8163 8164 8165 .HorizontalList__Item label.camouflage-special-swatch-A { 8166 overflow: initial; 8167 } 8168 li.HorizontalList__Item.camouflage-special-swatch-A, li.HorizontalList__Item label.camouflage-special-swatch-A { 8169 overflow: initial; 8170 } 8171 li.HorizontalList__Item.camouflage-special-swatch-A:after { 8172 content: initial; 8173 } 8174 8175</style>
8175<script src="https://cdn.shopify.com/extensions/01a08a21-5062-724b-a3f6-05b9f88f68da/3.12.3/assets/2ab921a.js" class="camouflage-script" data-producthandle="wakemakers-rear-lbs-ballast-bag" data-productid="7759285649573" defer data-script_priority="low"></script>
8175 8176
8177<script class="camouflage-script" data-producthandle="wakemakers-rear-lbs-ballast-bag" data-productid="7759285649573"> 8178 (function() { 8179 const camouflage_product = {"id":7759285649573,"title":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes)","handle":"wakemakers-rear-lbs-ballast-bag","description":"\u003cp\u003eOur exclusive WakeMAKERS UniversalFIT Rear Locker Ballast Bags are making a splash in the industry and forever changing how boaters look at ballast bags. The team of product designers and engineers at WakeMAKERS agreed that a 'one-size fits all' approach that other brands are taking isn't good enough. Seeking a better ballast solution than standard sized bags, we developed our series of UniversalFIT ballast bags, designed for specific zones of your boat and offered in incremental sizes to give you better fitment and improved wake performance.\u003c\/p\u003e\u003cp\u003eRanging from 400 to 1,200 lbs. in size, the UniversalFIT Rear Locker bags allow you to choose the dimensions of the bag in 5\" increments. The result is a much better fitting bag for your boat's rear locker, allowing you to fill to capacity and maximize added weight for the best possible wake. WakeMAKERS UniversalFIT ballast bags give you a nearly perfect fit without the expense of building a custom bag.\u003c\/p\u003e\u003cp\u003eAll WakeMAKERS ballast bags come standard with an industry-leading two year warranty. The bags are constructed of a DuraTEK, our proprietary material that is strong, durable, and puncture resistant. Once the material is cut, the bags are RF welded together with 1\" seams to ensure a clean look and watertight seal. There are five 1\" NPT ports on this ballast bag that feature a tapered thread pattern and bottom o-ring for a leak-free seal. The larger port size allows water to flow quicker for faster fill\/drain times. \u003c\/p\u003e\u003cp\u003eIf you are shopping for ballast bags to put in the rear lockers of your v-drive boat, the WakeMAKERS UniversalFIT ballast bags are a no-brainer decision. From the quality craftsmanship to the innovative design, these ballast bags are built to deliver improved wakes behind your boat.\u003c\/p\u003e\u003cp\u003eSold individually as seen here, these bags are also included our WakeMAKERS exclusive \u003ca href=\"https:\/\/www.wakemakers.com\/factory-wakeboard-ballast-upgrades\" title=\"Wakeboard boat ballast upgrade solutions\"\u003eFactory Ballast Upgrades\u003c\/a\u003e that integrate the bags into your boat's factory ballast system for automated filling\/draining. Use the dropdown tool to find available factory ballast upgrades for your year, make, and model boat.\u003c\/p\u003e\u003cp\u003eYou can also use our UniversalFIT Rear Locker ballast bags with a \u003ca href=\"https:\/\/www.wakemakers.com\/wakeboard-ballast-pumps?bag_compatibility=1533\" title=\"Shop for WakeMAKERS compatible portable ballast pumps\"\u003eportable ballast pump\u003c\/a\u003e or integrate them with a \u003ca href=\"https:\/\/www.wakemakers.com\/wakeboard-ballast-systems\" title=\"Shop for WakeMAKERS Complete Ballast Systems\"\u003eWakeMAKERS Complete Ballast System\u003c\/a\u003e for automated filling\/draining of the bags.\u003cbr\u003e\u003c\/p\u003e","published_at":"2024-12-31T00:09:21-08:00","created_at":"2022-05-31T09:09:26-07:00","vendor":"WakeMAKERS","type":"Ballast Bags","tags":["Hero"],"price":16999,"price_min":16999,"price_max":25999,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":41675600920741,"title":"30\"L x 20\"W x 20\"H - 490lbs","option1":"30\"L x 20\"W x 20\"H - 490lbs","option2":null,"option3":null,"sku":"B0079","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 20\"W x 20\"H - 490lbs","public_title":"30\"L x 20\"W x 20\"H - 490lbs","options":["30\"L x 20\"W x 20\"H - 490lbs"],"price":18999,"weight":2667,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675600953509,"title":"45\"L x 25\"W x 20\"H - 910lbs","option1":"45\"L x 25\"W x 20\"H - 910lbs","option2":null,"option3":null,"sku":"B0080","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 25\"W x 20\"H - 910lbs","public_title":"45\"L x 25\"W x 20\"H - 910lbs","options":["45\"L x 25\"W x 20\"H - 910lbs"],"price":24999,"weight":3583,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675600986277,"title":"45\"L x 25\"W x 25\"H - 1,140lbs","option1":"45\"L x 25\"W x 25\"H - 1,140lbs","option2":null,"option3":null,"sku":"B0081","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 25\"W x 25\"H - 1,140lbs","public_title":"45\"L x 25\"W x 25\"H - 1,140lbs","options":["45\"L x 25\"W x 25\"H - 1,140lbs"],"price":25999,"weight":4137,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601019045,"title":"45\"L x 20\"W x 25\"H - 910lbs","option1":"45\"L x 20\"W x 25\"H - 910lbs","option2":null,"option3":null,"sku":"B0082","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 20\"W x 25\"H - 910lbs","public_title":"45\"L x 20\"W x 25\"H - 910lbs","options":["45\"L x 20\"W x 25\"H - 910lbs"],"price":24999,"weight":4064,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}
8179,{"id":41675601051813,"title":"45\"L x 20\"W x 20\"H - 720lbs","option1":"45\"L x 20\"W x 20\"H - 720lbs","option2":null,"option3":null,"sku":"B0083","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 20\"W x 20\"H - 720lbs","public_title":"45\"L x 20\"W x 20\"H - 720lbs","options":["45\"L x 20\"W x 20\"H - 720lbs"],"price":22999,"weight":3379,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601084581,"title":"40\"L x 25\"W x 15\"H - 610lbs","option1":"40\"L x 25\"W x 15\"H - 610lbs","option2":null,"option3":null,"sku":"B0088","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 40\"L x 25\"W x 15\"H - 610lbs","public_title":"40\"L x 25\"W x 15\"H - 610lbs","options":["40\"L x 25\"W x 15\"H - 610lbs"],"price":19999,"weight":2976,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601117349,"title":"40\"L x 20\"W x 20\"H - 640lbs","option1":"40\"L x 20\"W x 20\"H - 640lbs","option2":null,"option3":null,"sku":"B0089","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 40\"L x 20\"W x 20\"H - 640lbs","public_title":"40\"L x 20\"W x 20\"H - 640lbs","options":["40\"L x 20\"W x 20\"H - 640lbs"],"price":19999,"weight":2957,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601150117,"title":"40\"L x 25\"W x 20\"H - 820lbs","option1":"40\"L x 25\"W x 20\"H - 820lbs","option2":null,"option3":null,"sku":"B0090","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 40\"L x 25\"W x 20\"H - 820lbs","public_title":"40\"L x 25\"W x 20\"H - 820lbs","options":["40\"L x 25\"W x 20\"H - 820lbs"],"price":23999,"weight":3198,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601182885,"title":"35\"L x 25\"W x 15\"H - 540lbs","option1":"35\"L x 25\"W x 15\"H - 540lbs","option2":null,"option3":null,"sku":"B0091","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 25\"W x 15\"H - 540lbs","public_title":"35\"L x 25\"W x 15\"H - 540lbs","options":["35\"L x 25\"W x 15\"H - 540lbs"],"price":18999,"weight":2622,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601215653,"title":"50\"L x 25\"W x 15\"H - 740lbs","option1":"50\"L x 25\"W x 15\"H - 740lbs","option2":null,"option3":null,"sku":"B0092","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 50\"L x 25\"W x 15\"H - 740lbs","public_title":"50\"L x 25\"W x 15\"H - 740lbs","options":["50\"L x 25\"W x 15\"H - 740lbs"],"price":22999,"weight":4064,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601248421,"title":"50\"L x 25\"W x 25\"H - 1,280lbs","option1":"50\"L x 25\"W x 25\"H - 1,280lbs","option2":null,"option3":null,"sku":"B0093","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 50\"L x 25\"W x 25\"H - 1,280lbs","public_title":"50\"L x 25\"W x 25\"H - 1,280lbs","options":["50\"L x 25\"W x 25\"H - 1,280lbs"],"price":24999,"weight":3896,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601281189,"title":"30\"L x 25\"W x 15\"H - 460lbs","option1":"30\"L x 25\"W x 15\"H - 460lbs","option2":null,"option3":null,"sku":"B0096","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 25\"W x 15\"H - 460lbs","public_title":"30\"L x 25\"W x 15\"H - 460lbs","options":["30\"L x 25\"W x 15\"H - 460lbs"],"price":17999,"weight":4064,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601313957,"title":"35\"L x 20\"W x 15\"H - 430lbs","option1":"35\"L x 20\"W x 15\"H - 430lbs","option2":null,"option3":null,"sku":"B0110","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 20\"W x 15\"H - 430lbs","public_title":"35\"L x 20\"W x 15\"H - 430lbs","options":["35\"L x 20\"W x 15\"H - 430lbs"],"price":16999,"weight":3116,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601346725,"title":"30\"L x 25\"W x 25\"H - 765lbs","option1":"30\"L x 25\"W x 25\"H - 765lbs","option2":null,"option3":null,"sku":"B0121","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 25\"W x 25\"H - 765lbs","public_title":"30\"L x 25\"W x 25\"H - 765lbs","options":["30\"L x 25\"W x 25\"H - 765lbs"],"price":22999,"weight":4064,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601379493,"title":"45\"L x 20\"W x 15\"H - 550lbs","option1":"45\"L x 20\"W x 15\"H - 550lbs","option2":null,"option3":null,"sku":"B0122","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 45\"L x 20\"W x 15\"H - 550lbs","public_title":"45\"L x 20\"W x 15\"H - 550lbs","options":["45\"L x 20\"W x 15\"H - 550lbs"],"price":18999,"weight":4064,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601412261,"title":"35\"L x 25\"W x 20\"H - 710lbs","option1":"35\"L x 25\"W x 20\"H - 710lbs","option2":null,"option3":null,"sku":"B0144","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 25\"W x 20\"H - 710lbs","public_title":"35\"L x 25\"W x 20\"H - 710lbs","options":["35\"L x 25\"W x 20\"H - 710lbs"],"price":22999,"weight":3116,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601445029,"title":"30\"L x 25\"W x 20\"H - 610lbs","option1":"30\"L x 25\"W x 20\"H - 610lbs","option2":null,"option3":null,"sku":"B0145","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 30\"L x 25\"W x 20\"H - 610lbs","public_title":"30\"L x 25\"W x 20\"H - 610lbs","options":["30\"L x 25\"W x 20\"H - 610lbs"],"price":19999,"weight":2953,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601477797,"title":"50\"L x 25\"W x 20\"H - 1,020lbs","option1":"50\"L x 25\"W x 20\"H - 1,020lbs","option2":null,"option3":null,"sku":"B0146","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 50\"L x 25\"W x 20\"H - 1,020lbs","public_title":"50\"L x 25\"W x 20\"H - 1,020lbs","options":["50\"L x 25\"W x 20\"H - 1,020lbs"],"price":25999,"weight":4078,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":41675601510565,"title":"35\"L x 25\"W x 25\"H - 890lbs","option1":"35\"L x 25\"W x 25\"H - 890lbs","option2":null,"option3":null,"sku":"B0147","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"WakeMAKERS UniversalFIT Rear Locker Ballast Bags (Multiple Sizes) - 35\"L x 25\"W x 25\"H - 890lbs","public_title":"35\"L x 25\"W x 25\"H - 890lbs","options":["35\"L x 25\"W x 25\"H - 890lbs"],"price":24999,"weight":3524,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349","\/\/www.wakemakers.com\/cdn\/shop\/files\/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349","\/\/www.wakemakers.com\/cdn\/shop\/files\/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349","\/\/www.wakemakers.com\/cdn\/shop\/files\/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349"],"featured_image":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349","options":["Bag Size"],"media":[{"alt":null,"id":30354210390181,"position":1,"preview_image":{"aspect_ratio":0.999,"height":1001,"width":1000,"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349"},"aspect_ratio":0.999,"height":1001,"media_type":"image","src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg?v=1731575349","width":1000},{"alt":null,"id":30354210422949,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg?v=1731575349","width":1000},{"alt":null,"id":30354210455717,"position":3,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg?v=1731575349","width":1000},{"alt":null,"id":30354210488485,"position":4,"preview_image":{"aspect_ratio":0.999,"height":1001,"width":1000,"src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349"},"aspect_ratio":0.999,"height":1001,"media_type":"image","src":"\/\/www.wakemakers.com\/cdn\/shop\/files\/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg?v=1731575349","width":1000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eOur exclusive WakeMAKERS UniversalFIT Rear Locker Ballast Bags are making a splash in the industry and forever changing how boaters look at ballast bags. The team of product designers and engineers at WakeMAKERS agreed that a 'one-size fits all' approach that other brands are taking isn't good enough. Seeking a better ballast solution than standard sized bags, we developed our series of UniversalFIT ballast bags, designed for specific zones of your boat and offered in incremental sizes to give you better fitment and improved wake performance.\u003c\/p\u003e\u003cp\u003eRanging from 400 to 1,200 lbs. in size, the UniversalFIT Rear Locker bags allow you to choose the dimensions of the bag in 5\" increments. The result is a much better fitting bag for your boat's rear locker, allowing you to fill to capacity and maximize added weight for the best possible wake. WakeMAKERS UniversalFIT ballast bags give you a nearly perfect fit without the expense of building a custom bag.\u003c\/p\u003e\u003cp\u003eAll WakeMAKERS ballast bags come standard with an industry-leading two year warranty. The bags are constructed of a DuraTEK, our proprietary material that is strong, durable, and puncture resistant. Once the material is cut, the bags are RF welded together with 1\" seams to ensure a clean look and watertight seal. There are five 1\" NPT ports on this ballast bag that feature a tapered thread pattern and bottom o-ring for a leak-free seal. The larger port size allows water to flow quicker for faster fill\/drain times. \u003c\/p\u003e\u003cp\u003eIf you are shopping for ballast bags to put in the rear lockers of your v-drive boat, the WakeMAKERS UniversalFIT ballast bags are a no-brainer decision. From the quality craftsmanship to the innovative design, these ballast bags are built to deliver improved wakes behind your boat.\u003c\/p\u003e\u003cp\u003eSold individually as seen here, these bags are also included our WakeMAKERS exclusive \u003ca href=\"https:\/\/www.wakemakers.com\/factory-wakeboard-ballast-upgrades\" title=\"Wakeboard boat ballast upgrade solutions\"\u003eFactory Ballast Upgrades\u003c\/a\u003e that integrate the bags into your boat's factory ballast system for automated filling\/draining. Use the dropdown tool to find available factory ballast upgrades for your year, make, and model boat.\u003c\/p\u003e\u003cp\u003eYou can also use our UniversalFIT Rear Locker ballast bags with a \u003ca href=\"https:\/\/www.wakemakers.com\/wakeboard-ballast-pumps?bag_compatibility=1533\" title=\"Shop for WakeMAKERS compatible portable ballast pumps\"\u003eportable ballast pump\u003c\/a\u003e or integrate them with a \u003ca href=\"https:\/\/www.wakemakers.com\/wakeboard-ballast-systems\" title=\"Shop for WakeMAKERS Complete Ballast Systems\"\u003eWakeMAKERS Complete Ballast System\u003c\/a\u003e for automated filling\/draining of the bags.\u003cbr\u003e\u003c\/p\u003e"}; 8180 if (!camouflage_product) return; 8181 8182 const product_metafields = {} || {}; 8183 const options_with_values = [];options_with_values.push({ 8184 name: "Bag Size", 8185 values: [{name: "30\"L x 20\"W x 20\"H - 490lbs", id: 788604616869, available: true, swatch_color: null, swatch_link: null },{name: "45\"L x 25\"W x 20\"H - 910lbs", id: 117971189925, available: true, swatch_color: null, swatch_link: null },{name: "45\"L x 25\"W x 25\"H - 1,140lbs", id: 788604649637, available: true, swatch_color: null, swatch_link: null },{name: "45\"L x 20\"W x 25\"H - 910lbs", id: 788604682405, available: true, swatch_color: null, swatch_link: null },{name: "45\"L x 20\"W x 20\"H - 720lbs", id: 788604715173, available: true, swatch_color: null, swatch_link: null },{name: "40\"L x 25\"W x 15\"H - 610lbs", id: 788604747941, available: true, swatch_color: null, swatch_link: null },{name: "40\"L x 20\"W x 20\"H - 640lbs", id: 788604780709, available: true, swatch_color: null, swatch_link: null },{name: "40\"L x 25\"W x 20\"H - 820lbs", id: 788604813477, available: true, swatch_color: null, swatch_link: null },{name: "35\"L x 25\"W x 15\"H - 540lbs", id: 788604846245, available: true, swatch_color: null, swatch_link: null },{name: "50\"L x 25\"W x 15\"H - 740lbs", id: 788604879013, available: true, swatch_color: null, swatch_link: null },{name: "50\"L x 25\"W x 25\"H - 1,280lbs", id: 788604911781, available: true, swatch_color: null, swatch_link: null },{name: "30\"L x 25\"W x 15\"H - 460lbs", id: 788604944549, available: true, swatch_co
8185lor: null, swatch_link: null },{name: "35\"L x 20\"W x 15\"H - 430lbs", id: 788604977317, available: true, swatch_color: null, swatch_link: null },{name: "30\"L x 25\"W x 25\"H - 765lbs", id: 788605010085, available: true, swatch_color: null, swatch_link: null },{name: "45\"L x 20\"W x 15\"H - 550lbs", id: 788605042853, available: true, swatch_color: null, swatch_link: null },{name: "35\"L x 25\"W x 20\"H - 710lbs", id: 788605075621, available: true, swatch_color: null, swatch_link: null },{name: "30\"L x 25\"W x 20\"H - 610lbs", id: 788605108389, available: true, swatch_color: null, swatch_link: null },{name: "50\"L x 25\"W x 20\"H - 1,020lbs", id: 788605141157, available: true, swatch_color: null, swatch_link: null },{name: "35\"L x 25\"W x 25\"H - 890lbs", id: 788605173925, available: true, swatch_color: null, swatch_link: null },], 8186 id: null 8187 });const product_metafields_app = {} || {}; 8188 const final_metafields = { ...product_metafields, ...product_metafields_app }; 8189 const selected_or_first_available_variant_id = "41675600920741"; 8190 camouflage_product.product_images_with_id = [{"image_id": "38230099361957","media_id": "","url": "files/media_66e73eb8-1fa4-4b44-80bf-257379ba87a8.jpg"},{"image_id": "38230099394725","media_id": "","url": "files/media_5ae53fe7-bb7a-400e-90fa-f8808321d7f0.jpg"},{"image_id": "38230099427493","media_id": "","url": "files/media_359cf2c8-823d-426a-a282-8aac94ceb420.jpg"},{"image_id": "38230099460261","media_id": "","url": "files/media_d169f32a-a6fb-45ca-b844-c8ac49c8d783.jpg"},] 8191 camouflage_product.hide_oos_variant_qty = [5,22,4,0,5,0,7,17,0,6,0,21,2,3,0,5,0,0,0,]; 8192 const hide_oos_variant_qty = camouflage_product.hide_oos_variant_qty || []; 8193 camouflage_product.options_with_values = options_with_values; 8194 camouflage_product.variants_count = 19; 8195 8196 const variant_camouflage_metafields = {}; 8197 const variant_info = {};variant_camouflage_metafields[41675600920741] = {}; 8198 variant_info[41675600920741] = {inventory_policy: "continue"};variant_camouflage_metafields[41675600953509] = {}; 8199 variant_info[41675600953509] = {inventory_policy: "continue"};variant_camouflage_metafields[41675600986277] = {}; 8200 variant_info[41675600986277] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601019045] = {}; 8201 variant_info[41675601019045] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601051813] = {}; 8202 variant_info[41675601051813] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601084581] = {}; 8203 variant_info[41675601084581] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601117349] = {}; 8204 variant_info[41675601117349] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601150117] = {}; 8205 variant_info[41675601150117] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601182885] = {}; 8206 variant_info[41675601182885] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601215653] = {}; 8207 variant_info[41675601215653] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601248421] = {}; 8208 variant_info[41675601248421] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601281189] = {}; 8209 variant_info[41675601281189] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601313957] = {}; 8210 variant_info[41675601313957] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601346725] = {}; 8211 variant_info[41675601346725] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601379493] = {}; 8212 variant_info[41675601379493] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601412261] = {}; 8213 variant_info[41675601412261] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601445029] = {}; 8214 variant_info[41675601445029] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601477797] = {}; 8215 variant_info[41675601477797] = {inventory_policy: "continue"};variant_camouflage_metafields[41675601510565] = {}; 8216 variant_info[41675601510565] = {inventory_policy: "continue"};camouflage_product.variant_camouflage_metafields = variant_camouflage_metafields; 8217 if (variant_camouflage_metafields) { 8218 for (let camo_id = 0; camo_id < camouflage_product.variants.length; camo_id++) { 8219 const camo_variant = camouflage_product.variants[camo_id]; 8220 if (camo_variant.id in variant_camouflage_metafields) { 8221 camouflage_product.variants[camo_id] = {...camo_variant, ...variant_camouflage_metafields[camo_variant.id]}; 8222 } 8223 } 8224 } 8225 for (let camo_id = 0; camo_id < camouflage_product.variants.length; camo_id++) { 8226 const camo_variant = camouflage_product.variants[camo_id]; 8227 if (camo_variant.id in variant_info) { 8228 camouflage_product.variants[camo_id].inventory_policy = variant_info[camo_variant.id].inventory_policy; 8229 } 8230 } 8231 8232 // backward compatibility 8233 if (window.hide_oos_t_settings) { 8234 window.hide_oos_t_settings.product = camouflage_product; 8235 } 8236 8237 window.camouflage_global_config.variant_action = "hide" || window.camouflage_global_config.variant_action; 8238 8239 // keep this above camouflageParams 8240 try { 8241 8242 } catch(error) { 8243 console.error(error); 8244 console.error('error custom_js2'); 8245 } 8246 8247 const camouflageParams = { 8248 ...window.camouflage_global_config, 8249 product: camouflage_product, 8250 selected_or_first_available_variant_id: selected_or_first_available_variant_id, 8251 hide_oos_variant_qty: hide_oos_variant_qty, // not required if variant.inventory_quantity is set 8252 ...final_metafields // sets always_hide, always_show, schedule_hide and always_hide_show_field 8253 }; 8254 8255 const camouflageParamsLoaded = new CustomEvent('hoos:camouflage_params_built', { 8256 detail: camouflageParams 8257 }); 8258 document.dispatchEvent(camouflageParamsLoaded); 8259 8260 const runCamouflageInit = () => { 8261 const currentPageUrl = new URL(window.location.href); 8262 if (currentPageUrl.searchParams.get('skip_camouflage') == 'true') { 8263 window.skip_camouflage = true; 8264 } 8265 if (window.skip_camouflage === true) { 8266 return; 8267 } 8268 window.initCamouflage(camouflageParams); 8269 window.hide_oos_initiated = true; 8270 } 8271 8272 if (typeof window.initCamouflage === "function") { 8273 runCamouflageInit(camouflageParams); 8274 } else { 8275 document.addEventListener('hoos:scriptloaded', (event) => { 8276 if (window.CAMOUFLAGEE.script_executed_via_event) return; 8277 if(event.detail && event.detail.currentTime && window.loaded_script_hoos_obj) { 8278 if(window.loaded_script_hoos_obj[event.detail.currentTime]) { 8279 return; 8280 } 8281 window.loaded_script_hoos_obj[event.detail.currentTime] = 1; 8282 } 8283 runCamouflageInit(camouflageParams); 8284 window.CAMOUFLAGEE.script_executed_via_event = true; 8285 }); 8286 } 8287 })(); 8288</script>
8288 8289<!-- END app snippet --><!-- BEGIN app snippet: more-scripts-v2 -->
8289<script src="https://cdn.shopify.com/extensions/01a08a21-5062-724b-a3f6-05b9f88f68da/3.12.3/assets/scripts-v2.min.js" defer></script>
8289<!-- END app snippet --><!-- BEGIN app snippet: swatch-snippet --><!-- END app snippet --> 8290
8290<script id="camouflage-custom-js-global"> 8291 const tickInStockFilter = (availabilityInput) => { 8292 if (availabilityInput && (!availabilityInput.value || availabilityInput.value === 'none')) { 8293 const inStockOption = availabilityInput.querySelector('option[value="1"]'); 8294 if (inStockOption) { 8295 inStockOption.selected = true; 8296 } 8297 availabilityInput.value = '1'; 8298 const inputEvent = new Event('input', { bubbles: true }); 8299 availabilityInput.dispatchEvent(inputEvent); 8300 const changeEvent = new Event('change', { bubbles: true }); 8301 availabilityInput.dispatchEvent(changeEvent); 8302 8303 availabilityInput.classList.add('camouflage-filter-checked'); 8304 const hoosEvent = new CustomEvent('hoos:collection_filter_checked', { 8305 detail: availabilityInput, 8306 }); 8307 document.dispatchEvent(hoosEvent); 8308 } 8309}; 8310 8311function setInStockFilterOnLoad() { 8312 document.addEventListener("DOMContentLoaded", () => { 8313 document.querySelectorAll('select[name="filter.v.availability"]').forEach(availabilityInput => { 8314 if (availabilityInput && !availabilityInput.classList.contains('camouflage-filter-checked')) { 8315 tickInStockFilter(availabilityInput); 8316 } 8317 }) 8318 }); 8319 8320 let lapsedTime = 0; 8321 let intervalDuration = 100; 8322 const intervalTimer = setInterval(() => { 8323 lapsedTime += intervalDuration; 8324 document.querySelectorAll('select[name="filter.v.availability"]').forEach(availabilityInput => { 8325 if (availabilityInput && !availabilityInput.classList.contains('camouflage-filter-checked')) { 8326 tickInStockFilter(availabilityInput); 8327 } 8328 }); 8329 if (lapsedTime >= 4000) { 8330 clearInterval(intervalTimer); 8331 } 8332 }, intervalDuration); 8333} 8334 8335document.addEventListener('hoos:script2loaded', () => { 8336 if (typeof window.CAMOUFLAGEE.setInStockFilterOnLoad === "function") { 8337 if (!window.location.search.includes('filter.v.availability')) { 8338 // setInStockFilterOnLoad(); 8339 } 8340 } 8341}); 8342 </script>
8342 8343 8344 8345 8346 8347 8348 8349</div>
8349<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
8349 8350</body> 8351 </html> 8352
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.