PageSourceSearch

https://www.k-deer.com/blogs/news

html k-deer.com collected 2026-10-03 21:06:10 UTC 289,897 bytes, 5,474 lines download raw bytes

1
2
3 <!DOCTYPE html>
4<html lang="en"> <head> 
5<!--Content in content_for_header -->
6<!--LayoutHub-Embed--><link rel="stylesheet" type="text/css" href="data:text/css;base64," media="all">
7<!--LH--><!--/LayoutHub-Embed--><!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 7-8
7
8<script async src="https://www.googletagmanager.com/gtag/js?id=
8UA-66610789-1
vendor: 12 bytes, line 8
8"></script>
9<script>
10  
vendor: 134 bytes, lines 10-14
10window.dataLayer = window.dataLayer || [];
11  function gtag(){dataLayer.push(arguments);}
12  gtag('js', new Date());
13
14  gtag('config', '
14UA-66610789-1
vendor: 4 bytes, line 14
14');
15</script>
15 <meta name="google-site-verification" content="zZmleHnD7lb_oMRTZc95OltAHSBLUH0mmN4F-mBQYic" /> <!-- Global site tag (gtag.js) - Google Ads: 10839608075 -->
vendor: 64 bytes, lines 15-16
15
16<script async src="https://www.googletagmanager.com/gtag/js?id=
16AW-10839608075
vendor: 12 bytes, line 16
16"></script>
17<script>
18  
vendor: 134 bytes, lines 18-22
18window.dataLayer = window.dataLayer || [];
19  function gtag(){dataLayer.push(arguments);}
20  gtag('js', new Date());
21
22  gtag('config', '
22AW-10839608075
vendor: 4 bytes, line 22
22');
23</script>
23 <meta charset="utf-8"> <meta http-equiv="cleartype" content="on"> <meta name="robots" content="index,follow"> <!-- Mobile Specific Metas --> <meta name="HandheldFriendly" content="True"> <meta name="MobileOptimized" content="320"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="theme-color" content="#ffffff"> <title>
24      THE K-DEER BLOG</title> <link rel="preconnect dns-prefetch" href="https://fonts.shopifycdn.com" /> <link rel="preconnect dns-prefetch" href="https://cdn.shopify.com" /> <link rel="preconnect dns-prefetch" href="https://v.shopify.com" /> <link rel="preconnect dns-prefetch" href="https://cdn.shopifycloud.com" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.6/jquery.fancybox.css"> <!-- Stylesheets for Turbo 4.1.5 --> <link href="//www.k-deer.com/cdn/shop/t/179/assets/styles.scss.css?v=125213358974382108351759332019" rel="stylesheet" type="text/css" media="all" /> 
vendor: 4,501 bytes, lines 24-31
24<script>
25      window.lazySizesConfig = window.lazySizesConfig || {};
26
27      lazySizesConfig.expand = 300;
28      lazySizesConfig.loadHidden = false;
29
30      /*! lazysizes - v4.1.4 */
31      !function(a,b){var c=b(a,a.document);a.lazySizes=c,"object"==typeof module&&module.exports&&(module.exports=c)}(window,function(a,b){"use strict";if(b.getElementsByClassName){var c,d,e=b.documentElement,f=a.Date,g=a.HTMLPictureElement,h="addEventListener",i="getAttribute",j=a[h],k=a.setTimeout,l=a.requestAnimationFrame||k,m=a.requestIdleCallback,n=/^picture$/i,o=["load","error","lazyincluded","_lazyloaded"],p={},q=Array.prototype.forEach,r=function(a,b){return p[b]||(p[b]=new RegExp("(\\s|^)"+b+"(\\s|$)")),p[b].test(a[i]("class")||"")&&p[b]},s=function(a,b){r(a,b)||a.setAttribute("class",(a[i]("class")||"").trim()+" "+b)},t=function(a,b){var c;(c=r(a,b))&&a.setAttribute("class",(a[i]("class")||"").replace(c," "))},u=function(a,b,c){var d=c?h:"removeEventListener";c&&u(a,b),o.forEach(function(c){a[d](c,b)})},v=function(a,d,e,f,g){var h=b.createEvent("Event");return e||(e={}),e.instance=c,h.initEvent(d,!f,!g),h.detail=e,a.dispatchEvent(h),h},w=function(b,c){var e;!g&&(e=a.picturefill||d.pf)?(c&&c.src&&!b[i]("srcset")&&b.setAttribute("srcset",c.src),e({reevaluate:!0,elements:[b]})):c&&c.src&&(b.src=c.src)},x=function(a,b){return(getComputedStyle(a,null)||{})[b]},y=function(a,b,c){for(c=c||a.offsetWidth;c<d.minSize&&b&&!a._lazysizesWidth;)c=b.offsetWidth,b=b.parentNode;return c},z=function(){var a,c,d=[],e=[],f=d,g=function(){var b=f;for(f=d.length?e:d,a=!0,c=!1;b.length;)b.shift()();a=!1},h=function(d,e){a&&!e?d.apply(this,arguments):(f.push(d),c||(c=!0,(b.hidden?k:l)(g)))};return h._lsFlush=g,h}(),A=function(a,b){return b?function(){z(a)}:function(){var b=this,c=arguments;z(function(){a.apply(b,c)})}},B=function(a){var b,c=0,e=d.throttleDelay,g=d.ricTimeout,h=function(){b=!1,c=f.now(),a()},i=m&&g>49?function(){m(h,{timeout:g}),g!==d.ricTimeout&&(g=d.ricTimeout)}:A(function(){k(h)},!0);return function(a){var d;(a=a===!0)&&(g=33),b||(b=!0,d=e-(f.now()-c),0>d&&(d=0),a||9>d?i():k(i,d))}},C=function(a){var b,c,d=99,e=function(){b=null,a()},g=function(){var a=f.now()-c;d>a?k(g,d-a):(m||e)(e)};return function(){c=f.now(),b||(b=k(g,d))}};!function(){var b,c={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:!0,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:!0,ricTimeout:0,throttleDelay:125};d=a.lazySizesConfig||a.lazysizesConfig||{};for(b in c)b in d||(d[b]=c[b]);a.lazySizesConfig=d,k(function(){d.init&&F()})}();var D=function(){var g,l,m,o,p,y,D,F,G,H,I,J,K,L,M=/^img$/i,N=/^iframe$/i,O="onscroll"in a&&!/(gle|ing)bot/.test(navigator.userAgent),P=0,Q=0,R=0,S=-1,T=function(a){R--,a&&a.target&&u(a.target,T),(!a||0>R||!a.target)&&(R=0)},U=function(a,c){var d,f=a,g="hidden"==x(b.body,"visibility")||"hidden"!=x(a.parentNode,"visibility")&&"hidden"!=x(a,"visibility");for(F-=c,I+=c,G-=c,H+=c;g&&(f=f.offsetParent)&&f!=b.body&&f!=e;)g=(x(f,"opacity")||1)>0,g&&"visible"!=x(f,"overflow")&&(d=f.getBoundingClientRect(),g=H>d.left&&G<d.right&&I>d.top-1&&F<d.bottom+1);return g},V=function(){var a,f,h,j,k,m,n,p,q,r=c.elements;if((o=d.loadMode)&&8>R&&(a=r.length)){f=0,S++,null==K&&("expand"in d||(d.expand=e.clientHeight>500&&e.clientWidth>500?500:370),J=d.expand,K=J*d.expFactor),K>Q&&1>R&&S>2&&o>2&&!b.hidden?(Q=K,S=0):Q=o>1&&S>1&&6>R?J:P;for(;a>f;f++)if(r[f]&&!r[f]._lazyRace)if(O)if((p=r[f][i]("data-expand"))&&(m=1*p)||(m=Q),q!==m&&(y=innerWidth+m*L,D=innerHeight+m,n=-1*m,q=m),h=r[f].getBoundingClientRect(),(I=h.bottom)>=n&&(F=h.top)<=D&&(H=h.right)>=n*L&&(G=h.left)<=y&&(I||H||G||F)&&(d.loadHidden||"hidden"!=x(r[f],"visibility"))&&(l&&3>R&&!p&&(3>o||4>S)||U(r[f],m))){if(ba(r[f]),k=!0,R>9)break}else!k&&l&&!j&&4>R&&4>S&&o>2&&(g[0]||d.preloadAfterLoad)&&(g[0]||!p&&(I||H||G||F||"auto"!=r[f][i](d.sizesAttr)))&&(j=g[0]||r[f]);else ba(r[f]);j&&!k&&ba(j)}},W=B(V),X=function(a){s(a.target,d.loadedClass),t(a.target,d.loadingClass),u(a.target,Z),v(a.target,"lazyloaded")},Y=A(X),Z=function(a){Y({target:a.target})},$=function(a,b){try{a.contentWindow.location.replace(b)}catch(c){a.src=b}},_=function(a){var b,c=a[i](d.srcsetAttr);(b=d.customMedia[a[i]("data-media")||a[i]("media")])&&a.setAttribute("media",b),c&&a.setAttribute("srcset",c)},aa=A(function(a,b,c,e,f){var g,h,j,l,o,p;
31(o=v(a,"lazybeforeunveil",b)).defaultPrevented||(e&&(c?s(a,d.autosizesClass):a.setAttribute("sizes",e)),h=a[i](d.srcsetAttr),g=a[i](d.srcAttr),f&&(j=a.parentNode,l=j&&n.test(j.nodeName||"")),p=b.firesLoad||"src"in a&&(h||g||l),o={target:a},p&&(u(a,T,!0),clearTimeout(m),m=k(T,2500),s(a,d.loadingClass),u(a,Z,!0)),l&&q.call(j.getElementsByTagName("source"),_),h?a.setAttribute("srcset",h):g&&!l&&(N.test(a.nodeName)?$(a,g):a.src=g),f&&(h||l)&&w(a,{src:g})),a._lazyRace&&delete a._lazyRace,t(a,d.lazyClass),z(function(){(!p||a.complete&&a.naturalWidth>1)&&(p?T(o):R--,X(o))},!0)}),ba=function(a){var b,c=M.test(a.nodeName),e=c&&(a[i](d.sizesAttr)||a[i]("sizes")),f="auto"==e;(!f&&l||!c||!a[i]("src")&&!a.srcset||a.complete||r(a,d.errorClass)||!r(a,d.lazyClass))&&(b=v(a,"lazyunveilread").detail,f&&E.updateElem(a,!0,a.offsetWidth),a._lazyRace=!0,R++,aa(a,b,f,e,c))},ca=function(){if(!l){if(f.now()-p<999)return void k(ca,999);var a=C(function(){d.loadMode=3,W()});l=!0,d.loadMode=3,W(),j("scroll",function(){3==d.loadMode&&(d.loadMode=2),a()},!0)}};return{_:function(){p=f.now(),c.elements=b.getElementsByClassName(d.lazyClass),g=b.getElementsByClassName(d.lazyClass+" "+d.preloadClass),L=d.hFac,j("scroll",W,!0),j("resize",W,!0),a.MutationObserver?new MutationObserver(W).observe(e,{childList:!0,subtree:!0,attributes:!0}):(e[h]("DOMNodeInserted",W,!0),e[h]("DOMAttrModified",W,!0),setInterval(W,999)),j("hashchange",W,!0),["focus","mouseover","click","load","transitionend","animationend","webkitAnimationEnd"].forEach(function(a){b[h](a,W,!0)}),/d$|^c/.test(b.readyState)?ca():(j("load",ca),b[h]("DOMContentLoaded",W),k(ca,2e4)),c.elements.length?(V(),z._lsFlush()):W()},checkElems:W,unveil:ba}}(),E=function(){var a,c=A(function(a,b,c,d){var e,f,g;if(a._lazysizesWidth=d,d+="px",a.setAttribute("sizes",d),n.test(b.nodeName||""))for(e=b.getElementsByTagName("source"),f=0,g=e.length;g>f;f++)e[f].setAttribute("sizes",d);c.detail.dataAttr||w(a,c.detail)}),e=function(a,b,d){var e,f=a.parentNode;f&&(d=y(a,f,d),e=v(a,"lazybeforesizes",{width:d,dataAttr:!!b}),e.defaultPrevented||(d=e.detail.width,d&&d!==a._lazysizesWidth&&c(a,f,e,d)))},f=function(){var b,c=a.length;if(c)for(b=0;c>b;b++)e(a[b])},g=C(f);return{_:function(){a=b.getElementsByClassName(d.autosizesClass),j("resize",g)},checkElems:g,updateElem:e}}(),F=function(){F.i||(F.i=!0,E._(),D._())};return c={cfg:d,autoSizer:E,loader:D,init:F,uP:w,aC:s,rC:t,hC:r,fire:v,gW:y,rAF:z}}});
32
33      /*! lazysizes - v4.1.4 */
34      !function(a,b){var c=function(){b(a.lazySizes),a.removeEventListener("lazyunveilread",c,!0)};b=b.bind(null,a,a.document),"object"==typeof module&&module.exports?b(require("lazysizes")):a.lazySizes?c():a.addEventListener("lazyunveilread",c,!0)}(window,function(a,b,c){"use strict";function d(){this.ratioElems=b.getElementsByClassName("lazyaspectratio"),this._setupEvents(),this.processImages()}if(a.addEventListener){var e,f,g,h=Array.prototype.forEach,i=/^picture$/i,j="data-aspectratio",k="img["+j+"]",l=function(b){return a.matchMedia?(l=function(a){return!a||(matchMedia(a)||{}).matches})(b):a.Modernizr&&Modernizr.mq?!b||Modernizr.mq(b):!b},m=c.aC,n=c.rC,o=c.cfg;d.prototype={_setupEvents:function(){var a=this,c=function(b){b.naturalWidth<36?a.addAspectRatio(b,!0):a.removeAspectRatio(b,!0)},d=function(){a.processImages()};b.addEventListener("load",function(a){a.target.getAttribute&&a.target.getAttribute(j)&&c(a.target)},!0),addEventListener("resize",function(){var b,d=function(){h.call(a.ratioElems,c)};return function(){clearTimeout(b),b=setTimeout(d,99)}}()),b.addEventListener("DOMContentLoaded",d),addEventListener("load",d)},processImages:function(a){var c,d;a||(a=b),c="length"in a&&!a.nodeName?a:a.querySelectorAll(k);for(d=0;d<c.length;d++)c[d].naturalWidth>36?this.removeAspectRatio(c[d]):this.addAspectRatio(c[d])},getSelectedRatio:function(a){var b,c,d,e,f,g=a.parentNode;if(g&&i.test(g.nodeName||""))for(d=g.getElementsByTagName("source"),b=0,c=d.length;c>b;b++)if(e=d[b].getAttribute("data-media")||d[b].getAttribute("media"),o.customMedia[e]&&(e=o.customMedia[e]),l(e)){f=d[b].getAttribute(j);break}return f||a.getAttribute(j)||""},parseRatio:function(){var a=/^\s*([+\d\.]+)(\s*[\/x]\s*([+\d\.]+))?\s*$/,b={};return function(c){var d;return!b[c]&&(d=c.match(a))&&(d[3]?b[c]=d[1]/d[3]:b[c]=1*d[1]),b[c]}}(),addAspectRatio:function(b,c){var d,e=b.offsetWidth,f=b.offsetHeight;return c||m(b,"lazyaspectratio"),36>e&&0>=f?void((e||f&&a.console)&&console.log("Define width or height of image, so we can calculate the other dimension")):(d=this.getSelectedRatio(b),d=this.parseRatio(d),void(d&&(e?b.style.height=e/d+"px":b.style.width=f*d+"px")))},removeAspectRatio:function(a){n(a,"lazyaspectratio"),a.style.height="",a.style.width="",a.removeAttribute(j)}},f=function(){g=a.jQuery||a.Zepto||a.shoestring||a.$,g&&g.fn&&!g.fn.imageRatio&&g.fn.filter&&g.fn.add&&g.fn.find?g.fn.imageRatio=function(){return e.processImages(this.find(k).add(this.filter(k))),this}:g=!1},f(),setTimeout(f),e=new d,a.imageRatio=e,"object"==typeof module&&module.exports?module.exports=e:"function"==typeof define&&define.amd&&define(e)}});
35
36        /*! lazysizes - v4.1.5 */
37        !function(a,b){var c=function(){b(a.lazySizes),a.removeEventListener("lazyunveilread",c,!0)};b=b.bind(null,a,a.document),"object"==typeof module&&module.exports?b(require("lazysizes")):a.lazySizes?c():a.addEventListener("lazyunveilread",c,!0)}(window,function(a,b,c){"use strict";if(a.addEventListener){var d=/\s+/g,e=/\s*\|\s+|\s+\|\s*/g,f=/^(.+?)(?:\s+\[\s*(.+?)\s*\])(?:\s+\[\s*(.+?)\s*\])?$/,g=/^\s*\(*\s*type\s*:\s*(.+?)\s*\)*\s*$/,h=/\(|\)|'/,i={contain:1,cover:1},j=function(a){var b=c.gW(a,a.parentNode);return(!a._lazysizesWidth||b>a._lazysizesWidth)&&(a._lazysizesWidth=b),a._lazysizesWidth},k=function(a){var b;return b=(getComputedStyle(a)||{getPropertyValue:function(){}}).getPropertyValue("background-size"),!i[b]&&i[a.style.backgroundSize]&&(b=a.style.backgroundSize),b},l=function(a,b){if(b){var c=b.match(g);c&&c[1]?a.setAttribute("type",c[1]):a.setAttribute("media",lazySizesConfig.customMedia[b]||b)}},m=function(a,c,g){var h=b.createElement("picture"),i=c.getAttribute(lazySizesConfig.sizesAttr),j=c.getAttribute("data-ratio"),k=c.getAttribute("data-optimumx");c._lazybgset&&c._lazybgset.parentNode==c&&c.removeChild(c._lazybgset),Object.defineProperty(g,"_lazybgset",{value:c,writable:!0}),Object.defineProperty(c,"_lazybgset",{value:h,writable:!0}),a=a.replace(d," ").split(e),h.style.display="none",g.className=lazySizesConfig.lazyClass,1!=a.length||i||(i="auto"),a.forEach(function(a){var c,d=b.createElement("source");i&&"auto"!=i&&d.setAttribute("sizes",i),(c=a.match(f))?(d.setAttribute(lazySizesConfig.srcsetAttr,c[1]),l(d,c[2]),l(d,c[3])):d.setAttribute(lazySizesConfig.srcsetAttr,a),h.appendChild(d)}),i&&(g.setAttribute(lazySizesConfig.sizesAttr,i),c.removeAttribute(lazySizesConfig.sizesAttr),c.removeAttribute("sizes")),k&&g.setAttribute("data-optimumx",k),j&&g.setAttribute("data-ratio",j),h.appendChild(g),c.appendChild(h)}
37,n=function(a){if(a.target._lazybgset){var b=a.target,d=b._lazybgset,e=b.currentSrc||b.src;if(e){var f=c.fire(d,"bgsetproxy",{src:e,useSrc:h.test(e)?JSON.stringify(e):e});f.defaultPrevented||(d.style.backgroundImage="url("+f.detail.useSrc+")")}b._lazybgsetLoading&&(c.fire(d,"_lazyloaded",{},!1,!0),delete b._lazybgsetLoading)}};addEventListener("lazybeforeunveil",function(a){var d,e,f;!a.defaultPrevented&&(d=a.target.getAttribute("data-bgset"))&&(f=a.target,e=b.createElement("img"),e.alt="",e._lazybgsetLoading=!0,a.detail.firesLoad=!0,m(d,f,e),setTimeout(function(){c.loader.unveil(e),c.rAF(function(){c.fire(e,"_lazyloaded",{},!0,!0),e.complete&&n({target:e})})}))}),b.addEventListener("load",n,!0),a.addEventListener("lazybeforesizes",function(a){if(a.detail.instance==c&&a.target._lazybgset&&a.detail.dataAttr){var b=a.target._lazybgset,d=k(b);i[d]&&(a.target._lazysizesParentFit=d,c.rAF(function(){a.target.setAttribute("data-parent-fit",d),a.target._lazysizesParentFit&&delete a.target._lazysizesParentFit}))}},!0),b.documentElement.addEventListener("lazybeforesizes",function(a){!a.defaultPrevented&&a.target._lazybgset&&a.detail.instance==c&&(a.detail.width=j(a.target._lazybgset))})}});</script>
37 <link rel="shortcut icon" type="image/x-icon" href="//www.k-deer.com/cdn/shop/files/k-circle-4_180x180.png?v=1639674522"> <link rel="apple-touch-icon" href="//www.k-deer.com/cdn/shop/files/k-circle-4_180x180.png?v=1639674522"/> <link rel="apple-touch-icon" sizes="57x57" href="//www.k-deer.com/cdn/shop/files/k-circle-4_57x57.png?v=1639674522"/> <link rel="apple-touch-icon" sizes="60x60" href="//www.k-deer.com/cdn/shop/files/k-circle-4_60x60.png?v=1639674522"/> <link rel="apple-touch-icon" sizes="72x72" href="//www.k-deer.com/cdn/shop/files/k-circle-4_72x72.png?v=1639674522"/> <link rel="apple-touch-icon" sizes="76x76" href="//www.k-deer.com/cdn/shop/files/k-circle-4_76x76.png?v=1639674522"/> <link rel="apple-touch-icon" sizes="114x114" href="//www.k-deer.com/cdn/shop/files/k-circle-4_114x114.png?v=1639674522"/> <link rel="apple-touch-icon" sizes="180x180" href="//www.k-deer.com/cdn/shop/files/k-circle-4_180x180.png?v=1639674522"/> <link rel="apple-touch-icon" sizes="228x228" href="//www.k-deer.com/cdn/shop/files/k-circle-4_228x228.png?v=1639674522"/> <link rel="canonical" href="https://www.k-deer.com/blogs/news" /> 
37<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
37<meta name="google-site-verification" content="m_p0XpKf1UsjfN50A1w-sTOLRT2PXJc_OvqdNZGzyd4">
38<meta name="google-site-verification" content="nrnbujyskzxbceb0aE4c1N_V3cKBGRomMn3z1FTa7Wc">
39<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/6682621/digital_wallets/dialog">
40<meta id="in-context-paypal-metadata" data-shop-id="6682621" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
41<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" type="application/atom+xml" title="Feed" href="/blogs/news.atom" />
42<link rel="next" href="/blogs/news?page=2">
43<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
vendor: 1 bytes, line 43
43
44<script id="shopify-features" type="application/json">{"accessToken":"4866a921a90e3c71d66b04c83274ca1e","betas":["rich-media-storefront-analytics"],"domain":"www.k-deer.com","predictiveSearch":true,"shopId":6682621,"locale":"en"}</script>
vendor: 1 bytes, line 44
44
45<script>var Shopify = Shopify || {};
46Shopify.shop = "k-deer.myshopify.com";
47Shopify.locale = "en";
48Shopify.currency = {"active":"USD","rate":"1.0"};
49Shopify.country = "US";
50Shopify.theme = {"name":"Closing","id":123226914886,"schema_name":"Turbo","schema_version":"4.1.5","theme_store_id":null,"role":"main"};
51Shopify.theme.handle = "null";
52Shopify.theme.style = {"id":null,"handle":null};
53Shopify.cdnHost = "www.k-deer.com/cdn";
54Shopify.routes = Shopify.routes || {};
55Shopify.routes.root = "/";
56Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
57Shopify.SignInWithShop = Shopify.SignInWithShop || {};
58Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
59Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 59
59
60<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 60
60
61<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 61
61
62<script>
63  window.Shopify = window.Shopify || {};
64  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
65  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
66  window.Shopify.SignInWithShop.eligible = true;
67</script>
vendor: 1 bytes, line 67
67
68<script id="shop-js-analytics" type="application/json">{"pageType":"blog"}</script>
vendor: 1 bytes, line 68
68
69<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 69
69
70<script type="module">
71  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
72
73  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
74
75</script>
vendor: 1 bytes, line 75
75
76<script>
77  window.Shopify = window.Shopify || {};
78  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
79  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"]};
80</script>
vendor: 1 bytes, line 80
80
81<script id="__st">var __st={"a":6682621,"offset":-14400,"reqid":"32d7b876-564d-4fed-adbc-0fc84d4dbff7-1791061569","pageurl":"www.k-deer.com\/blogs\/news","s":"blogs-7254591","u":"dbcbbd2583cc","p":"blog","rtyp":"blog","rid":7254591};</script>
vendor: 1 bytes, line 81
81
82<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 82
82
83<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 83
83
84<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.k-deer.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 84
84
85<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.k-deer.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>
85<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 85
85
86<script>
87  window.Shopify = window.Shopify || {};
88  window.Shopify.MCP = window.Shopify.MCP || {};
89  window.Shopify.MCP.enabled = true;
90  window.Shopify.MCP.shop = "k-deer.myshopify.com";
91  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.k-deer.com\/api\/mcp";
92  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"]}}];
93</script>
vendor: 1 bytes, line 93
93
94<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.k-deer.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
95</script>
vendor: 1 bytes, line 95
95
96<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.k-deer.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
97</script>
vendor: 1 bytes, line 97
97
98<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
99  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);
100</script>
vendor: 1 bytes, line 100
100
101<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})}}));
102</script>
102
103<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.k-deer.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
104<style id="shopify-accelerated-checkout-cart">
105        #shopify-buyer-consent {
106  margin-top: 1em;
107  display: inline-block;
108  width: 100%;
109}
110
111#shopify-buyer-consent.hidden {
112  display: none;
113}
114
115#shopify-subscription-policy-button {
116  background: none;
117  border: none;
118  padding: 0;
119  text-decoration: underline;
120  font-size: inherit;
121  cursor: pointer;
122}
123
124#shopify-subscription-policy-button::before {
125  box-shadow: none;
126}
127
128      </style>
129
130<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
130
131
132
133
134<input type='hidden' id='appify_acasp' value='6682621' />
135
136<input type='hidden' id='accessibility_icon_theme' Position='0' BackgroundColor='#000000' TextColor='#FFFFFF' LinkColor='#FF0000' TitleColor='#FF0000' theme='0' desc_txt='Decrease text' inc_txt='Increase text' gry_scl='Grayscale' invrt_clr='Invert colors' hghlght_lnk='Highlight links' Hghlght_hed='Highlight headers' dsbl='Disable' readlang='en' langtitle='English'readselected='Read Selected' readpage='Read Page'/>
137
138<link rel='stylesheet' type='text/css' href='/apps/accessibility/assets/Css/acastore.min.css?v=3012'></link>
139
140<script src='/apps/accessibility/assets/js/OriginalJs/mainappifyaca.js?v=3012' type='text/javascript'></script>
140
141
142
143
144
145
146
147<style type="text/css" id="nitro-fontify">
148</style>
149
150
151    
152
153<meta name="author" content="K-DEER">
154<meta property="og:url" content="https://www.k-deer.com/blogs/news">
155<meta property="og:site_name" content="K-DEER"> <meta property="og:type" content="article"> <meta property="og:title" content="THE K-DEER BLOG"> <meta property="og:image" content="https://www.k-deer.com/cdn/shop/articles/hug_with_dad_600x.jpg?v=1709677345"> <meta property="og:image:secure_url" content="https://www.k-deer.com/cdn/shop/articles/hug_with_dad_600x.jpg?v=1709677345"> <meta property="og:image:width" content="2724"> <meta property="og:image:height" content="2724"> <meta property="og:image:alt" content="Checking in... March 27, 2023">
156    
157  
158
159
160
161
162
163
164<meta name="twitter:card" content="summary">
165
166
167    
168    
169  	<!-- Start of k-deer Zendesk Widget script --> 
169<script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=7febbc03-5699-4156-b790-d55ee9c7415a"></script>
169 <!-- End of k-deer Zendesk Widget script --> <!-- START Rakuten Marketing Tracking --> 
169<script type="text/javascript">
170
171    (function (url) {
172
173      /*Tracking Bootstrap Set Up DataLayer objects/properties here*/
174
175      if(!window.DataLayer){
176
177        window.DataLayer = {};
178
179      }
180
181      if(!DataLayer.events){
182
183        DataLayer.events = {};
184
185      }
186
187      DataLayer.events.SPIVersion = DataLayer.events.SPIVersion || "3.3";
188
189      DataLayer.events.SiteSection = "1";
190
191
192
193      var loc, ct = document.createElement("script");
194
195      ct.type = "text/javascript";
196
197      ct.async = true; ct.src = url; loc = document.getElementsByTagName('script')[0];
198
199      loc.parentNode.insertBefore(ct, loc);
200
201      }(document.location.protocol + "//tag.rmp.rakuten.com/117277.ct.js"));</script>
201
202
203<!-- END Rakuten Marketing Tracking --> <div id="shopify-section-filter-menu-settings" class="shopify-section"><style type="text/css">
204/*  Filter Menu Color and Image Section CSS */</style>
205<link href="//www.k-deer.com/cdn/shop/t/179/assets/filter-menu.scss.css?v=178881306433376313511709827104" rel="stylesheet" type="text/css" media="all" />
206<script src="//www.k-deer.com/cdn/shop/t/179/assets/filter-menu.js?v=181055312902103895121656342003" type="text/javascript"></script>
206
207
208
209
210
211
212</div>
213<script type="text/javascript" src="https://www.webyze.com/ProductColors/productcolors-a95949ac254dd511f12556df096b3208d8192776.js?shop=k-deer.myshopify.com" async></script>
213
214
215<script type="text/javascript"> 
216(function(a,b,c,d,e,f,g){e['ire_o']=c;e[c]=e[c]||function(){(e[c].a=e[c].a||[]).push(arguments)};f=d.createElement(b);g=d.getElementsByTagName(b)[0];f.async=1;f.src=a;g.parentNode.insertBefore(f,g);})('//d.impactradius-event.com/A2372835-9af2-4200-a365-13df3c1b911f1.js','script','ire',document,window); 
217</script>
217 <!-- "snippets/shogun-head.liquid" was not rendered, the associated app was uninstalled -->
218 
219<!-- "snippets/pagefly-header.liquid" was not rendered, the associated app was uninstalled --> <!--Gem_Page_Header_Script-->
220<!-- "snippets/gem-app-header-scripts.liquid" was not rendered, the associated app was uninstalled -->
221<!--End_Gem_Page_Header_Script-->
222<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
223<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: 6682621,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "blog"};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 223
223
224<script>
225  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
226</script>
vendor: 1 bytes, line 226
226
227<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}
227).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: 6682621,storefrontBaseUrl: "https://www.k-deer.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.k-deer.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"47382598","configuration":"{\"tagID\":\"2616444462761\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"70910022","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["MARKETING"],"name":"Meta pixel (migrated)"}
227,{"id":"106463302","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"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":"K-DEER","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"k-deer.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.k-deer.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.k-deer.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"123226914886","themePublished":"true","eventMetadataId":"ebd085db-d91e-46db-b1b5-b65678b78d69","pageType":"blog","resourceId":"7254591","shopId":"6682621","storefrontBaseUrl":"https:\/\/www.k-deer.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
227<script>
228  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
229  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
230  window.ShopifyAnalytics.meta.currency = 'USD';
231  var meta = {"page":{"pageType":"blog","resourceType":"blog","resourceId":7254591,"requestId":"32d7b876-564d-4fed-adbc-0fc84d4dbff7-1791061569"}};
232  for (var attr in meta) {
233    window.ShopifyAnalytics.meta[attr] = meta[attr];
234  }
235</script>
vendor: 1 bytes, line 235
235
236<script class="analytics">
237  (function () {
238    var customDocumentWrite = function(content) {
239      var jquery = null;
240
241      if (window.jQuery) {
242        jquery = window.jQuery;
243      } else if (window.Checkout && window.Checkout.$) {
244        jquery = window.Checkout.$;
245      }
246
247      if (jquery) {
248        jquery('body').append(content);
249      }
250    };
251
252    var hasLoggedConversion = function(token) {
253      if (token) {
254        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
255      }
256      return false;
257    }
258
259    var setCookieIfConversion = function(token) {
260      if (token) {
261        var twoMonthsFromNow = new Date(Date.now());
262        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
263
264        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
265      }
266    }
267
268    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
269    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
270    if (trekkie.integrations) {
271      return;
272    }
273    trekkie.methods = [
274      'identify',
275      'page',
276      'ready',
277      'track',
278      'trackForm',
279      'trackLink'
280    ];
281    trekkie.factory = function(method) {
282      return function() {
283        var args = Array.prototype.slice.call(arguments);
284        args.unshift(method);
285        trekkie.push(args);
286        if (method == 'track' || method == 'page') {
287          var pageUrl;
288          try {
289            pageUrl = window.location.href;
290          } catch (e) {}
291          var pageReferrer;
292          try {
293            pageReferrer = document.referrer;
294          } catch (e) {}
295          try {
296            if (window.__TREKKIE_SHIM_QUEUE == null) {
297              window.__TREKKIE_SHIM_QUEUE = [];
298            }
299            window.__TREKKIE_SHIM_QUEUE.push({
300              from: 'trekkie-stub',
301              method: method,
302              args: args.slice(1),
303              pageContext: {
304                url: pageUrl,
305                referrer: pageReferrer
306              }
307            });
308          } catch (e) {
309            // no-op
310          }
311        }
312        return trekkie;
313      };
314    };
315    for (var i = 0; i < trekkie.methods.length; i++) {
316      var key = trekkie.methods[i];
317      trekkie[key] = trekkie.factory(key);
318    }
319    trekkie.load = function(config) {
320      trekkie.config = config || {};
321      trekkie.config.initialDocumentCookie = document.cookie;
322      var first = document.getElementsByTagName('script')[0];
323var script = document.createElement('script');
324script.type = 'text/javascript';
325script.onerror = function(e) {
326  var scriptFallback = document.createElement('script');
327  scriptFallback.type = 'text/javascript';
328  scriptFallback.onerror = function(error) {
329          var Monorail = {
330      produce: function produce(monorailDomain, schemaId, payload) {
331        var currentMs = new Date().getTime();
332        var event = {
333          schema_id: schemaId,
334          payload: payload,
335          metadata: {
336            event_created_at_ms: currentMs,
337            event_sent_at_ms: currentMs
338          }
339        };
340        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
341      },
342      sendRequest: function sendRequest(endpointUrl, payload) {
343        // Try the sendBeacon API
344        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
345          var blobData = new window.Blob([payload], {
346            type: 'text/plain'
347          });
348
349          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
350            return true;
351          } // sendBeacon was not successful
352
353        } // XHR beacon
354
355        var xhr = new XMLHttpRequest();
356
357        try {
358          xhr.open('POST', endpointUrl);
359          xhr.setRequestHeader('Content-Type', 'text/plain');
360          xhr.send(payload);
361        } catch (e) {
362          console.log(e);
363        }
364
365        return false;
366      },
367      isIos12: function isIos12() {
368        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
369      }
370    };
371    Monorail.produce('monorail-edge.shopifysvc.com',
372      'trekkie_storefront_load_errors/1.1',
373      {shop_id: 6682621,
374      theme_id: 123226914886,
375      app_name: "storefront",
376      context_url: window.location.href,
377      source_url: "//www.k-deer.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
378
379  };
380  scriptFallback.async = true;
381  scriptFallback.src = '//www.k-deer.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
382  first.parentNode.insertBefore(scriptFallback, first);
383};
384script.async = true;
385script.src = '//www.k-deer.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
386first.parentNode.insertBefore(script, first);
387
388    };
389    trekkie.load(
390      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":6682621,"isMerchantRequest":null,"themeId":123226914886,"themeCityHash":"12131506509077164361","contentLanguage":"en","currency":"USD","eventMetadataId":"ebd085db-d91e-46db-b1b5-b65678b78d69"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
391    );
392
393    var loaded = false;
394    trekkie.ready(function() {
395      if (loaded) return;
396      loaded = true;
397
398      window.ShopifyAnalytics.lib = window.trekkie;
399
400      var originalDocumentWrite = document.write;
401      document.write = customDocumentWrite;
402      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
403      document.write = originalDocumentWrite;
404
405      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
406      var token = match? match[1]: undefined;
407      if (!hasLoggedConversion(token)) {
408        setCookieIfConversion(token);
409        
410      }
411    });
412
413    window.ShopifyAnalytics.lib.page(null,{"pageType":"blog","resourceType":"blog","resourceId":7254591,"requestId":"32d7b876-564d-4fed-adbc-0fc84d4dbff7-1791061569","shopifyEmitted":true});
414
415    var eventsListenerScript = document.createElement('script');
416    eventsListenerScript.async = true;
417    eventsListenerScript.src = "//www.k-deer.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
418    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
419})();</script>
419
420  
420<script>
421  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
422    window.ga = function ga() {
423      (window.ga.q = window.ga.q || []).push(arguments);
424      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
425        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
426      }
427      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
428    };
429    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
430      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
431    }
432  }
433</script>
vendor: 1 bytes, line 433
433
434<script
435  defer
436  src="https://www.k-deer.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
437  data-application="storefront-renderer"
438  data-shop-id="6682621"
439  data-render-region="gcp-us-central1"
440  data-page-type="blog"
441  data-theme-instance-id="123226914886"
442  data-theme-name="Turbo"
443  data-theme-version="4.1.5"
444  data-monorail-region="shop_domain"
445  data-resource-timing-sampling-rate="10"
446  data-shs="true"
447  data-shs-beacon="true"
448  data-shs-export-with-fetch="true"
449  data-shs-logs-sample-rate="1"
450  data-shs-beacon-endpoint="https://www.k-deer.com/api/collect"
451></script>
451
452<meta name="shopify-y" content="feac0907-9d1e-4b3b-b1d0-14d18eb20ce3" data-expiration="1822619169000"><meta name="shopify-s" content="ed3c4aca-d9c1-4c01-a4da-78d339909fbf" data-expiration="1791063369000"><meta name="new-cookie-storage-activated" content="t">
453</head> <noscript> <style>
454      .product_section .product_form,
455      .product_gallery {
456        opacity: 1;
457      }
458
459      .multi_select,
460      form .select {
461        display: block !important;
462      }
463
464      .image-element__wrap {
465        display: none;
466      }</style></noscript> <body class="blog"
467    data-money-format="$ {{amount}}" data-shop-url="https://www.k-deer.com"> <!-- "snippets/socialshopwave-helper.liquid" was not rendered, the associated app was uninstalled --> 
467<script type="text/javascript">
468      
469		ire('identify', {customerId: '', customerEmail: ''});</script>
469 <div id="shopify-section-header" class="shopify-section header-section">
470
471
472<header id="header" class="mobile_nav-fixed--true"> <div class="top_bar clearfix hidden"> <a class="mobile_nav dropdown_link" data-dropdown-rel="menu" data-no-instant="true"> <div> <span></span> <span></span> <span></span> <span></span></div> <span class="menu_title">Menu</span></a> <a href="https://www.k-deer.com" title="K-DEER" class="mobile_logo logo"> <img src="//www.k-deer.com/cdn/shop/files/400x100_shopify_logo_transparent_ombre-01-01-01_410x.png?v=1637182909" alt="K-DEER" class="lazyload" /></a> <div class="top_bar--right"></div></div> <div class="dropdown_container" data-dropdown="menu"> <div class="dropdown"> <ul class="menu" id="mobile_menu"> <li data-no-instant> <a href="/account/login" id="customer_login_link">Login</a></li> <li><a href="/pages/wishlist">wishlist</a></li></ul></div></div>
473</header>
474
475
476
477
478<header class="feature_image secondary_logo--true"> <div class="header  header-fixed--true header-background--solid"> <div class="top_bar clearfix hidden"> <ul class="menu left"></ul> <ul class="menu right"> <li><a href="/pages/wishlist"><i class="ssw-icon-heart"></i></a></li> <li> <a href="/account" class="icon-user" title="My Account "> <span>Login</span></a></li></ul></div> <div class="main_nav_wrapper"> <div class="main_nav clearfix menu-position--inline logo-align--center"> <div class="nav"> <ul class="menu align_left clearfix"></ul></div> <div class="logo text-align--center"> <a href="https://www.k-deer.com" title="K-DEER"> <img src="//www.k-deer.com/cdn/shop/files/400x100_shopify_logo_transparent_ombre-01-01-01_410x.png?v=1637182909" class="secondary_logo" alt="K-DEER" /> <img src="//www.k-deer.com/cdn/shop/files/400x100_shopify_logo_transparent_ombre-01-01-01_410x.png?v=1637182909" class="primary_logo lazyload" alt="K-DEER" /></a></div> <div class="nav"> <ul class="menu align_right clearfix"></ul></div></div></div></div>
479</header>
480
481<style>
482  .main_nav div.logo a {
483    padding-top: 20px;
484    padding-bottom: 20px;
485  }
486
487  div.logo img {
488    max-width: 205px;
489  }
490
491  .nav {
492    
493      width: 42%;
494      float: left;
495    
496  }
497
498  
499    .nav ul.menu {
500      padding-top: 13px;
501      padding-bottom: 13px;
502    }
503
504    .sticky_nav ul.menu, .sticky_nav .mini_cart {
505      padding-top: 6px;
506      padding-bottom: 6px;
507    }
508  
509
510  
511    #header .top_bar .icon-search {
512      right: 15px;
513    }
514  
515
516  
517    body {
518      overscroll-behavior-y: none;
519    }
520  
521
522  
523  
524  @font-face {
525  font-family: "Work Sans";
526  font-weight: 600;
527  font-style: normal;
528  src: url("//www.k-deer.com/cdn/fonts/work_sans/worksans_n6.75811c3bd5161ea6e3ceb2d48ca889388f9bd5fe.woff2") format("woff2"),
529       url("//www.k-deer.com/cdn/fonts/work_sans/worksans_n6.defcf26f28f3fa3df4555714d3f2e0f1217d7772.woff") format("woff");
530}
531
532  .mobile_nav-fixed--true,
533  .empty_cart, .promo_banner, .title, .menu a, .menu a:visited,
534  .menu a:active, #header span.menu_title, .menu a span,
535  select.currencies, .mini_cart span{
536  
537  font-family: Larsseit-Regular;
538  font-weight: 400;
539  font-style: normal;
540  
541  }
542</style>
543
544
545</div> <div class="mega-menu-container"> <div id="shopify-section-mega-menu-1" class="shopify-section mega-menu-section"> <div class="dropdown_container mega-menu mega-menu-1" data-dropdown="shop-by"> <div class="dropdown menu"> <div class="dropdown_content "> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="mega-menu__image-caption-link"> <a href="/collections/restocking" >
546                    
547                      
548
549
550
551
552
553
554
555
556
557
558<div class="image-element__wrap" style=" max-width: 643px;"> <img  alt=""
559        
560        data-src="//www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1600x.jpg?v=1655916144"
561        data-sizes="auto"
562        data-aspectratio="643/642"
563        data-srcset="//www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_5000x.jpg?v=1655916144 5000w,
564    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_4500x.jpg?v=1655916144 4500w,
565    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_4000x.jpg?v=1655916144 4000w,
566    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_3500x.jpg?v=1655916144 3500w,
567    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_3000x.jpg?v=1655916144 3000w,
568    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_2500x.jpg?v=1655916144 2500w,
569    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_2000x.jpg?v=1655916144 2000w,
570    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1800x.jpg?v=1655916144 1800w,
571    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1600x.jpg?v=1655916144 1600w,
572    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1400x.jpg?v=1655916144 1400w,
573    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1200x.jpg?v=1655916144 1200w,
574    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1000x.jpg?v=1655916144 1000w,
575    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_800x.jpg?v=1655916144 800w,
576    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_600x.jpg?v=1655916144 600w,
577    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_400x.jpg?v=1655916144 400w,
578    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_200x.jpg?v=1655916144 200w"
579        height="642"
580        width="643"
581        style=";"
582        class="lazyload transition--fade-in "
583  />
584</div>
585
586
587
588<noscript> <img src="//www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_2000x.jpg?v=1655916144" alt="" class="">
589</noscript> <p>Restocking - Sign up for back in stock notifications!</p></a></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a >COLLECTIONS</a></li></ul> <ul> <li> <a href="/collections/the-loved-collection">The Loved Collection</a></li> <li> <a href="/collections/signature-stripes">Signature Stripes</a></li> <li> <a href="/collections/prints">Prints</a></li> <li> <a href="/collections/solids">Solids</a></li> <li> <a href="/collections/the-pocket-collection">Pockets</a></li> <li> <a href="/collections/all">Shop All</a></li></ul></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/bottoms-1">BOTTOMS</a></li></ul> <ul> <li> <a href="/collections/leggings">Leggings</a></li> <li> <a href="/collections/sneaker-length">Sneaker</a></li> <li> <a href="/collections/capris">Capris</a></li> <li> <a href="/collections/skorts">Skirts & Skorts</a></li> <li> <a href="/collections/short-shorts">Shorts</a></li> <li> <a href="/collections/bum-bums">Bum Bums</a></li></ul></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/tops-1">TOPS</a></li></ul> <ul> <li> <a href="/collections/long-sleeves">Long Sleeves</a></li> <li> <a href="/collections/tees">Tees</a></li> <li> <a href="/collections/tanks">Tanks</a></li> <li> <a href="/collections/crops">Crops</a></li> <li> <a href="/collections/bras">Bras</a></li></ul></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/swimwear">SWIMWEAR</a></li></ul> <ul> <li> <a href="/collections/two-pieces">Two Pieces</a></li> <li> <a href="/collections/one-pieces">One Pieces</a></li></ul></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/kids">KIDS</a></li></ul> <ul> <li> <a href="/collections/kids">Bottoms</a></li> <li> <a href="/collections/mom-and-me">Mini Me's</a></li></ul></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/shorts">MENS</a></li></ul> <ul> <li> <a href="/collections/shorts">Shorts</a></li></ul></div> <div class="mega-menu__richtext"></div></div></div></div></div> <ul class="mobile-mega-menu hidden" data-mobile-dropdown="shop-by"> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block"  > <a href="/collections/restocking" >
590              
591                
592
593
594
595
596
597
598
599
600
601
602<div class="image-element__wrap" style=" max-width: 643px;"> <img  alt=""
603        
604        data-src="//www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1600x.jpg?v=1655916144"
605        data-sizes="auto"
606        data-aspectratio="643/642"
607        data-srcset="//www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_5000x.jpg?v=1655916144 5000w,
608    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_4500x.jpg?v=1655916144 4500w,
609    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_4000x.jpg?v=1655916144 4000w,
610    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_3500x.jpg?v=1655916144 3500w,
611    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_3000x.jpg?v=1655916144 3000w,
612    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_2500x.jpg?v=1655916144 2500w,
613    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_2000x.jpg?v=1655916144 2000w,
614    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1800x.jpg?v=1655916144 1800w,
615    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1600x.jpg?v=1655916144 1600w,
616    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1400x.jpg?v=1655916144 1400w,
617    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1200x.jpg?v=1655916144 1200w,
618    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_1000x.jpg?v=1655916144 1000w,
619    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_800x.jpg?v=1655916144 800w,
620    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_600x.jpg?v=1655916144 600w,
621    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_400x.jpg?v=1655916144 400w,
622    //www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_200x.jpg?v=1655916144 200w"
623        height="642"
624        width="643"
625        style=";"
626        class="lazyload transition--fade-in "
627  />
628</div>
629
630
631
632<noscript> <img src="//www.k-deer.com/cdn/shop/files/K_Deer_040821_3155_small_97fcd105-00f0-4a46-b959-7ce2198c11ee_2000x.jpg?v=1655916144" alt="" class="">
633</noscript> <p>Restocking - Sign up for back in stock notifications!</p></a></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="" class="parent-link--false">
634                COLLECTIONS <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/collections/the-loved-collection">The Loved Collection</a></li> <li> <a href="/collections/signature-stripes">Signature Stripes</a></li> <li> <a href="/collections/prints">Prints</a></li> <li> <a href="/collections/solids">Solids</a></li> <li> <a href="/collections/the-pocket-collection">Pockets</a></li> <li> <a href="/collections/all">Shop All</a></li></ul></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/bottoms-1" class="parent-link--true">
635                BOTTOMS <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/collections/leggings">Leggings</a></li> <li> <a href="/collections/sneaker-length">Sneaker</a></li> <li> <a href="/collections/capris">Capris</a></li> <li> <a href="/collections/skorts">Skirts & Skorts</a></li> <li> <a href="/collections/short-shorts">Shorts</a></li> <li> <a href="/collections/bum-bums">Bum Bums</a></li></ul></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/tops-1" class="parent-link--true">
636                TOPS <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/collections/long-sleeves">Long Sleeves</a></li> <li> <a href="/collections/tees">Tees</a></li> <li> <a href="/collections/tanks">Tanks</a></li> <li> <a href="/collections/crops">Crops</a></li> <li> <a href="/collections/bras">Bras</a></li></ul></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/swimwear" class="parent-link--true">
637                SWIMWEAR <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/collections/two-pieces">Two Pieces</a></li> <li> <a href="/collections/one-pieces">One Pieces</a></li></ul></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/kids" class="parent-link--true">
638                KIDS <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/collections/kids">Bottoms</a></li> <li> <a href="/collections/mom-and-me">Mini Me's</a></li></ul></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/shorts" class="parent-link--true">
639                MENS <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/collections/shorts">Shorts</a></li></ul></li> <li class="mobile-mega-menu_block"  ></li></div></ul>
640
641
642</div> <div id="shopify-section-mega-menu-2" class="shopify-section mega-menu-section"> <div class="dropdown_container mega-menu mega-menu-2" data-dropdown="signature-stripes"> <div class="dropdown menu"> <div class="dropdown_content "> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="mega-menu__image-caption-link"> <a href="/collections/stripes" >
643                    
644                      
645
646
647
648
649
650
651
652
653
654
655<div class="image-element__wrap" style=" max-width: 659px;"> <img  alt="Shop all signature stripes"
656        
657        data-src="//www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_1600x.jpg?v=1614291759"
658        data-sizes="auto"
659        data-aspectratio="659/659"
660        data-srcset="//www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_5000x.jpg?v=1614291759 5000w,
661    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_4500x.jpg?v=1614291759 4500w,
662    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_4000x.jpg?v=1614291759 4000w,
663    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_3500x.jpg?v=1614291759 3500w,
664    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_3000x.jpg?v=1614291759 3000w,
665    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_2500x.jpg?v=1614291759 2500w,
666    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_2000x.jpg?v=1614291759 2000w,
667    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_1800x.jpg?v=1614291759 1800w,
668    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_1600x.jpg?v=1614291759 1600w,
669    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_1400x.jpg?v=1614291759 1400w,
670    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_1200x.jpg?v=1614291759 1200w,
671    //www.k-deer.com/cdn/s
671hop/files/K_DEER_23082_TP_1000x.jpg?v=1614291759 1000w,
672    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_800x.jpg?v=1614291759 800w,
673    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_600x.jpg?v=1614291759 600w,
674    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_400x.jpg?v=1614291759 400w,
675    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_200x.jpg?v=1614291759 200w"
676        height="659"
677        width="659"
678        style=";"
679        class="lazyload transition--fade-in "
680  />
681</div>
682
683
684
685<noscript> <img src="//www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_2000x.jpg?v=1614291759" alt="Shop all signature stripes" class="">
686</noscript> <p>Shop All</p></a></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="mega-menu__image-caption-link"> <a href="/collections/meet-mabel" >
687                    
688                      
689
690
691
692
693
694
695
696
697
698
699<div class="image-element__wrap" style=" max-width: 2624px;"> <img  alt="Shop featured stripe Mabel. Mabel is purple, pink, orange, and yellow with black stripes."
700        
701        data-src="//www.k-deer.com/cdn/shop/files/mabel_1600x.jpg?v=1635887928"
702        data-sizes="auto"
703        data-aspectratio="2624/2625"
704        data-srcset="//www.k-deer.com/cdn/shop/files/mabel_5000x.jpg?v=1635887928 5000w,
705    //www.k-deer.com/cdn/shop/files/mabel_4500x.jpg?v=1635887928 4500w,
706    //www.k-deer.com/cdn/shop/files/mabel_4000x.jpg?v=1635887928 4000w,
707    //www.k-deer.com/cdn/shop/files/mabel_3500x.jpg?v=1635887928 3500w,
708    //www.k-deer.com/cdn/shop/files/mabel_3000x.jpg?v=1635887928 3000w,
709    //www.k-deer.com/cdn/shop/files/mabel_2500x.jpg?v=1635887928 2500w,
710    //www.k-deer.com/cdn/shop/files/mabel_2000x.jpg?v=1635887928 2000w,
711    //www.k-deer.com/cdn/shop/files/mabel_1800x.jpg?v=1635887928 1800w,
712    //www.k-deer.com/cdn/shop/files/mabel_1600x.jpg?v=1635887928 1600w,
713    //www.k-deer.com/cdn/shop/files/mabel_1400x.jpg?v=1635887928 1400w,
714    //www.k-deer.com/cdn/shop/files/mabel_1200x.jpg?v=1635887928 1200w,
715    //www.k-deer.com/cdn/shop/files/mabel_1000x.jpg?v=1635887928 1000w,
716    //www.k-deer.com/cdn/shop/files/mabel_800x.jpg?v=1635887928 800w,
717    //www.k-deer.com/cdn/shop/files/mabel_600x.jpg?v=1635887928 600w,
718    //www.k-deer.com/cdn/shop/files/mabel_400x.jpg?v=1635887928 400w,
719    //www.k-deer.com/cdn/shop/files/mabel_200x.jpg?v=1635887928 200w"
720        height="2625"
721        width="2624"
722        style=";"
723        class="lazyload transition--fade-in "
724  />
725</div>
726
727
728
729<noscript> <img src="//www.k-deer.com/cdn/shop/files/mabel_2000x.jpg?v=1635887928" alt="Shop featured stripe Mabel. Mabel is purple, pink, orange, and yellow with black stripes." class="">
730</noscript> <p>Meet Mabel</p></a></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="mega-menu__image-caption-link"> <a href="/collections/last-chance-stripes" >
731                    
732                      
733
734
735
736
737
738
739
740
741
742
743<div class="image-element__wrap" style=" max-width: 592px;"> <img  alt=""
744        
745        data-src="//www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1600x.jpg?v=1635887984"
746        data-sizes="auto"
747        data-aspectratio="592/591"
748        data-srcset="//www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_5000x.jpg?v=1635887984 5000w,
749    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_4500x.jpg?v=1635887984 4500w,
750    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_4000x.jpg?v=1635887984 4000w,
751    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_3500x.jpg?v=1635887984 3500w,
752    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_3000x.jpg?v=1635887984 3000w,
753    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_2500x.jpg?v=1635887984 2500w,
754    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_2000x.jpg?v=1635887984 2000w,
755    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1800x.jpg?v=1635887984 1800w,
756    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1600x.jpg?v=1635887984 1600w,
757    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1400x.jpg?v=1635887984 1400w,
758    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1200x.jpg?v=1635887984 1200w,
759    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1000x.jpg?v=1635887984 1000w,
760    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_800x.jpg?v=1635887984 800w,
761    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_600x.jpg?v=1635887984 600w,
762    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_400x.jpg?v=1635887984 400w,
763    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_200x.jpg?v=1635887984 200w"
764        height="591"
765        width="592"
766        style=";"
767        class="lazyload transition--fade-in "
768  />
769</div>
770
771
772
773<noscript> <img src="//www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_2000x.jpg?v=1635887984" alt="" class="">
774</noscript> <p>Shop Last Chance Stripes</p></a></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="mega-menu__image-caption-link">
774 <a href="/pages/charity-info" >
775                    
776                      
777
778
779
780
781
782
783
784
785
786
787<div class="image-element__wrap" style=" max-width: 748px;"> <img  alt=""
788        
789        data-src="//www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1600x.jpg?v=1614291759"
790        data-sizes="auto"
791        data-aspectratio="748/748"
792        data-srcset="//www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_5000x.jpg?v=1614291759 5000w,
793    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_4500x.jpg?v=1614291759 4500w,
794    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_4000x.jpg?v=1614291759 4000w,
795    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_3500x.jpg?v=1614291759 3500w,
796    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_3000x.jpg?v=1614291759 3000w,
797    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_2500x.jpg?v=1614291759 2500w,
798    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_2000x.jpg?v=1614291759 2000w,
799    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1800x.jpg?v=1614291759 1800w,
800    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1600x.jpg?v=1614291759 1600w,
801    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1400x.jpg?v=1614291759 1400w,
802    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1200x.jpg?v=1614291759 1200w,
803    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1000x.jpg?v=1614291759 1000w,
804    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_800x.jpg?v=1614291759 800w,
805    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_600x.jpg?v=1614291759 600w,
806    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_400x.jpg?v=1614291759 400w,
807    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_200x.jpg?v=1614291759 200w"
808        height="748"
809        width="748"
810        style=";"
811        class="lazyload transition--fade-in "
812  />
813</div>
814
815
816
817<noscript> <img src="//www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_2000x.jpg?v=1614291759" alt="" class="">
818</noscript> <p>About the Signature Stripes Collection</p></a></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"> <p>Our Signature Stripes are named after inspiring women and support causes that are close to their hearts. 5% of e-commerce sales are donated to these causes to help make a difference.</p></div> <div class="mega-menu__richtext"></div></div></div></div></div> <ul class="mobile-mega-menu hidden" data-mobile-dropdown="signature-stripes"> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block"  > <a href="/collections/stripes" >
819              
820                
821
822
823
824
825
826
827
828
829
830
831<div class="image-element__wrap" style=" max-width: 659px;"> <img  alt="Shop all signature stripes"
832        
833        data-src="//www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_1600x.jpg?v=1614291759"
834        data-sizes="auto"
835        data-aspectratio="659/659"
836        data-srcset="//www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_5000x.jpg?v=1614291759 5000w,
837    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_4500x.jpg?v=1614291759 4500w,
838    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_4000x.jpg?v=1614291759 4000w,
839    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_3500x.jpg?v=1614291759 3500w,
840    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_3000x.jpg?v=1614291759 3000w,
841    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_2500x.jpg?v=1614291759 2500w,
842    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_2000x.jpg?v=1614291759 2000w,
843    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_1800x.jpg?v=1614291759 1800w,
844    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_1600x.jpg?v=1614291759 1600w,
845    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_1400x.jpg?v=1614291759 1400w,
846    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_1200x.jpg?v=1614291759 1200w,
847    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_1000x.jpg?v=1614291759 1000w,
848    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_800x.jpg?v=1614291759 800w,
849    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_600x.jpg?v=1614291759 600w,
850    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_400x.jpg?v=1614291759 400w,
851    //www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_200x.jpg?v=1614291759 200w"
852        height="659"
853        width="659"
854        style=";"
855        class="lazyload transition--fade-in "
856  />
857</div>
858
859
860
861<noscript> <img src="//www.k-deer.com/cdn/shop/files/K_DEER_23082_TP_2000x.jpg?v=1614291759" alt="Shop all signature stripes" class="">
862</noscript> <p>Shop All</p></a></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block"  > <a href="/collections/meet-mabel" >
863              
864                
865
866
867
868
869
870
871
872
873
874
875<div class="image-element__wrap" style=" max-width: 2624px;"> <img  alt="Shop featured stripe Mabel. Mabel is purple, pink, orange, and yellow with black stripes."
876        
877        data-src="//www.k-deer.com/cdn/shop/files/mabel_1600x.jpg?v=1635887928"
878        data-sizes="auto"
879        data-aspectratio="2624/2625"
880        data-srcset="//www.k-deer.com/cdn/shop/files/mabel_5000x.jpg?v=1635887928 5000w,
881    //www.k-deer.com/cdn/shop/files/mabel_4500x.jpg?v=1635887928 4500w,
882    //www.k-deer.com/cdn/shop/files/mabel_4000x.jpg?v=1635887928 4000w,
883    //www.k-deer.com/cdn/shop/files/mabel_3500x.jpg?v=1635887928 3500w,
884    //www.k-deer.com/cdn/shop/files/mabel_3000x.jpg?v=1635887928 3000w,
885    //www.k-deer.com/cdn/shop/files/mabel_2500x.jpg?v=1635887928 2500w,
886    //www.k-deer.com/cdn/shop/files/mabel_2000x.jpg?v=1635887928 2000w,
887    //www.k-deer.com/cdn/shop/files/mabel_1800x.jpg?v=1635887928 1800w,
888    //www.k-deer.com/cdn/shop/files/mabel_1600x.jpg?v=1635887928 1600w,
889    //www.k-deer.com/cdn/shop/files/mabel_1400x.jpg?v=1635887928 1400w,
890    //www.k-deer.com/cdn/shop/files/mabel_1200x.jpg?v=1635887928 1200w,
891    //www.k-deer.com/cdn/shop/files/mabel_1000x.jpg?v=1635887928 1000w,
892    //www.k-deer.com/cdn/shop/files/mabel_800x.jpg?v=1635887928 800w,
893    //www.k-deer.com/cdn/shop/files/mabel_600x.jpg?v=1635887928 600w,
894    //www.k-deer.com/cdn/shop/files/mabel_400x.jpg?v=1635887928 400w,
895    //www.k-deer.com/cdn/shop/files/mabel_200x.jpg?v=1635887928 200w"
896        height="2625"
897        width="2624"
898        style=";"
899        class="lazyload transition--fade-in "
900  />
901</div>
902
903
904
905<noscript> <img src="//www.k-deer.com/cdn/shop/files/mabel_2000x.jpg?v=1635887928" alt="Shop featured stripe Mabel. Mabel is purple, pink, orange, and yellow with black stripes." class="">
906</noscript> <p>Meet Mabel</p></a></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block"  > <a href="/collections/last-chance-stripes" >
907              
908                
909
910
911
912
913
914
915
916
917
918
919<div class="image-element__wrap" style=" max-width: 592px;"> <img  alt=""
920        
921        data-src="//www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1600x.jpg?v=1635887984"
922        data-sizes="auto"
923        data-aspectratio="592/591"
924        data-srcset="//www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_5000x.jpg?v=1635887984 5000w,
925    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_4500x.jpg?v=1635887984 4500w,
926    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_4000x.jpg?v=1635887984 4000w,
927    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_3500x.jpg?v=1635887984 3500w,
928    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_3000x.jpg?v=1635887984 3000w,
929    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_2500x.jpg?v=1635887984 2500w,
930    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_2000x.jpg?v=1635887984 2000w,
931    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1800x.jpg?v=1635887984 1800w,
932    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1600x.jpg?v=1635887984 1600w,
933    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1400x.jpg?v=1635887984 1400w,
934    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1200x.jpg?v=1635887984 1200w,
935    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_1000x.jpg?v=1635887984 1000w,
936    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_800x.jpg?v=1635887984 800w,
937    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_600x.jpg?v=1635887984 600w,
938    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_400x.jpg?v=1635887984 400w,
939    //www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_200x.jpg?v=1635887984 200w"
940        height="591"
941        width="592"
942        style=";"
943        class="lazyload transition--fade-in "
944  />
945</div>
946
947
948
949<noscript> <img src="//www.k-deer.com/cdn/shop/files/K_DEER_080818_0635_web_2000x.jpg?v=1635887984" alt="" class="">
950</noscript> <p>Shop Last Chance Stripes</p></a></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block"  >
950 <a href="/pages/charity-info" >
951              
952                
953
954
955
956
957
958
959
960
961
962
963<div class="image-element__wrap" style=" max-width: 748px;"> <img  alt=""
964        
965        data-src="//www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1600x.jpg?v=1614291759"
966        data-sizes="auto"
967        data-aspectratio="748/748"
968        data-srcset="//www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_5000x.jpg?v=1614291759 5000w,
969    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_4500x.jpg?v=1614291759 4500w,
970    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_4000x.jpg?v=1614291759 4000w,
971    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_3500x.jpg?v=1614291759 3500w,
972    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_3000x.jpg?v=1614291759 3000w,
973    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_2500x.jpg?v=1614291759 2500w,
974    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_2000x.jpg?v=1614291759 2000w,
975    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1800x.jpg?v=1614291759 1800w,
976    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1600x.jpg?v=1614291759 1600w,
977    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1400x.jpg?v=1614291759 1400w,
978    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1200x.jpg?v=1614291759 1200w,
979    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_1000x.jpg?v=1614291759 1000w,
980    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_800x.jpg?v=1614291759 800w,
981    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_600x.jpg?v=1614291759 600w,
982    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_400x.jpg?v=1614291759 400w,
983    //www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_200x.jpg?v=1614291759 200w"
984        height="748"
985        width="748"
986        style=";"
987        class="lazyload transition--fade-in "
988  />
989</div>
990
991
992
993<noscript> <img src="//www.k-deer.com/cdn/shop/files/K_Deer_021920_6296_small_ccd3c5e1-077c-4910-a80c-f1e1e4331110_2000x.jpg?v=1614291759" alt="" class="">
994</noscript> <p>About the Signature Stripes Collection</p></a></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"> <p>Our Signature Stripes are named after inspiring women and support causes that are close to their hearts. 5% of e-commerce sales are donated to these causes to help make a difference.</p></li> <li class="mobile-mega-menu_block"  ></li></div></ul>
995
996
997</div> <div id="shopify-section-mega-menu-3" class="shopify-section mega-menu-section"> <div class="dropdown_container mega-menu mega-menu-3" data-dropdown="about"> <div class="dropdown menu"> <div class="dropdown_content "> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="mega-menu__image-caption-link"> <a href="/pages/fitness-instructor" >
998                    
999                      
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010<div class="image-element__wrap" style=" max-width: 300px;"> <img  alt="Apply for the K-DEER fitness instructor program."
1011        
1012        data-src="//www.k-deer.com/cdn/shop/files/fitnessinstructor_1600x.jpg?v=1613757352"
1013        data-sizes="auto"
1014        data-aspectratio="300/300"
1015        data-srcset="//www.k-deer.com/cdn/shop/files/fitnessinstructor_5000x.jpg?v=1613757352 5000w,
1016    //www.k-deer.com/cdn/shop/files/fitnessinstructor_4500x.jpg?v=1613757352 4500w,
1017    //www.k-deer.com/cdn/shop/files/fitnessinstructor_4000x.jpg?v=1613757352 4000w,
1018    //www.k-deer.com/cdn/shop/files/fitnessinstructor_3500x.jpg?v=1613757352 3500w,
1019    //www.k-deer.com/cdn/shop/files/fitnessinstructor_3000x.jpg?v=1613757352 3000w,
1020    //www.k-deer.com/cdn/shop/files/fitnessinstructor_2500x.jpg?v=1613757352 2500w,
1021    //www.k-deer.com/cdn/shop/files/fitnessinstructor_2000x.jpg?v=1613757352 2000w,
1022    //www.k-deer.com/cdn/shop/files/fitnessinstructor_1800x.jpg?v=1613757352 1800w,
1023    //www.k-deer.com/cdn/shop/files/fitnessinstructor_1600x.jpg?v=1613757352 1600w,
1024    //www.k-deer.com/cdn/shop/files/fitnessinstructor_1400x.jpg?v=1613757352 1400w,
1025    //www.k-deer.com/cdn/shop/files/fitnessinstructor_1200x.jpg?v=1613757352 1200w,
1026    //www.k-deer.com/cdn/shop/files/fitnessinstructor_1000x.jpg?v=1613757352 1000w,
1027    //www.k-deer.com/cdn/shop/files/fitnessinstructor_800x.jpg?v=1613757352 800w,
1028    //www.k-deer.com/cdn/shop/files/fitnessinstructor_600x.jpg?v=1613757352 600w,
1029    //www.k-deer.com/cdn/shop/files/fitnessinstructor_400x.jpg?v=1613757352 400w,
1030    //www.k-deer.com/cdn/shop/files/fitnessinstructor_200x.jpg?v=1613757352 200w"
1031        height="300"
1032        width="300"
1033        style=";"
1034        class="lazyload transition--fade-in "
1035  />
1036</div>
1037
1038
1039
1040<noscript> <img src="//www.k-deer.com/cdn/shop/files/fitnessinstructor_2000x.jpg?v=1613757352" alt="Apply for the K-DEER fitness instructor program." class="">
1041</noscript> <p>Instructor Appreciation</p></a></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a >ABOUT US</a></li></ul> <ul> <li> <a href="/pages/story-of-k-deer">Our Story</a></li> <li> <a href="/pages/charity-info">Giving Back</a></li></ul></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a >INFO</a></li></ul> <ul> <li> <a href="/pages/faq">FAQ</a></li> <li> <a href="/pages/fabric-and-fit">Fabric & Fit</a></li> <li> <a href="/pages/size-charts">Size Chart</a></li> <li> <a href="https://return.doddle.com/KDEER">Returns</a></li></ul></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a >COMMUNITY</a></li></ul> <ul> <li> <a href="/blogs/news">Blog</a></li> <li> <a href="/pages/press-page">Press</a></li> <li> <a href="/pages/reviews">Reviews</a></li> <li> <a href="/pages/reward">Rewards</a></li> <li> <a href="/pages/fitness-instructor">Instructor Appreciation</a></li></ul></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="mega-menu__richtext"></div></div></div></div></div> <ul class="mobile-mega-menu hidden" data-mobile-dropdown="about"> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block"  > <a href="/pages/fitness-instructor" >
1042              
1043                
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054<div class="image-element__wrap" style=" max-width: 300px;"> <img  alt="Apply for the K-DEER fitness instructor program."
1055        
1056        data-src="//www.k-deer.com/cdn/shop/files/fitnessinstructor_1600x.jpg?v=1613757352"
1057        data-sizes="auto"
1058        data-aspectratio="300/300"
1059        data-srcset="//www.k-deer.com/cdn/shop/files/fitnessinstructor_5000x.jpg?v=1613757352 5000w,
1060    //www.k-deer.com/cdn/shop/files/fitnessinstructor_4500x.jpg?v=1613757352 4500w,
1061    //www.k-deer.com/cdn/shop/files/fitnessinstructor_4000x.jpg?v=1613757352 4000w,
1062    //www.k-deer.com/cdn/shop/files/fitnessinstructor_3500x.jpg?v=1613757352 3500w,
1063    //www.k-deer.com/cdn/shop/files/fitnessinstructor_3000x.jpg?v=1613757352 3000w,
1064    //www.k-deer.com/cdn/shop/files/fitnessinstructor_2500x.jpg?v=1613757352 2500w,
1065    //www.k-deer.com/cdn/shop/files/fitnessinstructor_2000x.jpg?v=1613757352 2000w,
1066    //www.k-deer.com/cdn/shop/files/fitnessinstructor_1800x.jpg?v=1613757352 1800w,
1067    //www.k-deer.com/cdn/shop/files/fitnessinstructor_1600x.jpg?v=1613757352 1600w,
1068    //www.k-deer.com/cdn/shop/files/fitnessinstructor_1400x.jpg?v=1613757352 1400w,
1069    //www.k-deer.com/cdn/shop/files/fitnessinstructor_1200x.jpg?v=1613757352 1200w,
1070    //www.k-deer.com/cdn/shop/files/fitnessinstructor_1000x.jpg?v=1613757352 1000w,
1071    //www.k-deer.com/cdn/shop/files/fitnessinstructor_800x.jpg?v=1613757352 800w,
1072    //www.k-deer.com/cdn/shop/files/fitnessinstructor_600x.jpg?v=1613757352 600w,
1073    //www.k-deer.com/cdn/shop/files/fitnessinstructor_400x.jpg?v=1613757352 400w,
1074    //www.k-deer.com/cdn/shop/files/fitnessinstructor_200x.jpg?v=1613757352 200w"
1075        height="300"
1076        width="300"
1077        style=";"
1078        class="lazyload transition--fade-in "
1079  />
1080</div>
1081
1082
1083
1084<noscript> <img src="//www.k-deer.com/cdn/shop/files/fitnessinstructor_2000x.jpg?v=1613757352" alt="Apply for the K-DEER fitness instructor program." class="">
1085</noscript> <p>Instructor Appreciation</p></a></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="" class="parent-link--false">
1086                ABOUT US <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/pages/story-of-k-deer">Our Story</a></li> <li> <a href="/pages/charity-info">Giving Back</a></li></ul></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="" class="parent-link--false">
1087                INFO <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/pages/faq">FAQ</a></li> <li> <a href="/pages/fabric-and-fit">Fabric & Fit</a></li> <li> <a href="/pages/size-charts">Size Chart</a></li> <li> <a href="https://return.doddle.com/KDEER">Returns</a></li></ul></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="" class="parent-link--false">
1088                COMMUNITY <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/blogs/news">Blog</a></li> <li> <a href="/pages/press-page">Press</a></li> <li> <a href="/pages/reviews">Reviews</a></li> <li> <a href="/pages/reward">Rewards</a></li> <li> <a href="/pages/fitness-instructor">Instructor Appreciation</a></li></ul></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block"  ></li></div></ul>
1089
1090
1091</div> <div id="shopify-section-mega-menu-4" class="shopify-section mega-menu-section"> <div class="dropdown_container mega-menu mega-menu-4" data-dropdown="sale"> <div class="dropdown menu"> <div class="dropdown_content "> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="mega-menu__image-caption-link"> <a href="/collections/sale" >
1092                    
1093                      
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104<div class="image-element__wrap" style=" max-width: 300px;"> <img  alt="Shop Sale"
1105        
1106        data-src="//www.k-deer.com/cdn/shop/files/Sale-icon-2_1600x.png?v=1630523967"
1107        data-sizes="auto"
1108        data-aspectratio="300/300"
1109        data-srcset="//www.k-deer.com/cdn/shop/files/Sale-icon-2_5000x.png?v=1630523967 5000w,
1110    //www.k-deer.com/cdn/shop/files/Sale-icon-2_4500x.png?v=1630523967 4500w,
1111    //www.k-deer.com/cdn/shop/files/Sale-icon-2_4000x.png?v=1630523967 4000w,
1112    //www.k-deer.com/cdn/shop/files/Sale-icon-2_3500x.png?v=1630523967 3500w,
1113    //www.k-deer.com/cdn/shop/files/Sale-icon-2_3000x.png?v=1630523967 3000w,
1114    //www.k-deer.com/cdn/shop/files/Sale-icon-2_2500x.png?v=1630523967 2500w,
1115    //www.k-deer.com/cdn/shop/files/Sale-icon-2_2000x.png?v=1630523967 2000w,
1116    //www.k-deer.com/cdn/shop/files/Sale-icon-2_1800x.png?v=1630523967 1800w,
1117    //www.k-deer.com/cdn/shop/files/Sale-icon-2_1600x.png?v=1630523967 1600w,
1118    //www.k-deer.com/cdn/shop/files/Sale-icon-2_1400x.png?v=1630523967 1400w,
1119    //www.k-deer.com/cdn/shop/files/Sale-icon-2_1200x.png?v=1630523967 1200w,
1120    //www.k-deer.com/cdn/shop/files/Sale-icon-2_1000x.png?v=1630523967 1000w,
1121    //www.k-deer.com/cdn/shop/files/Sale-icon-2_800x.png?v=1630523967 800w,
1122    //www.k-deer.com/cdn/shop/files/Sale-icon-2_600x.png?v=1630523967 600w,
1123    //www.k-deer.com/cdn/shop/files/Sale-icon-2_400x.png?v=1630523967 400w,
1124    //www.k-deer.com/cdn/shop/files/Sale-icon-2_200x.png?v=1630523967 200w"
1125        height="300"
1126        width="300"
1127        style=";"
1128        class="lazyload transition--fade-in "
1129  />
1130</div>
1131
1132
1133
1134<noscript> <img src="//www.k-deer.com/cdn/shop/files/Sale-icon-2_2000x.png?v=1630523967" alt="Shop Sale" class="">
1135</noscript> <p></p></a></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/bottoms-sale">BOTTOMS</a></li></ul> <ul> <li> <a href="/collections/sale-leggings-1">Leggings</a></li> <li> <a href="/collections/sale-sneaker-length-1">Sneaker</a></li> <li> <a href="/collections/sale-capris-1">Capris</a></li> <li> <a href="/collections/sale-short-shorts-1">Shorts</a></li> <li> <a href="/collections/sale-skorts">Skorts</a></li> <li> <a href="/collections/sale-bum-bums-1">Bum Bums</a></li></ul></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/tops-sale">TOPS</a></li></ul> <ul> <li> <a href="/collections/sale-bras">Bras</a></li> <li> <a href="/collections/sale-crops">Crops</a></li> <li> <a href="/collections/sale-tanks">Tanks</a></li> <li> <a href="/collections/sale-short-sleeves">Tees</a></li> <li> <a href="/collections/sale-longsleeves">Long Sleeves</a></li></ul></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/swimwear">SWIMWEAR</a></li></ul> <ul> <li> <a href="/collections/two-pieces">Two Pieces</a></li> <li> <a href="/collections/one-pieces">One Pieces</a></li></ul></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/kids-sales">KIDS</a></li></ul> <ul> <li> <a href="/collections/kids-sales">Bottoms</a></li></ul></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/mens-sale">MENS</a></li></ul> <ul></ul></div> <div class="mega-menu__richtext"></div></div> <div class="dropdown_column" > <div class="mega-menu__richtext"></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/sale-accessories">ACCESSORIES</a></li></ul> <ul></ul></div> <div class="dropdown_column__menu"> <ul class="dropdown_title"> <li> <a href="/collections/final-sale">FINAL SALE</a></li></ul> <ul> <li> <a href="/collections/final-sale/tops">Tops</a></li> <li> <a href="/collections/final-sale/bottoms">Bottoms</a></li></ul></div> <div class="mega-menu__richtext"></div></div></div></div></div> <ul class="mobile-mega-menu hidden" data-mobile-dropdown="sale"> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block"  > <a href="/collections/sale" >
1136              
1137                
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148<div class="image-element__wrap" style=" max-width: 300px;"> <img  alt="Shop Sale"
1149        
1150        data-src="//www.k-deer.com/cdn/shop/files/Sale-icon-2_1600x.png?v=1630523967"
1151        data-sizes="auto"
1152        data-aspectratio="300/300"
1153        data-srcset="//www.k-deer.com/cdn/shop/files/Sale-icon-2_5000x.png?v=1630523967 5000w,
1154    //www.k-deer.com/cdn/shop/files/Sale-icon-2_4500x.png?v=1630523967 4500w,
1155    //www.k-deer.com/cdn/shop/files/Sale-icon-2_4000x.png?v=1630523967 4000w,
1156    //www.k-deer.com/cdn/shop/files/Sale-icon-2_3500x.png?v=1630523967 3500w,
1157    //www.k-deer.com/cdn/shop/files/Sale-icon-2_3000x.png?v=1630523967 3
1157000w,
1158    //www.k-deer.com/cdn/shop/files/Sale-icon-2_2500x.png?v=1630523967 2500w,
1159    //www.k-deer.com/cdn/shop/files/Sale-icon-2_2000x.png?v=1630523967 2000w,
1160    //www.k-deer.com/cdn/shop/files/Sale-icon-2_1800x.png?v=1630523967 1800w,
1161    //www.k-deer.com/cdn/shop/files/Sale-icon-2_1600x.png?v=1630523967 1600w,
1162    //www.k-deer.com/cdn/shop/files/Sale-icon-2_1400x.png?v=1630523967 1400w,
1163    //www.k-deer.com/cdn/shop/files/Sale-icon-2_1200x.png?v=1630523967 1200w,
1164    //www.k-deer.com/cdn/shop/files/Sale-icon-2_1000x.png?v=1630523967 1000w,
1165    //www.k-deer.com/cdn/shop/files/Sale-icon-2_800x.png?v=1630523967 800w,
1166    //www.k-deer.com/cdn/shop/files/Sale-icon-2_600x.png?v=1630523967 600w,
1167    //www.k-deer.com/cdn/shop/files/Sale-icon-2_400x.png?v=1630523967 400w,
1168    //www.k-deer.com/cdn/shop/files/Sale-icon-2_200x.png?v=1630523967 200w"
1169        height="300"
1170        width="300"
1171        style=";"
1172        class="lazyload transition--fade-in "
1173  />
1174</div>
1175
1176
1177
1178<noscript> <img src="//www.k-deer.com/cdn/shop/files/Sale-icon-2_2000x.png?v=1630523967" alt="Shop Sale" class="">
1179</noscript> <p></p></a></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/bottoms-sale" class="parent-link--true">
1180                BOTTOMS <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/collections/sale-leggings-1">Leggings</a></li> <li> <a href="/collections/sale-sneaker-length-1">Sneaker</a></li> <li> <a href="/collections/sale-capris-1">Capris</a></li> <li> <a href="/collections/sale-short-shorts-1">Shorts</a></li> <li> <a href="/collections/sale-skorts">Skorts</a></li> <li> <a href="/collections/sale-bum-bums-1">Bum Bums</a></li></ul></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/tops-sale" class="parent-link--true">
1181                TOPS <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/collections/sale-bras">Bras</a></li> <li> <a href="/collections/sale-crops">Crops</a></li> <li> <a href="/collections/sale-tanks">Tanks</a></li> <li> <a href="/collections/sale-short-sleeves">Tees</a></li> <li> <a href="/collections/sale-longsleeves">Long Sleeves</a></li></ul></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/swimwear" class="parent-link--true">
1182                SWIMWEAR <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/collections/two-pieces">Two Pieces</a></li> <li> <a href="/collections/one-pieces">One Pieces</a></li></ul></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/kids-sales" class="parent-link--true">
1183                KIDS <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/collections/kids-sales">Bottoms</a></li></ul></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/mens-sale" class="parent-link--true">
1184                MENS <span class="right icon-down-arrow"></span></a> <ul></ul></li> <li class="mobile-mega-menu_block"  ></li></div> <div> <li class="mobile-mega-menu_block mega-menu__richtext"></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/sale-accessories" class="parent-link--true">
1185                ACCESSORIES <span class="right icon-down-arrow"></span></a> <ul></ul></li> <li class="mobile-mega-menu_block sublink"> <a data-no-instant href="/collections/final-sale" class="parent-link--true">
1186                FINAL SALE <span class="right icon-down-arrow"></span></a> <ul> <li> <a href="/collections/final-sale/tops">Tops</a></li> <li> <a href="/collections/final-sale/bottoms">Bottoms</a></li></ul></li> <li class="mobile-mega-menu_block"  ></li></div></ul>
1187
1188
1189</div></div> <!--LayoutHub-Workspace-Start-->
1190
1191<div id="shopify-section-blog-template" class="shopify-section blog-section">
1192
1193
1194<a name="pagecontent" id="pagecontent"></a>
1195
1196<div class="container main content"> <div class="blog-header clearfix"> <div class="eight columns"> <h1 class="blog-title">
1197              THE K-DEER BLOG</h1> <p class="subtitle"></p></h1></div> <div class="eight columns section_select medium-down--one-whole"></div> <div class="sixteen columns"> <div class="feature_divider"></div></div></div> <div class="twelve medium-down--one-whole  columns equal-columns--outside-trim equal-columns--clear"> <div class="one-third column  article medium-down--one-half small-down--one-whole"> <a href="/blogs/news/checking-in-march-27-2023" title="Checking in... March 27, 2023">
1198            
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209<div class="image-element__wrap" style=" max-width: 2724px;"> <img  alt="Checking in... March 27, 2023"
1210        
1211        data-src="//www.k-deer.com/cdn/shop/articles/hug_with_dad_1600x.jpg?v=1709677345"
1212        data-sizes="auto"
1213        data-aspectratio="2724/2724"
1214        data-srcset="//www.k-deer.com/cdn/shop/articles/hug_with_dad_5000x.jpg?v=1709677345 5000w,
1215    //www.k-deer.com/cdn/shop/articles/hug_with_dad_4500x.jpg?v=1709677345 4500w,
1216    //www.k-deer.com/cdn/shop/articles/hug_with_dad_4000x.jpg?v=1709677345 4000w,
1217    //www.k-deer.com/cdn/shop/articles/hug_with_dad_3500x.jpg?v=1709677345 3500w,
1218    //www.k-deer.com/cdn/shop/articles/hug_with_dad_3000x.jpg?v=1709677345 3000w,
1219    //www.k-deer.com/cdn/shop/articles/hug_with_dad_2500x.jpg?v=1709677345 2500w,
1220    //www.k-deer.com/cdn/shop/articles/hug_with_dad_2000x.jpg?v=1709677345 2000w,
1221    //www.k-deer.com/cdn/shop/articles/hug_with_dad_1800x.jpg?v=1709677345 1800w,
1222    //www.k-deer.com/cdn/shop/articles/hug_with_dad_1600x.jpg?v=1709677345 1600w,
1223    //www.k-deer.com/cdn/shop/articles/hug_with_dad_1400x.jpg?v=1709677345 1400w,
1224    //www.k-deer.com/cdn/shop/articles/hug_with_dad_1200x.jpg?v=1709677345 1200w,
1225    //www.k-deer.com/cdn/shop/articles/hug_with_dad_1000x.jpg?v=1709677345 1000w,
1226    //www.k-deer.com/cdn/shop/articles/hug_with_dad_800x.jpg?v=1709677345 800w,
1227    //www.k-deer.com/cdn/shop/articles/hug_with_dad_600x.jpg?v=1709677345 600w,
1228    //www.k-deer.com/cdn/shop/articles/hug_with_dad_400x.jpg?v=1709677345 400w,
1229    //www.k-deer.com/cdn/shop/articles/hug_with_dad_200x.jpg?v=1709677345 200w"
1230        height="2724"
1231        width="2724"
1232        style=";"
1233        class="lazyload transition--fade-in "
1234  />
1235</div>
1236
1237
1238
1239<noscript> <img src="//www.k-deer.com/cdn/shop/articles/hug_with_dad_2000x.jpg?v=1709677345" alt="Checking in... March 27, 2023" class="">
1240</noscript></a> <h2><a href="/blogs/news/checking-in-march-27-2023">Checking in... March 27, 2023</a></h2> <p class="blog_meta"> <span>March 27, 2023</span>
1241          
1242
1243          
1244            
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255<span>3 min read</span> <span> <a href="/blogs/news/checking-in-march-27-2023#comments">7 Comments</a></span></p> <a href="/blogs/news/checking-in-march-27-2023" title="Checking in... March 27, 2023" >Read More</a></div> <div class="one-third column  article medium-down--one-half small-down--one-whole"> <a href="/blogs/news/success-com-article" title="Success.com Article">
1256            
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267<div class="image-element__wrap" style=" max-width: 752px;"> <img  alt="Success.com Article"
1268        
1269        data-src="//www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_1600x.jpg?v=1671122857"
1270        data-sizes="auto"
1271        data-aspectratio="752/1280"
1272        data-srcset="//www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_5000x.jpg?v=1671122857 5000w,
1273    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_4500x.jpg?v=1671122857 4500w,
1274    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_4000x.jpg?v=1671122857 4000w,
1275    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_3500x.jpg?v=1671122857 3500w,
1276    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_3000x.jpg?v=1671122857 3000w,
1277    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_2500x.jpg?v=1671122857 2500w,
1278    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_2000x.jpg?v=1671122857 2000w,
1279    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_1800x.jpg?v=1671122857 1800w,
1280    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_1600x.jpg?v=1671122857 1600w,
1281    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_1400x.jpg?v=1671122857 1400w,
1282    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_1200x.jpg?v=1671122857 1200w,
1283    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_1000x.jpg?v=1671122857 1000w,
1284    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_800x.jpg?v=1671122857 800w,
1285    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_600x.jpg?v=1671122857 600w,
1286    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_400x.jpg?v=1671122857 400w,
1287    //www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_200x.jpg?v=1671122857 200w"
1288        height="1280"
1289        width="752"
1290        style=";"
1291        class="lazyload transition--fade-in "
1292  />
1293</div>
1294
1295
1296
1297<noscript> <img src="//www.k-deer.com/cdn/shop/articles/C8443AFC-4235-4C9B-A17C-D361B5ADDF5B_2000x.jpg?v=1671122857" alt="Success.com Article" 
1297class="">
1298</noscript></a> <h2><a href="/blogs/news/success-com-article">Success.com Article</a></h2> <p class="blog_meta"> <span>December 15, 2022</span>
1299          
1300
1301          
1302            
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313<span>1 min read</span> <span> <a href="/blogs/news/success-com-article#comments">2 Comments</a></span></p> <div class="excerpt"> <meta charset="UTF-8"><span>Read the Success.com Article</span><a href="https://www.success.com/not-all-stories-have-happy-endings-for-this-entrepreneur-it-was-still-worth-it/?fbclid=IwAR000MakErLUo6kx8jQKl8as0snqBwVdgZ4CaFLFiXHPWcGxVDwRWe5f3R8" target="_blank" title="Success.com K-DEER" rel="noopener noreferrer">HERE</a><span> </span></div> <a href="/blogs/news/success-com-article" title="Success.com Article" >Read More</a></div> <div class="one-third column  article medium-down--one-half small-down--one-whole"> <a href="/blogs/news/a-final-farewell-for-now" title="A Final Farewell for Now...">
1314            
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325<div class="image-element__wrap" style=" max-width: 4678px;"> <img  alt="A Final Farewell for Now..."
1326        
1327        data-src="//www.k-deer.com/cdn/shop/articles/DSC_6767_1600x.jpg?v=1659644262"
1328        data-sizes="auto"
1329        data-aspectratio="4678/4000"
1330        data-srcset="//www.k-deer.com/cdn/shop/articles/DSC_6767_5000x.jpg?v=1659644262 5000w,
1331    //www.k-deer.com/cdn/shop/articles/DSC_6767_4500x.jpg?v=1659644262 4500w,
1332    //www.k-deer.com/cdn/shop/articles/DSC_6767_4000x.jpg?v=1659644262 4000w,
1333    //www.k-deer.com/cdn/shop/articles/DSC_6767_3500x.jpg?v=1659644262 3500w,
1334    //www.k-deer.com/cdn/shop/articles/DSC_6767_3000x.jpg?v=1659644262 3000w,
1335    //www.k-deer.com/cdn/shop/articles/DSC_6767_2500x.jpg?v=1659644262 2500w,
1336    //www.k-deer.com/cdn/shop/articles/DSC_6767_2000x.jpg?v=1659644262 2000w,
1337    //www.k-deer.com/cdn/shop/articles/DSC_6767_1800x.jpg?v=1659644262 1800w,
1338    //www.k-deer.com/cdn/shop/articles/DSC_6767_1600x.jpg?v=1659644262 1600w,
1339    //www.k-deer.com/cdn/shop/articles/DSC_6767_1400x.jpg?v=1659644262 1400w,
1340    //www.k-deer.com/cdn/shop/articles/DSC_6767_1200x.jpg?v=1659644262 1200w,
1341    //www.k-deer.com/cdn/shop/articles/DSC_6767_1000x.jpg?v=1659644262 1000w,
1342    //www.k-deer.com/cdn/shop/articles/DSC_6767_800x.jpg?v=1659644262 800w,
1343    //www.k-deer.com/cdn/shop/articles/DSC_6767_600x.jpg?v=1659644262 600w,
1344    //www.k-deer.com/cdn/shop/articles/DSC_6767_400x.jpg?v=1659644262 400w,
1345    //www.k-deer.com/cdn/shop/articles/DSC_6767_200x.jpg?v=1659644262 200w"
1346        height="4000"
1347        width="4678"
1348        style=";"
1349        class="lazyload transition--fade-in "
1350  />
1351</div>
1352
1353
1354
1355<noscript> <img src="//www.k-deer.com/cdn/shop/articles/DSC_6767_2000x.jpg?v=1659644262" alt="A Final Farewell for Now..." class="">
1356</noscript></a> <h2><a href="/blogs/news/a-final-farewell-for-now">A Final Farewell for Now...</a></h2> <p class="blog_meta"> <span>August 04, 2022</span>
1357          
1358
1359          
1360            
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371<span>2 min read</span> <span> <a href="/blogs/news/a-final-farewell-for-now#comments">20 Comments</a></span></p> <a href="/blogs/news/a-final-farewell-for-now" title="A Final Farewell for Now..." >Read More</a></div> <br class="clear" /> <div class="one-third column  article medium-down--one-half small-down--one-whole"> <a href="/blogs/news/an-announcement-from-kristine-deer" title="From Our Founder, Kristine Deer">
1372            
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383<div class="image-element__wrap" style=" max-width: 640px;"> <img  alt="An Important Message from Kristine Deer"
1384        
1385        data-src="//www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_1600x.jpg?v=1649779490"
1386        data-sizes="auto"
1387        data-aspectratio="640/640"
1388        data-srcset="//www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_5000x.jpg?v=1649779490 5000w,
1389    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_4500x.jpg?v=1649779490 4500w,
1390    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_4000x.jpg?v=1649779490 4000w,
1391    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_3500x.jpg?v=1649779490 3500w,
1392    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_3000x.jpg?v=1649779490 3000w,
1393    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_2500x.jpg?v=1649779490 2500w,
1394    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_2000x.jpg?v=1649779490 2000w,
1395    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_1800x.jpg?v=1649779490 1800w,
1396    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_1600x.jpg?v=1649779490 1600w,
1397    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_1400x.jpg?v=1649779490 1400w,
1398    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_1200x.jpg?v=1649779490 1200w,
1399    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_1000x.jpg?v=1649779490 1000w,
1400    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_800x.jpg?v=1649779490 800w,
1401    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_600x.jpg?v=1649779490 600w,
1402    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_400x.jpg?v=1649779490 400w,
1403    //www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_200x.jpg?v=1649779490 200w"
1404        height="640"
1405        width="640"
1406        style=";"
1407        class="lazyload transition--fade-in "
1408  />
1409</div>
1410
1411
1412
1413<noscript> <img src="//www.k-deer.com/cdn/shop/articles/blog-title_dcce94bc-1277-464e-9af6-d7fcfc72933f_2000x.jpg?v=1649779490" alt="An Important Message from Kristine Deer" class="">
1414</noscript></a> <h2><a href="/blogs/news/an-announcement-from-kristine-deer">From Our Founder, Kristine Deer</a></h2> <p class="blog_meta"> <span>April 12, 2022</span>
1415          
1416
1417          
1418            
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429<span>1 min read</span> <span> <a href="/blogs/news/an-announcement-from-kristine-deer#comments">17 Comments</a></span></p> <a href="/blogs/news/an-announcement-from-kristine-deer" title="From Our Founder, Kristine Deer" >Read More</a></div> <div class="one-third column  article medium-down--one-half small-down--one-whole"> <a href="/blogs/news/neda-week" title="An ED Recovery Journey">
1430            
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441<div class="image-element__wrap" style=" max-width: 386px;"> <img  alt="Abstract image of a rainbow"
1442        
1443        data-src="//www.k-deer.com/cdn/shop/articles/blog_icon2_1600x.jpg?v=1645539137"
1444        data-sizes="auto"
1445        data-aspectratio="386/386"
1446        data-srcset="//www.k-deer.com/cdn/shop/articles/blog_icon2_5000x.jpg?v=1645539137 5000w,
1447    //www.k-deer.com/cdn/shop/articles/blog_icon2_4500x.jpg?v=1645539137 4500w,
1448    //www.k-deer.com/cdn/shop/articles/blog_icon2_4000x.jpg?v=1645539137 4000w,
1449    //www.k-deer.com/cdn/shop/articles/blog_icon2_3500x.jpg?v=1645539137 3500w,
1450    //www.k-deer.com/cdn/shop/articles/blog_icon2_3000x.jpg?v=1645539137 3000w,
1451    //www.k-deer.com/cdn/shop/articles/blog_icon2_2500x.jpg?v=1645539137 2500w,
1452    //www.k-deer.com/cdn/shop/articles/blog_icon2_2000x.jpg?v=1645539137 2000w,
1453    //www.k-deer.com/cdn/shop/articles/blog_icon2_1800x.jpg?v=1645539137 1800w,
1454    //www.k-deer.com/cdn/shop/articles/blog_icon2_1600x.jpg?v=1645539137 1600w,
1455    //www.k-deer.com/cdn/shop/articles/blog_icon2_1400x.jpg?v=1645539137 1400w,
1456    //www.k-deer.com/cdn/shop/articles/blog_icon2_1200x.jpg?v=1645539137 1200w,
1457    //www.k-deer.com/cdn/shop/articles/blog_icon2_1000x.jpg?v=1645539137 1000w,
1458    //www.k-deer.com/cdn/shop/articles/blog_icon2_800x.jpg?v=1645539137 800w,
1459    //www.k-deer.com/cdn/shop/articles/blog_icon2_600x.jpg?v=1645539137 600w,
1460    //www.k-deer.com/cdn/shop/articles/blog_icon2_400x.jpg?v=1645539137 400w,
1461    //www.k-deer.com/cdn/shop/articles/blog_icon2_200x.jpg?v=1645539137 200w"
1462        height="386"
1463        width="386"
1464        style=";"
1465        class="lazyload transition--fade-in "
1466  />
1467</div>
1468
1469
1470
1471<noscript> <img src="//www.k-deer.com/cdn/shop/articles/blog_icon2_2000x.jpg?v=1645539137" alt="Abstract image of a rainbow" class="">
1472</noscript></a> <h2><a href="/blogs/news/neda-week">An ED Recovery Journey</a></h2> <p class="blog_meta"> <span>February 22, 2022</span>
1473          
1474
1475          
1476            
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487<span>3 min read</span> <span> <a href="/blogs/news/neda-week#comments">1 Comment</a></span></p> <a href="/blogs/news/neda-week" title="An ED Recovery Journey" >Read More</a></div> <div class="one-third column  article medium-down--one-half small-down--one-whole"> <a href="/blogs/news/mental-health-check-in" title="Winter Mental Health Check-In with Kristine">
1488            
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499<div class="image-element__wrap" style=" max-width: 640px;"> <img  alt="Kristine Deer"
1500        
1501        data-src="//www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_1600x.jpg?v=1645137924"
1502        data-sizes="auto"
1503        data-aspectratio="640/640"
1504        data-srcset="//www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_5000x.jpg?v=1645137924 5000w,
1505    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_4500x.jpg?v=1645137924 4500w,
1506    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_4000x.jpg?v=1645137924 4000w,
1507    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_3500x.jpg?v=1645137924 3500w,
1508    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_3000x.jpg?v=1645137924 3000w,
1509    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_2500x.jpg?v=1645137924 2500w,
1510    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_2000x.jpg?v=1645137924 2000w,
1511    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_1800x.jpg?v=1645137924 1800w,
1512    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_1600x.jpg?v=1645137924 1600w,
1513    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_1400x.jpg?v=1645137924 1400w,
1514    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_1200x.jpg?v=1645137924 1200w,
1515    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_1000x.jpg?v=1645137924 1000w,
1516    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_800x.jpg?v=1645137924 800w,
1517    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_600x.jpg?v=1645137924 600w,
1518    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_400x.jpg?v=1645137924 400w,
1519    //www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_200x.jpg?v=1645137924 200w"
1520        height="640"
1521        width="640"
1522        style=";"
1523        class="lazyload transition--fade-in "
1524  />
1525</div>
1526
1527
1528
1529<noscript> <img src="//www.k-deer.com/cdn/shop/articles/Image_from_iOS_14_2000x.jpg?v=1645137924" alt="Kristine Deer" class="">
1530</noscript></a> <h2><a href="/blogs/news/mental-health-check-in">Winter Mental Health Check-In with Kristine</a></h2> <p class="blog_meta"> <span>February 18, 2022</span>
1531          
1532
1533          
1534            
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545<span>4 min read</span> <span> <a href="/blogs/news/mental-health-check-in#comments">2 Comments</a></span></p> <a href="/blogs/news/mental-health-check-in" title="Winter Mental Health Check-In with Kristine" >Read More</a></div> <br class="clear" /></div> <div class="sidebar four columns medium-down--one-whole"> <div class="sidebar_content toggle-all--false"> <div class="sidebar-block" > <form class="blog_search" action="/search"> <input type="hidden" name="type" value="article" /> <span class="icon-search search-submit"></span> <input type="text" name="q" class="search_box" placeholder="Search THE K-DEER BLOG..." autocapitalize="off" autocomplete="off" autocorrect="off" value="" /></form></div> <div class="sidebar-block" > <h4 class="toggle">Recent Articles<span class="right icon-down-arrow"></span></h4> <ul class="toggle_list"> <li> <a href="/blogs/news/checking-in-march-27-2023" title="Checking in... March 27, 2023">Checking in... March 27, 2023</a></li> <li> <a href="/blogs/news/success-com-article" title="Success.com Article">Success.com Article</a></li> <li> <a href="/blogs/news/a-final-farewell-for-now" title="A Final Farewell for Now...">A Final Farewell for Now...</a></li> <li> <a href="/blogs/news/an-announcement-from-kristine-deer" title="From Our Founder, Kristine Deer">From Our Founder, Kristine Deer</a></li> <li> <a href="/blogs/news/neda-week" title="An ED Recovery Journey">An ED Recovery Journey</a></li></ul></div> <div class="sidebar-block" > <h4 class="newsletter-block__title">Join Our Tribe</h4> <div class="newsletter-block__text"><p>Sign up to get the latest on sales, new releases and more …</p></div> <div class="newsletter"> <div class="popup-signup-show--false clearfix"> <span class="message"></span> <form action="https://k-deer.us9.list-manage.com/subscribe/post?u=6dd68b6017152e8d8a5f3cc64&amp;id=39cf9e143e" method="post" name="mc-embedded-subscribe-form" id="contact_form" target="_blank"> <div class="input-row"></div> <div class="input-row"> <input type="email" value="" name="EMAIL" class="contact_email" placeholder="Enter your email address..."> <input type="submit" value="Sign Up" class="action_button sign_up" name="subscribe" /></div></form></div>
1546</div></div></div></div> <br class="clear" /> <div class="sixteen columns"> <div class="sixteen columns"> <div class="section clearfix"> <div class="paginate"> <span class="page current">1</span> <span class="page"><a href="/blogs/news?page=2" title="">2</a></span> <span class="page"><a href="/blogs/news?page=3" title="">3</a></span> <span class="deco">&hellip;</span> <span class="page"><a href="/blogs/news?page=16" title="">16</a></span> <span class="next"><a href="/blogs/news?page=2" title="">Next <span class="icon-right-arrow"></span></a></span></div></div></div></div>
1547
1548
1549</div>
1550
1551
1552</div><!--LayoutHub-Workspace-End--></div> <div id="shopify-section-footer" class="shopify-section footer-section">
1553
1554<footer class="footer"> <div class="container footer-menu-wrap"> <div class="sixteen columns row footer_credits"> <p class="credits">
1555          &copy; 2026 <a href="/" title="">K-DEER</a>. <a href="https:\\www.elevencommerce.com" title="Eleven Commerce">Site Credit</a></p></div><!--end footer_credits--></div></div>
1556</footer>
1557
1558<style>
1559  
1560  @font-face {
1561  font-family: "Work Sans";
1562  font-weight: 600;
1563  font-style: normal;
1564  src: url("//www.k-deer.com/cdn/fonts/work_sans/worksans_n6.75811c3bd5161ea6e3ceb2d48ca889388f9bd5fe.woff2") format("woff2"),
1565       url("//www.k-deer.com/cdn/fonts/work_sans/worksans_n6.defcf26f28f3fa3df4555714d3f2e0f1217d7772.woff") format("woff");
1566}
1567
1568  #shopify-section-footer .footer_menu h6, .footer_menu p a, .footer_content.footer-text h6, .toggle_content p{
1569  
1570  font-family: Larsseit-Bold;
1571  font-weight: 400;
1572  font-style: normal;
1573  
1574  }
1575</style>
1576
1577</div> <div class="js-quick-shop"> <div class="quick-shop js-product_section"> <div class="quick-shop__container container section js-quick-shop-container"> <div class="quick-shop__gallery
1578                  eight
1579                  columns
1580                  gallery-wrap
1581                  js-gallery-wrap
1582                  
1583                    bottom-thumbnails
1584                  
1585                  gallery-arrows--true
1586                  
1587                  "> <div class="gallery
1588                    product_gallery
1589                    js-gallery-modal
1590                    product--gallery
1591                    transparentBackground--true
1592                    slideshow_animation--slide
1593                    
1594                    "
1595            data-zoom="false"></div> <div class="gallery product_gallery_nav js-gallery-carousel product_gallery_nav--bottom-thumbnails"></div></div> <div class="quick-shop__text-wrap six columns text-modal-wrap"> <!--Product banners inserted with JS - populateProductInfo() --> <div class="sale_banner_product js-sale-banner"></div> <div class="new_banner_product js-new-banner"></div> <div class="new_banner_product js-pre-order-banner"></div> <h3 class="quick-shop__title js-product-title"></h3> <div class="feature_divider"></div> <p class="modal_price"> <span class="sold_out js-sold-out"></span> <span class="current_price js-current-price"><span class="money"></span></span> <span class="was_price js-was-price"><span class="money"></span></span> <span class="sale savings js-savings"></span></p> <span class="js-notify-form"></span> <p> <span class="js-regular-description"></span> <span class="js-product-details"></span></p> <span class="js-product-form"></span></div></div></div>
1596</div> 
1596<script src="//www.k-deer.com/cdn/shop/t/179/assets/jquery.min.js?v=9503732020592794151656341947"></script>
1596 
1596<script src="//www.k-deer.com/cdn/shop/t/179/assets/vendors.js?v=143560892723107968231656341969"></script>
1596 
1596<script src="//www.k-deer.com/cdn/shop/t/179/assets/sections.js?v=130920438009301027651656342972"></script>
1596 
1596<script src="//www.k-deer.com/cdn/shop/t/179/assets/utilities.js?v=128684396429140286481656342971"></script>
1596 
1596<script src="//www.k-deer.com/cdn/shop/t/179/assets/app.js?v=64557289996256524571656342971"></script>
1596 
1596<script src="//www.k-deer.com/cdn/shop/t/179/assets/instantclick.min.js?v=20092422000980684151656341945" data-no-instant></script>
1596 
1596<script data-no-instant>
1597
1598      function inIframe() {
1599        try {
1600          return window.self !== window.top;
1601        } catch (e) {
1602          return true;
1603        }
1604      }
1605
1606      if (!inIframe()){
1607        InstantClick.init();
1608        InstantClick.on('change', function() {
1609
1610          $('head script[src*="shopify"]').each(function() {
1611            var script = document.createElement('script');
1612            script.type = 'text/javascript';
1613            script.src = $(this).attr('src');
1614
1615            $('body').append( script );
1616          });
1617
1618          $('body').removeClass('fancybox-active');
1619          $.fancybox.destroy();
1620
1621        });
1622      }</script>
1622 
1622<script></script>
1622 <!----- YOU MUST INCLUDE THIS STATMENT WHEN USING A NEW THEME OR CRITEO TAGS WILL BREAK ----------> <!-- Begin Criteo OneTag -->
1623<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
vendor: 1 bytes, line 1623
1623
1624<script type="text/javascript">
1625  var site_type = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
1626  window.criteo_q = window.criteo_q || [];
1627  window.criteo_q.push(
1628    { event: "setAccount", account: 58412 },
1629    { event: "setSiteType", type: site_type},
1630    { event: "setEmail", email: "d41d8cd98f00b204e9800998ecf8427e"});
1631</script>
1631
1632
1633<script>
1634
1635    $(document).ajaxSuccess(function(event, xhr, settings) {
1636
1637        var basketdata = [];
1638
1639        if (settings.url == "/cart/add.js" || settings.url == "/cart/update.js") {
1640
1641            $.getJSON('/cart.js', function(data) {
1642
1643                basketdata = data.items.map(function(item) {
1644
1645                    return {
1646
1647                        id: item.product_id,
1648
1649                        price: item.price / 100,
1650
1651                        quantity: item.quantity
1652
1653                    }
1654
1655                });
1656
1657                window.criteo_q.push({
1658
1659                    event: "viewBasket",
1660
1661                    product: basketdata
1662
1663                });
1664
1665            });
1666
1667        }
1668
1669    });
1670
1671</script>
1671
1672<!-- End Criteo OneTag -->
1673
1674<!----- YOU MUST INCLUDE THIS STATMENT WHEN USING A NEW THEME OR CRITEO TAGS WILL BREAK ---------->
1675  
1676<!-- **BEGIN** Hextom QAB Integration // Main Include - DO NOT MODIFY --> <!-- **BEGIN** Hextom QAB Integration // Main - DO NOT MODIFY -->
1677<script type="application/javascript">
1678    window.hextom_qab_meta = {
1679        p1: [
1680            
1681        ],
1682        p2: {
1683            
1684        }
1685    };
1686</script>
1686
1687<!-- **END** Hextom QAB Integration // Main - DO NOT MODIFY --> <!-- **END** Hextom QAB Integration // Main Include - DO NOT MODIFY -->
1688<!--Gem_Page_Footer_Script-->
1689<!-- "snippets/gem-app-footer-scripts.liquid" was not rendered, the associated app was uninstalled -->
1690<!--End_Gem_Page_Footer_Script--><!--Content in content_for_footer -->
1691
1692			
1693<!--LH-->
1694
1695
1696
1697
1698
1699<style>.ocu-hidden.ocu-hidden.ocu-hidden,.bold_hidden.bold_hidden.bold_hidden{display:none !important}</style>
1700<script>
1701!function(){
1702if (window.performance) {
1703    const navEntries = window.performance.getEntriesByType && window.performance.getEntriesByType('navigation');
1704    if (navEntries && navEntries.length > 0 && navEntries[0].type === 'back_forward') {
1705      location.reload();
1706    } else if (window.performance.navigation && window.performance.navigation.type === window.performance.navigation.TYPE_BACK_FORWARD) {
1707      location.reload();
1708    }
1709}
1710
1711!function(){var e=[];window.Promise||e.push("Promise"),window.URLSearchParams||e.push("URL"),Element.prototype.closest||e.push("Element.prototype.closest"),Array.from||e.push("Array.from"),Object.assign||e.push("Object.assign"), Object.entries||e.push("Object.entries"),Object.values||e.push("Object.values"),Array.prototype.includes||e.push("Array.prototype.includes");try{new Event("event")}catch(t){e.push("Event")}try{Symbol}catch(t){e.push("Symbol")}if(e.length){var t=document.createElement("script");t.src="https://polyfill-fastly.net/v3/polyfill.min.js?features="+e.join(",")+"&flags=gated",t.async=!0,document.head.appendChild(t)}Object.setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e}}();
1712
1713var originalURLSearchParams=URLSearchParams;var ajax,utils={store:Object.freeze(new Store),cookie:{options:{expires:86400,path:"/",encodeValue:!1},get:function(e){var t=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0},set:function(e,t,n){var i=(n=n||this.options).expires;if("number"==typeof i&&i){var r=new Date;r.setTime(r.getTime()+1e3*i),i=n.expires=r}i&&i.toUTCString&&(n.expires=i.toUTCString());var o=e+"="+(t=encodeURIComponent(t));for(var s in n){o+="; "+s;var a=n[s];!0!==a&&(o+="="+a)}document.cookie=o},remove:function(e){this.set(e,null,{expires:-1})}},queryParams:function(e){var t={};return e.replace("?","").split("&").forEach(function(e){var n=e.split("=")[0],i=e.split("=")[1];t[n]=decodeURIComponent(i)}),t},shareableDiscount:function(e){e=e||{};var t=utils.queryParams(location.search)[e.key||"discount"];t&&(utils.cookie.set(e.name||"ocu-share-discount",t,utils.cookie.options),!e.clear||history.pushState(null,null,location.href.replace(/\?.+/,"")))},serializeForm:function(e){return new originalURLSearchParams(new FormData(e).fd || new FormData(e)).toString()},serializeFormEdge:function(e){var t,n=[];if("object"==typeof e&&"FORM"==e.nodeName){var r=e.elements.length;for(i=0;i<r;i++)if((t=e.elements[i]).name&&!t.disabled&&"file"!=t.type&&"reset"!=t.type&&"submit"!=t.type&&"button"!=t.type)if("select-multiple"==t.type)for(j=e.elements[i].options.length-1;j>=0;j--)t.options[j].selected&&(n[n.length]=encodeURIComponent(t.name)+"="+encodeURIComponent(t.options[j].value));else("checkbox"!=t.type&&"radio"!=t.type||t.checked)&&(n[n.length]=encodeURIComponent(t.name)+"="+encodeURIComponent(t.value))}return n.join("&").replace(/%20/g,"+")},serialize:function(e,t,n,i){if(this.helpers.isFormData(t)&&(i=n,n=t,t=null),(t=t||{}).indices=t.indices||!1,n=n||new originalURLSearchParams,this.helpers.isUndefined(e))return n;if(this.helpers.isNull(e))n.append(i,"");else if(this.helpers.isArray(e))if(e.length)e.forEach(function(e,r){var o="object"==typeof e,s=i+"["+(t.indices&&o?r:"")+"]";this.serialize(e,t,n,s)}.bind(this));else{var r=i+"[]";n.append(r,"")}else this.helpers.isDate(e)?n.append(i,e.toISOString()):!this.helpers.isObject(e)||this.helpers.isFile(e)||this.helpers.isBlob(e)?n.append(i,e):Object.keys(e).forEach(function(r){var o=e[r];if(this.helpers.isArray(o))for(;2<r.length&&r.lastIndexOf("[]")===r.length-2;)r=r.substring(0,r.length-2);var s=i?i+"["+r+"]":r;this.serialize(o,t,n,s)}.bind(this));return n},inArray:function(e,t,n){return e.some(function(e){return e[t]===n})},filterObject:function(e,t){return t.reduce(function(t,n){return t[n]=e[n],t},{})},helpers:{isUndefined:function(e){return void 0===e},isNull:function(e){return null===e},isObject:function(e){return e===Object(e)},isArray:function(e){return Array.isArray(e)},isDate:function(e){return e instanceof Date},isBlob:function(e){return e&&"number"==typeof e.size&&"string"==typeof e.type&&"function"==typeof e.slice},isFile:function(e){return this.isBlob(e)&&("object"==typeof e.lastModifiedDate||"number"==typeof e.lastModified)&&"string"==typeof e.name},isFormData:function(e){return e instanceof FormData}}};
1714
1715function PrecheckoutIntegrations(cartItems) {
1716    this.cartItems = cartItems;
1717}
1718
1719PrecheckoutIntegrations.prototype = {
1720    get advancedProductOptions() {
1721        const cartItems = this.cartItems;
1722
1723        return {
1724            get present() {
1725                return !!window.mwProductOptions;
1726            },
1727            get relations() {
1728                return cartItems.reduce(function(acc, item) {
1729                    if (item.properties && item.properties._mw_option_relation) {
1730                        acc.push(+item.properties._mw_option_relation.split('_')[0]);
1731                    }
1732                    return acc;
1733                }, []);
1734            }
1735        };
1736    },
1737
1738    get zapiet() {
1739        return {
1740            get present() {
1741                return !!(window.Zapiet && document.querySelector('#storePickupApp'));
1742            },
1743            get params() {
1744                const params = (Zapiet.Cart && Zapiet.Cart.getUrlParams()) || {};
1745
1746                return Object.entries(params).reduce(function(acc, keyValue) {
1747                    if (/^\s*$/.test(keyValue[1])) return acc;
1748                    const param = {};
1749                    param[keyValue[0]] = keyValue[1];
1750                    return (acc.push(param), acc);
1751                }, []);
1752            },
1753            merge: function(params) {
1754                return (params || []).concat(this.params);
1755            },
1756        };
1757    },
1758
1759    get simpleInStorePickup() {
1760        return {
1761            get present() {
1762                const checkbox = document.querySelector('#in-store-pick-up');
1763                return checkbox && checkbox.checked;
1764            },
1765            get params() {
1766                const form = document.querySelector('form[action^="/cart"]');
1767                if (!form) return [];
1768                const action = form.action.split(/\?|&/);
1769                const data = action.slice(7).slice(0, 3);
1770                const address = action.slice(-6);
1771                const params = data.concat(address);
1772
1773                return params.reduce(function(acc, item) {
1774                    const keyValue = item.split('=');
1775                    const param = {};
1776                    param[keyValue[0]] = decodeURIComponent(keyValue[1]);
1777                    return (acc.push(param), acc);
1778                }, []);
1779            },
1780            merge: function(params) {
1781                return (params || []).concat(this.params);
1782            }
1783        };
1784    },
1785
1786    get weglot() {
1787        return {
1788            get present() {
1789                return !!window.Weglot;
1790            },
1791            get params() {
1792                const param = { locale: window.Weglot.getCurrentLang()}
1793
1794                return [param];
1795            },
1796            merge: function(params) {
1797                return (params || []).concat(this.params);
1798            }
1799        }
1800    },
1801
1802    get bt() {
1803        return {
1804            get present() {
1805                return !!(window.BT && window.$);
1806            },
1807            get addToCartBtn() {
1808                return document.querySelector('button[name="add"]');
1809            },
1810            startLoadingBtn: function() {
1811                BT.startLoadingBtn($(this.addToCartBtn));
1812            },
1813            endLoadingBtn: function() {
1814                BT.endLoadingBtn($(this.addToCartBtn));
1815            }
1816        }
1817    },
1818
1819    get exemptify() {
1820        return {
1821            get present() {
1822                const checkoutExemptifyBtn = document.querySelector('[name="checkout-exemptify"]');
1823                const checkoutButtons = document.querySelectorAll('[data-ocu-checkout]');
1824                return !!checkoutExemptifyBtn && checkoutButtons.length > 1;
1825            }
1826        };
1827    },
1828
1829    get tidio() {
1830        return {
1831            stateStorageKey: null,
1832            selector: {
1833                main: 'script[src*="code.tidio.co"]',
1834                fallback: 'script[src*="code.tidio"],script[src*="code"][src*="tidio"],script[src*="uploads/redirect"][src*="tidio"]'
1835            },
1836
1837            get present() {
1838                return !!window.tidioChatApi;
1839            },
1840            get storageKey() {
1841                return this.stateStorageKey || (this.stateStorageKey = 'tidio_state_' + (this.publickey || 'preview'));
1842            },
1843            get publickey() {
1844                let scriptTag = document.querySelector(this.selector.main);
1845                if (!scriptTag) scriptTag = document.querySelector(this.selector.fallback);
1846
1847                const regex = /([a-z0-9]+)(\.js|$)/g;
1848                const matches = regex.exec(scriptTag.src);
1849
1850                if (matches && matches[1].length === 32) return matches[1];
1851            },
1852            saveKeyToStorage: function(key, value) {
1853                const serializedValue = JSON.stringify(value);
1854                localStorage.setItem(this.storageKey + '_' + key, serializedValue);
1855
1856            },
1857            trackEvent: function(event, successCallback) {
1858                window.tidioChatApi.track('shopify.' + event, {}, successCallback || function() {});
1859            },
1860            track: function() {
1861                try {
1862                    this.saveKeyToStorage('goToCheckout', true);
1863                    this.trackEvent('go_to_checkout');
1864                } catch (e) {
1865                    console.log('tidio integration error', e.message);
1866                }
1867            }
1868        };
1869    },
1870
1871    get buttonLoading() {
1872        return {
1873            idTheme: null,
1874            typeButton: null,
1875            typeElement: null,
1876            context: null,
1877            init(target) {
1878                this.idTheme = this.supportTheme;
1879
1880                const button = target.querySelector('[name="add"], [name="checkout"]') || target;
1881                this.typeButton = button.getAttribute('name');
1882            },
1883            get present() {
1884                return !!(window.hasOwnProperty('Shopify') && window.Shopify !== undefined && Shopify.theme.id === this.idTheme);
1885            },
1886            get buttonSelector() {
1887                return {
1888                    checkout: 'button[name="checkout"]',
1889                    add: 'button[name="add"]',
1890                }[this.typeButton];
1891            },
1892            get supportTheme() {
1893                const arrayThemesWithClasses = [120471879906];
1894                const arrayThemesWithElements = [120430788673];
1895
1896                if (arrayThemesWithClasses.indexOf(Shopify.theme.id) !== -1){
1897                    this.typeElement = 'class';
1898                    const index = arrayThemesWithClasses.indexOf(Shopify.theme.id);
1899                    return arrayThemesWithClasses[index];
1900                }
1901
1902                if (arrayThemesWithElements.indexOf(Shopify.theme.id) !== -1){
1903                    this.typeElement = 'element';
1904                    const index = arrayThemesWithElements.indexOf(Shopify.theme.id);
1905                    return arrayThemesWithElements[index];
1906                }
1907            },
1908            get buttonElements() {
1909                return document.querySelectorAll(this.buttonSelector);
1910            },
1911            get checkCondition() {
1912                return this.present && this.buttonElements.length > 0;
1913            },
1914            get loaderSelector() {
1915                return {
1916                    120471879906: 'btn--loading',
1917                }[this.idTheme];
1918            },
1919            get loaderElement() {
1920                return {
1921                    120430788673: '<i class="fa fa-spinner fa-spin"></i>',
1922                }[this.idTheme];
1923            },
1924            startingLoadingAction() {
1925                const condition = {
1926                    class: this.addingClasses,
1927                    element: this.insertElements,
1928                }[this.typeElement].call(this);
1929            },
1930            endingLoadingAction() {
1931                const condition = {
1932                    class: this.deletingClasses,
1933                    element: this.deleteElements,
1934                }[this.typeElement].call(this);
1935            },
1936            addingClasses() {
1937                this.buttonElements.forEach((element) => {
1938                    element.setAttribute('disabled', 'disabled');
1939                    element.classList.add(this.loaderSelector);
1940                });
1941            },
1942            deletingClasses() {
1943                this.buttonElements.forEach((element) => {
1944                    element.classList.remove(this.loaderSelector);
1945                    element.removeAttribute('disabled');
1946                });
1947            },
1948            insertElements() {
1949                this.buttonElements.forEach((element) => {
1950                    element.insertAdjacentHTML('beforeend', this.loaderElement);
1951                });
1952            },
1953            deleteElements() {
1954                this.buttonElements.forEach((element) => {
1955                    element.removeChild(element.lastChild);
1956                });
1957            },
1958            startLoadingButton() {
1959                if (this.checkCondition) this.startingLoadingAction();
1960            },
1961            endLoadingButton() {
1962                if (this.checkCondition) this.endingLoadingAction();
1963            },
1964        }
1965    },
1966
1967    get salesRocket() {
1968        return {
1969            get present() {
1970                return !!window.SalesRocket;
1971            },
1972            setup: function() {
1973                if (!this.present || utils.store.get('salesRocketIntegrationApplied')) return;
1974                try {
1975                    document
1976                        .querySelector('.ws-cs-checkout-btn')
1977                        .setAttribute('name', 'checkout');
1978                    utils.store.set('salesRocketIntegrationApplied', true);
1979                } catch (e) {
1980                    console.error('salesRocketIntegrationError', e)
1981                    utils.store.set('salesRocketIntegrationApplied', false);
1982                }
1983            }
1984        }
1985    },
1986
1987    get bundlerBuilder() {
1988        return {
1989            selector: '/apps/bundles',
1990            get bundleBuilderInput () {
1991                return document.querySelector('#bb_proxy_prefix');
1992            },
1993            get present() {
1994                return this.bundleBuilderInput &&
1995                    this.bundleBuilderInput.value === this.selector &&
1996                    this.bundlerForm &&
1997                    !!this.bundlerForm.querySelector(`[formaction="${this.selector}/cart"]`);
1998            },
1999            get bundlerForm() {
2000                return this.bundleBuilderInput.closest(`form[action*="${this.selector}"]`);
2001            },
2002            submit() {
2003                this.bundlerForm.submit();
2004            }
2005        }
2006    },
2007
2008    get minMaxify() {
2009        return {
2010            get present() {
2011                return !!window.minMaxify;
2012            },
2013            get isFunction() {
2014                return minMaxify.checkLimits instanceof Function;
2015            },
2016            get invalid() {
2017                return this.present && this.isFunction && !minMaxify.checkLimits();
2018            }
2019        };
2020    }
2021};
2022
2023if (!window.OCUApi) window.OCUApi = {};
2024const FALSE_REDIRECT = { redirect_url: null };
2025
2026window.OCUApi = Object.assign(OCUApi, {
2027    showUpsell: function(params) {
2028        const dispatcher = this.context.popupDispatcher;
2029        const context = this.context;
2030        dispatcher.context = this.context;
2031        dispatcher.target = params.form;
2032
2033        return new Promise((resolve, reject) => {
2034            const callback = function(res) {
2035                if (dispatcher._upsellAppInstance()) dispatcher._upsellAppInstance().hide();
2036                context.integrations.zipifyPages.clear();
2037                const response = r => ({ skip_cart: lqd.skip_cart, ...r });
2038                resolve(response(res.detail.response || FALSE_REDIRECT));
2039            };
2040
2041            const { blockId, products } = params;
2042
2043            this.context.integrations.zipifyPages.setProducts(products);
2044            this.context.integrations.zipifyPages.setBlockId(blockId);
2045
2046            if (this.context.integrations.zipifyPages.isBlockOutsideProductPage()) {
2047                return this.context.integrations.zipifyPages.handleZPOutsidePage(this.context, callback);
2048            }
2049
2050            if (!dispatcher.isProductAction) {
2051                context.integrations.zipifyPages.clear();
2052                return resolve(FALSE_REDIRECT);
2053            }
2054
2055            dispatcher.listenCustomEvent(callback);
2056            dispatcher._show(null, true);
2057        });
2058    },
2059
2060    initialize: function(params) {
2061        this.context = params.context;
2062    },
2063
2064    onAccept: function() {
2065    },
2066
2067    onDecline: function() {
2068    }
2069});
2070
2071function PopupDispatcher() {}
2072
2073PopupDispatcher.prototype = {
2074
2075    proceed: function(event, target, context) {
2076        this.context = context;
2077        this.target = target;
2078        this.event = event;
2079        this.appropriateResponse = null;
2080        this.actualCart = null;
2081        this.listenCustomEvent();
2082        this.bt = OCUIncart.integrations().bt;
2083
2084        this.buttonLoading = this._initButtonLoading();
2085        this.buttonLoading.init(target);
2086        this._startLoading();
2087
2088        const isProductLocation = this.isProductLocationOption(target);
2089        const isProductOnCart = isProductLocation && lqd.template_name === 'cart';
2090        OCUIncart._is_product_action = this.isProductAction;
2091
2092        const isEventPermitted = (!event.isTrusted && this.secondAttempt)
2093            || isProductOnCart
2094            || this.context.helpers.isDisabledButton(this.event.target)
2095            || this.context.helpers.termsOfServiceConfirmation(this.event.target);
2096
2097        if (isEventPermitted) return this._clearFlow();
2098
2099        if (this.isProductLocationOption(target)) return this.productLocation(event, target);
2100
2101        this.context.prevent(event, 'immediate');
2102        return this.check(event, target);
2103    },
2104
2105    check: function(event, target) {
2106        const self = this.context;
2107        return self.cart.get()
2108            .then(self.cart.update)
2109            .then(function(res) {
2110                OCUIncart.cart_items = res.data.items || res.data.cart.items;
2111                lqd.cart = res.data.items ? res.data : res.data.cart;
2112
2113                try {
2114                    const app = self.helpers.isSubscriptionProductInCart(lqd.cart);
2115                    if (app && this.isProductAction) return this.nativeClick();
2116                    if (app) return self.integrations[app].redirect(event, lqd.cart);
2117                } catch (e) {
2118                    return this.checkout();
2119                }
2120
2121                if (!utils.cookie.get('ocu_shown_popup')) {
2122                    return this.show(event, target);
2123                }
2124
2125                this.checkout();
2126            }.bind(this))
2127            .catch(this.checkout.bind(this));
2128    },
2129
2130    show: function(event, target) {
2131        this.context.prevent(event);
2132
2133        if (utils.store.get('amazonPayInitiated')) return null;
2134        const form = target.closest('[action="/cart"], [action="/checkout"]');
2135        if (form && !this.context.validate(form)) {
2136            clearTimeout(utils.store.get('fallback').id);
2137            utils.store.set('submitted', false);
2138            return form.reportValidity();
2139        }
2140
2141        if (window.disableBodyScroll) disableBodyScroll();
2141 // fix locked scroll at mobile for themes with libs.min.js
2142
2143        return this._show(event, false);
2144    },
2145
2146    _show: function (event, apiMode) {
2147        this.apiMode = apiMode;
2148
2149        const self = this.context;
2150        const isRechargeEnabled = lqd.integrate_with_recharge && !lqd.disabled_by_subscription_app;
2151        const precheckoutConfig = {
2152            utils: utils,
2153            Updater: Updater,
2154            is_recharge_enabled: isRechargeEnabled,
2155            is_skip_cart: lqd.skip_cart,
2156            product: lqd.product,
2157            integrations: {
2158                zipifyPages: self.integrations.zipifyPages
2159            }
2160        };
2161
2162        return this[this.appropriateResponse ? '_emptyResolve' : 'getIncartConfig'](this.appropriateResponse)
2163            .then(function(response) {
2164                window.OCUIncart.preLoad && window.OCUIncart.preLoad.showLoader();
2165                self.helpers.beforeCreate();
2166                utils.store.set('isTargetBuyNow', self.helpers.isBuyNow(event));
2167
2168                this.kind = response.data.kind;
2169                precheckoutConfig.config = response.data;
2170                const isProductPreloaded = lqd.skip_cart || utils.store.get('isTargetBuyNow') || this.apiMode;
2171
2172                if (precheckoutConfig.product && !isProductPreloaded) {
2173                    precheckoutConfig.product.quantity = this._quantityOfProduct;
2174                    precheckoutConfig.product.selectedPageProduct = this._selectedVariant(precheckoutConfig.product.variants);
2175                }
2176
2177                self.utils.beforePrecheckoutPopup();
2178                OCUIncart._is_product_action = this.isProductAction;
2179                return this._upsellAppInstance().setData(precheckoutConfig);
2180            }.bind(this))
2181            .catch(this[apiMode ? '_finalizeEvent' : 'checkout'].bind(this));
2182    },
2183
2184    getIncartConfig: function() {
2185        let query = '/pre_purchase/v1/checkout_offers/appropriate?';
2186        const endpoint = window.OCUIncart && OCUIncart.appEndpoint;
2187        const headers = {
2188            'Content-Type': 'application/json',
2189            'Shop-Domain': lqd.permanent_domain
2190        };
2191        const self = this.context;
2192        const cart = this.actualCart ? this.actualCart : lqd.cart;
2193        const isSameCart = self.helpers.isSameCart(cart);
2194        const isSameCartToken = self.helpers.isSameCartToken(cart);
2195
2196        if ((!isSameCart && !isSameCartToken) || !isSameCartToken) utils.cookie.remove('ocu_popup_ids')
2197        const isShownOfferIdPresent = utils.cookie.get('ocu_popup_ids');
2198
2199        if (isShownOfferIdPresent) query += 'split_test_weight=' + isShownOfferIdPresent;
2200
2201        try {
2202            if (!this.apiMode) this._endLoading();
2203            const payload = this._incartPayload();
2204            return axios.post(endpoint + query, payload, { headers: headers });
2205        } catch (e) {
2206            this.nativeClick();
2207            return this._emptyResolve('skip');
2208        }
2209    },
2210
2211    checkout: function(event) {
2212        const ocuEvent = event && event.type === 'ocuNativeClick';
2213
2214        if (event && !ocuEvent) {
2215            if (event.response) console.error(event.response.data.message);
2216            else console.error(event);
2217        }
2218
2219        const originalBehaviorState = this.isProductAction
2220            && !utils.store.get('isTargetBuyNow')
2221            && (ocuEvent && event.detail.type !== 'Upgrade')
2222            && !lqd.skip_cart;
2223
2224        this._endLoading();
2225        window.OCUIncart.preLoad && window.OCUIncart.preLoad.hideLoader();
2226
2227        if (this.bt && this.bt.present) this.bt.endLoadingBtn();
2228
2229        if (originalBehaviorState) {
2230            this._upsellAppInstance().hide();
2231            this.nativeClick();
2232            return;
2233        }
2234        if (event && !(event instanceof Error)) this.context.prevent(event, true);
2235        const url = event && event.detail && event.detail.response;
2236        return this.context.checkout({
2237            redirect: true,
2238            redirect_url: url && url.redirect_url
2239        });
2240    },
2241
2242    isProductLocationOption: function(target) {
2243        return lqd.isPopupTriggerPage
2244            && target.tagName.toLowerCase() === 'form'
2245            && this._isAddAction(target);
2246    },
2247
2248    productLocation: function(event, target) {
2249        const variantId = this._formVariantId(target);
2250        if (this.popupAccepted) return this.nativeClick();
2251        // if (!this._variantWasTrigger(variantId) && !this._productWasTrigger()) return this.breakHandling(event, target); // exit handling if product not trigger
2252
2253        this.context.prevent(event, true);
2254        if (this.bt && this.bt.present) this.bt.startLoadingBtn();
2255
2256        target.disabled = true;
2257        this.verifyToken()
2258            .then(this[this.secondAttempt ? 'getActualCart' : '_emptyResolve'].bind(this))
2259            .then((response) => this.actualCart = response && response.data)
2260            .then(function() {
2261                this.getIncartConfig({ product_id: lqd.product.id, variant_id: variantId })
2262                    .then(function(response) {
2263                        if (response === 'skip') return;
2264                        if (lqd.skip_cart || this.context.helpers.isBuyNow(this.event)) return this.addAndCheck();
2265                        this.appropriateResponse = response;
2266                        this.check(this.event, this.target, null);
2267                    }.bind(this))
2268                    .catch(this.nativeClick.bind(this));
2269            }.bind(this))
2270    },
2271
2272    verifyToken: function() {
2273        // create cart token if no exist, for new session
2274        return !this.cartToken ? this.context.cart.bulkAdd() : this._emptyResolve();
2275    },
2276
2277    addAndCheck: function() {
2278        this.context.cart.add(this.target)
2279            .then(function(response) {
2280                this.check(this.event, this.target, response.data);
2281            }.bind(this))
2282            .catch(this.checkout);
2283    },
2284
2285    getActualCart: function() {
2286        return this.context.cart.get();
2287    },
2288
2289    nativeClick: function() {
2290        this._clearFlow();
2291        this.secondAttempt = true;
2292        const button = this.target.querySelector('[type="submit"], [name="add"], [name="checkout"], [data-skip-cart]');
2293
2294        this.context.helpers.removeExtraClassList(button);
2295        button.click();
2296        if (this.bt && this.bt.present) this.bt.endLoadingBtn();
2297    },
2298
2299    getTriggerAction() {
2300        const templateTrigger = this.isAcceptableAction(this.targetAction) ? this.targetAction : 'cart';
2301        return {
2302            cart: 'cart',
2303            product: 'product'
2304        }[templateTrigger];
2305    },
2306
2307    isAcceptableAction: function(type) {
2308        return lqd.isPopupTriggerPage && !!~OCUIncart.popupLocation.indexOf(type);
2309    },
2310
2311    breakHandling: function(event, target) {
2312        if (!lqd.skip_cart) return this._clearFlow()
2313        this.context.prevent(event);
2314        return this.context.cart.add(target)
2315            .then(this.checkout.bind(this))
2316            .catch(this.checkout.bind(this));
2317    },
2318
2319    listenCustomEvent: function(callback) {
2320        const cb = callback ? callback : this.checkout;
2321        document.addEventListener('ocuNativeClick', cb.bind(this), { once: true });
2322    },
2323
2324    removeCustomEvents: function() {
2325        document.removeEventListener('ocuNativeClick', this.checkout, true);
2326    },
2327
2328    _upsellAppInstance: function() {
2329        return OCUIncart[this.kind + 'Upsells'];
2330    },
2331
2332    _incartPayload() {
2333        const payload = this.context.helpers.getCartItems(this.actualCart ? this.actualCart.items : lqd.cart.items);
2334        const variant = this._productPageVariant;
2335        const shownPopupId = utils.cookie.get('ocu_shown_id');
2336
2337        payload.cart_token = this.cartToken;
2338        payload.location = this.getTriggerAction();
2339        payload.currency = this.context.helpers.currencyRate();
2340
2341        if (shownPopupId) payload.shown_popup_id = shownPopupId;
2342        if (payload.location === 'product') {
2343
2344            if (!variant) throw new Error('Variant not found');
2345
2346            payload.line_items.push(variant)
2347        }
2348
2349        utils.store.set('productLocation', variant);
2350
2351        return payload;
2352    },
2353
2354    _isAddAction: function(el) {
2355        return el && ((/cart\/add/.test(el.action)) || el.dataset.hasOwnProperty('zpAddToCartForm'));
2356    },
2357
2358    _variantWasTrigger: function(id) {
2359        const funnels = OCUIncart.funnels;
2360        if (funnels.triggers.all) return true;
2361        return !!~funnels.triggers.variants.indexOf(id);
2362    },
2363
2364    _productWasTrigger: function() {
2365        const triggers = OCUIncart.funnels.triggers;
2366        if (triggers.all) return true;
2367        return !!~triggers.products.indexOf(lqd.product.id);
2368    },
2369
2370    _formVariantIds: function(target) {
2371        let form = this.context.cart.serialize(target);
2372        form = decodeURI(form);
2373
2374        const matches = form.match(/id(\[\])?=(\d+)/g);
2375        if (!matches) return [];
2376
2377        return matches.map(function(item) {
2378            const result = item.match(/(\d+)/);
2379            return result && +result[1];
2380        });
2381    },
2382
2383    _formVariantId: function(target) {
2384        const ids = this._formVariantIds(target);
2385
2386        if (ids.length === 1) return ids[0];
2387
2388        return ids.find(function(id) {
2389            return !!~OCUIncart.funnels.triggers.variants.indexOf(id);
2390        });
2391    },
2392
2393    _emptyResolve: function(response) {
2394        return new Promise(function(resolve) { resolve(response); });
2395    },
2396
2397    _finalizeEvent: function(response) {
2398        document.dispatchEvent(new CustomEvent('ocuNativeClick', { detail: { redirect_url: null } }));
2399    },
2400
2401    _clearFlow() {
2402        window.OCUIncart.preLoad && window.OCUIncart.preLoad.hideLoader();
2403        this.context.helpers.clearFallback();
2404        utils.store.set('submitted', false);
2405        return null;
2406    },
2407    _initButtonLoading: function() {
2408        return OCUIncart.integrations().buttonLoading;
2409    },
2410
2411    _startLoading: function() {
2412        this.buttonLoading.startLoadingButton();
2413    },
2414
2415    _endLoading: function() {
2416        this.buttonLoading.endLoadingButton();
2417    },
2418
2419
2420    _selectedVariant: function(variants) {
2421        const variantOfProduct = this._productPageVariant.variant_id;
2422        let price = 0;
2423        let variantId = null;
2424        variants.forEach(function (variant) {
2425            if (variant.id === Number(variantOfProduct)) {
2426                price = variant.price;
2427                variantId = variant.id;
2428            }
2429        });
2430
2431        return { price, variantId };
2432    },
2433
2434    get _productPageVariant() {
2435        if (!this.isProductAction) return {};
2436
2437        const variant = this.target.querySelector('[name="id"], [name="id[]"]');
2438        const quantity = this.target.querySelector('[name="quantity"]');
2439        const currentVariant = lqd.product.variants.find(function(item) {
2440            return item.id === +variant.value && item.available;
2441        });
2442        const isVariantAvailable = lqd.product.available || currentVariant;
2443
2444        const availableVariantId = isVariantAvailable && !Number.isNaN(+variant.value);
2445
2446        if (!availableVariantId) return null;
2447
2448        const productEntity = currentVariant || lqd.product;
2449
2450        return {
2451            variant_id: +variant.value,
2452            product_id: lqd.product.id,
2453            price: productEntity.price,
2454            quantity: (quantity && +quantity.value) || 1,
2455            is_product_location: true
2456        };
2457    },
2458
2459    get cartToken() {
2460        return lqd.cart.token || utils.cookie.get('cart');
2461    },
2462
2463    get isProductAction() {
2464        return this.getTriggerAction() === 'product';
2465    },
2466
2467    get destination() {
2468        if(utils.store.get('isTargetBuyNow')) return 'checkout';
2469        return this.isProductAction ? 'cart' : 'checkout';
2470    },
2471
2472    get popupAccepted() {
2473        return OCUIncart.settings.popup_frequency === 'accept_or_decline'
2474            && utils.cookie.get('cart') === utils.cookie.get('ocu_popup_token')
2475            && !!utils.cookie.get('ocu_accepted');
2476    },
2477
2478    get targetAction() {
2479        if (!this.target) return 'cart';
2480        const form = this.target && this.target.tagName.toLowerCase() === 'form' ? this.target : this.target.closest('form');
2481        return this._isAddAction(form) ? 'product' : 'cart';
2482    },
2483
2484    get _quantityOfProduct() {
2485        const quantityInput = document.querySelector('[name="quantity"]');
2486        return quantityInput ? quantityInput.value : "1";
2487    }
2488}
2489
2490class CartDispatcher {
2491    constructor() {
2492        this.cartToken = (lqd && lqd.cart.token) || utils.cookie.get('cart');
2493        this.selectors = {
2494            productPrice: null,
2495            totalProductsPrice: null,
2496            cartSubtotal: null,
2497            cartDiscount: null
2498        };
2499        this.helpers = new Helpers();
2500        this.cart = new Cart();
2501        this.renderDiscounts = this.renderDiscounts.bind(this);
2502        this.renderOCUDiscounts = this.renderOCUDiscounts.bind(this);
2503    }
2504
2505    renderDiscounts(token, items, selectors) {
2506        if (selectors) this.fillSelectors(selectors);
2507        if (this.shouldGetDiscounts(items) || !this.areAttributesPresent(items)) return;
2508
2509        this.getDiscounts(token, items)
2510            .then(function(res) {
2511                const lineItems = res.data.discounts.lineItems;
2512
2513                lineItems.map(function(lineItem) {
2514                    if (lineItem.price === lineItem.discountedPrice) return;
2515
2516                    this.fillDiscountedPrice(lineItem);
2517                    this.fillItemTotal(lineItem);
2518                }.bind(this));
2519
2520                this.fillCartSubtotal(res.data.discounts.subtotal);
2521                this.fillCartDiscount(res.data.discounts.progressiveDiscount)
2522            }.bind(this))
2523            .catch(function(error) {
2524                console.log(error)
2525            })
2526    }
2527
2528    getDiscounts(token, items) {
2529        const url = '/pre_purchase/v1/cart_discounts';
2530        const endpoint = window.OCUIncart && OCUIncart.appEndpoint;
2531        const headers = {
2532            'Content-Type': 'application/json',
2533            'Shop-Domain': lqd.permanent_domain
2534        };
2535        const payload = this.helpers.getCartItems(items || lqd.cart.items);
2536        payload.cart_token = this.cartToken || token;
2537        payload.currency_rate = (window.Shopify && Shopify.currency && +Shopify.currency.rate) || 1;
2538
2539        if (!payload.cart_token) return Promise.reject(new Error('Cart Token is Missing'));
2540
2541        return axios.post(endpoint + url, payload, { headers: headers });
2542    }
2543
2544    doesUrlMatch(requestURL) {
2545        const cartUrls = ['add', 'update', 'change', 'clear'];
2546
2547        return cartUrls.some(url => requestURL && requestURL.includes(`/cart/${url}`));
2548    }
2549
2550  	shouldCartRequest(requestURL) {
2551        if (!requestURL) return false;
2552
2553        const isNotICURequest = !/\/cart.(js|json)\?icu/.test(requestURL) // handle case with looping cart requests when In Cart Upsell & Cross Sell and OCU apps enabled
2554
2555        return requestURL.includes('/cart.js') && !requestURL.includes('/cart.js?ocu') && isNotICURequest;
2556  	}
2557
2558  	shouldRequest(requestURL) {
2559        if (!requestURL) return false;
2560
2561      	return this.doesUrlMatch(requestURL) || this.shouldCartRequest(requestURL);
2562  	}
2563
2564  	shouldGetDiscounts(items) {
2565        const cartItems = this.helpers.getCartItems(items || lqd.cart.items).line_items;
2566
2567        return cartItems.every(function(cartItem) {
2568            if (!cartItem.properties) return;
2569            return cartItem.properties._ocu_offer_id === undefined;
2570        }.bind(this));
2571    }
2572
2573    areAttributesPresent(items) {
2574        const cartItems = this.helpers.getCartItems(items || lqd.cart.items).line_items;
2575
2576        return cartItems.some(item => {
2577            const wasEl = document.querySelector(`${this.selectors.productPrice || '[data-ocu-price-block'}="${item.key}"]`);
2578            const totalEl = document.querySelector(`${this.selectors.totalProductsPrice || '[data-ocu-total-block'}="${item.key}"]`);
2579            const subtotalEl = document.querySelector(this.selectors.cartSubtotal || '[data-ocu-subtotal]');
2580            const cartDiscountEl = document.querySelector(this.selectors.cartDiscount || '[data-ocu-cart-discount]');
2581
2582            return !!wasEl || !!totalEl || !!subtotalEl || !!cartDiscountEl;
2583        })
2584    }
2585
2586    fillDiscountedPrice(lineItem) {
2587        const wasPriceEls = document.querySelectorAll(`${this.selectors.productPrice || '[data-ocu-price-block'}="${lineItem.key}"]`);
2588
2589      	wasPriceEls.forEach(wasPriceEl => {
2590            if (!wasPriceEl) return;
2591
2592      		const formattedDiscountedPrice = this.getCurrency(lineItem.discountedPrice, OCUIncart.money_format);
2593        	const formattedOriginalPrice = this.getCurrency(lineItem.price, OCUIncart.money_format);
2594
2595        	wasPriceEl.innerHTML = `<del style="padding-right:16px">${formattedOriginalPrice}</del><span>${formattedDiscountedPrice}</span>`;
2596      	});
2597    }
2598
2599    fillItemTotal(lineItem) {
2600        const totalEls = document.querySelectorAll(`${this.selectors.totalProductsPrice || '[data-ocu-total-block'}="${lineItem.key}"]`);
2601
2602        totalEls.forEach(totalEl => {
2603            if (!totalEl) return;
2604
2605            totalEl.innerHTML = this.getCurrency(lineItem.discountedPrice * lineItem.quantity, OCUIncart.money_format);
2606        });
2607    }
2608
2609    fillCartSubtotal(subtotal) {
2610        const subtotalEls = document.querySelectorAll(this.selectors.cartSubtotal || '[data-ocu-subtotal]');
2611
2612        subtotalEls.forEach(subtotalEl => {
2613            if (!subtotalEl) return;
2614
2615            const withCurrency = subtotalEl.dataset.ocuSubtotal;
2616
2617            subtotalEl.innerHTML = this.getCurrency(subtotal, OCUIncart.money_format, withCurrency);
2618        });
2619    }
2620
2621    fillCartDiscount(discount) {
2622        if (discount === 0) return;
2623        const cartDiscountEls = document.querySelectorAll(this.selectors.cartDiscount || '[data-ocu-cart-discount]');
2624
2625        cartDiscountEls.forEach(cartDiscountEl => {
2626            if (!cartDiscountEl) return;
2627
2628            cartDiscountEl.innerHTML = `-${this.getCurrency(discount, OCUIncart.money_format)}`;
2629        });
2630    }
2631
2632    getCurrency(price, format, withCurrency) {
2633        const currencyCode = (window.Shopify && Shopify.currency && +Shopify.currency.active) || 'USD';
2634        const isCurrencyMissing = !format.match(currencyCode);
2635        const moneyFormat = isCurrencyMissing && withCurrency ? `${format} ${currencyCode}` : format;
2636
2637        return Shopify.formatMoney && Shopify.formatMoney(price, moneyFormat) || window.OCUApi.currency(price/100, moneyFormat, currencyCode);
2638    }
2639
2640    fillSelectors(selectors) {
2641        this.selectors.productPrice = `[${selectors.productPrice}`;
2642        this.selectors.totalProductsPrice = `[${selectors.totalProductsPrice}`;
2643        this.selectors.cartSubtotal = `[${selectors.cartSubtotal}]`;
2644        this.selectors.cartDiscount = `[${selectors.cartDiscount}]`;
2645    }
2646
2647    renderOCUDiscounts(selectors) {
2648        cart.get('?ocu')
2649            .then((res) => {
2650                this.renderDiscounts(res.data.token, res.data.items, selectors);
2651            })
2652    }
2653}
2654
2655const cart = new Cart();
2656const cartDispatcher = new CartDispatcher();
2657const open = window.XMLHttpRequest.prototype.open;
2658const originSend = window.XMLHttpRequest.prototype.send;
2659
2660const openReplacement = function(method, url) {
2661    this.addEventListener('load', function () {
2662        if (cartDispatcher.shouldRequest(this._url)) {
2663            cart.get('?ocu')
2664                .then(function(res) {
2665                    cartDispatcher.renderDiscounts(res.data.token, res.data.items);
2666                });
2667        }
2668    });
2669
2670    if (window.simplyInsurance) this._url = url; // integration with Simply Insurance
2671    return open.apply(this, arguments);
2672}
2673
2674const fetchReplacement = function(ns, fetch) {
2675    if (typeof fetch !== 'function') return;
2676
2677    ns.fetch = function() {
2678        const response = fetch.apply(this, arguments);
2679
2680        response.then(function(res) {
2681            if (cartDispatcher.shouldRequest(res.url)) {
2682                cart.get('?ocu')
2683                    .then(function(res) {
2684                        cartDispatcher.renderDiscounts(res.data.token, res.data.items);
2685                    });
2686            }
2687        });
2688
2689        return response;
2690    }
2691}
2692
2693fetchReplacement(window, window.fetch);
2694
2695window.XMLHttpRequest.prototype.open = openReplacement;
2696
2697if (!window.OCUApi) window.OCUApi = {};
2698window.OCUApi.renderOCUDiscounts = cartDispatcher.renderOCUDiscounts;
2699
2700class Currency {
2701    constructor() {
2702        this.currenciesWithoutDec = [
2703            'BYR',
2704            'XAF',
2705            'XPF',
2706            'CLP',
2707            'KMF',
2708            'JPY',
2709            'PYG',
2710            'RWF',
2711            'KRW',
2712            'VND',
2713            'VUV',
2714            'XOF',
2715            'MGA',
2716            'UGX',
2717            'ISK'
2718        ];
2719
2720        this.entities = {
2721            '&nbsp;': ' ',
2722            '&pound;': '£',
2723            '&euro;': '€',
2724            '&dollar;': '$'
2725        };
2726
2727        this.types = {
2728            amount: [2, ',', '.'],
2729            amount_no_decimals: [2, ',', '.'],
2730            amount_with_comma_separator: [2, '.', ','],
2731            amount_no_decimals_with_comma_separator: [2, '.', ','],
2732            amount_with_space_separator: [2, ' ', ','],
2733            amount_no_decimals_with_space_separator: [2, ' ', ','],
2734            amount_with_apostrophe_separator: [2, '\'', '.'],
2735            get default() {
2736                return this.amount;
2737            }
2738        };
2739
2740        this.currency = this.currency.bind(this);
2741    }
2742
2743    round(x, precision = 1) {
2744        let m = 10 ** precision;
2745        return Number.isInteger(x) ? (x * m) / m :  Math.round(x * m) / m;
2746    }
2747
2748    thousand(x) {
2749        if (isNaN(x)) return x;
2750        if (x === 0) return x;
2751        if (x <999) return (Math.round(x * 100) / 100);
2752        if (x <9999) return this.round((Math.round(x * 10) / 10000), 0) + 'k';
2753        if (x <1000000) return this.round((Math.round(x * 10) / 10000), 0) + 'k';
2754        if (x <10000000) return this.round((Math.round(x * 10) / 10000000), 0) + 'm';
2755        if (x <1000000000) return this.round(Math.round((x * 10 / 10000000)), 0) + 'm';
2756        if (x >= 1000000000) return this.round(Math.round((x * 10 / 10000000000)), 0) + 'b';
2757    }
2758
2759    replaceCharEntity(text) {
2760        const replacer = (key) => this.entities[key] !== null && this.entities[key] !== undefined ? this.entities[key] : key;
2761        return text && text.replace(/(&\w+;)/g, replacer) !== null && text.replace(/(&\w+;)/g, replacer) !== undefined ? text.replace(/(&\w+;)/g, replacer) : text;
2762    }
2763
2764    type(key) {
2765        const match = /\{\{\s*(\w+)\s*\}\}/.exec(key) && /\{\{\s*(\w+)\s*\}\}/.exec(key)[1];
2766        return this.types[match] !== null && this.types[match] !== undefined ? this.types[match] : this.types.default;
2767    }
2768
2769    toFixed(value, precision) {
2770        let power = Math.pow(10, precision);
2771
2772        return (Math.round((value + 1e-8) * power) / power).toFixed(precision);
2773    }
2774
2775    formatNumber(number, opts, args) {
2776        if (!+number && +number !== 0) return '&mdash;';
2777        let suffix;
2778        let k = args.includes('thousand');
2779        const noCurrency = args.includes('noCurrency');
2780        let currencyCode = args.find(arg => this.currenciesWithoutDec.includes(arg)) || noCurrency;
2781        const noPrecision = args.includes('noPrecision');
2782
2783        if (k) {
2784            number = this.thousand(+number);
2785            suffix = /\d+\.?\d*([k-m])/.exec(number) && /\d+\.?\d*([k-m])/.exec(number)[1] || '';
2786            number = parseFloat(number);
2787        }
2788
2789        opts = {
2790            precision: noPrecision ? 0 : opts[0],
2791            thousand: opts[1],
2792            decimal: opts[2]
2793        };
2794
2795        let negative = number <0 ? '-' : '';
2796        let base = parseInt(this.toFixed(Math.abs(number), opts.precision), 10) + '';
2797        let mod = base.length > 3 ? base.length % 3 : 0;
2798
2799        let formatted = negative +
2800            (mod ? base.substr(0, mod) + opts.thousand : '') +
2801            base.substr(mod).replace(/(\d{3})(?=\d)/g, '$1' + opts.thousand) +
2802        (opts.precision > 0 ? opts.decimal + this.toFixed(Math.abs(number), opts.precision).split('.')[1] : '');
2803
2804        if (suffix) formatted = formatted.replace(/([,.]00|0)$/, '') + suffix;
2805
2806        return currencyCode && !suffix ? formatted.split(opts.decimal)[0] : formatted;
2807    }
2808
2809    formatNumberForView(amount, format, ...args) {
2810        format = this.replaceCharEntity(format);
2811
2812        const noCurrency = args.includes('noCurrency');
2813        const withCurrency = /\{\{\s*\w+\s*\}\}/;
2814        const withoutCurrency = /.*\{\{\s*\w+\s*\}\}.*/;
2815        const reg = noCurrency ? withoutCurrency : withCurrency;
2816
2817        return format && format.replace(reg, this.formatNumber(amount, this.type(format), args));
2818    }
2819
2820    currency(amount, format, ...args) {
2821        return this.formatNumberForView(amount, format, ...args);
2822    }
2823}
2824
2825if (!window.OCUApi) window.OCUApi = {};
2826window.OCUApi.currency = new Currency().currency;
2827
2828window.OCUIncart = {
2829    cart_items: [],
2830    subscription_tags: '',
2831    money_format: '$ {{amount}}',
2832    option_selection: '//www.k-deer.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js',
2833    integrations: function(cartItems) {
2834        return new PrecheckoutIntegrations(cartItems);
2835    },
2836
2837    metafields: {
2838        main: 
2839  {
2840    
2841      general: {"settings":{"app_endpoint":"https://ocu.zipify.com","proxy_url":"/apps/oneclickupsell","sdp":"https://[email protected]/57","popup_locations":{"product":false,"cart":true},"popup_settings":{"popup_frequency":"accept_or_decline"}},"integrations":{"skip_cart":"false"},"triggers":{"pre_checkout":{"metafields":{"products":"pre_checkout_product_ids","variants":"pre_checkout_variant_ids","excluded":{"products":"pre_excluded_product_ids"}},"all_products":false}},"incarts":{"153190":{"priority":3,"offer_id":534115,"shopify_product_id":6852265934918,"hide_if_in_cart":true},"153193":{"priority":4,"offer_id":534128,"shopify_product_id":6850438398022,"hide_if_in_cart":true}}},
2842    
2843      pre_checkout_product_ids: [3983736373318,6675516817478,4774593167430,1932544704582,2705091971,1995428560966,3985633542214,10488604355,3983737028678,4427363909702,5715633283,5715598787,2016989249606,5715811715,6613935095878,2058850435142,3887078723,4601752027206,2058850140230,3929830883398,9057686403,2058858430534,4791267721286,4819902070854,1376133578822,8799901251,9057686147,10553295875,4468572867,5715693187,6690422390854,4468750147,6598674382918,10095604099,2058858397766,6630011666502,4774595461190,4846893006918,1995428069446,6715207057478,422834711,461920931,4419260809286,1343061852230,1995431411782,1750804496454,2016989151302,10095606211,6575668428870,4568062033990,4609896513606,5715673667,5715722051,2079250251846,74571612163,4539821916230,422834615,3983735357510,4468683843,4822297870406,5715763651,3971046735942,4794240925766,1037164611,1315127099462,4327625687110,6762744283206,10632745603,4468571203,4744201666630,11014328963,4530701566022,4419258581062,10097095171,6680349376582,10095601283,4327615955014,5715795395,6793824534598,5715795779,8772496387,4844316852294,4384959889478,10095603459,1772384256070,2016989446214,6732460163,4747730059334,4413654007878,4418926215238,3983734865990,6575656632390,8800067203,2058857513030,5715600963,461920647,4744194949190,1426677989446,5715599107,6619193671750,74571579395,74571546627,4502735747,7836200899,1772383305798,10488604291,4419256582214,1995428364358,1315126870086,4468683523,3735617603,462856451,10665800131,74571415555,2705091907,3983734243398,4325145083974,6545163550790,6793896132678,4339715473478,4567349002310,40017100803,10488604547,10875551875,4103205187,4469085315,4603248181318,4296764915782,1236117187,4413302767686,3983735586886,4347567964230,461921163,2016989216838,4327628144710,6793870868550,3956116226118,4568171610182,4822291021894,2079222464582,6758495715398,6628462231622,2704958851,4375438458950,10095607427,77549469699,10990077955,2016989184070,4468682499,2705056963,4344399233094,4265537830982,5715811395,5715632451,5716036675,3947302387782,4482205286470,3946182541382,1315126902854,3983737159750,4285712859206,4419258024006,6685219848262,9057685891,6725552144454,6426143619,1426677399622,6675546374214,10776234371,4854827581510,2016989380678,4339734478918,11014329155,4689419829318,4413652795462,6758503055430,1426678087750,9056351043,4293774704710,1236115331,9057685123,2704957955,3985511940166,2058849321030,1995432001606,5715812867,6597195333702,5715794819,2029786562630,3985550475334,1995428495430,2072103878726,4469086211,5715633795,5
2843715721603,2058847617094,6605151747,6227361411,4689428152390,4325263147078,4325267865670,6719870009414,4846923546694,7846328259,422834623,4325267112006,1037141315,2058858561606,1315127164998,6630017204294,4530725126214,10095602051,2058847354950,2058857152582,4701601890374,3983736143942,4689432936518,10497376643,6675584385094,4819904757830,4325148721222,6330545539,6758459408454,2704958979,3983736700998,8842379459,4854757392454,1995428266054,6758509871174,8772447875,7836201283,6675580682310,2058850631750,9057686531,6754023505990,3947302420550,1343061655622,10095604739,10095603139,6597193269318,1995431673926,1037157251,6598624346182,1724277522502,6713944703046,1750797910086,6613933621318,1380424286278,1995428823110,6628467998790,3985766973510,2058853089350,10497375811,463764071,2058847813702,6758462849094,4468586872902,7846011715,4384393068614,9057685699,6675549225030,4384976994374,10626594819,8772474755,4419237740614,4419215654982,1995429118022,4747580670022,4419214704710,3984800809030,6793859792966,4340667318342,10095604995,10573206979,10095606339,10573206723,6735133409350,4468454467,2705123843,6876950275,11014329539,1995428659270,4854844358726,4744211103814,5715674883,6793917857862,6619155693638,4603242119238,10553295555,10497376387,4846910505030,1426678054982,4265591898182,6572651544646,2058857381958,9057685443,3983735029830,4327610875974,1301687861318,9057686275,8787184835,4419262316614,1995430821958,3983735849030,6732484867,1995428134982,4413652107334,3984774987846,422834839,1995428298822,6543628959814,5715813955,4468583530566,5715599683,4285673472070,4285711384646,1995430953030,4419213721670,5715812355,4846690107462,6696625012806,9229876547,10786925891,10095602371,10990077699,4469086467,9057685955,1380365402182,1341434036294,1870594307,6227517635,4265545793606,4854796353606,1315127066694,5715694147,6690426617926,2058857611334,4468748099,4747728519238,7836201667,1995429281862,6597270077510,6551716102214,5715694787,7845990851,3929831047238,6696643559494,6719880921158,1426677694534,3114940931,6675577077830,6696650801222,4384390217798,3947302355014,4701577117766,4418927886406,8224994883,8787171011,4468747715,7846043715,6685223321670,4567442653254,4469027139,4284184494150,3984798810182,4339721306182,6690418360390,4297172779078,6675559776326,1995429150790,4603254964294,2058851156038,6753999552582,1426678120518,4264713388102,4701596745798,6613958099014,6568567144518,4327617855558,6551751458886,2058847551558,6753995423814,4565111013446,4468454787,4418898755654,6735065907270,7846043331,4703358124102,6648128045126,10488604483,4817987469382,5715811907,7836200579,10875552323,4384972177478,10786925827,1380424515654,1759300026438,2774754755,1380424351814,74573152259,3930389184582,5716027075,6793852321862,1644696272966,7846362883,3985756028998,6697519415366,6656567771206,6628460331078,4818000314438,4375443898438,1343061622854,2058849845318,4844319572038,4419239116870,6685226139718,2058853810246,6725563875398,4340665745478,10095607235,6551746641990,6575664758854,5715675075,4819897679942,1995428462662,4701584719942,10786926275,11014329027,1995428200518,6758512623686,6575666987078,461922539,6696655028294,4297257222214,897863619,6629995708486,6754014363718,10095605443,4504584323,4817993596998,3984774692934,6758488113222,2016989839430,1995432329286,3983734079558,8879093443,7836201475,3114961347,3985641963590,2070618832966,4744198520902,3946183065670,2582096579,1343061557318,4468749635,24225775619,74571481091,4489578691,4284182855750,6551699390534,6703713878086,3986970280006,4664377933894,5715693315,422834579,5715673539,4468573379,4601734004806,2079231705158,6568565047366,422834735,9089023683,9057686339,4703354978374,6758505250886,3985361174598,6680356749382,2079227084870,4819892764742,74571513859,4854362210374,1772383535174,1932539002950,5716036931,1995429052486,2058858528838,4375442391110,3983735193670,10553295363,422834727,422834771,4590720712774,2016989347910,2705124355,9052259843,4468571907,4468682883,4468924035,4717888241734,7154491011,5715600707,10488604163,7846012419,2058847322182,5715720579,10593491267,1750797123654,9057685827,8134469187,5715632707,7846043587,10875552067,461899575,6597167808582,1995428790342,6648135352390,4419241443398,74571874307,1343067095110,4711087374406,4468683267,11014328707,6680351703110,4609886715974,8772380035,4468684355,2058854793286,4565276262470,6598696501318,3983736569926,11014329603,1315126837318,4844308136006,74571186179,4468580614214,7846011907,1315127001158,9057686019,4774587727942,4846895562822,4419232956486,4701582557254,6651462811718,8134499843,10095605699,10095606531,1315127197766,6551711875142,6680344494150,3757357059,1315202203718,74573119491,3946183163974,1426678218822,6754008236102,6685214113862,4747591123014,5716045891,8134458883,6758466093126,10488604995,3984774922310,1772384485446,6543657861190,11014328771,3983733882950,4418929066054,897781891,3097449475,4539810
2843709574,74588749827,4451476045894,3983736864838,4469085955,6423117699,9089023235,3946183393350,4297174843462,2079241699398,1644695814214,6656559906886,10488604035,6696647065670,5715693507,897821635,10095602499,6793867657286,4384975224902,422835119,422834595,462856403,10875552259,74571907075,2072103354438,3984774430790,8134486979,1426677825606,1750797615174,9057685251,1426677563462,4468572163,4264717353030,4468574019,422835043,3985647370310,6330477699,10553296003,6675567575110,4468749315,3947302453318,1995429216326,3971039395910,6426125251,4344399921222,4325260329030,4822337290310,3985647009862,3984796450886,2058857644102,10553295619,8787518339,10488604419,4655774597190,3956116750406,5715721091,8772463427,422834603,1315127033926,10786926019,897863491,1995431051334,4701599989830,6543625453638,4469027587,2704957635,1995428692038,3735555971,10228905539,6651468054598,6680340365382,4468573699,7845990659,74571841539,422834715,3983737356358,4325266030662,4439464181830,3985638391878,1426677432390,40017068035,6793863299142,5715634051,1301690482758,4601799966790,5715694531,6543599927366,4609891369030,3097448899,9057685571,8225014083,4427359912006,10095601091,7846363011,4296766193734,3983734505542,2582096131,10990078339,1343061524550,5715599299,5715762243,1995428757574,1426677760070,4468923651,7845990595,10095602883,1772383830086,7846012291,7846012675,4530721751110,8800041155,5715765827,4468749891,10095603907,4482209448006,4332346179654,3983734669382,463764095,5716046147,6330509443,3881174433862,9148960643,74573185027,4339723567174,4265539862598,6647165255750,4103052355,3985418911814,6619169816646,10553295939,2058847256646,4468454339,2058847486022,4344395726918,4468453699,10665800259,1932548243526,4539786985542,5715722563,6613928378438,1343067258950,1750796599366,2058847518790,3985505779782,1995428921414,4591789015110,6563263774790,7846328131,4703362744390,3983734341702,4469086915,2058847158342,4327621689414,2016989413446,5715764931,9057685379,4413304635462,4325256593478,3985420222534,6793915859014,4482217541702,4103267267,6876964035,6644507443270,6703725772870,6758507774022,4339738443846,5715633539,4854351691846,6758468419654,6758496960582,1426678022214,6651465367622,6619191509062,9089023811,1315127230534,2072103387206,4469085187,6656550469702,3930388660294,9589459587,10665800003,1315126804550,4655777579078,10553295811,4375436427334,4384980172870,6330528195,6655871582278,6680347115590,4265551560774,4817977475142,1315126968390,6656552108102,7845991043,1995428724806,9057685315,1426677891142,9057685635,1995428036678,7846043843,1750798499910,4418936700998,10488604675,3971043950662,6713400066118,1301687894086,4325146525766,6793889808454,4339727040582,5715674499,4747589451846,1750798204998,3971024584774,4822276833350,2016989118534,4419257761862,4703349440582,74571939843,4744187150406,5715600067,2072103911494,4264707883078,6690410168390,5715810947,3984146691,3930387415110,5715674243,4468454019,4327623163974,6545207459910,4340664336454,6696640970822,2705091587,1315126935622,1750796894278,4293771132998,5715764291,1426678186054,6575669968966,4701570859078,6793875718214,7074891267,6753986805830,2705124163,1771974083,5715793987,1343061819462,4672098631750,10095601667,5715761475,6568561147974,5715793603,9690114499,2058848829510,2058855841862,6551689527366,1380424450118,1995429412934,2058847649862,2029786628166,4468454915,422834743,6876980547,6656543621190,422834723,2058850730054,9089023427,6675573047366,4603263057990,422835095,2058852401222,4264723480646,6685201432646,5715723523,1426677858374,6598627033158,1341434101830,3983769603,11014329219,5715795971,2072103747654,6758490505286,3946183262278,6735057092678,9057685507,5715762883,6685211656262,10095604483,3985529045062,5715693827,4822314975302,7846043139,6549289500742,6626757640262,2058847289414,1995429019718,1426677956678,4482196766790,10553295747,1426677628998,4539816509510,10497376451,5716026627,1426677497926,4601764544582,4565214560326,4413656006726,10095606915,7845990915,897863043,2705169539,8787512899,3929830981702,4822270738502,3946183327814,10488604931,1343061753926,5715723011,11014329283,6656564330566,9052259971,4744212807750,2058847420486,9057686595,2582097091,1644696043590,1750797353030,6719895732294,2016989315142,10097094531,3472309251,3097447491,4419260252230,2016989610054,10095606723,1772384026694,10990078467,6762747560006],
2844    
2845      pre_checkout_variant_ids: [39854790377542,39890348834886,39854790312006,39890328846406,39890341888070,39890341986374,39890328944710,39854740996166,39890328879174,39854740930630,39890328911942,39854741061702,39854740963398,39890348802118,39890348736582,39890341953606,39890341822534,39890328813638,39854790443078,39890328780870,39890341920838,39854790344774,39854741028934,39890348769350,39890348867654,39854790279238,39890341855302,39854740897862,39854790410310,39890348703814],
2846    
2847      pre_excluded_product_ids: [],
2848    
2849  }
2850 || {},
2851        get general() {
2852            return this.main.general || {};
2853        },
2854        get settings() {
2855            return this.general.settings || {};
2856        },
2857        get triggers() {
2858            return this.general.triggers ? this.general.triggers.pre_checkout : {};
2859        },
2860        get types() {
2861            return this.triggers.metafields || {
2862                products: 'pre_checkout_product_ids',
2863                variants: 'pre_checkout_variant_ids'
2864            };
2865        },
2866        get products() {
2867            return this.getMetafields(this.types.products) || [];
2868        },
2869        get variants() {
2870            return this.getMetafields(this.types.variants) || [];
2871        },
2872        get proxy_url() {
2873            return this.settings.proxy_url || '/apps/secure-checkout';
2874        },
2875        get excluded() {
2876            const keys = this.triggers.metafields.excluded || { products: 'pre_excluded_product_ids' };
2877
2878            return {
2879                products: []
2880            };
2881        },
2882        getMetafields: function(key) {
2883            return this.main[key];
2884        }
2885    },
2886    get triggers() {
2887        const funnels = this.funnels;
2888        const cartItems = this.cart_items;
2889        const integrations = this.integrations(cartItems);
2890        const adp = integrations.advancedProductOptions;
2891        const isEmptyCart = this.isEmptyCart;
2892
2893        return {
2894            products: this.cart_items.map(function(item) { return item.product_id }),
2895            get variants() {
2896                const ids = cartItems.map(function(item) { return item.id });
2897                if (!adp.present) return ids;
2898                return ids.concat(adp.relations); // Advanced Product Options integration
2899            },
2900            get all() {
2901                if (!funnels.triggers.all) return;
2902                if (isEmptyCart) return true;
2903
2904                return !!this.products.filter(function(trigger) {
2905                    return !~funnels.triggers.excluded.products.indexOf(trigger);
2906                }).length;
2907            }
2908        };
2909    },
2910    get funnels() {
2911        return {
2912            triggers: {
2913                all: this.metafields.triggers.all_products,
2914                excluded: this.metafields.excluded,
2915                variants: this.metafields.variants || [],
2916                products: this.metafields.products || [],
2917            },
2918            get types() {
2919                const exclude = /all|excluded/;
2920                return Object.keys(this.triggers).filter(function(key) {
2921                    return !exclude.test(key);
2922                });
2923            },
2924            get anyTriggers() {
2925                return this.types.some(function(type) {
2926                    return !!this.triggers[type]
2927                }.bind(this));
2928            }
2929        }
2930    },
2931    get is_precheckout() {
2932        const funnels = this.funnels;
2933        const triggers = this.triggers;
2934
2935        if (triggers.all) return true;
2936        if (this._is_product_action && funnels.anyTriggers) return  true;
2937
2938        return funnels.types.some(function(type) {
2939            return triggers[type].some(function(trigger) {
2940                return ~funnels.triggers[type].indexOf(trigger);
2941            });
2942        });
2943    },
2944    get hasOfferInCart() {
2945        return this.cart_items.find(function(item) {
2946            return item && item.properties && item.properties._ocu_offer_id;
2947        });
2948    },
2949    get settings() {
2950        return this.metafields.settings.popup_settings;
2951    },
2952    get proxy_url() {
2953        return this.metafields.proxy_url;
2954    },
2955
2956    get appEndpoint() {
2957        return this.metafields.settings.app_endpoint;
2958    },
2959
2960    get popup_location() {
2961        return this.metafields.general.settings.popup_locations;
2962    },
2963    get popupLocation() {
2964        return Object.entries(this.popup_location)
2965            .map(function(item) {
2966                if (item[1]) return item[0];
2967            });
2968    },
2969    get isEmptyCart() {
2970        return !this.cart_items.length && ~this.popupLocation.indexOf('product'); // check is empty cart and product location
2971    },
2972    get permanent_domain() {
2973        return lqd.permanent_domain;
2974    }
2975};
2976
2977var lqd = {
2978    cart: {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0},
2979    path: '' === 'true' ? 'd56719fefdd75e95ba06caea3d9a3732' : '5965fedc7708e03e1024db4bf2ed5fe6',
2980    template_name: 'blog',
2981    shop_currency: 'USD',
2982    skip_cart: OCUIncart.metafields.general.integrations.skip_cart === 'true',
2983    cart_products_json: JSON.parse("[]"),
2984    cart_collections_json: [],
2985    cart_variants_json: [],
2986    customer_id: "",
2987    customer: { id: "", email: '' },
2988    proxy_url: OCUIncart.metafields.general.settings.proxy_url,
2989    permanent_domain: 'k-deer.myshopify.com',
2990    current_domain: 'www.k-deer.com',
2991    disabled_by_subscription_app: false,
2992    subscription_app_enabled: false,
2993    subscription_products_json: '',
2994    subscription_variants_json: '',
2995    subscription_products_size: 0,
2996    integrate_with_recharge: '' === 'true',
2997    product: null,
2998    product_tags: [],
2999    amazon_pay: '' === 'true',
3000    themePopup: '' === 'true' || '' === 'true',
3001    root_url: '/',
3002    themeSkipCart: 'ajax' === 'redirect_checkout'
3003        || '' === 'true'
3004        || '' === 'skip_cart',
3005
3006    get is_precheckout() {
3007        return OCUIncart.is_precheckout;
3008    },
3009    get upsell_cart_include_subscription_upsells() {
3010        var self = this;
3011
3012        var hasSubscription = this.product_tags.reduce(function(acc, tag) {
3013            return acc || ~self.postcheckout_tags.indexOf(tag.toLowerCase());
3014        }, false);
3015
3016        return hasSubscription;
3017    },
3018    get isThemePopupTag() {
3019        return this.product && this.product.tags.some(function(tag) {
3020            return /cross-sell-\d/.test(tag);
3021        });
3022    },
3023    get isSkipCartPage() {
3024        return /index|collection|product/.test(this.template_name);
3025    },
3026    get isSkipCartCondition() {
3027        return (this.skip_cart || this.themeSkipCart) && this.isSkipCartPage && !this.isThemePopupTag;
3028    },
3029    get checkoutUrl() {
3030        return (this.root_url === '/' ? '' : this.root_url) + '/checkout';
3031    },
3032    get isPopupTriggerPage() {
3033        return OCUIncart.popupLocation && !!~OCUIncart.popupLocation.indexOf(lqd.template_name);
3034    }
3035};
3036
3037lqd.cart_products_json = lqd.cart_products_json.filter(function(item) {
3038    return item.handle && !item.error;
3039});
3040
3041utils.shareableDiscount({ clear:false });
3042
3043if (lqd.is_precheckout) requireOptionSelectors();
3044
3045var ocuCdn="https://d1u9wuqimc88kc.cloudfront.net";
3046function Application() {
3047    ajax = axios.create({ timeout: 8000 });
3048    ajax.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
3049
3050    new PublicMethod();
3051    new SkipCart();
3052    new HistoryApi();
3053
3054    this.setAttributes();
3055}
3056
3057Application.prototype = {
3058    checkout: null,
3059    ocuSelectors: utils.store.get('ocuSelectors'),
3060    integrations: new Integrations(),
3061    helpers: new Helpers(),
3062    // verify: new Verify(),
3063    cart: new Cart(),
3064    utils: new ApplicationsUtils(),
3065    popupDispatcher: new PopupDispatcher(),
3066    cartDispatcher: new CartDispatcher(),
3067
3068    setAttributes: function() {
3069        if (/register|account|login|reset_password|search|^$/.test(lqd.template_name)) return;
3070
3071        this.cartDispatcher.renderDiscounts();
3072
3073        const forEach = Array.prototype.forEach;
3074        const checkoutButtons = document.querySelectorAll(this.ocuSelectors);
3075        const links = document.querySelectorAll('a'); // for ios
3076
3077        forEach.call(checkoutButtons, function(item) {
3078            if (item.name === 'update') return;
3079            item.dataset.ocuCheckout = true;
3080        });
3081
3082        forEach.call(links, function(link) {
3083            var isNeededHref = utils.store.get('permalink').test(link.href);
3084            if (isNeededHref) link.dataset.ocuCheckoutLink = true;
3085        });
3086
3087        this.listenEvents();
3088        setTimeout(this.helpers.showCheckoutButton);
3089    },
3090
3091    check: function(event, target) {
3092        this.prevent(event);
3093
3094        var form = target.closest('[action="/cart"], [action="/checkout"]');
3095        if (form && !this.validate(form)) {
3096            clearTimeout(utils.store.get('fallback').id);
3097            utils.store.set('submitted', false);
3098            return form.reportValidity();
3099        }
3100        if (!utils.store.get('cartChanged')) return this.handle(target);
3101
3102        // utils.store.listen('cartChanged').then(function() {this.handle(target)}.bind(this));
3103    },
3104
3105    handle: function(target) {
3106        this.integrations.discounts();
3107
3108        if (utils.store.get('checkoutButtonState')) return;
3109        // if (utils.store.get('submitted')) return; // TODO fix_ff_multi_requests_2384
3110        utils.store.set('checkoutButtonState', true);
3111
3112        this.helpers.payPal(target);
3113        this.checkout({ redirect: true });
3114        // this.verify.init(target);
3115    },
3116
3117    init: function(event, target) {
3118        var self = this;
3119
3120        if (OCUApi.onCheckout && OCUApi.onCheckout()) return;
3121
3122        if (lqd.template_name === 'cart' && utils.store.get('submitted')) {
3123            event.stopPropagation();
3124            return event.preventDefault();
3125        }
3126        utils.store.set('submitted', true);
3127
3128        this.fallbackRedirect();
3129
3130        if (window.RevyApp) this.handleMonkeyPatching();
3131
3132        if (!this.allowUpsells(target)) return;
3133
3134        if (lqd.template_name === 'product' && target.name === 'add' && !target.closest('form[action$="/cart/add"]')) {
3135            const form = document.querySelector('form[action$="/cart/add"]');
3136
3137            if (!form) return this.helpers.clearFallback();
3138
3139            event.preventDefault();
3140            event.stopPropagation();
3141            return form.submit();
3142        }
3143        const anyPrePurchases = window.OCUIncart && (OCUIncart.singleUpsells || OCUIncart.multipleUpsells);
3144        if (anyPrePurchases) {
3145            // self.prevent(event, true);
3146            return this.popupDispatcher.proceed(event, target, self);
3147        }
3148
3149        const addBtn = this.popupDispatcher._isAddAction(target);
3150        if (!anyPrePurchases && lqd.isPopupTriggerPage && addBtn) return clearTimeout(utils.store.get('fallback').id);
3151
3152        if (target.dataset.customBuyNow) {
3153            self.prevent(event);
3154
3155            var id = target.dataset.varientId;
3156            var qty = target.dataset.itemQuantity;
3157            var data = { id: id, quantity: qty };
3158            var handle = function() { self.checkout({ redirect:true }) };
3159            var onError = function() { alert('Network Error') };
3160
3161            this.cart.add(null, null, data).then(handle).catch(onError);
3162        }
3163
3164        return this.check(event, target);
3165    },
3166
3167    prevent: function(event, immediate) {
3168        event.preventDefault();
3169        event.stopPropagation();
3170        if (immediate) event.stopImmediatePropagation();
3171    },
3172
3173    validate: function(form) {
3174        var elems = form.querySelectorAll('[type="text"], [type="checkbox"], select, textarea');
3175
3176        var requiredElems = Array.prototype.filter.call(elems, function(el) {
3177            if (el && ~utils.store.get('excludedRequiredFormIds').indexOf(el.form.id)) return false;
3178
3179            return el && el.required;
3180        });
3181
3182        if (!requiredElems.length) return true;
3183
3184        return !requiredElems.some(function(el) {
3185            return !el.checkValidity();
3186        });
3187    },
3188
3189    allowUpsells: function(el) {
3190        // if (window.mixed_cart) return; //integration with Recurring Orders & Subscriptions by Bold
3191        if (window.popup_upsell && !document.querySelector('#upsellclosebtn')) return; // integration with Product Upsell
3192        if (window.ol_checkout_ok instanceof Function && !ol_checkout_ok()) return; // integration with OrderLogic
3193        if (el.dataset.zpaSubmitButton === '') return; // integration with ZipifyPages CRM popup
3194
3195        return true;
3196    },
3197
3198    fallbackRedirect: function() {
3199        var fallback = utils.store.get('fallback');
3200        fallback.id = setTimeout(function() { this.checkout({ redirect:true }) }.bind(this), fallback.timeout);
3201        utils.store.set('fallback', fallback);
3202    },
3203
3204    handleMonkeyPatching: function() {
3205        const send = utils.store.get('XHR').send;
3206
3207        if (XMLHttpRequest.prototype.send !== send) {
3208            XMLHttpRequest.prototype.send = send;
3209        }
3210    },
3211
3212    handleClick: function(e) {
3213        if (lqd.template_name === 'page' && !e.isTrusted) return;
3214
3215        if (e.target.name === 'update' || e.target.closest('[name="update"]')) return;
3216
3217        if (!lqd.amazon_pay && e.target.closest('form[action^="https://payments.amazon"]')) return;
3218
3219        if (this.helpers.zpPreventRedirect(e.target)) return;
3220
3221        if (this.helpers.isBuyNow(e) && !lqd.isPopupTriggerPage) return new BuyNow(e);
3222
3223        if (this.helpers.isCartPopupRedirectsToCart(e)) return;
3224
3225        if (OCUIncart.integrations().minMaxify.invalid) return;
3226
3227        // if (this.helpers.checkDirectCheckoutButtons(e.target)) {
3228        //     e.target.dataset.ocuCheckout = true;
3229        //     utils.store.set('redirect_url', '/checkout');
3230        // }
3231
3232        if (e.target.dataset.ocuCheckoutLink || e.target.closest('[data-ocu-checkout-link]')) {
3233            e.preventDefault();
3234            var href = (e.target.dataset.ocuCheckoutLink ? e.target : e.target.closest('[data-ocu-checkout-link]')).href;
3235            if (utils.store.get('isPermalinkHandling')) return;
3236            utils.store.set('isPermalinkHandling', true);
3237            var result = this.integrations.handlePermalink(href, 'redirect');
3238            return result.promise.then(result.callback);
3239        }
3240
3241        if ((e.target.dataset.skipCart === 'true' || e.target.closest('[data-skip-cart]')) && utils.store.get('submitted')) {
3242            e.preventDefault();
3243            e.stopPropagation();
3244            e.stopImmediatePropagation();
3245            return;
3246        }
3247
3248        OCUIncart.integrations().salesRocket.setup();
3249
3250        var target = this.helpers.checkSelector(e.target);
3251        if (lqd.isPopupTriggerPage) target = this.helpers.checkAddToCart(e.target) || target;
3252        if (target) this.init(e, target);
3253    },
3254
3255    handleMousedown: function(e) {
3256        var self = this;
3257
3258        if (e.target.dataset.skipCart !== 'true' && !e.target.closest('[data-skip-cart]')) return;
3259
3260        if (e.target.name === 'update' || e.target.closest('[name="update"]')) return; // 283fa429
3261
3262        if (this.helpers.zpPreventRedirect(e.target)) return;
3263
3264        var amazonForm = e.target.closest('form[action^="https://payments.amazon"]');
3265        if (amazonForm && lqd.amazon_pay) {
3266            e.preventDefault();
3267            e.stopPropagation();
3268
3269            var path = {
3270                ocu: lqd.proxy_url + '/amazon/forward',
3271                shopify: amazonForm.querySelector('[name="redirectURL"]').value
3272            };
3273
3274            var handle = function() {
3275                self.checkout()
3276                    .then(function(res) { location = path[res.status ? 'ocu' : 'shopify'] })
3277                    .catch(function(res) { location = path.shopify })
3278            };
3279
3280            var onError = function(form) {
3281                form.submit();
3282            };
3283
3284            if (!e.target.closest('form[action="/cart/add"]')) return handle();
3285
3286            var cart = document.querySelector('form[action="/cart/add"]');
3287            var button = amazonForm.querySelector('[type="submit"]');
3288            return self.cart.add(cart, button, path).then(handle).catch(onError.bind(null, amazonForm));
3289        }
3290
3291        var form = e.target.closest('form[action="/cart/add"]') || document.querySelector('form[action="/cart/add"]');
3292        var button = e.target.dataset.skipCart === 'true' ? e.target : e.target.closest('[data-skip-cart]');
3293
3294        if (!form) return;
3295
3296        e.preventDefault();
3297        e.stopPropagation();
3298        utils.store.set('submitted', true);
3299
3300        var handle = function() { self.checkout({ redirect:true }) };
3301        var onError = function(form) { form.submit(); };
3302        return self.cart.add(form, button).then(handle).catch(onError.bind(null, form));
3303    },
3304
3305    handleFocus: function() {
3306        // handle cart drawers focus event for iOS select
3307        window.addEventListener('focus', function(e) {
3308            e.stopImmediatePropagation();
3309        }, true);
3310    },
3311
3312    listenEvents: function() {
3313        const touchEventConfig =  {
3314            capture: true,
3315            passive: false
3316        };
3317
3318        const onClick = function(e) {
3319            if (window.OCUDisableEvents) return;
3320            this.handleClick(e);
3321        }.bind(this);
3322
3323        document.addEventListener('mousedown', this.integrations.amazonPay.bind(this), true);
3324        document.addEventListener('touchstart', onClick, touchEventConfig);
3325        document.addEventListener('click', onClick, true);
3326        window.addEventListener('pagehide', this.helpers.disableButtons);
3327
3328        window.addEventListener('locationchange', function() {
3329            document.removeEventListener('click', onClick, true);
3330            document.addEventListener('click', onClick, true);
3331        }.bind(this));
3332
3333        window.addEventListener('pageshow', function(e) {
3334            if (e.persisted) location.reload();
3335            this.helpers.disableButtons();
3336        }.bind(this));
3337
3338        // if (lqd.template_name !== 'cart') return;
3339        // document.addEventListener('mousedown', this.cart.update.bind(this), true);
3340        // document.addEventListener('change', this.cart.state.bind(this));
3341    }
3342};
3343
3344function ZipifyPages() {
3345    const KEY = 'ocu_integration_data';
3346
3347    this.setProducts = products => {
3348        this.products = products;
3349    }
3350
3351    this.setBlockId = id => {
3352        this.block_id = id;
3353    }
3354
3355    this.getProduct = () => this.product;
3356
3357    this.appendZipifyPagesProduct = items => {
3358        if (!this.products) return items;
3359
3360        const hash = this.products.find(product => product.discountHash)?.discountHash;
3361
3362        return items.map(item => {
3363            const matchedItem = this.products.find(product => product.productData.key === item.key);
3364
3365            if (!matchedItem) return item;
3366            if (!matchedItem?.discountData.includes('dynamic')) return item;
3367
3368            const zpPayload = {
3369                pages: true,
3370                discount_hash: hash,
3371                block_id: this.block_id
3372            };
3373
3374            item.properties = {
3375                ...item.properties,
3376                ...zpPayload
3377            };
3378            return item;
3379        });
3380    }
3381
3382    this.init = () => {
3383        try {
3384            this.sessionData = JSON.parse(sessionStorage.getItem(KEY));
3385
3386            if (this.sessionData && this.sessionData.token !== lqd.cart.token) {
3387                this.sessionData = null;
3388                sessionStorage.removeItem(KEY);
3389            }
3390        } catch (e) {
3391            console.error(e);
3392        }
3393    }
3394    this.handleZPOutsidePage = (ctx, callback) => {
3395        try {
3396            const payload = JSON.stringify({ products: this.products, block_id: this.block_id, token: lqd.cart.token });
3397            sessionStorage.setItem(KEY, payload);
3398            callback({ detail: {} });
3399        } catch(e) {
3400            console.error(e);
3401            this._verifyFallback(ctx, callback);
3402        }
3403    };
3404
3405    this._verifyFallback = (ctx, callback) => {
3406        ctx.cart.get()
3407            .then(response => {
3408                OCUIncart.cart_items = response.data.items;
3409                ctx.verify()
3410                    .then(() => {
3411                        callback({ detail: {} });
3412                    });
3413            });
3414    }
3415
3416    this.clear = () => {
3417        this.products = null;
3418    }
3419
3420    this.isBlockOutsideProductPage = () => !lqd.isPopupTriggerPage && this.products.some(product => product.discountHash);
3421
3422    this.init();
3423}
3424
3425function amazonPay(e) {
3426    const self = this;
3427    const amazonForm = e.target.closest('form[action^="https://payments.amazon"]');
3428
3429    if (!amazonForm || !lqd.amazon_pay) return;
3430
3431    e.preventDefault();
3432    e.stopPropagation();
3433
3434    utils.store.set('amazonPayInitiated', true);
3435
3436    const addForm = e.target.closest('form[action="/cart/add"]');
3437    const path = lqd.proxy_url + '/amazon/forward';
3438
3439    const getToken = function(url) {
3440        const escaped = lqd.proxy_url.replace(/\//g, '\\/');
3441        const reg = new RegExp(escaped + '\\/((?:\\w+[-_]?)+)\\/?');
3442        const match = reg.exec(url);
3443
3444        return match && match[1];
3445    };
3446
3447    const fallback = function() {
3448        amazonForm.submit();
3449    };
3450
3451    const onSuccess = function(res) {
3452        if (!res.status) return fallback();
3453
3454        const token = getToken(res.checkout_url);
3455        if (!token) return fallback();
3456
3457        utils.cookie.set('ocu_checkout_token', token);
3458        location.assign(path);
3459    };
3460
3461    if (!addForm) {
3462        return self.checkout().then(onSuccess).catch(fallback);
3463    }
3464
3465    const cart = document.querySelector('form[action="/cart/add"]');
3466    const button = amazonForm.querySelector('[type="submit"]');
3467
3468    self.cart.add(cart, button)
3469        .then(self.checkout)
3470        .then(onSuccess)
3471        .catch(fallback);
3472}
3473
3474function Bold() {
3475    this.isBoldRecuring = function() {
3476        var boldRecurringEl = document.querySelector('[data-bold-recurring]');
3477        var isBoldRecuring = boldRecurringEl && boldRecurringEl.checked;
3478        return isBoldRecuring;
3479    };
3480
3481    this.upsellPopup = function(target) {
3482        var modalButtons = [
3483            target.querySelector('[data-bold-component-id="upsell_continue"]'),
3484            target.querySelector('[data-bold-component-id="upsell_no_thanks"]'),
3485            target.querySelector('#bold-modal__btn-close')
3486        ];
3487
3488        modalButtons.forEach(function(item) {
3489            if (!item) return;
3490            item.addEventListener('click', function(e) {
3491                setTimeout(function() {
3492                    self.checkout({ redirect: true });
3493                }, 500);
3494            });
3495        });
3496    };
3497
3498    this.initRecurring = function() {
3499        var clones = document.querySelectorAll('[data-ocu-clone]');
3500        var clone = Array.prototype.filter.call(clones, function(i) { return i && !i.dataset.ocuCheckout; })[0];
3501        if (clone) clone.click();
3502    };
3503
3504    this.redirect = function(event) {
3505        if (!window.BOLD || !BOLD.recurring_orders || !BOLD.recurring_orders.app || !event.isTrusted) throw new Error('Bold Recurring not found');
3506        if(!BOLD.common.cartDoctor.cart.is_recurring) throw new Error('Bold Recurring cart error');
3507
3508        event.preventDefault();
3509        event.stopImmediatePropagation();
3510        BOLD.recurring_orders.app.cartWidget.checkoutEvent = event;
3511        BOLD.recurring_orders.app.cartWidget.checkRecurringCheckout(event);
3512    };
3513
3514    this.recurring = function(form, token) {
3515        var cfg = {
3516            protocol: 'https://',
3517            host: 'recurringcheckout.com',
3518            proxy: '/s/',
3519            permanent: /(\w+)\.myshopify\.com/.exec(BOLD.common.Shopify.shop.permanent_domain)[1],
3520            path: '/checkout/recurring/',
3521            query: '?shop_url=' + location.host
3522        };
3523
3524        form.action = cfg.protocol + cfg.host + cfg.proxy + cfg.permanent + cfg.path + token + cfg.query;
3525        form.submit();
3526    };
3527}
3528
3529function BuyNowBtns() {
3530    if (!lqd.themeSkipCart) return;
3531
3532    const self = this;
3533
3534    const buyNowBtn = document.querySelector('button[id="AddToCart"]');
3535    if (!buyNowBtn) return;
3536
3537    const innerTextEl = buyNowBtn.querySelector('#AddToCartText');
3538    if (!/buy\s*(it)?\s*now/i.test(innerTextEl && innerTextEl.innerText)) return;
3539
3540    const cb = function() { self.checkout({ redirect: true }); };
3541    const onError = function(form) { form.submit() };
3542
3543    buyNowBtn.addEventListener('click', function(e) {
3544        e.preventDefault();
3545        const form = buyNowBtn.closest('form[action="/cart/add"]');
3546        self.cart.add(form, e.target).then(cb).catch(onError.bind(null, form));
3547    });
3548}
3549
3550function HandlePermalink(url, redirect) {
3551    var self = this;
3552    var reg = utils.store.get('permalink');
3553    var match = reg.exec(url);
3554    var cfg = { redirect: redirect };
3555
3556    if (!match) return {
3557        promise: new Promise(function(resolve) { resolve({ checkout_url: url }); }),
3558        callback: function(res) {
3559            return redirect ? location.assign(url) : new Promise(function(resolve) { resolve(res); })
3560        }
3561    };
3562
3563    var discount = match[2];
3564    if (discount) cfg.params = [{ discount: discount }];
3565
3566    var groups = match[1].split(',');
3567
3568    var data = groups.reduce(function(acc, item, i, arr) {
3569        var id = +item.split(':')[0];
3570        var qty = +item.split(':')[1];
3571
3572        var cartItem = lqd.cart_variants_json.filter(function(item) { return item.id === id })[0];
3573        if (cartItem) qty += cartItem.quantity;
3574
3575        if (acc) acc += '&';
3576        return acc += 'updates[' + id + ']=' + qty;
3577    }, '');
3578
3579    return {
3580        promise: self.cart.bulkAdd(data),
3581        callback: function() { return self.checkout(cfg); }
3582    };
3583}
3584
3585function CartDrawer(target) {
3586    var form = target.querySelector('form[action="/cart"]');
3587    var btn = form && form.querySelector('input[type="submit"]');
3588    if (!btn) return;
3589
3590    btn.type = 'button';
3591    btn.addEventListener('click', function(e) {
3592        self.checkout({ redirect: true });
3593    });
3594}
3595
3596function CartPopup() {
3597    var btn = document.querySelector('.bkt--upsell-target-checkout');
3598    if (!btn) return;
3599
3600    var cfg = {
3601        tag: 'input ',
3602        type: 'type="button" ',
3603        style: 'style="position:absolute;left:0;top:0;width:100%;height:100%;cursor:pointer;opacity:0" ',
3604        data: 'data-ocu-dialog-btn '
3605    };
3606
3607    btn.style.position = 'relative';
3608    btn.insertAdjacentHTML('beforeend','<'+cfg.tag+cfg.type+cfg.style+cfg.data+'>');
3609
3610    var clone = document.querySelector('[data-ocu-dialog-btn]');
3611    clone.addEventListener('click', function(e) {
3612        e.stopPropagation();
3613        btn.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="bkt--nc-icon" x="0px" y="0px" width="64px" height="15px" viewBox="0 0 64 64"><g><circle class="nc-dots-7-2" data-color="color-2" fill="#445FFF" cx="32" cy="32" r="26" transform="translate(6.26687999999989 6.26687999999989) scale(0.8041600000000034)" style="opacity:0.8041600000000034"></circle><circle class="nc-dots-7-1" fill="#445FFF" cx="-72" cy="32" r="26" transform="translate(3.2332800000000272 12.933120000000109) scale(0.5958399999999966)" style="opacity:0.5958399999999966"></circle><circle class="nc-dots-7-3" fill="#445FFF" cx="132" cy="32" r="26" transform="translate(33.6 19.2) scale(0.4)" style="opacity:0.4"></circle></g></svg>';
3614        function setAttributes(e,t){for (var i in t)e.setAttribute(i,t[i]);} function dotsSevenStep(e){startDots7||(startDots7=e);var t=e-startDots7,n=Math.min(t/250,4);n=4==n?0:n,decimalRot=n%1,upperInteger=Math.ceil(n),1e3>t||(startDots7+=1e3);if (circleDots7[0][0]){window.requestAnimationFrame(dotsSevenStep);var a=[],r=[],o=[],s=[-72,32,132],c=[32,32,32];for (j = 0;  circleDots7Number > j ; j++) {for (a[0]=a[1]=a[2]=.4,1==upperInteger?(a[0]=1-3*decimalRot/5,a[1]=.4+3*decimalRot/5):2==upperInteger?(a[1]=1-3*decimalRot/5,a[2]=.4+3*decimalRot/5):3==upperInteger?(a[1]=.4+3*decimalRot/5,a[2]=1-3*decimalRot/5):4==upperInteger?(a[0]=.4+3*decimalRot/5,a[1]=1-3*decimalRot/5):a[0]=1,i=0;3>i;i++)r[i]=(1-a[i])*s[i],o[i]=(1-a[i])*c[i],setAttributes(circleDots7[i][j],{
3615transform: 'translate('+r[i]+' '+o[i]+') scale('+a[i]+')',
3616style: 'opacity:'+a[i]+';'
3617});}}}!function(){var e=0;window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var i=(new Date).getTime(),n=Math.max(0,16-(i-e)),a=window.setTimeout(function(){t(i+n);},n);return e=i+n,a;});}();var circleDots7=[],startDots7=null;circleDots7[0]=document.getElementsByClassName('nc-dots-7-1'),circleDots7[1]=document.getElementsByClassName('nc-dots-7-2'),circleDots7[2]=document.getElementsByClassName('nc-dots-7-3'),circleDots7Number = circleDots7[0].length,window.requestAnimationFrame(dotsSevenStep);
3618        self.checkout({ redirect: true });
3619    });
3620}
3621
3622function CheckoutLinks() {
3623    var checkoutLinks = document.querySelectorAll('a[href="/checkout"]');
3624
3625    Array.prototype.forEach.call(checkoutLinks, function(link) {
3626        if (!link) return;
3627
3628        link.addEventListener('click', function(e) {
3629            e.stopPropagation();
3630            e.preventDefault();
3631            self.checkout({ redirect: true });
3632        });
3633    });
3634}
3635
3636function Discounts() {
3637    var discount = document.querySelector('input[name="discount"]');
3638    var discountCC = utils.cookie.get('discount_code'); // integration with CouponCountdown
3639    var discountShare = utils.cookie.get('ocu-share-discount');
3640    var isPopupShown = utils.cookie.get('popupcookie');
3641
3642    if (window._chpmgr && !isPopupShown) return; // integration with chilliapps exit popup
3643    if (!discount && !discountCC && !discountShare) return;
3644
3645    var code;
3646    if (discount) code = discount.value;
3647    if (discountCC) {
3648        code = discountCC;
3649        utils.cookie.remove('discount_code');
3650    }
3651
3652    if (discountShare) {
3653        code = discountShare;
3654        utils.cookie.remove('ocu-share-discount');
3655    }
3656
3657    var param = {
3658        name: 'discount',
3659        value: encodeURIComponent(code)
3660    };
3661
3662    var params = utils.store.get('params');
3663
3664    if (discountShare && lqd.template_name === 'page' || !param.value) return; // zp & shareable discount
3665
3666    params.arr.push(param);
3667    utils.store.set('params', params);
3668}
3669
3670function Recharge() {
3671    var self = this;
3672
3673    this.isSubscription = function(res) {
3674        const cart = res.cart || res.data.cart || res.data;
3675
3676        return cart.items.some(function(item) {
3677            if (item.selling_plan_allocation) return null;
3678            return item.properties && (item.properties.subscription_id || item.properties.shipping_interval_frequency);
3679        });
3680    };
3681
3682    this.processCart = function() {
3683        window.reChargeProcessCart = function() {
3684            self.checkout({ redirect: true });
3685        };
3686    };
3687
3688    this.redirect = function(event, cart, checkoutUrl) {
3689        let checkout_url = "https://checkout.rechargeapps.com";
3690        function buildCheckoutUrl(){var t=["myshopify_domain="+Shopify.shop];return checkout_url+"/r/checkout?"+(t=t.concat(get_cart_token()).concat(get_ga_linker())).join("&")}function filterVisible(t){return t.filter(function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)})}function filterValues(t){return t.filter(function(t){var e="radio"===t.getAttribute("type")&&t.checked,n="checkbox"===t.getAttribute("type")&&t.checked,r="checkbox"!==t.getAttribute("type")&&"radio"!==t.getAttribute("type");return!!t.value&&(r||e||n)})}function getCartJSON(){return fetch("/cart.js").then(function(t){return t.json()}).then(function(t){return{cart:JSON.stringify(t)}}).catch(function(t){return console.error("Error retreiving cart: ",t),{cart:{}}})}function getTermsAndConditions(){var t=document.querySelectorAll(["#terms","#agree"].join(",")),e=filterValues(Array.prototype.slice.apply(t)).map(function(t){return t.value});return e.length?{terms_and_conditions:e.join(", ")}:{}}function getNotes(){var t=document.querySelectorAll(['[name="note"]'].join(",")),e=filterVisible(Array.prototype.slice.apply(t)).map(function(t){return t.value}),n=new URLSearchParams(decodeURIComponent(window.location.search)).get("note");return n&&e.push(n),e.length?{note:e.filter(function(t,e,n){return n.indexOf(t)===e}).join(", ")}:""}function getUTMAttributes(){var t=/^_shopify_sa_p/,e=/^utm_/,n=/^_shopify_sa_t/,r={},o="",i="";document.cookie.split(";").map(function(t){return t.trim()}).forEach(function(e){t.test(e)&&(o=e),n.test(e)&&(i=decodeURIComponent(e.split("=")[1]))});var c=o.split("=")[1];if(decodeURIComponent(c).split("&").forEach(function(t){var n=t.split("=")[0],o=t.split("=")[1];if(e.test(n))return r[n]=o}),Object.keys(r).length)return r.utm_timestamp=i,r.utm_data_source="shopify_cookie",r}function getAttributes(){var t=/attributes\[(.*?)\]/,e=/\[(.*?)\]/,n=document.querySelectorAll(['[name*="attributes"]'].join(",")),r=filterValues(Array.prototype.slice.apply(n)),o={},i=getUTMAttributes(),c=new URLSearchParams(decodeURIComponent(window.location.search));for(let n of c)if(t.test(n[0])){var u=n[0].match(e)[0];u=u.substring(1,u.length-1),o[u]=c.get(n[0])}return r.forEach(function(n){var r=n.getAttribute("name"),i=n.value;if(t.test(r)){var c=r.match(e)[0];return c=c.substring(1,c.length-1),o[c]=i}return o[r]=i}
3690),i&&Object.keys(i).forEach(function(t){o[t]=i[t]}),Object.keys(o).length?{attributes:Object.assign({},o)}:{}}function getCartData(){return getCartJSON().then(function(t){var e={};return[getTermsAndConditions(),getNotes(),getAttributes(),e=t].forEach(function(t){Object.assign(e,t)}),e})}function get_cart_token(){try{return["cart_token="+(document.cookie.match("(^|; )cart=([^;]*)")||0)[2]]}catch(t){return[]}}function get_ga_linker(){try{return[ga.getAll()[0].get("linkerParam")]}catch(t){return[]}}function buildInputs(t,e){Object.keys(e).forEach(function(n){var r=document.createElement("input");r.setAttribute("type","hidden"),r.setAttribute("name",n),r.setAttribute("value","object"==typeof e[n]?JSON.stringify(e[n]):e[n]),t.appendChild(r)})}function buildForm(t,e){var n=document.createElement("form");return n.setAttribute("method","post"),n.setAttribute("action",e),n.setAttribute("id","rc_form"),n.style.display="none",buildInputs(n,t),n}function hasSubscription(t){return[...JSON.parse(t.cart).items].some(t=>t.properties && (t.properties.shipping_interval_unit_type || t.properties.shipping_interval_frequency))}function ReChargeCartSubmit(){return getCartData().then(function(t){if(hasSubscription(t)){var e=buildCheckoutUrl();if(t){var n=new XMLHttpRequest;n.open("POST","/cart/update.js"),n.setRequestHeader("Content-Type","application/json"),n.onload=function(){200===n.status?window.console.log("done",JSON.parse(n.responseText)):200!==n.status&&window.console.log("fail",JSON.parse(n.responseText));var r=buildForm(t,e);document.body.appendChild(r),r.submit()},n.send(JSON.stringify(t))}else window.location.href=e}else window.location.href=checkoutUrl||"/checkout"})}
3691        ReChargeCartSubmit();
3692    };
3693}
3694
3695function smar7() {
3696    var self = this;
3697
3698    var isSmar7Installed = ~document.head.innerHTML.indexOf('bundle-upsell');
3699    if (!isSmar7Installed) return;
3700
3701    var ctaBtns = document.querySelectorAll("[name='checkout'], [href^='/checkout'], form[action='/checkout'] [type='submit'], #checkout, [name='goto_pp'], .checkout_button");
3702    Array.prototype.forEach.call(ctaBtns, function(btn) {
3703        btn.disabled = true;
3704    });
3705
3706    var i = 0;
3707    var int = setInterval(function() {
3708        if ((++i && i > 7) || (window.SMAR7 && SMAR7.bundle)) {
3709            Array.prototype.forEach.call(ctaBtns, function(btn) {
3710                btn.disabled = false;
3711            });
3712            clearInterval(int);
3713        }
3714    }, 3000);
3715
3716    var redirect = function(discount) {
3717        var button, path, params = utils.store.get('params');
3718
3719        if (discount) {
3720            SMAR7.util.setCookie('smar7coupon', discount, 3600);
3721
3722            params.arr.push({
3723                name: 'discount',
3724                value: encodeURIComponent(discount)
3725            });
3726        } else {
3727            discount = SMAR7.bundle.helper.determineCoupon && SMAR7.bundle.helper.determineCoupon();
3728        }
3729
3730        if (SMAR7.paypal) {
3731            path = '/checkout?goto_pp=paypal_express&discount=' + encodeURIComponent(discount);
3732            button = document.querySelector('[name="goto_pp"]');
3733        } else {
3734            path = '/checkout?discount=' + encodeURIComponent(discount);
3735            button = document.querySelector(
3736                '[name="checkout"], [href="/checkout"], form[action="/checkout"] input[type="submit"], #checkout'
3737            );
3738        }
3739
3740        utils.store.set('params', params);
3741        self.checkout({ redirect: true });
3742    };
3743
3744    var handle = function() {
3745        if (window.SMAR7 && SMAR7.bundle) SMAR7.bundle.redirect = redirect;
3746    };
3747
3748    document.addEventListener('click', handle, true);
3749};
3750
3751function Integrations() {
3752    const self = this;
3753    const bold = new Bold();
3754    const recharge = new Recharge();
3755    const zipifyPages = new ZipifyPages();
3756
3757    this.list = {
3758        bold: {
3759            get isInstalled() { return window.BOLD && BOLD.apps_installed; },
3760            get productOptions() { return this.isInstalled && BOLD.apps_installed['Product Options']; },
3761            get productUpsell() { return this.isInstalled && BOLD.apps_installed['Product Upsell']; },
3762        },
3763        recharge: {
3764            isSubscriptionProduct: function(cart) {
3765                return cart.items.some(function(item) {
3766                    return item.properties && (item.properties.subscription_id || item.properties.shipping_interval_frequency);
3767                });
3768            }
3769        }
3770    };
3771
3772
3773    // for future integartion
3774    this.boldUpsellCheckoutOffer = function() {
3775        if (!window.BOLD || !window.Shopify) return;
3776
3777        var data  = {
3778            data: {
3779                cart: {
3780                  items: lqd.cart.items,
3781                  total_price: lqd.cart.total_price
3782                }
3783            }
3784        };
3785
3786        return ajax.request({
3787            method: 'post',
3788            url: window.BOLD.upsell.path + window.Shopify.shop + '/validate_checkout_offer',
3789            data: JSON.stringify(data)
3790        });
3791    };
3792
3793    this.needSkipClick = this.list.bold.productOptions || this.list.bold.productUpsell;
3794
3795    this.start = function() {
3796        if (!lqd.upsell_cart_include_upsells) return;
3797        if (lqd.template_name !== 'cart') this.main();
3798        // try {
3799        //     this[(lqd.template_name === 'cart' ? 'cart' : 'main')]();
3800        // } catch (e) { console.warn(e); }
3801    };
3802
3803    this.main = function() {
3804        var handleMutation = function(mutation) {
3805            if (
3806                mutation.type !== 'attributes'
3807                || mutation.target !== document.querySelector(self.ocuSelectors)
3808                || !/cart-?(popup|container|drawer)/i.test(mutation.target.id)
3809                || !/bold-upsell-modal-window/i.test(mutation.target.id)
3810            ) return;
3811
3812            if (mutation.target.id === 'bold-upsell-modal-window') {
3813                return self.boldUpsellPopup(mutation.target);
3814            }
3815
3816            var checkoutButtons = document.querySelectorAll(self.ocuSelectors);
3817            // var dataOcuCheckoutValue = checkoutButtons[0].dataset.ocuCheckout === 'true';
3818            var dataDisableRechargeValue = checkoutButtons[0].dataset.disableRecharge === 'true';
3819            var forEach = Array.prototype.forEach;
3820
3821            forEach.call(checkoutButtons, function(item) {
3822                if (item.innerHTML === 'Checkout') item.removeAttribute('onclick'); // Integration with AceCase store
3823            });
3824
3825            // if (!dataOcuCheckoutValue) { // Integration with MyDietChief store
3826            //     Array.prototype.forEach.call(checkoutButtons, function(item) {s
3827            //         item.dataset.ocuCheckout = true;
3828            //     });
3829            // }
3830
3831            if (lqd.disabled_by_subscription_app && dataDisableRechargeValue) return;
3832
3833            forEach.call(checkoutButtons, function(item) {
3834                item.disableRecharge = true;
3835            });
3836
3837            self.cartPopup();
3838            self.cartDrawer(mutation.target);
3839            self.checkoutLinks();
3840            self.listenEvents();
3841        };
3842
3843        var handleMutations = function(mutations) { mutations.forEach(handleMutation); };
3844
3845        var config = {
3846            childList: true,
3847            subtree: true,
3848            attributes: true
3849        };
3850
3851        new MutationObserver(handleMutations).observe(document, config);
3852
3853        self.buyNowBtns();
3854        self.recharge.processCart();
3855        self.revy();
3856    };
3857
3858    // this.cart = function() {
3859    //     // var handleMutation = function(mutation) {
3860    //     //     var target = document.querySelector(self.ocuSelectors);
3861    //     //     if (mutation.type === 'attributes' && mutation.target === target) {
3862    //     //         self.smar7();
3863    //     //     }
3864    //     // };
3865
3866    //     // var handleMutations = function(mutations) { mutations.forEach(handleMutation); };
3867
3868    //     // var config = {
3869    //     //     subtree: true,
3870    //     //     attributes: true
3871    //     // };
3872
3873    //     // new MutationObserver(handleMutations).observe(document, config);
3874
3875    //     self.revy();
3876    // };
3877
3878    this.revy = function() {
3879        if (window.RevyApp && RevyApp.events) RevyApp.events.updatedCart = [];
3880    };
3881
3882    this.discounts = Discounts;
3883    this.smar7 = smar7;
3884    this.isBoldRecuring = bold.isBoldRecuring;
3885    this.boldRecurring = bold.initRecurring;
3886    this.bold = bold;
3887    this.boldUpsellPopup = bold.upsellPopup;
3888    this.cartPopup = CartPopup;
3889    this.cartDrawer = CartDrawer;
3890    this.checkoutLinks = CheckoutLinks;
3891    this.handlePermalink = window.oneClickUpsellHandlePermalink = HandlePermalink.bind(this);
3892    this.buyNowBtns = BuyNowBtns;
3893    this.recharge = recharge;
3894    this.amazonPay = amazonPay;
3895    this.zipifyPages = zipifyPages;
3896    // this.amazonPay = function() { AmazonPay(self) };
3897
3898    this.start();
3899}
3900
3901function HistoryApi() {
3902    history.pushState = (function(f) {
3903        return function() {
3904            var result = f.apply(this, arguments);
3905            window.dispatchEvent(new Event('pushState'));
3906            window.dispatchEvent(new Event('locationchange'));
3907            return result;
3908        };
3909    })(history.pushState);
3910
3911    history.replaceState = (function(f) {
3912        return function() {
3913            var result = f.apply(this, arguments);
3914            window.dispatchEvent(new Event('replaceState'));
3915            window.dispatchEvent(new Event('locationchange'));
3916            return result;
3917        };
3918    })(history.replaceState);
3919
3920    window.addEventListener('popstate', function() {
3921        window.dispatchEvent(new Event('locationchange'));
3922    });
3923}
3924
3925// function Verify() {
3926//     var self = this;
3927//     var target;
3928
3929//     this.init = function(target) {
3930//         target = target;
3931
3932//         if (window.catchXHR) {
3933//             catchXHR = false;
3934//             XMLHttpRequest.callbacks = [];
3935//         }
3936//         if (window.beeketingWPJP) beeketingWPJP = {};
3937
3938//         self.checkout()
3939//             .then(self.handle)
3940//             .catch(self.helpers.redirect);
3941//     };
3942
3943//     this.data = function() {
3944//         var options = {
3945//             method: 'get',
3946//             url: self.helpers.getProxyUrl() + utils.store.get('lqdCart')
3947//         };
3948
3949//         return ajax.request(options);
3950//     };
3951
3952//     this.upsells = function(res) {
3953//         if (self.integrations.recharge.isSubscription(res)) {
3954//             var url = self.integrations.recharge.init(res, target);
3955//             utils.store.set('redirect_url', url);
3956//             res.data.redirect_url = url;
3957
3958//             if (!lqd.integrate_with_recharge) {
3959//                 return new Promise(function(resolve) { resolve(res); });
3960//             }
3961//         }
3962
3963//         res = self.cart.modify(res);
3964
3965//         const cart = res.data;
3966//         return self._addToken(cart)
3967//             .then(function(c) {
3968//                 return self._makeCheckUpsells(c, res);
3969//             });
3970//     };
3971
3972//     this.handle = function(res) {
3973//         // var isAppSkipCart = lqd.skip_cart && /index|collection|product/.test(lqd.template_name);
3974//         // var isThemeSkipCart = lqd.themeSkipCart;
3975//         // if (cart.redirect_url) return location = cart.redirect_url;
3976//         if (!res.status && !lqd.themeSkipCart) return self.helpers.redirect(res);
3977//         // if (!res.status && !lqd.themeSkipCart) return location.assign('/cart');
3978
3979//         location = res.status || lqd.themeSkipCart
3980//             ? res.checkout_url
3981//             : '/cart';
3982//     };
3983
3984//     this._makeCheckUpsells = function(cart, res) {
3985//         cart.items = self.helpers.filterCartItemFields(cart.items);
3986
3987//         const data = {
3988//             shop_domain: lqd.current_domain,
3989//             cart: cart,
3990//             require_paypal: utils.store.get('requirePayPal'),
3991//             customer: { id: res.data.customer_id },
3992//             incarts: utils.store.get('incarts')
3993//             // incarts: { 47: { status: 'declined', shopify_variant_id: 16052480475207, quantity: 1, shown_at: Date.now() }}
3994//             // incarts: { 47: { status: 'offered', shopify_variant_id: 16052480475207, quantity: 1, shown_at: Date.now() }}
3995//         };
3996
3997//         const options = {
3998//             method: 'post',
3999//             url: self.helpers.getProxyUrl() + utils.store.get('checkUpsells'),
4000//             data: utils.serialize(data, { indices: true })
4001//         };
4002
4003//         return ajax.request(options);
4004//     };
4005
4006
4007//     this._addToken = function(cart) {
4008//         const store_token = utils.store.get('cart_token');
4009//         return new Promise(function(resolve, reject) {
4010//             if (!cart.token && store_token) {
4011//                 cart.token = store_token;
4012//                 resolve(cart);
4013//             } else if (!cart.token) {
4014//                 self.cart.get().then(function(res) {
4015//                     cart.token = res.data.token;
4016//                     resolve(cart);
4017//                 });
4018//             } else {
4019//                 resolve(cart);
4020//             }
4021//         });
4022//     }
4023// };
4024
4025const appendChain = window.Symbol ? Symbol('appendChain') : 'oneClickUpsellAppendChain';
4026Object[appendChain]=function(t,o){for(var n=o,e=o2nd=oLast=t instanceof this?t:new t.constructor(t),r=this.getPrototypeOf(o2nd);r!==Object.prototype&&r!==Function.prototype;r=this.getPrototypeOf(o2nd))o2nd=r;return o.constructor===String&&(n=Function.prototype,e=Function.apply(null,Array.prototype.slice.call(arguments,1)),this.setPrototypeOf(e,oLast)),this.setPrototypeOf(o2nd,n),e};
4027
4028function Updater(res) {
4029    this.res = res;
4030    this.isCartUpdated = utils.store.get('cartUpdated');
4031    this.isOfferDeclined = utils.store.get('offerDeclined');
4032    this.options = {
4033        add:    { method: 'post', url: '/cart/add.js' },
4034        change: { method: 'post', url: '/cart/change.js' },
4035        update: { method: 'post', url: '/cart/update.js' }
4036    };
4037    this.regs = {
4038        attributes: /\[(.+?)\]/,
4039        key: /(?:(?:updates|quantity)_(?:.*?))?(\d+:\w+)/,
4040        id: /(?:(?:updates|quantity)_(?:.*?))?(\d+):?/,
4041        noId: /(\d+(:\w+)?)$/
4042    };
4043    this.selectors = {
4044        form: 'form[action^="/checkout"], form[action^="/cart"]',
4045        attributes: '[name^="attributes["]',
4046        currency: '[name="currency"]',
4047        localization: 'form[action="/localization"]',
4048        geolocation_currency: 'input[name="currency_code"]',
4049        updates: '[name^="updates["], [data-cart-item-input-quantity], [data-cart-item-quantity], input[data-line], [name="quantity"], [data-quantity-input]',
4050        note: '[name="note"]',
4051        cartItemKey: '[data-cart-item-key], [data-cart-item], [data-variant]'
4052    };
4053    this.data = {
4054        currency: Shopify.currency.active !== lqd.shop_currency ? Shopify.currency.active : lqd.shop_currency,
4055        attributes: {},
4056        lineItems: [],
4057        updates: {},
4058        changes: [],
4059        sameIds: [],
4060        note: ''
4061    };
4062    this.payload = {
4063        updates: {},
4064        currency: '',
4065        note: null,
4066        attributes: {}
4067    };
4068
4069    if (!window.klpixel /*integration with Klickly*/) this._restoreXMLHttp();
4070}
4071Updater.prototype = {
4072    init: function() {
4073        if (this.isCartUpdated && !this.isOfferDeclined) return this.resolve(this.res);
4074        if (!this.form) return this.updateCurrency();
4075
4076        this.buildPayload();
4077        if (this.res) return this.updateCart();
4078    }
4079};
4080const UpdaterRequests = {
4081    updateCart: function(data, isUpgrade) {
4082        const options = this._getOptions('update', data, isUpgrade);
4083        const params = isUpgrade && data.changeData;
4084        const updateCart = function() { return ajax.request(options); };
4085
4086        return this._updateSameId(params).then(updateCart);
4087    },
4088    addToCart: function(data) {
4089        const options = this._getOptions('add', data);
4090
4091        return ajax.request(options);
4092    },
4093    changeCart: function(data, chain) {
4094        const options = this._getOptions('change', data);
4095        const request = !chain || chain instanceof Object
4096            ? ajax.request(options)
4097            : function() { return ajax.request(options); };
4098
4099        return request;
4100    },
4101    updateCurrency: function() {
4102        if (!this.needCurrencyUpdate) return this.resolve(this.res);
4103
4104        this.getCurrency();
4105        const options = this._getOptions('update', { currency: this.data.currency });
4106
4107        return ajax.request(options).catch(this.resolve.bind(this, this.res));
4108    },
4109    _updateSameId: function(changeData) {
4110        if (!this.data.sameIds.length || !changeData) return this.resolve(false);
4111
4112        const allRequests = this._getCartChangeRequests(changeData);
4113        const requestChain = this._requestChain(allRequests);
4114
4115        return new Promise(requestChain.bind(this));
4116    },
4117    _getCartChangeRequests: function(changeData) {
4118        const cb = function(acc, change) {
4119            if (!change.id && !change.line) return acc;
4120            if (changeData) {
4121                const id = changeData.id;
4122                const line = changeData.__line || changeData.line;
4123                const isUpgradeItem = change.line === line || (id && change.id === id);
4124                if (isUpgradeItem) return acc;
4125            }
4126
4127            delete change.__variantId;
4128            acc.push(this.changeCart(change, 'chain'));
4129
4130            return acc;
4131        };
4132
4133        return this.data.changes.reduce(cb.bind(this), []);
4134    },
4135    _requestChain: function(allRequests) {
4136        return function(resolve, reject) {
4137            if (!allRequests.length) return resolve(false);
4138            !function createRequest() {
4139                const req = allRequests.pop();
4140                const cb = function(res) {
4141                    if (allRequests.length) return createRequest();
4142                    resolve(res);
4143                };
4144
4145                return req().then(cb).catch(reject);
4146            }();
4147        }
4148    },
4149    _getOptions: function(type, data, isUpgrade) {
4150        const options = Object.assign({}, this.options[type]);
4151        options.data = isUpgrade ? data.updateData : (data || this.payload);
4152        return options;
4153    }
4154};
4155const UpdaterPayload = {
4156    buildPayload: function() {
4157        this.getUpdates();
4158        this.getAttributes();
4159        this.getCurrency();
4160        this.getNote();
4161
4162        Object.keys(this.payload).forEach(function(key) {
4163            this.payload[key] = this.data[key];
4164        }.bind(this));
4165
4166        return this.payload;
4167    },
4168    getUpdates: function() {
4169        this.updateElements.forEach(function(item) {
4170            if (!item) return;
4171            // examples of item.id: '', 'quantity', '6565763', 'updates_456546:nn56d5j', '65765:2c9656mn'
4172            const isNoId = (
4173                !item.dataset.id &&
4174                !item.dataset.key &&
4175                !this.regs.noId.test(item.id) &&
4176                !this._getClosestKey(item)
4177            );
4178            const quantity = parseFloat(item.value);
4179            const line = this._getLine(item);
4180            if (isNoId) return this._saveLineItem(null, null, line, quantity);
4181
4182            const key = this._getKey(item);
4183            const id = this._getId(item);
4184            const isIdMissing = id.toString().length <3;
4185
4186            this._saveLineItem(id, key, line, quantity);
4187            if (this.data.updates[id] || isIdMissing) this._saveSameId(id);
4188            this._saveChanges();
4189            if (~this.data.sameIds.indexOf(id) || isIdMissing) return;
4190            this._saveUpdates(id, quantity);
4191        }.bind(this));
4192
4193        return this.data.updates;
4194    },
4195    getAttributes: function() {
4196        if (!this.attributesElements.length) return {};
4197
4198        const cb = function(acc, item) {
4199            const attribute = this._getAttribute(item);
4200            if (!attribute.key) return acc;
4201            if (item.type === 'checkbox' && !item.checked) return acc;
4202
4203            acc[attribute.key] = attribute.value;
4204            return acc;
4205        };
4206
4207        this.data.attributes = this.attributesElements.reduce(cb.bind(this), {});
4208        return this.data.attributes;
4209    },
4210    getCurrency: function() {
4211        if (!this.currencyElement) return this.data.currency;
4212        this.data.currency = this.currencyElement.value;
4213        return this.data.currency;
4214    },
4215    getNote: function() {
4216        if (!this.noteElement) return '';
4217        this.data.note = this.noteElement.value;
4218        return this.data.note;
4219    }
4220};
4221const UpdaterPrecheckout = {
4222    acceptAddOffer: function(data) {
4223        return this.updateCart().then(this.addToCart.bind(this, data));
4224    },
4225    acceptUpgradeOffer: function(...params) {
4226        try {
4227            return this._vintageUpgrade(...params);
4228        } catch (err) {
4229            console.log('os2 used');
4230            return this._os2Upgrade(...params);
4231        }
4232    },
4233    _os2Upgrade: function(addData, cartItem, cartItemLine) {
4234        const getChangeData = (cart, lineItem, line) => {
4235            const item = cart.items.find(({ key }) => key === lineItem.key);
4236            if (!item) return null;
4237            return { line, quantity: item.quantity - 1 };
4238        };
4239
4240        const changeCart = (...params) => {
4241            const changeData = getChangeData(...params);
4242            return changeData && !OCUIncart._is_product_action && this.changeCart(changeData);
4243        };
4244
4245        return this.updateCart(new FormData(this.form))
4246            .then((cart) => changeCart(cart.data, cartItem, cartItemLine))
4247            .then(() => this.addToCart(addData))
4248            .catch((err) => console.log(err));
4249    },
4250    _vintageUpgrade: function(addData, cartItem, cartItemLine) {
4251        const data = this._getUpgradeOfferData(cartItem, cartItemLine);
4252        const changeData = Object.assign({}, data.changeData);
4253        delete changeData.__line;
4254
4255        return this.updateCart(data, 'upgrade')
4256            .then(() => OCUIncart._is_product_action
4257            ? this.addToCart(addData)
4258            : this.changeCart(changeData).then(this.addToCart.bind(this, addData)));
4259    },
4260    _getUpgradeOfferData: function(cartItem, cartItemLine) {
4261        const udpateData = Object.assign({}, this.payload);
4262        const lineItemByKey = this.data.lineItems.find(function(item) {
4263            return item.id === cartItem.key;
4264        });
4265        const lineItemById = this.data.lineItems.find(function(item) {
4266            return item.__variantId === cartItem.id;
4267        });
4268        const lineItemByLine = this.data.lineItems.find(function(item) {
4269            return item.line === cartItemLine;
4270        });
4271        const lineItem = lineItemByKey || lineItemById || lineItemByLine;
4272        const quantity = lineItem.quantity ? lineItem.quantity - 1 : 0;
4273        const changeData = {
4274            // __line: cartItemLine,
4275            // id: cartItem.key,
4276            line: cartItemLine,
4277            quantity: quantity
4278        };
4279
4280        delete udpateData.updates[cartItem.id];
4281
4282        return {
4283            updateData: udpateData,
4284            changeData: changeData
4285        };
4286    }
4287};
4288const UpdaterElements = {
4289    get forms() {
4290        const forms = document.querySelectorAll(this.selectors.form);
4291        const visibleForms = this.arrayFrom(forms).filter(function(form) {
4292            return form.offsetHeight || this._isVisible(form);
4293        }.bind(this));
4294
4295        return visibleForms;
4296    },
4297    get form() {
4298        const isNotePresent = this.forms.some(function(e) {
4299            return e.note && e.note.value;
4300        });
4301        const isValidAction = function(form) {
4302            return !/add|change|update/.test(form.action);
4303        }
4304        const isValidForm = function(form) {
4305            const parentCondition = !!form.closest('.cv_outer_cart_drawer');
4306            const inputCondition = !!form.querySelector('[id="pro_quantity"]');
4307
4308            return parentCondition && inputCondition
4309        }
4310        const filteredForm = this.forms.find(function(form) {
4311            return (
4312                isValidAction(form) &&
4313                form.querySelector(this.selectors.updates) &&
4314                (isNotePresent ? form.note && form.note.value : true) &&
4315                !isValidForm(form)
4316            );
4317        }.bind(this));
4318
4319        return filteredForm;
4320    },
4321    get updateElements() {
4322        const arr = this.arrayFrom(this.form.querySelectorAll(this.selectors.updates));
4323
4324        return arr
4325            .filter(function(item) {
4326                return item && !item.disabled && !item.dataset.removedItemRow;
4327            })
4328            .map(function(item) {
4329                const child = item.querySelector('input');
4330                return child ? child : item;
4331            });
4332    },
4333    get attributesElements() {
4334        const nodeList = this.form.querySelectorAll(this.selectors.attributes);
4335        return this.arrayFrom(nodeList);
4336    },
4337    get noteElement() {
4338        return this.form.querySelector(this.selectors.note);
4339    },
4340    get currencyElement() {
4341        return document.querySelector(this.selectors.currency) || this._geolocationElement;
4342    },
4343    get _geolocationElement() {
4344        const geoElements = document.querySelectorAll(this.selectors.localization);
4345        const visibleLocalizationForm = this.arrayFrom(geoElements).find(e => e.offsetHeight || this._isVisible(e));
4346        return visibleLocalizationForm && visibleLocalizationForm.querySelector(this.selectors.geolocation_currency);
4347    }
4348};
4349const UpdaterHelpers = {
4350    resolve: function(res) {
4351        return new Promise(function(resolve) { resolve(res); });
4352    },
4353    arrayFrom: function(nodeList) {
4354        if (!(nodeList instanceof NodeList)) nodeList = [nodeList];
4355        return Array.prototype.slice.call(nodeList);
4356    },
4357    _getLine: function(item) {
4358        return +(
4359            item.dataset.quantityItem ||
4360            item.dataset.lineId ||
4361            item.dataset.line ||
4362            item.closest('[data-line]') && item.closest('[data-line]').dataset.line);
4363    },
4364    _getKey: function(item) {
4365        const match = this.regs.key.exec(
4366            item.dataset.id ||
4367            item.dataset.key ||
4368            item.id ||
4369            this._getClosestKey(item)
4370        );
4371        return match && match[1].split('_')[0];
4372    },
4373    _getId: function(item) {
4374        const match = this.regs.id.exec(
4375            item.dataset.variant ||
4376            item.dataset.id ||
4377            item.dataset.key ||
4378            item.id ||
4379            this._getClosestKey(item)
4380        );
4381        return match && +match[1];
4382    },
4383    _saveSameId: function(id) {
4384        delete this.data.updates[id];
4385        this.data.sameIds.push(id);
4386    },
4387    _saveLineItem: function(id, key, line, quantity) {
4388        const lineItem = {
4389            __variantId: id,
4390            quantity: quantity,
4391        };
4392
4393        if (line) lineItem.line = line;
4394        else if (key) lineItem.id = key;
4395
4396        this.data.lineItems.push(lineItem);
4397    },
4398    _saveChanges: function() {
4399        this.data.changes = this.data.lineItems.filter(function(item) {
4400            return ~this.data.sameIds.indexOf(item.__variantId);
4401        }.bind(this));
4402    },
4403    _saveUpdates: function(id, quantity) {
4404        this.data.updates[id] = quantity;
4405    },
4406    _getAttribute: function(item) {
4407        const match = this.regs.attributes.exec(item.name);
4408        if (!match) return {};
4409        return { key: match[1], value: item.value };
4410    },
4411    _isVisible: function(el) {
4412        const styles = window.getComputedStyle(el);
4413        return styles.display === 'block' && styles.visibility === 'visible';
4414    },
4415    get needCurrencyUpdate() {
4416        return this.currencyElement && this.currencyElement.value !== this.data.currency;
4417    },
4418    _getClosestKey: function(item) {
4419        const closestKey = item.closest(this.selectors.cartItemKey);
4420        if (!closestKey) return;
4421        const cartItemKeys = ['cartItemKey', 'cartItem', 'variant'];
4422        return closestKey.dataset[Object.keys(closestKey.dataset).find(function(key) {
4423            return cartItemKeys.includes(key)
4424        })];
4425    },
4426    _restoreXMLHttp: function() {
4427        try {
4428            XMLHttpRequest.prototype.open = openReplacement;
4429            XMLHttpRequest.prototype.send = originSend;
4430        } catch (error) {
4431            console.log(error);
4432        }
4433    }
4434};
4435
4436[UpdaterRequests, UpdaterPayload, UpdaterPrecheckout, UpdaterElements, UpdaterHelpers]
4437.forEach(function(module) {
4438    Updater.prototype = Object[appendChain](Updater.prototype, module);
4439});
4440
4441function Cart() {
4442    var self = this;
4443
4444    this.add = function(form, button, data) {
4445        if (form) {
4446            var noId = function(serialized) { return !/id/.test(serialized); };
4447
4448            data = self.serialize(form);
4449
4450            if (noId(data)) {
4451                const customForm = document.querySelector('#AddToCartForm');
4452                if (customForm )data = self.serialize(customForm);
4453            }
4454
4455            if (noId(data)) {
4456                var idOnBtn = document.querySelector('[data-cart-add]');
4457                if (idOnBtn) data = 'id=' + idOnBtn.dataset.cartAdd;
4458            }
4459        }
4460
4461        var options = {
4462            method: 'post',
4463            url: '/cart/add.js',
4464            data: data
4465        };
4466
4467        return ajax.request(options);
4468    };
4469
4470    this.bulkAdd = function(data) {
4471        var options = {
4472            method: 'post',
4473            url: '/cart/update.js',
4474            data: data
4475        };
4476
4477        return ajax.request(options)
4478    };
4479
4480    this.get = function(query) {
4481        const validateQuery = typeof query === 'string' ? query : '';
4482
4483        var options = {
4484            method: 'get',
4485            url: '/cart.js' + validateQuery
4486        };
4487
4488        return ajax.request(options);
4489    };
4490
4491    this.update = function(res) {
4492        return new Updater(res).init();
4493    };
4494
4495    this.save = function(res) {
4496        // if (self.needCurrencyUpdate()) self.updateCurrency();
4497        self.disableMultiUpdate(res.data.cart.items);
4498        self.saveTags(res);
4499
4500        // if (!lqd.is_precheckout && lqd.is_ajax_precheckout && !utils.cookie.get('ocu_countdown_start')) {
4501        //     return window.OCUPrecheckout({ utils: utils });
4502        // }
4503
4504        lqd.cart_products_json = res.data.cart_products;
4505        lqd.cart_collections_json = res.data.cart_collections;
4506        lqd.subscription_products_json = res.data.subscription_products;
4507        lqd.subscription_variants_json = res.data.subscription_variants;
4508
4509        return self.resolve(res);
4510    };
4511
4512    this.modify = function(res) {
4513        const cart = res.cart || res.data.cart || res.data;
4514
4515        // res.data = self.helpers.filterFields(cart);
4516        res.data = cart;
4517        res.data.subscription_products = lqd.subscription_products_json;
4518        res.data.cart_collections = lqd.cart_collections_json;
4519        res.data.cart_products = lqd.cart_products_json.filter(function(item) { return !item.error; });
4520        res.data.customer_id = lqd.customer_id;
4521        res = self.helpers.addBuyXGetYDiscount(res);
4522        if (cart.cart_level_discount_applications) res.data.automatic_discount = cart.cart_level_discount_applications[0];
4523
4524        return res;
4525    };
4526
4527    this.serialize = function(form) {
4528        return /trident|edge/i.test(navigator.userAgent)
4529            ? utils.serializeFormEdge(form)
4530            : utils.serializeForm(form);
4531    };
4532
4533    this.attrubutes = function(attr) {
4534        const options = {
4535            method: 'post',
4536            url: '/cart/update.js',
4537            data: { attributes: attr }
4538        };
4539
4540        ajax.request(options);
4541    };
4542
4543    this.prepareUpdate = function(items) {
4544        var handle = function(acc, item) {
4545            var id = item.id.replace(/(\w+_)(\d+)(:\w+)/, '$2');
4546            acc[id] = item.value;
4547
4548            return acc;
4549        };
4550
4551        items = items.length ? items : [items];
4552
4553        var updates = Array.prototype.reduce.call(items, handle, {});
4554
4555        return {
4556            updates: updates,
4557            currency: lqd.shop_currency
4558         };
4559    };
4560
4561    this.saveTags = function(res) {
4562        var tags = res.data.cart_products.reduce(function(acc, product) {
4563            return acc.concat(product.tags);
4564        }, []);
4565
4566        utils.store.set('tags', tags);
4567    };
4568
4569    this.disableMultiUpdate = function(lineItems) {
4570        const inputs = document.querySelectorAll('input[name="updates[]"]');
4571        const offer = utils.store.get('offer');
4572        const isAdd = offer === 'add';
4573
4574        if (isAdd && lineItems.length === inputs.length + 1) return;
4575        if (!isAdd && lineItems.length === inputs.length) return;
4576
4577        Array.prototype.forEach.call(inputs, function(input) {
4578            if (!input.offsetHeight) input.disabled = true;
4579        });
4580    };
4581
4582    this.state = function(e) {
4583        if (e.target.name !== 'updates[]') return;
4584        utils.store.set('cartChanged', true);
4585    };
4586
4587    this.resolve = function(res) {
4588        return new Promise(function(resolve) { resolve(res); });
4589    };
4590
4591    this.needCurrencyUpdate = function() {
4592        return document.querySelector('[name="currency"]');
4593    };
4594
4595    this.updateCurrency = function() {
4596        var options = {
4597            method: 'post',
4598            url: '/cart/update.js',
4599            data: { currency: lqd.shop_currency }
4600        };
4601
4602        ajax.request(options).then(function() { utils.store.set('cartChanged', false); });
4603    };
4604
4605    this.isNotePresent = function(forms) {
4606        return Array.prototype.some.call(forms, function(e) { return e.note && e.note.value });
4607    };
4608
4609    this.filterFormsIfNotes = function(forms, isNotePresent) {
4610        var handle = function(form) {
4611            return form['updates[]'] && (isNotePresent ? form.note && form.note.value : true);
4612        };
4613
4614        return Array.prototype.filter.call(forms, handle)[0];
4615    };
4616
4617    this.error = function(e) {
4618        var desc = e.data.description;
4619
4620        if (e.status !== 422) return alert(desc || 'Something went wrong. Please try again.');
4621
4622        var allInCart = /all/i.test(desc);
4623        var soldOut = /sold out/i.test(desc);
4624
4625        alert(desc);
4626
4627        if (allInCart) return self.checkout({ redirect: true });
4628        if (soldOut) location.reload();
4629    };
4630};
4631
4632var SyncQtyFields = {
4633    init: function() {
4634        // if (!lqd.upsell_cart_include_upsells) return;
4635        if (!this.fields.length) return;
4636        this.listenEvents();
4637    },
4638    get fields() {
4639        return document.querySelectorAll('[data-quantity-item]');
4640    },
4641    getFiledsForUpdate: function(target) {
4642        var id = this.getId(target);
4643        var elems = document.querySelectorAll('[data-quantity-item="' + id + '"]');
4644        var arr = this.getArray(elems);
4645
4646        return arr;
4647    },
4648    getId: function(target) {
4649        return target.dataset.quantityItem;
4650    },
4651    getArray: function(nodeList) {
4652        return Array.prototype.slice.call(nodeList);
4653    },
4654    update: function(target, value) {
4655        this.getFiledsForUpdate(target).forEach(function(field) {
4656            field.value = value;
4657        });
4658    },
4659    handle: function(e) {
4660        this.update(e.target, e.target.value);
4661    },
4662    listenEvents: function(e) {
4663        this.getArray(this.fields).forEach(function(field) {
4664            field.addEventListener('input', this.handle.bind(this));
4665        }.bind(this));
4666    }
4667}.init();
4668
4669function SkipCart() {
4670    var self = this;
4671
4672    // if (lqd.themePopup && lqd.isThemePopupTag) return;
4673
4674    this.init = function() {
4675        const isSkipCartPage = /index|collection|product/.test(lqd.template_name);
4676        lqd.skip_cart && isSkipCartPage && setTimeout(self.prepare);
4677    };
4678
4679    this.prepare = function() {
4680        // TODO: move selectors to store
4681        const forEach = Array.prototype.forEach;
4682        const getArr = function(nodeList) { return Array.prototype.slice.call(nodeList); };
4683        const fakeForms = getArr(document.querySelectorAll('.product-form__cart'));
4684        let forms = getArr(document.querySelectorAll('form[action*="cart"], [data-zp-add-to-cart-form], #AddToCartForm1'));
4685        forms = forms.filter(function(form) { return form.dataset.zpLinkType !== 'zipify_page'; });
4686
4687        if (fakeForms.length) forms = forms.concat(fakeForms);
4688
4689        forms.forEach(function(form) {
4690            const buttons = getArr(form.querySelectorAll('*[type="submit"], input[type="button"], button'));
4691
4692            buttons.forEach(function(button) {
4693                if (button.dataset.qty || button.dataset.quantityAction) return;
4694                if (button.dataset.pfType && button.dataset.pfType !== 'ProductATC') return;
4695                if (button.getAttribute('aria-controls')) return;
4696                if (/plus|minus|zpa-quantity/.test(button.className)) return;
4697                if (/error_txt|quantity|sold-out/i.test(button.id)) return;
4698                if (/amount|review/i.test(button.value)) return;
4699
4700                button.removeAttribute('onclick');
4701                button.dataset.skipCart = true;
4702                button.type = 'button';
4703            });
4704        });
4705
4706        self.listenEvents(forms);
4707    };
4708
4709    this.handle = function(e) {
4710        const zpIntegration = self.handleZPEvent(e);
4711        if (zpIntegration) return;
4712
4713        if (!self.popupDispatcher.target) self.popupDispatcher.target = e.target;
4714        if (self.popupDispatcher.isProductAction && !self.popupDispatcher.secondAttempt) return;
4715        let button = e.target.dataset.skipCart ? e.target : null;
4716        if (!button) button = e.target.closest('[data-skip-cart]');
4717        if (!button) return;
4718
4719        button.disabled = true;
4720
4721        e.stopImmediatePropagation();
4722        e.stopPropagation();
4723        e.preventDefault();
4724
4725        let form = button.closest('form');
4726        if (!form) form = document.querySelector('form[action="/cart/add"]');
4727
4728        self.cart.add(form, button)
4729            .then(self.cart.get)
4730            .then(self.onSuccess)
4731            .catch(self.onError.bind(null, form));
4732    };
4733
4734    this.onSuccess = function(res) {
4735        utils.store.set('cart_token', res.data.token);
4736        if (self.helpers.isSubscriptionProductInCart(res.data)) return location = '/cart';
4737        self.checkout({ redirect: true });
4738    };
4739
4740    this.onError = function(form) {
4741        form.submit();
4742    };
4743
4744    this.listenEvents = function(forms) {
4745        document.addEventListener('click', self.handle, true);
4746    };
4747
4748    this.handleZPEvent = e => {
4749        const getZPType = el => el.dataset.zpAddToCart !== undefined;
4750        const target = e.target;
4751        const button = getZPType(target) ? target : target.closest('[data-zp-add-to-cart]');
4752
4753        if ((button && e.isTrusted) && getZPType(button)) {
4754            button.type = 'submit';
4755            button.click();
4756            return true;
4757        }
4758        return false;
4759  }
4760
4761    this.init();
4762}
4763
4764function BuyNow(e) {
4765    const self = this;
4766
4767    if (lqd.themePopup && lqd.isThemePopupTag) return;
4768    if (!e.isTrusted) return;
4769
4770    const form = e.target.closest('form[action="/cart/add"]') || document.querySelector('form[action="/cart/add"]');
4771    if (!form) return;
4772
4773    e.stopImmediatePropagation();
4774    e.preventDefault();
4775    e.target.disabled = true;
4776
4777    const cb = function() { self.checkout({ redirect: true }) };
4778    const onError = function(form) { form.submit() };
4779
4780    self.cart.add(form, e.target).then(cb).catch(onError.bind(null, form));
4781}
4782
4783
4784function PublicMethod() {
4785    const self = this;
4786    const proto = self.__proto__.__proto__;
4787    const integrations = OCUIncart.integrations();
4788
4789    this.init = function() {
4790        window.oneClickUpsellGetCheckoutUrl = proto.checkout = self.create;
4791        proto.verify = self._verify.bind(this);
4792    };
4793
4794    this.create = function(config) {
4795        if (config === 'skip_cart') {
4796            return new Promise(function(resolve) { resolve(lqd.skip_cart); });
4797        }
4798
4799        const hasCookie = utils.cookie.get('ocu_progress_bar') && utils.cookie.get('ocu_progress_bar').length;
4800        const hasUpsellsInCart = !OCUIncart.hasOfferInCart && hasCookie;
4801        const headerType = utils.cookie.get('ocu_header');
4802        if ((hasUpsellsInCart || config.redirect_url) && !headerType) return self._checkout(config);
4803
4804        return self._verify()
4805            .then(function(response) {
4806                self._checkout(Object.assign(config, {
4807                    redirect_url: response.data.redirect_url || lqd.checkoutUrl
4808                }));
4809            })
4810            .catch(function() { self._checkout(config); });
4811
4812    };
4813
4814    this.prepare = function(config) {
4815        const params = utils.store.get('params');
4816        self.config = config || {};
4817        self.config.incarts && utils.store.set('incarts', self.config.incarts);
4818        self.config.path && utils.store.set('amazonPath', self.config.path);
4819        self.config.button && self.helpers.payPal(self.config.button);
4820        self.integrations.discounts();
4821        self.params();
4822        self.handleDeclineOffer(config);
4823
4824        if (integrations.tidio.present) integrations.tidio.track();
4825
4826        params.str = params.str ? '?' + params.str : '';
4827        self.config.checkoutUrl = (self.config.redirect_url || lqd.checkoutUrl) + params.str;
4828
4829        utils.store.set('params', params);
4830    };
4831
4832    this.redirect = function(result) {
4833        const recharge = self.integrations.recharge;
4834        const bundlerBuilder = integrations.bundlerBuilder;
4835        if (bundlerBuilder.present) return bundlerBuilder.submit();
4836        if (recharge.isSubscription(lqd)) return recharge.redirect(null, null, result.checkout_url);
4837        if (result.destination === 'checkout' || lqd.skip_cart) return location.assign(result.checkout_url);
4838        location.assign('/' + result.destination);
4839    }
4840
4841    this._checkout = function(config) {
4842        self.prepare(config);
4843
4844        const result = {
4845            status: false,
4846            checkout_url: self.config.checkoutUrl,
4847            skip_cart: lqd.skip_cart,
4848            get redirect_url() {
4849                return this.checkout_url;
4850            },
4851            destination: proto.popupDispatcher.destination
4852        };
4853
4854
4855        if (self.config.redirect) return this.redirect(result);
4856        return new Promise(function(resolve) { resolve(result) });
4857    }
4858
4859    this._verify = function() {
4860        const url = '/pre_purchase/v1/draft_orders/verify';
4861        const endpoint = window.OCUIncart && OCUIncart.appEndpoint;
4862        const headers = {
4863            'Content-Type': 'application/json',
4864            'Shop-Domain': lqd.permanent_domain
4865        };
4866        return axios.post(endpoint + url, this._verifyPayload(), { headers: headers });
4867    }
4868
4869    this._verifyPayload = function() {
4870        const cartToken = utils.cookie.get('cart');
4871        let items = self.helpers.getCartItems(OCUIncart.cart_items);
4872        items = self.integrations.zipifyPages.appendZipifyPagesProduct(items.line_items);
4873        const payload = { checkout: { line_items: items } };
4874        const threshold = +utils.cookie.get('ocu_progress_bar');
4875        const header = OCUIncart.header_type || utils.cookie.get('ocu_header');
4876
4877        payload.checkout = Object.assign(payload.checkout, {
4878            cart_token: cartToken,
4879            verify_draft_order: true,
4880            note: lqd.cart.note,
4881            attributes: lqd.cart.attributes,
4882            currency_rate: (window.Shopify && Shopify.currency && +Shopify.currency.rate) || 1,
4883            threshold: threshold,
4884            header_type: header
4885        });
4886
4887        payload.currency = this.helpers.currencyRate();
4888
4889        return payload;
4890    }
4891
4892    this.params = function() {
4893        const params = utils.store.get('params');
4894        const zapiet = integrations.zapiet;
4895        const simpleInStorePickup = integrations.simpleInStorePickup;
4896        const weglot = integrations.weglot;
4897
4898        if (zapiet.present) self.config.params = zapiet.merge(self.config.params);
4899        if (simpleInStorePickup.present) self.config.params = simpleInStorePickup.merge(self.config.params);
4900        if (weglot.present) self.config.params = weglot.merge(self.config.params);
4901
4902        (self.config.params || [])
4903            .concat(self.gaLinker())
4904            .concat({t: +Date.now()})
4905            .map(function(param) {
4906                return Object.keys(param).map(function(key) {
4907                    const value = key === 'discount' || zapiet.present
4908                        ? param[key]
4909                        : encodeURIComponent(param[key]);
4910
4911                    return {
4912                        name: encodeURIComponent(key),
4913                        value: value
4914                    };
4915                })[0];
4916            })
4917            .forEach(function(param) {
4918                params.arr.push(param);
4919            });
4920
4921        utils.store.set('params', params);
4922        self.helpers.params();
4923    };
4924
4925    this.handleDeclineOffer = function(config) {
4926        if (!config || config && !config.incarts) return;
4927
4928        const isDeclined = Object.keys(config.incarts).some(function(key) {
4929            return config.incarts[key].status === 'declined';
4930        });
4931
4932        utils.store.set('offerDeclined', isDeclined);
4933    };
4934
4935    this.gaLinker = function() {
4936        try {
4937            const linkerParam = ga.getAll()[0].get('linkerParam');
4938            const keyValue = linkerParam.split('=');
4939            const param = {};
4940            return ((param[keyValue[0]] = keyValue[1]), [param]);
4941        } catch (e) {
4942            return [];
4943        }
4944    };
4945
4946    this.init();
4947}
4948
4949function Helpers() {
4950    var self = this;
4951
4952    this.disableButtons = function() {
4953        utils.store.set('checkoutButtonState', false);
4954    };
4955
4956    this.params = function() {
4957        var params = utils.store.get('params');
4958
4959        for (var i = 0; params.arr.length > i; i++) {
4960            var reg = new RegExp(params.arr[i].name);
4961            if (reg.test(params.str)) continue;
4962
4963            params.str += params.arr[i].name + '=' + params.arr[i].value;
4964            if (i + 1 !== params.arr.length) params.str += '&';
4965        }
4966
4967        utils.store.set('params', params);
4968    };
4969
4970    this.redirect = function(res) {
4971        if (res.redirect_url) return location.assign(res.redirect_url);
4972        if (!lqd.subscription_products_size) return location.assign(res.checkout_url);
4973
4974        const form = document.querySelector('form[action="/checkout"], form[action="/cart"]');
4975        if (!form) return self.checkout({ redirect: true });
4976
4977        form.submit();
4978    };
4979
4980    this.simulateSubmit = function() {
4981        var checkoutButtons = document.querySelectorAll(self.ocuSelectors);
4982        if (!checkoutButtons.length) return location = '/cart';
4983
4984        var last = Array.prototype.slice.call(checkoutButtons, -1)[0];
4985        last.dispatchEvent(new MouseEvent('click'));
4986    };
4987
4988    this.simulateDocumentClick = function() {
4989        var event = new Event('click');
4990        var target = document.createElement('button');
4991
4992        target.type = 'submit';
4993        target.name = 'checkout';
4994        Object.defineProperty(event, 'target', { value: target });
4995
4996        document.dispatchEvent(event);
4997    };
4998
4999    this.preventMouseDown = function(e) {
5000        e.preventDefault();
5001        e.stopPropagation();
5002        // e.stopImmediatePropagation();
5003    };
5004
5005    this.payPal = function(el) {
5006        if (el.name !== 'goto_pp' || el.value !== 'paypal_express') return;
5007
5008        var params = utils.store.get('params');
5009
5010        params.arr.push({
5011            name: el.name,
5012            value: el.value
5013        });
5014
5015        utils.store.set('requirePayPal', true);
5016        utils.store.set('params', params);
5017    };
5018
5019    this.filterFields = function(cart) {
5020        var needed_cart_fileds = utils.store.get('neededCartFileds');
5021        var needed_cart_items_fields = utils.store.get('neededCartItemsFields');
5022
5023        cart = utils.filterObject(cart, needed_cart_fileds);
5024
5025        cart.items = cart.items.map(function(item) {
5026            return utils.filterObject(item, needed_cart_items_fields);
5027        });
5028
5029        return cart;
5030    };
5031
5032    this.filterCartItemFields = function(items) {
5033        return items.map(function(item) {
5034            return Object.keys(item).reduce(function(acc, key) {
5035                if (key === 'product_description') return acc;
5036                acc[key] = item[key];
5037                return acc;
5038            }, {});
5039        });
5040    };
5041
5042    this.checkSelector = function(target) {
5043        if (target.dataset.ocuCheckout === 'true') return target;
5044
5045        const checkoutButtons = document.querySelectorAll(self.ocuSelectors);
5046        const isInclude = Array.prototype.some.call(checkoutButtons, function(item) {
5047            return item === target;
5048        });
5049
5050        const isCartContentParent = target.closest('.cart_content') && target.closest('form[action="/checkout"] [type="submit"]');
5051        const isCartTemplate = lqd.template_name === 'cart' && target.closest('form[action="/cart"] [type="submit"]');
5052        const isCartAction = target.closest(self.ocuSelectors) || isCartContentParent || isCartTemplate;
5053        const notIncartUpsell = !target.closest('.nudge-offer'); // check if triggered Incart Upsell widget triggered
5054
5055        const addToCartButton = (lqd.template_name === 'product' && !target.closest('form[action$="/cart/add"]'))
5056            && (((target.name === 'add' && target.type === 'submit') ? target : null)
5057            || (target.closest('[name="add"]')) && target.closest('[type="submit"]'));
5058
5059        const parent = !isInclude
5060            && (isCartAction || target.closest('[name="checkout"]'))
5061            || addToCartButton;
5062
5063        if ((isInclude || parent) && notIncartUpsell) return isInclude ? target : parent;
5064    };
5065
5066    this.checkDirectCheckoutButtons = function(target) {
5067        return /\/checkout/.test(target.onclick && target.onclick.toString())
5068    };
5069
5070    this.checkAddToCart = function(target) {
5071        const isTargetSubmit = /submit|add|checkout/.test(target.name) || this.isActionButton(target);
5072        return (isTargetSubmit || this.isBuyNow({target: target})) && target.closest('form[action*="/cart/add"]'); // , form[data-zp-add-to-cart-form] - Pages selector
5073    };
5074
5075    this.zpPreventRedirect = function(target) {
5076        const condition = target.dataset.type === 'crm_dest'
5077            || target.dataset.zpProductRedirectLink === ''
5078            || target.dataset.zpAddToCart === '' // pages product page and ocu product location integration
5079            || target.closest('[data-type="crm_dest"]')
5080            || target.closest('[data-zp-product-redirect-link]')
5081            || target.closest('[data-zp-add-to-cart]');
5082
5083        if (condition) return true;
5084    };
5085
5086    this.isOfferProduct = function() {
5087        return lqd.cart_variants_json.some(function(item) {
5088            return item.properties && item.properties._ocu_offer_id;
5089        });
5090    };
5091
5092    this.addBuyXGetYDiscount = function(res) {
5093        var discounts = res.data.items.reduce(function(acc, variant) {
5094            if (!variant.discounts[0]) return acc;
5095            let item = {
5096                item_key: variant.key,
5097                discount: variant.discounts,
5098            };
5099            if (variant.line_level_discount_allocations[0]) item.discount_data = variant.line_level_discount_allocations;
5100            acc.push(item);
5101            return acc;
5102        }, []);
5103
5104        if (discounts.length) res.data.per_item_discounts = discounts;
5105        return res;
5106    };
5107
5108    this.isActionButton = function(e) {
5109        const submitSelectors = ['[type="submit"]', '[name="add"]', '[name="checkout"]', '[data-skip-cart]'];
5110        return submitSelectors.reduce(function(acc,select) {
5111            const el = e.closest(select);
5112            if (el) acc = true;
5113            return acc;
5114        }, false);
5115    };
5116
5117    this.isBuyNow = function(e) {
5118        if (!e) return false;
5119        const selectors = utils.store.get('classList');
5120        return e.target.classList.contains(selectors.buyNow) && !e.target.classList.contains(selectors.buyNowBranded);
5121    };
5122
5123    this.getCartItems = function(items) {
5124        const itemProperties = [
5125            'key',
5126            'properties',
5127            'quantity',
5128            'variant_id',
5129            'product_id',
5130            'price',
5131            'original_price',
5132            'discounted_price',
5133            'line_price',
5134            'original_line_price',
5135            'final_price',
5136            'final_line_price',
5137            'key'
5138        ];
5139
5140        const prepareItem = function(item) {
5141            return itemProperties.reduce(function(acc, prop) {
5142                acc[prop] = item[prop] || item[prop] === 0 ? item[prop] : {};
5143                return acc;
5144            }, {});
5145        };
5146
5147        return { line_items: items.map(prepareItem) };
5148    };
5149
5150    this.isSameCart = function(cart) {
5151        const lastCart = utils.cookie.get('ocu_cart_items');
5152        const newCartItemsKeys = cart.items.map(item => item.key);
5153        utils.cookie.set('ocu_cart_items', JSON.stringify(newCartItemsKeys));
5154
5155        if (!lastCart) return false;
5156
5157        const newCartSet = new Set(newCartItemsKeys);
5158        const lastCartSet = new Set(JSON.parse(lastCart));
5159
5160        return this.areSetsEqual(newCartSet, lastCartSet);
5161    };
5162
5163    this.isSameCartToken = function(cart) {
5164        return cart.token === utils.cookie.get('ocu_popup_token');
5165    };
5166
5167    this.areSetsEqual = function(setA, setB) {
5168        return setA.size === setB.size && Array.from(setA).every(value => setB.has(value));
5169    };
5170
5171    this.isSubscriptionProductInCart =  function(cart) {
5172        return cart.items.reduce(this.isSubscriptionItem, null);
5173    };
5174
5175    this.isSubscriptionItem = function(acc, item) {
5176        const properties = utils.store.get('subscriptionProperties');
5177        let result = acc;
5178        Object.entries(properties).some(function(prop) {
5179            const somePropMatch = prop[1].some(function(field) {
5180                return item.properties && item.properties[field];
5181            });
5182
5183            if (somePropMatch && !item.selling_plan_allocation) {
5184                result = prop[0];
5185                return result
5186            }
5187
5188            return result;
5189        });
5190
5191        return result;
5192    };
5193
5194    this.showCheckoutButton = function() {
5195        const config = utils.store.get('checkoutButton');
5196        const checkoutBtn = document.querySelector(config.selector);
5197        const exemptify = OCUIncart.integrations().exemptify;
5198
5199        if (!checkoutBtn || exemptify.present) return;
5200
5201        const isValidButton = Object.entries(config.excludes).every(function(item) {
5202            return !item[1].test(checkoutBtn[item[0]]);
5203        });
5204
5205        if (isValidButton && checkoutBtn.style.display === 'none') checkoutBtn.style.display = 'inline-block';
5206    };
5207
5208    this.clearFallback = function() {
5209        const fallbackTimeout = utils.store.get('fallback').id;
5210        clearTimeout(fallbackTimeout);
5211    };
5212
5213    this.beforeCreate = function() {
5214        if (utils.store.get('salesRocketIntegrationApplied')) {
5215            const cartDrawerSalesRocketControl = document.querySelector(utils.store.get('cartDrawerSalesRocketControl').selector);
5216            if (cartDrawerSalesRocketControl) cartDrawerSalesRocketControl.click();
5217        }
5218
5219        const cartDrawerTimberControl = document.querySelector(utils.store.get('cartDrawerTimberControl').selector);
5220        if (cartDrawerTimberControl) cartDrawerTimberControl.click();
5221
5222        const cartDrawerControl = document.querySelector(utils.store.get('cartDrawerControl').selector);
5223        if (cartDrawerControl) cartDrawerControl.click();
5224
5225        const chatButton = document.querySelector(utils.store.get('chatButton').selector);
5226        if (chatButton) chatButton.remove();
5227    };
5228
5229    this.isDisabledButton = function(target) {
5230        const button = target.closest('button');
5231        const entity = target.tagName.toLowerCase() === 'button' ? target : button;
5232        return entity && (entity.disabled || !!entity.ariaDisabled);
5233    };
5234
5235    this.termsOfServiceConfirmation = function(target) {
5236        const form = target.closest('form[action="/checkout"], form[action="/cart"]');
5237        const termsCheckbox = form && form.querySelector(utils.store.get('termsOfServiceCheckbox').selector);
5238        return termsCheckbox && !termsCheckbox.checked;
5239    };
5240
5241    this.isCartPopupRedirectsToCart = function(e) {
5242        if (!e.target.dataset.ocuCheckout) return;
5243        if (lqd.template_name === 'cart') return;
5244
5245        // handle outofthesandbox themes
5246        return Shopify.theme_settings && Shopify.theme_settings.go_to_checkout === false;
5247    };
5248
5249    this.removeExtraClassList = function(elem) {
5250        if (!elem) return;
5251
5252        const classList = utils.store.get('extraClassListToRemove').join(',');
5253
5254        elem.classList.remove(classList);
5255    };
5256
5257    this.currencyRate = function() {
5258        return Shopify?.currency || {};
5259    }
5260}
5261
5262function ApplicationsUtils() {
5263
5264    const Z_INDEX_VALUE = 1000;
5265
5266    const Z_INDEX_ELEMENTS = {
5267        overlay: '.slidecarthq-overlay',
5268        cartDrawer: '[cart-drawer-show], .slidecarthq, #sidebar-cart',
5269        chatWindow: '#chat-window',
5270        chatButton: '#chat-button'
5271    };
5272
5273    this.beforePrecheckoutPopup = function() {
5274        this.adjustZIndex();
5275        this.hideSlidecart();
5276    }
5277
5278    this.adjustZIndex = function() {
5279        Object
5280            .values(Z_INDEX_ELEMENTS)
5281            .forEach(function(selector) {
5282                const element = document.querySelector(selector);
5283                if (element) element.style.zIndex = Z_INDEX_VALUE;
5284            });
5285    },
5286
5287    this.hideSlidecart = function() {
5288        if (this.isMobile()) {
5289            if (window.SLIDECART_CLOSE) SLIDECART_CLOSE();
5290        }
5291    }
5292
5293    this.isMobile = function() {
5294        return /Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Mobile|Opera Mini/i.test(navigator.userAgent);
5295    }
5296}
5297
5298[Helpers, Integrations, Cart, PublicMethod, SkipCart, BuyNow].forEac
5298h(function(item) {
5299    Object.setPrototypeOf(item.prototype, Application.prototype);
5300});
5301
5302const script = document.createElement('script');
5303document.head.appendChild(script);
5304script.src = ocuCdn + '/vendor/axios.min.js';
5305
5306function initApplication() {
5307    const application = new Application();
5308    OCUApi.initialize({ context: application });
5309    return application;
5310}
5311
5312script.onload = function() {
5313    if (window.axios) return initApplication()
5314    if (window.require) {
5315        require([ocuCdn + '/vendor/axios.min.js'], function(e) {
5316            window.axios = e;
5317            initApplication()
5318        });
5319    }
5320};
5321
5322function requireOptionSelectors() {
5323    if (window.Shopify && Shopify.OptionSelectors) return;
5324
5325    const s = document.createElement('script');
5326    document.head.appendChild(s);
5327    s.src = OCUIncart.option_selection;
5328    s.onload = function() {
5329        window.Shopify = window.Shopify || {};
5330        Shopify.money_format = OCUIncart.money_format;
5331    };
5332}
5333
5334function Store() {
5335    var _private = {
5336        store: {
5337            ocuSelectors: '[name="checkout"], [href^="/checkout"], form[action^="/checkout"] [type="submit"], form[action$="/cart"] [type="submit"], #checkout, [name="goto_pp"], .checkout_button, .checkout-button, [value="Checkout"], .cart-button-checkout, #btn-checkout, .btn__checkout.js-
5337prefill-url, form[action^="/checkout"] .chk_out, form[action^="/cart"] .chk_out, form[action^="/cart"] .cart__checkout, form[action^="/cart"] .ajaxcart__checkout.ajax-cart__button, form[action^="/cart"] .btn-checkout, #rebuy-cart .rebuy-cart__flyout-footer .rebuy-button, #slidedown-cart .actions .btn.btn-checkout',
5338            addToCartButton: '[name="add"]',
5339            proxy: '/apps/secure-checkout',
5340            lqdCart: '/upsellapp_cart',
5341            checkUpsells: '/check_upsells',
5342            excludedRequiredFormIds: ['cbb-shipping-rates-calculator-form'],
5343            neededCartFileds: ['token','note','attributes','items', 'currency', 'cart_level_discount_applications'],
5344            neededCartItemsFields: ['product_id','variant_id','quantity','grams','price','line_price','title','properties','vendor','sku','key'],
5345            permalink: /cart\/(\d+:\d+(?:,\d+:\d+)*)(?:[?&]discount=([-\w! %205]+))*/,
5346            subscriptionProperties: {
5347                recharge: ['subscription_id', 'shipping_interval_frequency', 'shipping_interval_unit_type'],
5348                bold: ['frequency_num', 'frequency_type']
5349            },
5350            isAddToCartClicked: false,
5351            cartChanged: false,
5352            cartUpdated: false,
5353            requirePayPal: false,
5354            checkoutButtonState: false,
5355            submitted: false,
5356            amazonPayInitiated: false,
5357            salesRocketIntegrationApplied: false,
5358            redirect_url: null,
5359            offer: null,
5360            offerDeclined: false,
5361            incarts: {},
5362            tags: [],
5363            isPermalinkHandling: false,
5364            isTargetBuyNow: false,
5365            cart_token: null,
5366            classList: {
5367                buyNow: 'shopify-payment-button__button',
5368                buyNowBranded: 'shopify-payment-button__button--branded'
5369            },
5370            params: {
5371                str: '',
5372                arr: []
5373            },
5374            fallback: {
5375                timeout: 15000,
5376                id: 0
5377            },
5378            XHR: {
5379                send: XMLHttpRequest.prototype.send
5380            },
5381            checkoutButton: {
5382                selector: '[data-ocu-checkout]',
5383                excludes: {
5384                    tagName: /^P$/,
5385                    id: /^ProceedToCheckout(Top|Bottom)$/,
5386                }
5387            },
5388            cartDrawerControl: {
5389                selector: '[data-action="close-drawer"][data-drawer-id="sidebar-cart"], #CartDrawer .drawer__close-button, #CartDrawer .js-drawer-close'
5390            },
5391            cartDrawerSalesRocketControl: {
5392                selector: '#cartSlider-shopper .ws-cs-close',
5393            },
5394            cartDrawerTimberControl: {
5395                selector: '#CartDrawer .js-drawer-close button',
5396            },
5397            chatButton: {
5398                selector: '#shopify-chat'
5399            },
5400            termsOfServiceCheckbox: {
5401                selector: '.cart__terms-checkbox'
5402            },
5403            productLocation: {
5404                variant_id: null,
5405                product_id: null,
5406            },
5407            extraClassListToRemove: [
5408                'hulkapps_submit_cart'
5409            ],
5410            pagesIntegrationData: {}
5411        },
5412        event: function(e) {
5413            return new Event('store:' + e);
5414        },
5415        emit: function(e) {
5416            document.dispatchEvent(this.event(e));
5417        }
5418    };
5419
5420    this.get = function(key) {
5421        return _private.store[key];
5422    };
5423
5424    this.set = function(key, val) {
5425        if (!_private.store.hasOwnProperty(key)) return console.error('Unavailable key! ', key);
5426        _private.emit(key);
5427        _private.store[key] = val;
5428    };
5429
5430    this.listen = function(e) {
5431        return new Promise(function(resolve) {
5432            document.addEventListener('store:' + e, resolve);
5433        });
5434    };
5435}
5436
5437}();
5438</script>
5438
5439
5440
5441
5442<style> #header .top_bar,.secondary_logo--true .top-bar {display: none !important;} .img.footer-logo {max-width: 220px !important;} </style>
5443<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
5443
5444</body>
5445</html>
5446<!-- Begin Shopify-Afterpay JavaScript Snippet (v1.0.1) -->
5447<script type="text/javascript">
5448// Editable fields:
5449var afterpay_min = 0.04;            // As per your Afterpay contract.
5450var afterpay_max = 1000.00;         // As per your Afterpay contract.
5451var afterpay_logo_theme = 'colour'; // Can be 'colour', 'black' or 'white'.
5452
5453// Overrides:
5454// var afterpay_product_selector = '#product-price-selector';
5455// var afterpay_cart_integration_enabled = true;
5456// var afterpay_cart_static_selector = '#cart-subtotal-selector';
5457
5458// Non-editable fields:
5459var afterpay_shop_currency = "USD";
5460var afterpay_shop_money_format = "$ {{amount}}";
5461var afterpay_shop_permanent_domain = "k-deer.myshopify.com";
5462var afterpay_theme_name = "Closing";
5463var afterpay_product = null;
5464var afterpay_current_variant = null;
5465var afterpay_cart_total_price = 0;
5466var afterpay_js_snippet_version = '1.0.1';
5467</script>
vendor: 1 bytes, line 5467
5467
5468<script type="text/javascript" src="https://static.afterpay.com/shopify-afterpay-javascript.js"></script>
5468
5469<!-- End Shopify-Afterpay JavaScript Snippet (v1.0.1) -->
5470
5471
5472
5473
5474

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.