<!doctype html>
<html class="no-js" lang="en">
<head>
<link rel='preconnect dns-prefetch' href='https://api.config-security.com/' crossorigin />
<link rel='preconnect dns-prefetch' href='https://conf.config-security.com/' crossorigin />
<link rel='preconnect dns-prefetch' href='https://whale.camera/' crossorigin />
<script>
/* >> TriplePixel :: start*/
window.TriplePixelData={TripleName:"smartypear.myshopify.com",ver:"2.12",plat:"SHOPIFY",isHeadless:false},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes(".txt")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,a){return void 0===a&&(a=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(a)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href,ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://whale.camera/live/dot.txt",5)))}}("","TriplePixel",localStorage);
/* << TriplePixel :: end*/
</script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-MWRDHXV');</script>
<!-- End Google Tag Manager -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="">
<link rel="canonical" href="https://casaleopet.com/">
<link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="icon" type="image/png" href="//casaleopet.com/cdn/shop/files/casaleo_favicon_32x32_bc8dc6b8-dd5f-469c-8157-d3feea0d8451_32x32.png?v=1690536786"><title>
Casa Leo
</title>
<meta property="og:site_name" content="Casa Leo">
<meta property="og:url" content="https://casaleopet.com/">
<meta property="og:title" content="Casa Leo">
<meta property="og:type" content="website">
<meta property="og:description" content="Casa Leo"><meta property="og:image" content="http://casaleopet.com/cdn/shop/files/Group_1_a226e6b5-e77c-4340-a46c-7c8f4cd3d1d9.png?height=628&pad_color=fff&v=1690185545&width=1200">
<meta property="og:image:secure_url" content="https://casaleopet.com/cdn/shop/files/Group_1_a226e6b5-e77c-4340-a46c-7c8f4cd3d1d9.png?height=628&pad_color=fff&v=1690185545&width=1200">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="628"><meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Casa Leo">
<meta name="twitter:description" content="Casa Leo">
<script src="//casaleopet.com/cdn/shop/t/64/assets/global.js?v=87641654940796922961712588629" defer="defer"></script>
<script>
(function(w,d,t,r,u)
{
var f,n,i;
w[u]=w[u]||[],f=function()
{
var o={ti:"97145106", tm:"shpfy_ui", enableAutoSpaTracking: true};
o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
},
n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function()
{
var s=this.readyState;
s&&s!=="loaded"&&s!=="complete"||
(f(),n.onload=n.onreadystatechange=null)
},
i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
})
(window,document,"script","//bat.bing.com/bat.js","uetq");
</script>
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="MlvnobcnCRwQ-4UajlS52_nDVYcTk45vTfgReUE4oBg">
<meta name="facebook-domain-verification" content="gx46yd3p4uo1zckak0kxkfwt4f936h">
<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/63989219573/digital_wallets/dialog">
<meta name="shopify-checkout-api-token" content="2f239b51fbad9d5efd4ba3a07b893fd7">
<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=63989219573" crossorigin="anonymous"></script>
<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":63989219573,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/63989219573","merchantName":"Casa Leo","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Casa Leo","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
<script id="shopify-features" type="application/json">{"accessToken":"2f239b51fbad9d5efd4ba3a07b893fd7","betas":["rich-media-storefront-analytics"],"domain":"casaleopet.com","predictiveSearch":true,"shopId":63989219573,"smart_payment_buttons_url":"https:\/\/casaleopet.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/casaleopet.com\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "smartypear.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"USD","rate":"1.0"};
Shopify.country = "US";
Shopify.theme = {"name":"casa-leo\/main","id":141316325621,"schema_name":"Dawn","schema_version":"4.0.0","theme_store_id":null,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "casaleopet.com/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
<script>window.ShopifyPay = window.ShopifyPay || {};
window.ShopifyPay.apiHost = "shop.app\/pay";</script>
<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
<script>
window.Shopify = window.Shopify || {};
if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
window.Shopify.featureAssets['shop-js'] = {"init-fed-cm":["modules/v2/client.init-fed-cm_C_FG5Gg5.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/client.init-shop-email-lookup-coordinator_DUMm8N1z.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js"],"shop-toast-manager":["modules/v2/client.shop-toast-manager_wYXqbEj2.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js"],"shop-cash-offers":["modules/v2/client.shop-cash-offers_CrVgAesL.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js","modules/v2/chunk.modal_BeSlZzE4.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/client.init-shop-for-new-customer-accounts_BEHV4-W_.en.esm.js","modules/v2/client.shop-login-button_BLuXLSIT.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js","modules/v2/chunk.modal_BeSlZzE4.esm.js"],"checkout-modal":["modules/v2/client.checkout-modal_DBBJoWi5.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js","modules/v2/chunk.modal_BeSlZzE4.esm.js"],"pay-button":["modules/v2/client.pay-button_BKBlxFRI.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js"],"avatar":["modules/v2/client.avatar_BTnouDA3.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/client.init-customer-accounts-sign-up_QKVImbVF.en.esm.js","modules/v2/client.shop-login-button_BLuXLSIT.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js","modules/v2/chunk.modal_BeSlZzE4.esm.js"],"init-customer-accounts":["modules/v2/client.init-customer-accounts_Dd1ZR3Rg.en.esm.js","modules/v2/client.shop-login-button_BLuXLSIT.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js","modules/v2/chunk.modal_BeSlZzE4.esm.js"],"shop-login-button":["modules/v2/client.shop-login-button_BLuXLSIT.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js","modules/v2/chunk.modal_BeSlZzE4.esm.js"],"shop-follow-button":["modules/v2/client.shop-follow-button_C7Teb8Jt.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js","modules/v2/chunk.modal_BeSlZzE4.esm.js"],"lead-capture":["modules/v2/client.lead-capture_C1sKeHkD.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js","modules/v2/chunk.modal_BeSlZzE4.esm.js"],"payment-terms":["modules/v2/client.payment-terms_DRvN9UML.en.esm.js","modules/v2/chunk.common_C-bldIm4.esm.js","modules/v2/chunk.modal_BeSlZzE4.esm.js"]};
</script>
<script>(function() {
function asyncLoad() {
var urls = ["https:\/\/upsell-app.logbase.io\/lb-upsell.js?shop=smartypear.myshopify.com","https:\/\/cdn-app.sealsubscriptions.com\/shopify\/public\/js\/sealsubscriptions.js?shop=smartypear.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0639\/8921\/9573\/t\/29\/assets\/affirmShopify.js?v=1666375076\u0026shop=smartypear.myshopify.com","\/\/cdn.shopify.com\/proxy\/6c99ade6374e9d5ccdcd5f999c02c8b65dc878a1763921b65f2b6c7d8daf4257\/dev.giftkart.app\/scripts.js?shop=smartypear.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","\/\/cdn.shopify.com\/proxy\/1bac2bd95c31eaa8332e3fa30ddeedd483ff51b28c7eb689e34e1b75d6cb1397\/apps.bazaarvoice.com\/deployments\/smartypear\/main_site\/production\/en_US\/bv.js?shop=smartypear.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/storage.googleapis.com\/gsf-scripts\/global-remarketing\/smartypear.js?1670358845\u0026shop=smartypear.myshopify.com","\/\/cdn.shopify.com\/proxy\/e69d4951573d29697016dfd75673117e624422c5cb65b6bdfa7f1aa22bda6a72\/s3-us-west-2.amazonaws.com\/jsstore\/a\/WN2H4MN\/ge.js?shop=smartypear.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","\/\/cdn.shopify.com\/proxy\/7220a90fc3bc9c950327401d9b896c45f2645e3fa2918429c73c887abc74fe76\/app.retention.com\/shopify\/shopify_app_add_to_cart_script.js?shop=smartypear.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/static.klaviyo.com\/onsite\/js\/klaviyo.js?company_id=XETNJH\u0026shop=smartypear.myshopify.com","https:\/\/static.klaviyo.com\/onsite\/js\/klaviyo.js?company_id=XETNJH\u0026shop=smartypear.myshopify.com","https:\/\/reconvert-cdn.com\/assets\/js\/store_reconvert_node.js?v=2\u0026scid=OTk2NjI5YjlmNjVjYTExZTVlMjAzMDdmZjFkNTA2ZmYuNzRlMDQ3ZGMyNTFjNGYzY2Q2ZmQ0ODlkNzJiYmRhNzk=\u0026shop=smartypear.myshopify.com","https:\/\/cdn.attn.tv\/casaleo\/dtag.js?shop=smartypear.myshopify.com","https:\/\/cdn.hextom.com\/js\/ultimatesalesboost.js?shop=smartypear.myshopify.com","https:\/\/light.spicegems.org\/0\/js\/scripttags\/smartypear\/country_redirect_4ebc6ca3cc58dc7d176d854d579bce92.min.js?v=36\u0026shop=smartypear.myshopify.com"];
for (var i = 0; i < urls.length; i++) {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = urls[i];
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
}
};
if(window.attachEvent) {
window.attachEvent('onload', asyncLoad);
} else {
window.addEventListener('load', asyncLoad, false);
}
})();</script>
<script id="__st">var __st={"a":63989219573,"offset":-28800,"reqid":"884a178a-2945-4afb-9ed4-e443c9f6890f-1738980649","pageurl":"casaleopet.com\/","u":"531b9a8026f4","p":"home"};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<script id="form-persister">!function(){'use strict';const t='contact',e='new_comment',n=[[t,t],['blogs',e],['comments',e],[t,'customer']],o='password',r='form_key',c=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',o],s=()=>{try{return window.sessionStorage}catch{return}},i='__shopify_v',u=t=>t.elements[r],a=function(){const t=[...n].map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');var e;return e=t,()=>e?[...document.querySelectorAll(e)].map((t=>t.form)):[]}();function m(t){const e=u(t);a().includes(t)&&(!e||!e.value)&&function(t){try{if(!s())return;!function(t){const e=s();if(!e)return;const n=u(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){u(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:r})),t.elements[r].value=e}(t,e),function(t,e){const n=s();if(!n)return;const r=[...t.querySelectorAll(`input[type='${o}']`)].map((({name:t})=>t)),u=[...c,...r],a={};for(const[o,c]of new FormData(t).entries())u.includes(o)||(a[o]=c);n.setItem(e,JSON.stringify({[i]:1,action:t.action,data:a}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(t)}const f=t=>{if('true'===t.dataset.persistBound)return;const e=function(t,e){const n=function(t){return'function'==typeof t.submit?t.submit:HTMLFormElement.prototype.submit}(t).bind(t);return function(){let t;return()=>{t||(t=!0,(()=>{try{e(),n()}catch(t){(t=>{console.error('form submit failed',t)})(t)}})(),setTimeout((()=>t=!1),250))}}()}(t,(()=>{m(t)}));!function(t,e){if('function'==typeof t.submit&&'function'==typeof e)try{t.submit=e}catch{}}(t,e),t.addEventListener('submit',(t=>{t.preventDefault(),e()})),t.dataset.persistBound='true'};!function(){function t(t){const e=(t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form})(t);e&&m(e)}document.addEventListener('submit',t),document.addEventListener('DOMContentLoaded',(()=>{const e=a();for(const t of e)f(t);var n;n=document.body,new window.MutationObserver((t=>{for(const e of t)if('childList'===e.type&&e.addedNodes.length)for(const t of e.addedNodes)1===t.nodeType&&'FORM'===t.tagName&&a().includes(t)&&f(t)})).observe(n,{childList:!0,subtree:!0,attributes:!1}),document.removeEventListener('submit',t)}))}()}();</script>
<script integrity="sha256-EGCDRYTvIEOXsReXgqGwkAR+5Dl8tickSrieA/ZcQwc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//casaleopet.com/cdn/shopifycloud/shopify/assets/storefront/load_feature-1060834584ef204397b1179782a1b090047ee4397cb627244ab89e03f65c4307.js" crossorigin="anonymous"></script>
<script crossorigin="anonymous" defer="defer" src="//casaleopet.com/cdn/shopifycloud/shopify/assets/shopify_pay/storefront-80e528be853eac23af2454534897ca9536b1d3d04aa043b042f34879a3c111c8.js?v=20220906"></script>
<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://casaleopet.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
</script>
<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
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);
</script>
<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})}}));
</script>
<script id="sections-script" data-sections="home-banner,section-footer" defer="defer" src="//casaleopet.com/cdn/shop/t/64/compiled_assets/scripts.js?12284"></script>
<link rel="stylesheet" media="screen" href="https://casaleopet.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
<style id="shopify-accelerated-checkout-cart">
#shopify-buyer-consent {
margin-top: 1em;
display: inline-block;
width: 100%;
}
#shopify-buyer-consent.hidden {
display: none;
}
#shopify-subscription-policy-button {
background: none;
border: none;
padding: 0;
text-decoration: underline;
font-size: inherit;
cursor: pointer;
}
#shopify-subscription-policy-button::before {
box-shadow: none;
}
</style>
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
<style>
@font-face {
font-family: 'Font Awesome 5 Pro';
font-style: normal;
font-weight: 300;
font-display: block;
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.eot?v=179069329549301354771712588628');
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.eot?%23iefix&v=179069329549301354771712588628') format('embedded-opentype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.woff2?v=178574574897687547741712588630') format('woff2'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.woff?v=220737687654243691712588629') format('woff'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.ttf?v=15027196009526929631712588636') format('truetype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.svg%23fontawesome?12284') format('svg');
}
@font-face {
font-family: 'Font Awesome 5 Brands';
font-style: normal;
font-weight: 400;
font-display: block;
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-brands-400.eot?v=107255714929909519751712588628');
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-brands-400.eot?%23iefix&v=107255714929909519751712588628') format('embedded-opentype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-brands-400.woff2?v=138040816111442149321712588629') format('woff2'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-brands-400.woff?v=57037708697482060641712588629') format('woff'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-brands-400.ttf?v=16942748755021756911712588627') format('truetype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-brands-400.svg%23fontawesome?12284') format('svg');
}
@font-face {
font-family: 'Font Awesome 5 Duotone';
font-style: normal;
font-weight: 900;
font-display: block;
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-duotone-900.eot?v=79089686522618609181712588628');
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-duotone-900.eot?%23iefix&v=79089686522618609181712588628') format('embedded-opentype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-duotone-900.woff2?12284') format('woff2'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-duotone-900.woff?v=22282509394847607651712588628') format('woff'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-duotone-900.ttf?v=55032307270184543781712588628') format('truetype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-duotone-900.svg%23fontawesome?12284') format('svg');
}
@font-face {
font-family: 'Font Awesome 5 Pro';
font-style: normal;
font-weight: 300;
font-display: block;
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.eot?v=179069329549301354771712588628');
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.eot?%23iefix&v=179069329549301354771712588628') format('embedded-opentype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.woff2?v=178574574897687547741712588630') format('woff2'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.woff?v=220737687654243691712588629') format('woff'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.ttf?v=15027196009526929631712588636') format('truetype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-light-300.svg%23fontawesome?12284') format('svg');
}
@font-face {
font-family: 'Font Awesome 5 Pro';
font-style: normal;
font-weight: 400;
font-display: block;
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-regular-400.eot?v=155686829437272122761712588629');
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-regular-400.eot?%23iefix&v=155686829437272122761712588629') format('embedded-opentype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-regular-400.woff2?v=103000364522619440531712588629') format('woff2'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-regular-400.woff?v=23445222718922612471712588630') format('woff'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-regular-400.ttf?v=36243640391734656981712588630') format('truetype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-regular-400.svg%23fontawesome?12284') format('svg');
}
@font-face {
font-family: 'Font Awesome 5 Pro';
font-style: normal;
font-weight: 900;
font-display: block;
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-solid-900.eot?v=124584078905223435521712588628');
src: url('//casaleopet.com/cdn/shop/t/64/assets/fa-solid-900.eot?%23iefix&v=124584078905223435521712588628') format('embedded-opentype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-solid-900.woff2?v=17924932402664545461712588628') format('woff2'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-solid-900.woff?v=5348404191617005561712588628') format('woff'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-solid-900.ttf?v=55407131674831193321712588630') format('truetype'),
url('//casaleopet.com/cdn/shop/t/64/assets/fa-solid-900.svg%23fontawesome?12284') format('svg');
}
</style>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://use.typekit.net/cmd8san.css">
<link href="//casaleopet.com/cdn/shop/t/64/assets/base.css?v=53679608999287887581712588765" rel="stylesheet" type="text/css" media="all" />
<link href="//casaleopet.com/cdn/shop/t/64/assets/dev.css?v=157450556085663311731712588765" rel="stylesheet" type="text/css" media="all" />
<link href="//casaleopet.com/cdn/shop/t/64/assets/mini-cart.css?v=146585046071594834711712588628" rel="stylesheet" type="text/css" media="all" />
<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
<!-- Upsell & Cross Sell - Selleasy by Logbase - Starts -->
<script src='https://upsell-app.logbase.io/lb-upsell.js?shop=smartypear.myshopify.com'></script>
<!-- Upsell & Cross Sell - Selleasy by Logbase - Ends -->
<script id="dcScript">
var dcCart = {"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};
var dcCustomerId = false;
var dcCustomerEmail = false;
var dcCustomerTags = false;
var dcCurrency = '${{amount}}';
</script>
<!-- Event snippet for Purchase - Website conversion page -->
<script>
gtag('event', 'conversion', {
'send_to': 'AW-389762452/icnNCMnq6dIDEJSb7bkB',
'value': 1.0,
'currency': 'USD',
'transaction_id': ''
});
</script>
<script>
var gsf_conversion_data = {page_type : 'home', event : 'page_view', data : {product_data : [{variant_id : 42718351556853, product_id : 7671759995125, name : "Air Freshener Bags", price : "19.99", currency : "USD", sku : "LL-Filter-722", brand : "smartypear", variant : "Default Title", category : ""}, {variant_id : 42718357487861, product_id : 7671761010933, name : "Anti-Chew US Power Cord", price : "19.99", currency : "USD", sku : "306521-1-1", brand : "smartypear", variant : "Default Title", category : ""}], total_price :"39.98", shop_currency : "USD"}};
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-389762452"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'TAG_ID', { ' allow_enhanced_conversions':true } ) ;
gtag('config', 'AW-389762452');
</script>
<script>window.is_hulkpo_installed=false</script>
<meta name="p:domain_verify" content="1215b0d69b30970c30448824212b33ac"/>
<!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
<script async src="https://static.klaviyo.com/onsite/js/TbkTQL/klaviyo.js?company_id=TbkTQL"></script>
<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
<script>
window.klaviyoReviewsProductDesignMode = false
</script>
<!-- END app block --><!-- BEGIN app block: shopify://apps/seoant-sticky-add-to-cart/blocks/sticky-cart/bba5bb0a-ae9e-4ec9-8cd1-5e9d3f32ebbe --><!-- Start : Sticky Add To Cart -->
<script src="https://smartypear.myshopify.com/apps/giraffly-stickycart/stickycart-smartypear-myshopify-com.js" defer="defer"></script>
<!-- END : Sticky Add To Cart -->
<!-- END app block --><!-- BEGIN app block: shopify://apps/mappy-dealer-store-locator/blocks/bss-sl-script/edfca2bd-82ad-413c-b32c-580d239b17ab --><script id="bss-locator-config-data">
var data = {"storeId":3204,"storeLocatorId":104794947829,"redirectToPage":"store-locator","apiKey":"AIzaSyCaeRXuJxOrobqK_PMmarUSmkWC1PDHWjw","translation":"{\"radius\":\"Radius\",\"tag\":\"Shop\",\"tagOption\":\"Select Product Types\",\"countryOption\":\"Select country\",\"search\":\"Search\",\"store\":\"Stores\",\"find_my_location\":\"Find my location\",\"schedule\":\"Schedule\",\"list\":\"List\",\"map\":\"Map\",\"monday\":\"MONDAY\",\"tuesday\":\"TUESDAY\",\"wednesday\":\"WEDNESDAY\",\"thursday\":\"THURSDAY\",\"friday\":\"FRIDAY\",\"saturday\":\"SATURDAY\",\"sunday\":\"SUNDAY\",\"product\":\"Products\",\"storeResult\":\"store results\",\"distance\":\"Distance\",\"notFound\":\"No stores found. (Shop online!)\",\"noLimit\":\"No limit\",\"youAreHere\":\"You are here\",\"showing\":\"Showing\",\"all\":\"All\",\"filterByCountry\":\"Filter by country\",\"searchByLocation\":\"Location\",\"searchByPhone\":\"Phone\",\"searchByStoreName\":\"Store name\",\"enterPhoneNumber\":\"Enter phone number\",\"enterStoreName\":\"Enter store name\",\"enterTextOptimize\":\"For the nearest stores to your current address to display on the map, enter the address and click Search button \"}","planCode":"advanced","zoom_map":"13","scheduleMenu":0,"addressMenu":1,"phoneMenu":0,"faxMenu":0,"emailMenu":0,"websiteMenu":0,"scheduleMap":0,"addressMap":1,"phoneMap":0,"faxMap":0,"emailMap":0,"websiteMap":0,"directionLink":null,"autoDetectAddress":1,"radiusSearch":0,"defaultRadius":50,"searchResultQuantityDisplay":-1,"tagSearch":1,"tagOption":0,"countryOption":0,"pageTitle":null,"pageDescription":null,"showPageTitle":1,"showPageDescription":1,"showCountryFilter":0,"selectLocation":1,"selectPhone":0,"selectStoreName":1,"selectZipCode":0,"template":2,"templateCase":3,"layout":1,"enableSearchButton":1,"searchBarPosition":0,"distanceUnit":"miles","zoomCountLocation":0,"customFieldMap":1,"customFieldMenu":1,"defaultLat":null,"defaultLng":null,"manual_default_address":0,"showAllAddress":0,"createdAt":"2023-11-29T14:59:42.000Z","enable":1,"storeLocatorServer":"https://store-locator-api.bsscommerce.com","templatePopup":"\n <div class=\"store-locator-popup-container\" >\n <div class=\"close-button-map-popup\" title=\"Close map popup\" onclick=\"toggle_popup()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"30px\" height=\"30px\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke=\"#fff\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m15 9-6 6m0-6 6 6m6-3a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z\"/>\n </svg>\n\n </div>\n \n <div id=\"store-locator-page-parent\" class=\"store-locator-page-parent-popup\">\n <div id=\"store-locator-page\" class=\"page-layout-style\">\n \n <div class=\"search-bar-container search-bar-above-map\">\n \n <div id='bss-wrapper-header'>\n <div class=\"bss-wrapper-search-group\">\n <div class=\"bss-wrapper-search\">\n <div id='bss-select-search-option'> </div>\n <input type='text' id='bss-search-input' placeholder=' undefined ' />\n \n </div>\n\n <div id='bss-btn-wrapper' style='display: flex;'>\n <button id='bss-search-btn' title=\"undefined\" >\n <svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" fill=\"none\" viewBox=\"0 0 24 24\"><path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-width=\"2\" d=\"m21 21-3.5-3.5M17 10a7 7 0 1 1-14 0 7 7 0 0 1 14 0Z\" /></svg>\n </button>\n </div>\n </div>\n\n <div id='bss-wrapper-button'>\n\n <div id='bss-wrapper-radius'>\n <label style=\"flex-shrink: 0\" > Radius</label>\n <div class=\"bss-wrapper-radius-value-cover\" >\n <input \n id='bss-radius-filter'\n type='range'\n min='0'\n max='100'\n value='50'\n >\n <div id='bss-wrapper-radius-value'>\n <span id='bss-radius-value'> 50 </span>\n <span id='bss-unit'></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"filter-group\">\n <div class=\"filter-categories\">\n\n <div class=\"bss-wrapper-tag-cover\">\n <div id='bss-wrapper-tag'>\n <label style='font-weight: bold; margin: auto 0px;margin-right: 10px; font-size: 14px; flex-shrink: 0; '> Shop\n </label>\n <div id='bss-filter-tag-wrapper' class='custom-scrollbar' onclick=\"dropDown(event);\">\n <div id='bss-filter-tag'></div>\n </div>\n </div>\n </div>\n \n <div class=\"bss-wrapper-country-cover\">\n <div id='bss-wrapper-country'>\n <label style='font-weight: bold; margin: auto 0px;margin-right: 10px; font-size: 14px; flex-shrink: 0; '> Countries </label>\n <div id='bss-filter-country-wrapper' class='custom-scrollbar' onclick=\"dropDown(event);\">\n <div id='bss-filter-country'></div>\n </div>\n </div>\n </div>\n </div>\n\n <div id='bss-wrapper-clear'></div>\n </div>\n \n </div>\n \n <div style='width: 100%; position: relative'>\n \n <div\n id=\"bss-map-wrapper\"\n style=\"\n width: 100%;\n height: 620px;\n position: relative;\n overflow: hidden;\n border-top: 1px solid #c4c4c4;\n border-bottom: 1px solid #c4c4c4;\n \"\n ></div>\n \n <div id='bss-map-search-box' isOpen=\"0\" class=\"page-locator-layout combine right\">\n <div id='bss-search-result-title'> Stores </div>\n \n <div id=\"bss-numbers-of-stores\"></div>\n <div\n style=\"position: relative;\"\n class=\"custom-scrollbar\"\n >\n <div id=\"bss-search-result\"></div>\n </div>\n \n </div>\n </div>\n </div>\n </div>\n \n </div>\n ","templatePage":"\n <div id='locator-title' style='display: none;'>\n <h1>Store Locator</h1>\n </div>\n <div id='locator-description' style='display: none;'>\n \n </div>\n <div id='store-locator-page-parent'>\n <div id='store-locator-page' style='display: none'>\n \n <div class=\"search-bar-container search-bar-above-map\">\n \n <div id='bss-wrapper-header'>\n <div class=\"bss-wrapper-search-group\">\n <div class=\"bss-wrapper-search\">\n <div id='bss-select-search-option'> </div>\n <input type='text' id='bss-search-input' placeholder=' undefined ' />\n \n </div>\n\n <div id='bss-btn-wrapper' style='display: flex;'>\n <button id='bss-search-btn' title=\"undefined\" >\n <svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" fill=\"none\" viewBox=\"0 0 24 24\"><path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-width=\"2\" d=\"m21 21-3.5-3.5M17 10a7 7 0 1 1-14 0 7 7 0 0 1 14 0Z\" /></svg>\n </button>\n </div>\n </div>\n\n <div id='bss-wrapper-button'>\n\n <div id='bss-wrapper-radius'>\n <label style=\"flex-shrink: 0\" > Radius</label>\n <div class=\"bss-wrapper-radius-value-cover\" >\n <input \n id='bss-radius-filter'\n type='range'\n min='0'\n max='100'\n value='50'\n >\n <div id='bss-wrapper-radius-value'>\n <span id='bss-radius-value'> 50 </span>\n <span id='bss-unit'></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"filter-group\">\n <div class=\"filter-categories\">\n\n <div class=\"bss-wrapper-tag-cover\">\n <div id='bss-wrapper-tag'>\n <label style='font-weight: bold; margin: auto 0px;margin-right: 10px; font-size: 14px; flex-shrink: 0; color: #202223;'> Shop\n </label>\n <div id='bss-filter-tag-wrapper' class='custom-scrollbar' onclick=\"dropDown(event);\">\n <div id='bss-filter-tag'></div>\n </div>\n </div>\n </div>\n \n <div class=\"bss-wrapper-country-cover\">\n <div id='bss-wrapper-country'>\n <label style='font-weight: bold; margin: auto 0px;margin-right: 10px; font-size: 14px; flex-shrink: 0; color: #202223;'> Countries </label>\n <div id='bss-filter-country-wrapper' class='custom-scrollbar' onclick=\"dropDown(event);\">\n <div id='bss-filter-country'></div>\n </div>\n </div>\n </div>\n </div>\n\n <div id='bss-wrapper-clear'></div>\n </div>\n \n </div>\n \n <div style='width: 100%; position: relative'>\n \n <div\n id=\"bss-map-wrapper\"\n style=\"\n width: 100%;\n height: 620px;\n position: relative;\n overflow: hidden;\n border-top: 1px solid #c4c4c4;\n border-bottom: 1px solid #c4c4c4;\n \"\n ></div>\n \n <div id='bss-map-search-box' isOpen=\"0\" class=\"page-locator-layout combine right\" >\n <div id='bss-search-result-title'> Stores </div>\n \n <div id=\"bss-numbers-of-stores\"></div>\n <div\n style=\"position: relative;\"\n class=\"custom-scrollbar\"\n >\n <div id=\"bss-search-result\"></div>\n </div>\n \n </div>\n </div>\n </div>\n </div>\n ","storeLocatorTotalKey":0}
if (typeof BSS_SL == 'undefined' || data != "") {
var searchResult = []
let storeLocators = []
storeLocators = [...storeLocators, ...[{"id":312299,"storeName":"Mudbay Admiral","address":"2611 California Ave SW","country":"USA","city":"Seattle","state":"WA","zipCode":"98116","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.5807852","lng":"-122.3868398","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312284,"storeName":"Mudbay Bakerview","address":"1315 W. Bakerview Rd, Ste 105","country":"USA","city":"Bellingham","state":"WA","zipCode":"98226","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"48.78938609999999","lng":"-122.5133366","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312277,"storeName":"Mudbay Ballard","address":"5314 15th Ave NW","country":"USA","city":"Seattle","state":"WA","zipCode":"98107","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6676304","lng":"-122.3757225","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312242,"storeName":"Mudbay Beaverton Town Square","address":"11715 SW Beaverton Hillsdale Hwy","country":"USA","city":"Beaverton","state":"OR","zipCode":"97005","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.4883415","lng":"-122.7970933","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312300,"storeName":"Mudbay Belltown","address":"2119 1st Ave","country":"USA","city":"Seattle","state":"WA","zipCode":"98121","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6120295","lng":"-122.3447814","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312301,"storeName":"Mudbay Broadway at Pike","address":"1514 Broadway","country":"USA","city":"Seattle","state":"WA","zipCode":"98122","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6145805","lng":"-122.3206031","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312302,"storeName":"Mudbay Broadway at Thomas","address":"231 Broadway East","country":"USA","city":"Seattle","state":"WA","zipCode":"98102","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.620883","lng":"-122.3212048","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312303,"storeName":"Mudbay Burien","address":"148 SW 148th St, Ste B130","country":"USA","city":"Burien","state":"WA","zipCode":"98166","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.4710303","lng":"-122.3368573","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312285,"storeName":"Mudbay Burlington","address":"626 Haggen Drive, Unit 625-22","country":"USA","city":"Burlington","state":"WA","zipCode":"98233","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"48.4710134","lng":"-122.337315","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312278,"storeName":"Mudbay Canyon Park","address":"1410 228th St SE, Ste 101","country":"USA","city":"Bothell","state":"WA","zipCode":"98021","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.7909277","lng":"-122.2135813","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312257,"storeName":"Mudbay Colorado Crossing","address":"110 NW Sisemore St, Ste 130","country":"USA","city":"Bend","state":"OR","zipCode":"97703","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.0518353","lng":"-121.3109296","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312256,"storeName":"Mudbay Concordia","address":"3275 NE Killingsworth St","country":"USA","city":"Portland","state":"OR","zipCode":"97211","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.5630562","lng":"-122.6309901","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312292,"storeName":"Mudbay Corvallis","address":"1550 NW 9th St, Ste 108","country":"USA","city":"Corvallis","state":"OR","zipCode":"97330","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.5822604","lng":"-123.2599744","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312249,"storeName":"Mudbay Covington","address":"17039 SE 272nd St, Suites 102 & 104","country":"USA","city":"Covington","state":"WA","zipCode":"98042","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.3568405","lng":"-122.113821","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312264,"storeName":"Mudbay Crossroads","address":"5500 Corporate Center Lane SE","country":"USA","city":"Lacey","state":"WA","zipCode":"98503","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"46.9986658","lng":"-122.8242662","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312250,"storeName":"Mudbay Fairwood","address":"17322 140th Ave. SE, Ste 9","country":"USA","city":"Renton","state":"WA","zipCode":"98058","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.44624959999999","lng":"-122.1528006","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312265,"storeName":"Mudbay Federal Way","address":"1706 S 320th St, Ste C","country":"USA","city":"Federal Way","state":"WA","zipCode":"98003","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.3161023","lng":"-122.3116582","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312258,"storeName":"Mudbay Fisher's Landing","address":"2100A SE 164th Ave, Ste A101","country":"USA","city":"Vancouver","state":"WA","zipCode":"98683","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.6060387","lng":"-122.5047299","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312243,"storeName":"Mudbay Garden Home","address":"7215 SW Oleson Road, Ste A","country":"USA","city":"Portland","state":"OR","zipCode":"97223","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.4681083","lng":"-122.7505669","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312266,"storeName":"Mudbay Gig Harbor","address":"4816 Point Fosdick Drive, Ste 102","country":"USA","city":"Gig Harbor","state":"WA","zipCode":"98335","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.3022828","lng":"-122.5813459","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312259,"storeName":"Mudbay Glisan","address":"1616 NW Glisan St","country":"USA","city":"Portland","state":"OR","zipCode":"97209","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.52624429999999","lng":"-122.6876769","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312260,"storeName":"Mudbay Grant Park Village","address":"3230 NE Broadway","country":"USA","city":"Portland","state":"OR","zipCode":"97232","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.5350334","lng":"-122.6319311","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312244,"storeName":"Mudbay Greenway","address":"12186 SW Scholls Ferry Rd","country":"USA","city":"Tigard","state":"OR","zipCode":"97223","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.4428893","lng":"-122.8009088","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312279,"storeName":"Mudbay Greenwood","address":"8532 1st Ave NW","country":"USA","city":"Seattle","state":"WA","zipCode":"98117","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6915931","lng":"-122.3576459","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312293,"storeName":"Mudbay Happy Valley","address":"13180 SE 169th Ave, Ste 100","country":"USA","city":"Happy Valley","state":"OR","zipCode":"97086","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.427374","lng":"-122.4892401","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312261,"storeName":"Mudbay Hawthorne","address":"3130 SE Hawthorne Blvd","country":"USA","city":"Portland","state":"OR","zipCode":"97214","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.5117956","lng":"-122.6331384","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312271,"storeName":"Mudbay Issaquah","address":"1590 NW Gilman Blvd","country":"USA","city":"Issaquah","state":"WA","zipCode":"98027","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.5461013","lng":"-122.0611701","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312270,"storeName":"Mudbay Issaquah Highlands","address":"1416 Highlands Dr NE, Suite 100","country":"USA","city":"Issaquah","state":"WA","zipCode":"98029","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.5412099","lng":"-122.0187101","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312251,"storeName":"Mudbay Kent","address":"10245 SE 240th St","country":"USA","city":"Kent","state":"WA","zipCode":"98031","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.3867004","lng":"-122.2033178","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312272,"storeName":"Mudbay Kirkland","address":"425 Urban Plz, Ste 185","country":"USA","city":"Kirkland","state":"WA","zipCode":"98033","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6778996","lng":"-122.1988798","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312294,"storeName":"Mudbay Kuebler","address":"2540 Kuebler Blvd, Suite 100","country":"USA","city":"Salem","state":"OR","zipCode":"97306","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.88441","lng":"-123.0109752","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312291,"storeName":"Mudbay Lacey","address":"8909 Martin Way E","country":"USA","city":"Lacey","state":"WA","zipCode":"98516","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.0589018","lng":"-122.7514827","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312280,"storeName":"Mudbay Lake Forest Park","address":"17171 Bothell Way NE, Ste A271","country":"USA","city":"Lake Forest Park","state":"WA","zipCode":"98155","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.7540097","lng":"-122.2803679","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312245,"storeName":"Mudbay Lake Oswego - Mountain Park","address":"3 Monroe Pkwy, Ste W","country":"USA","city":"Lake Oswego","state":"OR","zipCode":"97035","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.4335913","lng":"-122.7023109","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312295,"storeName":"Mudbay Lake Oswego - Palisades","address":"1385 McVey Ave","country":"USA","city":"Lake Oswego","state":"OR","zipCode":"97034","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.4057624","lng":"-122.6778482","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312286,"storeName":"Mudbay Lakeway","address":"1022 Lakeway Dr","country":"USA","city":"Bellingham","state":"WA","zipCode":"98229","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"48.744782","lng":"-122.462115","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312288,"storeName":"Mudbay Lynnwood","address":"2800 196th St SW, Ste 110","country":"USA","city":"Lynnwood","state":"WA","zipCode":"98036","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.8198859","lng":"-122.2722357","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312287,"storeName":"Mudbay Lynnwood West","address":"19709 Highway 99, Ste F","country":"USA","city":"Lynnwood","state":"WA","zipCode":"98036","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.8196895","lng":"-122.3141339","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312252,"storeName":"Mudbay Maple Valley","address":"24107 SE Kent-Kangley Rd","country":"USA","city":"Maple Valley","state":"WA","zipCode":"98038","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.3612039","lng":"-122.019764","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312273,"storeName":"Mudbay Mercer Island","address":"2441 76th Ave SE, Ste 100","country":"USA","city":"Mercer Island","state":"WA","zipCode":"98040","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.5881572","lng":"-122.2378477","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312281,"storeName":"Mudbay Mill Creek","address":"1018 164th St SE, Ste A2","country":"USA","city":"Mill Creek","state":"WA","zipCode":"98012","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.8487077","lng":"-122.2183372","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312289,"storeName":"Mudbay Mukilteo","address":"11700 Mukilteo Speedway, Ste D403","country":"USA","city":"Mukilteo","state":"WA","zipCode":"98275","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.8919492","lng":"-122.2868942","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312296,"storeName":"Mudbay Nyberg Rivers","address":"7807 SW Nyberg St","country":"USA","city":"Tualatin","state":"OR","zipCode":"97062","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.3840262","lng":"-122.7574184","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312267,"storeName":"Mudbay Olympia","address":"1001 Cooper Point Rd SW","country":"USA","city":"Olympia","state":"WA","zipCode":"98502","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.0388044","lng":"-122.9402494","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312274,"storeName":"Mudbay Overlake","address":"1645 140th Avenue NE, Ste A1-B","country":"USA","city":"Bellevue","state":"WA","zipCode":"98005","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6246772","lng":"-122.1541703","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312253,"storeName":"Mudbay Pioneer Crossing","address":"728 Shaw Rd","country":"USA","city":"Puyallup","state":"WA","zipCode":"98374","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.1853332","lng":"-122.256874","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312254,"storeName":"Mudbay Puyallup","address":"13210 Meridian Ave E","country":"USA","city":"Puyallup","state":"WA","zipCode":"98373","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.1363822","lng":"-122.2945426","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312275,"storeName":"Mudbay Redmond","address":"8867 161st Ave NE, Ste 150","country":"USA","city":"Redmond","state":"WA","zipCode":"98052","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.680835","lng":"-122.1261299","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312262,"storeName":"Mudbay Robal Road","address":"20520 Robal Lane Ste 100","country":"USA","city":"Bend","state":"OR","zipCode":"97701","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.103058","lng":"-121.2974437","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312282,"storeName":"Mudbay Roosevelt","address":"6401 12th Ave NE","country":"USA","city":"Seattle","state":"WA","zipCode":"98115","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6753686","lng":"-122.3162391","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312276,"storeName":"Mudbay Sammamish","address":"22830 NE 8th St","country":"USA","city":"Sammamish","state":"WA","zipCode":"98074","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6173016","lng":"-122.0343967","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312246,"storeName":"Mudbay Sellwood","address":"8112 SE 13th Ave","country":"USA","city":"Portland","state":"OR","zipCode":"97202","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.46414499999999","lng":"-122.6526809","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312297,"storeName":"Mudbay Sherwood","address":"16784 SW Edy Road, 112","country":"USA","city":"Sherwood","state":"OR","zipCode":"97140","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.3660745","lng":"-122.8507282","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312290,"storeName":"Mudbay Shoreline","address":"1201 N 175th St, Ste 106","country":"USA","city":"Shoreline","state":"WA","zipCode":"98133","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.7550191","lng":"-122.3439965","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312304,"storeName":"Mudbay Silverdale","address":"11467 Pacific Crest Place NW, Ste C125","country":"USA","city":"Silverdale","state":"WA","zipCode":"98383","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6640843","lng":"-122.6957158","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312305,"storeName":"Mudbay Stadium","address":"635 Division Avenue","country":"USA","city":"Tacoma","state":"WA","zipCode":"98403","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.2636664","lng":"-122.4484208","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312255,"storeName":"Mudbay Sumner","address":"15105 Main St E, Ste 101","country":"USA","city":"Sumner","state":"WA","zipCode":"98390","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.202881","lng":"-122.2279928","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312247,"storeName":"Mudbay Tanasbourne","address":"2540 NE 106th Ave, Suite A","country":"USA","city":"Hillsboro","state":"OR","zipCode":"97124","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.5384913","lng":"-122.8698174","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312248,"storeName":"Mudbay Timberland","address":"11830 NW Cedar Falls Dr, Ste 114","country":"USA","city":"Portland","state":"OR","zipCode":"97229","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.5216265","lng":"-122.8019283","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312268,"storeName":"Mudbay Tumwater","address":"704 Trosper Rd, Ste 110","country":"USA","city":"Tumwater","state":"WA","zipCode":"98512","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.0005231","lng":"-122.9173333","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312269,"storeName":"Mudbay University Place","address":"3804 Bridgeport Way","country":"USA","city":"University Place","state":"WA","zipCode":"98466","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.2230747","lng":"-122.5387456","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312306,"storeName":"Mudbay University Village","address":"4612 25th Ave NE","country":"USA","city":"Seattle","state":"WA","zipCode":"98105","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6622274","lng":"-122.3002119","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312283,"storeName":"Mudbay Uptown","address":"522 Queen Anne Ave N","country":"USA","city":"Seattle","state":"WA","zipCode":"98109","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6240007","lng":"-122.3563541","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312298,"storeName":"Mudbay West Salem","address":"525 Ninth St NW, Ste 100","country":"USA","city":"Salem","state":"OR","zipCode":"97304","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.9496136","lng":"-123.052129","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312263,"storeName":"Mudbay Williams","address":"3331 N. Williams Ave","country":"USA","city":"Portland","state":"OR","zipCode":"97227","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.5471159","lng":"-122.6668576","products":"Laser Toy - Pear, Laser Toy - Paw, Laser Toy - Cat","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312232,"storeName":"Petco 86Th/Lexington","address":"1280 Lexington Ave","country":"USA","city":"New York","state":"NY","zipCode":"10028","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.7800167","lng":"-73.95544199999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312189,"storeName":"Petco 92Nd/Brdwy","address":"2475 Broadway","country":"USA","city":"New York","state":"NY","zipCode":"10025","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.79214959999999","lng":"-73.9741415","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312172,"storeName":"Petco Al Madison","address":"8213 Hwy 72 W.","country":"USA","city":"Madison","state":"AL","zipCode":"35758","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.7491022","lng":"-86.7581529","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312131,"storeName":"Petco Anchorage","address":"8621 Old Seward Hwy","country":"USA","city":"Anchorage","state":"AK","zipCode":"99515","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"61.1427723","lng":"-149.858891","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312181,"storeName":"Petco Aplton-Calumet","address":"3829 E Calumet St","country":"USA","city":"Appleton","state":"WI","zipCode":"54915","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.2412487","lng":"-88.3476804","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312216,"storeName":"Petco Arvada-Wadsworth","address":"8031 Wadsworth Blvd","country":"USA","city":"Arvada","state":"CO","zipCode":"80003","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.8434311","lng":"-105.0838725","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312170,"storeName":"Petco Asheville","address":"825 Brevard Road","country":"USA","city":"Asheville","state":"NC","zipCode":"28806","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"35.5329363","lng":"-82.6055403","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312084,"storeName":"Petco Austin-North","address":"9828 Great Hills Trl","country":"USA","city":"Austin","state":"TX","zipCode":"78759","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"30.3945369","lng":"-97.74756939999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312085,"storeName":"Petco Austin-South","address":"5601 Brodie Lane","country":"USA","city":"Sunset Valley","state":"TX","zipCode":"78745","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"30.22641459999999","lng":"-97.81949809999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312195,"storeName":"Petco Avon","address":"9 West Avon Rd","country":"USA","city":"Avon","state":"CT","zipCode":"6001","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.8160749","lng":"-72.8684243","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312167,"storeName":"Petco Bakersfield","address":"8220 Rosedale Hwy","country":"USA","city":"Bakersfield","state":"CA","zipCode":"93312","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"35.3859179","lng":"-119.0938989","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312185,"storeName":"Petco Baldwin","address":"806 Sunrise Highway","country":"USA","city":"Baldwin","state":"NY","zipCode":"11510","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.6559336","lng":"-73.6060433","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312193,"storeName":"Petco Boca Raton","address":"9960 Glades Rd","country":"USA","city":"Boca Raton","state":"FL","zipCode":"33434","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"26.3649421","lng":"-80.2026884","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312140,"storeName":"Petco Bonney Lake","address":"9311 192Nd Ave East","country":"USA","city":"Bonney Lake","state":"WA","zipCode":"98391","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.172126","lng":"-122.1746502","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312066,"storeName":"Petco Bremerton","address":"4209 Wheaton Way","country":"USA","city":"Bremerton","state":"WA","zipCode":"98310","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6050055","lng":"-122.6310114","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312073,"storeName":"Petco Brighton","address":"304 Western Ave","country":"USA","city":"Brighton","state":"MA","zipCode":"2135","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.3629099","lng":"-71.136183","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312110,"storeName":"Petco Brookfield","address":"169 Federal Road","country":"USA","city":"Brookfield","state":"CT","zipCode":"6804","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.44004330000001","lng":"-73.4055896","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312199,"storeName":"Petco Brooklyn-Sheepshead","address":"1610 Ave Y","country":"USA","city":"Brooklyn","state":"NY","zipCode":"11235","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.5899097","lng":"-73.95352439999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312097,"storeName":"Petco Burbank","address":"3525 W. Victory Blvd.","country":"USA","city":"Burbank","state":"CA","zipCode":"91505","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.1850779","lng":"-118.3499387","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312074,"storeName":"Petco Carle Place","address":"189 Old Country Rd","country":"USA","city":"Carle Place","state":"NY","zipCode":"11514","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.7440584","lng":"-73.6142685","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312094,"storeName":"Petco Carmel Mountain Ranch","address":"11160 Rancho Carmel Dr 108","country":"USA","city":"San Diego","state":"CA","zipCode":"92128","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"32.9796155","lng":"-117.084097","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312158,"storeName":"Petco Casper","address":"4140 East 2Nd St","country":"USA","city":"Casper","state":"WY","zipCode":"82609","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.8502158","lng":"-106.2735906","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312174,"storeName":"Petco Chapel Hil","address":"1800 East Franklin Street","country":"USA","city":"Chapel Hill","state":"NC","zipCode":"27514","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"35.93548450000001","lng":"-79.0263848","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312136,"storeName":"Petco Clackamas","address":"9078 Se Sunnyside Rd","country":"USA","city":"Clackamas","state":"OR","zipCode":"97015","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.4327305","lng":"-122.5706117","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312231,"storeName":"Petco Clark","address":"1255 Raritan Rd.","country":"USA","city":"Clark","state":"NJ","zipCode":"7066","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.6309349","lng":"-74.30700879999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312215,"storeName":"Petco Co Spg Ctl","address":"5020 N. Nevada Avenue","country":"USA","city":"Colorado Springs","state":"CO","zipCode":"80918","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"38.90351649999999","lng":"-104.8216587","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312159,"storeName":"Petco Colorado Springs","address":"9690 Prominent Point","country":"USA","city":"Colorado Springs","state":"CO","zipCode":"80924","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"38.9740064","lng":"-104.7455438","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312154,"storeName":"Petco Corpus Christi","address":"6418 South Staples St","country":"USA","city":"Corpus Christi","state":"TX","zipCode":"78413","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"27.6867552","lng":"-97.38266899999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312062,"storeName":"Petco Corvallis","address":"2365 N.W. Kings Blvd.","country":"USA","city":"Corvallis","state":"OR","zipCode":"97330","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.59085289999999","lng":"-123.2732142","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312114,"storeName":"Petco Costa-Newport","address":"1815 Newport Blvd","country":"USA","city":"Costa Mesa","state":"CA","zipCode":"92627","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.6403935","lng":"-117.9202318","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312112,"storeName":"Petco Culver City","address":"5347 S. Sepulveda Blvd.","country":"USA","city":"Culver City","state":"CA","zipCode":"90230","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.9961041","lng":"-118.3963194","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312079,"storeName":"Petco Davis","address":"1341 West Covell Blvd","country":"USA","city":"Davis","state":"CA","zipCode":"95616","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"38.5619034","lng":"-121.7645138","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312221,"storeName":"Petco De-Wilmington","address":"4491 Kirkwood Hwy","country":"USA","city":"Wilmington","state":"DE","zipCode":"19808","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.7265019","lng":"-75.65435699999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312160,"storeName":"Petco Denham Springs","address":"2358 So. Range Ave","country":"USA","city":"Denham Springs","state":"LA","zipCode":"70726","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"30.4581193","lng":"-90.95481649999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312164,"storeName":"Petco Denver-Co Blvd","address":"4100 E. Mexico Ave","country":"USA","city":"Denver","state":"CO","zipCode":"80222","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.6850665","lng":"-104.9401174","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312214,"storeName":"Petco Denver-Hampden","address":"7400 East Hampden Avenue","country":"USA","city":"Denver","state":"CO","zipCode":"80231","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.6518466","lng":"-104.9001955","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312183,"storeName":"Petco Derby","address":"1912 North Rock Road","country":"USA","city":"Derby","state":"KS","zipCode":"67037","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"37.56648879999999","lng":"-97.24126690000001","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312103,"storeName":"Petco Des Moines","address":"7333 Buffalo Rd","country":"USA","city":"Clive","state":"IA","zipCode":"50324","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.5983102","lng":"-93.7197901","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312083,"storeName":"Petco El Cerrito","address":"420 El Cerrito Plaza","country":"USA","city":"El Cerrito","state":"CA","zipCode":"94530","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"37.899247","lng":"-122.2987926","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312098,"storeName":"Petco Escondido","address":"1000 West Valley Parkway","country":"USA","city":"Escondido","state":"CA","zipCode":"92025","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.1180869","lng":"-117.0964161","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312148,"storeName":"Petco Eureka","address":"3300 Broadway St 20E","country":"USA","city":"Eureka","state":"CA","zipCode":"95501","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.7792963","lng":"-124.1905928","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312225,"storeName":"Petco Evans","address":"4209 Washington Road","country":"USA","city":"Evans","state":"GA","zipCode":"30809","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.524183","lng":"-82.11755029999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312070,"storeName":"Petco Fair Oaks","address":"8840 Madison Ave.","country":"USA","city":"Fair Oaks","state":"CA","zipCode":"95628","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"38.6624882","lng":"-121.2291455","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312122,"storeName":"Petco Fairbanks","address":"417 Merhar Ave","country":"USA","city":"Fairbanks","state":"AK","zipCode":"99701","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"64.85681629999999","lng":"-147.700945","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312206,"storeName":"Petco Fairview Park","address":"20980 Westgate Mall","country":"USA","city":"Fairview Park","state":"OH","zipCode":"44126","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.457982","lng":"-81.8524029","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312204,"storeName":"Petco Fairvw Heights","address":"6595 North Illinois","country":"USA","city":"Fairview Hts","state":"IL","zipCode":"62208","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"38.5953666","lng":"-89.9873939","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312102,"storeName":"Petco Fargo-Nd","address":"1126 43Rd Street Sw","country":"USA","city":"Fargo","state":"ND","zipCode":"58103","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"46.863507","lng":"-96.8527103","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312218,"storeName":"Petco Fayetteville","address":"2800 Freedom Parkway Dr","country":"USA","city":"Fayetteville","state":"NC","zipCode":"28314","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"35.0575164","lng":"-78.9693561","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312065,"storeName":"Petco Federal Way","address":"31419 Pacific Highway South","country":"USA","city":"Federal Way","state":"WA","zipCode":"98003","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.3201784","lng":"-122.3155055","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312165,"storeName":"Petco Fort Smith","address":"3835 Phoenix Avenue","country":"USA","city":"Fort Smith","state":"AR","zipCode":"72903","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"35.340575","lng":"-94.3903244","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312227,"storeName":"Petco Fredericksburg","address":"5717 Plank Rd","country":"USA","city":"Fredericksburg","state":"VA","zipCode":"22407","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"38.29349210000001","lng":"-77.56794219999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312177,"storeName":"Petco Fridley","address":"753 53Rd Ave Ne","country":"USA","city":"Fridley","state":"MN","zipCode":"55421","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.0647788","lng":"-93.2519722","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312192,"storeName":"Petco Ft Myers","address":"13741 S Tamiami Trail","country":"USA","city":"Ft Myers","state":"FL","zipCode":"33912","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"26.5415779","lng":"-81.8693017","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312228,"storeName":"Petco Ft Myers East","address":"9380 Dynasty Dr","country":"USA","city":"Fort Myers","state":"FL","zipCode":"33905","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"26.6140374","lng":"-81.80146930000001","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312089,"storeName":"Petco Glendale","address":"231 N. Glendale Ave.","country":"USA","city":"Glendale","state":"CA","zipCode":"91206","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.1496523","lng":"-118.2474544","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312157,"storeName":"Petco Glenwood Springs","address":"105 East Meadows Dr","country":"USA","city":"Glenwood Springs","state":"CO","zipCode":"81601","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.5546866","lng":"-107.3408912","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312126,"storeName":"Petco Goodyear","address":"1985 N Pebble Creek Pkwy","country":"USA","city":"Goodyear","state":"AZ","zipCode":"85395","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.4688983","lng":"-112.3897514","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312106,"storeName":"Petco Grand Forks","address":"2901 32Nd Avenue S.","country":"USA","city":"Grand Forks","state":"ND","zipCode":"58201","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.8890204","lng":"-97.07007399999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312156,"storeName":"Petco Greeley","address":"4751 W 29Th St","country":"USA","city":"Greeley","state":"CO","zipCode":"80634","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.3903409","lng":"-104.7589305","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312226,"storeName":"Petco Greenville","address":"3270 N Pleasantburg Dr","country":"USA","city":"Greenville","state":"SC","zipCode":"29609","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.8912367","lng":"-82.40170839999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312133,"storeName":"Petco Hazel Dell","address":"8820 Ne 5Th Ave","country":"USA","city":"Vancouver","state":"WA","zipCode":"98665","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.6867631","lng":"-122.6652651","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312210,"storeName":"Petco Hilo","address":"111 E Puainako Street","country":"USA","city":"Hilo","state":"HI","zipCode":"96720","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"19.6955061","lng":"-155.0644897","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312130,"storeName":"Petco Honolulu B","address":"1121 South Beretania St","country":"USA","city":"Honolulu","state":"HI","zipCode":"96814","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"21.3012827","lng":"-157.8445434","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312086,"storeName":"Petco Houston-River Oaks","address":"2110 South Shepherd","country":"USA","city":"Houston","state":"TX","zipCode":"77019","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"29.7462573","lng":"-95.4110134","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312115,"storeName":"Petco Huntington Beach","address":"5961 Warner Ave","country":"USA","city":"Huntington Beach","state":"CA","zipCode":"92649","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.7165206","lng":"-118.0246011","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312178,"storeName":"Petco In-Bloomington","address":"2520 East 3Rd St","country":"USA","city":"Bloomington","state":"IN","zipCode":"47401","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.1627212","lng":"-86.5016287","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312072,"storeName":"Petco Indy-South","address":"7565 Us 31 South","country":"USA","city":"Indianapolis","state":"IN","zipCode":"46227","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.65622159999999","lng":"-86.1409204","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312209,"storeName":"Petco Kahului","address":"50 Hookele St.","country":"USA","city":"Kahului","state":"HI","zipCode":"96732","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"20.8734352","lng":"-156.4567713","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312127,"storeName":"Petco Kapolei","address":"4450 Kapolei Parkway","country":"USA","city":"Kapolei","state":"HI","zipCode":"96707","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"21.3312045","lng":"-158.0902523","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312135,"storeName":"Petco Keizer","address":"6425 Keizer Station Blvd Ne","country":"USA","city":"Keizer","state":"OR","zipCode":"97303","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.0128428","lng":"-122.9982927","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312104,"storeName":"Petco Kenosha","address":"6910 Green Bay Rd","country":"USA","city":"Kenosha","state":"WI","zipCode":"53142","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.5727061","lng":"-87.8892616","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312138,"storeName":"Petco Klamath Falls","address":"2840 S 6Th St","country":"USA","city":"Klamath Falls","state":"OR","zipCode":"97603","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.2091318","lng":"-121.7556579","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312212,"storeName":"Petco Kyle","address":"5100 Kyle Center Drive","country":"USA","city":"Kyle","state":"TX","zipCode":"78640","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"30.0120858","lng":"-97.8656129","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312113,"storeName":"Petco La Brea","address":"200 S. La Brea Ave","country":"USA","city":"Los Angeles","state":"CA","zipCode":"90036","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.0707216","lng":"-118.3437302","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312092,"storeName":"Petco La Canada","address":"475 Foothill Blvd.","country":"USA","city":"La Canada","state":"CA","zipCode":"91011","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.200037","lng":"-118.1884204","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312146,"storeName":"Petco Lacey","address":"1210 Marvin Road Ne","country":"USA","city":"Lacey","state":"WA","zipCode":"98516","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.0579037","lng":"-122.7634916","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312163,"storeName":"Petco Lake Charles","address":"545 West Prien Lake Road","country":"USA","city":"Lake Charles","state":"LA","zipCode":"70601","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"30.1979865","lng":"-93.2268241","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312093,"storeName":"Petco Lakewood","address":"5215 Lakewood Blvd","country":"USA","city":"Lakewood","state":"CA","zipCode":"90712","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.8524762","lng":"-118.1432174","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312223,"storeName":"Petco Lee County","address":"10020 Gulf Center Dr","country":"USA","city":"Fort Myers","state":"FL","zipCode":"33913","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"26.4837784","lng":"-81.7902361","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312107,"storeName":"Petco Lincoln","address":"4701 O Street","country":"USA","city":"Lincoln","state":"NE","zipCode":"68510","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.8131154","lng":"-96.65486229999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312198,"storeName":"Petco Mansfield","address":"280 School St","country":"USA","city":"Mansfield","state":"MA","zipCode":"2048","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.0135654","lng":"-71.23016319999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312139,"storeName":"Petco Marysville","address":"16508 Twin Lakes Ave","country":"USA","city":"Marysville","state":"WA","zipCode":"98271","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"48.1459808","lng":"-122.1904116","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312142,"storeName":"Petco Medford","address":"75 Rossanley Dr","country":"USA","city":"Medford","state":"OR","zipCode":"97501","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.3433084","lng":"-122.8816148","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312238,"storeName":"Petco Medford","address":"3850 Mystic Valley Parkway - Petco","country":"USA","city":"Medford","state":"MA","zipCode":"2155","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.4078443","lng":"-71.0915284","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312220,"storeName":"Petco Minot Nd","address":"3212 16Th Street Sw","country":"USA","city":"Minot","state":"ND","zipCode":"58701","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"48.202314","lng":"-101.3200489","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312145,"storeName":"Petco Missoula","address":"3662 Brooks Avenue","country":"USA","city":"Missoula","state":"MT","zipCode":"59801","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"46.835792","lng":"-114.0379498","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312105,"storeName":"Petco Mn-Highland Park","address":"2277 Ford Pkwy.","country":"USA","city":"St. Paul","state":"MN","zipCode":"55116","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.9188774","lng":"-93.1965616","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312100,"storeName":"Petco Mntnka","address":"13691 Ridgedale Dr.","country":"USA","city":"Hopkins","state":"MN","zipCode":"55305","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.9699063","lng":"-93.4520759","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312124,"storeName":"Petco Montclair","address":"9137 Central Ave","country":"USA","city":"Montclair","state":"CA","zipCode":"91763","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.08832","lng":"-117.6883087","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312096,"storeName":"Petco Montebello","address":"1425 N. Montebello Blvd.","country":"USA","city":"Montebello","state":"CA","zipCode":"90640","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.034073","lng":"-118.0952135","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312150,"storeName":"Petco Morgan Hill","address":"1019 Cochrane Rd","country":"USA","city":"Morgan Hill","state":"CA","zipCode":"95037","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"37.1551873","lng":"-121.6528491","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312194,"storeName":"Petco Morgantown","address":"4101 University Town Ctr Dr","country":"USA","city":"Morgantown","state":"WV","zipCode":"26501","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.65058459999999","lng":"-80.0013049","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312201,"storeName":"Petco Mt.Pleasant","address":"1501 Hwy 17 North","country":"USA","city":"Mt. Pleasant","state":"SC","zipCode":"29464","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"32.8123063","lng":"-79.8505721","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312173,"storeName":"Petco Myrtle Beach So","address":"160 Sayebrook Parkway","country":"USA","city":"Myrtle Beach","state":"SC","zipCode":"29588","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.6545485","lng":"-78.98109649999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312213,"storeName":"Petco N Aurora","address":"1350 South Ironton St","country":"USA","city":"Aurora","state":"CO","zipCode":"80012","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.6933127","lng":"-104.863043","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312208,"storeName":"Petco N Hollywood","address":"13025 Victory Blvd","country":"USA","city":"North Hollywood","state":"CA","zipCode":"91606","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.1885209","lng":"-118.4165727","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312144,"storeName":"Petco N Tacoma Wa","address":"5951 Sixth Avenue","country":"USA","city":"Tacoma","state":"WA","zipCode":"98406","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.2565713","lng":"-122.5179171","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312175,"storeName":"Petco N Tllahsee","address":"1380 Village Square Blvd.","country":"USA","city":"Tallahassee","state":"FL","zipCode":"32312","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"30.5114596","lng":"-84.2503377","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312200,"storeName":"Petco N.Dartmouth","address":"473 State Rd","country":"USA","city":"North Dartmouth","state":"MA","zipCode":"2747","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.6390783","lng":"-71.0023239","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312075,"storeName":"Petco Napa","address":"3284 Jefferson St.","country":"USA","city":"Napa","state":"CA","zipCode":"94558","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"38.3215633","lng":"-122.299147","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312182,"storeName":"Petco Ne-Bellevue","address":"10511 S 15Th St","country":"USA","city":"Bellevue","state":"NE","zipCode":"68123","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.156357","lng":"-95.9323077","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312071,"storeName":"Petco Needham","address":"163 Highland Ave.","country":"USA","city":"Needham","state":"MA","zipCode":"2494","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.3057818","lng":"-71.220134","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312186,"storeName":"Petco New Tampa","address":"1231 Bruce B Downs Blvd","country":"USA","city":"Wesley Chapel","state":"FL","zipCode":"33544","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"28.17455","lng":"-82.3554879","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312207,"storeName":"Petco Norridge","address":"4161 N Harlem Ave","country":"USA","city":"Norridge","state":"IL","zipCode":"60706","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.9567438","lng":"-87.8036125","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312211,"storeName":"Petco North Spokane","address":"4727 N. Division","country":"USA","city":"Spokane","state":"WA","zipCode":"99207","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.7023107","lng":"-117.4116478","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312109,"storeName":"Petco Norwalk","address":"431 Westport Ave.","country":"USA","city":"Norwalk","state":"CT","zipCode":"6851","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.1269068","lng":"-73.3892898","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312064,"storeName":"Petco Olympia","address":"1530 Black Lake Blvd","country":"USA","city":"Olympia","state":"WA","zipCode":"98502","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.0330641","lng":"-122.9381771","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312141,"storeName":"Petco Or-Albany","address":"717 Geary St Se","country":"USA","city":"Albany","state":"OR","zipCode":"97321","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.6351373","lng":"-123.0829606","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312116,"storeName":"Petco Orange","address":"1824 E. Katella Ave","country":"USA","city":"Orange","state":"CA","zipCode":"92867","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.8083713","lng":"-117.8343482","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312190,"storeName":"Petco Orl-East Colonial","address":"2410 East Colonial Dr","country":"USA","city":"Orlando","state":"FL","zipCode":"32803","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"28.5518647","lng":"-81.3515945","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312111,"storeName":"Petco Paramus","address":"450 Route 17 North","country":"USA","city":"Paramus","state":"NJ","zipCode":"7652","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.951654","lng":"-74.07196189999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312161,"storeName":"Petco Paris","address":"3900 Lamar Avenue","country":"USA","city":"Paris","state":"TX","zipCode":"75462","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.6604685","lng":"-95.5047391","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312108,"storeName":"Petco Peabody","address":"10 Sylvan St","country":"USA","city":"Peabody","state":"MA","zipCode":"1960","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.5468494","lng":"-70.9457735","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312128,"storeName":"Petco Pearl City","address":"1134 Kuala Street","country":"USA","city":"Pearl City","state":"HI","zipCode":"96782","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"21.3998947","lng":"-157.9756973","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312118,"storeName":"Petco Phoenix-Tatum","address":"4727 E. Bell Rd","country":"USA","city":"Phoenix","state":"AZ","zipCode":"85032","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.6383669","lng":"-111.9792636","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312151,"storeName":"Petco Potrero","address":"2300 16Th St.","country":"USA","city":"San Francisco","state":"CA","zipCode":"94103","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"37.7659214","lng":"-122.4077723","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312224,"storeName":"Petco Poughkeepsie","address":"1933 South Road","country":"USA","city":"Poughkeepsie","state":"NY","zipCode":"12601","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.62085740000001","lng":"-73.9181024","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312196,"storeName":"Petco Providence","address":"585 North Main St","country":"USA","city":"Providence","state":"RI","zipCode":"2904","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.8377207","lng":"-71.40850689999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312233,"storeName":"Petco Queensbury","address":"756 Upper Glen Street","country":"USA","city":"Queensbury","state":"NY","zipCode":"12804","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"43.3306998","lng":"-73.67061249999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312162,"storeName":"Petco Rapid City-Sd","address":"1713 Eglin St","country":"USA","city":"Rapid City","state":"SD","zipCode":"57701","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.0973033","lng":"-103.1845472","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312080,"storeName":"Petco Redding","address":"1603 East Hilltop Dr","country":"USA","city":"Redding","state":"CA","zipCode":"96002","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.5833994","lng":"-122.357302","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312119,"storeName":"Petco Redlands","address":"27580 W Lugonia Ave","country":"USA","city":"Redlands","state":"CA","zipCode":"92374","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.0713819","lng":"-117.2021093","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312237,"storeName":"Petco Rego Park","address":"6135 Junction Blvd","country":"USA","city":"Rego Park","state":"NY","zipCode":"11374","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.73364290000001","lng":"-73.864081","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312077,"storeName":"Petco Reno","address":"5565 S. Virginia Street","country":"USA","city":"Reno","state":"NV","zipCode":"89502","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.4750927","lng":"-119.7899199","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312078,"storeName":"Petco Reno North","address":"2970 Northtowne Ln.","country":"USA","city":"Reno","state":"NV","zipCode":"89512","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.5580752","lng":"-119.781055","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312101,"storeName":"Petco Richfield","address":"710 West 66Th St.","country":"USA","city":"Richfield","state":"MN","zipCode":"55423","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.8843433","lng":"-93.28741869999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312149,"storeName":"Petco Riverbank","address":"2341 Claribel Rd","country":"USA","city":"Riverbank","state":"CA","zipCode":"95367","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"37.7136117","lng":"-120.9554983","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312188,"storeName":"Petco Riverhead","address":"1524 Old Country Road","country":"USA","city":"Riverhead","state":"NY","zipCode":"11901","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.9283777","lng":"-72.6959534","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312120,"storeName":"Petco Riverside-East","address":"8974 Trautwein Rd","country":"USA","city":"Riverside","state":"CA","zipCode":"92508","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.8903082","lng":"-117.3228998","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312184,"storeName":"Petco Rockville","address":"1507 Rockville Pike","country":"USA","city":"Rockville","state":"MD","zipCode":"20852","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.064705","lng":"-77.12766289999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312099,"storeName":"Petco Roseville","address":"2575 N. Fairview Ave.","country":"USA","city":"Roseville","state":"MN","zipCode":"55113","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.9856698","lng":"-93.177086","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312121,"storeName":"Petco S. Corona","address":"3485 Grand Oaks","country":"USA","city":"Corona","state":"CA","zipCode":"92881","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.8259483","lng":"-117.5128008","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312082,"storeName":"Petco Sac-Arden","address":"1878 Arden Way","country":"USA","city":"Sacramento","state":"CA","zipCode":"95815","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"38.5959434","lng":"-121.4249933","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312143,"storeName":"Petco Salem-South","address":"4450 Commercial St Se","country":"USA","city":"Salem","state":"OR","zipCode":"97302","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.88960669999999","lng":"-123.0325549","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312067,"storeName":"Petco San Jose Meridian","address":"4698 Meridian Ave.","country":"USA","city":"San Jose","state":"CA","zipCode":"95118","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"37.25491","lng":"-121.8965493","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312069,"storeName":"Petco San Jose Saratoga","address":"500 El Paseo De Saratoga","country":"USA","city":"San Jose","state":"CA","zipCode":"95130","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"37.2885622","lng":"-121.9912975","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312152,"storeName":"Petco San Jose-Village Oaks","address":"5650 Cottle Road","country":"USA","city":"San Jose","state":"CA","zipCode":"95123","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"37.249071","lng":"-121.8019096","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312081,"storeName":"Petco San Rafael","address":"375 3Rd St","country":"USA","city":"San Rafael","state":"CA","zipCode":"94901","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"37.9697349","lng":"-122.5177382","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312171,"storeName":"Petco Sarsta-University","address":"131 N. Cattlemen Rd.","country":"USA","city":"Sarasota","state":"FL","zipCode":"34243","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"27.384263","lng":"-82.4579344","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312239,"storeName":"Petco Saugus","address":"343 Broadway","country":"USA","city":"Saugus","state":"MA","zipCode":"1906","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.4884817","lng":"-71.0196426","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312168,"storeName":"Petco Sb-Central","address":"3985 State St","country":"USA","city":"Santa Barbara","state":"CA","zipCode":"93105","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.438612","lng":"-119.7515617","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312155,"storeName":"Petco Sherman","address":"4184 Town Center","country":"USA","city":"Sherman","state":"TX","zipCode":"75092","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.6810364","lng":"-96.612506","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312205,"storeName":"Petco Shorewood","address":"990 Brookforest Ave","country":"USA","city":"Shorewood","state":"IL","zipCode":"60404","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.5386947","lng":"-88.1972244","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312129,"storeName":"Petco Signal Hill","address":"3065 California Ave","country":"USA","city":"Signal Hill","state":"CA","zipCode":"90755","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.8133875","lng":"-118.181297","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312236,"storeName":"Petco Smithfield","address":"371 Putnam Pike","country":"USA","city":"Smithfield","state":"RI","zipCode":"2917","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.8738018","lng":"-71.5194708","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312095,"storeName":"Petco South Pasadena","address":"845 South Arroyo Parkway","country":"USA","city":"Pasadena","state":"CA","zipCode":"91105","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.1312679","lng":"-118.1478242","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312222,"storeName":"Petco Spartanburg","address":"1931 E. Main St","country":"USA","city":"Spartanburg","state":"SC","zipCode":"29307","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.9677462","lng":"-81.8882443","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312132,"storeName":"Petco Spokane So","address":"2805 E 29Th Ave","country":"USA","city":"Spokane","state":"WA","zipCode":"99223","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.62925449999999","lng":"-117.3689023","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312125,"storeName":"Petco Sports Arena","address":"3495 Sports Arena Blvd","country":"USA","city":"San Diego","state":"CA","zipCode":"92110","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"32.7532885","lng":"-117.2111597","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312219,"storeName":"Petco St. Johns-Durbin Park","address":"675 Durbin Pavillion Drive Suite 101","country":"USA","city":"St Johns","state":"FL","zipCode":"32259","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"30.0952846","lng":"-81.5201158","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312180,"storeName":"Petco Stevens Point","address":"1220 Commons Circle","country":"USA","city":"Plover","state":"WI","zipCode":"54467","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.4943284","lng":"-89.5148856","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312088,"storeName":"Petco Sugarhouse","address":"1165 East Wilmington.","country":"USA","city":"Salt Lake City","state":"UT","zipCode":"84106","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.7239666","lng":"-111.8574176","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312202,"storeName":"Petco Sumter","address":"1265 Broad Street","country":"USA","city":"Sumter","state":"SC","zipCode":"29150","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.9578469","lng":"-80.3868287","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312068,"storeName":"Petco Sunnyvale","address":"160 East El Camino Real","country":"USA","city":"Sunnyvale","state":"CA","zipCode":"94087","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"37.3645733","lng":"-122.030204","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312137,"storeName":"Petco The Dalles","address":"440 Mount Hood St","country":"USA","city":"The Dalles","state":"OR","zipCode":"97058","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.6048537","lng":"-121.1928395","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312191,"storeName":"Petco Toms River","address":"1331 Hooper Ave","country":"USA","city":"Toms River","state":"NJ","zipCode":"8753","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"39.9879689","lng":"-74.1744561","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312090,"storeName":"Petco Torrance","address":"24413 Crenshaw Blvd.","country":"USA","city":"Torrance","state":"CA","zipCode":"90505","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.804078","lng":"-118.3285701","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312229,"storeName":"Petco Totowa","address":"1 Us-46","country":"USA","city":"Totowa","state":"NJ","zipCode":"7512","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.8415525","lng":"-73.99727589999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312203,"storeName":"Petco Troy","address":"1217 Coolidge Hwy","country":"USA","city":"Troy","state":"MI","zipCode":"48084","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.5415637","lng":"-83.1897683","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312217,"storeName":"Petco Tyler","address":"8966 S. Broadway Ave","country":"USA","city":"Tyler","state":"TX","zipCode":"75703","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"32.2481178","lng":"-95.3046146","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312063,"storeName":"Petco Univ. District","address":"809 Ne 45Th Street","country":"USA","city":"Seattle","state":"WA","zipCode":"98105","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"47.6609851","lng":"-122.3192762","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312076,"storeName":"Petco Vacaville","address":"210 Nut Tree Parkway","country":"USA","city":"Vacaville","state":"CA","zipCode":"95687","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"38.3614577","lng":"-121.9676798","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312166,"storeName":"Petco Van Nuys","address":"5850 Sepulveda Blvd","country":"USA","city":"Van Nuys","state":"CA","zipCode":"91411","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.1771635","lng":"-118.4654557","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312134,"storeName":"Petco Vancvr-Orchards","address":"11505 Ne Fourth Plain Rd Suite 82","country":"USA","city":"Vancouver","state":"WA","zipCode":"98662","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"45.6660393","lng":"-122.5542652","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312230,"storeName":"Petco Virginia Beach","address":"4540 Princess Anne Rd.","country":"USA","city":"Virginia Beach","state":"VA","zipCode":"23462","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"36.8072335","lng":"-76.1325389","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312176,"storeName":"Petco W Des Moines-Jordan Creek","address":"6805 Mills Civic Pkwy","country":"USA","city":"West Des Moines","state":"IA","zipCode":"50266","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.5639505","lng":"-93.80114669999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312153,"storeName":"Petco Waco","address":"2404 W Loop 340","country":"USA","city":"Waco","state":"TX","zipCode":"76711","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"31.4995873","lng":"-97.15901640000001","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312147,"storeName":"Petco Walnut Creek","address":"1301 S. California Blvd","country":"USA","city":"Walnut Creek","state":"CA","zipCode":"94596","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"37.8944019","lng":"-122.061977","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312123,"storeName":"Petco Walnut Park","address":"7308 South Alameda St","country":"USA","city":"Huntington Park","state":"CA","zipCode":"90255","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"33.9733494","lng":"-118.2328349","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312234,"storeName":"Petco Wantagh","address":"1141 Wantagh Ave","country":"USA","city":"Wantagh","state":"NY","zipCode":"11793","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"40.6950659","lng":"-73.5061553","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312117,"storeName":"Petco Waterford","address":"825 Hartford Road","country":"USA","city":"Waterford","state":"CT","zipCode":"6385","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"41.3926746","lng":"-72.1629295","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312197,"storeName":"Petco Watertown","address":"21851 Towne Center Dr","country":"USA","city":"Watertown","state":"NY","zipCode":"13601","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"43.9719788","lng":"-75.9644216","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312087,"storeName":"Petco Weslayan","address":"5450 Weslayan","country":"USA","city":"Houston","state":"TX","zipCode":"77005","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"29.7235827","lng":"-95.4421156","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312169,"storeName":"Petco West Melbourne","address":"205 Palm Bay Road Ne","country":"USA","city":"West Melbourne","state":"FL","zipCode":"32904","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"28.0386507","lng":"-80.664197","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312179,"storeName":"Petco West St.Paul","address":"1970 South Robert St","country":"USA","city":"West St. Paul","state":"MN","zipCode":"55118","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"44.8867792","lng":"-93.07961689999999","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312235,"storeName":"Petco Westford","address":"11 Cornerstone Square","country":"USA","city":"Westford","state":"MA","zipCode":"1886","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"42.5650653","lng":"-71.429287","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312187,"storeName":"Petco Westshore","address":"136 S Westshore Blvd","country":"USA","city":"Tampa","state":"FL","zipCode":"33609","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"27.9435121","lng":"-82.5234457","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]},{"id":312091,"storeName":"Petco Westwood","address":"1873 Westwood Blvd.","country":"USA","city":"Los Angeles","state":"CA","zipCode":"90025","phone":"","fax":"","email":"","description":"","web":"","tags":"Laser Toys, Leo's Loo Too, Accessories","schedule":null,"img":"","img_s3":"","marker":"https://store-locator.bsscommerce.com/image/location-pin.svg","marker_s3":"","lat":"34.04823830000001","lng":"-118.4359359","products":"Leo's Loo Too, Litter Mat, Air Freshener Bags, Waste Drawer Liners, Charcoal Filters","shopName":"smartypear.myshopify.com","status":1,"custom":null,"positionLoca":1,"positionPhone":2,"positionFax":3,"positionEmail":4,"positionWeb":5,"positionSocial":5,"social_networks":null,"active":1,"priority":10000,"deletedAt":null,"source_ggs":null,"external_id":null,"createdAt":"2023-12-18T22:55:09.000Z","updatedAt":"2023-12-18T22:55:09.000Z","customField":[]}]]
var mapPopupData = {"id":2764,"shop_domain":"smartypear.myshopify.com","enable":0,"pages":"all_custom_pages","icon":"https://store-locator.bsscommerce.com/image/location-pin.svg","show_search_bar":0,"show_on_mobile":1,"show_on_desktop":0,"mobile_position":"bottom-right","desktop_position":"bottom-right","newPages":"all_custom_pages","typePage":"all_custom_pages","show_on_desktop_css":"@media only screen and (min-width: 749px) {\n #bss-map-popup {\n display: none !important;\n }\n }","show_on_mobile_css":"@media only screen and (max-width: 749px) {\n #bss-map-popup {\n bottom: 6px;\n right: 5px;\n }\n }"}
var BSS_SL = {
...data,
configData: storeLocators,
enablePopup: mapPopupData.enable,
pages: mapPopupData.newPages,
typePage: mapPopupData.typePage,
icon: mapPopupData.icon,
showSearchBar: mapPopupData.show_search_bar,
showOnMobile: mapPopupData.show_on_mobile,
showOnDesktop: mapPopupData.show_on_desktop,
mobilePosition: mapPopupData.mobile_position,
desktopPosition: mapPopupData.desktop_position,
};
}
Object.defineProperty(BSS_SL, 'planCode', { writable: false, configurable: false });
</script>
<script>
function fn(){
if (typeof BSS_SL.configData == 'undefined') {
if(window.location.pathname == '/pages/store-locator' && document.getElementById("PageContainer")) document.getElementById("PageContainer").remove();
}
}
if (document.readyState === "complete" || document.readyState === "interactive") setTimeout(fn, 1);
else document.addEventListener("DOMContentLoaded", fn);
</script>
<script id="bss-locator-script">
function loadScriptsLocator(src, callback) {
const scriptTag = document.createElement("script");
document.head.appendChild(scriptTag)
scriptTag.defer = true;
scriptTag.src = src
scriptTag.className = 'bss-script';
if(callback) scriptTag.addEventListener('load', function() {callback()});
}
let scriptLocator = [
"https://cdn.shopify.com/extensions/b513b215-b52e-4fe9-a9b8-6a410d7f3635/mappy-store-locator-87/assets/marker-clusterer.js",
"https://cdn.shopify.com/extensions/b513b215-b52e-4fe9-a9b8-6a410d7f3635/mappy-store-locator-87/assets/bss-sl.js"
];
Promise.all(scriptLocator.map(script => {
return new Promise((resolve) => {
loadScriptsLocator(script, resolve);
})
})).then((res) => {
console.log('%c 😎😍🤩 STORE LOCATOR 🤩😍😎 ', 'font-weight: 600; font-size: 12px; background: rgb(255,175,175); background: radial-gradient(circle, rgba(255,175,175,1) 17%, rgba(233,189,148,1) 74%); color: #ffffff; padding: 4px 5px; border-radius: 15px');
})
</script>
<script id="bss-locator-config-setting">
if (typeof BSS_SL == 'undefined') var BSS_SL = {};
BSS_SL.configSetting = [{"featureType":"administrative","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"administrative","elementType":"labels.text.fill","stylers":[{"color":"#444444"}]},{"featureType":"administrative.neighborhood","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"administrative.land_parcel","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"landscape","elementType":"all","stylers":[{"color":"#f2f2f2"}]},{"featureType":"landscape.man_made","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"poi","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"poi.attraction","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"poi.park","elementType":"all","stylers":[{"visibility":"on"}]},{"featureType":"poi.school","elementType":"all","stylers":[{"visibility":"on"}]},{"featureType":"poi.school","elementType":"labels.text","stylers":[{"visibility":"off"}]},{"featureType":"road","elementType":"all","stylers":[{"saturation":-100},{"lightness":"-17"},{"visibility":"on"}]},{"featureType":"road","elementType":"labels","stylers":[{"visibility":"off"}]},{"featureType":"road.highway","elementType":"all","stylers":[{"visibility":"on"}]},{"featureType":"road.highway","elementType":"labels.text","stylers":[{"visibility":"off"}]},{"featureType":"road.arterial","elementType":"all","stylers":[{"visibility":"on"}]},{"featureType":"road.arterial","elementType":"labels.text","stylers":[{"visibility":"off"}]},{"featureType":"road.arterial","elementType":"labels.icon","stylers":[{"visibility":"off"}]},{"featureType":"transit","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"transit","elementType":"labels.text","stylers":[{"visibility":"off"}]},{"featureType":"transit.line","elementType":"geometry.fill","stylers":[{"saturation":"-64"},{"visibility":"on"}]},{"featureType":"transit.line","elementType":"labels.text","stylers":[{"visibility":"off"}]},{"featureType":"water","elementType":"all","stylers":[{"color":"#acc4ce"},{"visibility":"on"}]}];
</script>
<script></script>
<!-- END app block --><!-- BEGIN app block: shopify://apps/seal-subscriptions-loyalty/blocks/subscription-script-append/13b25004-a140-4ab7-b5fe-29918f759699 --><script defer="defer">
/** SealSubs loader,version number: 2.0 */
(function(){
var loadScript=function(a,b){var c=document.createElement("script");c.setAttribute("defer", "defer");c.type="text/javascript",c.readyState?c.onreadystatechange=function(){("loaded"==c.readyState||"complete"==c.readyState)&&(c.onreadystatechange=null,b())}:c.onload=function(){b()},c.src=a,document.getElementsByTagName("head")[0].appendChild(c)};
// Set variable to prevent the other loader from requesting the same resources
window.seal_subs_app_block_loader = true;
appendScriptUrl('smartypear.myshopify.com');
// get script url and append timestamp of last change
function appendScriptUrl(shop) {
var timeStamp = Math.floor(Date.now() / (1000*1*1));
var timestampUrl = 'https://app.sealsubscriptions.com/shopify/public/status/shop/'+shop+'.js?'+timeStamp;
loadScript(timestampUrl, function() {
// append app script
if (typeof sealsubscriptions_settings_updated == 'undefined') {
sealsubscriptions_settings_updated = 'default-by-script';
}
var scriptUrl = "https://cdn-app.sealsubscriptions.com/shopify/public/js/sealsubscriptions-main.js?shop="+shop+"&"+sealsubscriptions_settings_updated;
loadScript(scriptUrl, function(){});
});
}
})();
var SealSubsScriptAppended = true;
</script>
<!-- END app block --><script src="https://cdn.shopify.com/extensions/79a5d5d7-04ed-48c7-baba-26c8e45436e1/essential-countdown-26/assets/countdown_timer_essential_apps.min.js" type="text/javascript" defer="defer"></script>
<link href="https://cdn.shopify.com/extensions/b513b215-b52e-4fe9-a9b8-6a410d7f3635/mappy-store-locator-87/assets/bss-sl.css" rel="stylesheet" type="text/css" media="all">
<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {var session_token = document.cookie.match(/_shopify_s=([^;]*)/);function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 63989219573,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token: session_token && session_token.length === 2 ? session_token[1] : "",page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
<script id="web-pixels-manager-setup">(function d(d,e,n,o,r,i){if(!Boolean(null===(t=null===(a=window.Shopify)||void 0===a?void 0:a.analytics)||void 0===t?void 0:t.replayQueue)){var a,t,s=function(){var d={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:?[ /-](13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13\d|1[4-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:?[ /-](13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13\d|1[4-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+|)/},e=d.modern,n=d.legacy,o=navigator.userAgent;return e.test(o)?"modern":(n.test(o),"legacy")}(),l=null!=i?i:{modern:"",legacy:""};window.Shopify=window.Shopify||{};var u=window.Shopify;u.analytics=u.analytics||{};var c=u.analytics;c.replayQueue=[],c.publish=function(d,e,n){return c.replayQueue.push([d,e,n]),!0};try{self.performance.mark("wpm:start")}catch(d){}var f=[n,"/wpm","/b",r,s.substring(0,1),".js"].join(""),h=l[s];!function(d){var e=d.src,n=d.async,o=void 0===n||n,r=d.onload,i=d.onerror,a=d.sri,t=document.createElement("script"),s=document.head,l=document.body;t.async=o,t.src=e,a&&(t.integrity=a,t.crossOrigin="anonymous"),r&&t.addEventListener("load",r),i&&t.addEventListener("error",i),s?s.appendChild(t):l?l.appendChild(t):console.error("Did not find a head or body element to append the script")}({src:f,async:!0,onload:function(){if(!function(){var d,e;return Boolean(null===(e=null===(d=window.Shopify)||void 0===d?void 0:d.analytics)||void 0===e?void 0:e.initialized)}()){var n=window.webPixelsManager.init(d)||void 0;if(n){e(n);var o=window.Shopify.analytics;o.replayQueue.forEach((function(d){var e=d[0],o=d[1],r=d[2];n.publishCustomEvent(e,o,r)})),o.replayQueue=[],o.publish=n.publishCustomEvent,o.visitor=n.visitor,o.initialized=!0}}},onerror:function(){var e=d.storefrontBaseUrl.replace(/\/$/,""),n="".concat(e,"/.well-known/shopify/monorail/unstable/produce_batch"),r=JSON.stringify({metadata:{event_sent_at_ms:(new Date).getTime()},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:o||"latest",bundle_target:s,page_url:self.location.href,status:"failed",surface:d.surface,error_msg:"".concat(f," has failed to load")},metadata:{event_created_at_ms:(new Date).getTime()}}]});try{if(self.navigator.sendBeacon.bind(self.navigator)(n,r))return!0}catch(d){}var i=new XMLHttpRequest;try{return i.open("POST",n,!0),i.setRequestHeader("Content-Type","text/plain"),i.send(r),!0}catch(d){console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging a load error.")}return!1},sri:function(d){return"string"==typeof d&&/^sha384-[A-Za-z0-9+/=]+$/.test(d)}(h)?h:""})}})({shopId: 63989219573,storefrontBaseUrl: "https://casaleopet.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",surface: "storefront-renderer",enabledBetaFlags: ["6a396365"],webPixelsConfigList: [{"id":"462782709","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"AW-389762452\\\",\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"AW-389762452\\\/VIKgCO6ovMYZEJSb7bkB\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"AW-389762452\\\/twInCOiovMYZEJSb7bkB\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"AW-389762452\\\/w5HpCOWovMYZEJSb7bkB\\\",\\\"MC-QX1E7GZZC5\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"AW-389762452\\\/1a62CN-ovMYZEJSb7bkB\\\",\\\"MC-QX1E7GZZC5\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"AW-389762452\\\/iBWKCOKovMYZEJSb7bkB\\\",\\\"MC-QX1E7GZZC5\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"AW-389762452\\\/zBOxCPGovMYZEJSb7bkB\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"AW-389762452\\\/OU9ICOuovMYZEJSb7bkB\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"642ed32d7fafb3e0986c8ba3bf3908a1","type":"APP","apiClientId":1780363,"privacyPurposes":[]},{"id":"436764917","configuration":"{\"pixelCode\":\"CAF3OFBC77U2L5NCDAJ0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"205914357","configuration":"{\"pixel_id\":\"2369123123218165\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"8d894c63179843e74a9691414b5ad83d","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"104923381","configuration":"{\"tagID\":\"2614397571199\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"4fd0680eed907adaf3f85849c393d688","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"67371253","configuration":"{\"accountID\":\"selleasy-metrics-track\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"f86c42df4e9f256a1571f5d4b296f7e1","type":"APP","apiClientId":5519923,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"5701877","configuration":"{\"accountID\":\"6f26c197-7731-4895-b55e-0cebe988603e\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"2fff8ff0ca23e8a5e8d5972a954039a2","type":"APP","apiClientId":2441839,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"38273269","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"cj-network-integration-pixel"},{"id":"50757877","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"GTag EC"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0282","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0282","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,effectiveTopLevelDomain: "",initData: {"shop":{"name":"Casa Leo","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"smartypear.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/casaleopet.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"purchasingCompany":null},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed", {});},"https://casaleopet.com/cdn","9214cf0488d9716e7931fa4e043d214b5bac8616","c93fac4ewa0d30776p1feda67fm7b175787",{"modern":"","legacy":""});</script> <script>window.ShopifyAnalytics = window.ShopifyAnalytics || {};
window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
window.ShopifyAnalytics.meta.currency = 'USD';
var meta = {"page":{"pageType":"home"}};
for (var attr in meta) {
window.ShopifyAnalytics.meta[attr] = meta[attr];
}</script>
<script>window.ShopifyAnalytics.merchantGoogleAnalytics = function() {
};
</script>
<script class="analytics">(window.gaDevIds=window.gaDevIds||[]).push('BwiEti');
(function () {
var customDocumentWrite = function(content) {
var jquery = null;
if (window.jQuery) {
jquery = window.jQuery;
} else if (window.Checkout && window.Checkout.$) {
jquery = window.Checkout.$;
}
if (jquery) {
jquery('body').append(content);
}
};
var hasLoggedConversion = function(token) {
if (token) {
return document.cookie.indexOf('loggedConversion=' + token) !== -1;
}
return false;
}
var setCookieIfConversion = function(token) {
if (token) {
var twoMonthsFromNow = new Date(Date.now());
twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
}
}
var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
if (trekkie.integrations) {
return;
}
trekkie.methods = [
'identify',
'page',
'ready',
'track',
'trackForm',
'trackLink'
];
trekkie.factory = function(method) {
return function() {
var args = Array.prototype.slice.call(arguments);
args.unshift(method);
trekkie.push(args);
return trekkie;
};
};
for (var i = 0; i < trekkie.methods.length; i++) {
var key = trekkie.methods[i];
trekkie[key] = trekkie.factory(key);
}
trekkie.load = function(config) {
trekkie.config = config || {};
trekkie.config.initialDocumentCookie = document.cookie;
var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
var scriptFallback = document.createElement('script');
scriptFallback.type = 'text/javascript';
scriptFallback.onerror = function(error) {
var Monorail = {
produce: function produce(monorailDomain, schemaId, payload) {
var currentMs = new Date().getTime();
var event = {
schema_id: schemaId,
payload: payload,
metadata: {
event_created_at_ms: currentMs,
event_sent_at_ms: currentMs
}
};
return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
},
sendRequest: function sendRequest(endpointUrl, payload) {
// Try the sendBeacon API
if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
var blobData = new window.Blob([payload], {
type: 'text/plain'
});
if (window.navigator.sendBeacon(endpointUrl, blobData)) {
return true;
} // sendBeacon was not successful
} // XHR beacon
var xhr = new XMLHttpRequest();
try {
xhr.open('POST', endpointUrl);
xhr.setRequestHeader('Content-Type', 'text/plain');
xhr.send(payload);
} catch (e) {
console.log(e);
}
return false;
},
isIos12: function isIos12() {
return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
}
};
Monorail.produce('monorail-edge.shopifysvc.com',
'trekkie_storefront_load_errors/1.1',
{shop_id: 63989219573,
theme_id: 141316325621,
app_name: "storefront",
context_url: window.location.href,
source_url: "//casaleopet.com/cdn/s/trekkie.storefront.63fa514cc5b1f7c3e0ff0cd45925a6686a523fe8.min.js"});
};
scriptFallback.async = true;
scriptFallback.src = '//casaleopet.com/cdn/s/trekkie.storefront.63fa514cc5b1f7c3e0ff0cd45925a6686a523fe8.min.js';
first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//casaleopet.com/cdn/s/trekkie.storefront.63fa514cc5b1f7c3e0ff0cd45925a6686a523fe8.min.js';
first.parentNode.insertBefore(script, first);
};
trekkie.load(
{"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":63989219573,"isMerchantRequest":null,"themeId":141316325621,"themeCityHash":"7753814319843852713","contentLanguage":"en","currency":"USD"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Google Analytics":{"trackingId":"UA-193678093-1","domain":"auto","siteSpeedSampleRate":"10","enhancedEcommerce":true,"doubleClick":true,"includeSearch":true},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
);
var loaded = false;
trekkie.ready(function() {
if (loaded) return;
loaded = true;
window.ShopifyAnalytics.lib = window.trekkie;
ga('require', 'linker');
function addListener(element, type, callback) {
if (element.addEventListener) {
element.addEventListener(type, callback);
}
else if (element.attachEvent) {
element.attachEvent('on' + type, callback);
}
}
function decorate(event) {
event = event || window.event;
var target = event.target || event.srcElement;
if (target && (target.getAttribute('action') || target.getAttribute('href'))) {
ga(function (tracker) {
var linkerParam = tracker.get('linkerParam');
document.cookie = '_shopify_ga=' + linkerParam + '; ' + 'path=/';
});
}
}
addListener(window, 'load', function(){
for (var i=0; i < document.forms.length; i++) {
var action = document.forms[i].getAttribute('action');
if(action && action.indexOf('/cart') >= 0) {
addListener(document.forms[i], 'submit', decorate);
}
}
for (var i=0; i < document.links.length; i++) {
var href = document.links[i].getAttribute('href');
if(href && href.indexOf('/checkout') >= 0) {
addListener(document.links[i], 'click', decorate);
}
}
});
var originalDocumentWrite = document.write;
document.write = customDocumentWrite;
try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
document.write = originalDocumentWrite;
window.ShopifyAnalytics.lib.page(null,{"pageType":"home","shopifyEmitted":true});
var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
var token = match? match[1]: undefined;
if (!hasLoggedConversion(token)) {
setCookieIfConversion(token);
}
});
var eventsListenerScript = document.createElement('script');
eventsListenerScript.async = true;
eventsListenerScript.src = "//casaleopet.com/cdn/shopifycloud/shopify/assets/shop_events_listener-20905db421adb60b04582abab58b285362bc2e1011d17cd3eabb3bfe05798c59.js";
document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
<script class="boomerang">
(function () {
window.BOOMR = window.BOOMR || {};
window.BOOMR.themeName = "Dawn";
window.BOOMR.themeVersion = "4.0.0";
window.BOOMR.shopId = 63989219573;
window.BOOMR.themeId = 141316325621;
})();</script>
<script
defer
src="https://casaleopet.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-1.3.0.min.js"
data-application="storefront-renderer"
data-shop-id="63989219573"
data-render-region="gcp-us-east1"
data-page-type="index"
data-theme-instance-id="141316325621"
data-monorail-region="shop_domain"
data-resource-timing-sampling-rate="10"
></script>
</head>
<body class="body-index trp">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MWRDHXV"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<div itemscope itemtype="https://schema.org/Product">
</div>
<section id="shopify-section-section-announcement" class="shopify-section announcement"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-announcement.css?v=12621871998607468011712588629" rel="stylesheet" type="text/css" media="all" />
<style data-shopify>.announcement {
background: #5e7460;
}.announcement p {
color: #ffffff;
}
.announcement p a {
color: #ffffff;
}
.announcement__text {
user-select: none;
}</style><div class="container slick-slider" id="section-section-announcement"><div class="slick-slide">
<p class="announcement__text">😻 3X KITTY SENSORS = PERFECT SAFETY RECORD 😻</p>
</div>
<div class="slick-slide">
<p class="announcement__text">SMARTY PEAR IS NOW CASA LEO <a href="https://casaleopet.com/pages/casa-leo">LEARN MORE</a></p>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', () => {
$("#section-section-announcement").slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: false,
dots: false,
speed: 1000,
autoplay: true,
autoplaySpeed: 5000,
})
});
</script>
</section>
<header id="shopify-section-header" class="shopify-section header"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-header.css?v=14609496160522289661712588628" rel="stylesheet" type="text/css" media="all" />
<div class="container">
<div class="row justify-content-between align-items-center">
<button class="mob d-lg-none col-auto"><span></span></button><div class="logo col-auto"><svg width="179" height="33" viewbox="0 0 179 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.3 10.7C14.9 10 13.2 9.70001 11.5 9.70001C9.50003 9.70001 7.60003 10.2 6.00003 11.2C4.40003 12.2 3.20002 13.6 2.30002 15.3C1.40002 17 0.900024 19 0.900024 21.2C0.900024 23.4 1.40002 25.3 2.40002 27C3.40002 28.7 4.70002 30.1 6.40002 31.1C8.10002 32.1 10 32.6 12.1 32.6C15.1 32.6 17.6 31.7 19.6 29.8C19.9 29.6 20 29.3 20 28.9C20 28.6 19.8 28.2 19.5 28C19.3 27.8 19 27.6 18.6 27.7C18.3 27.7 18 27.9 17.7 28.1C17 28.8 16.1 29.3 15.2 29.6C14.2 29.9 13.2 30.1 12.1 30.1C10.4 30.1 8.90004 29.7 7.70004 28.9C6.40004 28.1 5.40004 27 4.70004 25.7C4.00004 24.4 3.60004 22.8 3.60004 21.2C3.60004 19.5 3.90004 17.9 4.60004 16.6C5.20004 15.3 6.20002 14.2 7.40002 13.4C8.60002 12.6 10 12.2 11.5 12.2C14.1 12.2 16.3 13.2 18 15.2C18.2 15.5 18.5 15.7 18.9 15.7C19.2 15.7 19.5 15.7 19.8 15.5C20.1 15.3 20.3 15 20.4 14.7C20.5 14.4 20.4 14 20.1 13.7C19 12.4 17.7 11.3 16.3 10.7Z" fill="#F6F6FC"></path>
<path d="M67.5 21.1C66.3 20.4 64.7 20 62.6 19.7C61.1 19.5 59.9 19.2 59.1 18.8C58.2 18.4 57.6 18 57.2 17.5C56.8 17 56.6 16.4 56.6 15.7C56.6 14.7 57.1 13.9 58 13.2C58.9 12.5 60.2 12.1 61.9 12.1C63.1 12.1 64.3 12.3 65.2 12.8C66.1 13.2 66.9 13.9 67.6 14.7C67.8 15 68.1 15.2 68.5 15.2C68.8 15.3 69.1 15.2 69.4 15.1C69.8 14.9 70 14.6 70.1 14.3C70.2 13.9 70.1 13.6 69.9 13.3C69.1 12.2 68.1 11.3 66.8 10.6C65.5 9.89998 63.9 9.59998 62.1 9.59998C60.6 9.59998 59.2 9.79997 58 10.3C56.8 10.8 55.8 11.5 55.2 12.5C54.5 13.5 54.2 14.6 54.2 16C54.2 17.5 54.9 18.8 56.2 19.9C57.5 21 59.6 21.7 62.3 22.1C64.4 22.4 65.9 22.9 66.9 23.6C67.9 24.3 68.4 25.1 68.4 26.1C68.4 27.1 67.9 28.1 67 28.8C66.1 29.6 64.5 30 62.3 30C61 30 59.8 29.8 58.7 29.5C57.6 29.1 56.7 28.5 55.9 27.6C55.7 27.3 55.4 27.2 55.1 27.1C54.8 27 54.4 27.1 54.1 27.3C53.8 27.5 53.6 27.8 53.5 28.2C53.5 28.5 53.6 28.9 53.8 29.2C54.8 30.4 56.2 31.3 57.7 31.8C59.2 32.3 60.8 32.6 62.2 32.6C63.8 32.6 65.2 32.3 66.6 31.8C67.9 31.3 69 30.5 69.9 29.6C70.7 28.6 71.1 27.5 71.1 26.2C71.1 25.2 70.8 24.3 70.3 23.4C69.6 22.5 68.7 21.7 67.5 21.1Z" fill="#F6F6FC"></path>
<path d="M128.9 29.6H127.3C126.5 29.6 125.9 29.2 125.4 28.5C124.9 27.7 124.6 26.7 124.6 25.5V1.69998C124.6 1.29998 124.5 0.999982 124.2 0.699982C124 0.499982 123.6 0.299988 123.2 0.299988C122.8 0.299988 122.5 0.399982 122.2 0.699982C121.9 0.899982 121.8 1.29998 121.8 1.69998V25.5C121.8 26.8 122 28 122.5 29C123 30 123.6 30.8 124.4 31.4C125.2 32 126.2 32.3 127.2 32.3H128.6C129 32.3 129.3 32.2 129.6 31.9C129.8 31.6 130 31.3 130 30.9C130 30.5 129.9 30.2 129.7 29.9C129.5 29.8 129.2 29.6 128.9 29.6Z" fill="#F6F6FC"></path>
<path d="M147.8 11.1C146.2 10.2 144.4 9.70001 142.4 9.70001C140.4 9.70001 138.5 10.2 136.9 11.2C135.3 12.2 134.1 13.5 133.2 15.2C132.3 16.9 131.8 18.9 131.8 21.1C131.8 23.3 132.3 25.3 133.2 27C134.2 28.7 135.5 30.1 137.2 31C138.9 32 140.8 32.5 143 32.5C144.3 32.5 145.6 32.2 147 31.7C148.4 31.2 149.6 30.5 150.4 29.7C150.7 29.4 150.8 29.1 150.8 28.8C150.8 28.5 150.6 28.2 150.3 27.9C150.1 27.7 149.8 27.6 149.4 27.6C149.1 27.6 148.8 27.7 148.5 28C147.9 28.6 147.1 29.1 146 29.4C144.9 29.8 143.9 29.9 142.9 29.9C141.3 29.9 139.8 29.5 138.5 28.8C137.2 28 136.2 27 135.5 25.7C134.9 24.6 134.6 23.3 134.5 22H151.4C151.8 22 152.1 21.9 152.3 21.7C152.5 21.5 152.7 21.2 152.7 20.8C152.7 18.7 152.3 16.7 151.4 15.1C150.6 13.3 149.3 12 147.8 11.1ZM134.6 19.6C134.7 18.4 135.1 17.4 135.5 16.5C136.2 15.2 137.1 14.1 138.3 13.4C139.5 12.6 140.8 12.3 142.4 12.3C144 12.3 145.4 12.7 146.6 13.4C147.8 14.2 148.7 15.2 149.3 16.5C149.7 17.4 150 18.5 150.1 19.6H134.6Z" fill="#F6F6FC"></path>
<path d="M177.2 15.2C176.2 13.5 174.8 12.1 173.1 11.1C171.4 10.1 169.4 9.59998 167.2 9.59998C165 9.59998 163 10.1 161.3 11.1C159.6 12.1 158.2 13.5 157.2 15.2C156.2 16.9 155.7 18.9 155.7 21.1C155.7 23.3 156.2 25.2 157.2 27C158.2 28.7 159.6 30.1 161.3 31.1C163 32.1 165 32.6 167.2 32.6C169.4 32.6 171.4 32.1 173.1 31.1C174.8 30.1 176.2 28.7 177.2 27C178.2 25.3 178.7 23.3 178.7 21.1C178.7 18.9 178.2 16.9 177.2 15.2ZM174.9 25.7C174.1 27 173.1 28.1 171.8 28.9C170.5 29.7 169 30.1 167.3 30.1C165.7 30.1 164.1 29.7 162.8 28.9C161.5 28.1 160.4 27 159.6 25.7C158.8 24.4 158.4 22.8 158.4 21.2C158.4 19.5 158.8 18 159.6 16.6C160.4 15.3 161.4 14.2 162.8 13.4C164.1 12.6 165.6 12.2 167.3 12.2C169 12.2 170.5 12.6 171.8 13.4C173.1 14.2 174.2 15.3 174.9 16.6C175.7 17.9 176 19.5 176 21.1C176 22.8 175.6 24.3 174.9 25.7Z" fill="#F6F6FC"></path>
<path d="M50.1 29.4H49.1C48.3 29.4 47.7 29 47.2 28.3C46.7 27.5 46.4 25.9 46.4 24.8V21.2C46.4 19 45.9 17 44.9 15.3C43.9 13.6 42.5 12.2 40.8 11.2C39.1 10.2 37.1 9.70001 34.9 9.70001C32.7 9.70001 30.7 10.2 29 11.2C27.3 12.2 25.9 13.6 24.9 15.3C23.9 17 23.4 19 23.4 21.2C23.4 23.4 23.9 25.3 24.9 27.1C25.9 28.8 27.3 30.2 29 31.2C30.7 32.2 32.7 32.7 34.9 32.7C36.9 32.7 38.7 32.3 40.2 31.4C41.8 30.5 43 29.4 43.9 27.9C44 28.3 44.1 28.7 44.3 29C44.8 30 45.4 30.8 46.2 31.4C47 32 48 32.3 49 32.3H49.8C50.2 32.3 50.5 32.2 50.8 31.9C51 31.6 51.2 31.3 51.2 30.9C51.2 30.5 51.1 30.2 50.9 29.9C50.7 29.6 50.4 29.4 50.1 29.4ZM42.5 25.7C41.7 27 40.7 28.1 39.4 28.9C38.1 29.7 36.6 30.1 34.9 30.1C33.3 30.1 31.7 29.7 30.4 28.9C29.1 28.1 28 27 27.2 25.7C26.4 24.4 26 22.8 26 21.2C26 19.5 26.4 18 27.2 16.6C28 15.3 29 14.2 30.4 13.4C31.7 12.6 33.2 12.2 34.9 12.2C36.6 12.2 38.1 12.6 39.4 13.4C40.7 14.2 41.8 15.3 42.5 16.6C43.3 17.9 43.6 19.5 43.6 21.2C43.7 22.8 43.3 24.3 42.5 25.7Z" fill="#F6F6FC"></path>
<path d="M106.5 23.5C106 24.1 105.3 24.5 104.5 24.7H104.4C104.6 25.4 104.6 26 104.5 26.7C104.2 28.2 102.8 29.4 101.3 29.6C100.5 29.7 99.8 29.5 99.1 29.2C98.8 29 98.5 28.8 98.3 28.5C97.8 27.7 97.5 26.7 97.5 25.5V21.1C97.5 18.9 97 16.9 96 15.2C95 13.5 93.6 12.1 91.9 11.1C90.2 10.1 88.2 9.59998 86 9.59998C83.8 9.59998 81.8 10.1 80.1 11.1C78.4 12.1 77 13.5 76 15.2C75 16.9 74.5 18.9 74.5 21.1C74.5 23.3 75 25.2 76 27C77 28.7 78.4 30.1 80.1 31.1C81.8 32.1 83.8 32.6 86 32.6C88 32.6 89.8 32.2 91.3 31.3C92.8 30.5 94 29.4 94.9 28C95.8 30.4 98.1 32.1 100.7 32.1C104.1 32.1 106.9 29.3 106.9 25.9C107 25.1 106.9 24.3 106.5 23.5ZM93.7 25.7C92.9 27 91.9 28.1 90.6 28.9C89.3 29.7 87.8 30.1 86.1 30.1C84.5 30.1 82.9 29.7 81.6 28.9C80.3 28.1 79.2 27 78.4 25.7C77.6 24.4 77.2 22.8 77.2 21.2C77.2 19.5 77.6 18 78.4 16.6C79.2 15.3 80.2 14.2 81.6 13.4C82.9 12.6 84.4 12.2 86.1 12.2C87.8 12.2 89.3 12.6 90.6 13.4C91.9 14.2 93 15.3 93.7 16.6C94.5 17.9 94.8 19.5 94.8 21.2C94.9 22.8 94.5 24.3 93.7 25.7Z" fill="#F6F6FC"></path>
<path class="en" d="M106.5 23.4C106.5 23.3 106.4 23.3 106.4 23.2C105.7 21.7 104.4 20.6 102.9 20.1C102.6 20 102.2 20 101.9 20.2C101.6 20.4 101.4 20.7 101.3 21C101.2 21.6 101.5 22.2 102.1 22.4C103.2 22.8 104 23.6 104.3 24.7V24.8H104.4C105.2 24.6 105.9 24.2 106.4 23.6L106.5 23.4Z" fill="#F6F6FC"></path>
</svg></div><ul class="menu-list d-none d-lg-flex"><li class="menu-list__item">
<a href="/collections/bundles" class="menu-list__link ">
LITTER BOXES
<svg width="12" class="" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.25 6.25C6.00391 6.25 5.78516 6.16797 5.62109 6.00391L1.24609 1.62891C0.890625 1.30078 0.890625 0.726562 1.24609 0.398438C1.57422 0.0429688 2.14844 0.0429688 2.47656 0.398438L6.25 4.14453L9.99609 0.398438C10.3242 0.0429688 10.8984 0.0429688 11.2266 0.398438C11.582 0.726562 11.582 1.30078 11.2266 1.62891L6.85156 6.00391C6.6875 6.16797 6.46875 6.25 6.25 6.25Z" fill="currentColor"/>
</svg>
</a>
<div class="dropdown-wrapper">
<ul class="submenu">
<li class="submenu__item">
<a href="/products/leo-s-loo-too" class="submenu__link ">Leo’s Loo Too</a>
</li>
<li class="submenu__item">
<a href="/collections/bundles" class="submenu__link ">Bundles</a>
</li>
<li class="submenu__item">
<a href="/products/leo-s-loo" class="submenu__link ">Leo’s Loo</a>
</li>
</ul>
</div>
</li><li class="menu-list__item">
<a href="/collections/accessories" class="menu-list__link ">REFILLS & TOYS</a>
</li><li class="menu-list__item">
<a href="/pages/about-us" class="menu-list__link ">ABOUT US</a>
</li><li class="menu-list__item">
<a href="/pages/support" class="menu-list__link ">FAQ</a>
</li></ul>
<div class="col-auto header__icons">
<details-modal class="header__search d-none d-sm-block header__icon--mr">
<details>
<summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="Search" role="button">
<span>
<svg class="modal__toggle-open icon icon-search" aria-hidden="true" focusable="false" role="presentation" width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19.8047 19.4453L14.2578 13.9375C15.5078 12.4922 16.25 10.6562 16.25 8.625C16.25 4.17188 12.5781 0.5 8.125 0.5C3.63281 0.5 0 4.17188 0 8.625C0 13.1172 3.63281 16.75 8.125 16.75C10.1172 16.75 11.9531 16.0469 13.3984 14.7969L18.9062 20.3438C19.0234 20.4609 19.1797 20.5 19.375 20.5C19.5312 20.5 19.6875 20.4609 19.8047 20.3438C20.0391 20.1094 20.0391 19.6797 19.8047 19.4453ZM8.125 15.5C4.29688 15.5 1.25 12.4531 1.25 8.625C1.25 4.83594 4.29688 1.75 8.125 1.75C11.9141 1.75 15 4.83594 15 8.625C15 12.4531 11.9141 15.5 8.125 15.5Z" fill="#212121"/>
</svg>
</span>
</summary>
<div class="search-modal modal__content" role="dialog" aria-modal="true" aria-label="Search">
<div class="modal-overlay"></div>
<div class="search-modal__content search-modal__content-bottom" tabindex="-1">
<predictive-search class="search-modal__form" data-loading-text="Loading...">
<form action="/search" method="get" role="search" class="search search-modal__form">
<div class="field">
<input class="search__input field__input" id="Search-In-Modal" type="search" name="q" value="" placeholder="Search" role="combobox" aria-expanded="false" aria-owns="predictive-search-results-list" aria-controls="predictive-search-results-list" aria-haspopup="listbox" aria-autocomplete="list" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" aria-activedescendant="">
<input type="hidden" name="options[prefix]" value="last">
<button class="search__button field__button" aria-label="Search">
<svg class="modal__toggle-open icon icon-search" aria-hidden="true" focusable="false" role="presentation" width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19.8047 19.4453L14.2578 13.9375C15.5078 12.4922 16.25 10.6562 16.25 8.625C16.25 4.17188 12.5781 0.5 8.125 0.5C3.63281 0.5 0 4.17188 0 8.625C0 13.1172 3.63281 16.75 8.125 16.75C10.1172 16.75 11.9531 16.0469 13.3984 14.7969L18.9062 20.3438C19.0234 20.4609 19.1797 20.5 19.375 20.5C19.5312 20.5 19.6875 20.4609 19.8047 20.3438C20.0391 20.1094 20.0391 19.6797 19.8047 19.4453ZM8.125 15.5C4.29688 15.5 1.25 12.4531 1.25 8.625C1.25 4.83594 4.29688 1.75 8.125 1.75C11.9141 1.75 15 4.83594 15 8.625C15 12.4531 11.9141 15.5 8.125 15.5Z" fill="#212121"/>
</svg>
</button>
</div>
<div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search="">
<div class="predictive-search__loading-state">
<svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
<circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
</svg>
</div>
</div>
<span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search>
<button type="button" class="search-modal__close-button modal__close-button link link--text focus-inset" aria-label="Close">
x
</button>
</div>
</div>
</details>
</details-modal>
<a href="/account/login" class=" login__btn header__icon--mr header__icon">
<svg width="20" height="21" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.5 8C9.6875 8 11.5 6.21875 11.5 4C11.5 1.8125 9.6875 0 7.5 0C5.28125 0 3.5 1.8125 3.5 4C3.5 6.21875 5.28125 8 7.5 8ZM7.5 1C9.125 1 10.5 2.375 10.5 4C10.5 5.65625 9.125 7 7.5 7C5.84375 7 4.5 5.65625 4.5 4C4.5 2.375 5.84375 1 7.5 1ZM9.0625 9.5H5.90625C2.90625 9.5 0.5 11.9375 0.5 14.9375C0.5 15.5312 0.96875 16 1.5625 16H13.4062C14 16 14.5 15.5312 14.5 14.9375C14.5 11.9375 12.0625 9.5 9.0625 9.5ZM13.4062 15H1.5625C1.53125 15 1.5 14.9688 1.5 14.9375C1.5 12.5 3.46875 10.5 5.90625 10.5H9.0625C11.5 10.5 13.5 12.5 13.5 14.9375C13.5 14.9688 13.4375 15 13.4062 15Z" fill=""/>
</svg>
</a>
<a href="/cart" class="header__icon link focus-inset" id="cart-icon">
<svg width="23" height="21" viewBox="0 0 23 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.1875 16.125C5.97656 16.125 5 17.1406 5 18.3125C5 19.5234 5.97656 20.5 7.1875 20.5C8.35938 20.5 9.375 19.5234 9.375 18.3125C9.375 17.1406 8.35938 16.125 7.1875 16.125ZM7.1875 19.25C6.64062 19.25 6.25 18.8594 6.25 18.3125C6.25 17.8047 6.64062 17.375 7.1875 17.375C7.69531 17.375 8.125 17.8047 8.125 18.3125C8.125 18.8594 7.69531 19.25 7.1875 19.25ZM22.2266 3.50781C21.9922 3.19531 21.6406 3 21.25 3H4.17969L3.71094 1.00781C3.63281 0.734375 3.39844 0.5 3.125 0.5H0.625C0.273438 0.5 0 0.8125 0 1.125C0 1.47656 0.273438 1.75 0.625 1.75H2.61719L5.625 15.0312C5.70312 15.3047 5.9375 15.5 6.25 15.5H19.375C19.6875 15.5 20 15.2266 20 14.875C20 14.5625 19.6875 14.25 19.375 14.25H6.71875L6.44531 13H18.5938C19.4141 13 20.1562 12.4922 20.3906 11.7109L22.4219 4.5625C22.5391 4.21094 22.4609 3.82031 22.2266 3.50781ZM19.1797 11.3594C19.1406 11.5938 18.8672 11.75 18.5938 11.75H6.25C6.21094 11.75 6.17188 11.7891 6.17188 11.7891L4.45312 4.25L21.25 4.21094L19.1797 11.3594ZM17.8125 16.125C16.6016 16.125 15.625 17.1406 15.625 18.3125C15.625 19.5234 16.6016 20.5 17.8125 20.5C18.9844 20.5 20 19.5234 20 18.3125C20 17.1406 18.9844 16.125 17.8125 16.125ZM17.8125 19.25C17.2656 19.25 16.875 18.8594 16.875 18.3125C16.875 17.8047 17.2656 17.375 17.8125 17.375C18.3203 17.375 18.75 17.8047 18.75 18.3125C18.75 18.8594 18.3203 19.25 17.8125 19.25Z" fill="#212121"/>
</svg>
</a>
</div>
</div>
</div>
<div class="menu-hide">
<ul class="menu-hide__list"><li class="menu-list__item">
<div class="d-flex align-items-center">
<a href="/collections/bundles" class="menu-list__link ">LITTER BOXES</a>
<svg width="12" class="" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.25 6.25C6.00391 6.25 5.78516 6.16797 5.62109 6.00391L1.24609 1.62891C0.890625 1.30078 0.890625 0.726562 1.24609 0.398438C1.57422 0.0429688 2.14844 0.0429688 2.47656 0.398438L6.25 4.14453L9.99609 0.398438C10.3242 0.0429688 10.8984 0.0429688 11.2266 0.398438C11.582 0.726562 11.582 1.30078 11.2266 1.62891L6.85156 6.00391C6.6875 6.16797 6.46875 6.25 6.25 6.25Z" fill="currentColor"/>
</svg>
</div>
<div class="dropdown-wrapper">
<ul class="submenu">
<li class="submenu__item">
<a href="/products/leo-s-loo-too" class="submenu__link">Leo’s Loo Too</a>
</li>
<li class="submenu__item">
<a href="/collections/bundles" class="submenu__link">Bundles</a>
</li>
<li class="submenu__item">
<a href="/products/leo-s-loo" class="submenu__link">Leo’s Loo</a>
</li>
</ul>
</div>
</li><li class="menu-list__item">
<a href="/collections/accessories" class="menu-list__link ">REFILLS & TOYS</a>
</li><li class="menu-list__item">
<a href="/pages/about-us" class="menu-list__link ">ABOUT US</a>
</li><li class="menu-list__item">
<a href="/pages/support" class="menu-list__link ">FAQ</a>
</li></ul>
</div>
</header>
<main id="MainContent" class="content-for-layout focus-none main-index" role="main" >
<div id="shopify-section-template--17690942669045__image_banner" class="shopify-section home-banner"><link href="//casaleopet.com/cdn/shop/t/64/assets/home-banner.css?v=24110311576358872231712588629" rel="stylesheet" type="text/css" media="all" />
<div class="home-banner__wrap"><h1 class="col-auto">Get the smartest<br>self-cleaning litter box</h1><div class="d-flex justify-content-center flex-wrap"><a href="/collections/shop" class="button button__230 button__banner">Shop Now</a></div>
</div>
<style data-shopify>.home-banner__wrap {
background:url(//casaleopet.com/cdn/shop/files/Smarty_Pear_Print-48-min_1.jpg?v=1673547792);
background-size:cover;
background-position: center;
}</style>
</div><section id="shopify-section-template--17690942669045__8f521621-291f-4814-8ce6-7da8ce0587c7" class="shopify-section custom-review"><link href="//casaleopet.com/cdn/shop/t/64/assets/custom-review.css?v=8995308283775227221712588628" rel="stylesheet" type="text/css" media="all" />
<div class="custom-review__section pt26 pb68">
<div class="container">
<div class="custom-review__subtitle">
<svg width="128" height="24" viewbox="0 0 128 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.1033 3.81663C11.4701 3.07346 12.5299 3.07346 12.8967 3.81663L14.8576 7.78909C15.0031 8.08394 15.2843 8.2884 15.6096 8.33595L19.9962 8.97712C20.8161 9.09696 21.1429 10.1048 20.5493 10.683L17.3768 13.773C17.1409 14.0027 17.0333 14.3339 17.0889 14.6584L17.8374 19.0226C17.9775 19.8396 17.12 20.4626 16.3864 20.0767L12.4655 18.0148C12.1741 17.8615 11.8259 17.8615 11.5345 18.0148L7.61363 20.0767C6.88 20.4626 6.02245 19.8396 6.16257 19.0226L6.91109 14.6584C6.96675 14.3339 6.85908 14.0027 6.62321 13.773L3.45068 10.683C2.85708 10.1048 3.18387 9.09696 4.00378 8.97712L8.39037 8.33595C8.71572 8.2884 8.99691 8.08394 9.14245 7.78909L11.1033 3.81663Z" fill="#EEC480"></path>
<path d="M37.1033 3.81663C37.4701 3.07346 38.5299 3.07346 38.8967 3.81663L40.8576 7.78909C41.0031 8.08394 41.2843 8.2884 41.6096 8.33595L45.9962 8.97712C46.8161 9.09696 47.1429 10.1048 46.5493 10.683L43.3768 13.773C43.1409 14.0027 43.0333 14.3339 43.0889 14.6584L43.8374 19.0226C43.9775 19.8396 43.12 20.4626 42.3864 20.0767L38.4655 18.0148C38.1741 17.8615 37.8259 17.8615 37.5345 18.0148L33.6136 20.0767C32.88 20.4626 32.0225 19.8396 32.1626 19.0226L32.9111 14.6584C32.9667 14.3339 32.8591 14.0027 32.6232 13.773L29.4507 10.683C28.8571 10.1048 29.1839 9.09696 30.0038 8.97712L34.3904 8.33595C34.7157 8.2884 34.9969 8.08394 35.1424 7.78909L37.1033 3.81663Z" fill="#EEC480"></path>
<path d="M63.1033 3.81663C63.4701 3.07346 64.5299 3.07346 64.8967 3.81663L66.8576 7.78909C67.0031 8.08394 67.2843 8.2884 67.6096 8.33595L71.9962 8.97712C72.8161 9.09696 73.1429 10.1048 72.5493 10.683L69.3768 13.773C69.1409 14.0027 69.0333 14.3339 69.0889 14.6584L69.8374 19.0226C69.9775 19.8396 69.12 20.4626 68.3864 20.0767L64.4655 18.0148C64.1741 17.8615 63.8259 17.8615 63.5345 18.0148L59.6136 20.0767C58.88 20.4626 58.0225 19.8396 58.1626 19.0226L58.9111 14.6584C58.9667 14.3339 58.8591 14.0027 58.6232 13.773L55.4507 10.683C54.8571 10.1048 55.1839 9.09696 56.0038 8.97712L60.3904 8.33595C60.7157 8.2884 60.9969 8.08394 61.1424 7.78909L63.1033 3.81663Z" fill="#EEC480"></path>
<path d="M89.1033 3.81663C89.4701 3.07346 90.5299 3.07346 90.8967 3.81663L92.8576 7.78909C93.0031 8.08394 93.2843 8.2884 93.6096 8.33595L97.9962 8.97712C98.8161 9.09696 99.1429 10.1048 98.5493 10.683L95.3768 13.773C95.1409 14.0027 95.0333 14.3339 95.0889 14.6584L95.8374 19.0226C95.9775 19.8396 95.12 20.4626 94.3864 20.0767L90.4655 18.0148C90.1741 17.8615 89.8259 17.8615 89.5345 18.0148L85.6136 20.0767C84.88 20.4626 84.0225 19.8396 84.1626 19.0226L84.9111 14.6584C84.9667 14.3339 84.8591 14.0027 84.6232 13.773L81.4507 10.683C80.8571 10.1048 81.1839 9.09696 82.0038 8.97712L86.3904 8.33595C86.7157 8.2884 86.9969 8.08394 87.1424 7.78909L89.1033 3.81663Z" fill="#EEC480"></path>
<path d="M115.103 3.81663C115.47 3.07346 116.53 3.07346 116.897 3.81663L118.858 7.78909C119.003 8.08394 119.284 8.2884 119.61 8.33595L123.996 8.97712C124.816 9.09696 125.143 10.1048 124.549 10.683L121.377 13.773C121.141 14.0027 121.033 14.3339 121.089 14.6584L121.837 19.0226C121.978 19.8396 121.12 20.4626 120.386 20.0767L116.465 18.0148C116.174 17.8615 115.826 17.8615 115.535 18.0148L111.614 20.0767C110.88 20.4626 110.022 19.8396 110.163 19.0226L110.911 14.6584C110.967 14.3339 110.859 14.0027 110.623 13.773L107.451 10.683C106.857 10.1048 107.184 9.09696 108.004 8.97712L112.39 8.33595C112.716 8.2884 112.997 8.08394 113.142 7.78909L115.103 3.81663Z" fill="#EEC480"></path>
</svg>
</div>
<div class="h2 custom-review__title mb42">
People (and kitties!) love the Leo’s Loo Too
</div>
<div class="custom-review__slider"><div class="slider__item-wrapper">
<div class="slider__item">
<svg width="34" height="26" class="top-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.3999 25.9C5.3999 25.9 3.49985 25.1 2.09985 23.7C0.699854 22.2 0 20.1 0 17.3C0 13.8 0.999902 10.4 2.8999 7.40002C4.6999 4.40002 7.19995 1.8 10.2 0L13.8999 2.40002C12.4999 3.70002 11.3999 5.09995 10.3999 6.69995C9.2999 8.29995 8.49995 10.2 8.19995 12.2C9.89995 12.3 11.3999 13 12.5999 14.2C13.7999 15.4 14.5 17.1 14.5 18.8C14.6 20.7 13.7999 22.6 12.3999 23.9C10.9999 25.2 9.2999 25.9 7.3999 25.9ZM26.2 25.9C24.2 25.9 22.2999 25.1 20.8999 23.7C19.4999 22.2 18.7998 20.1 18.7998 17.3C18.7998 13.8 19.8 10.4 21.7 7.40002C23.5 4.40002 26 1.8 29 0L32.7 2.40002C31.3 3.70002 30.2 5.09995 29.2 6.69995C28.1 8.29995 27.3 10.2 27 12.2C28.7 12.3 30.1999 13 31.3999 14.2C32.5999 15.4 33.2998 17.1 33.2998 18.8C33.3998 20.7 32.6 22.6 31.2 23.9C29.8 25.2 28 25.9 26.2 25.9Z" fill="#AFBEB0"/>
</svg>
<svg width="34" height="26" class="bottom-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M26.1167 0C28.1167 0 30.0167 0.799951 31.4167 2.19995C32.8167 3.69995 33.5168 5.79998 33.5168 8.59998C33.5168 12.1 32.5167 15.5 30.6167 18.5C28.8167 21.5 26.3166 24.1 23.3166 25.9L19.6167 23.5C21.0167 22.2 22.1167 20.8 23.1167 19.2C24.2167 17.6 25.0166 15.7 25.3166 13.7C23.6166 13.6 22.1167 12.9 20.9167 11.7C19.7167 10.5 19.0168 8.79998 19.0168 7.09998C18.9168 5.19998 19.7167 3.3 21.1167 2C22.5167 0.7 24.3167 0 26.1167 0ZM7.41671 0C9.41671 0 11.3168 0.799951 12.7168 2.19995C14.1168 3.69995 14.8166 5.79998 14.8166 8.59998C14.8166 12.1 13.8167 15.5 11.9167 18.5C10.1167 21.5 7.61666 24.1 4.61666 25.9L0.91671 23.5C2.31671 22.2 3.41671 20.8 4.41671 19.2C5.51671 17.6 6.31666 15.7 6.61666 13.7C4.91666 13.6 3.41676 12.9 2.21676 11.7C1.01676 10.5 0.316612 8.89998 0.316612 7.09998C0.216612 5.19998 1.01671 3.3 2.41671 2C3.81671 0.7 5.61671 0 7.41671 0Z" fill="#AFBEB0"/>
</svg><h4 class="item__title">THE BEST INVESTMENT :)</h4><p class="item__text">From a cat momma to another, I highly recommend this product and you can stop your search because THIS IS THE ONE!</p><p class="item__text--author">Trina</p></div>
</div>
<div class="slider__item-wrapper">
<div class="slider__item">
<svg width="34" height="26" class="top-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.3999 25.9C5.3999 25.9 3.49985 25.1 2.09985 23.7C0.699854 22.2 0 20.1 0 17.3C0 13.8 0.999902 10.4 2.8999 7.40002C4.6999 4.40002 7.19995 1.8 10.2 0L13.8999 2.40002C12.4999 3.70002 11.3999 5.09995 10.3999 6.69995C9.2999 8.29995 8.49995 10.2 8.19995 12.2C9.89995 12.3 11.3999 13 12.5999 14.2C13.7999 15.4 14.5 17.1 14.5 18.8C14.6 20.7 13.7999 22.6 12.3999 23.9C10.9999 25.2 9.2999 25.9 7.3999 25.9ZM26.2 25.9C24.2 25.9 22.2999 25.1 20.8999 23.7C19.4999 22.2 18.7998 20.1 18.7998 17.3C18.7998 13.8 19.8 10.4 21.7 7.40002C23.5 4.40002 26 1.8 29 0L32.7 2.40002C31.3 3.70002 30.2 5.09995 29.2 6.69995C28.1 8.29995 27.3 10.2 27 12.2C28.7 12.3 30.1999 13 31.3999 14.2C32.5999 15.4 33.2998 17.1 33.2998 18.8C33.3998 20.7 32.6 22.6 31.2 23.9C29.8 25.2 28 25.9 26.2 25.9Z" fill="#AFBEB0"/>
</svg>
<svg width="34" height="26" class="bottom-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M26.1167 0C28.1167 0 30.0167 0.799951 31.4167 2.19995C32.8167 3.69995 33.5168 5.79998 33.5168 8.59998C33.5168 12.1 32.5167 15.5 30.6167 18.5C28.8167 21.5 26.3166 24.1 23.3166 25.9L19.6167 23.5C21.0167 22.2 22.1167 20.8 23.1167 19.2C24.2167 17.6 25.0166 15.7 25.3166 13.7C23.6166 13.6 22.1167 12.9 20.9167 11.7C19.7167 10.5 19.0168 8.79998 19.0168 7.09998C18.9168 5.19998 19.7167 3.3 21.1167 2C22.5167 0.7 24.3167 0 26.1167 0ZM7.41671 0C9.41671 0 11.3168 0.799951 12.7168 2.19995C14.1168 3.69995 14.8166 5.79998 14.8166 8.59998C14.8166 12.1 13.8167 15.5 11.9167 18.5C10.1167 21.5 7.61666 24.1 4.61666 25.9L0.91671 23.5C2.31671 22.2 3.41671 20.8 4.41671 19.2C5.51671 17.6 6.31666 15.7 6.61666 13.7C4.91666 13.6 3.41676 12.9 2.21676 11.7C1.01676 10.5 0.316612 8.89998 0.316612 7.09998C0.216612 5.19998 1.01671 3.3 2.41671 2C3.81671 0.7 5.61671 0 7.41671 0Z" fill="#AFBEB0"/>
</svg><h4 class="item__title">Purrfect!</h4><p class="item__text">Great size! One cat took immediately and the other within a day. It’s so quiet!</p><p class="item__text--author">Diane</p></div>
</div>
<div class="slider__item-wrapper">
<div class="slider__item">
<svg width="34" height="26" class="top-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.3999 25.9C5.3999 25.9 3.49985 25.1 2.09985 23.7C0.699854 22.2 0 20.1 0 17.3C0 13.8 0.999902 10.4 2.8999 7.40002C4.6999 4.40002 7.19995 1.8 10.2 0L13.8999 2.40002C12.4999 3.70002 11.3999 5.09995 10.3999 6.69995C9.2999 8.29995 8.49995 10.2 8.19995 12.2C9.89995 12.3 11.3999 13 12.5999 14.2C13.7999 15.4 14.5 17.1 14.5 18.8C14.6 20.7 13.7999 22.6 12.3999 23.9C10.9999 25.2 9.2999 25.9 7.3999 25.9ZM26.2 25.9C24.2 25.9 22.2999 25.1 20.8999 23.7C19.4999 22.2 18.7998 20.1 18.7998 17.3C18.7998 13.8 19.8 10.4 21.7 7.40002C23.5 4.40002 26 1.8 29 0L32.7 2.40002C31.3 3.70002 30.2 5.09995 29.2 6.69995C28.1 8.29995 27.3 10.2 27 12.2C28.7 12.3 30.1999 13 31.3999 14.2C32.5999 15.4 33.2998 17.1 33.2998 18.8C33.3998 20.7 32.6 22.6 31.2 23.9C29.8 25.2 28 25.9 26.2 25.9Z" fill="#AFBEB0"/>
</svg>
<svg width="34" height="26" class="bottom-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M26.1167 0C28.1167 0 30.0167 0.799951 31.4167 2.19995C32.8167 3.69995 33.5168 5.79998 33.5168 8.59998C33.5168 12.1 32.5167 15.5 30.6167 18.5C28.8167 21.5 26.3166 24.1 23.3166 25.9L19.6167 23.5C21.0167 22.2 22.1167 20.8 23.1167 19.2C24.2167 17.6 25.0166 15.7 25.3166 13.7C23.6166 13.6 22.1167 12.9 20.9167 11.7C19.7167 10.5 19.0168 8.79998 19.0168 7.09998C18.9168 5.19998 19.7167 3.3 21.1167 2C22.5167 0.7 24.3167 0 26.1167 0ZM7.41671 0C9.41671 0 11.3168 0.799951 12.7168 2.19995C14.1168 3.69995 14.8166 5.79998 14.8166 8.59998C14.8166 12.1 13.8167 15.5 11.9167 18.5C10.1167 21.5 7.61666 24.1 4.61666 25.9L0.91671 23.5C2.31671 22.2 3.41671 20.8 4.41671 19.2C5.51671 17.6 6.31666 15.7 6.61666 13.7C4.91666 13.6 3.41676 12.9 2.21676 11.7C1.01676 10.5 0.316612 8.89998 0.316612 7.09998C0.216612 5.19998 1.01671 3.3 2.41671 2C3.81671 0.7 5.61671 0 7.41671 0Z" fill="#AFBEB0"/>
</svg><h4 class="item__title">Game Changer</h4><p class="item__text">I love my cat but I hate the little box smell. Leo Loos too is a game changer!!</p><p class="item__text--author">Nikki</p></div>
</div>
<div class="slider__item-wrapper">
<div class="slider__item">
<svg width="34" height="26" class="top-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.3999 25.9C5.3999 25.9 3.49985 25.1 2.09985 23.7C0.699854 22.2 0 20.1 0 17.3C0 13.8 0.999902 10.4 2.8999 7.40002C4.6999 4.40002 7.19995 1.8 10.2 0L13.8999 2.40002C12.4999 3.70002 11.3999 5.09995 10.3999 6.69995C9.2999 8.29995 8.49995 10.2 8.19995 12.2C9.89995 12.3 11.3999 13 12.5999 14.2C13.7999 15.4 14.5 17.1 14.5 18.8C14.6 20.7 13.7999 22.6 12.3999 23.9C10.9999 25.2 9.2999 25.9 7.3999 25.9ZM26.2 25.9C24.2 25.9 22.2999 25.1 20.8999 23.7C19.4999 22.2 18.7998 20.1 18.7998 17.3C18.7998 13.8 19.8 10.4 21.7 7.40002C23.5 4.40002 26 1.8 29 0L32.7 2.40002C31.3 3.70002 30.2 5.09995 29.2 6.69995C28.1 8.29995 27.3 10.2 27 12.2C28.7 12.3 30.1999 13 31.3999 14.2C32.5999 15.4 33.2998 17.1 33.2998 18.8C33.3998 20.7 32.6 22.6 31.2 23.9C29.8 25.2 28 25.9 26.2 25.9Z" fill="#AFBEB0"/>
</svg>
<svg width="34" height="26" class="bottom-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M26.1167 0C28.1167 0 30.0167 0.799951 31.4167 2.19995C32.8167 3.69995 33.5168 5.79998 33.5168 8.59998C33.5168 12.1 32.5167 15.5 30.6167 18.5C28.8167 21.5 26.3166 24.1 23.3166 25.9L19.6167 23.5C21.0167 22.2 22.1167 20.8 23.1167 19.2C24.2167 17.6 25.0166 15.7 25.3166 13.7C23.6166 13.6 22.1167 12.9 20.9167 11.7C19.7167 10.5 19.0168 8.79998 19.0168 7.09998C18.9168 5.19998 19.7167 3.3 21.1167 2C22.5167 0.7 24.3167 0 26.1167 0ZM7.41671 0C9.41671 0 11.3168 0.799951 12.7168 2.19995C14.1168 3.69995 14.8166 5.79998 14.8166 8.59998C14.8166 12.1 13.8167 15.5 11.9167 18.5C10.1167 21.5 7.61666 24.1 4.61666 25.9L0.91671 23.5C2.31671 22.2 3.41671 20.8 4.41671 19.2C5.51671 17.6 6.31666 15.7 6.61666 13.7C4.91666 13.6 3.41676 12.9 2.21676 11.7C1.01676 10.5 0.316612 8.89998 0.316612 7.09998C0.216612 5.19998 1.01671 3.3 2.41671 2C3.81671 0.7 5.61671 0 7.41671 0Z" fill="#AFBEB0"/>
</svg><h4 class="item__title">Worth Every Penny</h4><p class="item__text">The bags are easy to change. The app is easy to use. I had nothing but issues with the last litter robot-type contraption I had. This one has been smooth sailing, thankfully.</p><p class="item__text--author">Nichole</p></div>
</div>
</div>
</div>
</div>
</section><section id="shopify-section-template--17690942669045__section-scooping" class="shopify-section scooping"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-scooping.css?v=71082917228138971421712588628" rel="stylesheet" type="text/css" media="all" />
<div class="container">
<div class="d-inline-flex scooping__wrap"><img src="//casaleopet.com/cdn/shop/files/HOMEPAGE_-_1.jpg?v=1661538194" alt="" class="scooping__img" loading="lazy"><div class="scooping-item center"><h2 class="scooping-item__title">Say So Long to Scooping</h2><p class="scooping-item__text">Get the Leo’s Loo Too and say goodbye to the least enjoyable part of cat parenting: scooping litter</p><div class="scooping-icons"><div class="scooping-icons__item"><div class="maxwidth">
<div class="scooping-icons__img">
<img src="//casaleopet.com/cdn/shop/files/4.png?v=1690301557" alt="" loading="lazy">
</div>
</div><p class="scooping-icons__text">Self-Cleaning</p></div><div class="scooping-icons__item"><div class="maxwidth">
<div class="scooping-icons__img">
<img src="//casaleopet.com/cdn/shop/files/1_a48339ba-fd3a-4b68-b6cb-6cd24ddedbf4.png?v=1690301515" alt="" loading="lazy">
</div>
</div><p class="scooping-icons__text">Smart Home App</p></div><div class="scooping-icons__item"><div class="maxwidth">
<div class="scooping-icons__img">
<img src="//casaleopet.com/cdn/shop/files/3_ef993859-9607-4aba-b6a9-35cfe33cdc1d.png?v=1690301597" alt="" loading="lazy">
</div>
</div><p class="scooping-icons__text">Larger Waste Drawer</p></div><div class="scooping-icons__item"><div class="maxwidth">
<div class="scooping-icons__img">
<img src="//casaleopet.com/cdn/shop/files/2_39417b10-683d-44c9-bad8-fd71ee82b6c0.png?v=1690301632" alt="" loading="lazy">
</div>
</div><p class="scooping-icons__text">Whisper Quiet Sifting (~30 dB)</p></div><div class="scooping-icons__item"><div class="maxwidth">
<div class="scooping-icons__img">
<img src="//casaleopet.com/cdn/shop/files/Group_12358_1.png?v=1690301679" alt="" loading="lazy">
</div>
</div><p class="scooping-icons__text">UV Light Treatment</p></div><div class="scooping-icons__item"><div class="maxwidth">
<div class="scooping-icons__img">
<img src="//casaleopet.com/cdn/shop/files/5.png?v=1690301718" alt="" loading="lazy">
</div>
</div><p class="scooping-icons__text">Odor Elimination</p></div></div><div class="d-flex justify-content-center scooping-item__btnwr"><button class="button button3 button__230 play2" data-link="https://cdn.shopify.com/s/files/1/0639/8921/9573/files/Smarty_Pear_compress_v1.mp4?v=1652447265">
<span>How It Works</span>
<svg width="18" height="19" viewBox="0 0 18 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9 0.25C4.00781 0.25 0 4.29297 0 9.25C0 14.2422 4.00781 18.25 9 18.25C13.957 18.25 18 14.2422 18 9.25C18 4.29297 13.957 0.25 9 0.25ZM13.0781 9.98828L8.01562 13.082C7.875 13.1523 7.73438 13.1875 7.59375 13.1875C7.10156 13.1875 6.75 12.8008 6.75 12.3438V6.15625C6.75 5.73438 7.10156 5.3125 7.59375 5.3125C7.73438 5.3125 7.875 5.38281 8.01562 5.45312L13.0781 8.54688C13.3242 8.6875 13.5 8.96875 13.5 9.25C13.5 9.56641 13.3242 9.84766 13.0781 9.98828Z" fill="#AFBEB0"/>
</svg>
</button><a href="/collections/shop" class="button button__230">Shop Now</a></div>
</div>
</div>
</div>
</section><section id="shopify-section-template--17690942669045__section-gallery" class="shopify-section gallery"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-gallery.css?v=171740891790958665801712588630" rel="stylesheet" type="text/css" media="all" />
<div class="gallery__wrap">
<img src="//casaleopet.com/cdn/shop/files/Leo_s_Loo_Too_Color_Ribon.png?v=1652098185"" alt="" class="gallery__img gallery__img--desktop d-none d-md-block" loading="lazy"><img src="//casaleopet.com/cdn/shop/files/Group_12418.png?v=1652098354"" alt="" class="gallery__img gallery__mobile d-md-none" loading="lazy"></div></section><section id="shopify-section-template--17690942669045__section-step" class="shopify-section step"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-step.css?v=58465613158939230711712588628" rel="stylesheet" type="text/css" media="all" />
<div class="container">
<div class="row justify-content-between">
<div class="col-lg-7"><h2 class="step__title">A Giant Step Forward for Catkind</h2><p class="step__text mb42">Leo’s Loo Too is the newest addition to the Casa Leo family. Featuring our most advanced set of features, the Leo’s Loo Too is a massive step forward for cat families looking for a better alternative to traditional litter boxes. With four fun colors, a modern design, a larger waste drawer and whisper-quiet motor, we know Leo’s Loo Too will improve life for you and your fur baby.</p><a href="/products/leo-s-loo-too" class="button button__230 step__btn">Buy Now</a></div><div class="col-lg-4 d-lg-block d-none">
<img src="//casaleopet.com/cdn/shop/files/iPhone_11_Pro_Mockup_74356ae0-e136-49b8-9939-7a87e946697d.png?v=1652098587" alt="" class="step__img" loading="lazy">
</div></div>
</div>
<style data-shopify>
.step {
background:url(//casaleopet.com/cdn/shop/files/SP-site_2giantstepforward_082922.jpg?v=1661849529);
background-size:cover;
background-position: center;
background-repeat: no-repeat;
}
@media screen and (max-width: 600px) {
.step {
background:url(//casaleopet.com/cdn/shop/files/SP-site_2giantstepforward_082922-MOBILE.jpg?v=1661849529);
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
}
</style>
</section><section id="shopify-section-template--17690942669045__section-type" class="shopify-section type"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-type.css?v=20727828405137582621712588628" rel="stylesheet" type="text/css" media="all" />
<div class="container"><h2 class="type__title">The Leo’s Loo Family</h2><p class="type__text">Two great options. One pawesome result: no more scooping!</p><div class="row align-items-stretch"><div class="col-xl-6 type-itemWr">
<div class="type-item mb42"><img src="//casaleopet.com/cdn/shop/files/type1.png?v=1650965609" alt="" class="type-item__img" loading="lazy"><h3 class="type-item__title mb16">Leo’s Loo</h3><p class="type-item__text">Leo’s Loo self-cleaning litter box detects each time your cat visits and automatically cleans up afterwards.</p><div class="type-item__icons mb26"><div class="type-item__icon">
<span>Color Options</span><span>1</span></div><div class="type-item__icon">
<span>Radar Detection</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Self-Cleaning</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Anti Pinch Sensor Safety System</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>WHISPER-QUIET SIFTING TECHNOLOGY</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Weight & Activity Data</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>1 Pound Min Cat Weight</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Wi-Fi Enabled + Mobile App</span><svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.6916 4.30846L16.6916 4.30847C18.2764 5.89287 19.2563 8.08193 19.2563 10.5C19.2563 12.9179 18.2762 15.107 16.6916 16.6916L16.6916 16.6917C15.1072 18.2765 12.9181 19.2563 10.5 19.2563C8.08213 19.2563 5.89305 18.2763 4.30841 16.6916L4.3084 16.6916C2.72359 15.1072 1.74371 12.9182 1.74371 10.5C1.74371 8.08217 2.72377 5.8931 4.30841 4.30846L4.30842 4.30844C5.89283 2.72364 8.08189 1.74376 10.5 1.74376C12.9179 1.74376 15.1069 2.72381 16.6916 4.30846ZM17.3235 3.67647C15.5775 1.93024 13.1647 0.85 10.5 0.85C7.83542 0.85 5.4227 1.93024 3.67647 3.67646C1.93024 5.42251 0.85 7.83542 0.85 10.5C0.85 13.1646 1.93024 15.5773 3.67646 17.3235C5.42251 19.0698 7.83542 20.15 10.5 20.15C13.1646 20.15 15.5773 19.0698 17.3235 17.3235C19.0698 15.5775 20.15 13.1646 20.15 10.5C20.15 7.83542 19.0698 5.42269 17.3235 3.67647Z" fill="#212121" stroke="#212121" stroke-width="0.3"/>
<path d="M14.9868 6.6451C15.1613 6.4706 15.1613 6.1876 14.9868 6.0131L14.4609 6.11917L14.3548 6.0131L14.3548 6.01311L10.4997 9.86821L6.64462 6.0131C6.47011 5.8386 6.18711 5.8386 6.01261 6.01311C5.83812 6.1876 5.83811 6.4706 6.01262 6.6451C6.01262 6.6451 6.01262 6.6451 6.01262 6.64511L9.86773 10.5002L6.01262 14.3553C5.83811 14.5298 5.83811 14.8128 6.01262 14.9873C6.18712 15.1618 6.47012 15.1618 6.64462 14.9873L10.4997 11.1322L14.3548 14.9873C14.5293 15.1618 14.8123 15.1618 14.9868 14.9873C15.1613 14.8128 15.1613 14.5298 14.9868 14.3553L11.1317 10.5002L14.9868 6.6451Z" fill="#212121" stroke="#212121" stroke-width="0.3"/>
</svg>
</div><div class="type-item__icon">
<span>Odor-Control with UV Light</span><svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.6916 4.30846L16.6916 4.30847C18.2764 5.89287 19.2563 8.08193 19.2563 10.5C19.2563 12.9179 18.2762 15.107 16.6916 16.6916L16.6916 16.6917C15.1072 18.2765 12.9181 19.2563 10.5 19.2563C8.08213 19.2563 5.89305 18.2763 4.30841 16.6916L4.3084 16.6916C2.72359 15.1072 1.74371 12.9182 1.74371 10.5C1.74371 8.08217 2.72377 5.8931 4.30841 4.30846L4.30842 4.30844C5.89283 2.72364 8.08189 1.74376 10.5 1.74376C12.9179 1.74376 15.1069 2.72381 16.6916 4.30846ZM17.3235 3.67647C15.5775 1.93024 13.1647 0.85 10.5 0.85C7.83542 0.85 5.4227 1.93024 3.67647 3.67646C1.93024 5.42251 0.85 7.83542 0.85 10.5C0.85 13.1646 1.93024 15.5773 3.67646 17.3235C5.42251 19.0698 7.83542 20.15 10.5 20.15C13.1646 20.15 15.5773 19.0698 17.3235 17.3235C19.0698 15.5775 20.15 13.1646 20.15 10.5C20.15 7.83542 19.0698 5.42269 17.3235 3.67647Z" fill="#212121" stroke="#212121" stroke-width="0.3"/>
<path d="M14.9868 6.6451C15.1613 6.4706 15.1613 6.1876 14.9868 6.0131L14.4609 6.11917L14.3548 6.0131L14.3548 6.01311L10.4997 9.86821L6.64462 6.0131C6.47011 5.8386 6.18711 5.8386 6.01261 6.01311C5.83812 6.1876 5.83811 6.4706 6.01262 6.6451C6.01262 6.6451 6.01262 6.6451 6.01262 6.64511L9.86773 10.5002L6.01262 14.3553C5.83811 14.5298 5.83811 14.8128 6.01262 14.9873C6.18712 15.1618 6.47012 15.1618 6.64462 14.9873L10.4997 11.1322L14.3548 14.9873C14.5293 15.1618 14.8123 15.1618 14.9868 14.9873C15.1613 14.8128 15.1613 14.5298 14.9868 14.3553L11.1317 10.5002L14.9868 6.6451Z" fill="#212121" stroke="#212121" stroke-width="0.3"/>
</svg>
</div><div class="type-item__icon">
<span>Alexa & Google Home Compatible</span><svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.6916 4.30846L16.6916 4.30847C18.2764 5.89287 19.2563 8.08193 19.2563 10.5C19.2563 12.9179 18.2762 15.107 16.6916 16.6916L16.6916 16.6917C15.1072 18.2765 12.9181 19.2563 10.5 19.2563C8.08213 19.2563 5.89305 18.2763 4.30841 16.6916L4.3084 16.6916C2.72359 15.1072 1.74371 12.9182 1.74371 10.5C1.74371 8.08217 2.72377 5.8931 4.30841 4.30846L4.30842 4.30844C5.89283 2.72364 8.08189 1.74376 10.5 1.74376C12.9179 1.74376 15.1069 2.72381 16.6916 4.30846ZM17.3235 3.67647C15.5775 1.93024 13.1647 0.85 10.5 0.85C7.83542 0.85 5.4227 1.93024 3.67647 3.67646C1.93024 5.42251 0.85 7.83542 0.85 10.5C0.85 13.1646 1.93024 15.5773 3.67646 17.3235C5.42251 19.0698 7.83542 20.15 10.5 20.15C13.1646 20.15 15.5773 19.0698 17.3235 17.3235C19.0698 15.5775 20.15 13.1646 20.15 10.5C20.15 7.83542 19.0698 5.42269 17.3235 3.67647Z" fill="#212121" stroke="#212121" stroke-width="0.3"/>
<path d="M14.9868 6.6451C15.1613 6.4706 15.1613 6.1876 14.9868 6.0131L14.4609 6.11917L14.3548 6.0131L14.3548 6.01311L10.4997 9.86821L6.64462 6.0131C6.47011 5.8386 6.18711 5.8386 6.01261 6.01311C5.83812 6.1876 5.83811 6.4706 6.01262 6.6451C6.01262 6.6451 6.01262 6.6451 6.01262 6.64511L9.86773 10.5002L6.01262 14.3553C5.83811 14.5298 5.83811 14.8128 6.01262 14.9873C6.18712 15.1618 6.47012 15.1618 6.64462 14.9873L10.4997 11.1322L14.3548 14.9873C14.5293 15.1618 14.8123 15.1618 14.9868 14.9873C15.1613 14.8128 15.1613 14.5298 14.9868 14.3553L11.1317 10.5002L14.9868 6.6451Z" fill="#212121" stroke="#212121" stroke-width="0.3"/>
</svg>
</div><div class="type-item__icon">
<span>Drawer Size</span><span>6 L</span></div><div class="type-item__icon">
<span>Phone notifications</span><svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.6916 4.30846L16.6916 4.30847C18.2764 5.89287 19.2563 8.08193 19.2563 10.5C19.2563 12.9179 18.2762 15.107 16.6916 16.6916L16.6916 16.6917C15.1072 18.2765 12.9181 19.2563 10.5 19.2563C8.08213 19.2563 5.89305 18.2763 4.30841 16.6916L4.3084 16.6916C2.72359 15.1072 1.74371 12.9182 1.74371 10.5C1.74371 8.08217 2.72377 5.8931 4.30841 4.30846L4.30842 4.30844C5.89283 2.72364 8.08189 1.74376 10.5 1.74376C12.9179 1.74376 15.1069 2.72381 16.6916 4.30846ZM17.3235 3.67647C15.5775 1.93024 13.1647 0.85 10.5 0.85C7.83542 0.85 5.4227 1.93024 3.67647 3.67646C1.93024 5.42251 0.85 7.83542 0.85 10.5C0.85 13.1646 1.93024 15.5773 3.67646 17.3235C5.42251 19.0698 7.83542 20.15 10.5 20.15C13.1646 20.15 15.5773 19.0698 17.3235 17.3235C19.0698 15.5775 20.15 13.1646 20.15 10.5C20.15 7.83542 19.0698 5.42269 17.3235 3.67647Z" fill="#212121" stroke="#212121" stroke-width="0.3"/>
<path d="M14.9868 6.6451C15.1613 6.4706 15.1613 6.1876 14.9868 6.0131L14.4609 6.11917L14.3548 6.0131L14.3548 6.01311L10.4997 9.86821L6.64462 6.0131C6.47011 5.8386 6.18711 5.8386 6.01261 6.01311C5.83812 6.1876 5.83811 6.4706 6.01262 6.6451C6.01262 6.6451 6.01262 6.6451 6.01262 6.64511L9.86773 10.5002L6.01262 14.3553C5.83811 14.5298 5.83811 14.8128 6.01262 14.9873C6.18712 15.1618 6.47012 15.1618 6.64462 14.9873L10.4997 11.1322L14.3548 14.9873C14.5293 15.1618 14.8123 15.1618 14.9868 14.9873C15.1613 14.8128 15.1613 14.5298 14.9868 14.3553L11.1317 10.5002L14.9868 6.6451Z" fill="#212121" stroke="#212121" stroke-width="0.3"/>
</svg>
</div></div><a href="/products/leo-s-loo" class="button button__230 type__btn">Buy Now</a></div>
</div><div class="col-xl-6 type-itemWr">
<div class="type-item mb42"><img src="//casaleopet.com/cdn/shop/files/Group_12382_271b8485-1fbe-4d7e-a0d9-d17f085fad09.png?v=1652441103" alt="" class="type-item__img" loading="lazy"><h3 class="type-item__title mb16">Leo’s Loo Too</h3><p class="type-item__text">Leo’s Loo Too is the newest addition to the Casa Leo family with our most advanced set of features.</p><div class="type-item__icons mb26"><div class="type-item__icon">
<span>Color Options</span><span>4</span></div><div class="type-item__icon">
<span>Radar Detection</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Self-Cleaning</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Anti Pinch Sensor Safety System</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Whisper-Quiet Sifting Technology</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Weight & Activity Data</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>1 Pound Min Cat Weight</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Wi-Fi Enabled + Mobile App</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Odor-Control with UV Light</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Alexa & Google Home Compatible</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div><div class="type-item__icon">
<span>Drawer Size</span><span>9.5 l</span></div><div class="type-item__icon">
<span>Phone notifications</span><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 9.5C0 4.25273 4.25273 0 9.5 0C14.7473 0 19 4.25273 19 9.5C19 14.7473 14.7473 19 9.5 19C4.25273 19 0 14.7473 0 9.5ZM13.7973 7.85977C14.2018 7.45527 14.2018 6.79473 13.7973 6.39023C13.3928 5.98574 12.7322 5.98574 12.3277 6.39023L8.3125 10.4055L6.67227 8.76523C6.26777 8.36074 5.60723 8.36074 5.20273 8.76523C4.79824 9.16973 4.79824 9.83027 5.20273 10.2348L7.57773 12.6098C7.98223 13.0143 8.64277 13.0143 9.04727 12.6098L13.7973 7.85977Z" fill="#212121"/>
</svg>
</div></div><a href="/collections/bundles" class="button button__230 type__btn">Buy Now</a></div>
</div></div></div>
</section><section id="shopify-section-template--17690942669045__section-bundle" class="shopify-section warranty bundle"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-warranty.css?v=177346786787175300811712588629" rel="stylesheet" type="text/css" media="all" />
<div class="container">
<div class="row align-items-stretch">
<div class="col-lg-6">
<img src="//casaleopet.com/cdn/shop/files/HOMEPAGE_3.jpg?v=1661538527" alt="" class="warranty__img" loading="lazy">
</div>
<div class="col-lg-6">
<div class="warranty__item"><h2 class="warranty__title mb26">Buy a Bundle and Save</h2><p class="warranty__text mb26">Need more than one? Explore our bundle discounts</p><a href="/collections/bundles" class="button button__230 warranty__btn mb42">Shop Now</a><img src="//casaleopet.com/cdn/shop/files/3_Units_Combo_1_1_471x.png?v=1652192803" alt="" class="warranty__img2" loading="lazy"></div>
</div>
</div>
</div>
</section><section id="shopify-section-template--17690942669045__section-featured" class="shopify-section featured"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-featured.css?v=19394703879877736681712588632" rel="stylesheet" type="text/css" media="all" />
<div class="container"><h4 class="featured__title mb16">AS FEATURED ON</h4><div class="row featuredJs"><div class="col-md-2 col-lg-2 featuredJs__block">
<img class="featured__img" src="//casaleopet.com/cdn/shop/files/image_29.png?v=1650983225" alt="" loading="lazy">
</div><div class="col-md-2 col-lg-2 featuredJs__block">
<img class="featured__img" src="//casaleopet.com/cdn/shop/files/image_27.png?v=1650983184" alt="" loading="lazy">
</div><div class="col-md-2 col-lg-2 featuredJs__block">
<img class="featured__img" src="//casaleopet.com/cdn/shop/files/image_28.png?v=1650983203" alt="" loading="lazy">
</div><div class="col-md-2 col-lg-2 featuredJs__block">
<img class="featured__img" src="//casaleopet.com/cdn/shop/files/image_30.png?v=1650983324" alt="" loading="lazy">
</div><div class="col-md-2 col-lg-2 featuredJs__block">
<img class="featured__img" src="//casaleopet.com/cdn/shop/files/image_31.png?v=1650983348" alt="" loading="lazy">
</div><div class="col-md-2 col-lg-2 featuredJs__block">
<img class="featured__img" src="//casaleopet.com/cdn/shop/files/image_32.png?v=1650983363" alt="" loading="lazy">
</div></div></div>
</section><section id="shopify-section-template--17690942669045__section-warranty" class="shopify-section warranty"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-warranty.css?v=177346786787175300811712588629" rel="stylesheet" type="text/css" media="all" />
<div class="container">
<div class="row align-items-stretch">
<div class="col-xl-5 col-lg-6">
<div class="warranty__item"><h2 class="warranty__title mb26">Timid tabby? Wet your whiskers risk-free for 90 days</h2><p class="warranty__text mb26">We’re so sure you’ll love a life free of scooping, that we offer a 90 day free trial.
Don’t love it? Send it back. Both Leo’s Loo and Leo’s Loo Too also come with a 1 year warranty <a href="https://smartypear.com/pages/smarty-pear-warranty" style="color:red;">*</a></p><a href="/pages/shipping-and-return-policy" class="button button__230 warranty__btn">Learn More</a></div>
</div>
<div class="col-xl-7 col-lg-6">
<img src="//casaleopet.com/cdn/shop/files/HOMEPAGE_4.jpg?v=1661538545" alt="" class="warranty__img" loading="lazy">
</div>
</div>
</div>
</section><section id="shopify-section-template--17690942669045__section-review" class="shopify-section review"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-review.css?v=160065517790309263451712588637" rel="stylesheet" type="text/css" media="all" />
<div class="container"><h4 class="review__title mb42">What Customers Say About Us</h4><div class="review__text"><div data-bv-show="inline_rating" data-bv-product-id="7658677076213" data-bv-redirect-url="/products/leo-s-loo-too">
</div></div><div class="reviewJs"><div class="review-itemWr">
<div class="review-item">
<svg width="34" height="26" class="top-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.3999 25.9C5.3999 25.9 3.49985 25.1 2.09985 23.7C0.699854 22.2 0 20.1 0 17.3C0 13.8 0.999902 10.4 2.8999 7.40002C4.6999 4.40002 7.19995 1.8 10.2 0L13.8999 2.40002C12.4999 3.70002 11.3999 5.09995 10.3999 6.69995C9.2999 8.29995 8.49995 10.2 8.19995 12.2C9.89995 12.3 11.3999 13 12.5999 14.2C13.7999 15.4 14.5 17.1 14.5 18.8C14.6 20.7 13.7999 22.6 12.3999 23.9C10.9999 25.2 9.2999 25.9 7.3999 25.9ZM26.2 25.9C24.2 25.9 22.2999 25.1 20.8999 23.7C19.4999 22.2 18.7998 20.1 18.7998 17.3C18.7998 13.8 19.8 10.4 21.7 7.40002C23.5 4.40002 26 1.8 29 0L32.7 2.40002C31.3 3.70002 30.2 5.09995 29.2 6.69995C28.1 8.29995 27.3 10.2 27 12.2C28.7 12.3 30.1999 13 31.3999 14.2C32.5999 15.4 33.2998 17.1 33.2998 18.8C33.3998 20.7 32.6 22.6 31.2 23.9C29.8 25.2 28 25.9 26.2 25.9Z" fill="#AFBEB0"></path>
</svg>
<svg width="34" height="26" class="bottom-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M26.1167 0C28.1167 0 30.0167 0.799951 31.4167 2.19995C32.8167 3.69995 33.5168 5.79998 33.5168 8.59998C33.5168 12.1 32.5167 15.5 30.6167 18.5C28.8167 21.5 26.3166 24.1 23.3166 25.9L19.6167 23.5C21.0167 22.2 22.1167 20.8 23.1167 19.2C24.2167 17.6 25.0166 15.7 25.3166 13.7C23.6166 13.6 22.1167 12.9 20.9167 11.7C19.7167 10.5 19.0168 8.79998 19.0168 7.09998C18.9168 5.19998 19.7167 3.3 21.1167 2C22.5167 0.7 24.3167 0 26.1167 0ZM7.41671 0C9.41671 0 11.3168 0.799951 12.7168 2.19995C14.1168 3.69995 14.8166 5.79998 14.8166 8.59998C14.8166 12.1 13.8167 15.5 11.9167 18.5C10.1167 21.5 7.61666 24.1 4.61666 25.9L0.91671 23.5C2.31671 22.2 3.41671 20.8 4.41671 19.2C5.51671 17.6 6.31666 15.7 6.61666 13.7C4.91666 13.6 3.41676 12.9 2.21676 11.7C1.01676 10.5 0.316612 8.89998 0.316612 7.09998C0.216612 5.19998 1.01671 3.3 2.41671 2C3.81671 0.7 5.61671 0 7.41671 0Z" fill="#AFBEB0"></path>
</svg>
<div class="review-item__head">
<div class="d-flex"><img src="//casaleopet.com/cdn/shop/files/Ellipse_22.png?v=1651005253" alt="" loading="lazy" class="review-item__img"><p class="review-item__name">
<span>Tina M.</span>
<span><svg width="128" height="24" viewBox="0 0 128 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.1033 3.81663C11.4701 3.07346 12.5299 3.07346 12.8967 3.81663L14.8576 7.78909C15.0031 8.08394 15.2843 8.2884 15.6096 8.33595L19.9962 8.97712C20.8161 9.09696 21.1429 10.1048 20.5493 10.683L17.3768 13.773C17.1409 14.0027 17.0333 14.3339 17.0889 14.6584L17.8374 19.0226C17.9775 19.8396 17.12 20.4626 16.3864 20.0767L12.4655 18.0148C12.1741 17.8615 11.8259 17.8615 11.5345 18.0148L7.61363 20.0767C6.88 20.4626 6.02245 19.8396 6.16257 19.0226L6.91109 14.6584C6.96675 14.3339 6.85908 14.0027 6.62321 13.773L3.45068 10.683C2.85708 10.1048 3.18387 9.09696 4.00378 8.97712L8.39037 8.33595C8.71572 8.2884 8.99691 8.08394 9.14245 7.78909L11.1033 3.81663Z" fill="#EEC480"/>
<path d="M37.1033 3.81663C37.4701 3.07346 38.5299 3.07346 38.8967 3.81663L40.8576 7.78909C41.0031 8.08394 41.2843 8.2884 41.6096 8.33595L45.9962 8.97712C46.8161 9.09696 47.1429 10.1048 46.5493 10.683L43.3768 13.773C43.1409 14.0027 43.0333 14.3339 43.0889 14.6584L43.8374 19.0226C43.9775 19.8396 43.12 20.4626 42.3864 20.0767L38.4655 18.0148C38.1741 17.8615 37.8259 17.8615 37.5345 18.0148L33.6136 20.0767C32.88 20.4626 32.0225 19.8396 32.1626 19.0226L32.9111 14.6584C32.9667 14.3339 32.8591 14.0027 32.6232 13.773L29.4507 10.683C28.8571 10.1048 29.1839 9.09696 30.0038 8.97712L34.3904 8.33595C34.7157 8.2884 34.9969 8.08394 35.1424 7.78909L37.1033 3.81663Z" fill="#EEC480"/>
<path d="M63.1033 3.81663C63.4701 3.07346 64.5299 3.07346 64.8967 3.81663L66.8576 7.78909C67.0031 8.08394 67.2843 8.2884 67.6096 8.33595L71.9962 8.97712C72.8161 9.09696 73.1429 10.1048 72.5493 10.683L69.3768 13.773C69.1409 14.0027 69.0333 14.3339 69.0889 14.6584L69.8374 19.0226C69.9775 19.8396 69.12 20.4626 68.3864 20.0767L64.4655 18.0148C64.1741 17.8615 63.8259 17.8615 63.5345 18.0148L59.6136 20.0767C58.88 20.4626 58.0225 19.8396 58.1626 19.0226L58.9111 14.6584C58.9667 14.3339 58.8591 14.0027 58.6232 13.773L55.4507 10.683C54.8571 10.1048 55.1839 9.09696 56.0038 8.97712L60.3904 8.33595C60.7157 8.2884 60.9969 8.08394 61.1424 7.78909L63.1033 3.81663Z" fill="#EEC480"/>
<path d="M89.1033 3.81663C89.4701 3.07346 90.5299 3.07346 90.8967 3.81663L92.8576 7.78909C93.0031 8.08394 93.2843 8.2884 93.6096 8.33595L97.9962 8.97712C98.8161 9.09696 99.1429 10.1048 98.5493 10.683L95.3768 13.773C95.1409 14.0027 95.0333 14.3339 95.0889 14.6584L95.8374 19.0226C95.9775 19.8396 95.12 20.4626 94.3864 20.0767L90.4655 18.0148C90.1741 17.8615 89.8259 17.8615 89.5345 18.0148L85.6136 20.0767C84.88 20.4626 84.0225 19.8396 84.1626 19.0226L84.9111 14.6584C84.9667 14.3339 84.8591 14.0027 84.6232 13.773L81.4507 10.683C80.8571 10.1048 81.1839 9.09696 82.0038 8.97712L86.3904 8.33595C86.7157 8.2884 86.9969 8.08394 87.1424 7.78909L89.1033 3.81663Z" fill="#EEC480"/>
<path d="M115.103 3.81663C115.47 3.07346 116.53 3.07346 116.897 3.81663L118.858 7.78909C119.003 8.08394 119.284 8.2884 119.61 8.33595L123.996 8.97712C124.816 9.09696 125.143 10.1048 124.549 10.683L121.377 13.773C121.141 14.0027 121.033 14.3339 121.089 14.6584L121.837 19.0226C121.978 19.8396 121.12 20.4626 120.386 20.0767L116.465 18.0148C116.174 17.8615 115.826 17.8615 115.535 18.0148L111.614 20.0767C110.88 20.4626 110.022 19.8396 110.163 19.0226L110.911 14.6584C110.967 14.3339 110.859 14.0027 110.623 13.773L107.451 10.683C106.857 10.1048 107.184 9.09696 108.004 8.97712L112.39 8.33595C112.716 8.2884 112.997 8.08394 113.142 7.78909L115.103 3.81663Z" fill="#EEC480"/>
</svg>
</span>
</p></div><p class="review-item__verified">
<i class="fa fa-check-circle"></i>
<span>Verified Buyer</span>
</p></div>
<div class="review-item__body"><h4 class="review-item__title">What a great-looking litter box!</h4><p class="review-item__text">The instructions were easy to follow and getting it connected was a breeze. It has made my life so much easier and I'm pretty sure the cats enjoy always having a clean place to do their business. I'm glad I waited for this new model as the poop tray is so much bigger.</p></div>
</div>
</div><div class="review-itemWr">
<div class="review-item">
<svg width="34" height="26" class="top-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.3999 25.9C5.3999 25.9 3.49985 25.1 2.09985 23.7C0.699854 22.2 0 20.1 0 17.3C0 13.8 0.999902 10.4 2.8999 7.40002C4.6999 4.40002 7.19995 1.8 10.2 0L13.8999 2.40002C12.4999 3.70002 11.3999 5.09995 10.3999 6.69995C9.2999 8.29995 8.49995 10.2 8.19995 12.2C9.89995 12.3 11.3999 13 12.5999 14.2C13.7999 15.4 14.5 17.1 14.5 18.8C14.6 20.7 13.7999 22.6 12.3999 23.9C10.9999 25.2 9.2999 25.9 7.3999 25.9ZM26.2 25.9C24.2 25.9 22.2999 25.1 20.8999 23.7C19.4999 22.2 18.7998 20.1 18.7998 17.3C18.7998 13.8 19.8 10.4 21.7 7.40002C23.5 4.40002 26 1.8 29 0L32.7 2.40002C31.3 3.70002 30.2 5.09995 29.2 6.69995C28.1 8.29995 27.3 10.2 27 12.2C28.7 12.3 30.1999 13 31.3999 14.2C32.5999 15.4 33.2998 17.1 33.2998 18.8C33.3998 20.7 32.6 22.6 31.2 23.9C29.8 25.2 28 25.9 26.2 25.9Z" fill="#AFBEB0"></path>
</svg>
<svg width="34" height="26" class="bottom-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M26.1167 0C28.1167 0 30.0167 0.799951 31.4167 2.19995C32.8167 3.69995 33.5168 5.79998 33.5168 8.59998C33.5168 12.1 32.5167 15.5 30.6167 18.5C28.8167 21.5 26.3166 24.1 23.3166 25.9L19.6167 23.5C21.0167 22.2 22.1167 20.8 23.1167 19.2C24.2167 17.6 25.0166 15.7 25.3166 13.7C23.6166 13.6 22.1167 12.9 20.9167 11.7C19.7167 10.5 19.0168 8.79998 19.0168 7.09998C18.9168 5.19998 19.7167 3.3 21.1167 2C22.5167 0.7 24.3167 0 26.1167 0ZM7.41671 0C9.41671 0 11.3168 0.799951 12.7168 2.19995C14.1168 3.69995 14.8166 5.79998 14.8166 8.59998C14.8166 12.1 13.8167 15.5 11.9167 18.5C10.1167 21.5 7.61666 24.1 4.61666 25.9L0.91671 23.5C2.31671 22.2 3.41671 20.8 4.41671 19.2C5.51671 17.6 6.31666 15.7 6.61666 13.7C4.91666 13.6 3.41676 12.9 2.21676 11.7C1.01676 10.5 0.316612 8.89998 0.316612 7.09998C0.216612 5.19998 1.01671 3.3 2.41671 2C3.81671 0.7 5.61671 0 7.41671 0Z" fill="#AFBEB0"></path>
</svg>
<div class="review-item__head">
<div class="d-flex"><img src="//casaleopet.com/cdn/shop/files/Group_21.png?v=1690797649" alt="" loading="lazy" class="review-item__img"><p class="review-item__name">
<span>Carrie T.</span>
<span><svg width="128" height="24" viewBox="0 0 128 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.1033 3.81663C11.4701 3.07346 12.5299 3.07346 12.8967 3.81663L14.8576 7.78909C15.0031 8.08394 15.2843 8.2884 15.6096 8.33595L19.9962 8.97712C20.8161 9.09696 21.1429 10.1048 20.5493 10.683L17.3768 13.773C17.1409 14.0027 17.0333 14.3339 17.0889 14.6584L17.8374 19.0226C17.9775 19.8396 17.12 20.4626 16.3864 20.0767L12.4655 18.0148C12.1741 17.8615 11.8259 17.8615 11.5345 18.0148L7.61363 20.0767C6.88 20.4626 6.02245 19.8396 6.16257 19.0226L6.91109 14.6584C6.96675 14.3339 6.85908 14.0027 6.62321 13.773L3.45068 10.683C2.85708 10.1048 3.18387 9.09696 4.00378 8.97712L8.39037 8.33595C8.71572 8.2884 8.99691 8.08394 9.14245 7.78909L11.1033 3.81663Z" fill="#EEC480"/>
<path d="M37.1033 3.81663C37.4701 3.07346 38.5299 3.07346 38.8967 3.81663L40.8576 7.78909C41.0031 8.08394 41.2843 8.2884 41.6096 8.33595L45.9962 8.97712C46.8161 9.09696 47.1429 10.1048 46.5493 10.683L43.3768 13.773C43.1409 14.0027 43.0333 14.3339 43.0889 14.6584L43.8374 19.0226C43.9775 19.8396 43.12 20.4626 42.3864 20.0767L38.4655 18.0148C38.1741 17.8615 37.8259 17.8615 37.5345 18.0148L33.6136 20.0767C32.88 20.4626 32.0225 19.8396 32.1626 19.0226L32.9111 14.6584C32.9667 14.3339 32.8591 14.0027 32.6232 13.773L29.4507 10.683C28.8571 10.1048 29.1839 9.09696 30.0038 8.97712L34.3904 8.33595C34.7157 8.2884 34.9969 8.08394 35.1424 7.78909L37.1033 3.81663Z" fill="#EEC480"/>
<path d="M63.1033 3.81663C63.4701 3.07346 64.5299 3.07346 64.8967 3.81663L66.8576 7.78909C67.0031 8.08394 67.2843 8.2884 67.6096 8.33595L71.9962 8.97712C72.8161 9.09696 73.1429 10.1048 72.5493 10.683L69.3768 13.773C69.1409 14.0027 69.0333 14.3339 69.0889 14.6584L69.8374 19.0226C69.9775 19.8396 69.12 20.4626 68.3864 20.0767L64.4655 18.0148C64.1741 17.8615 63.8259 17.8615 63.5345 18.0148L59.6136 20.0767C58.88 20.4626 58.0225 19.8396 58.1626 19.0226L58.9111 14.6584C58.9667 14.3339 58.8591 14.0027 58.6232 13.773L55.4507 10.683C54.8571 10.1048 55.1839 9.09696 56.0038 8.97712L60.3904 8.33595C60.7157 8.2884 60.9969 8.08394 61.1424 7.78909L63.1033 3.81663Z" fill="#EEC480"/>
<path d="M89.1033 3.81663C89.4701 3.07346 90.5299 3.07346 90.8967 3.81663L92.8576 7.78909C93.0031 8.08394 93.2843 8.2884 93.6096 8.33595L97.9962 8.97712C98.8161 9.09696 99.1429 10.1048 98.5493 10.683L95.3768 13.773C95.1409 14.0027 95.0333 14.3339 95.0889 14.6584L95.8374 19.0226C95.9775 19.8396 95.12 20.4626 94.3864 20.0767L90.4655 18.0148C90.1741 17.8615 89.8259 17.8615 89.5345 18.0148L85.6136 20.0767C84.88 20.4626 84.0225 19.8396 84.1626 19.0226L84.9111 14.6584C84.9667 14.3339 84.8591 14.0027 84.6232 13.773L81.4507 10.683C80.8571 10.1048 81.1839 9.09696 82.0038 8.97712L86.3904 8.33595C86.7157 8.2884 86.9969 8.08394 87.1424 7.78909L89.1033 3.81663Z" fill="#EEC480"/>
<path d="M115.103 3.81663C115.47 3.07346 116.53 3.07346 116.897 3.81663L118.858 7.78909C119.003 8.08394 119.284 8.2884 119.61 8.33595L123.996 8.97712C124.816 9.09696 125.143 10.1048 124.549 10.683L121.377 13.773C121.141 14.0027 121.033 14.3339 121.089 14.6584L121.837 19.0226C121.978 19.8396 121.12 20.4626 120.386 20.0767L116.465 18.0148C116.174 17.8615 115.826 17.8615 115.535 18.0148L111.614 20.0767C110.88 20.4626 110.022 19.8396 110.163 19.0226L110.911 14.6584C110.967 14.3339 110.859 14.0027 110.623 13.773L107.451 10.683C106.857 10.1048 107.184 9.09696 108.004 8.97712L112.39 8.33595C112.716 8.2884 112.997 8.08394 113.142 7.78909L115.103 3.81663Z" fill="#EEC480"/>
</svg>
</span>
</p></div><p class="review-item__verified">
<i class="fa fa-check-circle"></i>
<span>Verified Buyer</span>
</p></div>
<div class="review-item__body"><h4 class="review-item__title">My cats love it!</h4><p class="review-item__text">Leo's Loo was an investment that I would make over and over. With two kitties we were going through kitty litter more than we should have been. So many PROS to having the Leo's Loo Too. Saving money on kitty litter, less dust, less mess, no stinky lingering scent masked by kitty litter. Most of all, my two male cats are so much happier!!</p></div>
</div>
</div><div class="review-itemWr">
<div class="review-item">
<svg width="34" height="26" class="top-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.3999 25.9C5.3999 25.9 3.49985 25.1 2.09985 23.7C0.699854 22.2 0 20.1 0 17.3C0 13.8 0.999902 10.4 2.8999 7.40002C4.6999 4.40002 7.19995 1.8 10.2 0L13.8999 2.40002C12.4999 3.70002 11.3999 5.09995 10.3999 6.69995C9.2999 8.29995 8.49995 10.2 8.19995 12.2C9.89995 12.3 11.3999 13 12.5999 14.2C13.7999 15.4 14.5 17.1 14.5 18.8C14.6 20.7 13.7999 22.6 12.3999 23.9C10.9999 25.2 9.2999 25.9 7.3999 25.9ZM26.2 25.9C24.2 25.9 22.2999 25.1 20.8999 23.7C19.4999 22.2 18.7998 20.1 18.7998 17.3C18.7998 13.8 19.8 10.4 21.7 7.40002C23.5 4.40002 26 1.8 29 0L32.7 2.40002C31.3 3.70002 30.2 5.09995 29.2 6.69995C28.1 8.29995 27.3 10.2 27 12.2C28.7 12.3 30.1999 13 31.3999 14.2C32.5999 15.4 33.2998 17.1 33.2998 18.8C33.3998 20.7 32.6 22.6 31.2 23.9C29.8 25.2 28 25.9 26.2 25.9Z" fill="#AFBEB0"></path>
</svg>
<svg width="34" height="26" class="bottom-svg" viewBox="0 0 34 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M26.1167 0C28.1167 0 30.0167 0.799951 31.4167 2.19995C32.8167 3.69995 33.5168 5.79998 33.5168 8.59998C33.5168 12.1 32.5167 15.5 30.6167 18.5C28.8167 21.5 26.3166 24.1 23.3166 25.9L19.6167 23.5C21.0167 22.2 22.1167 20.8 23.1167 19.2C24.2167 17.6 25.0166 15.7 25.3166 13.7C23.6166 13.6 22.1167 12.9 20.9167 11.7C19.7167 10.5 19.0168 8.79998 19.0168 7.09998C18.9168 5.19998 19.7167 3.3 21.1167 2C22.5167 0.7 24.3167 0 26.1167 0ZM7.41671 0C9.41671 0 11.3168 0.799951 12.7168 2.19995C14.1168 3.69995 14.8166 5.79998 14.8166 8.59998C14.8166 12.1 13.8167 15.5 11.9167 18.5C10.1167 21.5 7.61666 24.1 4.61666 25.9L0.91671 23.5C2.31671 22.2 3.41671 20.8 4.41671 19.2C5.51671 17.6 6.31666 15.7 6.61666 13.7C4.91666 13.6 3.41676 12.9 2.21676 11.7C1.01676 10.5 0.316612 8.89998 0.316612 7.09998C0.216612 5.19998 1.01671 3.3 2.41671 2C3.81671 0.7 5.61671 0 7.41671 0Z" fill="#AFBEB0"></path>
</svg>
<div class="review-item__head">
<div class="d-flex"><img src="//casaleopet.com/cdn/shop/files/Group_22.png?v=1690797744" alt="" loading="lazy" class="review-item__img"><p class="review-item__name">
<span>Max</span>
<span><svg width="128" height="24" viewBox="0 0 128 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.1033 3.81663C11.4701 3.07346 12.5299 3.07346 12.8967 3.81663L14.8576 7.78909C15.0031 8.08394 15.2843 8.2884 15.6096 8.33595L19.9962 8.97712C20.8161 9.09696 21.1429 10.1048 20.5493 10.683L17.3768 13.773C17.1409 14.0027 17.0333 14.3339 17.0889 14.6584L17.8374 19.0226C17.9775 19.8396 17.12 20.4626 16.3864 20.0767L12.4655 18.0148C12.1741 17.8615 11.8259 17.8615 11.5345 18.0148L7.61363 20.0767C6.88 20.4626 6.02245 19.8396 6.16257 19.0226L6.91109 14.6584C6.96675 14.3339 6.85908 14.0027 6.62321 13.773L3.45068 10.683C2.85708 10.1048 3.18387 9.09696 4.00378 8.97712L8.39037 8.33595C8.71572 8.2884 8.99691 8.08394 9.14245 7.78909L11.1033 3.81663Z" fill="#EEC480"/>
<path d="M37.1033 3.81663C37.4701 3.07346 38.5299 3.07346 38.8967 3.81663L40.8576 7.78909C41.0031 8.08394 41.2843 8.2884 41.6096 8.33595L45.9962 8.97712C46.8161 9.09696 47.1429 10.1048 46.5493 10.683L43.3768 13.773C43.1409 14.0027 43.0333 14.3339 43.0889 14.6584L43.8374 19.0226C43.9775 19.8396 43.12 20.4626 42.3864 20.0767L38.4655 18.0148C38.1741 17.8615 37.8259 17.8615 37.5345 18.0148L33.6136 20.0767C32.88 20.4626 32.0225 19.8396 32.1626 19.0226L32.9111 14.6584C32.9667 14.3339 32.8591 14.0027 32.6232 13.773L29.4507 10.683C28.8571 10.1048 29.1839 9.09696 30.0038 8.97712L34.3904 8.33595C34.7157 8.2884 34.9969 8.08394 35.1424 7.78909L37.1033 3.81663Z" fill="#EEC480"/>
<path d="M63.1033 3.81663C63.4701 3.07346 64.5299 3.07346 64.8967 3.81663L66.8576 7.78909C67.0031 8.08394 67.2843 8.2884 67.6096 8.33595L71.9962 8.97712C72.8161 9.09696 73.1429 10.1048 72.5493 10.683L69.3768 13.773C69.1409 14.0027 69.0333 14.3339 69.0889 14.6584L69.8374 19.0226C69.9775 19.8396 69.12 20.4626 68.3864 20.0767L64.4655 18.0148C64.1741 17.8615 63.8259 17.8615 63.5345 18.0148L59.6136 20.0767C58.88 20.4626 58.0225 19.8396 58.1626 19.0226L58.9111 14.6584C58.9667 14.3339 58.8591 14.0027 58.6232 13.773L55.4507 10.683C54.8571 10.1048 55.1839 9.09696 56.0038 8.97712L60.3904 8.33595C60.7157 8.2884 60.9969 8.08394 61.1424 7.78909L63.1033 3.81663Z" fill="#EEC480"/>
<path d="M89.1033 3.81663C89.4701 3.07346 90.5299 3.07346 90.8967 3.81663L92.8576 7.78909C93.0031 8.08394 93.2843 8.2884 93.6096 8.33595L97.9962 8.97712C98.8161 9.09696 99.1429 10.1048 98.5493 10.683L95.3768 13.773C95.1409 14.0027 95.0333 14.3339 95.0889 14.6584L95.8374 19.0226C95.9775 19.8396 95.12 20.4626 94.3864 20.0767L90.4655 18.0148C90.1741 17.8615 89.8259 17.8615 89.5345 18.0148L85.6136 20.0767C84.88 20.4626 84.0225 19.8396 84.1626 19.0226L84.9111 14.6584C84.9667 14.3339 84.8591 14.0027 84.6232 13.773L81.4507 10.683C80.8571 10.1048 81.1839 9.09696 82.0038 8.97712L86.3904 8.33595C86.7157 8.2884 86.9969 8.08394 87.1424 7.78909L89.1033 3.81663Z" fill="#EEC480"/>
<path d="M115.103 3.81663C115.47 3.07346 116.53 3.07346 116.897 3.81663L118.858 7.78909C119.003 8.08394 119.284 8.2884 119.61 8.33595L123.996 8.97712C124.816 9.09696 125.143 10.1048 124.549 10.683L121.377 13.773C121.141 14.0027 121.033 14.3339 121.089 14.6584L121.837 19.0226C121.978 19.8396 121.12 20.4626 120.386 20.0767L116.465 18.0148C116.174 17.8615 115.826 17.8615 115.535 18.0148L111.614 20.0767C110.88 20.4626 110.022 19.8396 110.163 19.0226L110.911 14.6584C110.967 14.3339 110.859 14.0027 110.623 13.773L107.451 10.683C106.857 10.1048 107.184 9.09696 108.004 8.97712L112.39 8.33595C112.716 8.2884 112.997 8.08394 113.142 7.78909L115.103 3.81663Z" fill="#EEC480"/>
</svg>
</span>
</p></div><p class="review-item__verified">
<i class="fa fa-check-circle"></i>
<span>Verified Buyer</span>
</p></div>
<div class="review-item__body"><h4 class="review-item__title">Works Great!</h4><p class="review-item__text">We researched for quite some time to find the perfect self-cleaning litter box. This is the first one that our cat (4 years old) has used, so we were a little worried about how she would do. She loves it! No issues at all. Additionally, I love that the smell has been reduced, there is little mess. and it is easy to clean. From looking at videos and directions, the second model of the Leo's Loo seems to be improved in that regard, so I'm glad we opted for the newer model, even though the delivery was pretty significantly delayed and communication/customer service could have been improved regarding that fact. Nonetheless, we are happy with the purchase. So far, one liner bag lasts about 2 weeks with our single cat.</p></div>
</div>
</div></div><a href="products/leo-s-loo-too/#bv-ratings-reviews" class="review__link">
<span>Read More Leo’s Loo Too Reviews</span>
<svg width="13" height="12" viewBox="0 0 13 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.25 0.96875V9.40625C12.25 9.89844 11.8633 10.25 11.4062 10.25C10.9141 10.25 10.5625 9.89844 10.5625 9.40625V3.00781L2.44141 11.1289C2.26562 11.3047 2.05469 11.375 1.84375 11.375C1.59766 11.375 1.38672 11.3047 1.24609 11.1289C0.894531 10.8125 0.894531 10.2852 1.24609 9.96875L9.36719 1.8125H2.96875C2.47656 1.8125 2.125 1.46094 2.125 0.96875C2.125 0.511719 2.47656 0.125 2.96875 0.125H11.4062C11.8633 0.125 12.25 0.511719 12.25 0.96875Z" fill="#212121"/>
</svg>
</a></div>
</section><section id="shopify-section-template--17690942669045__section-full-image" class="shopify-section full-image"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-full-image.css?v=138600997462403961261712588629" rel="stylesheet" type="text/css" media="all" />
<div class="container"><h2 class="full-image__title mb26">Have a question?</h2><p class="full-image__text mb42">Ask our support team or find a question in our FAQ</p><div class="d-flex justify-content-center"><a href="/pages/contact" class="button button__230">Ask our Support</a><a href="/pages/support" class="button button__230">Go to FAQ</a></div>
</div><style data-shopify>.full-image {
background:url(//casaleopet.com/cdn/shop/files/HOMEPAGE_5.jpg?v=1661538564);
background-size:cover;
background-position: center;
}</style></section><section id="shopify-section-template--17690942669045__section-form" class="shopify-section section-form"><link href="//casaleopet.com/cdn/shop/t/64/assets/section-form.css?v=118637584374811068691712588630" rel="stylesheet" type="text/css" media="all" />
<style data-shopify>.section-form__item:nth-child(2) {
background: #fafafa;
}</style><div class="container container--big">
<div class="section-form__wrap">
<div class="section-form__item">
<div class="gridParent"><div class="gridChild">
<img class="section-form__img--gallery" src="//casaleopet.com/cdn/shop/files/Rectangle_1291.jpg?v=1651050415" alt="" loading="lazy">
</div><div class="gridChild">
<img class="section-form__img--gallery" src="//casaleopet.com/cdn/shop/files/Rectangle_1288.jpg?v=1651050473" alt="" loading="lazy">
</div><div class="gridChild">
<img class="section-form__img--gallery" src="//casaleopet.com/cdn/shop/files/Living_Room_table_with_Light_1.jpg?v=1677166193" alt="" loading="lazy">
</div><div class="gridChild">
<img class="section-form__img--gallery" src="//casaleopet.com/cdn/shop/files/Image_5_copy_1.png?v=1652174916" alt="" loading="lazy">
</div><div class="gridChild">
<img class="section-form__img--gallery" src="//casaleopet.com/cdn/shop/files/Revised_Hero_5.1_with_App.png?v=1652173705" alt="" loading="lazy">
</div></div>
</div>
<div class="section-form__item"><form method="post" action="/contact#form" id="form" accept-charset="UTF-8" class="form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="contact[tags]" value="newsletter"><h2 class="section-form__title">Join the Casa Leo Family</h2><p class="section-form__text mb42">Subscribe or follow our social media channels for product updates, special offers and other useful info for you and kitty.</p><input class="mb42" type="email" placeholder="Enter your email address" name="contact[email]" autocorrect="off" autocapitalize="off"><button type="submit" class="button button__230">Subscribe</button><a href="https://instagram.com/casaleopet?igshid=MzRlODBiNWFlZA==" class="button">Follow Us on Instagram</a></form></div>
<div class="section-form__item"><img class="section-form__img" src="//casaleopet.com/cdn/shop/files/Group_12453.png?v=1652980467" alt="" loading="lazy"></div>
</div>
</div>
</section><div id="shopify-section-template--17690942669045__section-popup" class="shopify-section overlay"><video controls id="popupVideo">
<source src="https://cdn.shopify.com/s/files/1/0639/8921/9573/files/30s_Product_Video_final_2.mp4?v=1652196618" type="video/mp4">
</video><style data-shopify>body {
position: relative;
}
.overlay {
display: none;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,.8);
z-index: 777;
}
#popupVideo {
position: fixed;
top: 10vh;
left: 50%;
transform: translateX(-50%);
z-index: 778;
width: 75%;
height: 70vh;
-o-object-fit: cover;
object-fit: cover;
}
@media screen and (max-width: 990px) {
#popupVideo {
width: 85%;
height: 40vh;
}
}</style></div><div id="shopify-section-template--17690942669045__section-popup2" class="shopify-section overlay2"><video controls id="popupVideo2">
<source src="https://cdn.shopify.com/s/files/1/0639/8921/9573/files/Smarty_Pear_compress_v1.mp4?v=1652447265" type="video/mp4">
</video><style data-shopify>body {
position: relative;
}
.overlay2 {
display: none;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,.8);
z-index: 777;
}
#popupVideo2 {
position: fixed;
top: 10vh;
left: 50%;
transform: translateX(-50%);
z-index: 778;
width: 75%;
height: 70vh;
-o-object-fit: cover;
object-fit: cover;
}
@media screen and (max-width: 990px) {
#popupVideo2 {
width: 85%;
height: 40vh;
}
}</style></div>
</main><div id="block_sidebar_cart">
<div id="sidebar-cart" class="sidebarcart" aria-hidden="true" data-section-id="cart" data-section-type="cart" data-section-settings='{
"type": "drawer",
"itemCount": 0,
"drawer": true,
"hasShippingEstimator": false
}'>
<div class="row align-items-center sidebar-cart-header no-gutters">
<div class="col"><div class="h4 fw_600">CART</div></div>
<div class="col-auto">
<div class="sidebar-cart-close" onclick="close_sidebar_cart();">
<i class="fal fa-times"></i>
</div>
</div>
</div>
<div class="mini-cart-form" >
<div class="mini-cart__main"><p class="Cart__Empty Heading u-h5">YOUR CART IS EMPTY</p></div></div>
</div>
</div><footer id="shopify-section-section-footer" class="shopify-section footer">
<link href="//casaleopet.com/cdn/shop/t/64/assets/section-footer.css?v=20682815576957950991712588628" rel="stylesheet" type="text/css" media="all" />
<div class="footer__decor">
<svg width="54" height="78" viewbox="0 0 54 78" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M50 22.8C46.7 26.5 42.5 29.2001 37.8 30.4001C38.5 32.4001 38.5 32.4 38.7 34.2C41.1 47.5 31.3 62 17.5 63.2C11.5 63.8 5.4 63.1001 0 60.6001V75.5C2.1 76.1 4.19999 76.6001 6.39999 76.9001C7.29999 77.0001 8.1 77.1 9 77.2C27.1 79.4 43.9 69.6 50.4 52.5C54.5 42.7 53.9 32.1 50 22.8Z" fill="#5E7460"></path>
<path d="M50 22.8C45.9 13 38 4.80005 27.5 1.00005C18.5 -2.09995 13.7 10.8001 22.5 14.4001C29.7 17.0001 35.4 23.1001 37.8 30.4001C42.5 29.2001 46.8 26.5 50 22.8Z" fill="#F6F7FB"></path>
</svg>
</div><hr class="footer__hr">
<div class="container">
<div class="row justify-content-between">
<div class="col-xl-2 footer-item"><div class="footer__img">
<svg width="178" height="33" viewbox="0 0 178 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.4 10.9C14 10.2 12.3 9.90002 10.6 9.90002C8.60001 9.90002 6.70001 10.4 5.10001 11.4C3.50001 12.4 2.29999 13.8 1.39999 15.5C0.499994 17.2 0 19.2 0 21.4C0 23.6 0.5 25.5 1.5 27.2C2.5 28.9 3.8 30.3 5.5 31.3C7.2 32.3 9.10001 32.8 11.2 32.8C14.2 32.8 16.7 31.9 18.7 30C19 29.8 19.1 29.5 19.1 29.1C19.1 28.8 18.9 28.4 18.6 28.2C18.4 28 18.1 27.8 17.7 27.9C17.4 27.9 17.1 28.1 16.8 28.3C16.1 29 15.2 29.5 14.3 29.8C13.3 30.1 12.3 30.3 11.2 30.3C9.50001 30.3 8.00002 29.9 6.80002 29.1C5.50002 28.3 4.50002 27.2 3.80002 25.9C3.10002 24.6 2.70001 23 2.70001 21.4C2.70001 19.7 3.00001 18.1 3.70001 16.8C4.30001 15.5 5.3 14.4 6.5 13.6C7.7 12.8 9.10001 12.4 10.6 12.4C13.2 12.4 15.4 13.4 17.1 15.4C17.3 15.7 17.6 15.9 18 15.9C18.3 15.9 18.6 15.9 18.9 15.7C19.2 15.5 19.4 15.2 19.5 14.9C19.6 14.6 19.5 14.2 19.2 13.9C18.1 12.6 16.8 11.6 15.4 10.9Z" fill="#626E61"></path>
<path d="M66.6 21.3C65.4 20.6 63.8 20.2001 61.7 19.9001C60.2 19.7001 59 19.4001 58.2 19.0001C57.3 18.6001 56.7 18.2 56.3 17.7C55.9 17.2 55.7 16.6001 55.7 15.9001C55.7 14.9001 56.2 14.1001 57.1 13.4001C58 12.7001 59.3 12.3 61 12.3C62.2 12.3 63.4 12.5001 64.3 13.0001C65.2 13.4001 66 14.1001 66.7 14.9001C66.9 15.2001 67.2 15.4001 67.6 15.4001C67.9 15.5001 68.2 15.4 68.5 15.3C68.9 15.1 69.1 14.8001 69.2 14.5001C69.3 14.1001 69.2 13.8001 69 13.5001C68.2 12.4001 67.2 11.5 65.9 10.8C64.6 10.1 63 9.80005 61.2 9.80005C59.7 9.80005 58.3 10.0001 57.1 10.5001C55.9 11.0001 54.9 11.7 54.3 12.7C53.6 13.7 53.3 14.8 53.3 16.2C53.3 17.7 54 19 55.3 20.1C56.6 21.2 58.7 21.9 61.4 22.3C63.5 22.6 65 23.1 66 23.8C67 24.5 67.5 25.3 67.5 26.3C67.5 27.3 67 28.3001 66.1 29.0001C65.2 29.8001 63.6 30.2 61.4 30.2C60.1 30.2 58.9 30 57.8 29.7C56.7 29.3 55.8 28.7 55 27.8C54.8 27.5 54.5 27.4 54.2 27.3C53.9 27.2 53.5 27.3001 53.2 27.5001C52.9 27.7001 52.7 28.0001 52.6 28.4001C52.6 28.7001 52.7 29.1001 52.9 29.4001C53.9 30.6001 55.3 31.5001 56.8 32.0001C58.3 32.5001 59.9 32.8 61.3 32.8C62.9 32.8 64.3 32.5001 65.7 32.0001C67 31.5001 68.1 30.7 69 29.8C69.8 28.8 70.2 27.7001 70.2 26.4001C70.2 25.4001 69.9 24.5 69.4 23.6C68.7 22.8 67.8 22 66.6 21.3Z" fill="#626E61"></path>
<path d="M128 29.9001H126.4C125.6 29.9001 125 29.5001 124.5 28.8001C124 28.0001 123.7 27.0001 123.7 25.8001V2.00012C123.7 1.60012 123.6 1.30012 123.3 1.00012C123.1 0.800122 122.7 0.600098 122.3 0.600098C121.9 0.600098 121.6 0.700122 121.3 1.00012C121 1.20012 120.9 1.60012 120.9 2.00012V25.8001C120.9 27.1001 121.1 28.3001 121.6 29.3001C122.1 30.3001 122.7 31.1001 123.5 31.7001C124.3 32.3001 125.3 32.6001 126.3 32.6001H127.7C128.1 32.6001 128.4 32.5001 128.7 32.2001C128.9 31.9001 129.1 31.6001 129.1 31.2001C129.1 30.8001 129 30.5001 128.8 30.2001C128.6 30.0001 128.3 29.9001 128 29.9001Z" fill="#626E61"></path>
<path d="M146.9 11.3C145.3 10.4 143.5 9.90002 141.5 9.90002C139.5 9.90002 137.6 10.4 136 11.4C134.4 12.4 133.2 13.7 132.3 15.4C131.4 17.1 130.9 19.1 130.9 21.3C130.9 23.5 131.4 25.5 132.3 27.2C133.3 28.9 134.6 30.3 136.3 31.2C138 32.2 139.9 32.7 142.1 32.7C143.4 32.7 144.7 32.4 146.1 31.9C147.5 31.4 148.7 30.7 149.5 29.9C149.8 29.6 149.9 29.3 149.9 29C149.9 28.7 149.7 28.4 149.4 28.1C149.2 27.9 148.9 27.8 148.5 27.8C148.2 27.8 147.9 27.9 147.6 28.2C147 28.8 146.2 29.3 145.1 29.6C144 30 143 30.1 142 30.1C140.4 30.1 138.9 29.7 137.6 29C136.3 28.2 135.3 27.2 134.6 25.9C134 24.8 133.7 23.5 133.6 22.2H150.5C150.9 22.2 151.2 22.1 151.4 21.9C151.6 21.7 151.8 21.4 151.8 21C151.8 18.9 151.4 16.9 150.5 15.3C149.7 13.6 148.4 12.3 146.9 11.3ZM133.7 19.8C133.8 18.6 134.2 17.6 134.6 16.7C135.3 15.4 136.2 14.3 137.4 13.6C138.6 12.8 139.9 12.5 141.5 12.5C143.1 12.5 144.5 12.9 145.7 13.6C146.9 14.4 147.8 15.4 148.4 16.7C148.8 17.6 149.1 18.7 149.2 19.8H133.7Z" fill="#626E61"></path>
<path d="M176.3 15.5C175.3 13.8 173.9 12.4 172.2 11.4C170.5 10.4 168.5 9.90002 166.3 9.90002C164.1 9.90002 162.1 10.4 160.4 11.4C158.7 12.4 157.3 13.8 156.3 15.5C155.3 17.2 154.8 19.2 154.8 21.4C154.8 23.6 155.3 25.5 156.3 27.3C157.3 29 158.7 30.4 160.4 31.4C162.1 32.4 164.1 32.9 166.3 32.9C168.5 32.9 170.5 32.4 172.2 31.4C173.9 30.4 175.3 29 176.3 27.3C177.3 25.6 177.8 23.6 177.8 21.4C177.8 19.2 177.3 17.2 176.3 15.5ZM174 25.9C173.2 27.2 172.2 28.3 170.9 29.1C169.6 29.9 168.1 30.3 166.4 30.3C164.8 30.3 163.2 29.9 161.9 29.1C160.6 28.3 159.5 27.2 158.7 25.9C157.9 24.6 157.5 23 157.5 21.4C157.5 19.7 157.9 18.2 158.7 16.8C159.5 15.5 160.5 14.4 161.9 13.6C163.3 12.8 164.7 12.4 166.4 12.4C168.1 12.4 169.6 12.8 170.9 13.6C172.2 14.4 173.3 15.5 174 16.8C174.8 18.1 175.1 19.7 175.1 21.3C175.1 23 174.7 24.6 174 25.9Z" fill="#626E61"></path>
<path d="M49.2 29.7H48.2C47.4 29.7 46.8 29.3 46.3 28.6C45.8 27.8 45.5 26.2 45.5 25.1V21.5C45.5 19.3 45 17.3 44 15.6C43 13.9 41.6 12.5 39.9 11.5C38.2 10.5 36.2 10 34 10C31.8 10 29.8 10.5 28.1 11.5C26.4 12.5 25 13.9 24 15.6C23 17.3 22.5 19.3 22.5 21.5C22.5 23.7 23 25.6 24 27.4C25 29.1 26.4 30.5 28.1 31.5C29.8 32.5 31.8 33 34 33C36 33 37.8 32.6 39.3 31.7C40.9 30.8 42.1 29.7 43 28.2C43.1 28.6 43.2 29 43.4 29.3C43.9 30.3 44.5 31.1 45.3 31.7C46.1 32.3 47.1 32.6 48.1 32.6H48.9C49.3 32.6 49.6 32.5 49.9 32.2C50.1 31.9 50.3 31.6 50.3 31.2C50.3 30.8 50.2 30.5 50 30.2C49.8 29.8 49.5 29.7 49.2 29.7ZM41.6 25.9C40.8 27.2 39.8 28.3 38.5 29.1C37.2 29.9 35.7 30.3 34 30.3C32.4 30.3 30.8 29.9 29.5 29.1C28.2 28.3 27.1 27.2 26.3 25.9C25.5 24.6 25.1 23 25.1 21.4C25.1 19.7 25.5 18.2 26.3 16.8C27.1 15.4 28.1 14.4 29.5 13.6C30.8 12.8 32.3 12.4 34 12.4C35.7 12.4 37.2 12.8 38.5 13.6C39.8 14.4 40.9 15.5 41.6 16.8C42.4 18.1 42.7 19.7 42.7 21.4C42.8 23 42.4 24.6 41.6 25.9Z" fill="#626E61"></path>
<path d="M105.6 23.8C105.1 24.4 104.4 24.8 103.6 25H103.5C103.7 25.7 103.7 26.3 103.6 27C103.3 28.5 101.9 29.7 100.4 29.9C99.6 30 98.9 29.8 98.2 29.5C97.9 29.3 97.6 29.1 97.4 28.8C96.9 28 96.6 27 96.6 25.8V21.4C96.6 19.2 96.1 17.2 95.1 15.5C94.1 13.8 92.7 12.4 91 11.4C89.3 10.4 87.3 9.90002 85.1 9.90002C82.9 9.90002 80.9 10.4 79.2 11.4C77.5 12.4 76.1 13.8 75.1 15.5C74.1 17.2 73.6 19.2 73.6 21.4C73.6 23.6 74.1 25.5 75.1 27.3C76.1 29 77.5 30.4 79.2 31.4C80.9 32.4 82.9 32.9 85.1 32.9C87.1 32.9 88.9 32.5 90.4 31.6C91.9 30.8 93.1 29.7 94 28.3C94.9 30.7 97.2 32.4 99.8 32.4C103.2 32.4 106 29.6 106 26.2C106.1 25.3 106 24.5 105.6 23.8ZM92.8 25.9C92 27.2 91 28.3 89.7 29.1C88.4 29.9 86.9 30.3 85.2 30.3C83.6 30.3 82 29.9 80.7 29.1C79.4 28.3 78.3 27.2 77.5 25.9C76.7 24.6 76.3 23 76.3 21.4C76.3 19.7 76.7 18.2 77.5 16.8C78.3 15.5 79.3 14.4 80.7 13.6C82 12.8 83.5 12.4 85.2 12.4C86.9 12.4 88.4 12.8 89.7 13.6C91 14.4 92.1 15.5 92.8 16.8C93.6 18.1 93.9 19.7 93.9 21.4C94 23 93.6 24.6 92.8 25.9Z" fill="#626E61"></path>
<path d="M105.6 23.7C105.6 23.6 105.5 23.6 105.5 23.5C104.8 22 103.5 20.9 102 20.4C101.7 20.3 101.3 20.3 101 20.5C100.7 20.7 100.5 21 100.4 21.3C100.3 21.9 100.6 22.5 101.2 22.7C102.3 23.1 103.1 23.9 103.4 25V25.1H103.5C104.3 24.9 105 24.5 105.5 23.9L105.6 23.7Z" fill="white"></path>
</svg>
</div><div class="social-links"><a href="https://instagram.com/casaleopet?igshid=MzRlODBiNWFlZA==" target="_blank" class="social-link"><svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="30" height="30" rx="15" fill=""/>
<path d="M14.9961 8.2362C17.1992 8.2362 17.4579 8.24602 18.3286 8.2853C19.1339 8.32131 19.5693 8.45553 19.8607 8.57011C20.2469 8.72069 20.5219 8.89746 20.81 9.18554C21.0981 9.47361 21.2781 9.74859 21.4254 10.1349C21.5367 10.4262 21.6742 10.8616 21.7102 11.6669C21.7495 12.5377 21.7593 12.7963 21.7593 14.9994C21.7593 17.2025 21.7495 17.4611 21.7102 18.3319C21.6742 19.1372 21.54 19.5726 21.4254 19.8639C21.2748 20.2502 21.0981 20.5252 20.81 20.8133C20.5219 21.1013 20.2469 21.2814 19.8607 21.4287C19.5693 21.54 19.1339 21.6775 18.3286 21.7135C17.4579 21.7528 17.1992 21.7626 14.9961 21.7626C12.793 21.7626 12.5344 21.7528 11.6636 21.7135C10.8583 21.6775 10.4229 21.5433 10.1316 21.4287C9.74532 21.2781 9.47034 21.1013 9.18227 20.8133C8.89419 20.5252 8.71414 20.2502 8.56683 19.8639C8.45553 19.5726 8.31804 19.1372 8.28203 18.3319C8.24275 17.4611 8.23293 17.2025 8.23293 14.9994C8.23293 12.7963 8.24275 12.5377 8.28203 11.6669C8.31804 10.8616 8.45226 10.4262 8.56683 10.1349C8.71742 9.74859 8.89419 9.47361 9.18227 9.18554C9.47034 8.89746 9.74532 8.71742 10.1316 8.57011C10.4229 8.4588 10.8583 8.32131 11.6636 8.2853C12.5344 8.24275 12.7963 8.2362 14.9961 8.2362ZM14.9961 6.75C12.757 6.75 12.4755 6.75982 11.5949 6.7991C10.7176 6.83839 10.1185 6.97915 9.59474 7.18211C9.05132 7.39162 8.59302 7.67642 8.13472 8.13472C7.67642 8.59302 7.39489 9.05459 7.18211 9.59473C6.97915 10.1185 6.83839 10.7176 6.7991 11.5982C6.75982 12.4755 6.75 12.757 6.75 14.9961C6.75 17.2352 6.75982 17.5168 6.7991 18.3974C6.83839 19.2747 6.97915 19.8737 7.18211 20.4008C7.39162 20.9442 7.67642 21.4025 8.13472 21.8608C8.59302 22.3191 9.0546 22.6006 9.59474 22.8134C10.1185 23.0164 10.7176 23.1571 11.5982 23.1964C12.4788 23.2357 12.757 23.2455 14.9994 23.2455C17.2418 23.2455 17.5201 23.2357 18.4006 23.1964C19.278 23.1571 19.877 23.0164 20.4041 22.8134C20.9475 22.6039 21.4058 22.3191 21.8641 21.8608C22.3224 21.4025 22.6039 20.9409 22.8167 20.4008C23.0197 19.877 23.1604 19.278 23.1997 18.3974C23.239 17.5168 23.2488 17.2385 23.2488 14.9961C23.2488 12.7537 23.239 12.4755 23.1997 11.5949C23.1604 10.7176 23.0197 10.1185 22.8167 9.59146C22.6072 9.04805 22.3224 8.58975 21.8641 8.13145C21.4058 7.67315 20.9442 7.39162 20.4041 7.17884C19.8803 6.97588 19.2812 6.83511 18.4006 6.79583C17.5168 6.75982 17.2353 6.75 14.9961 6.75Z" fill="#E9F4FF"/>
<path d="M14.9961 8.2362C17.1992 8.2362 17.4579 8.24602 18.3286 8.2853C19.1339 8.32131 19.5693 8.45553 19.8607 8.57011C20.2469 8.72069 20.5219 8.89746 20.81 9.18554C21.0981 9.47361 21.2781 9.74859 21.4254 10.1349C21.5367 10.4262 21.6742 10.8616 21.7102 11.6669C21.7495 12.5377 21.7593 12.7963 21.7593 14.9994C21.7593 17.2025 21.7495 17.4611 21.7102 18.3319C21.6742 19.1372 21.54 19.5726 21.4254 19.8639C21.2748 20.2502 21.0981 20.5252 20.81 20.8133C20.5219 21.1013 20.2469 21.2814 19.8607 21.4287C19.5693 21.54 19.1339 21.6775 18.3286 21.7135C17.4579 21.7528 17.1992 21.7626 14.9961 21.7626C12.793 21.7626 12.5344 21.7528 11.6636 21.7135C10.8583 21.6775 10.4229 21.5433 10.1316 21.4287C9.74532 21.2781 9.47034 21.1013 9.18227 20.8133C8.89419 20.5252 8.71414 20.2502 8.56683 19.8639C8.45553 19.5726 8.31804 19.1372 8.28203 18.3319C8.24275 17.4611 8.23293 17.2025 8.23293 14.9994C8.23293 12.7963 8.24275 12.5377 8.28203 11.6669C8.31804 10.8616 8.45226 10.4262 8.56683 10.1349C8.71742 9.74859 8.89419 9.47361 9.18227 9.18554C9.47034 8.89746 9.74532 8.71742 10.1316 8.57011C10.4229 8.4588 10.8583 8.32131 11.6636 8.2853C12.5344 8.24275 12.7963 8.2362 14.9961 8.2362Z" fill="#E9F4FF"/>
<path d="M14.9958 10.7632C12.6584 10.7632 10.7598 12.6586 10.7598 14.9992C10.7598 17.3398 12.6552 19.2352 14.9958 19.2352C17.3364 19.2352 19.2318 17.3398 19.2318 14.9992C19.2318 12.6586 17.3364 10.7632 14.9958 10.7632ZM14.9958 17.7457C13.4768 17.7457 12.246 16.5148 12.246 14.9959C12.246 13.477 13.4768 12.2461 14.9958 12.2461C16.5147 12.2461 17.7456 13.477 17.7456 14.9959C17.7456 16.5148 16.5147 17.7457 14.9958 17.7457Z" fill=""/>
<path d="M19.3988 11.5817C19.9448 11.5817 20.3874 11.1391 20.3874 10.5931C20.3874 10.0471 19.9448 9.60449 19.3988 9.60449C18.8528 9.60449 18.4102 10.0471 18.4102 10.5931C18.4102 11.1391 18.8528 11.5817 19.3988 11.5817Z" fill=""/>
</svg>
</a><a href="https://www.tiktok.com/@casaleopet" target="_blank" class="social-link"><svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="30" height="30" rx="15" fill=""/>
<path d="M18.3301 6H15.2226V18.2608C15.2226 19.7218 14.0274 20.9218 12.5401 20.9218C11.0527 20.9218 9.85751 19.7218 9.85751 18.2608C9.85751 16.8261 11.0261 15.6522 12.4604 15.6V12.5217C9.29975 12.5739 6.75 15.1044 6.75 18.2608C6.75 21.4435 9.35287 24 12.5666 24C15.7803 24 18.3832 21.4174 18.3832 18.2608V11.9739C19.5519 12.8087 20.9861 13.3043 22.5 13.3305V10.2522C20.1628 10.1739 18.3301 8.29565 18.3301 6Z" fill="#E9F4FF"/>
</svg>
</a><a href="https://www.youtube.com/channel/UCY7pecGB9YAHqMEJZQiPw2A" target="_blank" class="social-link"><svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="30" height="30" rx="15" fill=""/>
<path d="M24.1341 10.3624C23.9118 9.53647 23.2606 8.88529 22.4347 8.66294C20.9259 8.25 14.8906 8.25 14.8906 8.25C14.8906 8.25 8.85529 8.25 7.34647 8.64706C6.53647 8.86941 5.86941 9.53647 5.64706 10.3624C5.25 11.8712 5.25 15 5.25 15C5.25 15 5.25 18.1447 5.64706 19.6376C5.86941 20.4635 6.52059 21.1147 7.34647 21.3371C8.87118 21.75 14.8906 21.75 14.8906 21.75C14.8906 21.75 20.9259 21.75 22.4347 21.3529C23.2606 21.1306 23.9118 20.4794 24.1341 19.6535C24.5312 18.1447 24.5312 15.0159 24.5312 15.0159C24.5312 15.0159 24.5471 11.8712 24.1341 10.3624Z" fill="#E9F4FF"/>
<path d="M12.9688 17.8906L17.9876 15L12.9688 12.1094V17.8906Z" fill=""/>
</svg>
</a><a href="https://www.facebook.com/CasaLeoPet/" target="_blank" class="social-link"><svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="30" height="30" rx="15" fill=""/>
<path d="M19.5427 20.6455L20.1372 16.842H16.4184V14.3748C16.4184 13.334 16.9369 12.3189 18.6025 12.3189H20.2943V9.08073C20.2943 9.08073 18.7597 8.82373 17.2931 8.82373C14.229 8.82373 12.2282 10.6458 12.2282 13.9431V16.842H8.82373V20.6455H12.2282V29.8409C12.9118 29.9462 13.611 30.0002 14.3233 30.0002C15.0357 30.0002 15.7349 29.9462 16.4184 29.8409V20.6455H19.5427Z" fill="#E9F4FF"/>
</svg>
</a></div><p class="textForLink">Contact Email</p>
<svg width="18" height="11" viewBox="0 0 18 11" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.1809 3.91659L11.0098 5.4262L17.9869 10.2792C17.9869 10.2589 18.0004 10.2387 18.0004 10.2184V0.64268C18.0004 0.615686 17.9869 0.60219 17.9869 0.575195C17.0509 1.22996 15.0463 2.62702 13.1809 3.9163L13.1809 3.91659Z" fill=""/>
<path d="M9.37776 5.74841L12.7999 3.36809C14.6516 2.08557 16.6427 0.702001 17.5853 0.0472403C17.5111 0.0202464 17.439 0 17.3581 0H0.64131C0.56033 0 0.488293 0.020246 0.414062 0.0472403L8.61495 5.74832C8.84879 5.90809 9.15042 5.90809 9.3775 5.74832L9.37776 5.74841Z" fill=""/>
<path d="M0.0134969 0.58252C0.0134969 0.602765 0 0.623009 0 0.643254V10.221C0 10.2412 0.0134969 10.2615 0.0134969 10.2817L6.9906 5.42878L0.0134969 0.58252Z" fill=""/>
<path d="M9.75778 6.29717C9.53053 6.45693 9.2628 6.53791 8.99506 6.53791C8.72732 6.53791 8.45958 6.45693 8.23234 6.29042L7.57758 5.83594L0.414062 10.815C0.488297 10.842 0.56033 10.8623 0.641311 10.8623H17.3581C17.439 10.8623 17.5111 10.842 17.5853 10.815L10.4194 5.83594L9.75778 6.29717Z" fill=""/>
</svg>
</a></div><div class="col-xl-2 col-6 footer-item">
<ul class="menu-footer">
<li class="menu-footer__title">Shop All</li><li class="menu-footer__item"><a href="/products/leo-s-loo" class="">Leo’s Loo</a></li><li class="menu-footer__item"><a href="/products/leo-s-loo-too" class="">Leo’s Loo Too</a></li><li class="menu-footer__item"><a href="/collections/accessories" class="">Accessories</a></li></ul>
</div><div class="col-xl-2 col-6 footer-item">
<ul class="menu-footer">
<li class="menu-footer__title">Company</li><li class="menu-footer__item"><a href="/pages/about-us" class="">About Us</a></li><li class="menu-footer__item"><a href="/pages/partnership-page" class="">Partnership</a></li><li class="menu-footer__item"><a href="/pages/affiliate-page" class="">Affiliates</a></li><li class="menu-footer__item"><a href="/pages/smarty-pear-warranty" class="">Warranty</a></li><li class="menu-footer__item"><a href="/pages/share-the-love-get-rewards" class="">Rewards Program</a></li><li class="menu-footer__item"><a href="/pages/store-locator" class="">Store Locator</a></li></ul>
</div><div class="col-xl-2 footer-item">
<ul class="menu-footer menu-footer--3">
<li class="menu-footer__title">Support</li><li class="menu-footer__item"><a href="/pages/support" class="">FAQ</a></li><li class="menu-footer__item"><a href="/account/login" class="">My account</a></li><li class="menu-footer__item"><a href="/pages/contact" class="">Contact Us</a></li><li class="menu-footer__item"><a href="/pages/shipping-and-return-policy" class="">Shipping and Return Policy</a></li></ul>
</div><div class="col-xl-3 footer-item"><form method="post" action="/contact#footer-form" id="footer-form" accept-charset="UTF-8" class="footer-form"><input type="hidden" name="form_type" value="contact" /><input type="hidden" name="utf8" value="✓" />
<h5 class="footer-form__title mb26">Be the first to know about sales and new features and products</h5>
<div class="footer-form__input">
<input type="email" placeholder="Enter Email Address" name="contact[email]" autocorrect="off" autocapitalize="off">
<button type="submit">
<svg width="11" height="18" viewBox="0 0 11 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2.66406 1.375L9.8125 8.83594C9.96875 9.03125 10.0859 9.26562 10.0859 9.5C10.0859 9.73438 9.96875 9.96875 9.8125 10.125L2.66406 17.5859C2.3125 17.9766 1.6875 17.9766 1.33594 17.625C0.945312 17.2734 0.945312 16.6875 1.29688 16.2969L7.85938 9.46094L1.29688 2.66406C0.945312 2.3125 0.945312 1.6875 1.33594 1.33594C1.6875 0.984375 2.3125 0.984375 2.66406 1.375Z" fill=""/>
</svg>
</button>
</div></form></div>
</div>
</div>
<hr class="footer__hr">
<div class="container">
<div class="footer-bottom mt26"><p>Copyright © 2023 Casa Leo. All Rights Reserved</p><div class="row justify-content-center" ><a href="/policies/terms-of-service" class="footer-bottom__link ">Terms of Service</a><a href="/policies/privacy-policy" class="footer-bottom__link ">Privacy Policy</a><a href="/pages/prop-65" class="footer-bottom__link ">Prop 65</a></div></div>
</div>
</footer>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script src="//casaleopet.com/cdn/shop/t/64/assets/fancybox.js?v=10391612559617436071712588628" defer="defer"></script>
<script type="text/javascript" src="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.min.js"></script>
<script src="//casaleopet.com/cdn/shop/t/64/assets/mini-cart.js?v=154700815488226911791712588630" defer="defer"></script>
<script src="//casaleopet.com/cdn/shop/t/64/assets/script.js?v=146356430582157199951712588766" defer="defer"></script>
<ul hidden>
<li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li>
</ul>
<script>
window.routes = {
cart_add_url: '/cart/add',
cart_change_url: '/cart/change',
cart_update_url: '/cart/update',
predictive_search_url: '/search/suggest'
};
window.cartStrings = {
error: `There was an error while updating your cart. Please try again.`,
quantityError: `You can only add {{ quantity }} of this item to your cart.`
}
window.variantStrings = {
addToCart: `Add to cart`,
soldOut: `Sold out`,
unavailable: `Unavailable`,
}
window.accessibilityStrings = {
shareSuccess: `Link copied to clipboard`,
}
</script>
<!-- PickyStory code, do not modify. Safe to remove after the app is uninstalled -->
<!-- PickyStory code end -->
<!-- PickyStory snippet "main_widget_script", do not modify. Safe to remove after the app is uninstalled -->
<!-- PickyStory end snippet "main_widget_script" -->
<!-- klaviyo -->
<script src="https://a.klaviyo.com/media/js/onsite/onsite.js"></script>
<script>
var klaviyo = klaviyo || [];
klaviyo.init({
account: "TbkTQL",
platform: "shopify"
});
klaviyo.enable("backinstock",{
trigger: {
product_page_text: "Notify Me When Available",
product_page_class: "btn",
product_page_text_align: "center",
product_page_margin: "20px 0px 0px 0px",
alternate_anchor: "klaviyo-anchor",
replace_anchor: false
},
modal: {
headline: "{product_name}",
body_content: "Register to receive a notification when this item comes back in stock.",
email_field_label: "Email",
button_label: "Notify me when available",
subscription_success_label: "You're in! We'll let you know when it's back.",
footer_content: '',
additional_styles: "@import url('https://fonts.googleapis.com/css?family=Helvetica+Neue');",
drop_background_color: "#000",
background_color: "#fff",
text_color: "#222",
button_text_color: "#fff",
button_background_color: "#439fdb",
close_button_color: "#ccc",
error_background_color: "#fcd6d7",
error_text_color: "#C72E2F",
success_background_color: "#d3efcd",
success_text_color: "#1B9500"
}
});
</script>
<!-- klaviyo -->
<!-- Affirm -->
<script>
_affirm_config = {
public_api_key: "GUR3G7Y3W2AQQFRI",
script: "https://cdn1.affirm.com/js/v2/affirm.js"
};
(function(l,g,m,e,a,f,b){var d,c=l[m]||{},h=document.createElement(f),n=document.getElementsByTagName(f)[0],k=function(a,b,c){return function(){a[b]._.push([c,arguments])}};c[e]=k(c,e,"set");d=c[e];c[a]={};c[a]._=[];d._=[];c[a][b]=k(c,a,b);a=0;for(b="set add save post open empty reset on off trigger ready setProduct".split(" ");a<b.length;a++)d[b[a]]=k(c,e,b[a]);a=0;for(b=["get","token","url","items"];a<b.length;a++)d[b[a]]=function(){};h.async=!0;h.src=g[f];n.parentNode.insertBefore(h,n);delete g[f];d(g);l[m]=c})(window,_affirm_config,"affirm","checkout","ui","script","ready");
// Use your live public API Key and https://cdn1.affirm.com/js/v2/affirm.js script to point to Affirm production environment.
</script>
<!-- End Affirm -->
<script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>
<script>
window.renderOptIn = function() {
window.gapi.load('surveyoptin', function() {
window.gapi.surveyoptin.render(
{
// REQUIRED FIELDS
"merchant_id": 472211389,
"order_id": "ORDER_ID",
"email": "CUSTOMER_EMAIL",
"delivery_country": "COUNTRY_CODE",
"estimated_delivery_date": "YYYY-MM-DD",
// OPTIONAL FIELDS
"products": [{"gtin":"GTIN1"}, {"gtin":"GTIN2"}]
});
});
}
</script>
<script src="https://t.cometlytrack.com?uid=4f11b5-3640-6c66e6-s"></script>
<script type="text/javascript" src="https://mutable.zuberance.com/smartypear/raf-4.35.3.js"></script>
<script type="text/javascript" src="https://mutable.zuberance.com/smartypear/raf-ui-4.35.3.js"></script>
<!-- **BEGIN** Hextom USB Integration // Main Include - DO NOT MODIFY -->
<!-- **BEGIN** Hextom USB Integration // Main - DO NOT MODIFY -->
<script type="application/javascript">
window.hextom_usb = {
p1: [
],
p2: [
],
p3: {
}
};
</script>
<!-- **END** Hextom USB Integration // Main - DO NOT MODIFY -->
<!-- **END** Hextom USB Integration // Main Include - DO NOT MODIFY -->
<style>.gktAccountWidgetModalWrapper {
font-size: 16px;
}
.gktAccountWidgetModal {
height: 600px;
width: 75vw;
}
.gktAccountWidgetRewardBalance {
display: grid;
grid-gap: 5px;
justify-content: start;
}
.gktRewardCode {
display: grid;
text-align: right;
grid-gap: 5px;
}
.gktAccountWidgetRewardBalanceValue {
place-self: start;
}
.gktAccountWidgetModalContent {
display: grid;
grid-gap: 10px;
grid-template-rows: 1fr 0.6fr auto;
}
.gktAccountWidgetRewardDetails {
display: grid;
grid-template-columns: 1fr 1fr;
/* grid-gap: 10px; */
padding: 10px 0px;
border-bottom: 1px solid #a2a2a2;
}
.gktAccountWidgetBodyTabActive {
border-bottom: 1px solid black;
}
.gktAccountWidgetRewardSectionBodyListItem,
.gktAccountWidgetRewardSectionBodyListHeader {
display: grid;
/* grid-template-columns: 1fr 1fr 1fr; */
grid-template-columns: 33% 33% 33%;
padding: 10px 5px;
text-align: start;
place-items: start;
align-items: center;
border-bottom: 1px solid #efe4e4;
}
.gktAccountWidgetBuyWithRewardsButton {
text-align: center;
align-items: center;
display: grid;
gap: 10px;
justify-content: center;
padding: 15px;
padding: 10px;
align-items: center;
background: #252525;
border-radius: 5px;
border-radius: 2px;
color: white;
cursor: pointer;
}
.gktAccountWidgetBuyWithRewardsButton:hover , .gktAccountWidgetGiftCardSectionBodyListItemForAddToAccountButton:hover {
transform: scale(0.95);
}
.gktAccountWidgetActivator{
text-align: center;
display: grid;
gap: 10px;
justify-content: center;
padding: 15px;
padding: 10px;
align-items: center;
background: #252525;
border-radius: 5px;
border-radius: 2px;
color: white;
}
.gktAccountWidgetRewardCodeValue {
place-self: end;
font-size: 20px;
}
.gktAccountWidgetRewardBalanceValue {
font-size: 20px;
}
.gktAccountWidgetRewardCodeCopyBtn {
display: none;
}
.gktAccountWidgetModalClose {
display: grid;
padding: 1px;
align-self: baseline;
justify-self: end;
cursor: pointer;
justify-content: end;
}
.gktAccountWidgetBodyTabRewards,
.gktAccountWidgetBodyTabGiftCards {
padding: 10px;
}
.gktAccountWidgetRewardSectionBodyListHeader,
.gktAccountWidgetGiftCardSectionListHeader {
color: #808080;
}
.gktAccountWidgetBodyTabs {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr;
grid-gap: 10px;
text-align: center;
border-bottom: 1px solid #ebebeb;
cursor: pointer;
}
.gktAccountWidgetRewardSectionBodyList::-webkit-scrollbar,
.gktAccountWidgetGiftCardSectionBodyList::-webkit-scrollbar {
width: 5px;
}
/* Track */
.gktAccountWidgetRewardSectionBodyList::-webkit-scrollbar-track,
.gktAccountWidgetGiftCardSectionBodyList::-webkit-scrollbar-track {
background: #f1f1f1;
}
/* Handle */
.gktAccountWidgetRewardSectionBodyList::-webkit-scrollbar-thumb,
.gktAccountWidgetGiftCardSectionBodyList::-webkit-scrollbar-thumb {
background: #2c2c2c 0% 0% no-repeat padding-box;
}
/* Handle on hover */
.gktAccountWidgetRewardSectionBodyList::-webkit-scrollbar-thumb:hover,
.gktAccountWidgetGiftCardSectionBodyList::-webkit-scrollbar-thumb:hover {
background: #000000 0% 0% no-repeat padding-box;
}
.gktAccountWidgetRewardSection,
.gktAccountWidgetGiftCardSection {
display: none;
}
.gktAccountWidgetGiftCardSectionBodyList,
.gktAccountWidgetRewardSectionBodyList {
font-size: 14px;
padding-right: 10px;
margin-top: 10px;
}
.gktAccountWidgetGiftCardSectionBodyListItem,
.gktAccountWidgetGiftCardSectionListHeader {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1.8fr;
/* convert into percentages */
grid-template-columns: 22% 22% 22% 30%;
padding: 10px;
grid-gap: 10px;
text-align: start;
place-items: start;
align-items: center;
border-bottom: 1px solid #efe4e4;
}
/* .gktAccountWidgetGiftCardSectionBodyListItem {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1.8fr;
padding: 10px;
grid-gap: 10px;
align-items: center;
} */
.gktAccountWidgetGiftCardSectionBodyListItemForAddToAccount{
width: 100%;
}
.gktAccountWidgetGiftCardSectionBodyListItemForAddToAccountButton {
text-align: center;
display: grid;
gap: 10px;
justify-content: center;
padding: 10px 5px;
align-items: center;
background: #252525;
border-radius: 5px;
border-radius: 2px;
color: white;
place-self: center;
cursor: pointer;
width: 100%;
}
.gktAccountWidgetGiftCardSectionListHeaderForAction{
text-align: center;
place-self: center;
}
.gktAccountWidgetModalWrapper {
display: none;
width: 100%;
height: 100vh;
position: fixed;
opacity: 1;
background: #222;
z-index: 999999999;
top: 0;
left: 0;
overflow: hidden;
animation-name: fadeIn_Container;
animation-duration: 0.2s;
}
.gktAccountWidgetModalWrapper {
background-color: #2229;
}
/* Modal Content */
.gktAccountWidgetModal {
position: fixed;
top: 25%;
left: 50%;
max-width: 700px;
width: 65vw !important;
margin: 10px auto;
padding: 20px 30px 30px;
margin-top: 20vh !important;
background: #fefefe;
animation-name: fadeIn_Modal;
animation-duration: 0.2s;
transform: translate(-50%, -50%);
line-height: 16px;
max-height: 90vh;
overflow-y: auto;
overflow-x: hidden;
border-radius: 2px;
color: black !important;
}
.gktDisabled {
opacity: 0.5;
pointer-events: none;
}
.gktPoweredByBanner {
display: flex;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
justify-content: center;
align-items: center;
padding: 10px;
padding: 6px;
font-size: 14px;
background: #efe9e9;
cursor: pointer;
}
.gktLoading {
display: grid;
align-items: center;
/* margin-top: 30%; */
justify-content: center;
/* height: 200px;
margin: 50px auto; */
text-align: -webkit-center;
}
.gktLoadingSpinner {
display: block !important;
border: 12px solid #f3f3f3;
border-radius: 50%;
border-top: 12px solid #cbcbcb;
border-bottom: 12px solid #cbcbcb;
width: 80px;
height: 80px;
-webkit-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.gktAccountWidgetNoRewardDataFound,
.gktAccountWidgetNoGiftCardDataFound {
text-align: center;
display: grid;
justify-content: center;
margin: 50px 25px;
}
.gktAccountWidgetRewardSectionBodyListItemBalanceRemove{
color: red;
}
@media screen and (max-width: 600px) {
.gktAccountWidgetModal {
top: 25%;
left: 50%;
min-width: 250px;
width: 100vw !important;
padding: 10px 20px;
margin-top: 0 !important;
top: 0;
left: 0;
transform: translate(0px, 0px);
border-radius: 0px;
height: 100vh !important;
max-height: 100vh !important;
min-width: 100%;
min-width: -moz-available; /* WebKit-based browsers will ignore this. */
min-width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
min-width: fill-available;
}
.gktAccountWidgetRewardSectionBodyList,
.gktAccountWidgetGiftCardSectionBodyList {
height: 550px;
overflow-y: auto;
}
.gktLoading{
height: 550px;
align-items: baseline;
margin-top: 22%;
}
}
@media screen and (min-width: 764px) {
.gktAccountWidgetRewardSectionBodyList,
.gktAccountWidgetGiftCardSectionBodyList {
height: 350px;
overflow-y: auto;
}
.gktLoading{
height: 350px;
}
}
.cashbackWidgetContainer{
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto 1fr;
border: 2px solid black;
border-radius: 5px;
padding: 8px 8px;
}
.cashbackWidgetTitleContainer{
display: grid;
grid-template-columns: auto 1fr;
grid-gap: 10px;
align-items: center;
}
.cashbackWidgetIcon{
width: 25px;
height: 25px;
}
.cashbackWidgetHeading{
font-size: 18px;
font-weight: 700;
text-align: left;
}
.cashbackWidgetBody{
font-size: 14px;
font-weight: 600;
text-align: left;
}
.gktComboContainer {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
}
.gktPrevImage,.gktNextImage{
margin-left:5px;
font-size: 16px;
}
.gktComboSliderNavigatior{
position: absolute;
bottom: 5px;
right:5px;
}
.gktComboItemContainer{
display: grid;
grid-template-columns: 1fr 2fr;
grid-template-rows: auto;
padding: 3px 0px;
margin: 3px 0px;
border-radius: 3px;
border: 1px solid #f1f2f3;
}
.gktComboItemContainerItem1{
grid-row: 1 / 5;
position:relative;
}
.gktComboItemContainerItem2{
padding-left: 5px;
text-align: left;
}
.gktComboItemContainerItem3{
padding-left: 5px;
text-align: left;
}
.gktComboItemContainerItem4{
padding-left: 5px;
text-align: left;
}
.gktComboItemContainerItem3CustomSelect{
position: relative;
width: fit-content;
}
.gktComboItemContainerItem3CustomSelect > select{
box-shadow: 0;
font-size: 16px;
padding: 6px 10px;
background-color: #fafafa;
border: 1px solid #eee;
min-width: 120px;
margin: 0px;
}
.gktComboItemContainerItem3CustomSelect > select:focus{
outline:none;
}
.gktComboItemContainerItem3CustomSelect > .gktComboItemContainerItem3SelectDropdownBtn {
position: absolute;
display: block;
top:0;
right: 0;
background: #fafafa;
height: 100%;
width: 20px;
pointer-events: none;
}
.gktComboItemContainerItem3CustomSelect > .gktComboItemContainerItem3SelectDropdownBtn::before,
.gktComboItemContainerItem3CustomSelect > .gktComboItemContainerItem3SelectDropdownBtn::after
{
content: "";
position: absolute;
width: 0;
height: 0;
left: 50%;
transform: translate(-50%, -50%);
}
.gktComboItemContainerItem3CustomSelect > .gktComboItemContainerItem3SelectDropdownBtn::before
{
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 8px solid #635959;
top:30%
}
.gktComboItemContainerItem3CustomSelect > .gktComboItemContainerItem3SelectDropdownBtn::after
{
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-top: 8px solid #635959;
top: 70%;
}
.gktComboModalWrapper {
display: none;
width: 100%;
height: 100vh;
position: fixed;
opacity: 1;
background: #222;
z-index: 999999999;
top: 0;
left: 0;
overflow: hidden;
animation-name: fadeIn_Container;
animation-duration: .2s
}
/* Modal Content */
.gktComboModal {
position: fixed;
top: 25%;
left: 50%;
min-width: 250px;
width: 50vw !important;
margin: 10px auto;
padding:10px;
margin-top: 25vh !important;
border-radius: 4px;
background: #fefefe;
box-shadow: 0 0 10px #000;
animation-name: fadeIn_Modal;
animation-duration: .2s;
transform: translate(-50%, -50%);
}
/* Header should be in one line*/
.gktComboModalHeader {
display: grid;
grid-template-columns: auto 25px;
}
.gktComboModalPopupHeading > p {
margin: 0 !important;
}
.gktComboModalClose{
fill: rgba(255,255,255,0.851);
background: rgba(32,33,36,0.4);
-webkit-border-radius: 50%;
border-radius: 50%;
width: 24px;
height: 24px;
padding: 1px;
align-self: baseline;
justify-self: end;
margin-top: 3px;
margin-right: 3px;
cursor: pointer;
}
.gktComboModalClose:hover,
.gktComboModalClose:focus {
color: #000;
text-decoration: none;
cursor: pointer;
}
.gktComboContent {
display:grid;
grid-template-rows: 1fr 3fr;
grid-gap: 10px;
padding: 5px 10px;
margin:5px 10px;
font-size: 30px;
}
.gktComboContentHeader{
}
.gktComboContentFooter{
}
.gktComboContentFooterBtn1{
}
.gktComboContentFooterBtn2{
}
.gktFreeGiftcardPopupModalWrapper {
display: none;
width: 100%;
height: 100vh;
position: fixed;
opacity: 1;
background: #e1d8d882;
z-index: 999999999;
top: 0;
left: 0;
overflow: hidden;
animation-name: fadeIn_Container;
animation-duration: .2s
display: none;
}
.gktFreeGiftcardPopupConfirmationPageButtons{
display:grid;
grid-template-columns:1fr 1fr;
grid-gap:10px;
}
.gktFreeGiftcardPopupButton, .gktFreeGiftcardPopupCheckoutButton, .gktFreeGiftcardPopupContinueShoppingButton{
cursor: pointer;
padding: 6px 12px;
font-weight: 500;
text-align: center;
background-color: black;
color: white;
transition: transform .2s;
font-size:16px;
}
.gktFreeGiftcardPopupContinueShoppingButton{
background-color: white;
color: black;
}
.gktFreeGiftcardPopupConfirmationPageDescription{
font-size: 16px;
text-align: center;
font-weight: 600;
margin-bottom: 0;
margin-top: 0;
padding-top: 10px;
}
.gktFreeGiftcardPopupConfirmationPage{
}
.gktFreeGiftcardPopupModalClose{
position:absolute;
top:5px;
right:5px;
fill: rgba(255,255,255,0.851);
background: rgba(32,33,36,0.4);
-webkit-border-radius: 50%;
border-radius: 50%;
width: 24px;
height: 24px;
padding: 1px;
align-self: baseline;
justify-self: end;
margin-top: 3px;
margin-right: 3px;
cursor: pointer;
}
.gktFreeGiftcardPopupConfirmationPageImage{
width: 100%;
height: 150px !important;
object-fit: cover !important;
}
.gktFreeGiftcardPopupModalClose:focus,
.gktFreeGiftcardPopupModalClose:hover{
color: #000;
text-decoration: none;
cursor: pointer;
}
.gktFreeGiftcardPopupButton:hover, .gktFreeGiftcardPopupModalWrapper button:hover {
transform: scale(0.95);
}
.gktFreeGiftcardPopupModal {
position: fixed;
top: 25%;
left: 50%;
max-width: 450px;
width: 45vw !important;
margin: 10px auto;
padding:10px 20px;
margin-top: 20vh !important;
border-radius: 4px;
background: #fefefe;
box-shadow: 0 0 10px #000;
animation-name: fadeIn_Modal;
animation-duration: .2s;
transform: translate(-50%, -50%);
line-height: 16px;
max-height: 90vh;
overflow-y: auto;
overflow-x: hidden;
display: none;
}
img.gktFreeGiftcardPopupImage {
width: 100%;
height: 200px;
object-fit: contain;
}
.gktFreeGiftcardPopupHeading{
font-size: 20px;
margin: 0 !important;
padding: 8px !important;
text-align:center;
}
.gktFreeGiftcardPopupInputFields{
display:grid;
grid-gap:5px;
margin: 0 !important;
}
.gktFreeGiftcardPopupInputFields > input{
display: block;
width: 100%;
margin: 0 !important;
padding: 10px 20px !important;
background-color: #f3f4f3 !important;
border: 1px solid #f3f4f3 !important;
border-radius: 0px !important;
font-size: 14px !important;
}
.gktFreeGiftcardPopupModalBody{
height:100%;
width:100%;
display:grid;
grid-gap:5px;
}
textarea.gktFreeGiftcardPopupTextArea{
display: block;
width: 100%;
margin-top: 10px;
resize:none;
padding: 10px 20px !important;
background-color: #f3f4f3 !important;
border: 1px solid #f3f4f3 !important;
border-radius: 0px !important;
font-size: 14px !important;
margin: 0 !important;
min-height: 90px !important;
}
.gktFreeGiftcardPopupButton{
display: block;
width: 100%;
height: fit-content;
margin-top: 0 !important;
padding: 10px 20px;
}
.gktModalCheckoutButton:hover {
transform: scale(0.95);
}
.gktModalCheckoutButton{
cursor: pointer;
}
.gktFreeGiftcardPopupInputFieldsEmailError{
display: block;
font-size: 12px;
color: red;
padding-top:2px;
}
@media only screen and (max-width: 600px) {
.gktFreeGiftcardPopupModal {
margin-top: 0 !important;
top: 0;
left: 0;
transform: translate(0px, 0px);
border-radius: 0px;
height: 100vh !important;
max-height: 100vh !important;
min-width: 100%;
}
}
.gktGiftCardWrapper{
display: none;
}
.productPageGiftCardUi{
display: grid;
width: 100%;
grid-gap: 10px;
padding: 3px 0px;
margin: 3px 0px;
}
.gktGiftCardModalWrapper {
display: none;
width: 100%;
height: 100vh;
position: fixed;
opacity: 1;
background: #222;
z-index: 999999999;
top: 0;
left: 0;
overflow: hidden;
animation-name: fadeIn_Container;
animation-duration: .2s
}
.gktGiftCardModalWrapper{
background-color: #2229;
}
/* Modal Content */
.gktGiftCardModal{
position: fixed;
top: 25%;
left: 50%;
max-width: 600px;
width: 55vw !important;
margin: 10px auto;
padding:20px 30px 30px;
margin-top: 20vh !important;
border-radius: 4px;
background: #fefefe;
animation-name: fadeIn_Modal;
animation-duration: .2s;
transform: translate(-50%, -50%);
line-height: 16px;
max-height: 90vh;
overflow-y: auto;
overflow-x: hidden;
color: black !important;
}
.gktGiftCardInputFieldsDiv{
display: grid;
}
/* Header should be in one line*/
.gktGiftCardModalHeader {
display: grid;
grid-template-columns: auto 25px;
}
.gktGiftCardModalPopupHeading > p {
margin: 0 !important;
}
.gktGiftCardModalPopupHeading{
font-size: 20px;
}
.gktGiftCardModalClose{
-webkit-border-radius: 50%;
border-radius: 50%;
width: 24px;
height: 24px;
padding: 1px;
align-self: baseline;
justify-self: end;
margin-top: 3px;
margin-right: 3px;
cursor: pointer;
}
.gktGiftCardContent hr{
unset:all;
}
.gktGiftCardModalClose:hover,
.gktGiftCardModalClose:focus {
color: #000;
text-decoration: none;
cursor: pointer;
}
.gktGiftCardInputFieldsDiv > div {
display: grid;
padding-bottom:5px;
margin-bottom:10px;
}
.gktGiftCardInputFieldsDiv label{
line-height: 1.2;
margin-bottom:0px;
font-size: 14px;
color:black !important;
padding-bottom:5px;
text-transform:none !important;
letter-spacing:0px !important;
}
.gktGiftCardModalCheckbox{
display: block !important;
}
.gktGiftCardModalCheckbox input[type="checkbox"]{
display: inline-block;
margin-right: 10px;
margin-left: 0px;
width: auto;
height: max-content !important;
}
.gktGiftCardModalCheckbox .gktGiftCardModalCheckboxLabel{
display: inline-block;
margin-right: 10px;
margin-left: 0px;
width: auto;
}
.gktGiftCardContainer {
height: 400px;
border-top: 1px solid #A2A2A2 !important;
display: grid;
grid-template-rows: 1fr 9fr;
}
.gktGiftCardDetailsContent input, .productPageGiftCardUi input{
margin:0px;
padding: 10px 18px;
width: 100%;
background-color: #ffffff;
color: #000000;
max-width: 100%;
line-height: 1.2;
border-radius: 2px;
padding-bottom: 10px;
border: 1px solid #A2A2A2;
font-size:14px !important;
}
.productPageGiftCardUi textarea{
margin:0px;
padding: 10px 18px;
width: 100%;
background-color: #ffffff;
color: #000000;
max-width: 100%;
line-height: 1.2;
border-radius: 2px;
padding-bottom: 10px;
border: 1px solid #A2A2A2;
font-size:14px !important;
}
.gktGiftCardMessageInputFieldsDiv textarea {
margin:0px;
padding: 10px 18px;
width: 100%;
border: 1px solid #cccccc;
background-color: #ffffff;
color: #000000;
max-width: 100%;
line-height: 1.2;
border-radius: 2px;
padding-bottom: 10px;
max-height: 70px !important;
min-height:50px !important;
border: 1px solid #A2A2A2;
resize: none;
width: 100%;
height: 126px;
padding: 10px;
}
.greetingCardMainBody,.gktGiftCardDetailsContent,.gktGiftCardMessageContent{
background: #F2F2F2 0% 0% no-repeat padding-box;
padding:20px;
font-size:14px !important;
}
.greetingCardMainBody{
padding:0px;
// why are we declaring this here?
// because we dont want to have padding for scroll
}
.gktGiftCardMessageDivider{
display: block !important;
border: 1px solid #A2A2A2 !important;
height: 0px;
opacity: 0.5;
}
.gktGiftCardMessageLabel{
text-align: left;
letter-spacing: 0px;
display: block;
color: #000000;
padding-bottom: 10px;
opacity: 1;
}
.gktGiftCardDetailsContent {
font-size: 16px;
height: 400px;
overflow-y: auto;
text-align: start;
}
.gktGiftCardEmailValidation,.gktGiftCardDateValidation{
color: red;
margin: 0;
padding: 0;
font-size: 12px;
}
.gktGiftCardInputFieldsDiv label[required]::after, label[required]:after{
content: '*';
margin-right: 4px;
color: red;
}
.gktGiftCardDateLabel{
margin:0px !important;
padding:0px !important;
}
.gktGiftCardInputRow5{
padding:0px !important;
}
.gktGiftCardContentHeader{
}
.gktGiftCardContentFooter{
margin: 10px auto;
margin-bottom: 30px;
}
.gktGiftCardContentFooterBtn1{
cursor: pointer;
padding: 12px 12px;
font-weight: 500;
text-align: center;
background-color: #A96668;
color: white;
transition: transform .2s;
font-size:16px;
}
.gktGiftCardContentFooterBtn1:hover {
transform: scale(0.95);
}
.gktGiftCardContentFooterBtn2{
}
.greetingCardMainBody {
height: 100%;
display: grid;
grid-template-columns: 1fr;
overflow-y: hidden;
}
.greetingCardCategoryListItemText{
text-align: center;
line-height: 30px;
width: 100%;
display: block;
text-decoration: none;
color: #008060;
font-size: 16px;
}
.greetingCardImageList .greetingCardImageLabel{
}
// css class for the checked image
.greetingCardImageList .greetingCardLabel input:checked{
border:2px solid #A96668;
border-radius:5px;
}
.greetingCardImagePreview{
width:100%;
align-self:center;
display:none;
}
.activeGreetingCardCategory a, .greetingCardCategoryListItem a:hover {
color:black !important;
cursor:pointer;
border-bottom: 1px solid black;
}
.greetingCardImage:hover{
transform: scale(1.05);
transition: transform .3s;
border-radius:5px;
}
OLD .greetingCardCategoryListItem{
display:inline-block;
font-size:16px;
text-transform:capitalize;
text-transform:uppercase;
padding-right:10px;
}
.greetingCardCategoryList{
text-align: left;
list-style: none;
display:grid;
grid-template-columns: repeat(3,max-content);
padding: 0;
margin: 10px 0 15px;
grid-gap:25px;
}
.greetingCardCategoryListItem{
display: inline-block;
text-align: center;
height: auto;
line-height: 2em;
padding: 0;
margin: 0;
}
.activeGreetingCard{
border:2px solid black;
border-radius:5px;
}
.greetingCardImageInput{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
visibility:hidden;
}
.greetingCardImageList{
display:grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
overflow-x: hidden;
overflow-y: auto;
padding-right:5px;
height:350px;
padding:20px;
}
.gktVideoMsgCheckboxField,.gktVideoMessageFileInput{
visibility:hidden;
}
.greetingCardImageList .greetingCardImageLabel img{
/* max-width:100%; */
padding:10px;
width: 100%;
width: -moz-available; /* WebKit-based browsers will ignore this. */
width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
width: fill-available;
}
.greetingCardImageLabel{
position:relative;
cursor:pointer;
display:inline-block;
width:100%;
align-self:center;
}
.gktGiftCardSendNowButton, .gktGiftCardSendLaterButton{
background: inherit ;
}
.gktGiftCardSendNowButton:hover,.gktGiftCardSendLaterButton:hover{
background: inherit;
}
.gktGiftCardSendNowButton, .gktGiftCardSendLaterButton{
display: inline-block;
justify-content: center;
cursor: pointer;
line-height: 30px;
margin:0px;
padding:6px;
font-weight: 700;
text-transform: uppercase;
font-size: 12px;
color: #585858;
border: 1px solid #f3f3f3;
border-top: 0 solid #f3f3f3;
border-color: #f3f3f3!important;
transition: transform .2s;
font-family:inherit;
}
.gktGiftCardSendNowButton:hover, .gktGiftCardSendLaterButton:hover{
transform: scale(0.95);
}
.activeDeliveryOption{
border: 1px solid #A2A2A2 !important;
}
/*** Giftcard Modal Css ***/
.gktGiftCardModalPopupHeading{
font-size:16px;
margin:0;
padding:10px;
}
.gktGiftCardModalSubText{
font-size:16px;
margin-bottom:10px;
}
.activeContent{
font-weight:bold;
color:black;
}
.gktGiftCardModalNavForMobile{
display:none;
}
.gktDeliveryOptions{
display:grid;
grid-template-columns: 1fr 1fr;
margin:10px 0px;
grid-gap: 5px;
text-align: center;
}
.gktGiftCardModalBackButton{
cursor:pointer;
font-size: 14px;
position: absolute;
color:black;
top: 10px;
padding-top: 10px;
display: inline-grid;
grid-auto-flow: column;
justify-items: center;
align-items: center;
left: 30px;
top: 10px;
}
.gktGiftCardModalNav{
display: flex;
flex-direction: row;
gap: 10px;
padding-bottom: 10px !important;
padding-top:10px !important;
}
.gktGiftCardModalNav li{
display:inline-block;
margin:0;
padding:0 10px;
list-style: none;
color: grey;
}
.gktGiftCardModalNavListItem.activeNavItem{
color: black;
}
.gktGiftCardModalNavListItem{
font-size: 16px;
}
@media screen and (max-width: 600px) {
.gktGiftCardModal {
top: 25%;
left: 50%;
min-width: 250px;
/* width: 100vw !important; */
padding: 10px 20px;
margin-top: 0 !important;
top: 0;
left: 0;
transform: translate(0px, 0px);
border-radius: 0px;
height: 100vh !important;
max-height: 100vh !important;
min-width: 100%;
min-width: -moz-available; /* WebKit-based browsers will ignore this. */
min-width: -webkit-fill-available; /* Mozilla-based browsers will ignore this. */
min-width: fill-available;
}
.gktGiftCardContainer,.gktGiftCardDetailsContent {
height: max-content;
grid-template-rows: auto auto;
}
.greetingCardMainBody{
grid-template-columns: 1fr;
height: fit-content;
}
.greetingCardImagePreview{
display:none;
width:0;
}
.greetingCardImageList{
display:grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
height: fit-content;
max-height: 65vh;
}
.greetingCardCategoryList{
grid-template-columns: repeat(3,1fr);
}
.gktDeliveryOptions{
display:grid;
grid-template-columns: 1fr 1fr;
text-align: center;
}
.gktGiftCardModalNav{
display:none;
}
.gktGiftCardModalNavForMobile{
display:block;
padding-top: 20px;
padding-bottom:20px;
}
.gktGiftCardModalBackButton{
left: 10px;
top: 5px;
}
}
/**** Checkmark css ***/
.gkt_checkmark {
display:inline-block;
position:absolute;
top:10px;
left:10px;
width: 22px;
height:22px;
-ms-transform: rotate(45deg); /* IE 9 */
-webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
transform: rotate(45deg);
}
.gkt_checkmark_circle {
display:block !important;
position: absolute;
width:22px;
height:22px;
background-color: green;
border-radius:11px;
left:0;
top:0;
opacity:0.5;
}
.gkt_checkmark_stem {
display:block !important;
position: absolute;
width:3px;
height:9px;
background-color:#fff;
left:11px;
top:6px;
}
.gkt_checkmark_kick {
display:block !important;
position: absolute;
width:3px;
height:3px;
background-color:#fff;
left:8px;
top:12px;
}
.gktGiftCardMessageContent{
margin:0 !important;
display:grid;
background: #F2F2F2 0% 0% no-repeat padding-box;
grid-gap:20px;
overflow-y: auto;
}
.gktVideoMessageCheckboxRow{
display: grid;
grid-auto-flow: column;
}
.gktVideoMsgCheckboxLabel{
text-align: left;
letter-spacing: 0px;
color: #000000;
}
.gktVideoMsgCheckboxWrapper {
position: relative;
display: inline-block;
width: 44px;
justify-self: end;
height: 26px;
}
.gktVideoMsgToggle input{
opacity: 0;
width: 0;
height: 0;
}
.gktVideoMsgSlider, .gktVideoMsgSlider_Mobile {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #fff;
border: 1px solid black;
-webkit-transition: .4s;
transition: .4s;
}
.gktVideoMsgSlider:before, .gktVideoMsgSlider_Mobile:before {
position: absolute;
content: "";
height: 20px;
width: 20px;
left: 4px;
bottom: 4px;
top:2px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .gktVideoMsgSlider ,
input:checked + .gktVideoMsgSlider_Mobile{
background-color: black;
}
input:checked + .gktVideoMsgSlider:before,
input:checked + .gktVideoMsgSlider_Mobile:before {
-webkit-transform: translateX(16px);
-ms-transform: translateX(16px);
transform: translateX(16px);
}
.gktGiftCardContent ::-webkit-scrollbar {
width: 5px;
}
/* Track */
.gktGiftCardContent ::-webkit-scrollbar-track {
background: #f1f1f1;
}
/* Handle */
.gktGiftCardContent ::-webkit-scrollbar-thumb {
background: #2c2c2c 0% 0% no-repeat padding-box;
}
/* Handle on hover */
.gktGiftCardContent ::-webkit-scrollbar-thumb:hover {
background: #000000 0% 0% no-repeat padding-box;
}
/* Rounded sliders */
.slider.round, .gktVideoMsgSlider,
.slider.round, .gktVideoMsgSlider_Mobile {
border-radius: 34px;
}
.slider.round:before, .gktVideoMsgSlider:before ,
.slider.round:before, .gktVideoMsgSlider_Mobile:before {
border-radius: 50%;
border: 1px solid black;
}
.gktGiftCardModalNavListItemSpan{
display: inline-grid;
align-items: center;
}
.gktGiftCardModal form {
position: unset;
}
.gktVideoMessageFileInput{
visibility: hidden;
}
/* The container */
.gktGiftCardModalCheckboxContainer{
position: relative;
}
.gktGiftCardModalCheckbox {
display: block;
position: relative;
padding-left: 25px;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* Hide the browser's default checkbox */
.gktGiftCardModalCheckbox input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
/* Create a custom checkbox */
.gktCustomCheckboxCheckmarkSmall {
position: absolute;
top: 0px;
left: 0px;
height: 18px;
width: 18px;
border: 1px solid #a2a2a2;
border-radius: 4px;
}
/* On mouse-over, add a grey background color */
.gktGiftCardModalCheckbox:hover input ~ .gktCustomCheckboxCheckmarkSmall {
background-color: #ccc;
}
/* When the checkbox is checked, add a blue background
.gktGiftCardModalCheckbox input:checked ~ .gktCustomCheckboxCheckmarkSmall {
background-color: #2196F3;
} */
/* Create the gktCustomCheckboxCheckmarkSmall/indicator (hidden when not checked) */
.gktCustomCheckboxCheckmarkSmall:after {
content: "";
position: absolute;
display: none;
}
/* Show the gktCustomCheckboxCheckmarkSmall when checked */
.gktGiftCardModalCheckbox input:checked ~ .gktCustomCheckboxCheckmarkSmall:after {
display: block;
}
/* Style the gktCustomCheckboxCheckmarkSmall/indicator */
.gktGiftCardModalCheckbox .gktCustomCheckboxCheckmarkSmall:after {
left: 5px;
top: 1px;
width: 6px;
height: 10px;
border: solid #009c00;
border-width: 0 3px 3px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.gktGiftMessageContainer {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
padding: 5px 0px;
}
.gktGiftMessageItemContainer{
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
padding: 3px 0px;
margin: 3px 0px;
border-radius: 3px;
font-size: 14px;
}
.gktGiftMessageItemContainer label {
margin-bottom: 0px
}
.gktGiftMessageItemContainerLabelText{
align-self: center;
font-size:14px;
justify-self: left;
text-align: left;
}
.gktGiftMessageItemContainerLabelText > p{
padding: 0px;
margin: 0px;
}
.gktGiftMessageImage{
width: 40px;
height: 40px;
border: 1px solid #f1f2f3;
}
.gktGiftMessageItemContainerItem1{
grid-row: 1 / 5;
}
.gktGiftMessageItemContainerItem2{
}
.gktGiftMessageItemContainerItem3{
position: relative;
display: flex;
width: fit-content;
height: 30px;
border-radius: 4px;
overflow: hidden;
}
label.gktCustomCheckboxMsgContainer {
display: grid;
grid-template-columns: 1fr;
min-height: 30px;
font-weight: 600;
}
/* The container */
.gktCustomCheckboxMsgContainer {
display: block;
position: relative;
padding-left: 35px;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* Hide the browser's default checkbox */
.gktCustomCheckboxMsgContainer input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
/* Create a custom checkbox */
.gktCustomMsgCheckboxCheckmark {
position: absolute;
top: 2px;
left: 0;
height: 25px;
width: 25px;
border: 1px solid #a2a2a2;
border-radius: 4px;
}
/* On mouse-over, add a grey background color */
.gktCustomCheckboxMsgContainer:hover input ~ .gktCustomMsgCheckboxCheckmark {
background-color: #ccc;
}
/* When the checkbox is checked, add a blue background
.gktCustomCheckboxMsgContainer input:checked ~ .gktCustomMsgCheckboxCheckmark {
background-color: #2196F3;
} */
/* Create the gktCustomMsgCheckboxCheckmark/indicator (hidden when not checked) */
.gktCustomMsgCheckboxCheckmark:after {
content: "";
position: absolute;
display: none;
}
/* Show the gktCustomMsgCheckboxCheckmark when checked */
.gktCustomCheckboxMsgContainer input:checked ~ .gktCustomMsgCheckboxCheckmark:after {
display: block;
}
/* Style the gktCustomMsgCheckboxCheckmark/indicator */
.gktCustomCheckboxMsgContainer .gktCustomMsgCheckboxCheckmark:after {
left: 8px;
top: 1px;
width: 8px;
height: 16px;
border: solid #009c00;
border-width: 0 3px 3px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
textarea.gktGiftMessageTextArea {
display: none;
border: 1px solid #b9babb;
height: 60px;
margin-left: 1px;
-webkit-transition: all 0.6s ease-in-out;
transition: all 0.6s ease-in-out;
font-size: 14px;
}
.openGiftKartModal {
vertical-align: middle;
}
#other {
text-align: right;
width: 100%;
max-width: 100%;
}
.header__inline h1,
.header__inline h2,
.header__inline h3,
.header__inline h4,
.header__inline h5,
.header__inline h6,
.header__inline p {
display: inline;
}
.GiftKartModalbtn:hover,
.gktModalSave:hover {
transform: scale(0.95);
}
.GiftKartContainer {
display: none;
width: 100%;
height: 100vh;
position: fixed;
opacity: 1;
background: #222;
z-index: 999999999;
top: 0;
left: 0;
overflow: hidden;
animation-name: fadeIn_Container;
animation-duration: 1s
}
.GiftKartModal {
display: none;
top: 0;
min-width: 250px;
width: 50vw !important;
margin: 0 auto;
margin-top: 25vh !important;
z-index: 9999999999;
background: #fff;
box-shadow: 0 0 10px #000;
animation-name: fadeIn_Modal;
animation-duration: .8s;
}
.GiftKartheader {
padding: 5px 10px;
width: 100%;
height: 70px;
border-radius: 10px 10px 0 0;
border-bottom: 2px solid #ccc
}
.GiftKartheader a {
text-decoration: none;
float: right;
line-height: 70px;
margin-right: 20px;
color: #aaa
}
.GiftKartcontent {
width: 100%;
}
#first_label {
padding-top: 30px
}
#second_label {
padding-top: 25px
}
.GiftKartfooter,
.gktModalFooter {
padding: 13px 10px;
text-align: right;
width: 100%;
}
@media screen and (max-width: 900px) {
.GiftKartModalContent-left {
display: none;
}
.GiftKartModalContent {
grid-template-columns: 1fr !important;
}
.GiftKartModalContent-right-giftingOptions {
font-size: 15px !important;
}
}
@keyframes fadeIn_Modal {
from {
opacity: 0
}
to {
opacity: 1
}
}
@keyframes fadeIn_Container {
from {
opacity: 0
}
to {
opacity: .9
}
}
#is-a-gift {
margin: 0px;
padding: 10px;
}
#giftnote,
.gktMessageTextarea {
color: #636363;
border: 1px solid #ccc;
width: 100%;
border-radius: 5px;
height: 200px;
padding: 10px;
margin-top: 5px;
resize: none;
font-size: 14px !important;
}
.giftnote-giftKart {
border: 1px solid black !important;
border-radius: 0px !important;
}
.giftnote-giftKart:focus {
outline: 0;
}
.GiftKartModalContent {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1;
}
.GiftKartModalContent-right {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 30px 50px;
}
.GiftKartModalContent-right-closeButton,
.gktModalClose {
fill: rgba(255, 255, 255, 0.851);
background: rgba(32, 33, 36, 0.1);
-webkit-border-radius: 50%;
border-radius: 50%;
width: 24px;
height: 24px;
padding: 1px;
align-self: baseline;
justify-self: end;
margin-top: 3px;
margin-right: 3px;
cursor: pointer;
}
.GiftKartModalContent-right-header {
align-self: center;
justify-self: center;
font-weight: 1000;
}
.GiftKartModalContent-right-giftingOptions {
font-size: 20px;
padding: 10px;
}
.GiftKartModalContent-right-footer {
margin: 15px 20px;
display: grid;
align-items: center;
}
.GiftKartModalbtn,
.gktModalSave {
cursor: pointer;
padding: 6px 12px;
font-weight: 500;
text-align: center;
background-color: #A96668;
color: white;
transition: transform .2s;
margin: 0 20%;
}
.ql-size-small {
font-size: 11px;
}
.ql-size-large {
font-size: 26px;
}
.ql-size-huge {
font-size: 36px;
}
.gktModalWrapper {
display: none;
width: 100%;
height: 100vh;
position: fixed;
opacity: 1;
background: #222;
z-index: 999999999;
top: 0;
left: 0;
overflow: hidden;
animation-name: fadeIn_Container;
animation-duration: 1s
}
/* Modal Content */
.gktModal {
position: fixed;
top: 25%;
left: 50%;
min-width: 250px;
width: 50vw !important;
margin: 10px auto;
padding: 10px;
margin-top: 25vh !important;
border-radius: 2%;
background: #fefefe;
box-shadow: 0 0 10px #000;
animation-name: fadeIn_Modal;
animation-duration: .8s;
transform: translate(-50%, -50%);
}
.gktModalClose:hover,
.gktModalClose:focus {
color: #000;
text-decoration: none;
cursor: pointer;
}
.gktPageWrapper {
display: grid;
grid-template-columns: 1fr;
cursor: pointer !important;
margin-bottom: 5px;
/* padding: 0px 10px; */
}
.gktPageWrapperV2 {
display: grid;
grid-template-columns: 1fr;
cursor: pointer !important;
}
.gktProductPageUpsellWrapper {
display: none;
width: 100%
}
.gktComboWrapper {
display: none;
,
width: 100%
}
.gktGiftMessageWrapper {
display: none;
width: 100%
}
.gktGiftMsgAndWrapWrapper {
display: none;
width: 100%
}
.gktCartUpsellWrapper {
display: none;
width: 100%
}
.gktCartGiftMessageWrapper {
display: none;
width: 100%
}
.gktCartGiftMsgAndWrapWrapper {
display: none;
width: 100%
}
.gktGiftMessageWrapper {
display: none;
width: 100%
}
.gktCartGiftMessageWrapper {
display: none;
width: 100%
}
.gktPageWrapper input {
display: inline-block;
}
.gktPageWrapper label {
margin-left: 1px;
}
.giftCartPageWrapper {
display: grid;
grid-template-columns: 25px 4fr;
align-items: baseline;
justify-items: start;
}
.gktModalHeader {
padding: 10px;
}
.gktContentWrapper {
display: grid;
}
.gktGridLayout {
/* is attached dynamically to gktContentWrapper*/
grid-template-columns: 1fr 1fr;
}
/*.gktLeftContent and gktRightContent */
.gktContentWrapper>div {
display: grid;
grid-template-rows: 1fr 3fr;
grid-gap: 10px;
padding: 5px 10px;
margin: 5px 10px;
font-size: 30px;
}
.gktContentWrapper>div:empty {
display: none;
}
.gktMessageCheckboxHeading,
.gktWrapCheckboxHeading {
font-size: 20px !important;
}
.gktModalFooter {
text-align: center;
}
/* Header should be in one line*/
.gktModalHeader {
display: grid;
grid-template-columns: auto 25px;
}
.gktProductPageWrapper {
position: relative;
justify-items: start;
align-items: end;
}
.gktJustifyCenter {
justify-self: center;
align-self: center;
}
.gktGiftWrapImage {
width: 200px;
height: 200px;
background-repeat: no-repeat;
background-position: 50% 50%;
justify-self: center;
object-fit: cover;
}
.gktCartGiftMsgAndWrapHeader {
display: grid;
justify-items: left;
padding: 3px 0px;
margin: 3px 0px;
}
.gktGiftMsgAndWrapHeader {
display: grid;
justify-items: left;
padding: 3px 0px;
margin: 3px 0px;
}
.gktGiftMsgAndWrapWrapperInnerEle {
display: grid !important;
grid-template-columns: 25px auto;
align-items: center;
justify-items: center;
user-select: none;
}
.gktGiftMsgAndWrapWrapperInnerEle p {
margin: 0 !important;
padding: 0 !important;
}
.gktGiftMsgAndWrapHeader>label {
margin: 0 !important;
padding: 0 !important;
}
.gktCartGiftMsgAndWrapHeader>label {
margin: 0 !important;
padding: 0 !important;
}
.gift-checkbox-giftKart {
align-self: center;
justify-self: center;
}
.gktCheckboxLayout {
display: grid !important;
grid-template-columns: 25px auto;
font-size: 20px;
align-items: center;
}
.gktMessageCheckboxHeading>p,
.gktModalPopupHeading>p,
.gktGiftWrapCheckboxHeading>p {
margin: 0 !important;
}
.gktAlignCenter {
align-self: center;
}
@media screen and (max-width: 900px) {
.gktGridLayout {
grid-template-columns: 1fr;
}
.gktContentWrapper>div {
grid-template-rows: 1fr !important;
}
.gktLeftContent {
grid-template-rows: 1fr 1fr !important;
}
.gktMessageTextarea {
width: 100% !important;
height: 100px !important;
}
.gktModal {
top: 10% !important;
}
.gktDisplayWrapImageOnPhone {
display: block !important;
}
.gktModal {
width: 95vw !important;
}
.gktModalWrapper p,
.gktModal p {
font-size: 20px !important;
}
}
.ql-font-arial {
font-family: 'Arial';
}
.ql-font-times-new-roman {
font-family: 'Times New Roman';
}
.ql-font-courier-new {
font-family: 'Courier New';
}
.ql-font-comic-sans-ms {
font-family: 'Comic Sans MS';
}
.ql-font-impact {
font-family: 'Impact';
}
.ql-font-lucida-console {
font-family: 'Lucida Console';
}
.ql-font-lucida-sans-unicode {
font-family: 'Lucida Sans Unicode';
}
.ql-font-tahoma {
font-family: 'Tahoma';
}
.ql-font-verdana {
font-family: 'Verdana';
}
.ql-font-helvetica {
font-family: 'Helvetica';
}
.ql-font-trebuchet-ms {
font-family: 'Trebuchet MS';
}
.ql-font-georgia {
font-family: 'Georgia';
}
.ql-font-garamond {
font-family: 'Garamond';
}
.ql-font-brush-script-mt {
font-family: 'Brush Script MT';
}
.loadingCheckoutPage{
display:flex;
align-items:center;
justify-content: center;
opacity:0.5;
}
.gktGiftMessageContainer {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
padding: 5px 0px;
}
.gktGiftMessageItemContainer{
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
padding: 3px 0px;
margin: 3px 0px;
border-radius: 3px;
font-size: 14px;
}
.gktGiftMessageItemContainer label {
margin-bottom: 0px
}
.gktGiftMessageItemContainerLabelText{
align-self: center;
font-size:14px;
justify-self: left;
text-align: left;
}
.gktGiftMessageImage{
width: 40px;
height: 40px;
border: 1px solid #f1f2f3;
}
.gktGiftMessageItemContainerItem1{
grid-row: 1 / 5;
}
.gktGiftMessageItemContainerItem2{
}
.gktGiftMessageItemContainerItem3{
position: relative;
display: flex;
width: fit-content;
height: 30px;
border-radius: 4px;
overflow: hidden;
}
label.gktGiftMsgAndWrapWrapperInnerEle {
display: grid;
grid-template-columns: 1fr;
min-height: 30px;
font-weight: 600;
}
/* The container */
.gktGiftMsgAndWrapWrapperInnerEle {
display: block;
position: relative;
padding-left: 35px;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* Hide the browser's default checkbox */
.gktGiftMsgAndWrapWrapperInnerEle input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
/* Create a custom checkbox */
.gktCustomWrapCheckboxCheckmark {
position: absolute;
top: 2px;
left: 0;
height: 25px;
width: 25px;
border: 1px solid #a2a2a2;
border-radius: 4px;
}
/* On mouse-over, add a grey background color */
.gktGiftMsgAndWrapWrapperInnerEle:hover input ~ .gktCustomWrapCheckboxCheckmark {
background-color: #ccc;
}
/* When the checkbox is checked, add a blue background
.gktGiftMsgAndWrapWrapperInnerEle input:checked ~ .gktCustomWrapCheckboxCheckmark {
background-color: #2196F3;
} */
/* Create the gktCustomWrapCheckboxCheckmark/indicator (hidden when not checked) */
.gktCustomWrapCheckboxCheckmark:after {
content: "";
position: absolute;
display: none;
}
/* Show the gktCustomWrapCheckboxCheckmark when checked */
.gktGiftMsgAndWrapWrapperInnerEle input:checked ~ .gktCustomWrapCheckboxCheckmark:after {
display: block;
}
/* Style the gktCustomWrapCheckboxCheckmark/indicator */
.gktGiftMsgAndWrapWrapperInnerEle .gktCustomWrapCheckboxCheckmark:after {
left: 8px;
top: 1px;
width: 8px;
height: 16px;
border: solid #009c00;
border-width: 0 3px 3px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
textarea.gktGiftMessageTextArea {
display: none;
border: 1px solid #b9babb;
height: 60px;
margin-left: 1px;
-webkit-transition: all 0.6s ease-in-out;
transition: all 0.6s ease-in-out;
font-size: 14px;
}
.gktNotificationWrapper{
position:fixed;
margin: 0 !important;
padding: 0 !important;
top: 40px;
right: 5px;
display: none;
z-index: 99999999999999;
}
.gktNotificationItem{
margin: 4px 0px;
background: white;
color: black;
padding: 4px 8px;
-moz-box-shadow: 10px 10px 16px #000000;
-webkit-box-shadow: 10px 10px 16px #000000;
box-shadow: 0px 15px 30px rgba(0,0,0,0.08);
max-width: 250px;
display:grid;
grid-template-columns: 30px 1fr 20px;
justify-items: center;
align-items: center;
border-left: 5px solid green;
border-radius: 4px;
transform: translateX(300px);
transition: 0.3s;
}
.gktNotificationItemContent{
padding-right: 10px;
}
.gktNotificationItemContent2{
display: grid;
justify-self: start;
align-self: center;
}
.gktNotificationItemContent3{
display: grid;
font-size: 14px;
justify-self: start;
}
.gktNotificationItemContent4{
display: grid;
justify-self: end;
}
.gktNotificationItemContent3SubText{
font-size: 12px;
}
.gktOneClickUpsellContainer {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
padding: 5px 0px;
}
.gktOneClickUpsellItemContainer{
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
padding: 3px 0px;
margin: 3px 0px;
border-radius: 3px;
font-size: 14px;
}
.gktOneClickUpsellItemContainer label {
margin-bottom: 0px
}
.gktOneClickUpsellItemContainerLabelText{
align-self: center;
font-size:12px;
justify-self: left;
text-align: left;
}
.gktOneClickUpsellImage{
width: 40px;
height: 40px;
border: 1px solid #f1f2f3;
}
.gktOneClickUpsellItemContainerItem1{
grid-row: 1 / 5;
}
.gktOneClickUpsellItemContainerItem2{
}
.gktOneClickUpsellItemContainerItem3{
position: relative;
display: flex;
width: fit-content;
height: 30px;
border-radius: 4px;
overflow: hidden;
}
label.gktCustomCheckboxContainer {
display: grid;
grid-template-columns: 5fr 1fr;
}
/* The container */
.gktCustomCheckboxContainer {
display: block;
position: relative;
padding-left: 35px;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* Hide the browser's default checkbox */
.gktCustomCheckboxContainer input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
/* Create a custom checkbox */
.gktCustomCheckboxCheckmark {
position: absolute;
top: 5px;
left: 0;
height: 25px;
width: 25px;
border: 1px solid #a2a2a2;
border-radius: 4px;
}
/* On mouse-over, add a grey background color */
.gktCustomCheckboxContainer:hover input ~ .gktCustomCheckboxCheckmark {
background-color: #ccc;
}
/* When the checkbox is checked, add a blue background
.gktCustomCheckboxContainer input:checked ~ .gktCustomCheckboxCheckmark {
background-color: #2196F3;
} */
/* Create the gktCustomCheckboxCheckmark/indicator (hidden when not checked) */
.gktCustomCheckboxCheckmark:after {
content: "";
position: absolute;
display: none;
}
/* Show the gktCustomCheckboxCheckmark when checked */
.gktCustomCheckboxContainer input:checked ~ .gktCustomCheckboxCheckmark:after {
display: block;
}
/* Style the gktCustomCheckboxCheckmark/indicator */
.gktCustomCheckboxContainer .gktCustomCheckboxCheckmark:after {
left: 8px;
top: 1px;
width: 8px;
height: 16px;
border: solid #009c00;
border-width: 0 3px 3px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.gktVideoPlayerHide {
display: none !important;
}
.gktVideoMsgPlayerWrapper {
/* height: 100vh; */
z-index: 10000000000000;
display: none;
align-items: center;
justify-items: center;
width: 100%;
/* position: fixed; */
top: 30px;
margin: 10px auto;
}
.gktRecorder {
width: 100%;
min-height: 250px;
position: relative;
border-radius: 2%;
overflow: hidden;
}
.gktVideoPlayer,
.gktVideoPlayerRecording {
width: 100%;
height: auto;
}
.gktRecorderCloseBtn {
position: absolute;
z-index: 1;
left: 2%;
top: 5%;
background: transparent;
border: none;
display: none;
}
.gktRecorderCloseBtn img {
height: 30px;
width: 30px;
filter: invert(90%);
cursor: pointer;
}
.gktVideoPlayerStartBtn,
.gktVideoPlayerStopBtn {
position: absolute;
bottom: 2%;
left: 50%;
transform: translateX(-50%);
cursor: pointer;
height: 60px;
width: 60px;
border-radius: 50%;
border: none;
background-color: transparent;
}
.gktVideoPlayerStartBtn {
background-color: white;
}
.gktVideoPlayerStopBtn {
background-color: red;
}
.gktVideoPlayerRedDot,
.gktVideoPlayerRedSquare {
height: 20px;
width: 20px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.gktVideoPlayerRedDot {
background-color: red;
border-radius: 50%;
}
.gktVideoPlayerRedSquare {
background-color: white;
border-radius: 10%;
}
.gktPermissionDenied {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 16px;
}
.gktVideoPlayerTimeLeft {
position: absolute;
bottom: 4%;
right: 4%;
color: white;
font-size: 12px;
background: black;
padding: 4px;
color: white;
opacity: 0.7;
}
.gktVideoPlayerStatus {
position: absolute;
bottom: 4%;
left: 4%;
font-size: 12px;
padding: 4px;
background-color: black;
color: white;
opacity: 0.7;
}
.gktVideoPlayerControls {
width: 100%;
text-align: center;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 1;
display: grid;
grid-template-columns: repeat(3, 1fr);
justify-content: space-evenly;
align-items: center;
}
.gktLoadingHeading {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 1;
color: white;
font-size: 20px;
}
.gktUploadingVideoHeading {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 1;
color: #e3dada;
font-size: 16px;
text-align: center;
line-height: 40px;
}
.gktVideoPlayerControlsAcceptBtnDiv,
.gktVideoPlayerControlsPlayBtnDiv,
.gktVideoPlayerControlsReStartBtnDiv{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.gktVideoPlayerControlsBtnDivInfo{
font-size: 12px;
color: white;
margin: 0 0 8px 0;
}
.gktVideoPlayerControlsAcceptBtn,
.gktVideoPlayerControlsPlayBtn,
.gktVideoPlayerControlsReStartBtn {
background-color: transparent;
height: 90px;
width: 90px;
border-radius: 50%;
cursor: pointer;
border:0;
/* margin-right: 20px; */
}
old.gktVideoPlayerControlsAcceptBtn {
border: 5px solid #3ce669;
}
old.gktVideoPlayerControlsPlayBtn {
border: 5px solid #d3d3d3;
}
old.gktVideoPlayerControlsReStartBtn {
border: 5px solid #e03838;
}
.gktVideoPlayerControlsAcceptBtnImg,
.gktVideoPlayerControlsPlayBtnImg,
.gktVideoPlayerControlsReStartBtnImg {
height: auto;
width: 100%;
}
old.gktVideoPlayerControlsAcceptBtnImg {
filter: invert(69%) sepia(59%) saturate(537%) hue-rotate(80deg) brightness(98%) contrast(93%);
}
old.gktVideoPlayerControlsPlayBtnImg {
filter: invert(100%) sepia(0) saturate(7500%) hue-rotate(116deg) brightness(80%) contrast(109%);
}
old.gktVideoPlayerControlsReStartBtnImg {
filter: invert(23%) sepia(77%) saturate(3858%) hue-rotate(348deg) brightness(98%) contrast(80%);
}
/* 500px and down */
@media only screen and (max-width: 600px) {
.gktVideoPlayerRecording {
object-fit: cover;
height: 100%;
}
.gktRecorder {
min-height: 36vh;
}
.gktVideoPlayer,
.gktVideoPlayerRecording{
width: 100%;
object-fit: cover;
position: absolute;
height: 100%;
}
/* .gktVideoPlayerControlsAcceptBtn,
.gktVideoPlayerControlsPlayBtn,
.gktVideoPlayerControlsReStartBtn {
height: 50px;
width: 50px;
} */
.gktVideoPlayerControlsAcceptBtnImg,
.gktVideoPlayerControlsPlayBtnImg,
.gktVideoPlayerControlsReStartBtnImg {
height: 28px;
width: 28px;
}
}
/* 350px and down */
@media only screen and (max-width: 600px) {
.gktVideoPlayerStartBtn,
.gktVideoPlayerStopBtn {
height: 40px;
width: 40px;
}
.gktVideoPlayerRedDot,
.gktVideoPlayerRedSquare {
width: 10px;
height: 10px;
}
}
.gktGiftCardMessageContent{
overflow-y:auto;
}
.gktGiftCardMessageContent ::-webkit-scrollbar {
width: 5px;
}
/* Track */
.gktGiftCardMessageContent ::-webkit-scrollbar-track {
background: #f1f1f1;
}
/* Handle */
.gktGiftCardMessageContent ::-webkit-scrollbar-thumb {
background: #2c2c2c 0% 0% no-repeat padding-box;
}
/* Handle on hover */
.gktGiftCardMessageContent ::-webkit-scrollbar-thumb:hover {
background: #000000 0% 0% no-repeat padding-box;
}
/* Extra small devices (phones, 600px and down) */
/* @media only screen and (max-width: 800px) {
.gktRecorder {
width: 375px;
height: 650px;
background-color: black;
}
.gktVideoPlayer,
.gktVideoPlayerRecording {
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.gktVideoPlayerRecording {
object-fit: contain;
}
.gktVideoPlayerControls {
width: 80%;
}
.gktVideoPlayerControlsAcceptBtn,
.gktVideoPlayerControlsPlayBtn,
.gktVideoPlayerControlsReStartBtn {
margin-right: 7px;
}
.gktVideoPlayerTimeLeft,
.gktVideoPlayerStatus {
font-size: 18px;
background-color: rgba(0,0,0,0.2);
padding: 2px 4px;
}
} */
/* @media only screen and (max-width: 850px) {} */
/* Small devices (portrait tablets and large phones, 600px and up) */
/* @media only screen and (min-width: 600px) {} */
/* Medium devices (landscape tablets, 768px and up) */
/* @media only screen and (min-width: 768px) {} */
/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 900px) {
.gktRecorder {
min-height: 180px;
height: 100%;
}
.gktRecord,.gktRecorded{
height: 100%;
}
.gktVideoPlayer, .gktVideoPlayerRecording{
width: 100%;
object-fit: cover;
height: 100%;
}
.gktVideoMsgPlayerWrapper{
height: 300px;
}
.gktGiftCardMessageContent{
max-height: 350px;
}
}
/* Extra large devices (large laptops and desktops, 1200px and up) */
/* @media only screen and (min-width: 1200px) {} */
</style>
<script async>
// import a file from
let DEFAULT_addToCartBtnSelectors = 'input[name="add"], button[name="add"], form[action*="/cart/add"] input[type="submit"], form[action*="/cart/add"] button[type="submit"], form[action*="/cart/add"] button:not([type="button"]), form[action*="/cart/add"] .gkt__add-to-cart';
let DEFAULT_checkoutBtnSelectors = 'button[name="checkout"], input[name="checkout"], form[action*="/cart"] a[href="/checkout"], a[href="/checkout"], form[action="/cart"] input[type="submit"][name="checkout"], form[action="/cart"] button[type="submit"][name="checkout"]';
let DEFAULT_quantityBtnSelectors = '.ajaxcart__qty,quantity-input .quantity,.product-form__input, .product-form__quantity ';
let DEFAULT_sideCartSelectors = '.cart-notification,cart-notification,.cart-notification-wrapper,#cart-notification, #CartDrawer, .drawer, .drawer-cover, .Drawer';
let DEFAULT_buyNowBtn = '.shopify-payment-button__button, .shopify-payment-button__button--unbranded';
let DEFAULT_cartForm = 'form[action="/cart"], form[action="/cart/"], form[action="cart"]';
// window = this.window || {};
// the below code is liquid code that we are using in our theme.liquid file
// how do i avoid compilation issues with js
// let liquidValues = require('../snippets/shopify-liquid-values.liquid');
//initialze liquid values
// check if window.shopifyLiquidValues EXISTS , if not then
// if(window.shopifyLiquidValues){
// console.log("window.shopifyLiquidValues is coming from theme-app-extension",window.shopifyLiquidValues);
// return
// }
// console.log(document?.currentScript?.src);
// old-code should execute when new code isnt prresent
if(!window.shopifyLiquidValues){
let shopifyLiquidValues = {
product: { handle: null },
selected_or_first_available_variant: null,
customer: {
first_name: null,
email: null,
id: null,
has_account: null,
total_spent: null
}
}
window.shopifyLiquidValues = shopifyLiquidValues;
}
// {liquidValues}
// // liquidValues
var gktUtils = {
f: {}
}
window.gktUtils = gktUtils;
/*
*fn(param1, param2) =>
*param1 is url of script that we suppose to load
*param2 is function that should be called after script is loaded
*/
gktUtils.f.loadScript = function (a, b) {
var c = document.createElement("script");
c.type = "text/javascript";
c.src = a;
document.getElementsByTagName("head")[0].appendChild(c)
c.onload = function () { b() };
};
/*
* we changed loadScript function - if else block for onload is removed as it was not making sense
*fn(param1) =>
*param1 - represents function that should be executed once jquery is loaded
*https://www.w3schools.com/jquery/jquery_noconflict.asp
*/
gktUtils.f.loadJquery = function (b) {
console.log("does this work");
let flag = false;
if("undefined" === typeof jQuery || 1.9 > parseFloat(jQuery.fn.jquery)){
flag = true;
}
if("undefined" != typeof jQuery && jQuery.post == undefined){
flag = true;
}
if(flag){
gktUtils.f.loadScript("https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js", function () {
gktJquery = jQuery.noConflict(!0);
b(gktJquery)
})
}else{
b(jQuery);
}
};
var gkt = {
debug: [],
version: 1.1,
state: {
submitted: "",
product_added: "",
page_type: "",
insertWrapperOnPage: [],
cartData: undefined,
isOverWriteBuyNowBtnTriggered: false,
timer: undefined,
freeGiftcardPopupModalTriggered: false,
freeGiftcardPopupModalCount : parseInt(sessionStorage.getItem("freeGiftcardPopupModalCount"))|| 0,
freeGiftcardPopupModalMAXCount : 2,
gktFreeGiftcardBuyMoreProductNotificationSubHeadingShown: false,
sendGiftcardOnPageBtnClicked: false,
activeCampaignName: "EMPTY",
},
constants: {
themesIds: {
DAWN_THEME: 887,
VENTURE_THEME: 775,
EXPRESS_THEME: 885,
CRAVE_THEME: 1363,
SENSE_THEME: 1356,
CRAFT_THEME: 1368,
}
},
cartInterval: "",
productinterval: "",
f: {
bootstrap: function (settings) {
console.log("bootstap?");
gkt.f.initDOM(settings);
gkt.f.initThemeCSS(settings);
gkt.f.globalListener(settings)
// gkt.gktGiftMsgAndWrap.init(settings);
gkt.storage.loadValuesFromStorage(gkt.settings);
gkt.themeSpecificCode.init(gkt.settings)
},
initDOM: function (settings) {
console.log("initDOM?");
// gkt.$ = jQuery;
gkt.$(document).ready(function () {
gkt.f.initDOMElements(settings);
// gkt.f.initDOMEvents(settings);
});
},
initDOMElements: function (settings) {
//insert the string skeletonDOM as html
const skeletonDOM = gkt.$.parseHTML('<div><div class="gktModalWrapper" style="display:none;"><div class="gktModal"><div class="gktModalHeader"><div class="gktModalClose"></div></div><div class="gktContentWrapper"><div class="gktLeftContent"><div class="gktJustifyCenter"><label class="gktCheckboxLayout"><input type="checkbox" checked="true" class="gktGiftMessageCheckbox"><div class="gktMessageCheckboxHeading"></div></label></div><textarea class="gktMessageTextarea gktAlignCenter"></textarea></div><div class="gktRightContent"><div class="gktJustifyCenter"><label class="gktCheckboxLayout"><input type="checkbox" checked="true" class="gktGiftWrapCheckbox"><div class="gktGiftWrapCheckboxHeading"></div></label></div><img class="gktGiftWrapImage gktAlignCenter" loading="lazy"></div></div><div class="gktModalFooter"><div class="gktModalSave"></div></div></div></div></div><div class="gktComboModalWrapper"><div class="gktComboModal"><div class="gktComboModalHeader"><strong class="gktComboModalPopupHeading"></strong><div class="gktComboModalClose"></div></div><div class="gktComboContent"><div class="gktComboContentHeader"></div><div class="gktComboContentFooter"><div class="gktComboContentFooterBtn1"></div><div class="gktComboContentFooterBtn2"></div></div></div></div></div></div><div class="gktGiftCardModalWrapper"><div class="gktGiftCardModal"><div class="gktGiftCardModalHeader"><strong class="gktGiftCardModalPopupHeading"></strong><div class="gktGiftCardModalClose"></div></div><div class="gktGiftCardContent"><div class="gktGiftCardContentHeader"></div><form><div class="gktGiftCardGreetingCardContent"></div><div class="gktGiftCardDetailsContent"></div><div class="gktGiftCardMessageContent"></div></form><div class="gktGiftCardContentFooter"><div class="gktGiftCardContentFooterBtn1"></div></div></div><div class="gktPoweredByBanner"></div></div></div><div class="gktFreeGiftcardPopupModalWrapper"><div class="gktFreeGiftcardPopupModal"></div></div></div><div class="gktNotificationWrapper"></div></div>')
gkt.$("body").append(skeletonDOM);
// gkt.elements.productPageWrapperV2.append(skeletonDOM);
// gkt.elements.cartPageWrapperV2.append(skeletonDOM);
//attach a link to the body
gkt.$("body").append('<link rel="stylesheet" href="https://cdn.quilljs.com/1.2.6/quill.snow.css">');
},
getSettings: async function () {
//promise
console.log("GET setting of giftkart fired")
return new Promise(function (resolve, reject) {
console.log("fetching from s3")
gkt.f.getSettingsFromS3().then(
success => {
resolve(success);
}
).catch(error => {
fetch("/apps/gkt/getTmpCartSettings",{
method: 'GET',
}).then(
response => response.json() // if the response is a JSON object
).then(
success => {
if(success.responseCode == 200){
console.log("success-data", success.data);
}
resolve(success.data);
}
).catch(error => {
console.log(error) // Handle the error response object
reject(error)
});
});
});
},
setSelectors: function(){
let settings = gkt.settings
gkt.selectors = {
addToCart: settings.app.addToCartBtnSelectors,
checkoutBtn: settings.app.checkoutBtnSelectors,
sideCartSelectors: settings.app.sideCartSelectors,
buyNowBtn: settings.app.buyNowBtn,
cartForm: settings.app.cartForm,
productPageWrapperV2: '.gktProductPageWrapperV2',
cartPageWrapperV2: '.gktCartPageWrapperV2',
quantityBtnSelectors : settings.app.quantityBtnSelectors,
}
},
getSettingsFromS3: async function () {
//promise
let shopName = window.Shopify.shop
console.log("GET setting of giftlab pro fired")
return new Promise(function (resolve, reject) {
fetch("https://giftkart-staging.s3.us-east-2.amazonaws.com/tempCartSettings/"+shopName+`.json?nocache=${(new Date()).getTime()}`,{
method: 'GET',
}).then(
response => response.json() // if the response is a JSON object
).then(
success => {
if(success.responseCode == 200){
console.log("success-data", success);
}
resolve(success);
}
).catch(error => {
console.log(error) // Handle the error response object
reject(error)
})
})
},
getLoggedInCustomer: async function () {
try{
if(shopifyLiquidValues && shopifyLiquidValues.customer && shopifyLiquidValues.customer.id){
let customerData = await fetch(`/apps/gkt/getLoggedInCustomer?email=${shopifyLiquidValues.customer.email}`);
// await new Promise(resolve => setTimeout(resolve, 10000)); //sleep to check loading state
let customerDataJson = await customerData.json();
customerDataJson = customerDataJson.data;
gkt.settings.customer = customerDataJson;
return customerDataJson;
}
}catch(e){
console.log("error in getLoggedIncustomer=",e)
console.log("Have you setup /apps/gkt proxy properly?")
return false;
}
},
addGiftCardToRewardCodeAPI: async function (_id) {
try{
if(shopifyLiquidValues && shopifyLiquidValues.customer && shopifyLiquidValues.customer.id){
let addToGiftCardAPI = await fetch(`/apps/gkt/addGiftcardToRewardCode?gktGiftcardId=${_id}`,{
method: 'POST',
});
let addToGiftCardAPIJson = await addToGiftCardAPI.json();
addToGiftCardAPIJson = addToGiftCardAPIJson.data;
gkt.settings.customer = addToGiftCardAPIJson;
return addToGiftCardAPIJson;
}
}catch(e){
console.log("error in addGiftCardToRewardCodeAPI=",e)
console.log("Have you setup /apps/gkt proxy properly?")
return false;
}
},
setSettings: function(tmpCartSettings){
var cart_settings = {
giftWrapProduct: {
productId: tmpCartSettings.productId,
productVairantID: tmpCartSettings.productVariantId,
giftWrapPrice: tmpCartSettings.giftWrapPrice,
giftWrapProductImage: tmpCartSettings.giftWrapImgUrl,
giftWrapShopifyImgUrl: tmpCartSettings.giftWrapShopifyImgUrl,
giftWrapHandle: tmpCartSettings.giftWrapHandle,
isGiftWrapEnabled: tmpCartSettings.isGiftWrap,
isVisibleOnCart: tmpCartSettings.isVisibleOnCart,
isVisibleOnAllProductPages: tmpCartSettings.isVisibleOnAllProductPages,
isVisibleOnSpecificProductPages: tmpCartSettings.isVisibleOnSpecificProductPages,
visibleOnSpecificProductPages: tmpCartSettings.visibleOnSpecificProductPages
},
giftMessage: tmpCartSettings.giftMessage || {},
popup: {
popupHeadingText: tmpCartSettings.popupHeadingText,
messageCheckboxHeading: tmpCartSettings.messageCheckboxHeading,
giftWrapCheckboxHeading: tmpCartSettings.giftWrapCheckboxHeading,
messageBoxplaceholder: tmpCartSettings.messageBoxplaceholder,
saveButtonBackgroundColor: tmpCartSettings.saveButtonBackgroundColor,
saveButtonTextColor: tmpCartSettings.saveButtonTextColor,
saveButtonText: tmpCartSettings.saveButtonText,
cartPopupBackgroundColor: tmpCartSettings.cartPopupBackgroundColor,
reloadOnCancelClick: tmpCartSettings.reloadOnCancelClick
},
giftingOptions: {
isGiftWrapEnabled: tmpCartSettings.isGiftWrap,
isGiftMessageEnabled: tmpCartSettings.isGiftField,
enabledGifiting: tmpCartSettings.enabledGifiting,
shopifyPageinnerHTML: tmpCartSettings.cartPageText
},
videoMessage: tmpCartSettings.videoMessageData,
pageWrapper: { cartPageText: tmpCartSettings.cartPageText },
combos: tmpCartSettings.combos || [],
oneClickUpsells: tmpCartSettings.oneClickUpsells || [],
giftCards: tmpCartSettings.giftCards || [],
greetingCards : tmpCartSettings.greetingCardData,
rewardCampaigns: tmpCartSettings.rewardCampaignData,
urlCampaignDataList: tmpCartSettings.urlCampaignDataList,
app: {
disableApp: tmpCartSettings.userData.customSettings.disableApp || false,
disableSideCart: tmpCartSettings.userData.customSettings.disableSideCart || false,
refreshProductPageOnGiftWrap: tmpCartSettings.userData.customSettings.refreshProductPageOnGiftWrap || false,
addToCartBtnSelectors: tmpCartSettings.userData.customSettings.addToCartBtnSelectors || DEFAULT_addToCartBtnSelectors,
checkoutBtnSelectors: tmpCartSettings.userData.customSettings.checkoutBtnSelectors || DEFAULT_checkoutBtnSelectors,
quantityBtnSelectors: tmpCartSettings.userData.customSettings.quantityBtnSelectors || DEFAULT_quantityBtnSelectors,
sideCartSelectors: tmpCartSettings.userData.customSettings.sideCartSelectors || DEFAULT_sideCartSelectors,
// cartDrawerSelectors: tmpCartSettings.userData.customSettings.cartDrawerSelectors || DEFAULT_cartDrawerSelectors,
// sideCartDrawerOverlay: tmpCartSettings.userData.customSettings.sideCartDrawerOverlay || DEFAULT_sideCartDrawerOverlay,
themeBackgroundColor : tmpCartSettings.userData.customSettings.themeBackgroundColor || "",
themeFontFamily: tmpCartSettings.userData.customSettings.themeFontFamily || "",
themeFontColor: tmpCartSettings.userData.customSettings.themeFontColor || "",
themeButtonBackgroundColor: tmpCartSettings.userData.customSettings.themeButtonBackgroundColor || "",
themButtonTextColor: tmpCartSettings.userData.customSettings.themButtonTextColor || "",
themeButtonBorderColor: tmpCartSettings.userData.customSettings.themeButtonBorderColor || "",
themeButtonBoxShadow: tmpCartSettings.userData.customSettings.themeButtonBoxShadow || "",
//button font family
themeButtonFontFamily: tmpCartSettings.userData.customSettings.themeButtonFontFamily || "",
themeHeaderFontFamily: tmpCartSettings.userData.customSettings.themeHeaderFontFamily || "",
themeHeaderFontColor: tmpCartSettings.userData.customSettings.themeHeaderFontColor || "",
themeLabelFontColor: tmpCartSettings.userData.customSettings.themeLabelFontColor || "",
themeLabelFontFamily: tmpCartSettings.userData.customSettings.themeLabelFontFamily || "",
hidePoweredByBanner: tmpCartSettings.userData.customSettings.hidePoweredByBanner || false,
useGiftCardAddToCartButtonOverwrite2: tmpCartSettings.userData?.customSettings?.useGiftCardAddToCartButtonOverwrite2 || false,
buyNowBtn: tmpCartSettings.userData.customSettings.buyNowBtn || DEFAULT_buyNowBtn,
cartForm: tmpCartSettings.userData.customSettings.cartForm || DEFAULT_cartForm,
addAfterAddTocartBtn:tmpCartSettings.userData.customSettings.addAfterAddTocartBtn || false,
addAftercheckoutBtn: tmpCartSettings.userData.customSettings.addAftercheckoutBtn || false,
activeVariantCodes: tmpCartSettings.userData.customSettings.activeVariantCodes || "123456789",
customStyleForGiftcard: tmpCartSettings.userData.customSettings.customStyleForGiftcard || null,
redirectUrlForSendGiftcardBtn: tmpCartSettings.userData.customSettings.redirectUrlForSendGiftcardBtn ? window.location.origin + tmpCartSettings.userData.customSettings.redirectUrlForSendGiftcardBtn : window.location.origin + "/cart/checkout" ,
},
accountWidget: tmpCartSettings.userData.accountWidget,
merchantInfo: tmpCartSettings.userData,
languageData: tmpCartSettings.languageData,
SERVER_URL: tmpCartSettings.SERVER_URL,
urlSearchString: window.location.search ? window.location.search : ""
}
gkt.settings = cart_settings;
console.log("settings assigned")
},
preparePoweredByBannerUI: function () {
try{
let brandingToBeShown = ['basic', 'plus', 'basic-alpha', 'plus-alpha', 'basic-beta', 'plus-beta', 'basic-gamma', 'premium-gamma', 'basic-sept8', 'pro-nov7', 'pro-jan16-free', 'pro-jan16-19']
let showPoweredByBanner = false;
if(gkt.settings.app.hidePoweredByBanner == true){
showPoweredByBanner = false;
}else{
for(let i=0;i<brandingToBeShown.length;i++){
if(gkt.settings.merchantInfo.isSubscription == false || gkt.settings.merchantInfo.isSubscription.name == brandingToBeShown[i]){
showPoweredByBanner = true;
break;
}
}
}
if(showPoweredByBanner){
let gktPoweredByBannerHTML = gkt.$("<div>").addClass("gktPoweredByBanner");
let gktPoweredByBannerPreImageText = gkt.$("<div>").addClass("gktPoweredByBannerPreImageText").html("Powered by ");
let gktPoweredByBannerPostImageText = gkt.$("<div>").addClass("gktPoweredByBannerPostImageText").html(" GiftKart");
let gktPoweredByBannerLogo = gkt.$("<img>").addClass("gkt-branding-banner-logo");
gktPoweredByBannerLogo.attr("src","https://d3ks0ngva6go34.cloudfront.net/public/giftkart_logo.jpg");
gktPoweredByBannerLogo.attr("alt","GiftKart");
//very smol
gktPoweredByBannerLogo.attr("width","22");
gktPoweredByBannerLogo.attr("height","22");
gktPoweredByBannerHTML.append(gktPoweredByBannerPreImageText);
gktPoweredByBannerHTML.append(gktPoweredByBannerLogo);
gktPoweredByBannerHTML.append(gktPoweredByBannerPostImageText);
gktPoweredByBannerHTML.on("click",function(){
window.open("https://apps.shopify.com/giftkart","_blank");
})
return gktPoweredByBannerHTML;
}else{
gkt.$(".gktPoweredByBanner").remove();
}
return;
}catch(err){
console.log("error in preparePoweredByBannerUI",err);
return;
}
},
initThemeCSS: function (){
console.log("initThemeCSS?",gkt.selectors.addToCart);
let addToCartBtnEle = gkt.$(document).find(gkt.selectors.addToCart)
let checkoutBtnEle = gkt.$(document).find(gkt.selectors.checkoutBtn)
let buttonToOverRide = gkt.$(addToCartBtnEle).length > 0 ? addToCartBtnEle : checkoutBtnEle;
if(gkt.settings.app.themeFontFamily == "" && gkt.$("body").length>0){
gkt.settings.app.themeFontFamily = gkt.$("body").css("font-family");
}
//find the font color of the theme
if(gkt.settings.app.themeFontColor == "" && gkt.$("p").length > 0){
gkt.settings.app.themeFontColor = gkt.$("p").css("color");
}
//theme background color
if(gkt.settings.app.themeBackgroundColor == "" && gkt.$("body").length > 0){
gkt.settings.app.themeBackgroundColor = gkt.$("body").css("background-color");
}
if(gkt.settings.app.themeLabelFontColor == "" && gkt.$("label").length > 0){
gkt.settings.app.themeLabelFontColor = gkt.$("label").css("color");
}
// themeLabelFontFamily
if(gkt.settings.app.themeLabelFontFamily == "" && gkt.$("label").length > 0){
gkt.settings.app.themeLabelFontFamily = gkt.$("label").css("font-family");
}
if(gkt.settings.app.themeButtonBackgroundColor == "" && gkt.$(buttonToOverRide).length > 0 ){
gkt.settings.app.themeButtonBackgroundColor = gkt.$(buttonToOverRide).css("background-color");
}
if(gkt.settings.app.themButtonTextColor == "" && gkt.$(buttonToOverRide).length > 0){
gkt.settings.app.themButtonTextColor = gkt.$(buttonToOverRide).css("color");
}
if(gkt.settings.app.themeButtonBorderColor == "" && gkt.$(buttonToOverRide).length > 0){
gkt.settings.app.themeButtonBorderColor = gkt.$(buttonToOverRide).css("border-color");
}
//box shadow
if(gkt.settings.app.themeButtonBoxShadow == "" && gkt.$(buttonToOverRide).length > 0){
gkt.settings.app.themeButtonBoxShadow = gkt.$(buttonToOverRide).css("box-shadow");
}
// button font family
if(gkt.settings.app.themeButtonFontFamily == "" && gkt.$(buttonToOverRide).length > 0){
gkt.settings.app.themeButtonFontFamily = gkt.$(buttonToOverRide).css("font-family");
}
if(gkt.settings.app.themeHeaderFontFamily == "" && gkt.$("h1").length > 0){
gkt.settings.app.themeHeaderFontFamily = gkt.$("h1").css("font-family");
}
if(gkt.settings.app.themeHeaderFontColor == "" && gkt.$("h1").length > 0){
gkt.settings.app.themeHeaderFontColor = gkt.$("h1").css("color");
}
},
getPageType: function () {
var pageType = "";
if (window.location.pathname.includes("/cart") && !window.location.pathname.includes("/products")) {
pageType = "cart";
} else if (window.location.pathname.includes("/products")) {
pageType = "product";
} else if (window.location.pathname.includes("/collections")) {
pageType = "COLLECTION";
} else if (window.location.pathname.includes("/")) {
pageType = "HOME";
} else if ("undefined" != typeof Shopify && "undefined" != typeof Shopify.Checkout) {
pageType = "CHECKOUT";
} else {
pageType = "PAGE_NOT_FOUND";
}
return pageType;
},
getProductPageHandle: function () {
if ("product" === gkt.state.page_type && shopifyLiquidValues.product.handle) {
// let pattern = /(?<=\\/products\\/)((?!\\?|\\$).)+/g
// if(window && window.location && window.location.href){
// return window.location.href.match(pattern)[0]
// }
return shopifyLiquidValues.product.handle
}
return "undefined"
},
applyPopupCSS: function (element) {
//gktGiftCardModal background-color
// gktGiftCardInputFieldsDiv color of the font
gkt.$(element).css("background-color", gkt.settings.app.themeBackgroundColor);
},
applyButtonCSS : function(element){
//apply gkt.settings.app.themButtonTextColor themeButtonBackgroundColor themeButtonBorderColor to the button
if(gkt.settings.app.themButtonTextColor != ""){
element.css("color", gkt.settings.app.themButtonTextColor);
}
if(gkt.settings.app.themeButtonBackgroundColor != ""){
element.css("background-color", gkt.settings.app.themeButtonBackgroundColor);
}
if(gkt.settings.app.themeButtonBorderColor != ""){
element.css("border","1px solid")
element.css("border-color", gkt.settings.app.themeButtonBorderColor);
}
// box shadow
if(gkt.settings.app.themeButtonBoxShadow != ""){
element.css("box-shadow", gkt.settings.app.themeButtonBoxShadow);
}
//themeButtonFontFamily
if(gkt.settings.app.themeButtonFontFamily != ""){
element.css("font-family", gkt.settings.app.themeButtonFontFamily);
}
},
resetButtonCSS: function (element){
//reset the button css
element.css("color","");
element.css("background-color","");
element.css("border","");
element.css("border-color","");
element.css("box-shadow","");
},
applyHeaderCSS: function (element){
//apply gkt.settings.app.themeFontFamily themeFontColor to the header
if(gkt.settings.app.themeHeaderFontFamily != ""){
element.css("font-family", gkt.settings.app.themeHeaderFontFamily);
}
if(gkt.settings.app.themeHeaderFontColor != ""){
element.css("color", gkt.settings.app.themeHeaderFontColor);
}
},
applyLabelCSS: function (element){
//apply gkt.settings.app.themeLabelFontColor to the label
if(gkt.settings.app.themeLabelFontColor != ""){
element.css("color", gkt.settings.app.themeLabelFontColor);
}
element.css("font-family","inherit");
if(gkt.settings.app.themeLabelFontFamily != ""){
element.css("font-family", gkt.settings.app.themeLabelFontFamily);
}
},
getSelectedVariant: function () {
if ("product" === gkt.state.page_type) {
let activeCodes = gkt.settings.app.activeVariantCodes;
if(activeCodes.indexOf("1") >= 0){
const params = Object.fromEntries(new URLSearchParams(location.search))
if(params && params.variant){
return params.variant
}
}
if(activeCodes.indexOf("2") >= 0){
if (ShopifyAnalytics && ShopifyAnalytics.meta && ShopifyAnalytics.meta.selectedVariantId) {
for(let i = 0; i < ShopifyAnalytics.meta.product.variants.length; i++){
if(ShopifyAnalytics.meta.product.variants[i].id == ShopifyAnalytics.meta.selectedVariantId){
return ShopifyAnalytics.meta.selectedVariantId
}
}
}
}
if(activeCodes.indexOf("3") >= 0){
if (document.querySelector('[name="id"]') && document.querySelector('[name="id"]').value) {
return document.querySelector('[name="id"]').value
}
}
if(activeCodes.indexOf("4") >= 0){
if (shopifyLiquidValues.selected_or_first_available_variant) {
return shopifyLiquidValues.selected_or_first_available_variant.id
}
}
return undefined
}
},
getProductQuantity: function () {
if (document.querySelector('[name="quantity"]') && document.querySelector('[name="quantity"]').value) {
if(Number(document.querySelector('[name="quantity"]').value) && Number(document.querySelector('[name="quantity"]').value) <= 10){
return Number(document.querySelector('[name="quantity"]').value)
}else{
return 1
}
}else {
return 1
}
},
getElements: function (settings) {
return {
gktGiftMsgAndWrapWrapperParent: gkt.$(gkt.$.parseHTML('<div class="gktGiftMsgAndWrapHeader"><div class="gktGiftMsgAndWrapHeaderItem"><label for="gift-wrapping" class="gktGiftMsgAndWrapWrapperInnerEle"><input id="gift-wrapping" class="gktGiftOptionsCheckbox" type="checkbox" name="addGiftOptions"><span class="gktCustomWrapCheckboxCheckmark"></span><div class="gktGiftMsgAndWrapWrapperInnerEleHeading"></div></label></div></div>')),
gktCartGiftMsgAndWrapWrapperParent: gkt.$(gkt.$.parseHTML('<div class="gktCartGiftMsgAndWrapHeader"><div class="gktCartGiftMsgAndWrapHeaderItem"><label for="gift-wrapping" class="gktGiftMsgAndWrapWrapperInnerEle"><input id="gift-wrapping" class="gktGiftOptionsCheckbox" type="checkbox" name="addGiftOptions"><span class="gktCustomWrapCheckboxCheckmark"></span><div class="gktGiftMsgAndWrapWrapperInnerEleHeading"></div></label></div></div>')),
addToCartBtn: gkt.$(document).find(gkt.selectors.addToCart),
addToCartButtonCloned: undefined,
checkoutBtn: gkt.$(document).find(gkt.selectors.checkoutBtn),
cartForm: gkt.$(document).find(gkt.selectors.cartForm),
productPageWrapperV2: gkt.$(gkt.$.parseHTML('<div class="gktPageWrapper gktProductPageWrapperV2"><div class="gktComboWrapper"></div><div class="gktProductPageUpsellWrapper"></div><div class="gktGiftMsgAndWrapWrapper"></div><div class="gktGiftMessageWrapper"></div><div class="gktGiftCardWrapper"></div></div>')),
cartPageWrapperV2: gkt.$(gkt.$.parseHTML('<div class="gktPageWrapper gktCartPageWrapperV2"><div class="gktCartUpsellWrapper"></div><div class="gktCartGiftMsgAndWrapWrapper"></div><div class="gktCartGiftMessageWrapper"></div><div class="gktAccountWidgetWrapper"></div></div>')),
buyNowBtn: gkt.$(document).find(gkt.selectors.buyNowBtn)
}
},
initialize: async function (jQuery) {
// gkt.$.ajaxSetup({global: true});
let tmpCartSettings = await gkt.f.getSettings();
gkt.f.setSettings(tmpCartSettings)
gkt.f.setSelectors();
gkt.state.page_type = gkt.f.getPageType();
gkt.elements = gkt.f.getElements(gkt.settings);
if ("" === gkt.state.page_type) return false;
gkt.utility.setLanguageLocale();
return gkt.f.bootstrap(gkt.settings);
},
globalListener: function (settings) {
let isIntervalActive = false
//if app is disabled reurn
if (settings.app.disableApp) {
return
} else {
if ("product" === gkt.state.page_type) {
gkt.productPage.init(settings)
}
if (settings.app.disableSideCart) {
if ("cart" === gkt.state.page_type) {
gkt.cartPage.init(settings)
}
} else {
gkt.cartPage.init(settings)
}
}
if(gkt.state && gkt.state.activeCampaignName == "EMPTY"){
gkt.utility.getUrlRewardCampaignName()
}
setInterval(async () => {
if (!isIntervalActive) {
// console.log("globalListener-active")
isIntervalActive = true
// insert productpage wrapper if productPage is initialized
if ("product" === gkt.state.page_type &&
gkt.elements.addToCartBtn.length > 0 &&
gkt.$(document).find(gkt.selectors.productPageWrapperV2).length == 0) {
console.log("productPage-insertWrapperIntoPage1")
gkt.productPage.f.insertWrapperIntoPage(settings)
}
let checkoutBtnEle = gkt.$(document).find(gkt.selectors.checkoutBtn)
// insert cartPage wrapper if cartPage is initialized
if (checkoutBtnEle.length > 0 &&
gkt.$(document).find(gkt.selectors.cartPageWrapperV2).length == 0) {
console.log("cartPage-insertWrapperIntoPage")
await gkt.cartPage.f.insertWrapperIntoPage(settings)
}
// check if comboproduct overwrite buyNowButton
if (false && gkt.gktCombo.state.comboHandle != "") {
gkt.gktCombo.f.comboBuyNowButtonOverwrite()
}
// check if giftCard overwrite buyNowButton
if (gkt.gktGiftCard.state.giftCardData) {
if(!gkt.elements.addToCartBtn.is(':visible') || gkt.settings.app.useGiftCardAddToCartButtonOverwrite2 == true){
gkt.elements.addToCartBtn = gkt.$(document).find(gkt.selectors.addToCart)
if(gkt.settings.app.useGiftCardAddToCartButtonOverwrite2 == true){
gkt.gktGiftCard.f.giftCardAddToCartButtonOverwrite2(gkt.gktGiftCard.state.giftCardData.isEmbededOnPage)
}else{
gkt.gktGiftCard.f.giftCardAddToCartButtonOverwrite(gkt.gktGiftCard.state.giftCardData.isEmbededOnPage)
}
}
gkt.gktGiftCard.f.giftCardBuyNowButtonOverwrite()
if(!gkt.state.sendGiftcardOnPageBtnClicked){
gkt.gktGiftCard.f.changeGiftCardAddToCartButtonText(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.addToCartButtonText))
}
}
// check if giftwrap, message or oneclick upsell overwrite buyNowButton
if(gkt.state.isOverWriteBuyNowBtnTriggered && gkt.$(document).find(".gkt-overwrite-buy-now-btn").length == 0){
gkt.utility.overWriteBuyNowBtn()
}
if(gkt.state.activeCampaignName != "" &&
gkt.settings.urlCampaignDataList &&
gkt.settings.urlCampaignDataList.length &&
gkt.settings.urlCampaignDataList.length > 0
){
let urlRewardCampaignName = gkt.state.activeCampaignName
let rewardCampaign = gkt.settings.urlCampaignDataList.find((campaign) => {
let campaignData = campaign.campaignData
return campaignData.urlBasedCampaign && campaignData.urlBasedCampaign.value && campaignData.urlBasedCampaign.value == urlRewardCampaignName
})
gkt.settings.rewardCampaigns = rewardCampaign
if(!gkt.state.setCampaignUrlattribute ){
gkt.state.setCampaignUrlattribute = true
await gkt.utility.updateCart({attributes:{"cb_campaign":gkt.state.activeCampaignName}})
}
}
if( (gkt.state.page_type == "cart" || "product" === gkt.state.page_type) &&
gkt.settings.rewardCampaigns &&
gkt.settings.rewardCampaigns.status == "ACTIVE" &&
gkt.settings.rewardCampaigns.campaignData &&
gkt.settings.rewardCampaigns.campaignData.freeGiftcardProduct &&
gkt.settings.rewardCampaigns.campaignData.freeGiftcardProduct.length &&
gkt.settings.rewardCampaigns.campaignData.freeGiftcardProduct.length > 0
){
await gkt.gktFreeGiftCardPopup.f.addFreeGiftcardProduct()
}
isIntervalActive = false
}
}, 1000)
}
},
utility: {
getActiveCurrencyRate : function(){
let currencyRate = 1;
if(window.Shopify && window.Shopify.currency && window.Shopify.currency.rate){
currencyRate = window.Shopify.currency.rate;
}
return currencyRate;
},
getCookie: function (cookieName) {
let name = cookieName + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(";");
for (let i = 0; i < ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == " ") {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return null;
},
getLocale: function () {
if (window.Shopify && window.Shopify.locale) {
return window.Shopify.locale
}else{
return "en"
}
},
setLanguageLocale: function () {
let locale = gkt.utility.getLocale()
if(gkt.settings.languageData && gkt.settings.languageData.languageMode == "SINGLE"){
locale = "en"
}
if(!gkt.settings.languageData[locale]){
locale = "en"
}
gkt.settings.languageData = gkt.settings.languageData[locale]
},
setCookie: function (cookieName, cookieValue, expiryDays = 7) {
const d = new Date();
d.setTime(d.getTime() + expiryDays * 24 * 60 * 60 * 1000);
let expires = "expires=" + d.toUTCString();
document.cookie = cookieName + "=" + cookieValue + ";" + expires + ";path=/";
},
addToCart: async function (data) {
try {
// if there is nothing to add in cart..just return true
if (!data.id) {
return true
}
let result = await gkt.$.ajax({
url: "/cart/add.js",
data: data,
type: "POST",
dataType: "json",
})
return true
} catch (error) {
console.error("gkt-utility-addToCart");
console.error(error);
return false
}
},
updateCart: async function (data) {
try {
let result = await gkt.$.ajax({
type: "POST",
url: "/cart/update.js",
data: data,
dataType: "json",
});
return result
} catch (error) {
console.error("gkt-utility-updateCart");
console.error(error);
return false
}
},
changeCart: async function (data) {
try {
let result = await gkt.$.ajax({
type: "POST",
url: "/cart/change.js",
data: data,
dataType: "json",
});
return true
} catch (error) {
console.error("gkt-utility-changeCart");
console.error(error);
return false
}
},
getProductData: async function (productName) {
try {
let result = await gkt.$.ajax({
type: "GET",
url: "/products/" + productName,
// data: data,
dataType: "json",
});
return result;
} catch (error) {
console.error("gkt-utility-updateCart");
console.error(error);
return false
}
},
getProductDataV2: function (productName) {
try {
return new Promise((res, rej) => {
gkt.$.getJSON("/products/" + productName + ".js", function (product) {
console.log("success-productName: ", productName)
res(product)
}).fail(function () { console.log("fail-productName: ", productName); res(false) })
})
return result;
} catch (error) {
console.error("gkt-utility-getProductDataV2");
console.error(error);
return false
}
},
addToCartV2: function (data) {
try {
return new Promise((res, rej) => {
gkt.$.post('/cart/add.js', data)
.done(function () { console.log("success-/cart/add.js': "); res(true) })
.fail(function (e) {
console.log("fail-/cart/add.js", e);
res(false)
})
})
return result;
} catch (error) {
console.error("gkt-utility-addToCartV2");
console.error(error);
return false
}
},
clearCart: function (data) {
try {
return new Promise((res, rej) => {
gkt.$.post('/cart/clear.js', data)
.done(function () { console.log("success-/cart/clear.js': "); res(true) })
.fail(function () { console.log("fail-/cart/clear.js"); res(false) })
})
return result;
} catch (error) {
console.error("gkt-utility-clearCart");
console.error(error);
return false
}
},
getCart: async function (data) {
try {
let result = await gkt.$.ajax({
type: "GET",
url: "/cart.js",
dataType: "json",
});
return result
} catch (error) {
console.error("gkt-utility-getCart");
console.error(error);
return false
}
},
getCartTotalQuantity: async function () {
try {
let total = 0
let cartData = await gkt.$.ajax({
type: "GET",
url: "/cart.js",
dataType: "json",
});
for (var item of cartData['items']) {
total += item["quantity"]
}
return total
} catch (error) {
console.error("gkt-utility-getCart");
console.error(error);
return false
}
},
checkIfItemPresentInCart: function (searchedVariantId) {
if (gkt.state.cartData && gkt.state.cartData.items && gkt.state.cartData.items.length && gkt.state.cartData.items.length > 0) {
for (let i = 0; i < gkt.state.cartData.items.length; i++) {
let item = gkt.state.cartData.items[i]
if (item && item.variant_id && item.variant_id == searchedVariantId) {
return item
}
}
return false
} else {
return false
}
},
getNoteFromCart: function () {
if (gkt.state.cartData && gkt.state.cartData.note && gkt.state.cartData.note != "") {
return gkt.state.cartData.note
} else {
return false
}
},
isCartTotalMoreThan: async function(value){
gkt.state.cartData = await gkt.utility.getCart()
if(gkt.state.cartData && gkt.state.cartData.total_price && ((gkt.state.cartData.total_price)/100 >= parseFloat(value))){
return true
}else{
return false
}
},
cloneAddToCartBtn: function () {
},
overWriteBuyNowBtn: function (){
let buyNowBtnEle = gkt.$(document).find(gkt.selectors.buyNowBtn)
if(buyNowBtnEle && buyNowBtnEle.length > 0 && gkt.$(document).find(".gkt-overwrite-buy-now-btn").length == 0){
// buyNowBtnEle.show()
buyNowBtnEle.unbind().unbind("click").off().off("click");
newBuyNowBtnEle = buyNowBtnEle.clone()
buyNowBtnEle.before(newBuyNowBtnEle)
// buyNowBtnEle.hide()
newBuyNowBtnEle.addClass("gkt-overwrite-buy-now-btn")
buyNowBtnEle.css("visibility", "hidden")
buyNowBtnEle.css("height", "0")
buyNowBtnEle.css("width", "0")
buyNowBtnEle.css("padding", "0")
buyNowBtnEle.css("margin", "0")
buyNowBtnEle.css("line-height", "0");
buyNowBtnEle.css("min-height", "0");
// clone add to cart behavior
// newBuyNowBtnEle.on("click", async function (event) {
// gkt.$(this).attr("disabled", true);
// setTimeout(() => { gkt.$(this).attr("disabled", false); }, 1000)
// event.preventDefault();
// event.stopPropagation();
// let selectedVariantId = gkt.f.getSelectedVariant()
// let resAddToCart = await gkt.utility.addToCartV2({ "items": [
// {
// "id": selectedVariantId,
// "quantity": 1
// }
// ]})
// window.location.href = window.location.origin + "/cart/checkout"
// return
// })
newBuyNowBtnEle.on("click", function (event) {
event.preventDefault();
event.stopPropagation();
gkt.$(this).attr("disabled", true);
newBuyNowBtnEle.text("loading checkout...");
setTimeout(() => { gkt.$(this).attr("disabled", false)}, 3000)
addToCartBtnEle = gkt.$(document).find(gkt.selectors.addToCart)
sideCartEle = gkt.$(document).find(gkt.selectors.sideCartSelectors)
// gkt.$(document).find("body").addClass("loadingCheckoutPage")
// gkt.$(document).find("body").text("loading checkout...")
if(sideCartEle && sideCartEle.length > 0){
sideCartEle.css("display", "none")
}
if(addToCartBtnEle && addToCartBtnEle.length > 0){
addToCartBtnEle.trigger("click")
}
setTimeout(()=>{
window.location.href = gkt.settings.app.redirectUrlForSendGiftcardBtn
},1000)
})
}
},
emailValidation: function (emailString) {
var atSymbol = emailString.indexOf("@");
if (atSymbol < 1) return false;
var dot = emailString.lastIndexOf(".");
if (dot <= atSymbol + 2) return false;
// check that the dot is not at the end
if (dot === emailString.length - 1) return false;
return true;
},
renderLanguageValue: function (parent) {
if (parent){
return parent.value;
}
return;
},
slider: {
state: {
slideIndex: 0,
},
plusSlides: function (selector, n) {
this.showSlides(selector, this.state.slideIndex += n);
},
//minusSlides
minusSlides: function (selector, n) {
this.showSlides(selector, this.state.slideIndex -= n);
},
showSlides: function (selector, n) {
var i;
var slides = selector.find(".gktComboItemContainerItem1Img");
if (slides && slides.length) {
// slides = JSON.parse(slides);
// }
if (n > slides.length) { this.state.slideIndex = 1 }
if (n < 1) { this.state.slideIndex = slides.length }
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slides[this.state.slideIndex - 1].style.display = "block";
// plusSlides(1)
}
// setTimeout(function () { plusSlides(n + 1) }, 2000);
},
},
isMobileView: function () {
if (window.innerWidth < 768) {
return true;
} else {
return false;
}
},
displayLoadingSpinner: function () {
let loadingContainer = gkt.$("<div>").addClass("gktLoading");
let loadingSpinner = gkt.$("<div>").addClass("gktLoadingSpinner");
loadingContainer.append(loadingSpinner);
return loadingContainer;
},
dynamicStylesForBranding: function () {
let brandingColor = {
mainTextColor: gkt.settings.accountWidget.customization.mainTextColor,
subTextColor : gkt.settings.accountWidget.customization.subTextColor,
}
let style =
`<style>
.gktAccountWidgetBodyTabActive{
color: ${brandingColor.mainTextColor} !important;
border-bottom: 2px solid ${brandingColor.mainTextColor} !important;
}
.gktLoadingSpinner-not-used {
border-top: 16px solid ${gkt.settings.accountWidget.customization.buttonColor};
border-bottom: 16px solid ${gkt.settings.accountWidget.customization.buttonColor};
}
</style>`
gkt.$('html > head').append(style);
return style;
},
getLocalDateIn_YYYY_MM_DD: function (date=new Date()) {
const year = date.getFullYear();
const month = ('0' + (date.getMonth() + 1)).slice(-2);
const day = ('0' + date.getDate()).slice(-2)
const dateInLocalTimeZone = `${year}-${month}-${day}`;
return dateInLocalTimeZone;
},
getUrlRewardCampaignName: function () {
let activeCampaignName = "";
if(gkt.state.activeCampaignName != "EMPTY"){
return gkt.state.activeCampaignName;
}
if(sessionStorage.getItem("cb_campaign")){
activeCampaignName = sessionStorage.getItem("cb_campaign")
gkt.state.activeCampaignName = activeCampaignName;
return activeCampaignName;
}
let campaginString = gkt.settings.urlSearchString.split("cb_campaign=")
if(campaginString && campaginString.length > 1){
let campaignName = campaginString[1].split("&")[0]
if(campaignName){
gkt.state.activeCampaignName = campaignName;
sessionStorage.setItem("cb_campaign", campaignName)
return campaignName
}else{
return ""
}
}else
{
return ""
}
}
},
storage: {
loadValuesFromStorage: function (settings) {
var gktGiftMessageCheckbox = sessionStorage.getItem("gktGiftMessageCheckbox");
var gktMessageTextarea = sessionStorage.getItem("gktMessageTextarea");
var gktGiftWrapCheckbox = sessionStorage.getItem("gktGiftWrapCheckbox");
var gktGiftOptionsCheckbox = sessionStorage.getItem("gktGiftOptionsCheckbox");
gkt.$('.gktMessageTextarea').val(gktMessageTextarea);
if (gktGiftMessageCheckbox === null) {
gkt.$('.gktGiftMessageCheckbox').prop('checked', true);
} else {
gkt.$('.gktGiftMessageCheckbox').prop('checked', gktGiftMessageCheckbox === "true");
}
if (gktGiftWrapCheckbox === null) {
gkt.$('.gktGiftWrapCheckbox').prop('checked', true);
} else {
gkt.$('.gktGiftWrapCheckbox').prop('checked', gktGiftWrapCheckbox === "true");
}
if (gktGiftOptionsCheckbox === null) {
gkt.elements.cartPageWrapperV2.find(".gktGiftOptionsCheckbox").prop('checked', false)
gkt.elements.productPageWrapperV2.find(".gktGiftOptionsCheckbox").prop('checked', false)
gkt.$(document).find(".gktGiftOptionsCheckbox").prop('checked', false)
} else {
gkt.elements.cartPageWrapperV2.find(".gktGiftOptionsCheckbox").prop('checked', gktGiftOptionsCheckbox === "true")
gkt.elements.productPageWrapperV2.find(".gktGiftOptionsCheckbox").prop('checked', gktGiftOptionsCheckbox === "true")
gkt.$(document).find(".gktGiftOptionsCheckbox").prop('checked', gktGiftOptionsCheckbox === "true")
}
},
setItem: function (field, value) {
sessionStorage.setItem(field, value)
},
getItem: function (field) {
return sessionStorage.getItem(field)
}
},
drawerCart: {
init: function (settings) {
gkt.cartPage.init(settings)
}
},
themeSpecificCode: {
init: function (settings) {
gkt.themeSpecificCode.f.ventureTheme(settings)
gkt.themeSpecificCode.f.expressTheme(settings)
gkt.themeSpecificCode.f.craveTheme(settings)
gkt.themeSpecificCode.f.craftTheme(settings)
gkt.themeSpecificCode.f.senseTheme(settings)
},
f: {
ventureTheme: function () {
if (window.Shopify && window.Shopify.theme && window.Shopify.theme.theme_store_id && window.Shopify.theme.theme_store_id == gkt.constants.themesIds.VENTURE_THEME) {
// reload on save
gkt.selectors.sideCartDrawerOverlay = ""
}
},
expressTheme: function () {
if (window.Shopify && window.Shopify.theme && window.Shopify.theme.theme_store_id && window.Shopify.theme.theme_store_id == gkt.constants.themesIds.EXPRESS_THEME) {
// addd a css property of jusyify-items:cetner to cartpagewrapper
gkt.elements.cartPageWrapperV2.css("justify-items", "center")
if (window.location.pathname.includes("/cart")) {
gkt.selectors.checkoutBtn = ".cart__actions"
}
}
},
craveTheme: function () {
if (window.Shopify && window.Shopify.theme && window.Shopify.theme.theme_store_id && window.Shopify.theme.theme_store_id == gkt.constants.themesIds.CRAVE_THEME) {
// change css of cart__ctas in the document to block
gkt.$(document).find(".cart__ctas").css("display", "block")
}
},
craftTheme: function () {
if (window.Shopify && window.Shopify.theme && window.Shopify.theme.theme_store_id && window.Shopify.theme.theme_store_id == gkt.constants.themesIds.CRAFT_THEME) {
// change css of cart__ctas in the document to block
gkt.$(document).find(".cart__ctas").css("display", "block")
}
},
senseTheme: function () {
if (window.Shopify && window.Shopify.theme && window.Shopify.theme.theme_store_id && window.Shopify.theme.theme_store_id == gkt.constants.themesIds.SENSE_THEME) {
// change css of cart__ctas in the document to block
gkt.$(document).find(".cart__ctas").css("display", "block")
}
},
}
},
productPage: {
init: async function (settings) {
console.log("productPage-init")
gkt.state.cartData = await gkt.utility.getCart()
// gkt.state.insertWrapperOnPage.push("PRODUCT_PAGE")
gkt.gktMessage.init(settings, "PRODUCT_PAGE")
// gkt.gktCombo.init(settings)
// gkt.gktGiftMsgAndWrap.init(settings, "PRODUCT_PAGE")
gkt.gktOneClickUpsell.init(settings, "PRODUCT_PAGE")
gkt.gktGiftCard.init(settings, "PRODUCT_PAGE")
gkt.gktAccountWidget.init(settings,"CART_PAGE")
gkt.gktNotification.init(settings, "CART_PAGE")
},
f: {
insertWrapperIntoPage: function (settings) {
if ("undefined" != typeof gkt.elements.addToCartBtn) {
let addToCartBtnEle = gkt.$(document).find(gkt.elements.addToCartBtn)
addToCartBtnEle.each(function (index) {
if (gkt.$(this).is(":visible")) {
if(gkt.settings.app.addAfterAddTocartBtn){
gkt.$(this).after(gkt.elements.productPageWrapperV2);
}else{
gkt.$(this).before(gkt.elements.productPageWrapperV2);
}
}
});
}
},
},
actions: {
insertUpsellModal: function () {
// Gs.$("body").append(Gs.settings._modalHtml);
alert("popModal for upsell action")
},
},
},
cartPage: {
init: async function (settings) {
gkt.state.cartData = await gkt.utility.getCart()
gkt.gktMessage.init(settings, "CART_PAGE")
// gkt.gktGiftMsgAndWrap.init(settings, "CART_PAGE")
gkt.gktOneClickUpsell.init(settings, "CART_PAGE")
gkt.gktFreeGiftCardPopup.init(settings, "CART_PAGE")
gkt.gktAccountWidget.init(settings,"CART_PAGE")
gkt.gktNotification.init(settings, "CART_PAGE")
},
f: {
insertWrapperIntoPage: function (settings) {
return new Promise((res, rej) => {
if ("undefined" != typeof gkt.elements.checkoutBtn) {
let checkoutBtnEle = gkt.$(document).find(gkt.selectors.checkoutBtn)
checkoutBtnEle.each(function (index) {
// console.log("index", index)
if (gkt.$(this).is(":visible")) {
// check if theme ids matches otherwise add element to default position
if (window.Shopify && window.Shopify.theme && window.Shopify.theme.theme_store_id && window.Shopify.theme.theme_store_id == gkt.constants.themesIds.DAWN_THEME) {
gkt.$(this).parent().before(gkt.elements.cartPageWrapperV2);
} else if(gkt.settings.app.addAftercheckoutBtn) {
gkt.$(this).after(gkt.elements.cartPageWrapperV2);
}else{
gkt.$(this).before(gkt.elements.cartPageWrapperV2);
}
}
});
}
res()
})
},
},
events: {
ajaxSuccess: function (cartSettings) {
console.log("register ajax success event")
gkt.$(document).ajaxSuccess(function (event, xhr, settings) {
console.log("ajaxSuccess", settings.url)
if (settings.url == "/change.js?line=1&quantity=0" || settings.url == "change.js?line=1&quantity=0" || settings.url == "change.js" || settings.url == "/change.js" || settings.url == "/cart.js" || settings.url == "cart.js" || settings.url == "cart" || settings.url == "/cart") {
setTimeout(function () {
console.log("ajaxSuccess")
}, 2000);
}
});
}
}
},
gktOneClickUpsell: {
init: async function (settings, parent) {
await gkt.gktOneClickUpsell.initialize(settings, parent)
gkt.gktOneClickUpsell.f.registerEvents()
},
initialize: async function (settings, parent) {
let productHandle = gkt.f.getProductPageHandle(settings)
// write function which return two list
// oneClickUpsell products that need to be shown on this product page
// get the list of oneClickUpsellProducts that need to be shown on cart page
let { oneClickUpsellListForCartPage, oneClickUpsellListForProductPage } = gkt.gktOneClickUpsell.f.segregateOneClickUpsells(settings.oneClickUpsells, productHandle)
if (parent == "PRODUCT_PAGE" && oneClickUpsellListForProductPage && oneClickUpsellListForProductPage.length && oneClickUpsellListForProductPage.length > 0) {
let variantListToBeShownOnProductPage = await gkt.gktOneClickUpsell.f.findVariantListToBeShown(oneClickUpsellListForProductPage)
let oneClickUpsellProductPageHTML = gkt.gktOneClickUpsell.f.prepareUI(settings, variantListToBeShownOnProductPage, parent)
gkt.gktOneClickUpsell.f.insertIntoProductPageWrapper(settings, oneClickUpsellProductPageHTML)
console.log("variantListToBeShownOnProductPage", variantListToBeShownOnProductPage)
gkt.utility.overWriteBuyNowBtn()
gkt.state.isOverWriteBuyNowBtnTriggered = true
console.log("PRODUCT_PAGE")
}
if (parent == "CART_PAGE" && oneClickUpsellListForCartPage && oneClickUpsellListForCartPage.length && oneClickUpsellListForCartPage.length > 0) {
let variantListToBeShownOnCartPage = await gkt.gktOneClickUpsell.f.findVariantListToBeShown(oneClickUpsellListForCartPage)
let oneClickUpsellCartPageHTML = gkt.gktOneClickUpsell.f.prepareUI(settings, variantListToBeShownOnCartPage, parent)
gkt.gktOneClickUpsell.f.insertIntoCartPageWrapper(settings, oneClickUpsellCartPageHTML)
console.log("variantListToBeShownOnCartPage", variantListToBeShownOnCartPage)
console.log("CART_PAGE")
}
},
f: {
segregateOneClickUpsells: function (oneClickUpsells, currProductHandle) {
let oneClickUpsellListForCartPage = []
let oneClickUpsellListForProductPage = []
for (let i = 0; i < oneClickUpsells.length; i++) {
let oneClickUpsell = oneClickUpsells[i]
// add products to cart page list
if (oneClickUpsell.isVisibleOnCart) {
oneClickUpsellListForCartPage.push(oneClickUpsell)
}
// add products to product page list
if (oneClickUpsell.isVisibleOnAllProductPages) {
oneClickUpsellListForProductPage.push(oneClickUpsell)
} else if (oneClickUpsell.isVisibleOnSpecificProductPages &&
oneClickUpsell.visibleOnSpecificProductPages &&
oneClickUpsell.visibleOnSpecificProductPages.find(x => x.handle === currProductHandle)) {
oneClickUpsellListForProductPage.push(oneClickUpsell)
}
}
return {
oneClickUpsellListForCartPage: oneClickUpsellListForCartPage,
oneClickUpsellListForProductPage: oneClickUpsellListForProductPage
}
},
findVariantListToBeShown: async function (oneClickUpsellList) {
let responseData = []
let variantListSelectedByUser = []
let apiCalls = []
for (let i = 0; i < oneClickUpsellList.length; i++) {
let oneClickUpsell = oneClickUpsellList[i]
for (let j = 0; j < oneClickUpsell.upsellProducts.length; j++) {
let oneClickUpsellProduct = oneClickUpsell.upsellProducts[j]
apiCalls.push(gkt.utility.getProductDataV2(oneClickUpsellProduct.handle))
for (let k = 0; k < oneClickUpsellProduct.variants.length; k++) {
variantListSelectedByUser.push(parseInt(oneClickUpsellProduct.variants[k].variantId))
}
}
}
let oneClickUpsellProducts = await Promise.all(apiCalls)
// get required variants and return
for (let i = 0; i < oneClickUpsellProducts.length; i++) {
let oneClickUpsellProduct = oneClickUpsellProducts[i]
if (!oneClickUpsellProduct) {
continue
}
for (let j = 0; j < oneClickUpsellProduct.variants.length; j++) {
let variant = oneClickUpsellProduct.variants[j]
//if variant.featured_image is null then take the onceClickUpsellProduct.featured_image
if (variant.featured_image) {
variant.featured_image = variant.featured_image.src
} else {
variant.featured_image = oneClickUpsellProduct.featured_image
}
//console.log("ashfaq");
// if variant is not available dont add it
if (!variant.available) {
continue
}
// if variant is not selected in admin ui, dont add it
if (variantListSelectedByUser.indexOf(variant.id) == -1) {
continue
}
responseData.push(variant)
}
}
return responseData
},
insertIntoProductPageWrapper: function (settings, oneClickUpsellHTML) {
gkt.elements.productPageWrapperV2.find(".gktProductPageUpsellWrapper").css("display", "block")
// // insert into parent element
// gkt.elements.gktGiftMsgAndWrapWrapperParent.find(".gktGiftMsgAndWrapWrapperInnerEle").append(settings.giftingOptions.shopifyPageinnerHTML); //cartPageText
// insert final element into productPageWrapperV2
gkt.elements.productPageWrapperV2.find(".gktProductPageUpsellWrapper").append(oneClickUpsellHTML);
},
insertIntoCartPageWrapper: function (settings, oneClickUpsellHTML) {
gkt.elements.cartPageWrapperV2.find(".gktCartUpsellWrapper").css("display", "block")
// insert into parent element
// gkt.elements.gktCartGiftMsgAndWrapWrapperParent.find(".gktGiftMsgAndWrapWrapperInnerEle").append(settings.giftingOptions.shopifyPageinnerHTML); //cartPageText
// insert final element into productPageWrapperV2
// gkt.elements.cartPageWrapperV2.find(".gktCartUpsellWrapper").append(gkt.elements.gktCartGiftMsgAndWrapWrapperParent);
gkt.elements.cartPageWrapperV2.find(".gktCartUpsellWrapper").append(oneClickUpsellHTML);
},
prepareUI: function (settings, variantListToBeShown, parent) {
let gktOneClickUpsellContainer = gkt.$("<div>").addClass('gktOneClickUpsellContainer')
for (let i = 0; i < variantListToBeShown.length; i++) {
let variant = variantListToBeShown[i]
let gktOneClickUpsellItemContainer = gkt.$("<div>").addClass('gktOneClickUpsellItemContainer')
let gktOneClickUpsellItemContainerCheckboxLable = gkt.$("<label>").addClass('gktCustomCheckboxContainer')
let inputCheckboxEle = gkt.$("<input>").addClass('gktOneClickUpsellInputCheckboxEle')
.attr("type", "checkbox")
.attr("data-variant", JSON.stringify(variant))
.attr("data-parent", JSON.stringify(parent))
if (gkt.utility.checkIfItemPresentInCart(variant.id)) {
inputCheckboxEle.attr("checked", true)
}
let gktOneClickUpsellImage = gkt.$("<img>").addClass('gktOneClickUpsellImage')
.attr("src", variant.featured_image)
gktOneClickUpsellImage.css("width", "40px")
gktOneClickUpsellImage.css("height", "40px")
gktOneClickUpsellImage.css("justify-self", "right")
gktOneClickUpsellItemContainerCheckboxLable.append(inputCheckboxEle)
gktOneClickUpsellItemContainerCheckboxLable.append(gkt.$("<span>").addClass("gktCustomCheckboxCheckmark"))
let appendString = "" + variant.name
let price = variant.price > 0 ? parseFloat(variant.price / 100) : variant.price
if (settings.merchantInfo && settings.merchantInfo.currencyInfo && settings.merchantInfo.currencyInfo.symbol) {
appendString = appendString + " + " + settings.merchantInfo.currencyInfo.symbol + price
}
//create a div with appendString
let gktOneClickUpsellItemContainerLableText = gkt.$("<div>").addClass('gktOneClickUpsellItemContainerLabelText')
.text(appendString)
gktOneClickUpsellItemContainerCheckboxLable.append(gktOneClickUpsellItemContainerLableText)
gktOneClickUpsellItemContainer.append(gktOneClickUpsellItemContainerCheckboxLable)
gktOneClickUpsellItemContainerCheckboxLable.append(gktOneClickUpsellImage)
gktOneClickUpsellContainer.append(gktOneClickUpsellItemContainer)
}
return gktOneClickUpsellContainer
},
registerEvents: function () {
gkt.$(document).on("click", ".gktOneClickUpsellInputCheckboxEle", async function (event) {
await gkt.gktOneClickUpsell.actions.handleOneClickUpsellOnChangEvent(event);
//gktPage type is cartPage then reload page
if (gkt.state.page_type == "cart") {
window.location.reload()
//turn off click events till the page loads
gkt.$("body").css("pointer-events", "none")
}
})
}
},
actions: {
handleOneClickUpsellOnChangEvent: async function (cb) {
if (cb && cb.target) {
let variant = JSON.parse(cb.target.getAttribute("data-variant"))
let parent = cb.target.getAttribute("data-parent")
// if true
if (cb.target.checked) {
await gkt.utility.updateCart({ updates: { [variant.id]: 1 }, attributes:{[variant.id]:"gktOneClickUpsellBuy"}})
}
else {
await gkt.utility.updateCart({ updates: { [variant.id]: 0 }, attributes:{[variant.id]:""} })
}
}
}
}
},
gktGiftCard: {
init: async function (settings, parent) {
await gkt.gktGiftCard.initialize(settings, parent)
gkt.gktGiftCard.f.registerEvents()
},
state: {
isGiftCardAddToCartButtonOverwrite: false,
isGiftCardBuyNowButtonOverwrite: false,
giftCardAddToCartButtonClone: "",
giftCardData: undefined,
giftCardDiv: undefined,
greetingCardActiveImageSrc: undefined,
greetingCardSelectedCategory: undefined,
giftCardDeliveryOption: "sendNow",
greetingCardImageListDiv: undefined,
modalNavList : [],
},
initialize: async function (settings, parent) {
let productHandle = gkt.f.getProductPageHandle()
let giftCardProduct = gkt.gktGiftCard.f.checkIfGiftCardProduct(productHandle, settings.giftCards)
if (giftCardProduct) {
gkt.gktGiftCard.state.giftCardData = giftCardProduct
gkt.gktGiftCard.state.giftCardData.isEmbededOnPage = gkt.gktGiftCard.state?.giftCardData?.isEmbededOnPage ? true : false;
gkt.gktGiftCard.f.giftCardAddToCartButtonOverwrite(gkt.gktGiftCard.state.giftCardData.isEmbededOnPage)
gkt.gktGiftCard.f.giftCardBuyNowButtonOverwrite()
gkt.gktGiftCard.f.changeGiftCardAddToCartButtonText(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.addToCartButtonText))
gkt.gktGiftCard.f.initializeModal()
if(gkt.gktGiftCard.state.giftCardData.isEmbededOnPage){
let productpageUi = gkt.gktGiftCard.f.getProductPageGiftCardUi()
gkt.gktGiftCard.f.insertIntoProductPageWrapper(productpageUi)
}
gkt.gktGiftCard.f.setCustomStylingForGiftcard()
// initialize video messages
gkt.gktVideoMsg.init(settings, parent)
}
console.log("gktGiftCard initialize")
console.log("settings.giftCard")
},
f: {
insertIntoProductPageWrapper: function (productpageUi) {
gkt.elements.productPageWrapperV2.find(".gktGiftCardWrapper").css("display", "block")
gkt.elements.productPageWrapperV2.find(".gktGiftCardWrapper").append(productpageUi);
},
getProductPageGiftCardUi: function () {
let { modalHeading, modalDescription, recipientName, recipientNamePlaceholder, recipientEmail, recipientEmailPlaceholder, senderName, senderNamePlaceholder, giftNote, giftNotePlaceholder, buyNowButtonText,backButtonText,deliveryDate,sendNowButtonText,sendLaterButtonText } = gkt.settings.languageData.giftcardV2.purchasePageFields;
let productPageGiftCardUi = gkt.$("<div>").addClass("productPageGiftCardUi")
let gktGiftCardToInputField = gkt.$("<input>").attr("type", "text").attr("placeholder", gkt.utility.renderLanguageValue(recipientNamePlaceholder)).addClass("gktGiftCardToInputField");
let gktGiftCardEmailInputField = gkt.$("<input>").attr("type", "email").attr("placeholder", gkt.utility.renderLanguageValue(recipientEmailPlaceholder)).addClass("gktGiftCardEmailInputField");
let gktGiftCardMessageInputField = gkt.$("<textarea>").addClass("gktGiftCardMessageInputField").attr("placeholder", gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.giftNotePlaceholder))
let gktGiftCardEmailValidation = gkt.$("<p>", { class: "gktGiftCardEmailValidation" });
productPageGiftCardUi.append(gktGiftCardToInputField)
productPageGiftCardUi.append(gktGiftCardEmailInputField)
productPageGiftCardUi.append(gktGiftCardEmailValidation)
productPageGiftCardUi.append(gktGiftCardMessageInputField)
gkt.productPageGiftCardUi = productPageGiftCardUi;
return productPageGiftCardUi
},
setCustomStylingForGiftcard: function (){
let customStyleForGiftcard = gkt.settings.app.customStyleForGiftcard
if(customStyleForGiftcard){
var styleSheet = document.createElement("style")
styleSheet.innerText = customStyleForGiftcard
document.body.appendChild(styleSheet)
}
},
checkIfGiftCardProduct: function (currProductHandle, giftCards) {
for (let i = 0; i < giftCards.length; i++) {
if (giftCards[i] && giftCards[i].shopifyData && giftCards[i].shopifyData.handle == currProductHandle) {
return giftCards[i]
}
}
return undefined
},
giftCardAddToCartButtonOverwrite: function (isEmbededOnPage) {
// set required states
gkt.gktGiftCard.state.isGiftCardAddToCartButtonOverwrite = true
gkt.elements.addToCartBtn.attr("type", "button")
gkt.elements.addToCartBtn.attr("disabled", false)
gkt.elements.addToCartBtn.unbind().unbind("click").off().off("click");
if(isEmbededOnPage){
gkt.elements.addToCartBtn.on("click", function (event) {
let formValid = gkt.gktGiftCard.f.performFormValidation();
if(!formValid){
return
}
gkt.$(this).attr("disabled", true);
setTimeout(() => { gkt.$(this).attr("disabled", false); }, 4000)
gkt.state.sendGiftcardOnPageBtnClicked = true
gkt.$(this).html(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.buyNowButtonTextLoading));
gkt.gktGiftCard.action.onMessageSubmit(event);
})
}else{
gkt.elements.addToCartBtn.on("click", function (event) {
// gkt.$(this).attr("disabled", true);
// setTimeout(() => { gkt.$(this).attr("disabled", false); }, 1000)
gkt.gktGiftCard.action.giftCardAddToCartButton(event)
})
}
},
giftCardAddToCartButtonOverwrite2: function (isEmbededOnPage) {
// setTimeout(()=>{
if(gkt.$('.button--add-to-cart-gkt') && gkt.$('.button--add-to-cart-gkt').length && gkt.$('.button--add-to-cart-gkt').length == 1){
return
}
// set required states
gkt.gktGiftCard.state.isGiftCardAddToCartButtonOverwrite = true
gkt.elements.addToCartBtn.attr("type", "button")
gkt.elements.addToCartBtn.attr("disabled", false)
let oldbutton = gkt.elements.addToCartBtn
let cloneAddToCartBtn = gkt.$("<div>").addClass('button').addClass("button--add-to-cart").addClass("button--add-to-cart-gkt")
cloneAddToCartBtn.append(gkt.$("<span>").text(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.addToCartButtonText)))
gkt.$(".gktProductPageWrapperV2").append(cloneAddToCartBtn)
oldbutton.css("visibility", "hidden")
oldbutton.css("height", "0")
oldbutton.css("width", "0")
oldbutton.css("padding", "0")
oldbutton.css("margin", "0")
oldbutton.css("line-height", "0");
oldbutton.css("min-height", "0");
gkt.elements.addToCartBtn.unbind().unbind("click").off().off("click");
if(isEmbededOnPage){
gkt.elements.addToCartBtn.on("click", function (event) {
let formValid = gkt.gktGiftCard.f.performFormValidation();
if(!formValid){
return
}
gkt.$(this).attr("disabled", true);
setTimeout(() => { gkt.$(this).attr("disabled", false); }, 4000)
gkt.state.sendGiftcardOnPageBtnClicked = true
gkt.$(this).html(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.buyNowButtonTextLoading));
gkt.gktGiftCard.action.onMessageSubmit(event);
})
}else{
cloneAddToCartBtn.on("click", function (event) {
// gkt.$(this).attr("disabled", true);
// setTimeout(() => { gkt.$(this).attr("disabled", false); }, 1000)
gkt.gktGiftCard.action.giftCardAddToCartButton(event)
})
}
// }, 500)
},
giftCardBuyNowButtonOverwrite: function () {
// set required states
gkt.gktGiftCard.state.isGiftCardBuyNowButtonOverwrite = true
if (gkt.$(document).find(gkt.selectors.buyNowBtn)) {
// gkt.$(document).find(gkt.selectors.buyNowBtn).hide()
let buyNowBtnEle = gkt.$(document).find(gkt.selectors.buyNowBtn)
buyNowBtnEle.css("visibility", "hidden")
buyNowBtnEle.css("height", "0")
buyNowBtnEle.css("width", "0")
buyNowBtnEle.css("padding", "0")
buyNowBtnEle.css("margin", "0")
buyNowBtnEle.css("line-height", "0");
buyNowBtnEle.css("min-height", "0");
}
},
changeGiftCardAddToCartButtonText: function (insideHtml) {
if (gkt.gktGiftCard.state.isGiftCardAddToCartButtonOverwrite) {
gkt.elements.addToCartBtn.html(insideHtml)
} else {
return false
}
},
openGiftCardModal: function () {
gkt.$('.gktGiftCardModalWrapper').css('display', 'block')
gkt.$('.gktGiftCardModal .gktPoweredByBanner').html(gkt.f.preparePoweredByBannerUI());
},
registerEvents: function () {
gkt.$(document).on("click", ".gktGiftCardModalClose", gkt.gktGiftCard.action.onModalClose)
},
initializeModal: function () {
const isGreetingCardEnabled = gkt.settings.greetingCards.isGreetingCardEnabled &&
gkt.settings.greetingCards.greetingCardImgs &&
gkt.settings.greetingCards.greetingCardImgs.length>0;
if(isGreetingCardEnabled ){
gkt.gktGiftCard.f.prepareGreetingCardUI()
gkt.gktGiftCard.f.populateModalNavList();
gkt.gktGiftCard.f.displayGreetingCardForm()
}
else{
gkt.$('.greetingCardImageList').remove()
gkt.gktGiftCard.f.populateModalNavList();
gkt.gktGiftCard.f.displayGiftCardDetailsForm()
}
gkt.gktGiftCard.f.prepareGiftCardUI();
gkt.gktGiftCard.f.prepareGiftCardMessage();
},
renderGreetingCardImages:function(imageList){
if(imageList){
let greetingCardImageList = gkt.$("<div>").addClass("greetingCardImageList")
for (let i = 0; i < imageList.length; i++) {
let _img = imageList[i].src;
// add an input event listener to each image of radio type
imageInput = gkt.$("<input>").attr("type", "radio").attr("name", "greetingCardImage").attr("value", imageList[i].src)
imageInput.addClass("greetingCardImageInput")
let imageLabel = gkt.$("<label>").addClass('greetingCardImageLabel')
let image = gkt.$("<img>").addClass('greetingCardImage')
//on click set the current item to the preview image as active image
imageLabel.on("click", gkt.gktGiftCard.action.onGreetingCardImageClick)
//if image is checked then attach activeGreetingCard css to it
if (gkt.gktGiftCard.state.greetingCardActiveImageSrc == imageList[i].src) {
imageInput.attr("checked", true)
imageLabel.addClass("activeGreetingCard")
gkt.gktGiftCard.action.addCheckMarkDivs(imageLabel);
}
image.attr("src", imageList[i].src)
imageLabel.append(imageInput)
imageLabel.append(image)
greetingCardImageList.append(imageLabel)
}
// if greetingCardImageList has no elements then return that there are no Images to display
if (greetingCardImageList.children().length == 0) {
return gkt.$("<div>").addClass('greetingCardImageList').html(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.noImagesAvailable))
}
return greetingCardImageList;
}
},
changeGreetingCardImageList: function(category){
let imageList = gkt.settings.greetingCards.greetingCardImgs
let imageListFiltered = gkt.gktGiftCard.f.filterGreetingCardImages(imageList,category)
let greetingCardImageList = gkt.gktGiftCard.f.renderGreetingCardImages(imageListFiltered)
// find the div with class greetingCardImageList and replace it with the new one
gkt.gktGiftCard.state.greetingCardImageListDiv = greetingCardImageList;
gkt.$(".greetingCardImageList").replaceWith(greetingCardImageList)
return greetingCardImageList;
},
filterGreetingCardImages: function(imageList,category){
let imageListFiltered = []
for (let i = 0; i < imageList.length; i++) {
if(imageList[i].categoryId == category.id){
imageListFiltered.push(imageList[i])
}
}
return imageListFiltered
},
prepareGreetingCardUI : async function (){
console.log("gktGiftCard.f.prepareGreetingCardUI")
const greetingCardFields = gkt.settings.languageData.giftcardV2.greetingCardFields
const continueButtonText = greetingCardFields.greetingCardContinueButtonText;
const greetingCardCategory = greetingCardFields.greetingCardCategory;
// This is where we have the greeting card categories, we need to render them in the modal as list items
const greetingCardCategories = [greetingCardFields.greetingCardCategory1,greetingCardFields.greetingCardCategory2,greetingCardFields.greetingCardCategory3]
let greetingCardContainer = gkt.$("<div>").addClass('gktGiftCardContainer')
let greetingCardMainBody = gkt.$("<div>").addClass('greetingCardMainBody')
// add a line of categories which the user can click on
let greetingCardCategoryList = gkt.$("<ul>").addClass('greetingCardCategoryList')
let greetingCardCategoryListItem = gkt.$("<li>").addClass('greetingCardCategoryListItem')
let greetingCardCategoryListItemText = gkt.$("<a>").addClass('greetingCardCategoryListItemText')
let imageInput = undefined;
let imageList = gkt.settings.greetingCards.greetingCardImgs;
// add the image of the gift card as the first item in the list
//find the giftcard associated with this page handle
//find the giftcard associated with this page handle
gkt.f.applyLabelCSS(greetingCardCategoryListItemText)
let productHandle = gkt.f.getProductPageHandle(gkt.settings)
//now get the giftcard associated with this page handle
// let currGiftcardItem = gkt.settings.giftCards.find(giftcardItem => giftcardItem.shopifyData.handle == productHandle)
if(false){
let currGiftcardItem = await gkt.utility.getProductDataV2(productHandle);
let currGiftcardItemImage = currGiftcardItem.images[0] || currGiftcardItem.featured_image
if(currGiftcardItemImage){
//add the image of the gift card as the first item in the list
//unshift is supprted by all browsers, checked on MDN
imageList.unshift({
category: "Occasion",
categoryId: "greetingCardCategory1",
id:0,
src:currGiftcardItemImage
})
}
// const getFirstImageFromGeneralCategory = imageList.find(x=>x.categoryId=="greetingCardCategory1");
let defaultGreetingCardSelection;
if(currGiftcardItemImage){
defaultGreetingCardSelection = imageList[0];
}
// const letsUseTheGiftCardImage = ;
if(currGiftcardItemImage){
gkt.gktGiftCard.state.greetingCardActiveImageSrc = defaultGreetingCardSelection.src
}
}
gkt.gktGiftCard.state.greetingCardImageListDiv = gkt.gktGiftCard.f.renderGreetingCardImages(imageList)
for (let i = 0; i < greetingCardCategories.length; i++) {
let greetingCardCategoryListItemClone = gkt.$(greetingCardCategoryListItem).clone()
let greetingCardCategoryListItemTextClone = gkt.$(greetingCardCategoryListItemText).clone()
greetingCardCategoryListItemTextClone.html(gkt.utility.renderLanguageValue(greetingCardCategories[i]))
// Select the first category as default (General)
if(i == 0){
const _this = greetingCardCategoryListItemClone[0];
gkt.gktGiftCard.state.greetingCardSelectedCategory = greetingCardCategories[0]
gkt.gktGiftCard.action.onGreetingCardCategoryClick.call(_this)
}
greetingCardCategoryListItemClone.on("click",function(){
gkt.gktGiftCard.state.greetingCardSelectedCategory=greetingCardCategories[i]
gkt.gktGiftCard.action.onGreetingCardCategoryClick.call(this)
})
greetingCardCategoryListItemClone.append(greetingCardCategoryListItemTextClone)
greetingCardCategoryList.append(greetingCardCategoryListItemClone)
}
let imageListFiltered = gkt.gktGiftCard.f.filterGreetingCardImages(imageList,greetingCardCategories[0])
let greetingCardImageListHTML = gkt.gktGiftCard.f.renderGreetingCardImages(imageListFiltered)
greetingCardMainBody.html(greetingCardImageListHTML)
greetingCardContainer.append(greetingCardCategoryList)
greetingCardContainer.append(greetingCardMainBody)
let gktGiftCardGreetingCardContent = gkt.$(".gktGiftCardGreetingCardContent")
gktGiftCardGreetingCardContent.append(greetingCardContainer)
gkt.$(".gktGiftCardContentFooterBtn1").html(gkt.utility.renderLanguageValue(continueButtonText));
},
prepareGiftCardUI: function () {
console.log("gktGiftCard.f.prepareGiftCardUI")
const inputFieldsHTML = gkt.gktGiftCard.f.renderInputFieldsForGiftCardDetails();
let gktGiftCardDetailsContent = gkt.$(".gktGiftCardDetailsContent")
//TODO prepareBackButton()
const isGreetingCardEnabled = gkt.settings.greetingCards.isGreetingCardEnabled
&& gkt.settings.greetingCards.greetingCardImgs
&& gkt.settings.greetingCards.greetingCardImgs.length>0;
let gktGiftCardModalBackButton;
if(isGreetingCardEnabled){
gktGiftCardModalBackButton = gkt.gktGiftCard.f.prepareBackButton(gkt.gktGiftCard.f.displayGreetingCardForm);
gktGiftCardDetailsContent.append(gktGiftCardModalBackButton);
}
gktGiftCardDetailsContent.append(inputFieldsHTML)
// gktGiftCardDetailsContent.append(gktVideoMsgButton)
// append close button
gktGiftCardModalCloseDiv = gkt.$(".gktGiftCardModalClose")
let closeButtonSvg = '<svg width="24px" height="24px" enable-background="new 0 0 587.91 587.91" version="1.1" viewBox="0 0 587.91 587.91" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m86.451 501.46c26.937 26.936 58.315 48.088 93.265 62.871 36.207 15.314 74.642 23.078 114.24 23.078 39.596 0 78.032-7.764 114.24-23.078 34.949-14.783 66.328-35.936 93.266-62.871 26.936-26.938 48.09-58.316 62.871-93.266 15.314-36.207 23.08-74.643 23.08-114.24 0-39.598-7.766-78.033-23.08-114.24-14.781-34.95-35.936-66.328-62.871-93.265-26.938-26.937-58.316-48.09-93.266-62.872-36.208-15.315-74.643-23.079-114.24-23.079-39.597 0-78.032 7.765-114.24 23.079-34.95 14.782-66.328 35.936-93.265 62.872s-48.09 58.315-62.873 93.264c-15.313 36.207-23.078 74.642-23.078 114.24 0 39.596 7.765 78.031 23.079 114.24 14.782 34.95 35.936 66.328 62.872 93.266zm207.5-458.12c138.41 0 250.61 112.2 250.61 250.62 0 138.41-112.2 250.61-250.61 250.61s-250.62-112.2-250.62-250.61c0-138.41 112.2-250.62 250.62-250.62z"/><path d="m293.96 587.91c-39.667 0-78.167-7.778-114.43-23.117-35.01-14.809-66.442-35.998-93.423-62.979-26.983-26.984-48.172-58.417-62.979-93.425-15.341-36.269-23.119-74.77-23.119-114.43 0-39.663 7.778-78.165 23.118-114.44 14.807-35.008 35.997-66.44 62.979-93.423s58.415-48.172 93.423-62.979c36.27-15.34 74.771-23.118 114.43-23.118 39.666 0 78.167 7.778 114.43 23.119 35.009 14.807 66.441 35.997 93.425 62.979 26.984 26.985 48.173 58.417 62.979 93.423 15.341 36.27 23.119 74.771 23.119 114.43 0 39.662-7.778 78.163-23.119 114.43-14.806 35.007-35.994 66.439-62.979 93.425-26.982 26.98-58.415 48.169-93.425 62.979-36.266 15.338-74.767 23.116-114.43 23.116zm0-586.91c-39.529 0-77.898 7.751-114.04 23.039-34.889 14.757-66.215 35.874-93.106 62.765-26.892 26.892-48.009 58.217-62.766 93.105-15.288 36.147-23.039 74.517-23.039 114.05 0 39.527 7.751 77.898 23.039 114.04 14.757 34.889 35.874 66.214 62.766 93.106 26.89 26.889 58.215 48.006 93.106 62.765 36.142 15.287 74.512 23.038 114.04 23.038s77.901-7.751 114.04-23.039c34.89-14.758 66.216-35.875 93.106-62.764 26.893-26.895 48.009-58.22 62.764-93.106 15.289-36.146 23.041-74.516 23.041-114.04 0-39.529-7.752-77.899-23.041-114.04-14.754-34.887-35.871-66.212-62.764-93.106-26.892-26.891-58.218-48.008-93.106-62.765-36.144-15.289-74.514-23.04-114.04-23.04zm0 544.07c-67.075 0-130.14-26.12-177.56-73.549-47.429-47.43-73.55-110.49-73.55-177.56s26.12-130.14 73.55-177.56c47.429-47.429 110.49-73.55 177.56-73.55s130.14 26.121 177.56 73.55c47.43 47.43 73.55 110.49 73.55 177.56s-26.12 130.14-73.55 177.56c-47.429 47.429-110.49 73.549-177.56 73.549zm0-501.23c-66.808 0-129.62 26.017-176.86 73.257-47.24 47.241-73.257 110.05-73.257 176.86s26.017 129.62 73.257 176.86c47.24 47.24 110.05 73.257 176.86 73.257s129.62-26.017 176.86-73.257c47.24-47.239 73.257-110.05 73.257-176.86 0-66.808-26.017-129.62-73.257-176.86-47.241-47.241-110.05-73.257-176.86-73.257z"/><path d="m184.92 402.99c4.183 4.184 9.664 6.275 15.146 6.275s10.964-2.092 15.146-6.275l78.742-78.742 78.743 78.742c4.182 4.184 9.664 6.275 15.146 6.275s10.963-2.092 15.146-6.275c8.365-8.363 8.365-21.926 0-30.291l-78.744-78.742 78.742-78.743c8.365-8.365 8.365-21.928 0-30.292-8.363-8.365-21.926-8.365-30.291 0l-78.743 78.743-78.742-78.743c-8.365-8.365-21.928-8.365-30.292 0-8.365 8.365-8.365 21.927 0 30.292l78.743 78.743-78.743 78.742c-8.364 8.365-8.364 21.928 1e-3 30.291z"/><path d="m387.84 409.76c-5.856 0-11.36-2.28-15.5-6.422l-78.389-78.389-78.388 78.389c-4.14 4.142-9.645 6.422-15.5 6.422s-11.36-2.28-15.5-6.422c-4.14-4.14-6.42-9.644-6.42-15.498 0-5.855 2.28-11.359 6.42-15.5l78.389-78.389-78.389-78.389c-8.546-8.547-8.546-22.453 0-31 4.14-4.14 9.644-6.42 15.5-6.42 5.855 0 11.36 2.28 15.5 6.42l78.389 78.389 78.389-78.389c4.141-4.14 9.645-6.42 15.5-6.42 5.854 0 11.358 2.28 15.498 6.42 4.141 4.14 6.42 9.645 6.42 15.5s-2.279 11.36-6.42 15.5l-78.389 78.389 78.391 78.389c4.141 4.141 6.421 9.645 6.421 15.5 0 5.854-2.28 11.358-6.421 15.498-4.143 4.141-9.647 6.422-15.501 6.422zm-93.889-86.225 79.096 79.096c3.95 3.952 9.204 6.129 14.793 6.129 5.587 0 10.841-2.177 14.793-6.129 3.951-3.95 6.128-9.203 6.128-14.791s-2.177-10.842-6.128-14.793l-79.098-79.096 79.096-79.096c3.951-3.951 6.127-9.205 6.127-14.793s-2.176-10.841-6.127-14.792c-3.95-3.951-9.203-6.127-14.791-6.127s-10.842 2.176-14.793 6.127l-79.096 79.096-79.096-79.096c-3.951-3.951-9.205-6.127-14.793-6.127s-10.841 2.176-14.792 6.127c-8.156 8.157-8.156 21.428 0 29.585l79.096 79.096-79.096 79.096c-3.951 3.951-6.127 9.205-6.127 14.793s2.176 10.841 6.127 14.791c3.952 3.952 9.205 6.129 14.793 6.129s10.841-2.177 14.793-6.129l79.095-79.096z"/></svg>'
gktGiftCardModalCloseDiv.append(closeButtonSvg)
},
prepareBackButton: function (callback){
let gktGiftCardModalBackButton = gkt.$("<div>").addClass("gktGiftCardModalBackButton")
let gktGiftCardModalBackButtonSVG = gkt.$("<div>").addClass("gktGiftCardModalBackButtonSVG")
gktGiftCardModalBackButtonSVG.append('<svg class="svg-icon" style="width: 16px; height: 16px;vertical-align: middle;fill: currentColor;overflow: hidden; transform: rotate(180deg);" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M682.666667 533.333333a21.333333 21.333333 0 0 1-15.146667-6.186666l-298.666667-298.666667a21.333333 21.333333 0 0 1 30.293334-30.293333l298.666666 298.666666a21.333333 21.333333 0 0 1 0 30.293334A21.333333 21.333333 0 0 1 682.666667 533.333333z" fill="#333333" /><path d="M384 832a21.333333 21.333333 0 0 1-15.146667-6.186667 21.333333 21.333333 0 0 1 0-30.293333l298.666667-298.666667a21.333333 21.333333 0 0 1 30.293333 30.293334l-298.666666 298.666666A21.333333 21.333333 0 0 1 384 832z" fill="#333333" /></svg>')
let gktGiftCardModalBackButtonText = gkt.$("<div>").addClass("gktGiftCardModalBackButtonText").append(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.backButtonText))
gktGiftCardModalBackButton.append(gktGiftCardModalBackButtonSVG)
gktGiftCardModalBackButton.append(gktGiftCardModalBackButtonText)
gktGiftCardModalBackButton.on("click", function () {
callback()
})
return gktGiftCardModalBackButton;
},
renderInputFieldsForGiftCardDetails: function(){
let { modalHeading, modalDescription, recipientName, recipientNamePlaceholder, recipientEmail, recipientEmailPlaceholder, senderName, senderNamePlaceholder, giftNote, giftNotePlaceholder, buyNowButtonText,backButtonText,deliveryDate,sendNowButtonText,sendLaterButtonText } = gkt.settings.languageData.giftcardV2.purchasePageFields;
let gktGiftCardModalPopupHeading = gkt.$("gktGiftCardModalPopupHeading")
let gktGiftCardModalHeader = gkt.$(".gktGiftCardModalHeader")
let gktGiftCardToInputField = gkt.$("<input>").attr("type", "text").attr("placeholder", gkt.utility.renderLanguageValue(recipientNamePlaceholder)).addClass("gktGiftCardToInputField");
let gktGiftCardEmailInputField = gkt.$("<input>").attr("type", "email").attr("placeholder", gkt.utility.renderLanguageValue(recipientEmailPlaceholder)).addClass("gktGiftCardEmailInputField");
let gktGiftCardFromInputField = gkt.$("<input>").attr("type", "text").attr("placeholder", gkt.utility.renderLanguageValue(senderNamePlaceholder)).addClass("gktGiftCardFromInputField");
// attach a checkbox,
let gktGiftCardModalCheckboxContainer = gkt.$("<div>").addClass("gktGiftCardModalCheckboxContainer")
let gktGiftCardModalCheckbox = gkt.$("<label>").addClass("gktGiftCardModalCheckbox")
let gktGiftCardInputCheckbox = gkt.$("<input>").attr("type","checkbox").addClass("gktGiftCardModalCheckboxInput").attr("name","gktGiftCardModalCheckbox")
.on("change",function(){
gkt.gktGiftCard.action.onSendSelfClick();
})
let gktCustomCheckboxCheckmarkSmall = gkt.$("<span>").addClass("gktCustomCheckboxCheckmarkSmall").attr("for","gktGiftCardModalCheckbox")
let gktGiftCardModalCheckboxLabel = gkt.$("<span>").addClass("gktGiftCardModalCheckboxLabel").attr("for","gktGiftCardModalCheckbox")
gktGiftCardModalCheckboxContainer.append(gktGiftCardModalCheckbox)
// a date picker
let gktGiftCardDatePicker = gkt.$("<input>").attr("type", "date").addClass("gktGiftCardDatePicker");
// todays date is the default value
// gktGiftCardDatePicker.attr("value", new Date().toISOString().slice(0, 10));
gktGiftCardDatePicker.attr("value", gkt.utility.getLocalDateIn_YYYY_MM_DD());
let gktGiftCardMessageInputField = gkt.$("<textarea>").attr("type", "text").attr("placeholder", gkt.utility.renderLanguageValue(giftNotePlaceholder)).addClass("gktGiftCardMessageInputField").attr("rows", "4");
let gktGiftCardEmailValidation = gkt.$("<p>", { class: "gktGiftCardEmailValidation" });
let gktGiftCardDateValidation = gkt.$("<p>", { class: "gktGiftCardDateValidation" });
// add a label to all of these fields
let gktGiftCardToLabel = gkt.$("<label>").addClass("gktGiftCardToLabel").html(gkt.utility.renderLanguageValue(recipientName));
let gktGiftCardFromLabel = gkt.$("<label>").addClass("gktGiftCardFromLabel").html(gkt.utility.renderLanguageValue(senderName))
let gktGiftCardEmailLabel = gkt.$("<label>").addClass("gktGiftCardEmailLabel").html(gkt.utility.renderLanguageValue(recipientEmail))
// let gktGiftCardMessageLabel = gkt.$("<label>").addClass("gktGiftCardMessageLabel").html(giftNote.value)
let gktGiftCardDateLabel = gkt.$("<label>").addClass("gktGiftCardDateLabel").html(gkt.utility.renderLanguageValue(deliveryDate))
// applyLabelCSS to all of these fields
gkt.f.applyLabelCSS(gktGiftCardToLabel)
gkt.f.applyLabelCSS(gktGiftCardFromLabel)
gkt.f.applyLabelCSS(gktGiftCardEmailLabel)
gkt.f.applyLabelCSS(gktGiftCardDateLabel)
// create two buttons, detailing Delivery Options
let gktDeliveryOptions = gkt.$("<div>").addClass("gktDeliveryOptions")
let gktGiftCardSendNowButton = gkt.$("<button>").addClass("gktGiftCardSendNowButton").html(gkt.utility.renderLanguageValue(sendNowButtonText));
let gktGiftCardSendLaterButton = gkt.$("<button>").addClass("gktGiftCardSendLaterButton").html(gkt.utility.renderLanguageValue(sendLaterButtonText));
// type as button else they autosubmit the form.
gktGiftCardSendNowButton.attr("type", "button");
gktGiftCardSendLaterButton.attr("type", "button");
gktDeliveryOptions.append(gktGiftCardSendNowButton)
gktDeliveryOptions.append(gktGiftCardSendLaterButton)
// add all of these to the gktGiftCardDateLabel
gktGiftCardDateLabel.append(gktDeliveryOptions)
gktGiftCardSendNowButton.addClass("activeDeliveryOption");
gktGiftCardSendNowButton.css("font-family", gkt.settings.app.themeButtonFontFamily);
gktGiftCardSendLaterButton.css("font-family", gkt.settings.app.themeButtonFontFamily);
gkt.f.applyButtonCSS(gktGiftCardSendNowButton)
//add onClickFunctionality to Send Later which opens up a date picker
gktGiftCardSendLaterButton.on("click", function () {
gktGiftCardDatePicker.css("display", "block");
gkt.f.applyButtonCSS(gktGiftCardSendLaterButton);
gkt.f.resetButtonCSS(gktGiftCardSendNowButton)
gktGiftCardSendLaterButton.addClass("activeDeliveryOption");
gktGiftCardSendNowButton.removeClass("activeDeliveryOption");
gkt.gktGiftCard.state.giftCardDeliveryOption = "sendLater"
gktGiftCardDateLabel.append(gktGiftCardDatePicker).append(gktGiftCardDateValidation)
})
gktGiftCardSendNowButton.on("click", function () {
gktGiftCardDatePicker.css("display", "none");
gkt.f.applyButtonCSS(gktGiftCardSendNowButton)
//add activeDeliveryOption class to the button
gktGiftCardSendNowButton.addClass("activeDeliveryOption");
gkt.f.resetButtonCSS(gktGiftCardSendLaterButton)
gktGiftCardSendLaterButton.removeClass("activeDeliveryOption");
gkt.gktGiftCard.state.giftCardDeliveryOption = "sendNow"
})
gktGiftCardToLabel.attr("required", true)
gktGiftCardFromLabel.attr("required", true)
gktGiftCardEmailLabel.attr("required", true)
// gktGiftCardMessageLabel.attr("required", true)
// add todays date as default value
// gktGiftCardDatePicker.attr("value", new Date().toISOString().slice(0, 10))
gktGiftCardDatePicker.attr("value", gkt.utility.getLocalDateIn_YYYY_MM_DD());
//attach a date min and max value attr to the date picker
// gktGiftCardDatePicker.attr("min", new Date().toISOString().slice(0, 10));
gktGiftCardDatePicker.attr("min", gkt.utility.getLocalDateIn_YYYY_MM_DD());
// and max date is set to the 60 days after
// gktGiftCardDatePicker.attr("max", new Date(new Date().getTime() + 60 * 24 * 60 * 60 * 1000).toISOString().slice(0, 10));
const _maxDate = new Date(new Date().getTime() + 60 * 24 * 60 * 60 * 1000);
gktGiftCardDatePicker.attr("max", gkt.utility.getLocalDateIn_YYYY_MM_DD(_maxDate));
// add all of these fields to a div
let gktGiftCardInputFieldsDiv = gkt.$("<div>").addClass("gktGiftCardInputFieldsDiv")
let gktGiftCardInputReceiverName = gkt.$("<div>").addClass("gktGiftCardInputReceiverName")
// let gktGiftCardInputRow1Div1 = gkt.$("<div>").addClass("gktGiftCardInputRow1Div1")
// let gktGiftCardInputRow1Div2 = gkt.$("<div>").addClass("gktGiftCardInputRow1Div2")
let gktGiftCardInputReceiverEmail = gkt.$("<div>").addClass("gktGiftCardInputReceiverEmail")
let gktGiftCardInputRow3Div1 = gkt.$("<div>").addClass("gktGiftCardInputRow3Div1")
let gktGiftCardInputSenderName = gkt.$("<div>").addClass("gktGiftCardInputSenderName")
let gktGiftCardInputRow5 = gkt.$("<div>").addClass("gktGiftCardInputRow5")
// gktGiftCardInputRow1.append(gktGiftCardInputRow1Div1).append(gktGiftCardInputRow1Div2)
gktGiftCardInputReceiverName.append(gktGiftCardToLabel).append(gktGiftCardToInputField)
gktGiftCardInputReceiverEmail.append(gktGiftCardEmailLabel).append(gktGiftCardEmailInputField).append(gktGiftCardEmailValidation)
// gktGiftCardInputRow3Div1.
gktGiftCardInputSenderName.append(gktGiftCardFromLabel).append(gktGiftCardFromInputField)
gktGiftCardInputRow5.append(gktGiftCardDateLabel)
gktGiftCardModalCheckboxLabel.html(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.sendToSelfText));
gktGiftCardModalCheckbox.append(gktGiftCardInputCheckbox)
gktGiftCardModalCheckbox.append(gktCustomCheckboxCheckmarkSmall)
gktGiftCardModalCheckbox.append(gktGiftCardModalCheckboxLabel)
gktGiftCardInputFieldsDiv.append(gktGiftCardModalCheckboxContainer)
gktGiftCardInputFieldsDiv.append(gktGiftCardInputReceiverName)
gktGiftCardInputFieldsDiv.append(gktGiftCardInputReceiverEmail)
gktGiftCardInputFieldsDiv.append(gktGiftCardInputSenderName)
gktGiftCardInputFieldsDiv.append(gktGiftCardInputRow5)
return gktGiftCardInputFieldsDiv;
},
prepareGiftCardMessage : function (){
let gktGiftCardMessage = gkt.$(".gktGiftCardMessageContent");
// a label field
let gktGiftCardMessageLabel = gkt.$("<label>").addClass("gktGiftCardMessageLabel").attr("for", "gktGiftCardMessage").text(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.giftNote));
let gktGiftCardMessageInputField = gkt.$("<textarea>").addClass("gktGiftCardMessageInputField").attr("placeholder", gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.giftNotePlaceholder))
let gktVideoMsgButton;
gkt.f.applyLabelCSS(gktGiftCardMessageLabel)
// create an empty divider to separate the message and the video message button
let gktGiftCardMessageDivider = gkt.$("<div>").addClass("gktGiftCardMessageDivider")
let gktVideoMsgCheckboxWrapper;
let gktVideoMsgCheckboxLabel;
if(gkt.settings.videoMessage.isVideoMessagingEnabled ){
//gktVideoMsgButton = gkt.$("<button>").addClass("gktVideoMsgButton").attr("type", "button").text(gkt.settings.languageData.videoMessage.sendVideoMessageText.value);
gktVideoMsgButton = gkt.$("<button>").addClass("gktVideoMsgButton").attr("type", "button").text("Video Msg");
gktVideoMsgCheckboxLabel = gkt.$("<label>").addClass("gktVideoMsgCheckboxLabel").attr("for", "gktVideoMsgCheckbox").text(gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.recordVideoLabel));
// create a label with switch classname
gkt.f.applyLabelCSS(gktVideoMsgCheckboxLabel)
gktVideoMsgCheckboxWrapper = gkt.$("<label>").addClass("gktVideoMsgCheckboxWrapper").attr("for", "gktVideoMsg")
//input which is type of checkbox
let gktVideoMsgCheckboxField;
// a span which is round and slider css
let gktVideoMsgSlider = gkt.$("<span>").addClass("gktVideoMsgSlider").attr("id", "gktVideoMsgSlider");
if(gkt.utility.isMobileView()){
//create a checkbox and a dropzone to upload a video
gktVideoMsgSlider = gkt.$("<span>").addClass("gktVideoMsgSlider_Mobile").attr("id", "gktVideoMsgSlider_Mobile");
let gktVideoMessageFileInput = gkt.$("<input>").attr("type", "file").addClass("gktVideoMessageFileInput").attr("id", "gktVideoMessageFileInput").attr("capture", "user").attr("accept", "video/*");
// gktVideoMsgCheckboxField = gktVideoMessageFileInput;
gktVideoMsgCheckboxField = gkt.$("<input>").addClass("gktVideoMsgCheckboxField_Mobile").attr("type", "checkbox").attr("id", "gktVideoMsg_Mobile");
gktVideoMsgSlider.on("click", function(){
gktVideoMsgCheckboxField.trigger("click")
if(gktVideoMsgCheckboxField.is(":checked")){
gktVideoMsgSlider.addClass("gktVideoMsgSliderActive")
gktVideoMessageFileInput.click();
}else{
gktVideoMsgSlider.removeClass("gktVideoMsgSliderActive")
gkt.gktVideoMsg.f.clickClose(event);
}
})
gktVideoMessageFileInput.on("change", async function({target}){
console.log("file input changed target", target)
if (target.files && target.files.length) {
try {
gkt.gktVideoMsg.f.prepareVideoMsgPlayer()
console.log("target.files[0]", target.files[0])
gkt.gktVideoMsg.state.recordedBlob = target.files[0];
gkt.gktVideoMsg.state.elements.gktVideoPlayerRecording.attr("src",URL.createObjectURL(gkt.gktVideoMsg.state.recordedBlob));
gkt.gktVideoMsg.state.elements.gktVideoPlayerRecording[0].load();
// await gkt.gktVideoMsg.f.covertBlobToBase64(target.files[0]);
//do something with above data string
gkt.$('.gktVideoMsgPlayerWrapper').css('display', 'grid')
} catch(error) {
//handle error
console.log(error,"error occured while uploading file")
}
}else{
gktVideoMsgSlider.removeClass("gktVideoMsgSliderActive")
gkt.$('.gktVideoMsgPlayerWrapper').css('display', 'none')
}
})
//append gktVideoMessageFileInput to gktVideoMsgCheckboxWrapper
gktVideoMessageFileInput.css("display", "none");
gktVideoMsgCheckboxWrapper.append(gktVideoMessageFileInput);
}else{
gktVideoMsgCheckboxField = gkt.$("<input>").addClass("gktVideoMsgCheckboxField").attr("type", "checkbox").attr("id", "gktVideoMsg");
gktVideoMsgCheckboxField.on("change", function(event){
if(gktVideoMsgCheckboxField.is(":checked")){
console.log("it is checked");
gkt.gktVideoMsg.actions.gktVideoMsgButton(event);
}else{
gktVideoMsgSlider.removeClass("gktVideoMsgSliderActive")
gkt.gktVideoMsg.f.clickClose(event);
}
})
}
gktVideoMsgCheckboxWrapper.append(gktVideoMsgCheckboxField)
gktVideoMsgCheckboxWrapper.append(gktVideoMsgSlider)
}
// gktGiftCardMessageInputField and gktGiftCardMessageLabel are added to same parent div
let gktVideoMessageCheckboxRow = gkt.$("<div>").addClass("gktVideoMessageCheckboxRow")
gktVideoMessageCheckboxRow.append(gktVideoMsgCheckboxLabel).append(gktVideoMsgCheckboxWrapper)
let gktGiftCardMessageInputFieldsDiv = gkt.$("<div>").addClass("gktGiftCardMessageInputFieldsDiv")
gktGiftCardMessageInputFieldsDiv.append(gktGiftCardMessageLabel).append(gktGiftCardMessageInputField)
gktGiftCardModalBackButton = gkt.gktGiftCard.f.prepareBackButton(gkt.gktGiftCard.f.displayGiftCardDetailsForm);
gktGiftCardMessage.append(gktGiftCardModalBackButton);
gktGiftCardMessage.append(gktGiftCardMessageInputFieldsDiv)
gktGiftCardMessage.append(gktGiftCardMessageDivider)
// gktGiftCardMessage.append(gktVideoMsgButton)
gktGiftCardMessage.append(gktVideoMessageCheckboxRow)
// gkt.$(".gktGiftCardModalPopupHeading").append(gktGiftCardModalBackButton)
},
populateModalNavList : function(){
let isGreetingCardEnabled = gkt.settings.greetingCards.isGreetingCardEnabled &&
gkt.settings.greetingCards.greetingCardImgs &&
gkt.settings.greetingCards.greetingCardImgs.length>0;
let isSendToSelfChecked =gkt.$(".gktGiftCardModalCheckbox").find("input").is(":checked");
if(isGreetingCardEnabled){
gkt.gktGiftCard.state.modalNavList.push({id:"GREETING_CARD", name:gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.navigationFields.greetingCardNavItem), visited:false,active:false});
}
//("Gift Card Details");
gkt.gktGiftCard.state.modalNavList.push({id:"GIFT_CARD_DETAILS", name:gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.navigationFields.giftCardDetailsNavItem), visited:false,active:false});
if(!isSendToSelfChecked){
gkt.gktGiftCard.state.modalNavList.push({id:"GIFT_MESSAGE", name:gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.navigationFields.giftcardMessageNavItem), visited:false,active:false});
}
},
renderGiftCardModalNav: function(){
console.log("rendering gift card modal nav");
let gktGiftCardModalNavHTML = gkt.$("<div>").addClass("gktGiftCardModalNav");
let gktGiftCardModalNavForMobileHTML = gkt.$("<div>").addClass("gktGiftCardModalNavForMobile");
const isGreetingCardEnabled = gkt.settings.greetingCards.isGreetingCardEnabled &&
gkt.settings.greetingCards.greetingCardImgs &&
gkt.settings.greetingCards.greetingCardImgs.length>0;
if (gkt.gktGiftCard.state.modalNavList.length<1){
gkt.gktGiftCard.f.populateModalNavList();
}
gktGiftCardModalNavList = gkt.gktGiftCard.state.modalNavList;
// now create the nav list and append it to the modal nav while attaching a span for ">"
for(let i=0; i<gktGiftCardModalNavList.length; i++){
let gktGiftCardModalNavListItem = gkt.$("<div>").addClass("gktGiftCardModalNavListItem").html(gktGiftCardModalNavList[i].name);
gkt.f.applyHeaderCSS(gktGiftCardModalNavListItem);
//if modal the item has visited true then set it as activeNavItem
if(gktGiftCardModalNavList[i].visited){
gktGiftCardModalNavListItem.addClass("activeNavItem");
}
let gktGiftCardModalNavListItemSpan;
if(i < gktGiftCardModalNavList.length-1){
gktGiftCardModalNavListItemSpan = gkt.$("<div>").addClass("gktGiftCardModalNavListItemSpan").html('<svg class="svg-icon" style="width: 16px; height: 16px;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M682.666667 533.333333a21.333333 21.333333 0 0 1-15.146667-6.186666l-298.666667-298.666667a21.333333 21.333333 0 0 1 30.293334-30.293333l298.666666 298.666666a21.333333 21.333333 0 0 1 0 30.293334A21.333333 21.333333 0 0 1 682.666667 533.333333z" fill="#333333" /><path d="M384 832a21.333333 21.333333 0 0 1-15.146667-6.186667 21.333333 21.333333 0 0 1 0-30.293333l298.666667-298.666667a21.333333 21.333333 0 0 1 30.293333 30.293334l-298.666666 298.666666A21.333333 21.333333 0 0 1 384 832z" fill="#333333" /></svg>');
}
if(gktGiftCardModalNavList[i].active){
gktGiftCardModalNavListItem.addClass("activeNavItem");
gktGiftCardModalNavForMobileHTML.html(gktGiftCardModalNavListItem.clone())
}
gktGiftCardModalNavHTML.append(gktGiftCardModalNavListItem)
gktGiftCardModalNavHTML.append(gktGiftCardModalNavListItemSpan)
}
// if gktGiftCardModalNav is not present in the DOM, then append it else replace it
if(gkt.$(".gktGiftCardModalNav").length){
gkt.$(".gktGiftCardModalNav").replaceWith(gktGiftCardModalNavHTML)
}
else{
gkt.$(".gktGiftCardModalHeader").append(gktGiftCardModalNavHTML)
}
if(gkt.$(".gktGiftCardModalNavForMobile").length){
gkt.$(".gktGiftCardModalNavForMobile").replaceWith(gktGiftCardModalNavForMobileHTML)
}
else{
gkt.$(".gktGiftCardModalHeader").append(gktGiftCardModalNavForMobileHTML)
}
},
attachEventsToDetailsForm: function () {
// cleanup the previous attached events
gkt.$(".gktGiftCardContentFooterBtn1").off("click");
gkt.$(".gktGiftCardContentFooterBtn1").html(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.giftcardDetailsButton));
gkt.f.applyButtonCSS(gkt.$(".gktGiftCardContentFooterBtn1"));
gkt.$(".gktGiftCardContentFooterBtn1").on("click", function (event) {
gkt.$(this).attr("disabled", true);
setTimeout(() => { gkt.$(this).attr("disabled", false); }, 4000)
gkt.gktGiftCard.action.onDetailsSubmit(event)
})
gkt.gktGiftCard.f.renderGiftCardModalNav();
gkt.$(".gktGiftCardContentFooter").append(gkt.gktGiftCard.state.giftCardAddToCartButtonClone)
},
attachEventsToGreetingCardForm : function(){
// cleanup the previous attached events
gkt.$(".gktGiftCardContentFooterBtn1").off("click");
gkt.$(".gktGiftCardContentFooterBtn1").html(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.greetingCardFields.greetingCardContinueButtonText));
gkt.f.applyButtonCSS(gkt.$(".gktGiftCardContentFooterBtn1"));
gkt.$(".gktGiftCardContentFooterBtn1").on("click", function (event) {
gkt.$(this).attr("disabled", true);
setTimeout(() => { gkt.$(this).attr("disabled", false); }, 4000)
gkt.gktGiftCard.action.onGreetingCardSubmit(event)
})
// set the first nav item as active
gkt.gktGiftCard.f.renderGiftCardModalNav();
},
attachEventsToMessageForm : function (){
// cleanup the previous attached events
gkt.$(".gktGiftCardContentFooterBtn1").off("click");
gkt.$(".gktGiftCardContentFooterBtn1").html(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.buyNowButtonText));
gkt.f.applyButtonCSS(gkt.$(".gktGiftCardContentFooterBtn1"));
gkt.$(".gktGiftCardContentFooterBtn1").on("click", function (event) {
gkt.$(this).attr("disabled", true);
setTimeout(() => { gkt.$(this).attr("disabled", false); }, 4000)
gkt.$(this).html(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.buyNowButtonTextLoading));
gkt.gktGiftCard.action.onMessageSubmit(event)
})
gkt.gktGiftCard.f.renderGiftCardModalNav();
},
displayGreetingCardForm:function(){
gkt.gktGiftCard.action.hideGiftCardMessageBody();
gkt.gktGiftCard.action.hideGiftCardDetailsBody();
gkt.gktGiftCard.state.modalNavList.find(function(item){
if(item.id == "GREETING_CARD"){
item.visited = true;
item.active = true;
}
else{
item.active = false;
}
})
gkt.gktGiftCard.action.showGreetingCardBody();
gkt.gktGiftCard.f.attachEventsToGreetingCardForm();
},
displayGiftCardDetailsForm : function (){
gkt.gktGiftCard.action.hideGreetingCardBody();
gkt.gktGiftCard.action.hideGiftCardMessageBody();
gkt.gktGiftCard.state.modalNavList.find(function(item){
if(item.id == "GIFT_CARD_DETAILS"){
item.visited = true;
item.active = true;
}
else{
item.active = false;
}
});
gkt.gktGiftCard.action.showGiftCardDetailsBody()
gkt.gktGiftCard.f.attachEventsToDetailsForm();
},
displayMessageForm: function(){
gkt.gktGiftCard.action.hideGreetingCardBody();
gkt.gktGiftCard.action.hideGiftCardDetailsBody();
gkt.gktGiftCard.state.modalNavList.find(function(item){
if(item.id == "GIFT_MESSAGE"){
item.visited = true;
item.active = true;
}else{
item.active = false;
}
});
//and all the other nav items are inactive
gkt.gktGiftCard.action.showGiftCardMessageBody();
gkt.gktGiftCard.f.attachEventsToMessageForm();
},
validateForm: function () {
let isValid = true
console.log("validateForm");
// run validation on all fields which are visible
gkt.$(".gktGiftCardInputFieldsDiv input").each(function () {
if(gkt.$(this).is(":visible")){
if (gkt.$(this).val().trim() == "") {
gkt.$(this).css("border", "1px solid red")
isValid = false
} else {
gkt.$(this).css("border", "1px solid #cccccc")
}
}
})
return isValid;
},
emailValidation: function (emailString) {
var atSymbol = emailString.indexOf("@");
if (atSymbol < 1) return false;
var dot = emailString.lastIndexOf(".");
if (dot <= atSymbol + 2) return false;
// check that the dot is not at the end
if (dot === emailString.length - 1) return false;
return true;
},
dateValidation : function (date){
// if deliveryOption is sendNow then send date should be today
if(gkt.gktGiftCard.state.giftCardDeliveryOption == "sendNow"){
date = new Date();
}
// let today = new Date().toISOString().slice(0, 10)
let today = gkt.utility.getLocalDateIn_YYYY_MM_DD();
// let dateToCompare = new Date(date).toISOString().slice(0, 10)
let dateToCompare = gkt.utility.getLocalDateIn_YYYY_MM_DD(new Date(date));
if (dateToCompare < today) {
return false
}
// else if (dateToCompare > new Date(new Date().getTime() + 60 * 24 * 60 * 60 * 1000).toISOString().slice(0, 10)) {
else if (dateToCompare > gkt.utility.getLocalDateIn_YYYY_MM_DD(new Date(new Date().getTime() + 60 * 24 * 60 * 60 * 1000))) {
return false
}
else {
return true
}
},
performFormValidation : function (e){
// let gkGifttCardEmailValueIsValid = gkt.f.validateEmail(gkGifttCardEmailValue)
let gkGifttCardEmailValue = gkt.$(".gktGiftCardEmailInputField").val()
let gkGifttCardDateValue = gkt.$(".gktGiftCardDatePicker").val()
let emailValid = gkt.gktGiftCard.f.emailValidation(gkGifttCardEmailValue);
let isFormValid = gkt.gktGiftCard.f.validateForm();
let dateValid = gkt.gktGiftCard.f.dateValidation(gkGifttCardDateValue);
if (isFormValid && emailValid && dateValid) {
gkt.$(".gktGiftCardContentFooterBtn1").html(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.buyNowButtonTextLoading));
return true;
} else if (!emailValid) {
//TODO
gkt.$(".gktGiftCardEmailValidation").html(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.emailValidationError));
return;
}else if (!dateValid){
gkt.$(".gktGiftCardDateValidation").html(gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.purchasePageFields.dateValidationError));
return;
}
else {
return;
}
},
},
action: {
giftCardAddToCartButton: async function (e) {
e.preventDefault();
e.stopPropagation();
gkt.gktGiftCard.f.openGiftCardModal()
console.log("giftCardAddToCartButton-clicked")
},
onModalClose: function (e) {
// hide the modal
gkt.$(".gktGiftCardModalWrapper").hide();
},
onModalBack:function(e){
gkt.gktGiftCard.action.showGreetingCardBody()
gkt.gktGiftCard.action.hideGiftCardDetailsBody()
},
removeCheckmarkDivsFromSiblings: function(element){
element.siblings().find(".gkt_checkmark").remove()
element.siblings().removeClass("activeGreetingCard")
},
addCheckMarkDivs: function (element) {
let checkMarkDiv = gkt.$("<span>").addClass("gkt_checkmark")
checkMarkDiv.append(gkt.$("<div>").addClass("gkt_checkmark_circle"))
checkMarkDiv.append(gkt.$("<div>").addClass("gkt_checkmark_stem"))
checkMarkDiv.append(gkt.$("<div>").addClass("gkt_checkmark_kick"))
element.append(checkMarkDiv)
},
onGreetingCardImageClick : function(image){
// Pass either the image or just trigger this as a callback on Onclick
let imageSrc;
if (false) {
imageSrc = image
} else {
imageSrc = gkt.$(this).find("img").attr("src")
}
console.log("onclick triggered")
// gkt.$('.greetingCardImagePreview').attr("src", imageSrc)
gkt.gktGiftCard.state.greetingCardActiveImageSrc = imageSrc
gkt.$(this).find("input").prop("checked", true)
gkt.$(this).addClass("activeGreetingCard")
// add an icon on top of it
gkt.gktGiftCard.action.addCheckMarkDivs(gkt.$(this))
gkt.gktGiftCard.action.removeCheckmarkDivsFromSiblings(gkt.$(this))
},
onGreetingCardCategoryClick : function(){
// empty the active state greeting card
console.log("onGreetingCardCategoryClick");
gkt.$(this).addClass("activeGreetingCardCategory")
// remove activeCategory class from other categories
gkt.$(this).siblings().removeClass("activeGreetingCardCategory")
gkt.gktGiftCard.f.changeGreetingCardImageList(gkt.gktGiftCard.state.greetingCardSelectedCategory);
},
onSendSelfClick : function(){
// todo
let isSendToSelfChecked =gkt.$(".gktGiftCardModalCheckbox").find("input").is(":checked");
if(!isSendToSelfChecked){
gkt.$(".gktGiftCardInputSenderName").show();
gkt.$(".gktGiftCardInputReceiverName").show();
//find id GIFT_MESSAGE if not found then push
if (gkt.gktGiftCard.state.modalNavList.indexOf("GIFT_MESSAGE") == -1) {
gkt.gktGiftCard.state.modalNavList.push({id:"GIFT_MESSAGE",name:gkt.utility.renderLanguageValue(gkt.settings.languageData.giftcardV2.navigationFields.giftcardMessageNavItem),visited:false,active:false})
}
}
else{
gkt.$(".gktGiftCardInputSenderName").hide();
gkt.$(".gktGiftCardInputReceiverName").hide();
gkt.gktGiftCard.state.modalNavList.find(function(element){
if(element.id == "GIFT_MESSAGE"){
gkt.gktGiftCard.state.modalNavList.splice(gkt.gktGiftCard.state.modalNavList.indexOf(element),1)
}
})
}
//remove array element assoicated with the id = GIFT_MESSAGE in gkt.gktgiftCard.state.modalNavList
gkt.gktGiftCard.f.renderGiftCardModalNav();
},
onMessageSubmit: async function (e) {
e.preventDefault();
e.stopPropagation();
let greetingCardSelected = undefined;
let categorySelected = "";
if(gkt.settings.greetingCards.isGreetingCardEnabled){
greetingCardSelected = gkt.gktGiftCard.state.greetingCardActiveImageSrc;
categorySelected = gkt.gktGiftCard.state.greetingCardSelectedCategory;
}
// TODO: Do we need a validation for the form on the final page aswell?
let selectedVariantId = gkt.f.getSelectedVariant()
let quantity = gkt.f.getProductQuantity()
let gkGifttCardFromValue = gkt.$(".gktGiftCardFromInputField").val()
let gkGifttCardToValue = gkt.$(".gktGiftCardToInputField").val()
let gkGifttCardMessageValue = gkt.$(".gktGiftCardMessageInputField").val()
let gkGifttCardEmailValue = gkt.$(".gktGiftCardEmailInputField").val()
// if sendNow then set date to today
let gkGifttCardDateValue = gkt.$(".gktGiftCardDatePicker").val()
// check if deliveryOption is set to sendNow, if yes then reassign date to today
if (gkt.gktGiftCard.state.giftCardDeliveryOption == "sendNow") {
gkGifttCardDateValue = new Date().toISOString().slice(0, 10);
}
const isSendToSelfChecked = gkt.$(".gktGiftCardModalCheckbox").find("input").is(":checked");
if(isSendToSelfChecked){
gkGifttCardFromValue = null;
gkGifttCardToValue = null;
}
if(gkt.$(".gktVideoMsgCheckboxField").is(":checked")!=true && gkt.$(".gktVideoMsgCheckboxField_Mobile").is(":checked")!=true){
gkt.gktVideoMsg.state.uploadedVideoId = null;
}
//redirectUrlForSendGiftcardBtn includes cart keyword
if(gkt.settings.app.redirectUrlForSendGiftcardBtn.includes("checkout")){
let clearCart = await gkt.utility.clearCart()
}
let resAddToCart = await gkt.utility.addToCartV2({
"items": [
{
"id": selectedVariantId,
"quantity": quantity ? quantity : 1,
"properties": {
"To": gkGifttCardToValue,
"From": gkGifttCardFromValue,
"Note": gkGifttCardMessageValue,
"Recipient Email": gkGifttCardEmailValue,
"Delivery Date": gkGifttCardDateValue,
"_Greeting Card Image": greetingCardSelected,
"Greeting Card Selected": greetingCardSelected? "yes" : null,
"Video Recorded" : gkt.gktVideoMsg.state.uploadedVideoId ? "yes": null,
"_Video Id": gkt.gktVideoMsg.state.uploadedVideoId,
"_Send To Myself": isSendToSelfChecked
}
}
],
})
window.location.href = gkt.settings.app.redirectUrlForSendGiftcardBtn
console.log("onMessageSubmit-clicked")
},
onGreetingCardSubmit: async function (e){
e.preventDefault();
e.stopPropagation();
let greetingCardSelected = gkt.gktGiftCard.state.greetingCardActiveImageSrc;
let categorySelected = gkt.gktGiftCard.state.greetingCardSelectedCategory;
gkt.gktGiftCard.f.displayGiftCardDetailsForm();
},
onDetailsSubmit: async function (e){
e.preventDefault();
console.log("onDetailsSubmit-clicked")
let formValid = gkt.gktGiftCard.f.performFormValidation();
let isSendToSelfChecked = gkt.$(".gktGiftCardModalCheckbox").find("input").is(":checked");
if(formValid){
if(isSendToSelfChecked){
gkt.gktGiftCard.action.onMessageSubmit(e);
return;
}
gkt.gktGiftCard.f.displayMessageForm();
}
else return;
},
hideGreetingCardBody: function () {
gkt.$(".gktGiftCardGreetingCardContent").hide();
},
showGreetingCardBody: function () {
gkt.$(".gktGiftCardGreetingCardContent").show();
},
showGiftCardDetailsBody: function () {
gkt.$(".gktGiftCardDetailsContent").show();
},
hideGiftCardDetailsBody: function () {
gkt.$(".gktGiftCardDetailsContent").hide();
},
hideGiftCardMessageBody: function () {
gkt.$(".gktGiftCardMessageContent").hide();
},
showGiftCardMessageBody: function () {
gkt.$(".gktGiftCardMessageContent").show();
},
},
},
gktAccountWidget: {
state: {
isLoading: null,
},
init: function (settings, parent) {
if(shopifyLiquidValues && shopifyLiquidValues.customer && shopifyLiquidValues.customer.id){
gkt.gktAccountWidget.initialize(settings, parent)
}
},
initialize: function (settings, parent) {
let {isEnabledOnCartPage} = gkt.gktAccountWidget.f.checkifAccountWidgetEnabled()
if (parent == "CART_PAGE" && isEnabledOnCartPage){
let accountWidgetCartPageHTML = gkt.gktAccountWidget.f.prepareUI()
gkt.gktAccountWidget.f.insertIntoCartPageWrapper(settings, accountWidgetCartPageHTML)
}
gkt.utility.dynamicStylesForBranding();
},
f: {
checkifAccountWidgetEnabled: function () {
let isEnabledOnCartPage = false;
//isEnabledOnCartPage is the only one that matters
if (gkt.settings.accountWidget.isEnabled){
isEnabledOnCartPage = true
}
return {isEnabledOnCartPage}
},
prepareWidgetModal: function () {
let modalWrapper;
if(gkt.$(".gktAccountWidgetModal").length == 0){
modalWrapper = gkt.$("<div>").addClass("gktAccountWidgetModal")
} else{
modalWrapper = gkt.$(".gktAccountWidgetModal")
modalWrapper.html(" ");
}
let modalContent = gkt.$("<div>").addClass("gktAccountWidgetModalContent")
let closeButtonSvg = '<svg width="16px" height="16px" enable-background="new 0 0 587.91 587.91" version="1.1" viewBox="0 0 587.91 587.91" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m86.451 501.46c26.937 26.936 58.315 48.088 93.265 62.871 36.207 15.314 74.642 23.078 114.24 23.078 39.596 0 78.032-7.764 114.24-23.078 34.949-14.783 66.328-35.936 93.266-62.871 26.936-26.938 48.09-58.316 62.871-93.266 15.314-36.207 23.08-74.643 23.08-114.24 0-39.598-7.766-78.033-23.08-114.24-14.781-34.95-35.936-66.328-62.871-93.265-26.938-26.937-58.316-48.09-93.266-62.872-36.208-15.315-74.643-23.079-114.24-23.079-39.597 0-78.032 7.765-114.24 23.079-34.95 14.782-66.328 35.936-93.265 62.872s-48.09 58.315-62.873 93.264c-15.313 36.207-23.078 74.642-23.078 114.24 0 39.596 7.765 78.031 23.079 114.24 14.782 34.95 35.936 66.328 62.872 93.266zm207.5-458.12c138.41 0 250.61 112.2 250.61 250.62 0 138.41-112.2 250.61-250.61 250.61s-250.62-112.2-250.62-250.61c0-138.41 112.2-250.62 250.62-250.62z"/><path d="m293.96 587.91c-39.667 0-78.167-7.778-114.43-23.117-35.01-14.809-66.442-35.998-93.423-62.979-26.983-26.984-48.172-58.417-62.979-93.425-15.341-36.269-23.119-74.77-23.119-114.43 0-39.663 7.778-78.165 23.118-114.44 14.807-35.008 35.997-66.44 62.979-93.423s58.415-48.172 93.423-62.979c36.27-15.34 74.771-23.118 114.43-23.118 39.666 0 78.167 7.778 114.43 23.119 35.009 14.807 66.441 35.997 93.425 62.979 26.984 26.985 48.173 58.417 62.979 93.423 15.341 36.27 23.119 74.771 23.119 114.43 0 39.662-7.778 78.163-23.119 114.43-14.806 35.007-35.994 66.439-62.979 93.425-26.982 26.98-58.415 48.169-93.425 62.979-36.266 15.338-74.767 23.116-114.43 23.116zm0-586.91c-39.529 0-77.898 7.751-114.04 23.039-34.889 14.757-66.215 35.874-93.106 62.765-26.892 26.892-48.009 58.217-62.766 93.105-15.288 36.147-23.039 74.517-23.039 114.05 0 39.527 7.751 77.898 23.039 114.04 14.757 34.889 35.874 66.214 62.766 93.106 26.89 26.889 58.215 48.006 93.106 62.765 36.142 15.287 74.512 23.038 114.04 23.038s77.901-7.751 114.04-23.039c34.89-14.758 66.216-35.875 93.106-62.764 26.893-26.895 48.009-58.22 62.764-93.106 15.289-36.146 23.041-74.516 23.041-114.04 0-39.529-7.752-77.899-23.041-114.04-14.754-34.887-35.871-66.212-62.764-93.106-26.892-26.891-58.218-48.008-93.106-62.765-36.144-15.289-74.514-23.04-114.04-23.04zm0 544.07c-67.075 0-130.14-26.12-177.56-73.549-47.429-47.43-73.55-110.49-73.55-177.56s26.12-130.14 73.55-177.56c47.429-47.429 110.49-73.55 177.56-73.55s130.14 26.121 177.56 73.55c47.43 47.43 73.55 110.49 73.55 177.56s-26.12 130.14-73.55 177.56c-47.429 47.429-110.49 73.549-177.56 73.549zm0-501.23c-66.808 0-129.62 26.017-176.86 73.257-47.24 47.241-73.257 110.05-73.257 176.86s26.017 129.62 73.257 176.86c47.24 47.24 110.05 73.257 176.86 73.257s129.62-26.017 176.86-73.257c47.24-47.239 73.257-110.05 73.257-176.86 0-66.808-26.017-129.62-73.257-176.86-47.241-47.241-110.05-73.257-176.86-73.257z"/><path d="m184.92 402.99c4.183 4.184 9.664 6.275 15.146 6.275s10.964-2.092 15.146-6.275l78.742-78.742 78.743 78.742c4.182 4.184 9.664 6.275 15.146 6.275s10.963-2.092 15.146-6.275c8.365-8.363 8.365-21.926 0-30.291l-78.744-78.742 78.742-78.743c8.365-8.365 8.365-21.928 0-30.292-8.363-8.365-21.926-8.365-30.291 0l-78.743 78.743-78.742-78.743c-8.365-8.365-21.928-8.365-30.292 0-8.365 8.365-8.365 21.927 0 30.292l78.743 78.743-78.743 78.742c-8.364 8.365-8.364 21.928 1e-3 30.291z"/><path d="m387.84 409.76c-5.856 0-11.36-2.28-15.5-6.422l-78.389-78.389-78.388 78.389c-4.14 4.142-9.645 6.422-15.5 6.422s-11.36-2.28-15.5-6.422c-4.14-4.14-6.42-9.644-6.42-15.498 0-5.855 2.28-11.359 6.42-15.5l78.389-78.389-78.389-78.389c-8.546-8.547-8.546-22.453 0-31 4.14-4.14 9.644-6.42 15.5-6.42 5.855 0 11.36 2.28 15.5 6.42l78.389 78.389 78.389-78.389c4.141-4.14 9.645-6.42 15.5-6.42 5.854 0 11.358 2.28 15.498 6.42 4.141 4.14 6.42 9.645 6.42 15.5s-2.279 11.36-6.42 15.5l-78.389 78.389 78.391 78.389c4.141 4.141 6.421 9.645 6.421 15.5 0 5.854-2.28 11.358-6.421 15.498-4.143 4.141-9.647 6.422-15.501 6.422zm-93.889-86.225 79.096 79.096c3.95 3.952 9.204 6.129 14.793 6.129 5.587 0 10.841-2.177 14.793-6.129 3.951-3.95 6.128-9.203 6.128-14.791s-2.177-10.842-6.128-14.793l-79.098-79.096 79.096-79.096c3.951-3.951 6.127-9.205 6.127-14.793s-2.176-10.841-6.127-14.792c-3.95-3.951-9.203-6.127-14.791-6.127s-10.842 2.176-14.793 6.127l-79.096 79.096-79.096-79.096c-3.951-3.951-9.205-6.127-14.793-6.127s-10.841 2.176-14.792 6.127c-8.156 8.157-8.156 21.428 0 29.585l79.096 79.096-79.096 79.096c-3.951 3.951-6.127 9.205-6.127 14.793s2.176 10.841 6.127 14.791c3.952 3.952 9.205 6.129 14.793 6.129s10.841-2.177 14.793-6.129l79.095-79.096z"/></svg>'
let modalCloseBtn = gkt.$("<div>").addClass("gktAccountWidgetModalClose").append(closeButtonSvg)
modalCloseBtn.on("click", gkt.gktAccountWidget.action.closeAccountWidgetModal)
let gktAccountWidgetRewardDetailsHTML = gkt.gktAccountWidget.f.prepareRewardGiftCardDetails()
let gktAccountWidgetBuyWithRewardsButton = gkt.gktAccountWidget.f.prepareBuyWithRewardsButton()
let gktAccountWidgetBody = gkt.$("<div>").addClass("gktAccountWidgetBody")
// let gktAccountWidgetTabs = two tabs - rewards and gift cards
let gktAccountWidgetBodyTabs = gkt.$("<div>").addClass("gktAccountWidgetBodyTabs")
let gktAccountWidgetBodyTabRewards = gkt.$("<div>").addClass("gktAccountWidgetBodyTabRewards").text(gkt.utility.renderLanguageValue(gkt.settings.languageData.accountWidget.rewardSection.rewardsTabText))
let gktAccountWidgetBodyTabGiftCards = gkt.$("<div>").addClass("gktAccountWidgetBodyTabGiftCards").html(gkt.utility.renderLanguageValue(gkt.settings.languageData.accountWidget.giftcardSection.giftCardsTabText))
gkt.gktAccountWidget.f.applySubTextColorCSS(gktAccountWidgetBodyTabs);
gktAccountWidgetBodyTabs.append(gktAccountWidgetBodyTabRewards)
gktAccountWidgetBodyTabs.append(gktAccountWidgetBodyTabGiftCards)
//gktAccountWidgetBodyTabs write css, add event listeners
gktAccountWidgetBodyTabRewards.on("click", gkt.gktAccountWidget.action.showRewardSection);
gktAccountWidgetBodyTabGiftCards.on("click", gkt.gktAccountWidget.action.showGiftCardSection);
gktAccountWidgetBody.append(gktAccountWidgetBodyTabs)
let gktAccountWidgetRewardSection = gkt.gktAccountWidget.f.prepareRewardSection()
let gktAccountWidgetGiftCardSection = gkt.gktAccountWidget.f.prepareGiftCardSection()
gktAccountWidgetBody.append(gktAccountWidgetRewardSection)
gktAccountWidgetBody.append(gktAccountWidgetGiftCardSection)
// gktAccountWidgetBody.append(gktAccountWidgetGiftCardSection)
// gktAccountWidgetRewardDetails.append(gktAccountWidgetBuyWithRewardsButton)
modalContent.append(gktAccountWidgetRewardDetailsHTML)
modalContent.append(gktAccountWidgetBuyWithRewardsButton)
modalContent.append(gktAccountWidgetBody)
modalWrapper.append(modalCloseBtn)
modalWrapper.append(modalContent)
modalWrapper.append(gkt.f.preparePoweredByBannerUI())
return modalWrapper;
},
fetchLoggedInUserAndUpdateUI: async function () {
gkt.gktAccountWidget.state.isLoading = true;
//this is to show loading spinner
gkt.gktAccountWidget.f.reRenderModalUI();
await gkt.f.getLoggedInCustomer();
gkt.gktAccountWidget.state.isLoading = false;
gkt.gktAccountWidget.f.reRenderModalUI();
},
prepareUI: function () {
//a div which is has properties of a button and on click, it opens a modal
let accountWidgetHTML = gkt.$("<div>");
let widgetActivator = gkt.$("<div>").addClass("gktAccountWidgetActivator");
gkt.gktAccountWidget.f.applyButtonCSS(widgetActivator);
widgetActivator.text(gkt.utility.renderLanguageValue(gkt.settings.languageData.accountWidget.generalSettings.accountWidgetDisplayText) || "Account Widget")
//css -> cursor: pointer
widgetActivator.css("cursor", "pointer");
widgetActivator.on("click", gkt.gktAccountWidget.action.openAccountWidgetModal)
let widgetModalWrapper = gkt.$("<div>").addClass("gktAccountWidgetModalWrapper")
widgetModalWrapper.append(gkt.gktAccountWidget.f.prepareWidgetModal())
accountWidgetHTML.append(widgetActivator)
console.log("prepare ui called")
gkt.$("body").append(widgetModalWrapper)
return accountWidgetHTML;
},
prepareRewardGiftCardDetails: function () {
let gktAccountWidgetRewardDetails;
if(gkt.$(".gktAccountWidgetRewardDetails").length > 0) {
gkt.$(".gktAccountWidgetRewardDetails").html(" ")
gktAccountWidgetRewardDetails = gkt.$(".gktAccountWidgetRewardDetails")
} else {
gktAccountWidgetRewardDetails = gkt.$("<div>").addClass("gktAccountWidgetRewardDetails")
}
let generalSettingsLanguageData = gkt.settings.languageData.accountWidget.generalSettings;
let gktAccountWidgetRewardBalance = gkt.$("<div>").addClass("gktAccountWidgetRewardBalance").html( gkt.utility.renderLanguageValue(generalSettingsLanguageData.rewardBalanceLabel)|| "Reward Balance 1")
gkt.gktAccountWidget.f.applyMainTextColorCSS(gktAccountWidgetRewardBalance)
// now another span with value of the balance
let gktAccountWidgetRewardBalanceValue = gkt.$("<span>").addClass("gktAccountWidgetRewardBalanceValue");
let rewardBalanceValue = `--`;
if(gkt.gktAccountWidget.state.isLoading == false){
if (gkt.settings.customer && gkt.settings.customer.rewardgiftcard && gkt.settings.customer.rewardgiftcard.balance) {
rewardBalanceValue = `${gkt.settings.merchantInfo.currencyInfo.code} ${gkt.settings.customer.rewardgiftcard.balance}`
}else {
rewardBalanceValue = `${gkt.settings.merchantInfo.currencyInfo.code} 0`
}
}
gkt.gktAccountWidget.f.applySubTextColorCSS(gktAccountWidgetRewardBalanceValue)
gktAccountWidgetRewardBalanceValue.text(rewardBalanceValue)
gktAccountWidgetRewardBalance.append(gktAccountWidgetRewardBalanceValue)
let gktRewardCode = gkt.$("<div>").addClass("gktRewardCode").text( gkt.utility.renderLanguageValue(generalSettingsLanguageData.rewardCodeLabel) || "Reward Code 1")
let gktAccountWidgetRewardCodeValue = gkt.$("<span>").addClass("gktAccountWidgetRewardCodeValue");
gkt.gktAccountWidget.f.applySubTextColorCSS(gktAccountWidgetRewardCodeValue)
let rewardCodeValue = "----";
if(gkt.gktAccountWidget.state.isLoading == false && gkt.settings.customer && gkt.settings.customer.rewardgiftcard && gkt.settings.customer.rewardgiftcard.decryptCode){
rewardCodeValue = gkt.settings.customer.rewardgiftcard.decryptCode;
}
gkt.gktAccountWidget.f.applyMainTextColorCSS(gktRewardCode)
gktAccountWidgetRewardCodeValue.text(rewardCodeValue)
gktRewardCode.append(gktAccountWidgetRewardCodeValue)
// let gktAccountWidgetRewardCodeCopyBtn = gkt.$("<div>").addClass("gktAccountWidgetRewardCodeCopyBtn").html("Copy")
// gktAccountWidgetRewardCodeCopyBtn.on("click", gkt.gktAccountWidget.action.copyRewardCode)
// gktRewardCode.append(gktAccountWidgetRewardCodeCopyBtn)
gktAccountWidgetRewardDetails.append(gktAccountWidgetRewardBalance)
gktAccountWidgetRewardDetails.append(gktRewardCode)
return gktAccountWidgetRewardDetails;
},
prepareRewardSection: function () {
let gktAccountWidgetRewardSection;
if(gkt.$(".gktAccountWidgetRewardSection").length > 0){
gktAccountWidgetRewardSection = gkt.$(".gktAccountWidgetRewardSection");
gkt.$(".gktAccountWidgetRewardSection").html(" ")
}else{
gktAccountWidgetRewardSection = gkt.$("<div>").addClass("gktAccountWidgetRewardSection")
}
let gktAccountWidgetRewardSectionBody = gkt.$("<div>").addClass("gktAccountWidgetRewardSectionBody")
let rewardSectionLanguageData = gkt.settings.languageData.accountWidget.rewardSection;
let gktAccountWidgetRewardSectionBodyListHTML = gkt.$("<div>").addClass("gktAccountWidgetRewardSectionBodyList")
if(gkt.gktAccountWidget.state.isLoading == false ){
let rewardTransactions = gkt.settings.customer ? gkt.settings.customer.rewardgiftcardTransaction : [];
let gktAccountWidgetRewardSectionBodyListHeader = gkt.$("<div>").addClass("gktAccountWidgetRewardSectionBodyListHeader")
let gktAccountWidgetHeaderForCode = gkt.$("<div>").addClass("gktAccountWidgetHeaderForCode").text(gkt.utility.renderLanguageValue(rewardSectionLanguageData.balanceHeaderLabel) || "Balance" )
let gktAccountWidgetHeaderForExpirationDate = gkt.$("<div>").addClass("gktAccountWidgetHeaderForExpirationDate").text(gkt.utility.renderLanguageValue(rewardSectionLanguageData.expirationDateLabel)|| "Exp. Date1" )
let gktAccountWidgetHeaderForRemarks = gkt.$("<div>").addClass("gktAccountWidgetHeaderForRemarks").text(gkt.utility.renderLanguageValue(rewardSectionLanguageData.remarksLabel) || "Remarks 1")
gktAccountWidgetRewardSectionBodyListHeader.append(gktAccountWidgetHeaderForCode)
gktAccountWidgetRewardSectionBodyListHeader.append(gktAccountWidgetHeaderForExpirationDate)
gktAccountWidgetRewardSectionBodyListHeader.append(gktAccountWidgetHeaderForRemarks)
gktAccountWidgetRewardSectionBodyListHTML.append(gktAccountWidgetRewardSectionBodyListHeader)
if(rewardTransactions.length > 0){
rewardTransactions.forEach(function (rewardTransaction) {
let expiryDateFormatted = ' - ';
if(rewardTransaction.expiryDate){
expiryDateFormatted = rewardTransaction.expiryDate && rewardTransaction.expiryDate.length > 10 ? rewardTransaction.expiryDate.substring(0,10) : rewardTransaction.expiryDate;
}
let minusSymbol = rewardTransaction.action == "Remove" ? " -" : " ";
let balanceFormatted = rewardTransaction.currency + minusSymbol + parseFloat(rewardTransaction.amount).toFixed(2);
let gktAccountWidgetRewardSectionBodyListItem = gkt.$("<div>").addClass("gktAccountWidgetRewardSectionBodyListItem")
let balanceFieldDiv = gkt.$("<div>").addClass("gktAccountWidgetRewardSectionBodyListItemBalance").html(balanceFormatted)
if(rewardTransaction.action == "Remove"){
balanceFieldDiv.addClass("gktAccountWidgetRewardSectionBodyListItemBalanceRemove")
expiryDateFormatted = " - "
}
gktAccountWidgetRewardSectionBodyListItem.append(balanceFieldDiv)
gktAccountWidgetRewardSectionBodyListItem.append(gkt.$("<div>").addClass("gktAccountWidgetRewardSectionBodyListItemExpirationDate").html(expiryDateFormatted || "-"))
gktAccountWidgetRewardSectionBodyListItem.append(gkt.$("<div>").addClass("gktAccountWidgetRewardSectionBodyListItemRemarks").html(rewardTransaction.note).text())
gktAccountWidgetRewardSectionBodyListHTML.append(gktAccountWidgetRewardSectionBodyListItem)
gkt.gktAccountWidget.f.applyMainTextColorCSS(gktAccountWidgetRewardSectionBodyListItem);
})
gkt.gktAccountWidget.f.applySubTextColorCSS(gktAccountWidgetRewardSectionBodyListHeader);
}else{
//handle empty state
let noRewardFound = gkt.gktAccountWidget.f.prepareEmptyStateForRewardSection();
gktAccountWidgetRewardSectionBodyListHTML.html(noRewardFound)
}
gktAccountWidgetRewardSectionBody.append(gktAccountWidgetRewardSectionBodyListHTML)
}else{
gktAccountWidgetRewardSectionBody.html(gkt.utility.displayLoadingSpinner())
}
gktAccountWidgetRewardSection.append(gktAccountWidgetRewardSectionBody)
return gktAccountWidgetRewardSection
},
prepareGiftCardSection: function () {
let gktAccountWidgetGiftCardSection;
if(gkt.$(".gktAccountWidgetGiftCardSection").length > 0){
gktAccountWidgetGiftCardSection = gkt.$(".gktAccountWidgetGiftCardSection");
gkt.$(".gktAccountWidgetGiftCardSection").html(" ")
}else{
gktAccountWidgetGiftCardSection = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSection")
}
let giftcardSectionLanguageData = gkt.settings.languageData.accountWidget.giftcardSection;
let gktAccountWidgetGiftCardSectionBodyListHTML = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionBodyList")
if(gkt.gktAccountWidget.state.isLoading == false){
const customerGiftCards = gkt.settings.customer.giftcards;
if(customerGiftCards.length > 0){
gkt.gktAccountWidget.state.activeTabFn = gkt.gktAccountWidget.action.showGiftCardSection;
let gktAccountWidgetGiftCardSectionListHeader = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionListHeader")
let gktAccountWidgetGiftCardSectionListHeaderForCode = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionListHeaderForCode").html(gkt.utility.renderLanguageValue(giftcardSectionLanguageData.codeHeaderLabel)||"Code1" )
let gktAccountWidgetGiftCardSectionListHeaderForBalance = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionListHeaderForBalance").html( gkt.utility.renderLanguageValue(giftcardSectionLanguageData.balanceHeaderLabel) || "Balance1")
let gktAccountWidgetGiftCardSectionListHeaderForExpirationDate = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionListHeaderForExpirationDate").html(gkt.utility.renderLanguageValue(giftcardSectionLanguageData.expirationDateLabel)|| "Exp. Date1")
let gktAccountWidgetGiftCardSectionListHeaderForAction = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionListHeaderForAction").html( gkt.utility.renderLanguageValue(giftcardSectionLanguageData.actionHeaderLabel)|| "Action1")
gktAccountWidgetGiftCardSectionListHeader.append(gktAccountWidgetGiftCardSectionListHeaderForCode)
gktAccountWidgetGiftCardSectionListHeader.append(gktAccountWidgetGiftCardSectionListHeaderForBalance)
gktAccountWidgetGiftCardSectionListHeader.append(gktAccountWidgetGiftCardSectionListHeaderForExpirationDate)
gktAccountWidgetGiftCardSectionListHeader.append(gktAccountWidgetGiftCardSectionListHeaderForAction)
gktAccountWidgetGiftCardSectionBodyListHTML.append(gktAccountWidgetGiftCardSectionListHeader)
customerGiftCards.forEach(function (customerGiftCard) {
let gktAccountWidgetGiftCardSectionBodyListItem = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionBodyListItem")
let gktAccountWidgetGiftCardSectionBodyListItemForCode = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionBodyListItemForCode").html("**" + customerGiftCard.code)
let gktAccountWidgetGiftCardSectionBodyListItemForBalance = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionBodyListItemForBalance").html(`${gkt.settings.merchantInfo.currencyInfo.code} ${customerGiftCard.balance}`)
let gktAccountWidgetGiftCardSectionBodyListItemForExpirationDate = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionBodyListItemForExpirationDate").html(customerGiftCard.expiresOn || "-" )
let gktAccountWidgetGiftCardSectionBodyListItemForAddToAccount = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionBodyListItemForAddToAccount");
if(customerGiftCard.gktGiftcardId){
let addToAccountButton = gkt.$("<div>").addClass("gktAccountWidgetGiftCardSectionBodyListItemForAddToAccountButton").html( gkt.utility.renderLanguageValue(giftcardSectionLanguageData.addToAccountButtonText)|| "Add To Account1");
//attach data attribute to the button
gktAccountWidgetGiftCardSectionBodyListItemForAddToAccount.append(addToAccountButton)
gkt.gktAccountWidget.f.applyButtonCSS(addToAccountButton);
gktAccountWidgetGiftCardSectionBodyListItemForAddToAccount.attr("data-giftcard-id", customerGiftCard.gktGiftcardId);
gktAccountWidgetGiftCardSectionBodyListItemForAddToAccount.on("click", gkt.gktAccountWidget.action.addGiftCardToRewardCode)
}
gktAccountWidgetGiftCardSectionBodyListItem.append(gktAccountWidgetGiftCardSectionBodyListItemForCode)
gktAccountWidgetGiftCardSectionBodyListItem.append(gktAccountWidgetGiftCardSectionBodyListItemForBalance)
gktAccountWidgetGiftCardSectionBodyListItem.append(gktAccountWidgetGiftCardSectionBodyListItemForExpirationDate)
gktAccountWidgetGiftCardSectionBodyListItem.append(gktAccountWidgetGiftCardSectionBodyListItemForAddToAccount)
gktAccountWidgetGiftCardSectionBodyListHTML.append(gktAccountWidgetGiftCardSectionBodyListItem)
})
gkt.gktAccountWidget.f.applySubTextColorCSS(gktAccountWidgetGiftCardSectionListHeader);
gktAccountWidgetGiftCardSection.append(gktAccountWidgetGiftCardSectionBodyListHTML)
}else{
//empty state data
let noGiftcardFoundHTML = gkt.gktAccountWidget.f.prepareEmptyStateForGiftCardSection();
gktAccountWidgetGiftCardSectionBodyListHTML.html(noGiftcardFoundHTML)
}
gktAccountWidgetGiftCardSection.append(gktAccountWidgetGiftCardSectionBodyListHTML)
}else{
gktAccountWidgetGiftCardSection.html(gkt.utility.displayLoadingSpinner())
}
return gktAccountWidgetGiftCardSection;
},
prepareEmptyStateForGiftCardSection: function () {
let giftcardSectionLanguageData = gkt.settings.languageData.accountWidget.giftcardSection;
let noGiftcardFoundHTML = gkt.$("<div>").addClass("gktAccountWidgetNoGiftCardDataFound")
let noDataFoundMainText = giftcardSectionLanguageData.noGiftcardFoundMainText.value || "No Gift Cards Found1";
let noDataFoundSubText = giftcardSectionLanguageData.noGiftcardFoundSubText.value || " ";
let noGiftcardFoundMainTextHTML = gkt.$("<div>").addClass("gktAccountWidgetNoGiftCardDataFoundMainText").html(noDataFoundMainText)
let noGiftcardFoundSubTextHTML = gkt.$("<div>").addClass("gktAccountWidgetNoGiftCardDataFoundSubText").html(noDataFoundSubText)
gkt.gktAccountWidget.f.applyMainTextColorCSS(noGiftcardFoundMainTextHTML);
gkt.gktAccountWidget.f.applySubTextColorCSS(noGiftcardFoundSubTextHTML);
noGiftcardFoundHTML.append(noGiftcardFoundMainTextHTML).append("<br/>").append(noGiftcardFoundSubTextHTML);
return noGiftcardFoundHTML;
},
prepareEmptyStateForRewardSection: function () {
let rewardSectionLanguageData = gkt.settings.languageData.accountWidget.rewardSection;
let noRewardsFound = gkt.$("<div>").addClass("gktAccountWidgetNoRewardDataFound")
let noDataFoundMainText = rewardSectionLanguageData.noRewardFoundMainText.value || "No Rewards Found1";
let noDataFoundSubText = rewardSectionLanguageData.noRewardFoundSubText.value || " ";
let noRewardFoundMainTextHTML = gkt.$("<div>").addClass("gktAccountWidgetNoRewardDataFoundMainText").html(noDataFoundMainText)
let noRewardFoundSubTextHTML = gkt.$("<div>").addClass("gktAccountWidgetNoRewardDataFoundSubText").html(noDataFoundSubText)
gkt.gktAccountWidget.f.applyMainTextColorCSS(noRewardFoundMainTextHTML);
gkt.gktAccountWidget.f.applySubTextColorCSS(noRewardFoundSubTextHTML);
noRewardsFound.append(noRewardFoundMainTextHTML).append("<br/>").append(noRewardFoundSubTextHTML);
return noRewardsFound;
},
insertIntoCartPageWrapper: function (settings, accountWidgetCartPageHTML) {
gkt.elements.cartPageWrapperV2.find(".gktAccountWidgetWrapper").html(accountWidgetCartPageHTML)
},
refreshRewardSection_and_RewardDetails: function () {
gkt.gktAccountWidget.f.prepareRewardSection()
gkt.gktAccountWidget.f.prepareRewardGiftCardDetails();
gkt.gktAccountWidget.f.prepareBuyWithRewardsButton();
},
applyMainTextColorCSS: function (element) {
if(gkt.settings.accountWidget && gkt.settings.accountWidget.customization && gkt.settings.accountWidget.customization.mainTextColor){
let mainTextColor = gkt.settings.accountWidget.customization.mainTextColor;
element.css("color", mainTextColor)
}
},
applySubTextColorCSS: function (element) {
if(gkt.settings.accountWidget && gkt.settings.accountWidget.customization && gkt.settings.accountWidget.customization.subTextColor){
let subTextColor = gkt.settings.accountWidget.customization.subTextColor;
element.css("color", subTextColor)
}
},
applyButtonCSS: function (element) {
if(gkt.settings.accountWidget && gkt.settings.accountWidget.customization && gkt.settings.accountWidget.customization.buttonColor){
let buttonColor = gkt.settings.accountWidget.customization.buttonColor;
element.css("background-color", buttonColor)
}
if(gkt.settings.accountWidget && gkt.settings.accountWidget.customization && gkt.settings.accountWidget.customization.buttonTextColor){
let buttonTextColor = gkt.settings.accountWidget.customization.buttonTextColor;
element.css("color", buttonTextColor)
}
},
reRenderModalUI: function () {
gkt.gktAccountWidget.f.prepareWidgetModal();
if(gkt.gktAccountWidget.state.activeTabFn){
gkt.gktAccountWidget.state.activeTabFn();
}
},
prepareBuyWithRewardsButton: function () {
let generalSettingsLanguageData = gkt.settings.languageData.accountWidget.generalSettings;
let gktAccountWidgetBuyWithRewardsButton;
if(gkt.$(".gktAccountWidgetBuyWithRewardsButton").length > 0){
gktAccountWidgetBuyWithRewardsButton = gkt.$(".gktAccountWidgetBuyWithRewardsButton");
gktAccountWidgetBuyWithRewardsButton.html("");
}else{
gktAccountWidgetBuyWithRewardsButton = gkt.$("<div>").addClass("gktAccountWidgetBuyWithRewardsButton")
}
gktAccountWidgetBuyWithRewardsButton.text(gkt.utility.renderLanguageValue(generalSettingsLanguageData.buyWithRewardsButtonText || "Buy with Rewards"))
if(gkt.settings.customer && gkt.settings.customer.rewardgiftcard && gkt.settings.customer.rewardgiftcard.balance > 0 && gkt.settings.customer.rewardgiftcard.decryptCode) {
gktAccountWidgetBuyWithRewardsButton.on("click", gkt.gktAccountWidget.action.buyWithRewardsClicked);
gktAccountWidgetBuyWithRewardsButton.removeClass("gktDisabled");
}else{
gktAccountWidgetBuyWithRewardsButton.addClass("gktDisabled");
}
gkt.gktAccountWidget.f.applyButtonCSS(gktAccountWidgetBuyWithRewardsButton);
return gktAccountWidgetBuyWithRewardsButton;
},
},
action: {
openAccountWidgetModal: function () {
gkt.gktAccountWidget.state.isLoading = true;
gkt.gktAccountWidget.f.fetchLoggedInUserAndUpdateUI();
// gkt.elements.cartPageWrapperV2.find(".gktAccountWidgetModalWrapper").css("display", "grid");
gkt.$(".gktAccountWidgetModalWrapper").css("display", "grid");
gkt.gktAccountWidget.action.showRewardSection();
},
closeAccountWidgetModal: function () {
// gkt.elements.cartPageWrapperV2.find(".gktAccountWidgetModalWrapper").css("display", "none")
gkt.$(".gktAccountWidgetModalWrapper").css("display", "none")
},
copyRewardCode: function () {
let rewardCode = gkt.$(this).parent().find(".gktRewardCode").html()
//use native javascript to copy to clipboard
let rewardCodeInput = gkt.$("<input>").val(rewardCode)
gkt.$("body").append(rewardCodeInput)
rewardCodeInput.select()
document.execCommand("copy")
rewardCodeInput.remove()
gkt.$(this).html("Copied")
},
showRewardSection: function () {
console.log("showRewardsTab");
gkt.$(".gktAccountWidgetRewardSection").css("display", "grid")
//hide other sections
gkt.$(".gktAccountWidgetGiftCardSection").css("display", "none")
gkt.$(".gktAccountWidgetBodyTabRewards").siblings().removeClass("gktAccountWidgetBodyTabActive")
gkt.$(".gktAccountWidgetBodyTabRewards").addClass("gktAccountWidgetBodyTabActive")
gkt.gktAccountWidget.state.activeTabFn = gkt.gktAccountWidget.action.showRewardSection;
},
showGiftCardSection: function () {
console.log("showGiftCardsTab")
gkt.$(".gktAccountWidgetGiftCardSection").css("display", "grid");
//hide other sections
gkt.$(".gktAccountWidgetRewardSection").css("display", "none")
// remove gktAccountWidgetBodyTabActive from other siblings
gkt.$(".gktAccountWidgetBodyTabGiftCards").siblings().removeClass("gktAccountWidgetBodyTabActive")
gkt.$(".gktAccountWidgetBodyTabGiftCards").addClass("gktAccountWidgetBodyTabActive")
gkt.gktAccountWidget.state.activeTabFn = gkt.gktAccountWidget.action.showGiftCardSection;
},
addGiftCardToRewardCode: async function () {
//read the giftcardID from the button data attribute
//read the attribute data-giftcard-id from the button or its parent
let giftCardId = gkt.$(this).attr("data-giftcard-id") || gkt.$(this).parent().attr("data-giftcard-id");
//get the reward code
console.log("giftCardId", giftCardId);
//when this button is clicked, we need to change this buttons text to loading... using renderLanguageValue
// and also disable this button for clicks
// by attaching gktDisabled class
gkt.$(this).children().text(gkt.utility.renderLanguageValue(gkt.settings.languageData.accountWidget.giftcardSection.addingCodeToRewardsText) || "adding...1")
gkt.$(this).addClass("gktDisabled")
//attachh the class to all other buttons in the list
gkt.$(this).parent().siblings().addClass("gktDisabled")
const addToReward = await gkt.f.addGiftCardToRewardCodeAPI(giftCardId)
if(addToReward){
gkt.$(this).children().text(gkt.utility.renderLanguageValue(gkt.settings.languageData.accountWidget.giftcardSection.addedCodeToRewardText) || "Added1");
gkt.$(this).off("click")
//add opacity to the button of 0.6
gkt.$(this).css("opacity", "0.5")
gkt.$(this).children().css("border-radius", "2px")
gkt.gktAccountWidget.f.refreshRewardSection_and_RewardDetails()
}else{
gkt.$(this).children().text(gkt.utility.renderLanguageValue(gkt.settings.languageData.accountWidget.generalSettings.errorMessage) || "Error occured! Try again");
await new Promise(resolve => setTimeout(resolve, 1500));
gkt.$(this).on("click", gkt.gktAccountWidget.action.addGiftCardToRewardCode)
// setTimeout(function(){
gkt.$(this).children().text(gkt.utility.renderLanguageValue(gkt.settings.languageData.accountWidget.giftcardSection.addToAccountButtonText) || "Add To Account1");
// }, 100)
}
gkt.$(this).removeClass("gktDisabled")
gkt.$(this).parent().siblings().removeClass("gktDisabled")
},
buyWithRewardsClicked: async function () {
try{
gkt.$(this).addClass("gktDisabled")
gkt.$(this).html(gkt.utility.renderLanguageValue(gkt.settings.languageData.accountWidget.generalSettings.buyWithRewardsButtonLoadingText) || "Loading Checkout...1")
window.location.href = window.location.origin + "/cart/checkout?discount=" + gkt.settings.customer.rewardgiftcard.decryptCode
}catch(e){
console.log("error", e)
gkt.$(this).removeClass("gktDisabled")
}
},
},
},
gktMessage:{
init: function (settings, parent) {
gkt.gktMessage.initialize(settings, parent)
},
initialize: function (settings, parent) {
let productHandle = gkt.f.getProductPageHandle(settings)
let {isEnabledOnProductPage, isEnabledOnCartPage} = gkt.gktMessage.f.checkifGiftMessageEnabled(settings.giftMessage, productHandle, parent)
if (parent == "PRODUCT_PAGE" && isEnabledOnProductPage){
// let oneClickUpsellProductPageHTML = gkt.gktOneClickUpsell.f.prepareUI(settings, variantListToBeShownOnProductPage, parent)
let giftMessageProductPageHTML = gkt.gktMessage.f.prepareUI(settings, productHandle, parent)
gkt.gktMessage.f.insertIntoProductPageWrapper(settings, giftMessageProductPageHTML)
gkt.utility.overWriteBuyNowBtn()
gkt.state.isOverWriteBuyNowBtnTriggered = true
}
if (parent == "CART_PAGE" && isEnabledOnCartPage && productHandle == "undefined"){
let giftMessageCartPageHTML = gkt.gktMessage.f.prepareUI(settings, productHandle, parent)
gkt.gktMessage.f.insertIntoCartPageWrapper(settings, giftMessageCartPageHTML)
}
},
f: {
checkifGiftMessageEnabled: function (giftMessage, currProductHandle, parent) {
let isEnabledOnProductPage = false
let isEnabledOnCartPage = false
if(!giftMessage.isGiftMessageEnabled){
return {isEnabledOnProductPage, isEnabledOnCartPage}
}
if (giftMessage.isVisibleOnCart) {
isEnabledOnCartPage = true
}
if (giftMessage.isVisibleOnAllProductPages) {
isEnabledOnProductPage = true
} else if (giftMessage.isVisibleOnSpecificProductPages &&
giftMessage.visibleOnSpecificProductPages &&
giftMessage.visibleOnSpecificProductPages.find(x => x.handle === currProductHandle)) {
isEnabledOnProductPage = true
}
return {isEnabledOnProductPage, isEnabledOnCartPage}
},
prepareUI: function(settings, currProductHandle, parent){
let gktGiftMessageContainer = gkt.$("<div>").addClass('gktGiftMessageContainer')
let gktGiftMessageItemContainer = gkt.$("<div>").addClass('gktGiftMessageItemContainer')
let gktGiftMessageTextArea = gkt.$("<textarea>").addClass('gktGiftMessageTextArea')
.attr("placeholder", settings.languageData.giftMessage.giftMessagePlaceholderText)
let gktGiftMessageItemContainerCheckboxLable = gkt.$("<label>").addClass('gktCustomCheckboxMsgContainer')
let inputCheckboxEle = gkt.$("<input>").addClass('gktGiftMessageInputCheckboxEle')
.attr("type", "checkbox")
if (gkt.utility.getNoteFromCart()) {
inputCheckboxEle.attr("checked", true)
let noteVal = gkt.utility.getNoteFromCart()
gktGiftMessageTextArea.val(noteVal)
// gktGiftMessageTextArea.css("display", "block")
}
gktGiftMessageItemContainerCheckboxLable.append(inputCheckboxEle)
gktGiftMessageItemContainerCheckboxLable.append(gkt.$("<span>").addClass("gktCustomMsgCheckboxCheckmark"))
//create a div with appendString
let gktGiftMessageItemContainerLableText = gkt.$("<div>").addClass('gktGiftMessageItemContainerLabelText')
.html(settings.languageData.giftMessage.giftMessageHeadingLabel)
gktGiftMessageItemContainerCheckboxLable.append(gktGiftMessageItemContainerLableText)
gktGiftMessageItemContainer.append(gktGiftMessageItemContainerCheckboxLable)
gktGiftMessageContainer.append(gktGiftMessageItemContainer)
gktGiftMessageContainer.append(gktGiftMessageTextArea)
gkt.$(document).on("click", ".gktGiftMessageInputCheckboxEle",async (e)=>{
// window.eventCick = e
// let isChecked = gkt.$(e.currentTarget).find(".gktGiftMessageInputCheckboxEle").is(":checked")
// if(gkt.$(this).prop('checked') == true){
// console.log("gktCustomCheckboxMsgContainer")
// }
if(!e.currentTarget.checked){
let updateCartData = { }
updateCartData.note = null
updateCartData.attributes = {"gktGiftMessage": ""}
await gkt.utility.updateCart(updateCartData)
// if(gkt.$(".gktGiftMessageTextArea")){
// gkt.$(".gktGiftMessageTextArea").val("")
// }
}else{
// if(gkt.$(".gktGiftMessageTextArea")){
// let updateCartData = { }
// updateCartData.note = gkt.$(".gktGiftMessageTextArea").val()
// await gkt.utility.updateCart(updateCartData)
// }
}
gkt.$(document).find('.gktGiftMessageTextArea').css("display", "block")
})
gkt.$(document).on("keyup ", ".gktGiftMessageTextArea", ((event)=>{gkt.gktMessage.action.onGiftMessageTextAreakeyup(event,settings, parent)}))
return gktGiftMessageContainer
},
insertIntoProductPageWrapper: function (settings, giftMessageHTML) {
gkt.elements.productPageWrapperV2.find(".gktGiftMessageWrapper").css("display", "block")
gkt.elements.productPageWrapperV2.find(".gktGiftMessageWrapper").append(giftMessageHTML);
},
insertIntoCartPageWrapper: function (settings, giftMessageHTML) {
gkt.elements.cartPageWrapperV2.find(".gktCartGiftMessageWrapper").css("display", "block")
gkt.elements.cartPageWrapperV2.find(".gktCartGiftMessageWrapper").append(giftMessageHTML);
},
},
action: {
onGiftMessageTextAreakeyup: function (event,settings, parent){
let giftMessageValue = event.target.value
let updateCartData = { }
updateCartData.note = giftMessageValue
updateCartData.attributes = {"gktGiftMessage": giftMessageValue}
if(gkt.state.timer){
clearTimeout(gkt.state.timer);
gkt.state.timer = undefined
}
gkt.state.timer = setTimeout(()=>{
gkt.utility.updateCart(updateCartData).then((data) => {
console.log("gift message updated")
})
},1000)
// gkt.utility.updateCart(updateCartData).then((data) => {
// // console.log("gift message updated")
// })
}
}
},
gktVideoMsg: {
init: function (settings, parent) {
gkt.gktVideoMsg.initialize(settings, parent)
},
state: {
elements: {},
uploadedVideoId: null,
recordingTimeMS: 60000,
recordingTime: "1:00",
recordedBlob: "",
mediaRecorder: null,
interval: undefined
},
initialize: function (settings, parent) {
let productHandle = gkt.f.getProductPageHandle(settings)
console.log("videoMesageInitialize");
if(gkt.settings.videoMessage.isVideoMessagingEnabled){
gkt.gktVideoMsg.f.registerEvents()
gkt.gktVideoMsg.f.prepareVideoMsgPlayer()
// // let oneClickUpsellProductPageHTML = gkt.gktOneClickUpsell.f.prepareUI(settings, variantListToBeShownOnProductPage, parent)
// let giftMessageProductPageHTML = gkt.gktMessage.f.prepareUI(settings, productHandle, parent)
// gkt.gktMessage.f.insertIntoProductPageWrapper(settings, giftMessageProductPageHTML)
// gkt.utility.overWriteBuyNowBtn()
// gkt.state.isOverWriteBuyNowBtnTriggered = true
}
},
f:{
registerEvents: function () {
gkt.$(document).on("click", ".gktVideoMsgButton", gkt.gktVideoMsg.actions.gktVideoMsgButton)
},
prepareVideoMsgPlayer: function () {
let gktVideoMsgPlayerWrapper = gkt.$("<div>").addClass("gktVideoMsgPlayerWrapper");
let gktRecorder = gkt.$("<div>").addClass("gktRecorder")
console.log("prepareVideoMsgPlayer");
let gktRecorderCloseBtn = gkt.$("<button>").addClass("gktRecorderCloseBtn").on("click", function (e) { gkt.gktVideoMsg.f.clickClose(e) })
let gktRecorderCloseBtnImg = gkt.$("<img>").attr("src", "https://db07ji0eqime4.cloudfront.net/public/videoMessage/close-video.svg")
gktRecorderCloseBtn.append(gktRecorderCloseBtnImg)
let gktRecord = gkt.$("<div>").addClass("gktRecord")
let gktVideoPlayer = gkt.$("<video>").addClass("gktVideoPlayer")
.attr("autoplay", true)
.prop("muted", true)
.attr("poster", "https://db07ji0eqime4.cloudfront.net/public/videoMessage/free-video.jpg")
let gktPermissionDenied = gkt.$("<div>").addClass("gktPermissionDenied gktVideoPlayerHide").text( gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.permissionDenied))
let gktVideoPlayerStatus = gkt.$("<div>").addClass("gktVideoPlayerStatus").html( gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.pressToRecord))
//let gktVideoPlayerEmptyPTag = gkt.$("<p>");
let gktVideoPlayerStartBtn = gkt.$("<button>").addClass("gktVideoPlayerStartBtn").on("click", function (e) { gkt.gktVideoMsg.f.clickStart(e) })
let gktVideoPlayerRedDot = gkt.$("<div><p></p></div>").addClass("gktVideoPlayerRedDot")
//gktVideoPlayerRedDot.append(gktVideoPlayerEmptyPTag);
gktVideoPlayerStartBtn.append(gktVideoPlayerRedDot)
let gktVideoPlayerStopBtn = gkt.$("<button>").addClass("gktVideoPlayerStopBtn").on("click", function (e) { gkt.gktVideoMsg.f.clickStop(e) })
let gktVideoPlayerRedSquare = gkt.$("<div><p></p></div>").addClass("gktVideoPlayerRedSquare")
//gktVideoPlayerRedSquare.append(gktVideoPlayerEmptyPTag);
gktVideoPlayerStopBtn.append(gktVideoPlayerRedSquare)
let gktVideoPlayerTimeLeft = gkt.$("<div>").addClass("gktVideoPlayerTimeLeft gktVideoPlayerHide")
gktRecord.append(gktVideoPlayer)
gktRecord.append(gktPermissionDenied)
gktRecord.append(gktVideoPlayerStatus)
gktRecord.append(gktVideoPlayerStartBtn)
gktRecord.append(gktVideoPlayerStopBtn)
gktRecord.append(gktVideoPlayerTimeLeft)
let gktRecorded = gkt.$("<div>").addClass("gktRecorded")
let gktVideoPlayerRecording = gkt.$("<video>").addClass("gktVideoPlayerRecording")
.attr("preload", "none")
.attr("poster", "https://db07ji0eqime4.cloudfront.net/public/videoMessage/free-video.jpg")
let gktLoadingHeading = gkt.$("<div>").addClass("gktLoadingHeading gktVideoPlayerHide").html(gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.loading))
let gktUploadingVideoHeading = gkt.$("<div>").addClass("gktUploadingVideoHeading gktVideoPlayerHide").html( gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.uploading))
let gktVideoPlayerControls = gkt.$("<div>").addClass("gktVideoPlayerControls")
let gktVideoPlayerControlsAcceptBtnDiv = gkt.$("<div>").addClass("gktVideoPlayerControlsAcceptBtnDiv");
let gktVideoPlayerControlsAcceptBtnDivInfo = gkt.$("<p>").addClass("gktVideoPlayerControlsBtnDivInfo").html(gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.startUploadText));
gktVideoPlayerControlsAcceptBtnDiv.append(gktVideoPlayerControlsAcceptBtnDivInfo);
let gktVideoPlayerControlsAcceptBtn = gkt.$("<button>").addClass("gktVideoPlayerControlsAcceptBtn").on("click", function (e) { gkt.gktVideoMsg.f.clickAccept(e) })
let gktVideoPlayerControlsAcceptBtnImg = gkt.$("<img>").addClass("gktVideoPlayerControlsAcceptBtnImg")
.attr("src", "https://db07ji0eqime4.cloudfront.net/public/videoMessage/confirm-video.png")
gktVideoPlayerControlsAcceptBtn.append(gktVideoPlayerControlsAcceptBtnImg)
gktVideoPlayerControlsAcceptBtnDiv.append(gktVideoPlayerControlsAcceptBtn);
let gktVideoPlayerControlsPlayBtnDiv = gkt.$("<div>").addClass("gktVideoPlayerControlsPlayBtnDiv");
let gktVideoPlayerControlsPlayBtnDivInfo = gkt.$("<p>").addClass("gktVideoPlayerControlsBtnDivInfo").html(gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.playText));
gktVideoPlayerControlsPlayBtnDiv.append(gktVideoPlayerControlsPlayBtnDivInfo);
let gktVideoPlayerControlsPlayBtn = gkt.$("<button>").addClass("gktVideoPlayerControlsPlayBtn").on("click", function (e) { gkt.gktVideoMsg.f.clickPlay(e) })
let gktVideoPlayerControlsPlayBtnImg = gkt.$("<img>").addClass("gktVideoPlayerControlsPlayBtnImg")
.attr("src", "https://db07ji0eqime4.cloudfront.net/public/videoMessage/play-video.png")
gktVideoPlayerControlsPlayBtn.append(gktVideoPlayerControlsPlayBtnImg)
gktVideoPlayerControlsPlayBtnDiv.append(gktVideoPlayerControlsPlayBtn);
let gktVideoPlayerControlsReStartBtnDiv = gkt.$("<div>").addClass("gktVideoPlayerControlsReStartBtnDiv");
let gktVideoPlayerControlsReStartBtnDivInfo = gkt.$("<p>").addClass("gktVideoPlayerControlsBtnDivInfo").html(gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.reRecordVideoText));
gktVideoPlayerControlsReStartBtnDiv.append(gktVideoPlayerControlsReStartBtnDivInfo);
let gktVideoPlayerControlsReStartBtn = gkt.$("<button>").addClass("gktVideoPlayerControlsReStartBtn").on("click", function (e) { gkt.gktVideoMsg.f.clickReStart(e) })
let gktVideoPlayerControlsReStartBtnImg = gkt.$("<img>").addClass("gktVideoPlayerControlsReStartBtnImg")
.attr("src", "https://db07ji0eqime4.cloudfront.net/public/videoMessage/redo-video.png")
gktVideoPlayerControlsReStartBtn.append(gktVideoPlayerControlsReStartBtnImg)
gktVideoPlayerControlsReStartBtnDiv.append(gktVideoPlayerControlsReStartBtn);
gktVideoPlayerControls.append(gktVideoPlayerControlsReStartBtnDiv)
gktVideoPlayerControls.append(gktVideoPlayerControlsPlayBtnDiv)
gktVideoPlayerControls.append(gktVideoPlayerControlsAcceptBtnDiv)
gktRecorded.append(gktVideoPlayerRecording)
gktRecorded.append(gktLoadingHeading)
gktRecorded.append(gktUploadingVideoHeading)
gktRecorded.append(gktVideoPlayerControls)
gktRecorder.append(gktRecorderCloseBtn)
gktRecorder.append(gktRecord)
gktRecorder.append(gktRecorded)
if(gkt.$(".gktVideoMsgPlayerWrapper").length > 0){
gkt.$(".gktVideoMsgPlayerWrapper").remove();
}
if(gkt.$(".gktRecorder").length > 0){
gkt.$(".gktRecorder").remove();
}
gkt.$(".gktGiftCardMessageContent").append(gktVideoMsgPlayerWrapper);
gkt.$(".gktVideoMsgPlayerWrapper").append(gktRecorder)
gkt.gktVideoMsg.state.elements.gktRecorder = gktRecorder
gkt.gktVideoMsg.state.elements.gktRecord = gktRecord
gkt.gktVideoMsg.state.elements.gktRecorded = gktRecorded
gkt.gktVideoMsg.state.elements.gktVideoPlayer = gktVideoPlayer
gkt.gktVideoMsg.state.elements.gktVideoPlayerStartBtn = gktVideoPlayerStartBtn
gkt.gktVideoMsg.state.elements.gktVideoPlayerStopBtn = gktVideoPlayerStopBtn
gkt.gktVideoMsg.state.elements.gktVideoPlayerControlsReStartBtn = gktVideoPlayerControlsReStartBtn
gkt.gktVideoMsg.state.elements.gktVideoPlayerControlsPlayBtn = gktVideoPlayerControlsPlayBtn
gkt.gktVideoMsg.state.elements.gktVideoPlayerRecording = gktVideoPlayerRecording
gkt.gktVideoMsg.state.elements.gktRecorderCloseBtn = gktRecorderCloseBtn
gkt.gktVideoMsg.state.elements.gktVideoPlayerControlsAcceptBtn = gktVideoPlayerControlsAcceptBtn
gkt.gktVideoMsg.state.elements.gktVideoPlayerControls = gktVideoPlayerControls
gkt.gktVideoMsg.state.elements.gktLoadingHeading = gktLoadingHeading
gkt.gktVideoMsg.state.elements.gktVideoPlayerTimeLeft = gktVideoPlayerTimeLeft
gkt.gktVideoMsg.state.elements.gktVideoPlayerStatus = gktVideoPlayerStatus
gkt.gktVideoMsg.state.elements.gktPermissionDenied = gktPermissionDenied
gkt.gktVideoMsg.state.elements.gktUploadingVideoHeading = gktUploadingVideoHeading
},
createRecorder: function() {
gkt.gktVideoMsg.state.elements.gktRecorder.removeClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktRecord.removeClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerStartBtn.removeClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerStatus.removeClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktPermissionDenied.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktRecorded.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerStopBtn.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerControls.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerTimeLeft.html(gkt.gktVideoMsg.state.recordingTime);
gkt.gktVideoMsg.state.elements.gktVideoPlayerStatus.html(gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.pressToRecord));
gkt.gktVideoMsg.state.recordingTime = "1:00";
gkt.gktVideoMsg.state.elements.gktUploadingVideoHeading.html(gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.uploading));
navigator.mediaDevices
.getUserMedia({
audio: true,
video: true,
})
.then((stream) => {
gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].srcObject = stream;
})
.catch((error) => {
console.log("navigator", error)
console.log(error);
gkt.gktVideoMsg.state.elements.gktVideoPlayerStartBtn.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerStatus.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktPermissionDenied.removeClass("gktVideoPlayerHide");
});
},
clickClose: function(e){
e.preventDefault();
gkt.$('.gktVideoMsgPlayerWrapper').css('display', 'none')
// gkt.gktVideoMsg.state.elements.gktRecorder.addClass("gktVideoPlayerHide");
if(gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].srcObject){
gkt.gktVideoMsg.f.stopRecording(gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].srcObject);
}
gkt.gktVideoMsg.f.revokeObjectUrl();
},
stopRecording: function (stream) {
if(gkt.gktVideoMsg.state.interval) {
clearInterval(gkt.gktVideoMsg.state.interval);
}
if(gkt.gktVideoMsg.state.mediaRecorder && gkt.gktVideoMsg.state.mediaRecorder.state !== "inactive") {
gkt.gktVideoMsg.state.mediaRecorder.stop();
}
stream.getTracks().forEach(function (track) {
if (track.readyState == "live") {
console.log("hello - stop");
track.stop();
}
})
},
clearTracks: function (stream) {
stream.getTracks().forEach(function (track) {
if (track.readyState == "live") {
console.log("hello - stop");
track.stop();
}
})
},
revokeObjectUrl: function () {
URL.revokeObjectURL(gkt.gktVideoMsg.state.elements.gktVideoPlayerRecording.src);
},
clickStart: function async (e){
e.preventDefault();
gkt.gktVideoMsg.state.elements.gktVideoPlayerStartBtn.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktRecorderCloseBtn.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerStopBtn.removeClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerTimeLeft.removeClass("gktVideoPlayerHide");
// the below field for the text
//hide the toggle
//gktVideoMsgCheckboxWrapper
gkt.gktVideoMsg.f.clearTracks(gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].srcObject);
gkt.gktVideoMsg.state.elements.gktVideoPlayerStatus.html(gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.recording));
navigator.mediaDevices
.getUserMedia({
video: true,
audio: true,
})
.then((stream) => {
console.log("1 - navigator");
gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].srcObject = stream;
// gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].captureStream = gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].captureStream || gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].mozCaptureStream ;
// use HTMLCanvasElement.captureStream()
// gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].captureStream = gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].captureStream || gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].mozCaptureStream ;
return new Promise((resolve) => (
gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].onplaying = resolve
));
})
.then(() => {
console.log("2 - onplaying");
return gkt.gktVideoMsg.f.startRecording(e, gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].srcObject)
})
.then((recordedChunks) => {
console.log("3 - startRecording");
console.log(recordedChunks);
gkt.gktVideoMsg.state.elements.gktVideoPlayerControls.removeClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktUploadingVideoHeading.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktLoadingHeading.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.recordedBlob = new Blob(recordedChunks, { type: "video/mp4" });
gkt.gktVideoMsg.state.elements.gktVideoPlayerRecording.attr("src",URL.createObjectURL(gkt.gktVideoMsg.state.recordedBlob));
gkt.gktVideoMsg.state.elements.gktVideoPlayerRecording[0].load();
})
.catch(
(error) =>
console.log(error)
);
},
startRecording: function (e, stream) {
return new Promise ((resolve, reject) => {
let mediaRecorder = new MediaRecorder(stream);
gkt.gktVideoMsg.state.mediaRecorder = mediaRecorder;
let parts = [];
mediaRecorder.ondataavailable = (event) => {
parts.push(event.data);
};
mediaRecorder.start(1000);
mediaRecorder.onerror = (event) => reject(event.name);
gkt.gktVideoMsg.f.wait(mediaRecorder);
mediaRecorder.onstop = function(){
console.log("mediaRecorder.onstop() func called");
resolve(parts);
}
})
},
clickStop: function (e) {
e.preventDefault();
gkt.gktVideoMsg.state.elements.gktRecord.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktRecorded.removeClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerControls.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerTimeLeft.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerStatus.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktRecorderCloseBtn.removeClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktLoadingHeading.removeClass("gktVideoPlayerHide");
gkt.gktVideoMsg.f.stopRecording(gkt.gktVideoMsg.state.elements.gktVideoPlayer[0].srcObject);
},
covertBlobToBase64: async function (recordedBlob){
const reader = new FileReader();
reader.readAsDataURL(recordedBlob);
reader.onloadend = function () {
var arrayBuffer = reader.result;
console.log(arrayBuffer);
var formData = new FormData();
// gkt.settings.SERVER_URL = "https://dev.api.giftkart.app"
formData.append("upload_data", recordedBlob, "video.txt");
formData.append("shopName", gkt.settings.merchantInfo.shopName);
console.time('Video upload Time');
fetch(gkt.settings.SERVER_URL+"/api/proxy/upload/video?shopName="+gkt.settings.merchantInfo.shopName,{
method: 'POST',
body: formData
}).then(
response => response.json() // if the response is a JSON object
).then(
success => {
if(success.responseCode == 200){
gkt.gktVideoMsg.state.uploadedVideoId = success.data.videoMsgId;
console.log(success) // Handle the success response object
console.timeEnd('Video upload Time');
gkt.gktVideoMsg.state.elements.gktUploadingVideoHeading.html(gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.uploadConfirmation));
gkt.$('.gktVideoMsgPlayerWrapper').css('display', 'grid')
// Show feedback that it got uploaded
// gkt.gktVideoMsg.state.elements.gktRecorder.addClass("gktVideoPlayerHide");
}
/*
* @Abhishek, the below if else condition is added to handle the
* condition where the api fails in sending over responseCode 200.
*/
else{
console.log(success) // Handle the error response object
gkt.gktVideoMsg.state.elements.gktUploadingVideoHeading.html(gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.errorMessage));
}
}
).catch(
error => {
console.log(error) // Handle the error response object
gkt.gktVideoMsg.state.elements.gktUploadingVideoHeading.html(gkt.utility.renderLanguageValue(gkt.settings.languageData.videoMessage.errorMessage));
}
);
}
},
clickAccept: function(e) {
e.preventDefault();
gkt.gktVideoMsg.state.elements.gktVideoPlayerControls.addClass("gktVideoPlayerHide")
gkt.gktVideoMsg.state.elements.gktUploadingVideoHeading.removeClass("gktVideoPlayerHide")
gkt.gktVideoMsg.f.covertBlobToBase64(gkt.gktVideoMsg.state.recordedBlob);
},
wait: function(mediaRecorder){
var now = new Date().getTime();
var deadline = new Date(now + gkt.gktVideoMsg.state.recordingTimeMS).getTime();
var interval = setInterval(() => {
now = new Date().getTime();
var t = deadline - now;
console.log(t);
var minutes = Math.floor((t % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((t % (1000 * 60)) / 1000);
if (t < 0) {
gkt.$('.gktVideoPlayerStopBtn').click();
}
gkt.gktVideoMsg.state.elements.gktVideoPlayerTimeLeft.html(minutes + " : " + seconds)
}, 1000);
gkt.gktVideoMsg.state.interval = interval;
},
clickReStart: function (e) {
e.preventDefault();
if(gkt.utility.isMobileView()){
// gktVideoMessageFileInput.click();
// find this class in the document and trigger a click
gkt.gktVideoMsg.f.revokeObjectUrl()
gkt.$('.gktVideoMessageFileInput').click();
}else{
gkt.gktVideoMsg.f.revokeObjectUrl()
gkt.gktVideoMsg.f.createRecorder();
}
},
clickPlay: async function(e) {
e.preventDefault();
try {
gkt.gktVideoMsg.state.elements.gktVideoPlayerControls.addClass("gktVideoPlayerHide");
gkt.gktVideoMsg.state.elements.gktVideoPlayerRecording[0].play();
let isEnded = new Promise((resolve, reject) => {
gkt.gktVideoMsg.state.elements.gktVideoPlayerRecording[0].onended = resolve;
});
await isEnded;
gkt.gktVideoMsg.state.elements.gktVideoPlayerRecording[0].load();
gkt.gktVideoMsg.state.elements.gktVideoPlayerControls.removeClass("gktVideoPlayerHide");
} catch (error) {
console.log(error)
}
},
scrollToVideoDiv: function() {
// gkt.$(".gktGiftCardMessageContent").animate({scrollTop: 9999},1000);
gkt.$(".gktGiftCardMessageContent").animate({scrollTop: 200},2000, 'swing');
},
},
actions: {
gktVideoMsgButton: function(e){
e.preventDefault()
gkt.$('.gktVideoMsgPlayerWrapper').css('display', 'grid')
gkt.gktVideoMsg.f.createRecorder()
gkt.gktVideoMsg.f.scrollToVideoDiv()
},
},
events: {
},
},
gktFreeGiftCardPopup:{
init:function(settings,parent){
// gkt.gktFreeGiftCardPopup.initialize(settings,parent)
},
state:{
gktFreeGiftcardName:null,
gktFreeGiftcardEmail:null,
gktFreeGiftcardMessage:null,
},
initialize: async function(settings,parent){
// let productHandle = gkt.f.getProductPageHandle(settings)
// gkt.gktFreeGiftCardPopup.f.showGiftCard(settings,parent)
},
f:{
addFreeGiftcardProduct: async function(){
gkt.state.freeGiftcardVariantId = undefined
let currencySymbol = gkt.settings.merchantInfo?.currencyInfo?.symbol ? gkt.settings.merchantInfo.currencyInfo.symbol : ""
if(gkt.settings.rewardCampaigns.campaignData.freeGiftcardProduct[0] &&
gkt.settings.rewardCampaigns.campaignData.freeGiftcardProduct[0].variants &&
gkt.settings.rewardCampaigns.campaignData.freeGiftcardProduct[0].variants.length > 0 &&
gkt.settings.rewardCampaigns.campaignData.freeGiftcardProduct[0].variants[0].variantId){
gkt.state.freeGiftcardVariantId = gkt.settings.rewardCampaigns.campaignData.freeGiftcardProduct[0].variants[0].variantId
}
if(gkt.state.freeGiftcardVariantId){
gkt.state.cartData = await gkt.utility.getCart()
let item = gkt.utility.checkIfItemPresentInCart(gkt.state.freeGiftcardVariantId)
let cartValue = 0
if(gkt.state.cartData && gkt.state.cartData.total_price && ((gkt.state.cartData.total_price)/100)){
cartValue = (gkt.state.cartData.total_price)/100
}
let freeGiftcardValue = gkt.gktFreeGiftCardPopup.f.getFreeGiftcardValue(cartValue, gkt.settings.rewardCampaigns.campaignData)
let isProductConditionMet = gkt.gktFreeGiftCardPopup.f.isFreeGiftcardProductConditionMet(gkt.state.cartData, gkt.settings.rewardCampaigns.campaignData);
// let isCustomerTagsConditionMet = gkt.gktFreeGiftCardPopup.f.isCustomerTagsConditionMet(gkt.settings.customer, gkt.settings.rewardCampaigns.campaignData);
// if product conditions not met set free giftcard value to 0
if(!isProductConditionMet){
freeGiftcardValue = false
}
// remove giftcard from cart if freeGiftcardValue is zero
if(freeGiftcardValue == false && item){
await gkt.utility.updateCart({ updates: { [item.id]: 0 }})
return
}
if(cartValue && freeGiftcardValue){
let itemObj = {"items": [
{
"id": gkt.state.freeGiftcardVariantId,
"quantity": 1,
"properties": {
"Reward Value": freeGiftcardValue
}
}
]}
if(gkt.settings.rewardCampaigns.campaignData.giftcardMessageNote && gkt.settings.rewardCampaigns.campaignData.giftcardMessageNote != ""){
itemObj.items[0].properties["Message"] = gkt.settings.rewardCampaigns.campaignData.giftcardMessageNote
}
if(!item){
let resAddToCart = await gkt.utility.addToCartV2(itemObj)
document.documentElement.dispatchEvent( new CustomEvent("cart:refresh", {bubbles: true}));
}else{
let rewardValue = freeGiftcardValue
if(item && item.properties && item.properties["Reward Value"] && item.properties["Reward Value"] != rewardValue){
await gkt.utility.updateCart({ updates: { [item.id]: 0 }})
let resAddToCart = await gkt.utility.addToCartV2(itemObj)
document.documentElement.dispatchEvent( new CustomEvent("cart:refresh", {bubbles: true}));
}
}
}
}
},
calculateFreeGiftCardValue: function(freeGiftcardValue, cartTotalPrice, freeGiftcardPopupData) {
try {
if(!freeGiftcardPopupData?.rewardMode || freeGiftcardPopupData.rewardMode == "FIXED") {
let currencySymbol = gkt.settings.merchantInfo?.currencyInfo?.symbol ? gkt.settings.merchantInfo.currencyInfo.symbol : ""
return currencySymbol + "" + freeGiftcardValue;
} else {
// let calculatedFreeGiftCardValue = (cartTotalPrice/100) * parseFloat(freeGiftcardValue); // % of cartTotalWithoutDiscount;
// calculatedFreeGiftCardValue = parseFloat(parseFloat(calculatedFreeGiftCardValue).toFixed(2))
return freeGiftcardValue + "" + "%";
}
} catch(err) {
console.log(err);
}
},
getFreeGiftcardValue: function (cartTotalPrice, freeGiftcardPopupData){
try {
let resValue = false
let activeCurrencyRate = gkt.utility.getActiveCurrencyRate();
if(freeGiftcardPopupData?.rules?.length && freeGiftcardPopupData?.rules?.length > 0){
for(let i = 0; i < freeGiftcardPopupData.rules.length; i++){
let rule = freeGiftcardPopupData.rules[i]
let cartValue = parseFloat(rule.cartValue * activeCurrencyRate).toFixed(2)
let freeGiftcardValue = rule.freeGiftcardValue
if(parseFloat(cartTotalPrice) >= parseFloat(cartValue) && parseFloat(freeGiftcardValue) > 0){
resValue = gkt.gktFreeGiftCardPopup.f.calculateFreeGiftCardValue(freeGiftcardValue, cartTotalPrice, freeGiftcardPopupData)
}
}
}
return resValue
} catch (error) {
console.log(error);
return false
}
},
isFreeGiftcardProductConditionMet: function (orderData, freeGiftcardPopupData) {
try {
let orderDataProducts = orderData.items.map(item => item.product_id)
let validProductSet = new Set()
let excludeProductSet = new Set()
if(freeGiftcardPopupData?.products?.length && freeGiftcardPopupData?.products?.length > 0){
for(let i = 0; i < freeGiftcardPopupData.products.length; i++){
let product = freeGiftcardPopupData.products[i]
validProductSet.add(parseInt(product.productId))
}
}
if(freeGiftcardPopupData?.collectionsData?.length && freeGiftcardPopupData?.collectionsData?.length > 0){
for(let i = 0; i < freeGiftcardPopupData.collectionsData.length; i++){
let collectionProducts = freeGiftcardPopupData.collectionsData[i].productList
if(collectionProducts?.length && collectionProducts?.length > 0){
collectionProducts.forEach(product => {
validProductSet.add(product.productId)
})
}
}
}
if(freeGiftcardPopupData?.excludeProducts?.length && freeGiftcardPopupData?.excludeProducts?.length > 0){
for(let i = 0; i < freeGiftcardPopupData.excludeProducts.length; i++){
let product = freeGiftcardPopupData.excludeProducts[i]
excludeProductSet.add(parseInt(product.productId))
}
}
if(validProductSet.size == 0 && excludeProductSet.size == 0){
return true
}
for(let i = 0; i < orderDataProducts.length; i++){
let product = orderDataProducts[i]
if(excludeProductSet.has(product)){
return false
}
if(validProductSet.has(product)){
return true
}
}
if(validProductSet.size == 0 ){
return true
}else{
return false
}
} catch (error) {
console.log(error);
return false
}
},
registerEvents: function(){
gkt.$(document).on("click", ".gktFreeGiftcardPopupModalClose", gkt.gktFreeGiftCardPopup.action.onModalClose)
},
},
action:{
onModalClose: function(){
gkt.$(".gktFreeGiftcardPopupModalWrapper").css("display", "none")
},
}
},
gktNotification:{
init: function(){
gkt.gktNotification.f.addNotificationWrapperToDOM()
gkt.gktNotification.initialize()
},
state: {
gktNotification: null,
gktNotificationType: null,
gktNotificationMessage: null,
gktNotificationDuration: null,
gktNotificationPosition: null,
},
initialize: function(){
// notification examples
// gkt.gktNotification.f.addNotificationItemType1("addNotificationItem-1","If your cart value is greater than 40$ you will get 10$ Free Gift Card.", 100)
// gkt.gktNotification.f.addNotificationItemType1("addNotificationItem-2", "mayy")
// gkt.gktNotification.f.addNotificationItemType1("addNotificationItem-3")
},
f: {
addNotificationWrapperToDOM: function(){
if(gkt.$('.gktNotificationWrapper').length == 0){
let gktNotificationWrapper = gkt.$("<div>").addClass("gktNotificationWrapper")
gkt.$("body").append(gktNotificationWrapper)
}
},
addNotificationItemType1: function(itemHeading="",itemHeadingSubText="", closeAfterSec=10){
if(itemHeading == "" && itemHeadingSubText == "" ){
return
}
let gktNotificationWrapper = gkt.$(".gktNotificationWrapper")
let gktNotificationItem = gkt.$("<div>").addClass("gktNotificationItem")
let gktNotificationItemContent2 = gkt.$("<div>").addClass("gktNotificationItemContent2").html('<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="24px" height="24px"><path d="M 16 3 C 8.832031 3 3 8.832031 3 16 C 3 23.167969 8.832031 29 16 29 C 23.167969 29 29 23.167969 29 16 C 29 8.832031 23.167969 3 16 3 Z M 16 5 C 22.085938 5 27 9.914063 27 16 C 27 22.085938 22.085938 27 16 27 C 9.914063 27 5 22.085938 5 16 C 5 9.914063 9.914063 5 16 5 Z M 15 10 L 15 12 L 17 12 L 17 10 Z M 15 14 L 15 22 L 17 22 L 17 14 Z"/></svg>')
let gktNotificationItemContent3 = gkt.$("<div>").addClass("gktNotificationItemContent3")
let gktNotificationItemContent3Heading = gkt.$("<div>").addClass("gktNotificationItemContent3Heading").html(itemHeading)
let gktNotificationItemContent3SubText = gkt.$("<div>").addClass("gktNotificationItemContent3SubText").html(itemHeadingSubText)
gktNotificationItemContent3.append(gktNotificationItemContent3Heading)
gktNotificationItemContent3.append(gktNotificationItemContent3SubText)
let gktNotificationItemContent4 = gkt.$("<div>").addClass("gktNotificationItemContent4").html('<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="12px" height="12px" viewBox="0 0 122.878 122.88" enable-background="new 0 0 122.878 122.88" xml:space="preserve"><g><path fill=#575050 d="M1.426,8.313c-1.901-1.901-1.901-4.984,0-6.886c1.901-1.902,4.984-1.902,6.886,0l53.127,53.127l53.127-53.127 c1.901-1.902,4.984-1.902,6.887,0c1.901,1.901,1.901,4.985,0,6.886L68.324,61.439l53.128,53.128c1.901,1.901,1.901,4.984,0,6.886 c-1.902,1.902-4.985,1.902-6.887,0L61.438,68.326L8.312,121.453c-1.901,1.902-4.984,1.902-6.886,0 c-1.901-1.901-1.901-4.984,0-6.886l53.127-53.128L1.426,8.313L1.426,8.313z"/></g></svg>')
gktNotificationItemContent4.on("click", function (event) {
gktNotificationItem.css("transform","translateX(300px)")
setTimeout(()=>{gktNotificationItem.remove()},1000)
})
setTimeout(function(){
console.log("gktNotificationItem", gktNotificationItem)
if(gktNotificationItem){
gktNotificationItem.css("transform","translateX(300px)")
setTimeout(()=>{gktNotificationItem.remove()},1000)
}
},closeAfterSec*1000)
gktNotificationItem.append(gktNotificationItemContent2)
gktNotificationItem.append(gktNotificationItemContent3)
gktNotificationItem.append(gktNotificationItemContent4)
gktNotificationWrapper.css("display", "block")
gktNotificationWrapper.append(gktNotificationItem)
//slide in the notification
setTimeout(()=>{
gktNotificationItem.css("transform","translateX(0px)")
},100)
return gktNotificationItem
},
removeNotificationFromDOM: function(){
setTimeout(()=>{
gkt.$(".gktNotification").remove()
}, gkt.gktNotification.state.gktNotificationDuration)
}
}
}
}
window.gkt = gkt;
/*
* start the program
*/
gktUtils.f.loadJquery(function (jqueryRefObj) {
gkt.$ = jqueryRefObj;
gkt.$(document).ready(function () {
console.log("document ready", gkt.$);
gkt.f.initialize(gkt.$);
})
})
</script>
<div id="shopify-block-AWFNNenlBR2N5d2ZuU__12657775114333427046" class="shopify-block shopify-app-block"><script>
window.essentialCountdownTimerConfigs = [{"id":"cm3roj3ml38668519viktg55syg","name":"BFCM2024","title":"Hurry! Sale ends in","customTitle":"","endDate":"2024-12-03T07:59:00.000Z","startDate":"2024-11-27T20:47:00.000Z","subheading":"","fixedMinutes":"120","repeat":false,"timerType":"toDate","type":"top-bar","published":true,"timerPlacement":"on-collections","showOnProducts":[],"showOnCollections":[{"id":"gid://shopify/Collection/395173527797","title":"Bundles","handle":"bundles"},{"id":"gid://shopify/Collection/394424418549","title":"Home page","handle":"frontpage"},{"id":"gid://shopify/Collection/395146854645","title":"Leo’s Loo Too","handle":"leo-s-loo-too"},{"id":"gid://shopify/Collection/404413055221","title":"Shop Now","handle":"shop"}],"legendCopyDays":"Days","legendCopyHours":"Hrs","legendCopyMins":"Mins","legendCopySecs":"Secs","CTAType":"clickable","CTALink":"https://casaleopet.com/collections/shop","closeButton":true,"buttonText":"Shop now!","updatedAt":"2024-11-27T20:47:47.987Z","createdAt":"2024-11-21T19:02:05.892Z","onceItEnds":"hide","style":{"font":"","position":"bottom-page","timerSize":"22","titleSize":"18","borderSize":"1","buttonText":"Shop now!","legendSize":"10","timerColor":"#000000","titleColor":"#000000","borderColor":"#d0dde4","gradientEnd":"#dfff64","legendColor":"#6c6c6c","singleColor":"#A7FF64","borderRadius":"8","gradientTurn":"90","gradientStart":"#A7FF64","backgroundType":"singleBackground","buttonFontSize":"14","closeIconColor":"#9BA4B4","legendCopyDays":"Days","legendCopyMins":"Mins","legendCopySecs":"Secs","subheadingSize":"14","buttonFontColor":"#FFFFFF","legendCopyHours":"Hrs","subheadingColor":"#000000","buttonBorderRadius":"4","buttonBackgroundColor":"#14274E"},"recurringDays":[],"startType":"today","endType":"never","productTags":[],"showInCountries":[],"locationType":"","translations":[],"showOnProductsInCollections":[],"duration":472270181}];
const essentialCollectionId = null;
window.essentialCountdownTimerMeta = {
productData: null,
productCollections: null,
};
window.essentialProductTags = null
</script>
</div></body>
</html>