PageSourceSearch

https://imanisoko.com/cart

html imanisoko.com collected 2026-10-08 21:57:29 UTC 251,330 bytes, 3,612 lines download raw bytes

1<!doctype html>
2<html class="no-js" lang="en">
3  <head>
4<script src="https://sapi.negate.io/script/ScJ0tm5NfRKwHjkdASqYFA==?shop=887239-2.myshopify.com"></script>
4
5    <meta charset="utf-8"><style>
6  .star-rating-container {
7    display: flex;
8    align-items: center;
9    gap: 10px;
10    justify-content: center;
11  }
12  .star-rating {
13    display: flex;
14    gap: 4px;
15  }
16  .rating-info {
17    display: flex;
18    align-items: center;
19    gap: 5px;
20  }
21  div:has(.star-rating-container) { width: 100%; }
22  .star-rating-item { position: relative; }
23  .star-rating-item-displayed {
24    position: absolute;
25    top: 0;
26    right: 0;
27    bottom: 0;
28    left: 0;
29    overflow: hidden;
30    color: #e1ae01;
31  }
32  .rating-icon-svg {
33    width: 1rem;
34    height: 1rem;
35    max-width: inherit;
36  }
37</style><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
38    <meta name="viewport" content="width=device-width,initial-scale=1">
39    <meta name="theme-color" content="#557b97">
40    <meta name="p:domain_verify" content="cb8391adb1d0bc452a36789abdfdc76d" />
41    <meta name="facebook-domain-verification" content="jsagkbx10jyl3bzfxj82aeynlyuuez" />
42    <link rel="canonical" href="https://imanisoko.com/cart">
43
44    <link
45      rel="shortcut icon"
46      href="//cdn.shopify.com/s/files/1/2534/9108/files/imani-favicon-min.png"
47      type="image/png"><title>Your Shopping Cart
48&ndash; Imani Soko</title><!-- /snippets/social-meta-tags.liquid -->
49
50
51
52
53<meta property="og:site_name" content="Imani Soko">
54<meta property="og:url" content="https://imanisoko.com/cart">
55<meta property="og:title" content="Your Shopping Cart">
56<meta property="og:type" content="website">
57<meta property="og:description" content="Discover ethically crafted home decor, connecting you to Kenya's cultural tapestry. Shop with purpose at Imani Soko, by Imani Collective.">
58
59<meta property="og:image" content="http://imanisoko.com/cdn/shop/files/1_30738891-4602-4019-8ec0-76422e3e9121_1200x1200.jpg?v=1686586342">
60<meta property="og:image:secure_url" content="https://imanisoko.com/cdn/shop/files/1_30738891-4602-4019-8ec0-76422e3e9121_1200x1200.jpg?v=1686586342">
61
62
63<meta name="twitter:card" content="summary_large_image">
64<meta name="twitter:title" content="Your Shopping Cart">
65<meta name="twitter:description" content="Discover ethically crafted home decor, connecting you to Kenya's cultural tapestry. Shop with purpose at Imani Soko, by Imani Collective.">
66
67    
68      <link href="//imanisoko.com/cdn/shop/t/14/assets/theme.scss.css?v=125152593886394273841762951410" rel="stylesheet" type="text/css" media="all" />
69    
70    
71
72    <link href="//imanisoko.com/cdn/shop/t/14/assets/normalize.css?v=48445716682461949491686586909" rel="stylesheet" type="text/css" media="all" />
73
74    <link href="//imanisoko.com/cdn/shop/t/14/assets/components.css?v=179557793791202662441686586908" rel="stylesheet" type="text/css" media="all" />
75
76    <link rel="stylesheet" href="https://use.typekit.net/hvw5mba.css">
77    <link href="//imanisoko.com/cdn/shop/t/14/assets/fonts.css?v=68416784116076771331712651096" rel="stylesheet" type="text/css" media="all" />
78    
79    <link href="//imanisoko.com/cdn/shop/t/14/assets/imani-collective-v1.css?v=125138611141710854331717107775" rel="stylesheet" type="text/css" media="all" />
80    <link href="//imanisoko.com/cdn/shop/t/14/assets/imani-collective-custom.css?v=63088399745428303551717099838" rel="stylesheet" type="text/css" media="all" />
81    <link href="//imanisoko.com/cdn/shop/t/14/assets/jc-custom-header.css?v=173792114129885660061717099411" rel="stylesheet" type="text/css" media="all" />
82    <link href="//imanisoko.com/cdn/shop/t/14/assets/jc-custom-footer.css?v=163758629952872617121717098749" rel="stylesheet" type="text/css" media="all" />
83    
83<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
83
84
85    
85<script>
86      var theme = {
87        breakpoints: {
88          medium: 750,
89          large: 990,
90          widescreen: 1400
91        },
92        strings: {
93          addToCart: "Add to cart",
94          soldOut: "Sold out",
95          unavailable: "Unavailable",
96          regularPrice: "Regular price",
97          salePrice: "Sale price",
98          sale: "Sale",
99          showMore: "Show More",
100          showLess: "Show Less",
101          addressError: "Error looking up that address",
102          addressNoResults: "No results for that address",
103          addressQueryLimit: "You have exceeded the Google API usage limit. Consider upgrading to a \u003ca href=\"https:\/\/developers.google.com\/maps\/premium\/usage-limits\"\u003ePremium Plan\u003c\/a\u003e.",
104          authError: "There was a problem authenticating your Google Maps account.",
105          newWindow: "Opens in a new window.",
106          external: "Opens external website.",
107          newWindowExternal: "Opens external website in a new window.",
108          removeLabel: "Remove [product]",
109          update: "Update",
110          quantity: "Quantity",
111          discountedTotal: "Discounted total",
112          regularTotal: "Regular total",
113          priceColumn: "See Price column for discount details.",
114          quantityMinimumMessage: "Quantity must be 1 or more",
115          cartError: "There was an error while updating your cart. Please try again.",
116          removedItemMessage: "Removed \u003cspan class=\"cart__removed-product-details\"\u003e([quantity]) [link]\u003c\/span\u003e from your cart.",
117          unitPrice: "Unit price",
118          unitPriceSeparator: "per",
119          oneCartCount: "1 item",
120          otherCartCount: "[count] items",
121          quantityLabel: "Quantity: [count]"
122        },
123        moneyFormat: "KSh{{amount}}",
124        moneyFormatWithCurrency: "KSh{{amount}}"
125      }
126
127      document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
128    </script>
128<script src="//imanisoko.com/cdn/shop/t/14/assets/lazysizes.js?v=94224023136283657951686586909" async="async"></script>
128
129    
130    
130<script src="//imanisoko.com/cdn/shop/t/14/assets/theme.js?v=173615943244638367721686586911" defer="defer"></script>
130
131
132    
132<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" type="text/javascript"></script>
132
133    
134      
134<script
135        src="//imanisoko.com/cdn/shop/t/14/assets/imani-collective-custom.js?v=69694839066688887481686586908"
136        type="text/javascript"
137        defer="defer"></script>
137
138    
139    
139<script
140      src="//imanisoko.com/cdn/shop/t/14/assets/custom.js?v=125248696786508177981686586908"
141      type="text/javascript"
142      defer="defer"></script>
142
143    <!-- [if lte IE 9]>
143<script src="https://cdnjs.cloudflare.com/ajax/libs/placeholders/3.0.2/placeholders.min.js"></script>
143<![endif] -->
144
145    
145<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
145<meta name="google-site-verification" content="OhYBNr5qu_9lCOl374hMgzmSU_JLnPapGToUS9J-noc">
146<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/77325009205/digital_wallets/dialog">
147<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
147<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
vendor: 1 bytes, line 147
147
148<script id="shopify-features" type="application/json">{"accessToken":"e9f48098d08e0a4729f5dbcf67c6fd24","betas":["rich-media-storefront-analytics"],"domain":"imanisoko.com","predictiveSearch":true,"shopId":77325009205,"locale":"en"}</script>
vendor: 1 bytes, line 148
148
149<script>var Shopify = Shopify || {};
150Shopify.shop = "887239-2.myshopify.com";
151Shopify.locale = "en";
152Shopify.currency = {"active":"KES","rate":"1.0"};
153Shopify.country = "US";
154Shopify.theme = {"name":"Imani Website Redesign - Sidekick Custom - 2023","id":152339808565,"schema_name":"Debut","schema_version":"13.4.1","theme_store_id":null,"role":"main"};
155Shopify.theme.handle = "null";
156Shopify.theme.style = {"id":null,"handle":null};
157Shopify.cdnHost = "imanisoko.com/cdn";
158Shopify.routes = Shopify.routes || {};
159Shopify.routes.root = "/";
160Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
161Shopify.SignInWithShop = Shopify.SignInWithShop || {};
162Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
163Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 163
163
164<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 164
164
165<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 165
165
166<script>
167  window.Shopify = window.Shopify || {};
168  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
169  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
170  window.Shopify.SignInWithShop.eligible = true;
171</script>
vendor: 1 bytes, line 171
171
172<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 172
172
173<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 173
173
174<script type="module">
175  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
176
177  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
178
179</script>
vendor: 1 bytes, line 179
179
180<script>
181  window.Shopify = window.Shopify || {};
182  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
183  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
184</script>
vendor: 1 bytes, line 184
184
185<script>(function() {
186  var isLoaded = false;
187  function asyncLoad() {
188    if (isLoaded) return;
189    isLoaded = true;
190    var urls = ["https:\/\/cdn.nfcube.com\/instafeed-6730f7a92e0131e6dd4c98353ee71b1a.js?shop=887239-2.myshopify.com","https:\/\/api-eu1.hubapi.com\/scriptloader\/v1\/148356240.js?shop=887239-2.myshopify.com","\/\/cdn.shopify.com\/proxy\/f0b5ed572612904795897ce7b4f1ff038a1d19871537f8c9199350c02450707d\/d1639lhkj5l89m.cloudfront.net\/js\/storefront\/uppromote.js?shop=887239-2.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"];
191    for (var i = 0; i < urls.length; i++) {
192      var s = document.createElement('script');
193      s.type = 'text/javascript';
194      s.async = true;
195      s.src = urls[i];
196      var x = document.getElementsByTagName('script')[0];
197      x.parentNode.insertBefore(s, x);
198    }
199  };
200  if(window.attachEvent) {
201    window.attachEvent('onload', asyncLoad);
202  } else {
203    window.addEventListener('load', asyncLoad, false);
204  }
205})();</script>
vendor: 1 bytes, line 205
205
206<script id="__st">var __st={"a":77325009205,"offset":10800,"reqid":"67f827e2-67cb-456d-805c-ab54e89a3107-1791496648","pageurl":"imanisoko.com\/cart","u":"27815f80b83e","p":"cart"};</script>
vendor: 1 bytes, line 206
206
207<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 207
207
208<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 208
208
209<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//imanisoko.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 209
209
210<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//imanisoko.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
210<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 210
210
211<script>
212  window.Shopify = window.Shopify || {};
213  window.Shopify.MCP = window.Shopify.MCP || {};
214  window.Shopify.MCP.enabled = true;
215  window.Shopify.MCP.shop = "887239-2.myshopify.com";
216  window.Shopify.MCP.mcpEndpoint = "https:\/\/imanisoko.com\/api\/mcp";
217  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question — e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}];
218</script>
vendor: 1 bytes, line 218
218
219<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/imanisoko.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
220</script>
vendor: 1 bytes, line 220
220
221<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://imanisoko.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
222</script>
vendor: 1 bytes, line 222
222
223<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
224  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);
225</script>
vendor: 1 bytes, line 225
225
226<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})}}));
227</script>
227
228
229<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
229
230    <!-- Global site tag (gtag.js) - Google Ads: 10788259966 -->
vendor: 68 bytes, lines 230-231
230
231    <script async src="https://www.googletagmanager.com/gtag/js?id=
231AW-10788259966
vendor: 16 bytes, lines 231-232
231"></script>
232    
232<script>
233      
vendor: 163 bytes, lines 233-239
233window.dataLayer = window.dataLayer || [];
234      function gtag() {
235        dataLayer.push(arguments);
236      }
237      gtag('js', new Date());
238
239      gtag('config', '
239AW-10788259966
vendor: 8 bytes, lines 239-240
239');
240    
240</script>
240
241    
242<script>
243  var __productWizRio = {};
244  (function() {
245    // START-1
246    
247      __productWizRio.enabled = false;
248    
249    // END-1
250    if (__productWizRio.enabled) {
251      
252function callback(mutations) {
253  mutations.forEach(function (mutation) {
254    Array.prototype.forEach.call(mutation.addedNodes, function (addedNode) {
255      if (typeof addedNode.className === 'string') {
256        if (!__productWizRio.config) {
257__productWizRio.config = {
258  "breakpoint": "768px",
259  "mobile": {
260    "navigation": false,
261    "pagination": false,
262    "swipe": true,
263    "dark": true,
264    "magnify": false,
265    "thumbnails": {
266      "orientation": "bottom",
267      "multiRow": true,
268      "thumbnailWidth": 58,
269      "navigation": false
270    },
271    "lightBox": true,
272    "lightBoxZoom": 2,
273    "maxHeight": "720px"
274  },
275  "desktop": {
276    "navigation": false,
277    "pagination": false,
278    "swipe": true,
279    "dark": true,
280    "magnify": {
281      "width": "full",
282      "height": "full",
283      "zoom": 3
284    },
285    "thumbnails": {
286      "orientation": "bottom",
287      "multiRow": true,
288      "thumbnailWidth": 88,
289      "navigation": false
290    },
291    "lightBox": false,
292    "lightBoxZoom": 2,
293    "maxHeight": "720px"
294  }
295};
296}
297
298if (!__productWizRio.useFormListener) {
299  __productWizRio.useFormListener = true;
300}
301
302try {
303  var isEntry = addedNode.className.indexOf('tabs-wrapper-product') > -1;
304
305  if (isEntry && !__productWizRio.finishedInjection) {
306    var newNode = addedNode.cloneNode(false);
307    newNode.className += ' rio-media-gallery';
308    newNode.style.paddingBottom = '1px';
309    addedNode.parentElement.insertBefore(newNode, addedNode.nextSibling);
310    addedNode.style.display = 'none';
311    
312    var currentVariantElem = document.createElement('input');
313    currentVariantElem.className = 'rio-current-variant';
314    currentVariantElem.style.display = 'none';
315    document.head.appendChild(currentVariantElem);
316    
317    document.addEventListener('DOMContentLoaded', () => {
318      const select = document.querySelector('#product-select');
319      let currentVariant = typeof select.value === 'string' ? select.value.concat() : '';
320      setInterval(() => {
321        if (typeof select.value === 'string' && currentVariant !== select.value && Number.parseInt(select.value, 10) > 0) {
322          currentVariant = select.value;
323          currentVariantElem.value = currentVariant;
324          currentVariantElem.dispatchEvent(new Event('change'));
325        }
326      }, 100);
327    });
328    
329    __productWizRio.finishedInjection = true;
330  }
331} catch (err) {}
332      }
333    });
334  });
335}
336var observer = new MutationObserver(callback);
337var config = { childList: true, subtree: true };
338window.addEventListener('load', function () {
339  observer.disconnect();
340});
341observer.observe(document, config);
342
343    }
344  })();
345</script>
345
346<link rel="stylesheet" href="//imanisoko.com/cdn/shop/t/14/assets/productwiz-rio.css?v=58858461016986618361686586909">
347<link rel="preload" href="//imanisoko.com/cdn/shop/t/14/assets/productwiz-rio.js?v=51253550578956526281686586910" as="script">
348<script async src="//imanisoko.com/cdn/shop/t/14/assets/productwiz-rio.js?v=51253550578956526281686586910"></script>
348
349
350
351    <!-- BEGIN app block: shopify://apps/nabu-for-fb-pixel/blocks/script-block/692d25a0-75b7-4cff-b3eb-8f1d8e1670bf -->
351<script async src="https://storage.googleapis.com/adnabu-shopify/app-embed-block/facebook-pixel/887239-2.myshopify.com.min.js"></script>
351
352
353<!-- END app block --><!-- BEGIN app block: shopify://apps/smart-discounts/blocks/embed/019d1c1c-2c4b-704e-be88-ea7fd20c9afb -->
354<script src="https://cdn.shopify.com/extensions/01a11b72-8df4-7c1f-8287-a94938d3d87f/smart-automatic-discounts-67/assets/bundle-deals.js" defer></script>
354
355
356<script type="application/json" id="bundle-deals-global-config">
357  {
358    "shopDomain": "887239-2.myshopify.com",
359    "shopCurrency": "KES",
360    "moneyFormat": "KSh{{amount}}",
361    "currency": "KES",
362    "locale": "en",
363    "country": "US",
364    "marketId": 88527929653,
365    "marketHandle": "united-states",
366    "routes": {
367      "root": "\/",
368      "cartAdd": "\/cart\/add",
369      "cart": "\/cart"
370    },
371    "isB2B": false
372  }
373</script>
373
374
375<script type="application/json" id="bundle-deals-catalog">
376[{"type":"bundle_deal","id":"1871046803765","name":"Kikoi Bundle (3 pieces of choice)","appliesTo":"specific_products","productIds":["9790458986805"],"collectionIds":[],"excludeProductIds":[],"locations":[],"excludeB2B":false,"combinesWith":{"productDiscounts":true,"orderDiscounts":true,"shippingDiscounts":true},"startsAt":"2026-07-21T08:15:29.920Z","endsAt":null,"blocks":[{"id":"46BmH","blockType":"quantity_break","quantity":1,"discount":{"type":"none","value":0},"title":"Buy 1","subtitle":"","label":"","badge":"","badgeStyle":"none","selectedByDefault":false,"soldOut":false,"discountLabel":""},{"id":"jZSTI","blockType":"quantity_break","quantity":2,"discount":{"type":"percentage","value":10},"title":"Buy 2","subtitle":"Buy 2, get 10% off","label":"SAVE 10%","badge":"","badgeStyle":"none","selectedByDefault":true,"soldOut":false,"discountLabel":""},{"id":"pGU1t","blockType":"quantity_break","quantity":3,"discount":{"type":"percentage","value":15},"title":"Buy 3","subtitle":"Buy 3, get 15% off","label":"SAVE 15%","badge":"","badgeStyle":"none","selectedByDefault":false,"soldOut":false,"discountLabel":""}],"settings":{"allowMixedVariants":true,"showVariantPickers":true,"showComparePrices":true,"showPerItemPrice":false,"showVariantImages":true,"hideNativeQuantity":true,"hideNativeVariantPicker":true,"skipCart":false,"layout":"vertical","widgetTitle":"Bundle \u0026 Save","widgetTitleAlignment":"center","soldOutText":"Sold Out","perItemSuffix":"\/ each","tierBorderColor":"#00000026","tierBorderHoverColor":"#00000059","tierActiveBorderColor":"#333333","tierBgColor":"#ffffff","tierActiveBgColor":"#fafafa","dotColor":"#00000040","dotActiveColor":"#333333","titleColor":"#000000","titleDividerColor":"#00000026","tierNameColor":"#000000","subtitleColor":"#666666","priceColor":"#000000","comparePriceColor":"#888888","labelBgColor":"#00000012","labelTextColor":"#000000","badgeBgColor":"#333333","badgeTextColor":"#ffffff","soldOutBgColor":"#000000bf","soldOutTextColor":"#ffffff","titleFontSize":"14px","tierNameFontSize":"16px","tierNameFontWeight":"600","subtitleFontSize":"13px","priceFontSize":"16px","priceFontWeight":"600","tierBorderRadius":"8px","tierBorderWidth":"2px","tierPadding":"12px 16px","tierGap":"8px","badgeBorderRadius":"6px","custom_css":"","freeGiftBgColor":"#333333","freeGiftTextColor":"#ffffff","freeGiftBorderColor":"#333333","freeGiftImageBorderRadius":"8px","freeGiftImageBorderWidth":"1px","freeGiftImageBorderColor":"#555555","freeGiftTitleFontSize":"14px","freeGiftTitleFontWeight":"600","freeGiftPriceColor":"#cccccc","freeGiftSelectBorderColor":"#666666","freeGiftSelectBgColor":"#444444","freeGiftSelectTextColor":"#ffffff","freeGiftSelectBorderRadius":"4px","freeGiftSelectFontSize":"12px","freeGiftImageSize":"36px","freeGiftPaddingVertical":"10px","freeGiftPaddingHorizontal":"10px","freeGiftInactiveBgColor":"#f5f5f5","freeGiftInactiveTextColor":"#666666","freeGiftInactiveBorderColor":"#f5f5f5","freeGiftInactivePriceColor":"#aaaaaa"},"translations":{}},{"type":"bundle_deal","id":"1871047262517","name":"Pillow Bundle","appliesTo":"specific_products","productIds":["8351949914421","9199648047413","10249002189109","9164498731317","10248641642805","9518595801397","8351933530421","8351933923637","8351933497653","8351933825333","8351934841141","10249018376501","8351940149557","8351940051253","10249024766261","10249022931253"],"collectionIds":[],"excludeProductIds":[],"locations":[],"excludeB2B":false,"combinesWith":{"productDiscounts":true,"orderDiscounts":true,"shippingDiscounts":true},"startsAt":"2026-07-21T08:22:13.277Z","endsAt":null,"blocks":[{"id":"dod9s","blockType":"quantity_break","quantity":1,"discount":{"type":"none","value":0},"title":"Buy 1","subtitle":"","label":"","badge":"","badgeStyle":"none","selectedByDefault":false,"soldOut":false,"discountLabel":""},{"id":"ukRWG","blockType":"quantity_break","quantity":2,"discount":{"type":"percentage","value":10},"title":"Buy 2","subtitle":"Buy 2, get 10% off","label":"SAVE 10%","badge":"","badgeStyle":"none","selectedByDefault":true,"soldOut":false,"discountLabel":""},{"id":"XDao_","blockType":"quantity_break","quantity":3,"discount":{"type":"percentage","value":15},"title":"Buy 3","subtitle":"Buy 3, get 15% off","label":"SAVE 15 %","badge":"","badgeStyle":"none","selectedByDefault":false,"soldOut":false,"discountLabel":""}],"settings":{"allowMixedVariants":true,"showVariantPickers":true,"showComparePrices":true,"showPerItemPrice":false,"showVariantImages":true,"hideNativeQuantity":true,"hideNativeVariantPicker":true,"skipCart":false,"layout":"vertical","widgetTitle":"Bundle \u0026 Save","widgetTitleAlignment":"center","soldOutText":"Sold Out","perItemSuffix":"\/ each","tierBorderColor":"#00000026","tierBorderHoverColor":"#00000059","tierActiveBorderColor":"#333333","t
376ierBgColor":"#ffffff","tierActiveBgColor":"#fafafa","dotColor":"#00000040","dotActiveColor":"#333333","titleColor":"#000000","titleDividerColor":"#00000026","tierNameColor":"#000000","subtitleColor":"#666666","priceColor":"#000000","comparePriceColor":"#888888","labelBgColor":"#00000012","labelTextColor":"#000000","badgeBgColor":"#333333","badgeTextColor":"#ffffff","soldOutBgColor":"#000000bf","soldOutTextColor":"#ffffff","titleFontSize":"14px","tierNameFontSize":"16px","tierNameFontWeight":"600","subtitleFontSize":"13px","priceFontSize":"16px","priceFontWeight":"600","tierBorderRadius":"8px","tierBorderWidth":"2px","tierPadding":"12px 16px","tierGap":"8px","badgeBorderRadius":"6px","custom_css":"","freeGiftBgColor":"#333333","freeGiftTextColor":"#ffffff","freeGiftBorderColor":"#333333","freeGiftImageBorderRadius":"8px","freeGiftImageBorderWidth":"1px","freeGiftImageBorderColor":"#555555","freeGiftTitleFontSize":"14px","freeGiftTitleFontWeight":"600","freeGiftPriceColor":"#cccccc","freeGiftSelectBorderColor":"#666666","freeGiftSelectBgColor":"#444444","freeGiftSelectTextColor":"#ffffff","freeGiftSelectBorderRadius":"4px","freeGiftSelectFontSize":"12px","freeGiftImageSize":"36px","freeGiftPaddingVertical":"10px","freeGiftPaddingHorizontal":"10px","freeGiftInactiveBgColor":"#f5f5f5","freeGiftInactiveTextColor":"#666666","freeGiftInactiveBorderColor":"#f5f5f5","freeGiftInactivePriceColor":"#aaaaaa"},"translations":{}},{"type":"bundle_deal","id":"1871047491893","name":"Jewellery Bundle","appliesTo":"specific_collections","productIds":[],"collectionIds":["648092778805"],"excludeProductIds":[],"locations":[],"excludeB2B":false,"combinesWith":{"productDiscounts":true,"orderDiscounts":true,"shippingDiscounts":true},"startsAt":"2026-07-21T08:25:07.819Z","endsAt":null,"blocks":[{"id":"Tdxgd","blockType":"quantity_break","quantity":1,"discount":{"type":"none","value":0},"title":"Buy 1","subtitle":"","label":"","badge":"","badgeStyle":"none","selectedByDefault":false,"soldOut":false,"discountLabel":""},{"id":"xwA0W","blockType":"quantity_break","quantity":2,"discount":{"type":"percentage","value":10},"title":"Buy 2","subtitle":"Buy 2, get 10% off","label":"SAVE 10%","badge":"","badgeStyle":"none","selectedByDefault":true,"soldOut":false,"discountLabel":""},{"id":"EbeYn","blockType":"quantity_break","quantity":3,"discount":{"type":"percentage","value":15},"title":"Buy 3","subtitle":"Buy 3, get 15 % off","label":"SAVE 15 %","badge":"","badgeStyle":"none","selectedByDefault":false,"soldOut":false,"discountLabel":""}],"settings":{"allowMixedVariants":true,"showVariantPickers":true,"showComparePrices":true,"showPerItemPrice":false,"showVariantImages":true,"hideNativeQuantity":true,"hideNativeVariantPicker":true,"skipCart":false,"layout":"vertical","widgetTitle":"Bundle \u0026 Save","widgetTitleAlignment":"center","soldOutText":"Sold Out","perItemSuffix":"\/ each","tierBorderColor":"#00000026","tierBorderHoverColor":"#00000059","tierActiveBorderColor":"#333333","tierBgColor":"#ffffff","tierActiveBgColor":"#fafafa","dotColor":"#00000040","dotActiveColor":"#333333","titleColor":"#000000","titleDividerColor":"#00000026","tierNameColor":"#000000","subtitleColor":"#666666","priceColor":"#000000","comparePriceColor":"#888888","labelBgColor":"#00000012","labelTextColor":"#000000","badgeBgColor":"#333333","badgeTextColor":"#ffffff","soldOutBgColor":"#000000bf","soldOutTextColor":"#ffffff","titleFontSize":"14px","tierNameFontSize":"16px","tierNameFontWeight":"600","subtitleFontSize":"13px","priceFontSize":"16px","priceFontWeight":"600","tierBorderRadius":"8px","tierBorderWidth":"2px","tierPadding":"12px 16px","tierGap":"8px","badgeBorderRadius":"6px","custom_css":"","freeGiftBgColor":"#333333","freeGiftTextColor":"#ffffff","freeGiftBorderColor":"#333333","freeGiftImageBorderRadius":"8px","freeGiftImageBorderWidth":"1px","freeGiftImageBorderColor":"#555555","freeGiftTitleFontSize":"14px","freeGiftTitleFontWeight":"600","freeGiftPriceColor":"#cccccc","freeGiftSelectBorderColor":"#666666","freeGiftSelectBgColor":"#444444","freeGiftSelectTextColor":"#ffffff","freeGiftSelectBorderRadius":"4px","freeGiftSelectFontSize":"12px","freeGiftImageSize":"36px","freeGiftPaddingVertical":"10px","freeGiftPaddingHorizontal":"10px","freeGiftInactiveBgColor":"#f5f5f5","freeGiftInactiveTextColor":"#666666","freeGiftInactiveBorderColor":"#f5f5f5","freeGiftInactivePriceColor":"#aaaaaa"},"translations":{}}]
377</script>
377
378
379
380
381
382
383
384  
385  
386  
387  
388  
389  
390
391  
392  
393  
394  
395  
396  
397
398  
399  
400  
401  
402  
403  
404
405  
406  
407  
408
409
410
411<script type="application/json" id="smart-widget-config">
412  {
413    "shopDomain": "887239-2.myshopify.com",
414    "currency": "KES",
415    "shopCurrency": "KES",
416    "moneyFormat": "KSh{{amount}}",
417    "locale": "en",
418    "country": "US",
419    "marketId": 88527929653,
420    "marketHandle": "united-states",
421    "routes": {
422      "root": "\/",
423      "cartAdd": "\/cart\/add",
424      "cart": "\/cart",
425      "cartChange": "\/cart\/change",
426      "cartUpdate": "\/cart\/update"
427    },
428    "isB2B": false,
429    "customerTags": []
430  }
431</script>
vendor: 2 bytes, line 431
431
432<script type="application/json" id="smart-widget-settings">
433null
434</script>
434
435
436<script type="application/json" id="smart-widget-bundles">
437[]
438</script>
438
439
440
441
442
443
444
445
446
447<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core -->
448
449
450
451
452
453
454
455<link rel="dns-prefetch" href="https://cdn.judge.me">
456<link rel="dns-prefetch" href="https://cdn1.judge.me">
457<link rel="dns-prefetch" href="https://api.judge.me">
458
459<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"coupon_receiving_condition":"any_review","coupon_value_type":"percentage","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"single","coupon_tier_text_enabled":false,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":false,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":false,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ n }} review/reviews","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review content","widget_review_body_placeholder_text":"Start writing here...","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank y
459ou! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e {{ shop_name }} replied:","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"","widget_rating_filter_color":"#fbcd0a","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","verified_badge_text":"Verified","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"default","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_product_variant_reference_text":"Review for","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_product_and_store_reviews_text":"Product and store reviews","widget_reviews_in_collection_text":"Reviews in this collection","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"★ Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"branded","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":false,"featured_carousel_show_header":true,"featured_carousel_title":"Let customers speak for us","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"branded","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":false,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":true,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":false,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":true,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_advanced_speed_features":5,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":true,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subt
459itle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#108474","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":false,"widget_show_product_medals":true,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Load More","widget_load_more_color":"#108474","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_verified_text":"Verified","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#108474","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":true,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"AI-powered review summary based on recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Customers rate this store","store_summary_widget_button_text":"View customer reviews","store_summary_widget_button_theme_text":"See AI reviews summary","widget_show_review_title_input":false,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"external_form","request_store_review_after_product_review":true,"request_review_other_products_in_order":true,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#108474","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#108474","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","confirm_email_screen_title_text":"Confirm your email","confirm_email_screen_message_text":"To help keep reviews authentic, we'll send you a secure link to continue writing your review. It only takes a moment.","check_email_screen_title_text":"Check your email","check_email_screen_message_text":"We sent you an email to {{ email }}. Click the button on the email to continue.","check_email_screen_resend_message_text":"Email resent!","check_email_resend_hint_text":"Didn't get the email? Check your spam folder or [resend the email].","verification_email_rate_limit_error_text":"You've reached the limit for review attempts on this product. Please check your inbox or try again later.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_
459youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":true,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Write a review and get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_photo_text":"Write a review and add a photo or video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_video_text":"Write a review and add a video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_up_to_any_review_text":"Write a review and get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_up_to_with_photo_text":"Write a review and add a photo or video to get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_external_text":"Write a review and get a reward for your next purchase","coupon_promo_intro_external_with_photo_text":"Write a review and add a photo or video to get a reward for your next purchase","coupon_promo_intro_external_with_video_text":"Write a review and add a video to get a reward for your next purchase","coupon_promo_media_photo_text":"Add a photo or video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_photo_only_text":"Add a photo and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_video_text":"Add a video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_external_photo_text":"Add a photo or video and get a reward for your next purchase","coupon_promo_media_external_photo_only_text":"Add a photo and get a reward for your next purchase","coupon_promo_media_external_video_text":"Add a video and get a reward for your next purchase","coupon_promo_success_text":"You've got a coupon for your next purchase at {{ shop_name }}!","coupon_promo_success_subtext":"You'll receive your coupon email within the hour.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":false,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":10,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Review about the store","widget_cart_mode_aggregate_heading_text":"Customers rate this store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":true,"review_widget_qna_enabled":false,"review_widget_revamp_dual_publish_end_date":"2026-07-30T08:35:05.000+00:00","review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural"
459:"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Rating","review_widget_filter_keyword_title":"Keyword","review_widget_clear_filters_text":"Clear filters","review_widget_expand_more_text":"More","review_widget_review_highlights_title":"Review highlights","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"We’ll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","all_reviews_widget_v2025_review_highlights_title":"Review highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"From our customers","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"Imani Soko","shop_currency":"KES","widget_version":"3.0","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"shop_locale":"en","enable_multi_locales_translations":false,"show_review_title_input":false,"autofill_review_title":true,"review_verification_email_status":"always","require_verification_before_submit":false,"sign_in_with_
459shop_enabled":false,"customer_account_validation_enabled":true,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":false,"can_be_branded":false,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"Imani Soko"};</script>
459 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #108474;--jdgm-secondary-color: rgba(16,132,116,0.1);--jdgm-star-color: #108474;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #108474;--jdgm-paginate-color: #108474;--jdgm-border-radius: 0;--jdgm-reviewer-name-color: #108474}.jdgm-histogram__bar-content{background-color:#108474}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#108474}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-author-last-initial{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_etsy"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_google_business"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_written_in_shop_app"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget{--jdgm-snippet-card-color: #fff;--jdgm-snippet-text-color: #000;--jdgm-snippet-lighter-text-color: #7B7B7B;--jdgm-snippet-star-color: #108474;--jdgm-snippet-border-radius: 8px;--jdgm-snippet-arrows-bg-color: #fff;--jdgm-snippet-arrows-color: #000}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:8px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#108474}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:50%;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 8px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'Imani Soko'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )}
460</style> <style class='jdgm-settings-style'></style>
461
462  
463  
464  
465  <style class='jdgm-miracle-styles'>
466  @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK
466/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-spinner:empty{display:block}.jdgm-prev-badge{display:block !important}
467
468</style>
469
470
471  
472  
473   
474
475
476
477
478<script data-cfasync='false' class='jdgm-script'>
479!function(e){window.jdgm=window.jdgm||{};
480/* INF-1976 */
481var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}();
482if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;}
483jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a11b30-98d5-7ae3-b2f4-f79b3c6f32c4/judgeme-775/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/",
484jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)?
485setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){
486!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d),
487(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!",
488a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))},
489jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest;
490t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))},
491t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll(
492".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting?
493parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"):
494jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css")
495)}))}(document);
496</script>
496
497<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a11b30-98d5-7ae3-b2f4-f79b3c6f32c4/judgeme-775/assets/shopify_v2.css"></noscript>
498
499<!-- BEGIN app snippet: theme_fix_tags -->
499<script>
500  (function() {
501    var jdgmThemeFixes = null;
502    if (!jdgmThemeFixes) return;
503
504    // "All themes" fix: CSS and JS applied on every theme. CSS is injected
505    // before the per-theme fix so the theme-specific CSS wins the cascade.
506    // HTML is never applied globally (too risky).
507    var allThemesFix = jdgmThemeFixes['all'];
508    if (allThemesFix && allThemesFix.css) {
509      var allStyleTag = document.createElement('style');
510      allStyleTag.classList.add('jdgm-theme-fix-style-all');
511      allStyleTag.innerHTML = allThemesFix.css;
512      document.head.append(allStyleTag);
513    };
514
515    if (allThemesFix && allThemesFix.js) {
516      var allScriptTag = document.createElement('script');
517      allScriptTag.classList.add('jdgm-theme-fix-script-all');
518      allScriptTag.innerHTML = allThemesFix.js;
519      document.head.append(allScriptTag);
520    };
521
522    var thisThemeFix = jdgmThemeFixes[Shopify.theme.id];
523    if (!thisThemeFix) return;
524
525    if (thisThemeFix.html) {
526      document.addEventListener("DOMContentLoaded", function() {
527        var htmlDiv = document.createElement('div');
528        htmlDiv.classList.add('jdgm-theme-fix-html');
529        htmlDiv.innerHTML = thisThemeFix.html;
530        document.body.append(htmlDiv);
531      });
532    };
533
534    if (thisThemeFix.css) {
535      var styleTag = document.createElement('style');
536      styleTag.classList.add('jdgm-theme-fix-style');
537      styleTag.innerHTML = thisThemeFix.css;
538      document.head.append(styleTag);
539    };
540
541    if (thisThemeFix.js) {
542      var scriptTag = document.createElement('script');
543      scriptTag.classList.add('jdgm-theme-fix-script');
544      scriptTag.innerHTML = thisThemeFix.js;
545      document.head.append(scriptTag);
546    };
547  })();
548</script>
548
549<!-- END app snippet -->
550<!-- End of Judge.me Core -->
551
552
553
554<!-- END app block --><!-- BEGIN app block: shopify://apps/parkour-facebook-pixel/blocks/threasury_pixel/f23b2ffe-4c53-446e-ad3a-7976ffbee5c2 -->
555
556<script>
557  (function () {
558    const params = new URLSearchParams(window.location.search);
559    const hasBuilderMode = params.get('eventBuilderMode') === 'true';
560    const encodedSelector = params.get('selector');
561
562    if (hasBuilderMode) {
563      sessionStorage.setItem('eventBuilderMode', '1');
564    }
565
566    const fromSession = sessionStorage.getItem('eventBuilderMode');
567
568    // ✅ Store the decoded selector globally
569    if (encodedSelector) {
570      try {
571        const decoded = decodeURIComponent(encodedSelector);
572        sessionStorage.setItem('eventBuilderSelector', decoded);
573        window.extractedSelector = decoded;
574        console.log('[Parkour] Builder selector loaded:', decoded);
575      } catch (err) {
576        console.warn('[Parkour] Failed to decode selector:', err);
577      }
578    }
579
580    // ✅ Load eventBuilder.js if in builder mode
581    if (hasBuilderMode || fromSession) {
582      const s = document.createElement('script');
583      s.src = "https://cdn.shopify.com/extensions/01a08191-1bc5-79e2-bd0a-2c7e134c9184/parkour-pixel-111/assets/eventBuilder.js";
584      s.async = true;
585      document.head.appendChild(s);
586    }
587  })();
588</script>
588
589
590<script>
591  document.addEventListener('DOMContentLoaded', function () {
592    // Metafield emitted via | json (with </ escaped): raw template-literal
593    // interpolation broke this whole block when the value contained a backtick or
594    // quote, and a closing script tag inside a value was stored XSS.
595    // base64_encode instead of | json: Shopify's json filter REFUSES multiline
596    // metafields (emits {"error":"json not allowed for this object"}), and base64
597    // output can never contain quotes/backslashes/closing tags — injection-proof
598    // for every metafield type. base64_encode encodes the UTF-8 BYTES, and atob()
599    // alone reads them back as Latin-1 — silent mojibake for any non-ASCII event
600    // name/trigger (JSON.parse still succeeds!). TextDecoder restores real UTF-8;
601    // for pure-ASCII values it is an exact identity.
602    const metaData = (() => { try { return new TextDecoder().decode(Uint8Array.from(atob(''), (c) => c.charCodeAt(0))); } catch (e) { return ''; } })();
603    try {
604      // custom_events is a json-TYPE metafield, so `| json` can emit a real array —
605      // handle array, plain-JSON string, and the legacy base64 shape (mirrors
606      // safeParseMetaData) so the tracker loads on a fresh visitor's FIRST page view.
607      let customEvents = Array.isArray(metaData) ? metaData : null;
608      if (!customEvents && metaData) {
609        try { customEvents = JSON.parse(metaData); }
610        catch (e1) {
611          try { customEvents = JSON.parse(decodeURIComponent(atob(metaData))); }
612          catch (e2) { customEvents = null; }
613        }
614      }
615      const fromLocal = localStorage.getItem('Parkour_custom_events_fb');
616      // Only load the tracker when there are actually events (an empty [] used to
617      // still boot the MutationObserver machinery on every page).
618      const hasCustomEvents = (Array.isArray(customEvents) && customEvents.length > 0) || (fromLocal && fromLocal !== '[]');
619      if (hasCustomEvents) {
620        const script = document.createElement('script');
621        script.src = "https://cdn.shopify.com/extensions/01a08191-1bc5-79e2-bd0a-2c7e134c9184/parkour-pixel-111/assets/customTracker.js";
622        script.async = true;
623        document.head.appendChild(script);
624      }
625    } catch (e) {
626      console.warn('[Parkour] customTracker.js load failed', e);
627    }
628  });
629</script>
629
630
631<script>
632const FacebookTracker = {
633  config: {
634    debug: localStorage.getItem('tdb') || null,
635    storageKeys: {
636      PREFERRED_ID: 'Parkour_preferred_id_fb',
637      AD_INFO: 'Parkour_ad_info_fb',
638      AD_LOGS: 'Parkour_ad_logs_fb',
639      PIXEL_STATUS: 'Parkour_pixel_app_status_fb',
640      PIXEL_CONFIG: 'Parkour_pixel_config_fb',
641      CUSTOMER_HASHED: 'Parkour_Customer_params_fb',
642      CUSTOM_EVENTS: 'Parkour_custom_events_fb',
643      WEB_PIXEL: 'Parkour_web_pixel_fb',
644      EXTERNAL_ID: 'Parkour_external_id',
645      PAGE_DATA: 'Parkour_page_data',
646      FBC: 'Parkour_fbc',
647      FBP: 'Parkour_fbp',
648    },
649    fbParams: {
650      standard: ['fbclid', 'utm_campaign', 'ad_name', 'utm_source', 'adset_name', 'campaign_id', 'adset_id', 'ad_id', 'utm_id']
651    }
652  },
653
654  utils: {
655    log(message, data = null) {
656      if (FacebookTracker.config.debug === null) return;
657      console.log(`[Facebook Tracker] ${message}`, data);
658    },
659    stripDiacritics(str) {
660      return str.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
661    },
662    normalizeField(value, field) {
663      if (!value) return '';
664      let v = String(value).trim().toLowerCase();
665      switch (field) {
666        case 'email':
667          return v;
668        case 'phone':
669          return v.replace(/[^0-9]/g, '');
670        case 'city':
671          return FacebookTracker.utils.stripDiacritics(v).replace(/[^a-z]/g, '');
672        case 'state':
673          v = FacebookTracker.utils.stripDiacritics(v);
674          v = v.replace(/\b(county|province|region|state|district)\b/g, '');
675          return v.replace(/[^a-z]/g, '');
676        case 'country':
677          v = FacebookTracker.utils.stripDiacritics(v).replace(/[^a-z]/g, '');
678          return v.length === 2 ? v : '';
679        case 'zipCode':
680          return v.replace(/[\s\-]/g, '');
681        default:
682          return FacebookTracker.utils.stripDiacritics(v).replace(/[^a-z]/g, '');
683      }
684    },
685    async HashString(str) {
686      if (!str) return '';
687      const encoder = new TextEncoder();
688      const data = encoder.encode(str);
689      const hash = await crypto.subtle.digest('SHA-256', data);
690      return Array.from(new Uint8Array(hash)).map(b => b.toString(16).padStart(2, '0')).join('');
691    },
692    retry: async (fn, attempts = 3) => {
693      for (let i = 0; i < attempts; i++) {
694        try { return await fn(); } catch (e) {
695          if (i === attempts - 1) throw e;
696          await new Promise(r => setTimeout(r, (i + 1) * 1000));
697        }
698      }
699    },
700    generateId(prefix = 'CID') {
701      return `${prefix}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
702    },
703    getCookie(name) {
704      const match = document.cookie.match(new RegExp(`(^| )${name}=([^;]+)`));
705      return match ? match[2] : null;
706    },
707    setCookie(name, value, days = 90) {
708      const expires = new Date(Date.now() + days * 864e5).toUTCString();
709      document.cookie = `${name}=${value}; expires=${expires}; path=/; SameSite=Lax`;
710    },
711    getUrlParam(name) {
712      return new URLSearchParams(window.location.search).get(name);
713    },
714    getRawUrlParam(name) {
715      // Returns the param EXACTLY as it appears in the URL, without percent-decoding.
716      // URLSearchParams.get() decodes %XX escapes and converts "+" to a space, which
717      // mangles fbclid values and makes Meta flag a "modified fbclid value in fbc".
718      const match = window.location.search.match(new RegExp('[?&]' + name + '=([^&#]*)'));
719      return match ? match[1] : null;
720    },
721    getFormattedTimestamp() {
722      const now = new Date();
723      return { timestamp: now.toISOString(), formattedDate: now.toLocaleString() };
724    },
725    safeParseMetaData(data) {
726      // Two writer generations exist in the wild: the service app stores RAW JSON
727      // (json-type metafields), older installs stored btoa(encodeURIComponent(JSON))
728      // in multiline string metafields. Try both — and NEVER throw: any third/corrupt
729      // shape must degrade to null, because a throw here aborted the rest of init()
730      // (fbc/fbp capture, cart attribution) for the whole shop.
731      try {
732        return JSON.parse(data);
733      } catch (e) {
734        try {
735          return JSON.parse(decodeURIComponent(atob(data)));
736        } catch (e2) {
737          FacebookTracker.utils.log('Unparseable metafield shape — skipping', e2);
738          return null;
739        }
740      }
741    }
742  },
743
744  storage: {
745    set(key, value) {
746      localStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));
747    },
748    get(key, type = 'json') {
749      const val = localStorage.getItem(key);
750      if (!val) return null;
751      return type === 'string' ? val : JSON.parse(val);
752    },
753    remove(key) {
754      localStorage.removeItem(key);
755    },
756    appendToArray(key, item) {
757      const arr = FacebookTracker.storage.get(key) || [];
758      FacebookTracker.storage.set(key, [...arr, item]);
759    }
760  },
761
762  tracking: {
763    async initializeExternalId() {
764      let id = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.EXTERNAL_ID, 'string');
765      if (!id) {
766        id = FacebookTracker.utils.generateId();
767        FacebookTracker.storage.set(FacebookTracker.config.storageKeys.EXTERNAL_ID, id);
768      }
769      return id;
770    },
771
772    isFbcExpired(fbc) {
773      if (!fbc) return true;
774      const parts = fbc.split('.');
775      if (parts.length < 4) return true;
776      const timestamp = parseInt(parts[2], 10);
777      if (isNaN(timestamp)) return true;
778      const sevenDaysMs = 7 * 24 * 60 * 60 * 1000;
779      return (Date.now() - timestamp) > sevenDaysMs;
780    },
781
782    handleFbc() {
783      // Read the fbclid EXACTLY as it appears in the URL (no decoding — that is what
784      // produced the "modified fbclid value in fbc" warning) and the current _fbc cookie.
785      let fbclid = FacebookTracker.utils.getRawUrlParam('fbclid');
786      // Recovery for %XX-RE-ENCODED fbclids (email gateways / redirectors): decode
787      // exactly once, and only when the result is a clean base64url click id — this
788      // restores the original value and cannot reintroduce the +→space corruption
789      // (decodeURIComponent leaves '+' untouched).
790      if (fbclid && fbclid.indexOf('%') !== -1) {
791        try {
792          const decoded = decodeURIComponent(fbclid);
793          if (/^[A-Za-z0-9_-]+$/.test(decoded)) fbclid = decoded;
794        } catch (e) { /* malformed escape — keep raw */ }
795      }
796      const existing = FacebookTracker.utils.getCookie('_fbc');
797
798      if (fbclid && fbclid != 'fbclid') {
799        // A fbclid in the URL is a fresh click. If a _fbc cookie already exists for THIS
800        // same fbclid (e.g. set by Meta's own pixel), keep it as-is — it carries the
801        // authoritative timestamp/subdomain index. Only (re)build for a NEW click, which
802        // also refreshes the timestamp and prevents sending an expired fbclid later.
803        // Compare the click-id SEGMENT, not the string tail: Meta's fbevents.js writes a
804        // fifth "appendix" segment (fb.1.<ts>.<fbclid>.AQYCAQIB), so endsWith() saw a
805        // "different" click and overwrote Meta's cookie on every ad landing.
806        if (existing && existing.split('.')[3] === fbclid) {
807          FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBC, existing);
808          return existing;
809        }
810        const fbc = `fb.1.${Date.now()}.${fbclid}`;
811        FacebookTracker.utils.setCookie('_fbc', fbc);
812        FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBC, fbc);
813        return fbc;
814      }
815      // No fresh fbclid: reuse a stored/cookie fbc only if it is not expired; otherwise
816      // clear it from both stores so we never send an expired fbclid (its localStorage
817      // copy has no natural expiry).
818      const stored = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.FBC, 'string');
819      const cookie = FacebookTracker.utils.getCookie('_fbc');
820      const fbc = stored || cookie;
821      if (fbc && !FacebookTracker.tracking.isFbcExpired(fbc)) {
822        FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBC, fbc);
823        return fbc;
824      }
825      // Clear expired fbc
826      FacebookTracker.storage.remove(FacebookTracker.config.storageKeys.FBC);
827      FacebookTracker.utils.setCookie('_fbc', '', -1);
828      return null;
829    },
830
831    handleFbp() {
832      let fbp = FacebookTracker.utils.getCookie('_fbp');
833      if (!fbp) {
834        fbp = `fb.1.${Date.now()}.${Math.floor(Math.random() * 1e9)}`;
835        FacebookTracker.utils.setCookie('_fbp', fbp);
836      }
837      FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBP, fbp);
838      return fbp;
839    },
840
841    collectAdParameters() {
842      const adData = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.AD_INFO) || {};
843      let hasNew = false;
844      adData.facebook = adData.facebook || {};
845
846      FacebookTracker.config.fbParams.standard.forEach(param => {
847        const value = FacebookTracker.utils.getUrlParam(param);
848        if (value && adData.facebook[param] !== value) {
849          adData.facebook[param] = value;
850          hasNew = true;
851        }
852      });
853
854      adData.referrer = document.referrer;
855      if (hasNew) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.AD_INFO, adData);
856      return adData;
857    },
858
859    collectPageData() {
860      return {
861        product_name: null,
862        selected_variant: null,
863        product_id: null,
864        variant_id: null,
865        collection_ids: [],
866        tags: null,
867        page_type: "cart",
868        currency: "KES",
869        price: null
870      }
871    },
872
873    logAdData(adParams) {
874      if (!adParams?.facebook || Object.keys(adParams.facebook).length === 0) return;
875      const entry = {
876        ...adParams,
877        url: window.location.href,
878        referrer: document.referrer,
879        ...FacebookTracker.utils.getFormattedTimestamp()
880      };
881      FacebookTracker.storage.appendToArray(FacebookTracker.config.storageKeys.AD_LOGS, entry);
882      FacebookTracker.utils.log('Ad data logged', entry);
883    },
884
885    async hashCustomer() {
886      try {
887        const customerData = {
888          email: null,
889          first_name: null,
890          last_name: null,
891          phone: null,
892          default_address: null
893        };
894
895        // Geo context: only fetched when Shopify's own customer data is missing
896        // fields, only when marketing consent is not denied, and cached for 24h.
897        // Previously BOTH endpoints were hit on EVERY page view for EVERY visitor —
898        // ipinfo's unauthenticated tier rate-limits, and shipping visitor IPs to a
899        // third party regardless of consent state is a compliance exposure.
900        let browsingGeo = {}, ipinfoGeo = {};
901        const addrPeek = customerData.default_address;
902        const needsGeo = !(addrPeek?.province_code || addrPeek?.province) || !addrPeek?.city || !addrPeek?.country_code || !addrPeek?.zip;
903        const consentAllows = (() => {
904          const cp = window.Shopify && window.Shopify.customerPrivacy;
905          if (cp && typeof cp.marketingAllowed === 'function') {
906            try { return cp.marketingAllowed() !== false; } catch (e) { return true; }
907          }
908          return true;
909        })();
910        if (needsGeo && consentAllows) {
911          const cachedGeo = FacebookTracker.storage.get('Parkour_geo_fb');
912          if (cachedGeo && cachedGeo.exp > Date.now()) {
913            browsingGeo = cachedGeo.browsingGeo || {};
914            ipinfoGeo = cachedGeo.ipinfoGeo || {};
915          } else {
916            try {
917              const [browsingResp, ipinfoResp] = await Promise.all([
918                fetch('/browsing_context_suggestions.json'),
919                fetch('https://ipinfo.io/json')
920              ]);
921              browsingGeo = await browsingResp.json();
922              ipinfoGeo = await ipinfoResp.json();
923              FacebookTracker.storage.set('Parkour_geo_fb', { browsingGeo, ipinfoGeo, exp: Date.now() + 864e5 });
924            } catch (geoErr) {
925              FacebookTracker.utils.log('Geo fetch failed, using Shopify data only', geoErr);
926            }
927          }
928        }
929        const countryCode = browsingGeo?.detected_values?.country?.handle || ipinfoGeo.country || '';
930
931        const addr = customerData.default_address;
932        const raw = {
933          firstName: customerData.first_name || addr?.first_name || '',
934          lastName: customerData.last_name || addr?.last_name || '',
935          email: customerData.email || '',
936          phone: customerData.phone || addr?.phone || '',
937          state: addr?.province_code || addr?.province || ipinfoGeo.region || '',
938          city: addr?.city || ipinfoGeo.city || '',
939          country: addr?.country_code || countryCode,
940          zipCode: addr?.zip || ipinfoGeo.postal || ''
941        };
942
943        const formatted = {};
944        for (const key in raw) {
945          const normalized = FacebookTracker.utils.normalizeField(raw[key], key);
946          if (normalized) formatted[key] = normalized;
947        }
948
949        const hashed = {};
950        for (const key in formatted) {
951          hashed[key] = await FacebookTracker.utils.HashString(formatted[key]);
952        }
953        
954        const existing = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.CUSTOMER_HASHED);
955        const newHashed = { ...existing, ...hashed };
956        FacebookTracker.storage.set(FacebookTracker.config.storageKeys.CUSTOMER_HASHED, newHashed);
957      } catch (err) {
958        FacebookTracker.utils.log('Customer hash error', err, 'error');
959      }
960    },
961
962    captureFirstTouch() {
963      const PREFIX = '__parkour_';
964      const urlParams = new URLSearchParams(window.location.search);
965
966      const setOnce = (key, value) => {
967        const existing = document.cookie.includes(`${key}=`);
968        if (!existing) {
969          localStorage.setItem(key, value);
970          const expires = new Date(Date.now() + 90 * 864e5).toUTCString();
971          document.cookie = `${key}=${encodeURIComponent(value)}; expires=${expires}; path=/; SameSite=Lax`;
972        }
973      };
974
975      const clickIds = ['fbclid', 'ttclid', 'gclid', 'ScCid', 'scCid', 'srsltid'];
976      const utms = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content','ad_id','campaign_id','adset_id' ];
977
978      [...clickIds, ...utms].forEach(param => {
979        const val = urlParams.get(param);
980        if (val) setOnce(`${PREFIX}${param}`, val);
981      });
982
983      setOnce(`${PREFIX}landing`, window.location.href);
984      setOnce(`${PREFIX}referrer`, document.referrer || 'direct');
985    }
986  },
987
988  cart: {
989    async updateAttributes(attributes) {
990      // POST only OUR keys: /cart/update.js merges the provided attributes and leaves
991      // every other attribute untouched. The old read-modify-write (GET /cart.js +
992      // full-snapshot POST) doubled the request count on every page view and raced
993      // the customer's own updates and the sibling TikTok/Snapchat trackers — a stale
994      // snapshot could re-apply an OLD fbc over a freshly captured one.
995      return FacebookTracker.utils.retry(async () => {
996        return fetch('/cart/update.js', {
997          method: 'POST',
998          headers: { 'Content-Type': 'application/json' },
999          body: JSON.stringify({ attributes })
1000        }).then(res => res.json());
1001      });
1002    }
1003  },
1004
1005  async init() {
1006    try {
1007      // Metafields emitted via | json (with </ escaped): raw template-literal
1008      // interpolation meant a single quote/backtick in any metafield killed init()
1009      // for the whole shop (no fbc/fbp capture, no cart attribution) and a closing
1010      // script tag in a value was stored XSS. normalizeMetafield keeps downstream string
1011      // handling identical whether the metafield renders as a string or an object.
1012      const normalizeMetafield = (v) => (v == null ? '' : (typeof v === 'string' ? v : JSON.stringify(v)));
1013      // b64: Shopify's json filter refuses multiline metafields (renders
1014      // {"error":"json not allowed for this object"} — this broke pixel_config),
1015      // while base64 output is injection-proof for EVERY metafield type: its
1016      // alphabet cannot contain quotes, backslashes, or closing script tags.
1017      // TextDecoder is required: base64_encode emits UTF-8 BYTES and bare atob()
1018      // reads them as Latin-1 — silently mojibaking non-ASCII metafield content.
1019      // Identity for ASCII, so the legacy btoa(encodeURIComponent(...)) shape that
1020      // safeParseMetaData handles is unaffected.
1021      const b64 = (s) => { try { return new TextDecoder().decode(Uint8Array.from(atob(s), (c) => c.charCodeAt(0))); } catch (e) { return ''; } };
1022      const pixelConfig = normalizeMetafield(b64('SlRWQ0pUVkU='));
1023      const appStatus = normalizeMetafield(b64('ZEhKMVpRPT0='));
1024      const preferredId = normalizeMetafield(b64(''));
1025      const customEvents = normalizeMetafield(b64(''));
1026      const webPixelEnabled = normalizeMetafield(b64(''));
1027      const supportExternalCheckout = normalizeMetafield(b64(''));
1028
1029      // null-guarded: an unparseable metafield must NOT clobber the last-known-good
1030      // value already in localStorage (the pixel keeps running on the previous config).
1031      if (pixelConfig) {
1032        const configDecoded = FacebookTracker.utils.safeParseMetaData(pixelConfig);
1033        if (configDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PIXEL_CONFIG, configDecoded);
1034      }
1035
1036      if (appStatus) {
1037        const statusDecoded =  FacebookTracker.utils.safeParseMetaData((appStatus));
1038        if (statusDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PIXEL_STATUS, statusDecoded);
1039      }
1040      if (webPixelEnabled) {
1041        const webPixelEnabledDecoded =  FacebookTracker.utils.safeParseMetaData((webPixelEnabled));
1042        if (webPixelEnabledDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.WEB_PIXEL, webPixelEnabledDecoded);
1043      }
1044      if(preferredId) {
1045        FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PREFERRED_ID, preferredId);
1046      }
1047
1048      if (customEvents) {
1049        const eventsDecoded = FacebookTracker.utils.safeParseMetaData(customEvents);
1050        if (eventsDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.CUSTOM_EVENTS, eventsDecoded);
1051      }
1052
1053      // Check if external checkout support is enabled (defaults to true if metafield doesn't exist)
1054      let isExternalCheckoutEnabled = true;
1055      if (supportExternalCheckout) {
1056        try {
1057          const supportDecoded = FacebookTracker.utils.safeParseMetaData(supportExternalCheckout);
1058          isExternalCheckoutEnabled = supportDecoded?.enabled !== false;
1059        } catch (e) {
1060          FacebookTracker.utils.log('Failed to parse support_external_checkout metafield', e);
1061          // Default to true if parsing fails
1062          isExternalCheckoutEnabled = true;
1063        }
1064      }
1065
1066      // LOCAL capture first — a network failure below (cart 430 under load, geo
1067      // outage) must never cost first-touch attribution or fbc/fbp persistence.
1068      const externalId = await FacebookTracker.tracking.initializeExter
1068nalId();
1069      FacebookTracker.tracking.handleFbc();
1070      FacebookTracker.tracking.handleFbp();
1071      FacebookTracker.tracking.captureFirstTouch();
1072
1073      const pageData = FacebookTracker.tracking.collectPageData();
1074      if (pageData) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PAGE_DATA, pageData);
1075
1076      const adParams = FacebookTracker.tracking.collectAdParameters();
1077      if (adParams) FacebookTracker.tracking.logAdData(adParams);
1078
1079      const fbc = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.FBC, 'string');
1080      const fbp = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.FBP, 'string');
1081
1082      // Network side-effects LAST, individually guarded so one failing never
1083      // aborts the other.
1084      if (isExternalCheckoutEnabled) {
1085        try {
1086          await FacebookTracker.cart.updateAttributes({
1087            [FacebookTracker.config.storageKeys.EXTERNAL_ID]: externalId,
1088            ...(fbc ? { [FacebookTracker.config.storageKeys.FBC]: fbc } : {}),
1089            ...(fbp ? { [FacebookTracker.config.storageKeys.FBP]: fbp } : {})
1090          });
1091        } catch (cartErr) {
1092          FacebookTracker.utils.log('Cart attribute update failed', cartErr);
1093        }
1094      }
1095
1096      try {
1097        await FacebookTracker.tracking.hashCustomer();
1098      } catch (hashErr) {
1099        FacebookTracker.utils.log('hashCustomer failed', hashErr);
1100      }
1101
1102      FacebookTracker.utils.log('FacebookTracker initialized', { externalId, pageData, adParams });
1103    } catch (e) {
1104      FacebookTracker.utils.log('Init failed', e, 'error');
1105    }
1106  }
1107};
1108
1109document.addEventListener('DOMContentLoaded', () => {
1110  FacebookTracker.init().catch(e => FacebookTracker.utils.log('Init error', e, 'error'));
1111});
1112</script>
1112
1113<!-- END app block --><!-- BEGIN app block: shopify://apps/seowill-ai-seo/blocks/seoant-core/8e57283b-dcb0-4f7b-a947-fb5c57a0d59d --><!--SEOAnt Core By SEOAnt Teams, v0.1.6 START -->
1114<!-- JsSON-LD generated By SEOAnt END -->
1115<!-- Start : SEOAnt BrokenLink Redirect -->
1115<script src="https://cdn.shopify.com/extensions/01a0d261-ec07-7224-8562-58005aa6a0f8/seowill-ai-seo-121/assets/seoant-receive-id.js" data-shop="887239-2.myshopify.com" defer></script>
1115<!-- END : SEOAnt BrokenLink Redirect -->
1116<!-- Added By SEOAnt AMP. v0.0.1, START --><!-- Added By SEOAnt AMP END -->
1117<!-- Instant Page START -->
1117<script src="https://cdn.shopify.com/extensions/01a0d261-ec07-7224-8562-58005aa6a0f8/seowill-ai-seo-121/assets/pagespeed-preloading.js" defer="defer"></script>
1117<!-- Instant Page END -->
1118<!-- Google search console START v1.0 --><!-- Google search console END v1.0 -->
1119<!-- Lazy Loading START --><!-- Lazy Loading END -->
1120<!-- Video Lazy START --><!-- Video Lazy END -->
1121<!--  SEOAnt Core End -->
1122<!-- END app block --><!-- BEGIN app block: shopify://apps/flowcart-whatsapp-chat-ai-crm/blocks/sukhiba_checkout/df572ade-ec45-41ca-9091-0f45d9246243 --><!-- Expose settings to JS -->
1123<script id="sukhiba-app-settings" type="application/json">
1124  {
1125    "verticalAlignment": "bottom",
1126    "verticalOffset": 20,
1127    "horizontalAlignment": "right",
1128    "horizontalOffset": 20,
1129    "moneyFormat": "KSh{{amount}}"
1130  }
1131</script>
1131
1132
1133<!-- Load as ES Module (SAFE) -->
1134<script
1135  type="module"
1136  src="https://cdn.shopify.com/extensions/01a119f8-e543-7de6-83d7-2b60a0b69bf4/flowcart-whatsapp-chat-checkout-68/assets/lite-checkout-button.js">
1137</script>
1137
1138
1139
1140
1141<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
1142<script type="text/javascript">
1143  (function (c, l, a, r, i, t, y) {
1144    c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); };
1145    t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify";
1146    y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
1147
1148    c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => {
1149      if (error) {
1150        console.error("Error loading Shopify features:", error);
1151        return;
1152      }
1153
1154      c[a]('consentv2', {
1155        ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied",
1156        analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied",
1157        source: 101,
1158      });
1159    });
1160
1161    l.addEventListener("visitorConsentCollected", function (e) {
1162      c[a]('consentv2', {
1163        ad_Storage: e.detail.marketingAllowed ? "granted" : "denied",
1164        analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied",
1165        source: 101,
1166      });
1167    });
1168  })(window, document, "clarity", "script", "wg64mreg52");
1169</script>
1169
1170
1171
1172
1173<!-- END app block --><!-- BEGIN app block: shopify://apps/uppromote-affiliate/blocks/core-script/64c32457-930d-4cb9-9641-e24c0d9cf1f4 --><!-- BEGIN app snippet: core-metafields-setting --><!--suppress ES6ConvertVarToLetConst -->
1174<script type="application/json" id="core-uppromote-settings">{"app_env":{"env":"production"}}</script>
vendor: 1 bytes, line 1174
1174
1175<script type="application/json" id="core-uppromote-cart">{"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"KES","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}</script>
1175
1176
1177<script id="core-uppromote-quick-store-tracking-vars">
1178    function getDocumentContext(){const{href:a,hash:b,host:c,hostname:d,origin:e,pathname:f,port:g,protocol:h,search:i}=window.location,j=document.referrer,k=document.characterSet,l=document.title;return{location:{href:a,hash:b,host:c,hostname:d,origin:e,pathname:f,port:g,protocol:h,search:i},referrer:j||document.location.href,characterSet:k,title:l}}function getNavigatorContext(){const{language:a,cookieEnabled:b,languages:c,userAgent:d}=navigator;return{language:a,cookieEnabled:b,languages:c,userAgent:d}}function getWindowContext(){const{innerHeight:a,innerWidth:b,outerHeight:c,outerWidth:d,origin:e,screen:{height:j,width:k},screenX:f,screenY:g,scrollX:h,scrollY:i}=window;return{innerHeight:a,innerWidth:b,outerHeight:c,outerWidth:d,origin:e,screen:{screenHeight:j,screenWidth:k},screenX:f,screenY:g,scrollX:h,scrollY:i,location:getDocumentContext().location}}function getContext(){return{document:getDocumentContext(),navigator:getNavigatorContext(),window:getWindowContext()}}
1179    if (window.location.href.includes('?sca_ref=')) {
1180        localStorage.setItem('__up_lastViewedPageContext', JSON.stringify({
1181            context: getContext(),
1182            timestamp: new Date().toISOString(),
1183        }))
1184    }
1185</script>
1185
1186
1187
1188<script id="core-uppromote-setting-booster">
1189    var UpPromoteCoreSettings = JSON.parse(document.getElementById('core-uppromote-settings').textContent)
1190    UpPromoteCoreSettings.currentCart = JSON.parse(document.getElementById('core-uppromote-cart')?.textContent || '{}')
1191    const idToClean = ['core-uppromote-settings', 'core-uppromote-cart', 'core-uppromote-setting-booster', 'core-uppromote-quick-store-tracking-vars']
1192    idToClean.forEach(id => {
1193        document.getElementById(id)?.remove()
1194    })
1195</script>
1195
1196<!-- END app snippet -->
1197
1198
1199<!-- END app block -->
1199<script src="https://cdn.shopify.com/extensions/01a11b30-98d5-7ae3-b2f4-f79b3c6f32c4/judgeme-775/assets/loader.js" type="text/javascript" defer="defer"></script>
1199
1200<link href="https://cdn.shopify.com/extensions/01a119f8-e543-7de6-83d7-2b60a0b69bf4/flowcart-whatsapp-chat-checkout-68/assets/sukhiba-checkout-button.css" rel="stylesheet" type="text/css" media="all">
1201<script src="https://cdn.shopify.com/extensions/956c5dc4-e554-47b9-ac3a-02162874337c/gopixel-google-ads-tracking-6/assets/app-block.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1201
1201
1202<script src="https://cdn.shopify.com/extensions/01a0b35b-fe77-73f6-98ae-1f3438574cf5/bookeasy-184/assets/bookeasy-widget.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1202
1202
1203<script src="https://cdn.shopify.com/extensions/01a11be7-d007-7c81-82fe-1546b01b9593/doran-product-reviews-1791469523/assets/pr-sdk.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1203
1203
1204<script src="https://cdn.shopify.com/extensions/01a11cec-b601-7f9f-9e39-297d35af6c5b/2026-10-08-19-09-22-UTC--55daa00/assets/smile-loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1204
1204
1205<script src="https://cdn.shopify.com/extensions/01a10ad0-9f32-7eb2-a83e-3427bdf52ded/affliate-by-secomapp-129/assets/core.min.js" type="text/javascript" defer="defer"></script>
1205
1206<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1207<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 77325009205,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1207
1207
1208<script>
1209  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1210</script>
vendor: 1 bytes, line 1210
1210
1211<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1211).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 77325009205,storefrontBaseUrl: "https://imanisoko.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://imanisoko.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"3054534965","configuration":"{\"pixel_id\":\"3074698806032385\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"3030679861","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-HCJYS92WEF\\\",\\\"GT-5DGGB5FV\\\",\\\"GT-HCJYS92WEF\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-HCJYS92WEF\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-HCJYS92WEF\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-HCJYS92WEF\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-HCJYS92WEF\\\",\\\"MC-PNJR0HGMF6\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-HCJYS92WEF\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-HCJYS92WEF\\\",\\\"MC-PNJR0HGMF6\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-HCJYS92WEF\\\",\\\"MC-PNJR0HGMF6\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-HCJYS92WEF\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-HCJYS92WEF\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-HCJYS92WEF\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-HCJYS92WEF\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"3024257333","configuration":"{\"configuration\":\"{\\\"should_include_tax_charges\\\": false, \\\"should_track_page_view_enabled\\\": true, \\\"should_include_shipping_charges\\\": false, \\\"supported_content_id_pattern\\\": \\\"VARIANT_ID\\\", \\\"is_visitor_consent_tracking_enabled\\\": true, \\\"is_utm_parameters_enabled\\\": false, \\\"utm_parameters\\\": {\\\"source\\\": \\\"\\\", \\\"medium\\\": \\\"\\\", \\\"campaign\\\": \\\"\\\"}}\",\"pixelEvents\":\"{}\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"78fb0d57f47667786f23934eae6204b3","type":"APP","apiClientId":43967250433,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
1211,"dataSharingState":"unrestricted"},{"id":"2857664821","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2756706613","configuration":"{\"shopId\": \"77325009205\", \"domain\": \"https:\/\/api.trustoo.io\/\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"ba09fa9fe3be54bc43d59b10cafc99bb","type":"APP","apiClientId":6212459,"privacyPurposes":["ANALYTICS","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2634744117","configuration":"{\"shopId\":\"266858\",\"env\":\"production\",\"metaData\":\"[]\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8323bee30e1ec3ae135ae5e0cef4ab6d","type":"APP","apiClientId":2773553,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2631827765","configuration":"{\"accountID\":\"887239-2\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"1d4c781273105676f6b02a329648437f","type":"APP","apiClientId":32196493313,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2619998517","configuration":"{\"projectId\":\"wg64mreg52\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2459369781","configuration":"{\"accountID\":\"887239-2\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"4f82d0323b06a4642fbff9b42c9979eb","type":"APP","apiClientId":12388204545,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2128347445","configuration":"{\"accountID\":\"459161\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6beb2e80c5918031073c477e306feacf","type":"APP","apiClientId":219313,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1524531509","configuration":"{\"accountID\":\"684bdc094673c806529098ea\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"36e3d4a51ce4f54c09fc3ba4b868fb3d","type":"APP","apiClientId":161884340225,"privacyPurposes":["SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Imani Soko","paymentSettings":{"currencyCode":"KES"}
1211,"myshopifyDomain":"887239-2.myshopify.com","countryCode":"KE","storefrontUrl":"https:\/\/imanisoko.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://imanisoko.com/cdn","7ec887c8w14f9f074p854094e1m1370c602",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"152339808565","themePublished":"true","eventMetadataId":"0965b01e-16f1-49d6-b0c9-6fda6a1e8752","pageType":"cart","shopId":"77325009205","storefrontBaseUrl":"https:\/\/imanisoko.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"7ec887c8w14f9f074p854094e1m1370c602","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1211<script>
1212  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1213  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1214  window.ShopifyAnalytics.meta.currency = 'KES';
1215  var meta = {"page":{"pageType":"cart","requestId":"67f827e2-67cb-456d-805c-ab54e89a3107-1791496648"}};
1216  for (var attr in meta) {
1217    window.ShopifyAnalytics.meta[attr] = meta[attr];
1218  }
1219</script>
vendor: 1 bytes, line 1219
1219
1220<script class="analytics">
1221  (function () {
1222    var customDocumentWrite = function(content) {
1223      var jquery = null;
1224
1225      if (window.jQuery) {
1226        jquery = window.jQuery;
1227      } else if (window.Checkout && window.Checkout.$) {
1228        jquery = window.Checkout.$;
1229      }
1230
1231      if (jquery) {
1232        jquery('body').append(content);
1233      }
1234    };
1235
1236    var hasLoggedConversion = function(token) {
1237      if (token) {
1238        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1239      }
1240      return false;
1241    }
1242
1243    var setCookieIfConversion = function(token) {
1244      if (token) {
1245        var twoMonthsFromNow = new Date(Date.now());
1246        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1247
1248        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1249      }
1250    }
1251
1252    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1253    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1254    if (trekkie.integrations) {
1255      return;
1256    }
1257    trekkie.methods = [
1258      'identify',
1259      'page',
1260      'ready',
1261      'track',
1262      'trackForm',
1263      'trackLink'
1264    ];
1265    trekkie.factory = function(method) {
1266      return function() {
1267        var args = Array.prototype.slice.call(arguments);
1268        args.unshift(method);
1269        trekkie.push(args);
1270        if (method == 'track' || method == 'page') {
1271          var pageUrl;
1272          try {
1273            pageUrl = window.location.href;
1274          } catch (e) {}
1275          var pageReferrer;
1276          try {
1277            pageReferrer = document.referrer;
1278          } catch (e) {}
1279          try {
1280            if (window.__TREKKIE_SHIM_QUEUE == null) {
1281              window.__TREKKIE_SHIM_QUEUE = [];
1282            }
1283            window.__TREKKIE_SHIM_QUEUE.push({
1284              from: 'trekkie-stub',
1285              method: method,
1286              args: args.slice(1),
1287              pageContext: {
1288                url: pageUrl,
1289                referrer: pageReferrer
1290              }
1291            });
1292          } catch (e) {
1293            // no-op
1294          }
1295        }
1296        return trekkie;
1297      };
1298    };
1299    for (var i = 0; i < trekkie.methods.length; i++) {
1300      var key = trekkie.methods[i];
1301      trekkie[key] = trekkie.factory(key);
1302    }
1303    trekkie.load = function(config) {
1304      trekkie.config = config || {};
1305      trekkie.config.initialDocumentCookie = document.cookie;
1306      var first = document.getElementsByTagName('script')[0];
1307var script = document.createElement('script');
1308script.type = 'text/javascript';
1309script.onerror = function(e) {
1310  var scriptFallback = document.createElement('script');
1311  scriptFallback.type = 'text/javascript';
1312  scriptFallback.onerror = function(error) {
1313          var Monorail = {
1314      produce: function produce(monorailDomain, schemaId, payload) {
1315        var currentMs = new Date().getTime();
1316        var event = {
1317          schema_id: schemaId,
1318          payload: payload,
1319          metadata: {
1320            event_created_at_ms: currentMs,
1321            event_sent_at_ms: currentMs
1322          }
1323        };
1324        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1325      },
1326      sendRequest: function sendRequest(endpointUrl, payload) {
1327        // Try the sendBeacon API
1328        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1329          var blobData = new window.Blob([payload], {
1330            type: 'text/plain'
1331          });
1332
1333          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1334            return true;
1335          } // sendBeacon was not successful
1336
1337        } // XHR beacon
1338
1339        var xhr = new XMLHttpRequest();
1340
1341        try {
1342          xhr.open('POST', endpointUrl);
1343          xhr.setRequestHeader('Content-Type', 'text/plain');
1344          xhr.send(payload);
1345        } catch (e) {
1346          console.log(e);
1347        }
1348
1349        return false;
1350      },
1351      isIos12: function isIos12() {
1352        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1353      }
1354    };
1355    Monorail.produce('monorail-edge.shopifysvc.com',
1356      'trekkie_storefront_load_errors/1.1',
1357      {shop_id: 77325009205,
1358      theme_id: 152339808565,
1359      app_name: "storefront",
1360      context_url: window.location.href,
1361      source_url: "//imanisoko.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js"});
1362
1363  };
1364  scriptFallback.async = true;
1365  scriptFallback.src = '//imanisoko.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js';
1366  first.parentNode.insertBefore(scriptFallback, first);
1367};
1368script.async = true;
1369script.src = '//imanisoko.com/cdn/s/trekkie.storefront.51e69540e15035ae012ec8cc42e8f9cd792233a0.min.js';
1370first.parentNode.insertBefore(script, first);
1371
1372    };
1373    trekkie.load(
1374      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":77325009205,"isMerchantRequest":null,"themeId":152339808565,"themeCityHash":"10477907049307216206","contentLanguage":"en","currency":"KES","eventMetadataId":"0965b01e-16f1-49d6-b0c9-6fda6a1e8752"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1375    );
1376
1377    var loaded = false;
1378    trekkie.ready(function() {
1379      if (loaded) return;
1380      loaded = true;
1381
1382      window.ShopifyAnalytics.lib = window.trekkie;
1383
1384      var originalDocumentWrite = document.write;
1385      document.write = customDocumentWrite;
1386      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1387      document.write = originalDocumentWrite;
1388
1389      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1390      var token = match? match[1]: undefined;
1391      if (!hasLoggedConversion(token)) {
1392        setCookieIfConversion(token);
1393        
1394      }
1395    });
1396
1397    window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"67f827e2-67cb-456d-805c-ab54e89a3107-1791496648","shopifyEmitted":true});
1398
1399    var eventsListenerScript = document.createElement('script');
1400    eventsListenerScript.async = true;
1401    eventsListenerScript.src = "//imanisoko.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1402    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1403})();</script>
vendor: 1 bytes, line 1403
1403
1404<script
1405  defer
1406  src="https://imanisoko.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.10.1.min.js"
1407  data-application="storefront-renderer"
1408  data-shop-id="77325009205"
1409  data-render-region="gcp-us-central1"
1410  data-page-type="cart"
1411  data-theme-instance-id="152339808565"
1412  data-theme-name="Debut"
1413  data-theme-version="13.4.1"
1414  data-monorail-region="shop_domain"
1415  data-resource-timing-sampling-rate="10"
1416  data-shs="true"
1417  data-shs-beacon="true"
1418  data-shs-export-with-fetch="true"
1419  data-shs-logs-sample-rate="1"
1420  data-shs-beacon-endpoint="https://imanisoko.com/api/collect"
1421></script>
1421
1422<meta name="shopify-y" content="7664ea06-3bc4-4e0a-8258-7be8a10c0e69" data-expiration="1823054248000"><meta name="shopify-s" content="f0b6063f-ed89-4186-a9e7-2ddf471520ad" data-expiration="1791498448000"><meta name="new-cookie-storage-activated" content="t">
1423</head>
1424
1425  <body class="template--cart  ">
1426
1427    <div id="shopify-section-color-swatch" class="shopify-section"><style>
1428  [data-option="color"] .product-page-select,
1429  [name="option-color"],
1430  [data-option="color"] .select-style:before {
1431    display: none;
1432  }
1433
1434  [data-option="color"] .select-style {
1435    display: flex;
1436    align-items: center;
1437    flex-wrap: wrap;
1438    border: none;
1439  }
1440
1441  .option-color-label {
1442    width: 30px;
1443    height: 30px;
1444    color: transparent;
1445    border-radius: 50px;
1446    margin-left: 10px;
1447    background-repeat: no-repeat;
1448    background-size: cover;
1449    border: 2px solid transparent;
1450    cursor: pointer;
1451  }
1452
1453  .option-color-label:first-of-type {
1454    margin-left: 0;
1455  }
1456
1457  input:checked + .option-color-label {
1458    border-color: #af7552;
1459  }
1460
1461  
1462    
1463    
1464    
1465    [for="onyx"] {
1466      background-color: #000000
1467      ;
1468      
1469    }
1470  
1471    
1472    
1473    
1474    [for="cognac"] {
1475      background-color: #b8522a
1476      ;
1477      
1478    }
1479  
1480    
1481    
1482    
1483    [for="black"] {
1484      background-color: #000000
1485      ;
1486      
1487    }
1488  
1489    
1490    
1491    
1492    [for="rust"] {
1493      background-color: #7e3d23
1494      ;
1495      
1496    }
1497  
1498    
1499    
1500    
1501    [for="natural"] {
1502      background-color: #f1e3d5
1503      ;
1504      
1505    }
1506  
1507    
1508    
1509    
1510    [for="lavender"] {
1511      background-color: #efddf2
1512      ;
1513      
1514    }
1515  
1516    
1517    
1518    
1519    [for="tan"] {
1520      background-color: #d7b489
1521      ;
1522      
1523    }
1524  
1525    
1526    
1527    
1528    [for="taupe"] {
1529      background-color: #d9bfa9
1530      ;
1531      
1532    }
1533  
1534    
1535    
1536    
1537    [for="peach"] {
1538      background-color: #daaa83
1539      ;
1540      
1541    }
1542  
1543    
1544    
1545    
1546    [for="white"] {
1547      background-color: #f7eee5
1548      ;
1549      
1550    }
1551  
1552    
1553    
1554    
1555    [for="brown"] {
1556      background-color: #937a5d
1557      ;
1558      
1559    }
1560  
1561    
1562    
1563    
1564    [for="checkered-taupe"] {
1565      background-color: #d9bfa9
1566      ;
1567      
1568        background-image: url('//imanisoko.com/cdn/shop/files/Screenshot_2023-07-18_at_7.07.30_PM_50x.png?v=1689785071');
1569      
1570    }
1571  
1572    
1573    
1574    
1575    [for="checkered-rust"] {
1576      background-color: #9e6726
1577      ;
1578      
1579        background-image: url('//imanisoko.com/cdn/shop/files/Screenshot_2023-07-18_at_7.07.31_PM_50x.png?v=1689785088');
1580      
1581    }
1582  
1583    
1584    
1585    
1586    [for="checkered-black"] {
1587      background-color: #000000
1588      ;
1589      
1590        background-image: url('//imanisoko.com/cdn/shop/files/Screenshot_2023-07-18_at_7.07.27_PM_50x.png?v=1689785091');
1591      
1592    }
1593  
1594</style>
1595</div>
1596    <div id="shopify-section-jc-custom-header" class="shopify-section"><style>
1597  .jc-custom-announcement-bar {
1598    
1599      background-image: url('//imanisoko.com/cdn/shop/files/announcement-bar-back_e2097cd0-5349-429a-b3c1-a768ddfe2d2f_1990x.png?v=1712836625');
1600    
1601    color: #fffaf5
1602    ;
1603    position: relative;
1604  }
1605    .country-flag-image{
1606    width: 18px;
1607    height: 18px;
1608
1609  }
1610  .country-flags-wrapper{
1611    position: absolute;
1612    display: flex;
1613    column-gap: 8px;
1614    margin-top: -3px;
1615    align-items: center;
1616  }
1617  .country-flags-wrapper.mobile{
1618        display: none;
1619      }
1620  @media (max-width: 479px) {
1621    .country-flags-wrapper{
1622        display: none;
1623      }
1624      .country-flags-wrapper.mobile{
1625        display: flex;
1626        padding: 10px 20px;
1627      }
1628}
1629</style>
1630
1631  <div class="jc-custom-announcement-bar">
1632    <div class="country-flags-wrapper">
1633      <a href="https://imani-kids.com/">
1634      <img src="https://cdn.shopify.com/s/files/1/2534/9108/files/usa.svg?v=1710265106" alt="" class="country-flag-image">
1635      </a>
1636      <a href="https://imani-kids.co.ke">
1637      <img src="https://cdn.shopify.com/s/files/1/2534/9108/files/kenya.svg?v=1710265106" alt="" class="country-flag-image">
1638      </a>
1639      <a href="https://imani-kids.com/">
1640      <img src="https://cdn.shopify.com/s/files/1/2534/9108/files/world.svg?v=1710265106" alt="" class="country-flag-image">
1641      </a>
1642    </div>
1643    <p>Free shipping on orders over KES 9,000. Flat rate of KES 400 for Nairobi deliveries.</p>
1644  </div>
1645
1646<div class="jc-custom-header">
1647  <div class="jc-custom-header__top">
1648    <div class="jc-custom-header__header-icon large-up-hide">
1649      <a href="/cart" class="fixed-nav-icon-flex-link fixed-nav-icon-flex-link-right w-inline-block hamburger-icon">
1650        <div class="w-icon-nav-menu"></div>
1651      </a>
1652    </div>
1653    <div class="jc-custom-header__social-icons">
1654      
1655        
1656          <a
1657            href="https://web.facebook.com/profile.php?id=61551484134670"
1658            class="fixed-nav-social-link w-inline-block mobile-hide"
1659            target="_blank"
1660            style="display: inline-block;">
1661            <img
1662              src="//imanisoko.com/cdn/shop/files/Facebook_100x.png?v=1717099141"
1663              alt="Facebook Logo"
1664              class="fixed-nav-social-img">
1665          </a>
1666        
1667      
1668        
1669          <a
1670            href="https://www.instagram.com/imani_soko/"
1671            class="fixed-nav-social-link w-inline-block mobile-hide"
1672            target="_blank"
1673            style="display: inline-block;">
1674            <img
1675              src="//imanisoko.com/cdn/shop/files/Intagram_100x.png?v=1717099141"
1676              alt="Facebook Logo"
1677              class="fixed-nav-social-img">
1678          </a>
1679        
1680      
1681        
1682      
1683        
1684      
1685        
1686      
1687    </div>
1688    <div class="jc-custom-header__heading-logo">
1689      <a href="/" class="header__heading-link"><img src="//imanisoko.com/cdn/shop/files/imani_soko_Long_-_black.jpg?v=1712651015&amp;width=600" alt="Imani Soko" srcset="//imanisoko.com/cdn/shop/files/imani_soko_Long_-_black.jpg?v=1712651015&amp;width=50 50w, //imanisoko.com/cdn/shop/files/imani_soko_Long_-_black.jpg?v=1712651015&amp;width=100 100w, //imanisoko.com/cdn/shop/files/imani_soko_Long_-_black.jpg?v=1712651015&amp;width=150 150w, //imanisoko.com/cdn/shop/files/imani_soko_Long_-_black.jpg?v=1712651015&amp;width=200 200w, //imanisoko.com/cdn/shop/files/imani_soko_Long_-_black.jpg?v=1712651015&amp;width=250 250w, //imanisoko.com/cdn/shop/files/imani_soko_Long_-_black.jpg?v=1712651015&amp;width=300 300w, //imanisoko.com/cdn/shop/files/imani_soko_Long_-_black.jpg?v=1712651015&amp;width=400 400w, //imanisoko.com/cdn/shop/files/imani_soko_Long_-_black.jpg?v=1712651015&amp;width=500 500w, //imanisoko.com/cdn/shop/files/imani_soko_Long_-_black.jpg?v=1712651015&amp;width=600 600w" width="600x" height="172.4705882352941" class="header__heading-logo motion-reduce">
1690      </a>
1691    </div>
1692    <div class="jc-custom-header__header-icons">
1693      <div class="jc-custom-header__header-icon">
1694        <a href="#" class="fixed-nav-icon-flex-link search-modal-open w-inline-block mobile-hide">
1695          <img
1696            src="https://cdn.shopify.com/s/files/1/2534/9108/files/shop_-_all_products_search_icon_a03b9dc5-
169650ac-4edc-a218-f78eb761bf86.png?v=1678745452"
1697            alt="Magnifying Glass"
1698            class="fixed-nav-icon-img">
1699        </a>
1700      </div>
1701      <div class="jc-custom-header__header-ico">
1702        <a href="/cart" class="fixed-nav-icon-flex-link fixed-nav-icon-flex-link-right w-inline-block">
1703          <img
1704            src="https://cdn.shopify.com/s/files/1/2534/9108/files/shop_-_all_products_cart_icon_9269a4df-c37c-4f10-a079-77375a623ffa.png?v=1678745452"
1705            alt="Shopping Cart"
1706            class="fixed-nav-icon-img">
1707        </a>
1708
1709      </div>
1710    </div>
1711  </div>
1712  <div class="jc-custom-header__nav">
1713    <ul class="list-menu">
1714      
1715        <li>
1716          
1717          
1718            
1719          
1720            
1721          
1722            
1723              
1724              
1725              
1726                
1727                <a class="list-menu__item has-megamenu " href="/collections/all">
1728                  Shop
1729                </a>
1730                <div class="mega-menu">
1731                  
1732                  
1733                  <ul class="mega-menu__list small">
1734                    
1735                      <li>
1736                        <a class="mega-menu__link " href="/collections/all">
1737                          Shop
1738                        </a>
1739                        
1740                          <ul class="mega-menu__submenu">
1741                            
1742                              <li>
1743                                <a class="mega-menu__submenu-link " href="/collections/all">
1744                                  Shop All
1745                                </a>
1746                              </li>
1747                            
1748                              <li>
1749                                <a class="mega-menu__submenu-link " href="/collections/50-off-select-banners">
1750                                  50% OFF Select Banners
1751                                </a>
1752                              </li>
1753                            
1754                              <li>
1755                                <a class="mega-menu__submenu-link " href="/collections/best-sellers">
1756                                  Best Sellers
1757                                </a>
1758                              </li>
1759                            
1760                              <li>
1761                                <a class="mega-menu__submenu-link " href="/collections/just-launched">
1762                                  New Arrivals
1763                                </a>
1764                              </li>
1765                            
1766                          </ul>
1767                        
1768                      </li>
1769                    
1770                      <li>
1771                        <a class="mega-menu__link " href="/collections">
1772                          Categories
1773                        </a>
1774                        
1775                          <ul class="mega-menu__submenu">
1776                            
1777                              <li>
1778                                <a class="mega-menu__submenu-link " href="/collections/mini-hang-signs">
1779                                  Hangsigns
1780                                </a>
1781                              </li>
1782                            
1783                              <li>
1784                                <a class="mega-menu__submenu-link " href="/collections/imani-wall-hangings-collection">
1785                                  Banners
1786                                </a>
1787                              </li>
1788                            
1789                              <li>
1790                                <a class="mega-menu__submenu-link " href="/collections/imani-pillow-collection">
1791                                  Pillows
1792                                </a>
1793                              </li>
1794                            
1795                              <li>
1796                                <a class="mega-menu__submenu-link " href="/collections/totes-collection">
1797                                  Totes
1798                                </a>
1799                              </li>
1800                            
1801                              <li>
1802                                <a class="mega-menu__submenu-link " href="/collections/leather-products">
1803                                  Leather Products
1804                                </a>
1805                              </li>
1806                            
1807                              <li>
1808                                <a class="mega-menu__submenu-link " href="/collections/rugs">
1809                                  Rugs
1810                                </a>
1811                              </li>
1812                            
1813                              <li>
1814                                <a class="mega-menu__submenu-link " href="/collections/kikoys">
1815                                  Kikoys
1816                                </a>
1817                              </li>
1818                            
1819                              <li>
1820                                <a class="mega-menu__submenu-link " href="/collections/wristlets">
1821                                  Wristlets
1822                                </a>
1823                              </li>
1824                            
1825                              <li>
1826                                <a class="mega-menu__submenu-link " href="https://imanisoko.com/collections/baskets">
1827                                  Woven Baskets
1828                                </a>
1829                              </li>
1830                            
1831                          </ul>
1832                        
1833                      </li>
1834                    
1835                      <li>
1836                        <a class="mega-menu__link " href="/collections/jewelry">
1837                          JEWELRY
1838                        </a>
1839                        
1840                      </li>
1841                    
1842                  </ul>
1843
1844                  <div class="mega-menu__image-links small">
1845                    <div class="mega-menu__image-item image-size--small">
1846                      <a class="mega-menu__image-link" href="/collections/all">
1847                        <div class="mega-menu__image">
1848                          <img src="//imanisoko.com/cdn/shop/files/Untitleddesign_73_1100x_a49f9f54-0198-41e6-863e-4e9a2cd093b3_450x.jpg?v=1715685239" alt="" />
1849                        </div>
1850                        <span class="mega-menu__image-label">
1851                          Shop all
1852                          <img class="mega-menu__image-arrow" src="https://cdn.shopify.com/s/files/1/2534/9108/files/arrow_our_story.png?v=1678808395">
1853                        </span>
1854                      </a>
1855                    </div>
1856                    <div class="mega-menu__image-item image-size--small">
1857                      <a class="mega-menu__image-link" href="/collections/just-launched">
1858                        <div class="mega-menu__image">
1859                          <img src="//imanisoko.com/cdn/shop/files/001_5c4152c4-69fb-496c-832b-499d3f0f331b_450x.jpg?v=1715685431" alt="" />
1860                        </div>
1861                        <span class="mega-menu__image-label">
1862                          New arrivals
1863                          <img class="mega-menu__image-arrow" src="https://cdn.shopify.com/s/files/1/2534/9108/files/arrow_our_story.png?v=1678808395">
1864                        </span>
1865                      </a>
1866                    </div>
1867                  </div>
1868                </div>
1869                
1870          
1871        </li>
1872      
1873        <li>
1874          
1875          
1876            
1877          
1878            
1879          
1880            
1881              
1882              
1883              
1884            
1885          
1886            
1887              
1888              
1889              
1890                
1891                <a class="list-menu__item has-megamenu " href="/">
1892                  EXPERIENCES
1893                </a>
1894                <div class="mega-menu">
1895                  
1896                  
1897                  <ul class="mega-menu__list small">
1898                    
1899                      <li>
1900                        <a class="mega-menu__link " href="https://imanisoko.com?bookeasy-type=without-product&bookeasy-id=mXbWvibgcuFrShwxf9V3WK">
1901                          Elevated Weaving Experience - Mombasa
1902                        </a>
1903                        
1904                      </li>
1905                    
1906                      <li>
1907                        <a class="mega-menu__link " href="https://imanisoko.com?bookeasy-type=without-product&bookeasy-id=3ki71B5XeN3pD27quh1bYq">
1908                          Old Town Workshop Weaving Experience - Mombasa
1909                        </a>
1910                        
1911                      </li>
1912                    
1913                      <li>
1914                        <a class="mega-menu__link " href="https://imanisoko.com?bookeasy-type=without-product&bookeasy-id=6ZJgxEFjtEjHeaoEmUAdzD">
1915                          Old Town Standard Weaving Experience - Mombasa
1916                        </a>
1917                        
1918                      </li>
1919                    
1920                      <li>
1921                        <a class="mega-menu__link " href="https://imanisoko.com?bookeasy-type=without-product&bookeasy-id=sY3ScVqmJNueeDKH6HN8tV">
1922                          Full Pottery Experience - Mombasa
1923                        </a>
1924                        
1925                      </li>
1926                    
1927                      <li>
1928                        <a class="mega-menu__link " href="https://imanisoko.com?bookeasy-type=without-product&bookeasy-id=6S6k7xokWHQs32Sv92kwJt">
1929                          Old Town Pottery experience option 2 (one session only) - Mombasa
1930                        </a>
1931                        
1932                      </li>
1933                    
1934                  </ul>
1935
1936                  <div class="mega-menu__image-links small">
1937                    <div class="mega-menu__image-item image-size--small">
1938                      <a class="mega-menu__image-link" href="https://imanisoko.com?bookeasy-type=without-product&bookeasy-id=mXbWvibgcuFrShwxf9V3WK">
1939                        <div class="mega-menu__image">
1940                          <img src="//imanisoko.com/cdn/shop/files/Screenshot_2026-04-20_at_12.53.45_PM_450x.png?v=1776682746" alt="" />
1941                        </div>
1942                        <span class="mega-menu__image-label">
1943                          Elevated Weaving Experience
1944                          <img class="mega-menu__image-arrow" src="https://cdn.shopify.com/s/files/1/2534/9108/files/arrow_our_story.png?v=1678808395">
1945                        </span>
1946                      </a>
1947                    </div>
1948                    <div class="mega-menu__image-item image-size--small">
1949                      <a class="mega-menu__image-link" href="https://imanisoko.com?bookeasy-type=without-product&bookeasy-id=sY3ScVqmJNueeDKH6HN8tV">
1950                        <div class="mega-menu__image">
1951                          <img src="//imanisoko.com/cdn/shop/files/Screenshot_2026-04-20_at_2.03.18_PM_450x.png?v=1776683019" alt="" />
1952                        </div>
1953                        <span class="mega-menu__image-label">
1954                          Full Pottery Experience
1955                          <img class="mega-menu__image-arrow" src="https://cdn.shopify.com/s/files/1/2534/9108/files/arrow_our_story.png?v=1678808395">
1956                        </span>
1957                      </a>
1958                    </div>
1959                  </div>
1960                </div>
1961                
1962          
1963        </li>
1964      
1965        <li>
1966          
1967          
1968            
1969          
1970            
1971          
1972            
1973              
1974              
1975              
1976            
1977          
1978            
1979              
1980              
1981              
1982            
1983          
1984            
1985              
1986              
1987              
1988                
1989                <a class="list-menu__item has-megamenu " href="/pages/our-impact">
1990                  Our Model
1991                </a>
1992                <div class="mega-menu">
1993                  
1994                  
1995                  <ul class="mega-menu__list large">
1996                    
1997                      <li>
1998                        <a class="mega-menu__link " href="/pages/our-story">
1999                          Our story
2000                        </a>
2001                        
2002                      </li>
2003                    
2004                      <li>
2005                        <a class="mega-menu__link " href="/pages/our-impact">
2006                          Impact
2007                        </a>
2008                        
2009                      </li>
2010                    
2011                      <li>
2012                        <a class="mega-menu__link " href="/pages/our-leadership">
2013                          Leadership
2014                        </a>
2015                        
2016                      </li>
2017                    
2018                      <li>
2019                        <a class="mega-menu__link " href="/pages/artisans">
2020                          Artisans
2021                        </a>
2022                        
2023                      </li>
2024                    
2025                      <li>
2026                        <a class="mega-menu__link " href="/pages/sustainability">
2027                          Sustainability
2028                        </a>
2029                        
2030                      </li>
2031                    
2032                      <li>
2033                        <a class="mega-menu__link " href="/pages/collaboration">
2034                          Collaboration
2035                        </a>
2036                        
2037                      </li>
2038                    
2039                  </ul>
2040
2041                  <div class="mega-menu__image-links large">
2042                    <div class="mega-menu__image-item image-size--large">
2043                      <a class="mega-menu__image-link" href="/pages/our-story">
2044                        <div class="mega-menu__image">
2045                          <img src="//imanisoko.com/cdn/shop/files/Jenny_Oldtown_6_of_22_-min_450x.jpg?v=1686586463" alt="" />
2046                        </div>
2047                        <span class="mega-menu__image-label">
2048                          Our story
2049                          <img class="mega-menu__image-arrow" src="https://cdn.shopify.com/s/files/1/2534/9108/files/arrow_our_story.png?v=1678808395">
2050                        </span>
2051                      </a>
2052                    </div>
2053                    <div class="mega-menu__image-item image-size--small">
2054                      <a class="mega-menu__image-link" href="/pages/our-impact">
2055                        <div class="mega-menu__image">
2056                          <img src="//imanisoko.com/cdn/shop/files/Old_town_19_of_24_-min_450x.jpg?v=1686586463" alt="" />
2057                        </div>
2058                        <span class="mega-menu__image-label">
2059                          Impact
2060                          <img class="mega-menu__image-arrow" src="https://cdn.shopify.com/s/files/1/2534/9108/files/arrow_our_story.png?v=1678808395">
2061                        </span>
2062                      </a>
2063                    </div>
2064                  </div>
2065                </div>
2066                
2067          
2068        </li>
2069      
2070        <li>
2071          
2072          
2073            
2074          
2075            
2076          
2077            
2078              
2079              
2080              
2081            
2082          
2083            
2084              
2085              
2086              
2087            
2088          
2089            
2090              
2091              
2092              
2093            
2094          
2095          
2096            <a class="list-menu__item " href="https://www.imanicustom.com/">
2097              Custom
2098            </a>
2099          
2100        </li>
2101      
2102        <li>
2103          
2104          
2105            
2106          
2107            
2108          
2109            
2110              
2111              
2112              
2113            
2114          
2115            
2116              
2117              
2118              
2119            
2120          
2121            
2122              
2123              
2124              
2125            
2126          
2127          
2128            <a class="list-menu__item " href="/pages/get-involved">
2129              Get Involved
2130            </a>
2131          
2132        </li>
2133      
2134        <li>
2135          
2136          
2137            
2138          
2139            
2140          
2141            
2142              
2143              
2144              
2145            
2146          
2147            
2148              
2149              
2150              
2151            
2152          
2153            
2154              
2155              
2156              
2157            
2158          
2159          
2160            <a class="list-menu__item " href="https://imanicollective-ourimpact.org/">
2161              Donate
2162            </a>
2163          
2164        </li>
2165      
2166    </ul>
2167 <!-- social icons -->
2168    <div class="large-up-hide mobile-nav-icons">
2169       <!-- search icon on mobile -->
2170        <a href="#" class="fixed-nav-icon-imgav-icon-flex-link search-modal-open w-inline-block">
2171    <img
2172      src="https://cdn.shopify.com/s/files/1/2534/9108/files/shop_-_all_products_search_icon_a03b9dc5-
217250ac-4edc-a218-f78eb761bf86.png?v=1678745452"
2173      alt="Magnifying Glass"
2174      class="fixed-nav-icon-img">
2175</a>
2176
2177        <!-- End of search icon  -->
2178      
2179      
2180        
2181          <a
2182            href="https://web.facebook.com/profile.php?id=61551484134670"
2183            class="fixed-nav-social-link w-inline-block"
2184            target="_blank"
2185            style="display: inline-block;">
2186            <img
2187              src="//imanisoko.com/cdn/shop/files/Facebook_100x.png?v=1717099141"
2188              alt="Facebook Logo"
2189              class="fixed-nav-social-img">
2190          </a>
2191
2192          
2193        
2194      
2195        
2196          <a
2197            href="https://www.instagram.com/imani_soko/"
2198            class="fixed-nav-social-link w-inline-block"
2199            target="_blank"
2200            style="display: inline-block;">
2201            <img
2202              src="//imanisoko.com/cdn/shop/files/Intagram_100x.png?v=1717099141"
2203              alt="Facebook Logo"
2204              class="fixed-nav-social-img">
2205          </a>
2206
2207          
2208        
2209      
2210        
2211      
2212        
2213      
2214        
2215      
2216    </div>
2217<!-- end of the icons  -->
2218    
2219    <div class="country-flags-wrapper mobile">
2220      <a href="https://imani-kids.com/">
2221      <img src="https://cdn.shopify.com/s/files/1/2534/9108/files/usa.svg?v=1710265106" alt="" class="country-flag-image">
2222      </a>
2223      <a href="https://imani-kids.co.ke">
2224      <img src="https://cdn.shopify.com/s/files/1/2534/9108/files/kenya.svg?v=1710265106" alt="" class="country-flag-image">
2225      </a>
2226      <a href="https://imani-kids.com/">
2227      <img src="https://cdn.shopify.com/s/files/1/2534/9108/files/world.svg?v=1710265106" alt="" class="country-flag-image">
2228      </a>
2229    </div>
2230
2231    
2232  </div>
2233</div>
2234</div>
2235
2236    <div class="page-container" id="PageContainer">
2237
2238      <main
2239        class="main-content js-focus-hidden"
2240        id="MainContent"
2241        role="main"
2242        tabindex="-1">
2243        
2244
2245<div id="shopify-section-cart-template" class="shopify-section"><div
2246  class="page-width jc-page-width"
2247  data-section-id="cart-template"
2248  data-section-type="cart-template"
2249  data-ajax-enabled="true">
2250
2251  <div class="hide"data-cart-wrapper>
2252    <div class="cart-header">
2253      <h1 class="cart-header__title jc-cart-header__title">Your cart</h1>
2254      <a href="/collections/all" class="jc-btn-cart w-button">
2255        Continue shopping
2256      </a>
2257    </div>
2258
2259    <form
2260      action="/cart"
2261      method="post"
2262      novalidate
2263      class="cart">
2264      <table>
2265        <thead class="cart__row cart__row--heading">
2266          <th scope="col">Item</th>
2267          <th class="text-right" scope="col">Price</th>
2268          <th class="text-right small--hide" scope="col">Quantity</th>
2269          <th class="text-right small--hide" scope="col">Total</th>
2270        </thead>
2271        <tbody data-cart-line-items></tbody>
2272      </table>
2273
2274      <div class="cart__footer">
2275        <div class="grid"><div class="grid__item medium-up--one-half cart-note">
2276              <label for="CartSpecialInstructions" class="cart-note__label jc-cart-note__label small--text-center">Add a note to your order</label>
2277              <textarea
2278                name="note"
2279                id="CartSpecialInstructions"
2280                class="cart-note__input"
2281                data-cart-notes></textarea>
2282            </div><div class="grid__item text-right small--text-center medium-up--one-half"><div class="hide" data-cart-discount-wrapper>
2283              <div class="order-discount-card-wrapper" data-cart-discount><span class="order-discount order-discount--title order-discount--cart"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-saletag"><path d="M10 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-3H7a1 1 0 0 0-.71.29l-6 6a1 1 0 0 0 0 1.42l4 4a1 1 0 0 0 1.42 0c.19-.2 5.8-5.81 6-6A1 1 0 0 0 12 5V2a2 2 0 0 0-2-2z" fill="#333"/></svg><span class="visually-hidden">Discount:</span>
2284                    <span data-cart-discount-title></span>
2285                  </span>
2286                  <span class="order-discount order-discount--cart order-discount--cart-total">
2287                    -<span data-cart-discount-amount></span>
2288                  </span></div>
2289            </div>
2290
2291            <div class="cart-subtotal">
2292              <span class="cart-subtotal__title jc-cart-subtotal__title">Subtotal</span>
2293              <span class="cart-subtotal__price jc-cart-subtotal__price" data-cart-subtotal>KSh0.00</span>
2294            </div><div class="cart__shipping jc-cart__shipping rte">shipping calculated at checkout
2295</div>
2296            
2297            <!-- Route Code Edited 01/12/2022 -->
2298            <div class="route-div"></div>
2299            <div style="font-size: 12px; margin-top: -10px; margin-bottom: 10px; line-height: 15px;">*By deselecting package protection, Imani Collective <br> is not liable for lost, damaged, or stolen items.</div>
2300            <!-- Route Code End -->
2301            <div class="cart__buttons-container">
2302              <div class="cart__submit-controls"><input
2303                  type="submit"
2304                  name="checkout"
2305                  class="jc-button jc-secondary-button"
2306                  value="Check out">
2307              </div>
2308
2309              <div
2310                class="cart__error-message-wrapper hide"
2311                role="alert"
2312                data-cart-error-message-wrapper>
2313                <span class="visually-hidden">Error
2314                </span>
2315                <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-error" viewBox="0 0 14 14"><g fill="none" fill-rule="evenodd"><path d="M7 0a7 7 0 0 1 7 7 7 7 0 1 1-7-7z"/><path class="icon-error__symbol" d="M6.328 8.396l-.252-5.4h1.836l-.24 5.4H6.328zM6.04 10.16c0-.528.432-.972.96-.972s.972.444.972.972c0 .516-.444.96-.972.96a.97.97 0 0 1-.96-.96z" fill-rule="nonzero"/></g></svg>
2316                <span class="cart__error-message" data-cart-error-message></span>
2317              </div></div>
2318          </div>
2319        </div>
2320      </div>
2321    </form>
2322
2323    <p
2324      class="visually-hidden"
2325      data-cart-status
2326      aria-live="polite"
2327      role="status"></p>
2328  </div>
2329
2330  <div class="empty-page-content text-center" data-empty-page-content>
2331    <h1 class="cart-header__title jc-cart-header__title">Your cart</h1>
2332    <p class="cart--empty-message jc-cart--empty-message">Your cart is currently empty.</p>
2333    <div class="cookie-message">
2334      <p>Enable cookies to use the shopping cart</p>
2335    </div>
2336    <a href="/" class="jc-button jc-secondary-button">Continue shopping</a>
2337  </div>
2338</div>
2339
2340
2341
2342</div>
2343
2344
2345      </main>
2346
2347      <div id="shopify-section-jc-custom-footer" class="shopify-section"><style>
2348  .jc-custom-footer {
2349    background-color: #b58c41
2350  }
2351</style>
2352<div class="jc-custom-footer">
2353  <div class="jc-custom-footer--wrapper">
2354    
2355    
2356      <div class="jc-custom-footer--block block--store_info">
2357        
2358          <div class="jc-custom-footer--block-detail">
2359            
2360             
2361                <h2 class="jc-custom-footer__heading">
2362                  Get in touch
2363                </h2>
2364                <a class="jc-custom-footer__link" href="mailto: [email protected]">
2365                  [email protected]
2366                </a>
2367             
2368            
2369            
2370              <h2 class="jc-custom-footer__store-heading">
2371                artisan workshop/gift shop
2372              </h2>
2373              <div class="jc-custom-footer__store-text">
2374                <p></p><p>Ndia Kuu Rd.<br/>Mombasa, Kenya<br/>(Old Town | By Fort Jesus)</p>
2375              </div>
2376            
2377            
2378          </div>
2379          
2380      </div>
2381    
2382      <div class="jc-custom-footer--block block--newsletter">
2383        
2384          <div class="jc-custom-footer--block-newsletter">
2385            
2386              <div class="jc-custom-footer__newsletter-header">
2387                <h2 class="jc-custom-footer__heading">
2388                  Subscribe to our newsletter
2389                </h2>
2390                
2391                  <img src="//imanisoko.com/cdn/shop/files/newsletter_100x.png?v=1686586466" alt="" />
2392                
2393              </div>
2394            
2395<form method="post" action="/contact#ContactFooter" id="ContactFooter" accept-charset="UTF-8" class="footer__newsletter newsletter-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /><input
2396                type="hidden"
2397                name="contact[tags]"
2398                value="newsletter">
2399              <div class="newsletter-form__field-wrapper">
2400                <div class="field">
2401                  <input
2402                    id="NewsletterForm--jc-custom-footer"
2403                    type="email"
2404                    name="contact[email]"
2405                    class="field__input"
2406                    value=""
2407                    aria-required="true"
2408                    autocorrect="off"
2409                    autocapitalize="off"
2410                    autocomplete="email"
2411                    placeholder="email address"required>
2412                  <button
2413                    type="submit"
2414                    class="newsletter-form__button field__button"
2415                    name="commit"
2416                    id="Subscribe"
2417                    aria-label="submit">
2418                    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-arrow-left" viewBox="0 0 20 8"><path d="M4.814 7.555C3.95 6.61 3.2 5.893 2.568 5.4 1.937 4.91 1.341 4.544.781 4.303v-.44a9.933 9.933 0 0 0 1.875-1.196c.606-.485 1.328-1.196 2.168-2.134h.752c-.612 1.309-1.253 2.315-1.924 3.018H19.23v.986H3.652c.495.632.84 1.1 1.036 1.406.195.306.485.843.869 1.612h-.743z" fill="#000" fill-rule="evenodd"/></svg>
2419                  </button>
2420                </div></div></form>
2421              <div class="jc-custom-footer__text">
2422                <p>sign up and get 10% off your first order</p>
2423              </div>
2424            
2425            
2426
2427            <div style="margin-top: 10px; margin-bottom: 10px; position: static" class="country-flags-wrapper">
2428              <a href="https://imani-kids.com/">
2429              <img src="https://cdn.shopify.com/s/files/1/2534/9108/files/usa.svg?v=1710265106" alt="" class="country-flag-image">
2430              </a>
2431              <a href="https://imani-kids.co.ke">
2432              <img src="https://cdn.shopify.com/s/files/1/2534/9108/files/kenya.svg?v=1710265106" alt="" class="country-flag-image">
2433              </a>
2434              <a href="https://imani-kids.com/">
2435              <img src="https://cdn.shopify.com/s/files/1/2534/9108/files/world.svg?v=1710265106" alt="" class="country-flag-image">
2436              </a>
2437            </div>
2438
2439            
2440          </div>
2441          
2442      </div>
2443    
2444      <div class="jc-custom-footer--block block--menu">
2445        
2446          <div class="jc-custom-footer--block-menu">
2447            
2448              <h2 class="jc-custom-footer__heading">
2449                Customer care
2450              </h2>
2451            
2452            <ul class="jc-custom-footer__menu-list">
2453              
2454                <li>
2455                  <a class="jc-custom-footer__link " href="/pages/shipping-returns">
2456                    shipping + returns
2457                  </a>
2458                </li>
2459              
2460                <li>
2461                  <a class="jc-custom-footer__link " href="/pages/faqs">
2462                    F.A.Q.s
2463                  </a>
2464                </li>
2465              
2466                <li>
2467                  <a class="jc-custom-footer__link " href="/pages/product-care">
2468                    product care
2469                  </a>
2470                </li>
2471              
2472                <li>
2473                  <a class="jc-custom-footer__link " href="/pages/privacy-policy">
2474                    privacy policy
2475                  </a>
2476                </li>
2477              
2478                <li>
2479                  <a class="jc-custom-footer__link " href="/pages/contact">
2480                    contact
2481                  </a>
2482                </li>
2483              
2484                <li>
2485                  <a class="jc-custom-footer__link " href="/pages/wholesale">
2486                    Wholesale
2487                  </a>
2488                </li>
2489              
2490            </ul>
2491            
2492              
2493              <ul class="social-list">
2494  
2495    <li>
2496      <a
2497        target="_blank"
2498        href="https://web.facebook.com/profile.php?id=61551484134670"
2499        class="social-link">
2500        <img class="" src="https://cdn.shopify.com/s/files/1/0773/2500/9205/files/Facebook_1.png?v=1717099517">
2501      </a>
2502    </li>
2503  
2504  
2505    <li>
2506      <a
2507        target="_blank"
2508        href="https://www.instagram.com/imani_soko/"
2509        class="social-link">
2510        <img class="" src="https://cdn.shopify.com/s/files/1/0773/2500/9205/files/Instagram.png?v=1717099516">
2511      </a>
2512    </li>
2513  
2514  
2515    <li>
2516      <a
2517        target="_blank"
2518        href="https://www.pinterest.com/imani_soko/"
2519        class="social-link">
2520        <img class="" src="https://cdn.shopify.com/s/files/1/0773/2500/9205/files/pinterest_1.png?v=1717099516">
2521      </a>
2522    </li>
2523  
2524</ul>
2525            
2526          </div>
2527      
2528      </div>
2529    
2530      <div class="jc-custom-footer--block block--menu">
2531        
2532          <div class="jc-custom-footer--block-menu">
2533            
2534              <h2 class="jc-custom-footer__heading">
2535                Navigation
2536              </h2>
2537            
2538            <ul class="jc-custom-footer__menu-list">
2539              
2540                <li>
2541                  <a class="jc-custom-footer__link " href="/collections/all">
2542                    shop
2543                  </a>
2544                </li>
2545              
2546                <li>
2547                  <a class="jc-custom-footer__link " href="/">
2548                    EXPERIENCES
2549                  </a>
2550                </li>
2551              
2552                <li>
2553                  <a class="jc-custom-footer__link " href="/pages/our-story">
2554                    our story
2555                  </a>
2556                </li>
2557              
2558                <li>
2559                  <a class="jc-custom-footer__link " href="/pages/get-involved">
2560                    get involved
2561                  </a>
2562                </li>
2563              
2564                <li>
2565                  <a class="jc-custom-footer__link " href="/pages/get-involved#custom-pieces-button">
2566                    we're hiring
2567                  </a>
2568                </li>
2569              
2570                <li>
2571                  <a class="jc-custom-footer__link " href="/blogs/thoughts">
2572                    blog
2573                  </a>
2574                </li>
2575              
2576                <li>
2577                  <a class="jc-custom-footer__link " href="/pages/press-and-events">
2578                    press
2579                  </a>
2580                </li>
2581              
2582            </ul>
2583            
2584          </div>
2585      
2586      </div>
2587    
2588  </div>
2589</div>
2590</div>
2591    </div>
2592
2593    
2594      
2594<script>
2595        if ($(window).width() > 977) {
2596          var nav_scroll_height = 137;
2597        } else {
2598          nav_scroll_height = 50;
2599        }
2600
2601        $(document).ready(function() {
2602          $(".nav-flex-link-mega").hover(function() {
2603            $(this).find('.nav-flex-link-mega-text').addClass('nav-flex-link-mega-text-hover');
2604          }, function() {
2605            $(this).find('.nav-flex-link-mega-text').removeClass('nav-flex-link-mega-text-hover');
2606          });
2607        });
2608
2609
2610        $(document).ready(function() {
2611          var fixed_height = $('.fixed-wrapper').height();
2612          var new_height = fixed_height + 'px';
2613          $('body').css('padding-top', new_height);
2614
2615          if ($('.w-nav-button').is(":visible")) {
2616            var announce_height = $('.announce-bar-wrapper').outerHeight();
2617            var new_nav_height = announce_height + 'px';
2618            $('.hero-nav-section').css('top', new_nav_height);
2619          }
2620
2621          var announce_height_desktop = $('.announce-bar-wrapper').outerHeight();
2622          var announce_hegit_new_value = announce_height_desktop + 13;
2623          var announce_hegit_new_value_formatted = announce_hegit_new_value + 'px';
2624          $('#shopify-section-jc-hero-nav').css('top', announce_hegit_new_value_formatted);
2625
2626        });
2627      </script>
2627
2628    
2629
2630
2631    
2632
2633    
2634
2635    
2636
2637    
2638
2639    
2640
2641    
2642    
2643
2644    
2645
2646    <div id="shopify-section-jc-search-modal" class="shopify-section"><div class="search-modal">
2647
2648    <div class="search-modal-content-wrapper">
2649        <div class="search-modal-close-btn"><img src="//cdn.shopify.com/s/files/1/2534/9108/files/close.png" loading="lazy" alt="Close" class="search-modal-close-img" /></div>
2650        <div class="search-modal-form-block">
2651            <form  action="/search" >
2652                <div class="flex-row-search-modal">
2653                    <input type="text" class="form-input-modal-search w-input" maxlength="256" name="q" placeholder="Search..." id="search" />
2654                    <input type="submit" value="Search" data-wait="Please wait..." class="search-modal-btn w-button" />
2655                </div>
2656            </form>
2657        </div>
2658        
2659    </div>
2660
2661</div>
2662
2663<script type="text/javascript">
2664
2665  $(document).ready(function(){
2666
2667
2668
2669      $('.search-modal-open').click(function(e) {
2670        e.preventDefault();
2671        $('body').css('overflow', 'hidden');
2672        var current_modal = $('.search-modal');
2673        current_modal.css('display','block');
2674        current_modal.fadeTo(500,1);
2675        
2676    });
2677
2678      $('.search-modal-close-btn').click(function(e) {
2679          e.preventDefault();
2680          $('body').css('overflow', 'auto');
2681          var current_modal = $('.search-modal');
2682          current_modal.fadeTo(500,0,function(){
2683          $(this).hide();
2684      });
2685
2686      });
2687
2688
2689  });
2690  
2691</script>
2691
2692
2693
2694</div>
2695
2696    
2697
2698  <div id="shopify-block-ANGtrVkhGc2dNU1FHT__1143683040400472741" class="shopify-block shopify-app-block">
2699
2700  
2700<script id='tt_product_rating' type='application/json'>
2701    
2702  </script>
2702<!-- BEGIN app snippet: carousel -->
2702<script>
2703(function(){
2704if(!window.TrustooCarouselEmbedded){
2705window.TrustooCarouselEmbedded = true
2706	const script = document.createElement("script");
2707		script.dataset.name="trustooCarousel"
2708  script.dataset.shop_id = "77325009205"
2709  script.dataset.page = "cart"
2710	script.dataset.productId = "null"
2711  script.setAttribute('defer',true)
2712  script.setAttribute('id',"trustoo-carousel-script")
2713
2714let src = "https://cdn.shopify.com/extensions/01a0c380-6389-7017-91ff-8b932c2b1946/cwilltrustoo-reviews-286/assets/swiper-reviews.min.js";script.src = src
2715
2716	document.head.appendChild(script);
2717  const link = document.createElement("link");
2718  	link.rel = "stylesheet";
2719	link.href = `https://cdn.shopify.com/extensions/01a0c380-6389-7017-91ff-8b932c2b1946/cwilltrustoo-reviews-286/assets/swiper-reviews.min.css`;
2720	document.head.appendChild(link);
2721}
2722})()
2723</script>
2723<!-- END app snippet -->
2723<script src="https://cdn.shopify.com/extensions/01a0c380-6389-7017-91ff-8b932c2b1946/cwilltrustoo-reviews-286/assets/seal-review.min.js" defer></script>
2723<style>
2724.shopify-block.shopify-app-block:has(>[data-app="trustoo"]){
2725  width:100%
2726}
2727</style>
2728
2729
2730<script id="vstar_product_review">
2731var shopifyObj = {
2732	shop_id : 77325009205,
2733	productName : null,
2734	productId : null,
2735	productImage : null,
2736	themeName : null,
2737};
2738var trustoo_shopify_block_status = 2;
2739window.isTrustooReviewsExecuted = false;
2740window.TrustooReviews = {reviews:{},carousel:{},curPage:"cart"}
2741var trustoo_ins_inserted_status = 2;
2742window.TrustooReviews.pageType = 'cart';
2743</script>
vendor: 2 bytes, line 2743
2743
2744<script>
2745  (function(){
2746  let trustooCSSLink = "https://cdn.shopify.com/extensions/01a0c380-6389-7017-91ff-8b932c2b1946/cwilltrustoo-reviews-286/assets/trustoo-reviews.min.css";
2747  let trustooSignLink = "https://cdn.shopify.com/extensions/01a0c380-6389-7017-91ff-8b932c2b1946/cwilltrustoo-reviews-286/assets/trustoo-sign.min.js";
2748  let trustooSignTestLink = "https://cdn.shopify.com/extensions/01a0c380-6389-7017-91ff-8b932c2b1946/cwilltrustoo-reviews-286/assets/trustoo-sign-test.min.js";window.TrustooReviews.reviews.trustooCSSLink = trustooCSSLink
2749    window.TrustooReviews.reviews.trustooSignLink = trustooSignLink
2750    window.TrustooReviews.reviews.trustooSignTestLink = trustooSignTestLink
2751  })()
2752</script>
2752
2753
2754<script>
2755     null
2756</script>
vendor: 2 bytes, line 2756
2756
2757<script>
2758     
2759</script>
2759
2760
2761<script>
2762var vstar_review_settings= {"is_activate_reviews":1,"is_qa_active":2,"is_active_store_review":2,"store_reviews_count":0,"layout":3,"is_transparent":2,"is_hide_ratings":2,"is_show_review_number":1,"is_show_review_title":1,"is_activate_product_rating":1,"is_activate_collection_rating":1,"is_activate_home_rating":2,"is_activate_home_reviews":2,"collection_pages_display_content":0,"is_show_stars_without_review":1,"is_show_list_stars_without_review":2,"rating_icon_type":1,"font_color":"#303030","star_color":"#FFA800","nostar_color":"#E6E6E6","card_bg_color":"#FFFFFF","box_bg_color":"#FFFFFF","verified_badge_color":"#303030","badge_text_color":"#303030","button_bg_color":"#FFFFFF","button_color":"#303030","button_border_color":"#303030","dividing_line_color":"#D9D9D9","card_shadow":"Dark","reply_bg_color":"#F2F2F2","qa_colors":"#303030,#E6E6E6,#E6E6E6,#303030,#303030,#F2F2F2","avatar_bg_color":"#EEEEEE","avatar_text_color":"#303030","attributes_bg_color":"#f2f2f2","font":"","font_size":14,"border_radius":2,"album_radius":4,"photo_radius":4,"attributes_style":1,"language":"en","lang_reviews":"reviews","is_translate_review":2,"auto_switch_language":2,"is_show_country_flag":2,"reviews_per_page_number":15,"review_sort_by":"comprehensive-descending","review_pagination_type":1,"review_date_format_type":5,"rating_filter":1,"review_empty_status_display":1,"is_show_album":1,"is_show_review_button":1,"is_show_helpful":2,"is_show_verified_badge":1,"verified_icon_type":1,"customer_avatar":1,"store_avatar_src":"","store_name":"Imani Soko","item_type":1,"sidetab_setting":{"sidetab_is_enabled":0,"sidetab_background_color":"#303030","sidetab_font_color":"#FFFFFF","sidetab_button_text":"★Reviews","show_corresponding_product":1},"reviews_css_code":"","rating_css_code":"","is_show_empty_review":1,"detail_rating_top":10,"detail_rating_bottom":15,"list_rating_top":5,"list_rating_bottom":5,"detail_rating_color":"","list_rating_color":"","attributes_color":"#303030","show_attribute":1,"all_reviews_display_type":"both","product_reviews_display_type":"product","is_activate_search_rating":2,"show_review_date":true,"show_verified_badge":true,"show_country_flag":true,"show_verification_methodology":false,"shop_verified_badge_color":"Purple","metafield_version":1789985764}
2763var vstar_custom_info = {"get_move_review_info":{"list":[]},"custom_style_info":{"list":[]},"star_insert_adaptation_info":{"list":[]},"custom_carousel_info":{"list":[]}}
2764var vstar_lang_json = {"customer_reviews":"Customer Reviews","no_reviews":"There are no reviews yet.","no_questions":"There are no questions yet.","write_reviews":"Write a review","name":"Your name","email":"Your email","feedback":"Share your feedback with us now","required":"Please fill in this field","email_error":"This is not a valid email format","add_photo":"Add photo","submit":"Submit review","success_message":"Thanks!","submitted_successfully":"Your review has been published","continue_shopping":"Continue","star":"Star","stars":"Stars","reviews":"reviews","error_tip":"Sorry, something went wrong, please try again later","more":"More","submitting":"Submitting","show_full_review":"Show full review","helpful":"Helpful?","sort_by":"Sort by","sort_by_options":["Photo priority","Newest","Highest Ratings","Lowest Ratings","Most Relevant"],"verified_purchase":"Verified purchase","order_verified":"The reviewer has a confirmed order at this store.","platforms_verified":"This review is synced from the other platforms.","transaction_verified":"This review was added from the store's transaction records.","you_rating":"Rating","phone":"Phone number","reply":"Reply","shop_name":"{{shop_name}}","item_type":"Item type:","product_pages_reviews":"{{star}} {{review_number}} Reviews","list_rating_content":"{{star}} ({{review_number}})","buyers_shows":"Review snippets","copy_succ":"Copy successfully","search_not_prod":"We couldn't find any matching products.","total_review":"{{review_number}} ★★★★★ verified customer ratings","review_with_content":"{{content_review_number}} with detailed reviews","no_content_review":"Be the first to leave a detailed review!","side_tab":"★Reviews","separate_review_form":{"slide_1_title":"How would you rate this item?","slide_2_title":"Show it off","slide_2_subtitle":"We'd love to see it in action!","slide_3_title":"Tell us more!","slide_4_title":"About you","slide_5_title":"Thanks!","slide_5_subtitle":"Your review has been published","discount":"Get {{Discount}} off your next purchase!","add_photo":"Add photo","or":"Or","add_video":"Add video","back":"Back","skip":"Skip","uploading":"Uploading","uploading_video_tip":"Uploading video,please wait...","next":"Next","content_from_placeholder":"Share your experience","your_name":"Your name","email":"Email","done":"Done","continue":"Continue","rating_options":["Love it","Like it!","It's okay","Didn't like it","Hate it"],"discount_setting":{"title":"You've got a {{currency}}{{Discount_amount}} off coupon!","subtitle":"Your review has been published! Here is a {{currency}}{{Discount_amount}} off coupon code to use on your next purchase.","tip_1":"Add photos get {{currency}}{{Discount_amount}} off your next purchase!","tip_2":"Post real feelings get {{currency}}{{Discount_amount}} off your next purchase!","tip_3":"Sharing your experience to get {{currency}}{{Discount_amount}} off for your next purchase!","copy":"Copy","no_discount":"Add your photo or video to the review and help our community of shoppers!","photo_discount":"Add a photo to get {{currency}}{{Discount_amount}} off for your next purchase!","video_discount":"Add a video to get {{currency}}{{Discount_amount}} off for your next purchase!"},"select_product_title":"Select product","search_product_input_prompt":"Search products by name...","add_media_to_review":"Add media to your review for {{product_title}}, Get {{currency}}{{Discount_amount}} off for your next purchase!","add_photo_or_video":"Add a photo or video","no_thanks":"No thanks","thanks_for_feedback":"Thanks for your feedback","see_other_products":"See other products","use_discounts":"Use discounts","close"
2764:"Close","attr_next":"Next","attr_skip":"Skip","add_media_review":"Add media to your review for {{product_title}}. Get {{currency}}{{discount_amount}} off for your next purchase!","done_text":"Done","copy":"Copy","feedback_message":"Your review has been submitted! You'll get {{discountVal}} off your next purchase.","privacy_policy":"Privacy Policy","terms":"Terms","consent_text":"By submitting this review, you agree to CWILL's {{privacy_policy}} and {{terms}} regarding the processing of your personal data.","select_all":"Select all that apply","choose_one":"Choose one","purchase_required":"Please purchase the product first.","request_review_title":"Tell us more!","request_one_star_label":"Hate it","request_five_star_label":"Love it","request_review_input_prompt":"Share your experience","request_next_button":"Next","request_about_you_title":"About you","request_your_name":"Your name","request_email":"Email","request_consent_text":"By submitting this review, you agree to CWILL's {{privacy_policy}} and {{terms}} regarding the processing of your personal data.","request_privacy_policy":"Privacy Policy","request_terms":"Terms","request_done":"Done"},"summary":{"product_summary_title":"What customers are saying","product_summary_generated":"AI generated from customer reviews","home_summary_title":"What customers are saying","home_summary_generated":"AI generated from customer reviews"},"card_carousel":{"header_title":"Excellent","header_review_rating_text":"average","header_review_count_text":"reviews","text":{"title":"Our customers love us","desc":"{{total_rating}} star Based on {{total_reviews}}  reviews"},"photo":{"title":"Our customers love us","desc":"{{total_rating}} star Based on {{total_reviews}}  reviews"},"barrage":{"title":"Our customers love us","desc":"{{total_rating}} star Based on {{total_reviews}}  reviews"}},"all_in_one_from":{"write_reviews":"Write a review","or":"Or","add_video":"Add video","discount_setting":{"title":"You've got a {{currency}}{{Discount_amount}} off coupon!","subtitle":"Your review has been published! Here is a {{currency}}{{Discount_amount}} off coupon code to use on your next purchase.","tip_1":"Add photos get {{currency}}{{Discount_amount}} off your next purchase!","tip_2":"Post real feelings get {{currency}}{{Discount_amount}} off your next purchase!","tip_3":"Sharing your experience to get {{currency}}{{Discount_amount}} off for your next purchase!","copy":"Copy","no_discount":"Add your photo or video to the review and help our community of shoppers!","photo_discount":"Add a photo to get {{currency}}{{Discount_amount}} off for your next purchase!","video_discount":"Add a video to get {{currency}}{{Discount_amount}} off for your next purchase!"},"review":"Review","title":"Title","select_product_title":"Select product","search_product_input_prompt":"Search products by name...","add_media_to_review":"Add media to your review for {{product_title}}, Get {{currency}}{{Discount_amount}} off for your next purchase!","add_photo_or_video":"Add a photo or video","no_thanks":"No thanks","thanks_for_feedback":"Thanks for your feedback","see_other_products":"See other products","use_discounts":"Use discounts","close":"Close","attr_next":"Next","attr_skip":"Skip","add_media_review":"Add media to your review for {{product_title}}, Get {{currency}}{{discount_amount}} off for your next purchase!","done_text":"Done","copy":"Copy","feedback_message":"Your review has been submitted! You'll get {{discountVal}} off your next purchase.","privacy_policy":"Privacy Policy","terms":"Terms","consent_text":"By submitting this review, you agree to CWILL's {{privacy_policy}} and {{terms}} regarding the processing of your personal data.","select_all":"Select all that apply","choose_one":"Choose one","error_file_tip":"Upload stopped, unsupported file detected.","upload_tip":"Uploading. Please submit after it finishes.","purchase_required":"Please purchase the product first.","request_review_title":"Tell us more!","request_one_star_label":"Hate it","request_five_star_label":"Love it","request_review_input_prompt":"Share your experience","request_next_button":"Next","request_about_you_title":"About you","request_your_name":"Your name","request_email":"Email","request_consent_text":"By submitting this review, you agree to CWILL's {{privacy_policy}} and {{terms}} regarding the processing of your personal data.","request_privacy_policy":"Privacy Policy","request_terms":"Terms","request_done":"Done"},"question_and_answer":{"title":"Questions","ask_a_question":"Ask a question","helpful":"Was this helpful?","desc_placeholder":"Please describe your question in detail...","submit_question":"Submit question","submitted":"Your question has been submitted. You will be notified via email when the answer is given.","question":"Question","thanks":"Thanks!","publish_title":"Is it public?","public_options_yes":"Yes","public_options_no":"No"},"referral":{"discount":"Give {{currency}}{{friend_discount}}","reward":"Get {{currency}}{{advocate_reward}}","gift":"Give your friends a gift!","reward_desc":"For every friend that uses their {{currency}}{{friend_discount}} discount, you’ll get a {{currency}}{{advocate_reward}} discount as well!","newOnly":"Discount limited to new customers only","code":"Get Discount Code","got_discount_title":"You got {{currency}}{{friend_discount}} off!","got_discount_desc":"Thanks to your friend, you have a {{currency}}{{friend_discount}} discount to shop at {{shop_name}}","copy":"Copy","continue":"Continue","applied":"Code will be applied at checkout","amount_tip":"Minimum purchase amount: {{currency}}{{minimum_amount}}","oops":"Oops","self_refer":"You cannot refer yourself, sorry. But don’t worry, referring friends and family works great.","copied":"Copied"},"checkout":{"title":"The system will automatically give a positive review if no evaluation is made within the specified time.","desc":"You can modify the reviews at any time through the link provided in the email.","content":"{{review_number}}+  5-star  reviews","badge1":"Shopify keeps your information and payment safe","badge2":"Please modify the text in \"Custom language text\"","badge3":"Please modify the text in \"Custom language text\""},"thankyou":{"title":"About automatic positive reviews","desc":"By agreeing, you authorize {{Store Name}} to automatically submit positive reviews on your behalf if no reviews are made within a certain period after you place an order, and you can update these reviews at any time","agree":"I Agree","notAgree":"I Do Not Agree"},"time_ago":{"just":"Just","minute":"{{time_number}} minute ago","hour":"{{time_number}} hour ago","day":"{{time_number}} day ago","month":"{{time_number}} month ago","year":"{{time_number}} year ago","minutes":"{{time_number}} minutes ago","hours":"{{time_number}} hours ago","days":"{{time_number}} days ago","months":"{{time_number}} months ago","years":"{{time_number}} years ago"},"store_review":{"write_btn_text":"Write a store review","tab_name":"Store reviews"},"customer_extensions":{"store_review_title":"Store reviews","store_no_review_prompt":"Share your experience with this store.","product_review_title":"Product reviews","product_no_review_prompt":"No products purchased yet","order_button":"Go to Order","edit_review_button":"Edit Reviews","select_product":"Select the product you want to feedback","next_button":"Next","product_information":"What do you think about {{product_title}}?","media_reminder":"Add Photos","submit_button":"Submit Reviews","thank_you_message":"Thank y
2764ou for your review!","done_button":"Done","write_review_title":"Write a review","submit_review_button":"Submit Review","no_reviews_found":"No reviews found for your orders.","write_review_button":"Write a review","store_review_button":"Write a store review","review_title":"Review Title","review_comment":"Review Comment"},"preview":{"sandbox_preview":"You are in a sandbox preview area. This is not your actual store page. All comments and data here are example data and \u003cb\u003ewill not appear in your live store\u003c/b\u003e. You can also check your real store here.","no_review":"You don't have any reviews yet. Add or collect your own to see them live in your store!","activate_widget":"You can also activate this widget directly from your admin to match your store's style and preferences. Click \u003c0\u003ehere\u003c/0\u003e to start.","check_store":"Check live store","import_reviews":"Import reviews","collect_reviews":"Collect reviews","photo_carousel":"Recommended Widgets: Photo carousel ","ai_summary":"Recommended Widgets: AI summary "},"review_tab_name":"Reviews","unsubscribe":{"desc":"This kind of message will not be received after unsubscribing. Do you want to unsubscribe?","cancel":"Cancel","subscribe":"Unsubscribe","successfully":"Unsubscribe successfully","goto":"Go to the store"}}
2765var vstar_write_review_settings = {"write_review_form":1,"show_email":1,"require_email":1,"show_phone":2,"require_phone":2,"show_title":2,"require_title":2,"show_feedback":1,"require_feedback":1,"review_button_background_color":"#303030","review_button_text_color":"#FFFFFF","thanks_button_background_color":"#303030","thanks_button_text_color":"#FFFFFF","enabled_add_video":0,"login_to_left_review":2,"leave_review_method":1,"rating_icon_type":1,"discount_setting":{"discount_for_photo_reviews":1,"currency":"Ksh","discount_type":1,"discount_value":"","discount_incentive_conditions":1,"discount_for_reviews_form":1,"reward_strategy":2,"discount_value_star":"","discount_value_text":"10%","discount_value_photo":"15%","discount_value_video":""},"popup_radius":4,"button_radius":4,"discount_card_radius":30,"star_color":"#FF9900","text_color":"#303030","discount_bg_color":"#FFFFFF","discount_text_color":"#303030","discount_copy_color":"#3376C5","popup_bg_color":"#FFFFFF","write_review_type":"shop","show_review_btn":1,"is_del_powered":2,"show_privacy_policy":1,"show_checkbox":0,"logo_src":"","logo_size":150,"logo_alignment":"center"}
2766var vstar_buyers_show_settings = {"title_text":"","title_text_color":"#303030","title_font_size":16,"columns_count":4,"rows_count":2,"item_padding":2,"border_radius":2,"is_activated":0,"reviews_type":1,"title_align":"left","style":1,"card_radius":12,"text_color":"#303030","button_bg":"#FFFFFF","card_bg":"#FFFFFF","star_color":"#FF9900","arrow_color":"#303030","shop_verified_badge_color":"Purple","enable_instafeed":false}
2767var vstar_qa_settings = {"is_active":2}
2768var vstar_ai_summary_settings = {"home":{"is_active":0,"title_color":"#303030","summary_text_color":"#303030","summary_bg_color":"#FFFFFF","badge_bg_color":"#CDFEE1","badge_text_color":"#0C5132"},"product":{"is_active":0,"title_color":"#303030","summary_text_color":"#303030","summary_bg_color":"#FFFFFF","badge_bg_color":"#CDFEE1","badge_text_color":"#0C5132"}}
2769</script>
2769
2770
2771
2772<script id="seal_shop_id" type="application/json">
2773    77325009205
2774</script>
vendor: 2 bytes, line 2774
2774
2775<script>
2776  (function(){
2777    const oldScript = document.querySelector('[src*="/assets/vstar-review"]')
2778    if(oldScript){
2779       trustoo_shopify_block_status = 1
2780    }
2781  }())
2782</script>
2782�
2783
2784
2785
2786<div id="seal-review-collection"></div>
2787
2788</div><div id="shopify-block-AaUY3TDlOK3J2UVAyQ__4015264832934714879" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: ecomsend-app -->
2788<script type="text/javascript">
2789  //SendWILL APPS COMMON JS CODE
2790  window.EcomSendApps = window.EcomSendApps || {}
2791
2792  window.EcomSendApps.design_mode = false
2793  
2794
2795  window.EcomSendApps.common = window.EcomSendApps.common || {}
2796  window.EcomSendApps.common.shop = {
2797    permanent_domain: '887239-2.myshopify.com',
2798    currency: "KES",
2799    money_format: "KSh{{amount}}",
2800    id: 77325009205,
2801  }
2802
2803  
2804  
2805    window.EcomSendApps.common.customer = {
2806      id: null,
2807      tags: null,
2808      email: null,
2809      accepts_marketing: null,
2810      first_name: null,
2811    }
2812  
2813
2814  
2815  window.EcomSendApps.common.template = 'cart'
2816</script>
2816
2817<!-- END app snippet -->
2818
2819<script>
2820  window.EcomSendApps = window.EcomSendApps || {}
2821  /** @description shared localStorage key used by web-pixel sandbox to read storefront GDPR mode */
2822  const ECOMSEND_GDPR_ENABLED_STORAGE_KEY = "ECOMSEND:GDPR_ENABLED"
2823  /** @description storefront main bundle asset url */
2824  const ECOMSEND_MAIN_SCRIPT_URL = 'https://cdn.shopify.com/extensions/01a0f197-ce1f-7a19-8adb-6b78fec4702f/ecomsend-209/assets/ecomsend.js'
2825  /** @description storefront style asset url */
2826  const ECOMSEND_MAIN_STYLE_URL = 'https://cdn.shopify.com/extensions/01a0f197-ce1f-7a19-8adb-6b78fec4702f/ecomsend-209/assets/style.css'
2827  /** @description storefront wasm asset url for runtime signature module */
2828  const ECOMSEND_WASM_ASSET_URL = 'https://cdn.shopify.com/extensions/01a0f197-ce1f-7a19-8adb-6b78fec4702f/ecomsend-209/assets/client_safe.wasm'
2829  /** @description fallback delay when requestIdleCallback is unavailable */
2830  const ECOMSEND_IDLE_TIMEOUT_MS = 800
2831  /** @description user interaction events used to trigger lazy init earlier */
2832  const ECOMSEND_INTERACTION_EVENTS = ["pointerdown", "keydown", "touchstart"]
2833  /** @description global flag key for emergency immediate loading */
2834  const ECOMSEND_FORCE_IMMEDIATE_FLAG = window.EcomSendApps?.forceImmediateLoad === true
2835  /** @description default GDPR mode comes from block setting and can be overridden on window.EcomSendApps.GDPR */
2836  const ECOMSEND_DEFAULT_GDPR_FLAG = false
2837  /** @description default CWTracks mode comes from block setting and can be overridden on window.EcomSendApps.CWTracksEnabled */
2838  const ECOMSEND_DEFAULT_CWTRACKS_ENABLED = false
2839
2840  /** @description normalize merchant-provided GDPR switch into a strict boolean value */
2841  function normalizeEcomsendBooleanFlag(rawValue) {
2842    if (typeof rawValue === "boolean") {
2843      return rawValue
2844    }
2845    if (typeof rawValue === "number") {
2846      return rawValue === 1
2847    }
2848    if (typeof rawValue === "string") {
2849      const normalizedValue = rawValue.trim().toLowerCase()
2850      return normalizedValue === "true" || normalizedValue === "1" || normalizedValue === "yes"
2851    }
2852    return false
2853  }
2854
2855  /** @description lock runtime switch value on EcomSendApps to reduce accidental console overwrite. */
2856  function lockEcomsendReadonlyFlag(flagName, flagValue) {
2857    try {
2858      Object.defineProperty(window.EcomSendApps, flagName, {
2859        value: flagValue,
2860        writable: false,
2861        configurable: false,
2862        enumerable: true,
2863      })
2864      return
2865    } catch (error) {}
2866    window.EcomSendApps[flagName] = flagValue
2867  }
2868
2869  /** @description resolve storefront GDPR mode from merchant theme override */
2870  function resolveEcomsendGdprMode() {
2871    if (typeof window.EcomSendApps.GDPR === "undefined") {
2872      window.EcomSendApps.GDPR = ECOMSEND_DEFAULT_GDPR_FLAG
2873    }
2874    const gdprEnabled = normalizeEcomsendBooleanFlag(window.EcomSendApps.GDPR)
2875    window.EcomSendApps.GDPR = gdprEnabled
2876    return gdprEnabled
2877  }
2878
2879  /** @description resolve storefront CWTracks mode from merchant theme block setting and runtime override */
2880  function resolveEcomsendCwTracksMode() {
2881    if (typeof window.EcomSendApps.CWTracksEnabled === "undefined") {
2882      window.EcomSendApps.CWTracksEnabled = ECOMSEND_DEFAULT_CWTRACKS_ENABLED
2883    }
2884    const cwTracksEnabled = normalizeEcomsendBooleanFlag(window.EcomSendApps.CWTracksEnabled)
2885    window.EcomSendApps.CWTracksEnabled = cwTracksEnabled
2886    return cwTracksEnabled
2887  }
2888
2889  /** @description persist storefront GDPR mode so web-pixel sandbox can consume the same switch */
2890  function syncEcomsendGdprModeToStorage(gdprEnabled) {
2891    if (!window.localStorage) {
2892      return
2893    }
2894    if (gdprEnabled) {
2895      window.localStorage.setItem(ECOMSEND_GDPR_ENABLED_STORAGE_KEY, "true")
2896      return
2897    }
2898    window.localStorage.removeItem(ECOMSEND_GDPR_ENABLED_STORAGE_KEY)
2899  }
2900
2901  /** @description enable GDPR gating only when merchant explicitly turns on storefront GDPR mode */
2902  const ECOMSEND_GDPR_ENABLED = resolveEcomsendGdprMode()
2903  /** @description enable CWTracks callback/event emit only when merchant turns on CWTracks mode. */
2904  const ECOMSEND_CWTRACKS_ENABLED = resolveEcomsendCwTracksMode()
2905  lockEcomsendReadonlyFlag("GDPR", ECOMSEND_GDPR_ENABLED)
2906  lockEcomsendReadonlyFlag("CWTracksEnabled", ECOMSEND_CWTRACKS_ENABLED)
2907
2908  try {
2909    syncEcomsendGdprModeToStorage(ECOMSEND_GDPR_ENABLED)
2910  } catch (error) {}
2911
2912  /** @description create main stylesheet node for storefront runtime */
2913  function createEcomSendMainStyleEle() {
2914    const ecomsendMainStyleEle = document.createElement("link")
2915    ecomsendMainStyleEle.rel = "stylesheet"
2916    ecomsendMainStyleEle.href = ECOMSEND_MAIN_STYLE_URL
2917    ecomsendMainStyleEle.dataset.ecomsendTag = "main-style"
2918    return ecomsendMainStyleEle
2919  }
2920
2921  /** @description append runtime stylesheet exactly once */
2922  function ensureEcomSendMainStyleLoaded() {
2923    if (document.querySelector('link[data-ecomsend-tag="main-style"]')) {
2924      return
2925    }
2926    const ecomsendMainStyleEle = createEcomSendMainStyleEle()
2927    document.head.appendChild(ecomsendMainStyleEle)
2928  }
2929
2930  /** @description remove interaction listeners after first lazy-init trigger */
2931  function clearInteractionListeners() {
2932    ECOMSEND_INTERACTION_EVENTS.forEach((eventName) => {
2933      window.removeEventListener(eventName, scheduleMainBundleLoad)
2934    })
2935  }
2936
2937  /** @description run low-priority task via idle callback with timeout fallback */
2938  function scheduleLowPriorityTask(taskRunner, timeoutMs) {
2939    if (window.requestIdleCallback) {
2940      window.requestIdleCallback(() => {
2941        taskRunner()
2942      }, { timeout: timeoutMs })
2943      return
2944    }
2945    window.setTimeout(() => {
2946      taskRunner()
2947    }, timeoutMs)
2948  }
2949
2950  /** @description load main storefront bundle once and keep rollback override */
2951  function loadEcomsendMainBundle() {
2952    if (window.__ecomsendMainBundleLoaded) {
2953      return
2954    }
2955    window.__ecomsendMainBundleLoaded = true
2956    clearInteractionListeners()
2957    /** @description ensure storefront runtime css is loaded together with main bundle */
2958    ensureEcomSendMainStyleLoaded()
2959    const ecomsendMainScriptEle = document.createElement("script")
2960    ecomsendMainScriptEle.src = ECOMSEND_MAIN_SCRIPT_URL
2961    ecomsendMainScriptEle.async = true
2962    ecomsendMainScriptEle.dataset.ecomsendTag = "main-script"
2963    document.body.appendChild(ecomsendMainScriptEle)
2964  }
2965
2966  /** @description schedule heavy bundle with idle-first strategy to reduce main-thread contention */
2967  function scheduleMainBundleLoad() {
2968    if (window.__ecomsendMainBundleLoadScheduled) {
2969      return
2970    }
2971    /** @description dedupe idle scheduling from DOMContentLoaded and first interactions */
2972    window.__ecomsendMainBundleLoadScheduled = true
2973    if (ECOMSEND_FORCE_IMMEDIATE_FLAG) {
2974      loadEcomsendMainBundle()
2975      return
2976    }
2977    scheduleLowPriorityTask(loadEcomsendMainBundle, ECOMSEND_IDLE_TIMEOUT_MS)
2978  }
2979
2980  /** @description cache marketing params for pixel/report flows before heavy bundle starts */
2981  function cacheMarketingParams() {
2982    const urlParams = new URLSearchParams(window.location.search)
2983    const marketingId = urlParams.get("ec_marketing_id")
2984    const ecEmailId = urlParams.get("ec_email_id")
2985    const ecMarketingSign = urlParams.get("ec_marketing_sign")
2986
2987    if (marketingId && window.localStorage) {
2988      window.localStorage.setItem("ec_marketing_id", marketingId)
2989    }
2990    if (ecEmailId && window.localStorage) {
2991      window.localStorage.setItem("ec_email_id", ecEmailId)
2992    }
2993    if (ecMarketingSign && window.localStorage) {
2994      window.localStorage.setItem("ec_marketing_sign", ecMarketingSign)
2995    }
2996  }
2997
2998  /** @description check whether marketing storage is allowed under Shopify customer privacy state */
2999  function isMarketingStorageAllowedByCustomerPrivacy() {
3000    const customerPrivacy = window?.Shopify?.customerPrivacy
3001    if (!customerPrivacy) {
3002      return false
3003    }
3004    const marketingAllowed = typeof customerPrivacy.marketingAllowed === "function" && customerPrivacy.marketingAllowed()
3005    if (marketingAllowed) {
3006      return true
3007    }
3008    if (typeof customerPrivacy.currentVisitorConsent === "function") {
3009      const consent = customerPrivacy.currentVisitorConsent()
3010      return consent?.marketing === "yes"
3011    }
3012    return false
3013  }
3014
3015  /** @description check whether analytics storage is allowed under Shopify customer privacy state */
3016  function isAnalyticsStorageAllowedByCustomerPrivacy() {
3017    const customerPrivacy = window?.Shopify?.customerPrivacy
3018    if (!customerPrivacy) {
3019      return false
3020    }
3021    const analyticsAllowed = typeof customerPrivacy.analyticsProcessingAllowed === "function" && customerPrivacy.analyticsProcessingAllowed()
3022    if (analyticsAllowed) {
3023      return true
3024    }
3025    if (typeof customerPrivacy.currentVisitorConsent === "function") {
3026      const consent = customerPrivacy.currentVisitorConsent()
3027      return consent?.analytics === "yes"
3028    }
3029    return false
3030  }
3031
3032  /** @description execute marketing param caching with GDPR guard: functional off when GDPR disabled */
3033  function cacheMarketingParamsWithGdprGuard() {
3034    if (!ECOMSEND_GDPR_ENABLED) {
3035      cacheMarketingParams()
3036      return
3037    }
3038    if (isMarketingStorageAllowedByCustomerPrivacy()) {
3039      cacheMarketingParams()
3040    }
3041  }
3042
3043  /** @description cache shop id used by pixel report branches */
3044  function cacheShopIdForPixel() {
3045    if (!window.EcomSendApps?.common?.shop?.id || !window.localStorage) {
3046      return
3047    }
3048    window.localStorage.setItem("ECOMSEND:ES_SHOP_ID", window.EcomSendApps.common.shop.id)
3049  }
3050
3051  /**
3052   * Flow client config (e.g. browserStaySeconds) is fetched by the main ecomsend.js bundle:
3053   * bootstrapFlowClientConfig → POST /api/automation/v2/clientFlowConfig (API Sign)
3054   * → localStorage ECOMSEND:FLOW_CLIENT_CONFIG.byEventId → read by web-pixel.
3055   * Keep new C-end Flow config on this path; do not scatter fetches in liquid.
3056   */
3057
3058  /** @description execute shop id caching with GDPR guard and shared consent policy */
3059  function cacheShopIdWithGdprGuard() {
3060    if (!ECOMSEND_GDPR_ENABLED) {
3061      cacheShopIdForPixel()
3062      return
3063    }
3064    if (isAnalyticsStorageAllowedByCustomerPrivacy()) {
3065      cacheShopIdForPixel()
3066    }
3067  }
3068
3069  /** @description load Shopify consent-tracking API before GDPR-gated cache writes */
3070  function withCustomerPrivacyApiReady(onReady) {
3071    if (!ECOMSEND_GDPR_ENABLED) {
3072      onReady()
3073      return
3074    }
3075    if (window?.Shopify?.customerPrivacy) {
3076      onReady()
3077      return
3078    }
3079    if (typeof window?.Shopify?.loadFeatures !== "function") {
3080      return
3081    }
3082    window.Shopify.loadFeatures(
3083      [{ name: "consent-tracking-api", version: "0.1" }],
3084      (error) => {
3085        if (error) {
3086          return
3087        }
3088        onReady()
3089      }
3090    )
3091  }
3092
3093  try {
3094    withCustomerPrivacyApiReady(() => {
3095      cacheMarketingParamsWithGdprGuard()
3096      cacheShopIdWithGdprGuard()
3097    })
3098    if (ECOMSEND_GDPR_ENABLED) {
3099      document.addEventListener("visitorConsentCollected", () => {
3100        cacheMarketingParamsWithGdprGuard()
3101        cacheShopIdWithGdprGuard()
3102      })
3103    }
3104  } catch (e) {}
3105
3106  /** @description inject wasm asset url into shared namespace before main bundle executes */
3107  window.EcomSendApps.wasmURL = ECOMSEND_WASM_ASSET_URL
3108
3109  ECOMSEND_INTERACTION_EVENTS.forEach((eventName) => {
3110    window.addEventListener(eventName, scheduleMainBundleLoad, { once: true, passive: true })
3111  })
3112
3113  if (document.readyState === "loading") {
3114    document.addEventListener("DOMContentLoaded", scheduleMainBundleLoad, { once: true })
3115  } else {
3116    scheduleMainBundleLoad()
3117  }
3118</script>
3118
3119
3120<style id="ecomsend-custom-style"></style>
3121
3122<script>window.shopLocale = 'en'</script>
3122
3123
3124<script>
3125  /** @description timeout used for deferred discount request scheduling */
3126  const ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS = 1500
3127
3128  /** @description apply discount code from url query only when parameter exists */
3129  function applyWillDiscountCode() {
3130    const urlParams = new URLSearchParams(window.location.search)
3131    const willDiscountCode = urlParams.get("willDiscountCode")
3132    if (!willDiscountCode || /[\u0000-\u001F\u007F]/.test(willDiscountCode)) {
3133      return
3134    }
3135    fetch("/cart/update.js", {
3136      method: "POST",
3137      headers: {
3138        "Content-Type": "application/json",
3139      },
3140      body: JSON.stringify({
3141        discount: willDiscountCode,
3142      }),
3143    })
3144  }
3145
3146  try {
3147    if (!window.__ecomsendDeferredTasksScheduled) {
3148      /** @description global guard to avoid duplicate deferred task scheduling */
3149      window.__ecomsendDeferredTasksScheduled = true
3150      if (window.requestIdleCallback) {
3151        window.requestIdleCallback(() => {
3152          applyWillDiscountCode()
3153        }, { timeout: ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS })
3154      } else {
3155        window.setTimeout(() => {
3156          applyWillDiscountCode()
3157        }, ECOMSEND_DISCOUNT_IDLE_TIMEOUT_MS)
3158      }
3159    }
3160  } catch (error) {}
3161</script>
3161
3162
3163
3164
3165</div><div id="shopify-block-ARDB6Wnh0SGtXa1Vac__10164839151858296315" class="shopify-block shopify-app-block">
3165<script>
3166    var page = ""
3167    var addtocart = false;
3168    var initiateCheckoutFlag = false;
3169    var pData = false;
3170    var ptiktokData=false;
3171    var pTags = [];
3172    var pCollection = [];
3173    var shopMarket= Shopify.country
3174    var shopCurrency = Shopify.currency.active
3175    
3176    </script>
3176
3177
3178    
3179
3180    
3181    
3181<script>
3182        var page = "cart"
3183        var pTags = []
3184        var pCollection = []
3185        
3186
3187        
3188
3189     pTags = pTags.filter(onlyUnique);
3190      pCollection = pCollection.filter(onlyUnique);
3191    function onlyUnique(value, index, self) {
3192      return self.indexOf(value) === index;
3193    }
3194    </script>
3194
3195    
3196
3197    
3197<script>
3198      var lineitem = []
3199      
3200
3201      var cData = {
3202        content_type:"product_group",
3203        num_items:"0",
3204        value:"0.00",
3205        currency:shopCurrency,
3206        content_ids:lineitem
3207      }
3208      var ctiktokData = {
3209        content_type:"product_group",
3210        num_items:"0",
3211        value:"0.00",
3212        currency:shopCurrency,
3213        content_ids:lineitem
3214      }
3215    </script>
3215
3216
3217
3218</div><div id="shopify-block-AbmROL3RiV1F2dEZEY__15659862187755629035" class="shopify-block shopify-app-block">
3219    <!-- BEGIN app snippet: cart_validation -->
3219<script>
3220  let productWithServiceFound = false;
3221  var isAppEmbedCartValidationEnabled = true;
3222  let processCart = true;
3223  let SCRIPT_HOST_NAME = `/apps/bookeasy`;
3224  function getCartDetails(details) {
3225    return new Promise((resolve, reject) => {
3226      try {
3227        if (Object.keys(details).length > 0) {
3228          resolve(details);
3229        } else {
3230          fetch(`https://${window.location.hostname}/cart.js`, {
3231            headers: {
3232              'Content-Type': 'application/json; charset=UTF-8',
3233            },
3234          })
3235            .then((response) => {
3236              if (response.status === 200) {
3237                return response.json();
3238              }
3239              reject(undefined);
3240            })
3241            .then((data) => resolve(data))
3242            .catch(() => resolve(undefined));
3243        }
3244      } catch (error) {
3245        console.log('Error while getting cart details: ', error);
3246        reject(undefined);
3247      }
3248    });
3249  }
3250  
3251  function cartUpdate(items) {
3252    return new Promise((resolve, reject) => {
3253      try {
3254        fetch('/cart/change.js', {
3255          method: 'POST',
3256          headers: {
3257            'Content-Type': 'application/json',
3258          },
3259          body: JSON.stringify(items),
3260        })
3261          .then((response) => {
3262            if (response.status === 200) {
3263              return response.json();
3264            }
3265            return undefined;
3266          })
3267          .then((data) => resolve(data))
3268          .catch(() => reject(undefined));
3269      } catch (error) {
3270        console.log('Error while updating cart: ', error);
3271        reject(error);
3272      }
3273    });
3274  }
3275  
3276  function getAvailableServices(myShopifyDomain) {
3277    return new Promise((resolve, reject) => {
3278      if (localStorage.getItem('bookeasy-setup')) {
3279        let bookeasySetup = JSON.parse(localStorage.getItem('bookeasy-setup'));
3280        resolve(bookeasySetup?.availableServices);
3281        fetch(`${SCRIPT_HOST_NAME}/api/bookeasy/validate/localSetup`, {
3282          method: 'POST',
3283          headers: {
3284            'Content-Type': 'application/json; charset=UTF-8',
3285          },
3286          body: JSON.stringify({
3287            myShopifyDomain: myShopifyDomain,
3288            servicesUpdatedAt: bookeasySetup.servicesUpdatedAt,
3289            setupUpdatedAt: bookeasySetup.setupUpdatedAt,
3290            subscriptionUpdatedAt: bookeasySetup.subscriptionUpdatedAt
3291          }),
3292        })
3293          .then((response) => {
3294            if (response.status === 200) {
3295              return response.json();
3296            }
3297          })
3298          .then((data) => {
3299            if (data?.clearLocalSetup) {
3300              localStorage.removeItem('bookeasy-setup');
3301            }
3302          })
3303          .catch(() => {
3304            localStorage.removeItem('bookeasy-setup');
3305          });
3306      } else {
3307        fetch(`${SCRIPT_HOST_NAME}/api/availableServices?myShopifyDomain=${myShopifyDomain}`, {
3308          method: 'GET',
3309          headers: {
3310            'Content-Type': 'application/json; charset=UTF-8',
3311          },
3312        })
3313          .then((response) => response.json())
3314          .then((response) => {
3315            if (!response.clearLocalSetup) {
3316              localStorage.setItem('bookeasy-setup', JSON.stringify(response));
3317            }
3318            resolve(response?.availableServices);
3319          })
3320          .catch(() => reject(undefined));
3321      }
3322    });
3323  }
3324  
3325  function processCartItems(details = {}, services = [], productWithServiceFound = false) {
3326    if (Shopify.shop) {
3327      let myShopifyDomain = Shopify.shop;
3328      getCartDetails(details).then((cartDetails) => {
3329        if (cartDetails?.items) {
3330          let items = cartDetails.items;
3331          //Services is passed as param so that local setup call is initiated only once not for every cart update
3332          if (services.length > 0) {
3333            findMatchProductWithService(items, services, productWithServiceFound);
3334          } else {
3335            getAvailableServices(myShopifyDomain).then((availableServices) => {
3336              findMatchProductWithService(items, availableServices, productWithServiceFound);
3337            });
3338          }
3339        }
3340      });
3341    }
3342  }
3343  
3344  function findMatchProductWithService(items = [], availableServices = [], productWithServiceFound) {
3345    let activeServices = availableServices.filter((service) => service.serviceBy === 'withProducts');
3346    if (activeServices.length > 0) {
3347      let flag = true;
3348      for (let index = 0; index < items.length; index++) {
3349        let item = items[index];
3350        let isProductMappedToActiveService = activeServices.find(
3351          (service) =>
3352            service.productId === item.product_id.toString() &&
3353            service?.variants.includes(item.variant_id.toString()) &&
3354            (!service.serviceBy || service.serviceBy === "withProducts") &&
3355            !service?.makeBookeasyBtnOptional &&
3356            !item.properties?.['_bookeasy-booking-id']
3357        );
3358        if (isProductMappedToActiveService) {
3359          flag = false;
3360          productWithServiceFound = true;
3361          //Cart update will resolve by giving updated cart details
3362          cartUpdate({ line: index + 1, quantity: 0 }).then((updatedCartDetails) => {
3363            document.dispatchEvent(new Event('bookeasy-cart-updated', { cartDetails: updatedCartDetails }));
3364            processCartItems(updatedCartDetails, availableServices, productWithServiceFound);
3365          }).catch((error) => {
3366            console.log("Error", error);
3367          });
3368          break;
3369        }
3370      }
3371      //If the product is mapped to a service and the cart is updated, then reload the page. If no product is mapped to a service, then it will not reload
3372      if (flag && productWithServiceFound) {
3373        document.dispatchEvent(new Event('bookeasy-cart-reload', { productWithServiceFound: productWithServiceFound }));
3374        window.location.reload();
3375      }
3376    }
3377  }
3378  
3379  function registerNetworkListeners() {
3380    let cartUpdateUrls = ["/cart/add.js", "/cart/add"];
3381    let isScriptCall = false;
3382    // XMLHttpRequest interceptor
3383    var bookeasyCartValidationXMLRequestListeners = window.XMLHttpRequest.prototype.open;
3384    function openReplacement(method, url, async, user, password) {
3385      // Check if the call is from our own scripts
3386      const stackTrace = new Error().stack;
3387      if (stackTrace.includes('processCartItems') || stackTrace.includes('cartUpdate')) {
3388        isScriptCall = true;
3389      } else {
3390        isScriptCall = false;
3391      }
3392      this.addEventListener("load", async function () {
3393        if (!isScriptCall && typeof url === "string") {
3394          let splitURL = url.split("?");
3395          if (splitURL && splitURL.length) {
3396            if (cartUpdateUrls.includes(splitURL[0])) {
3397              processCartItems(undefined, undefined, productWithServiceFound);
3398            }
3399          }
3400        }
3401      });
3402      return bookeasyCartValidationXMLRequestListeners.apply(this, arguments);
3403    }
3404    window.XMLHttpRequest.prototype.open = openReplacement;
3405    // Fetch interceptor
3406    var bookeasyCartValidationFetchRequestListeners = fetch;
3407    fetch = async function (url, options) {
3408      // Check if the call is from our own scripts
3409      const stackTrace = new Error().stack;
3410      if (stackTrace.includes('processCartItems') || stackTrace.includes('cartUpdate')) {
3411        isScriptCall = true;
3412      } else {
3413        isScriptCall = false;
3414      }
3415      var promise = bookeasyCartValidationFetchRequestListeners(url, options);
3416      await promise;
3417      if (!isScriptCall && typeof url === "string") {
3418        let splitURL = url.split("?");
3419        if (splitURL && splitURL.length) {
3420          if (cartUpdateUrls.includes(splitURL[0])) {
3421            processCartItems(undefined, undefined, productWithServiceFound);
3422          }
3423        }
3424      }
3425      return promise;
3426    }
3427  }
3428  
3429  function DOMcontentLoadListener() {
3430    if (document.readyState === 'complete' || document.readyState === 'interactive') {
3431      if (processCart) {
3432        processCart = false
3433        processCartItems(undefined, undefined, productWithServiceFound);
3434      }
3435    }
3436    else {
3437      document.addEventListener("readystatechange", () => {
3438        if (processCart && (document.readyState === 'complete' || document.readyState === 'interactive')) {
3439          processCart = false;
3440          processCartItems(undefined, undefined, productWithServiceFound);
3441        }
3442      });
3443      document.addEventListener('DOMContentLoaded', function () {
3444        if (processCart) {
3445          processCart = false;
3446          processCartItems(undefined, undefined, productWithServiceFound);
3447        }
3448      });
3449    }
3450  }
3451  function isPrivateTab() {
3452    try {
3453      let storage = typeof localStorage;
3454      return false;
3455    } catch (error) {
3456      return true;
3457    }
3458  }
3459  if (!isPrivateTab() && localStorage.getItem('bookeasy-setup')) {
3460    let bookeasySetup = JSON.parse(localStorage.getItem('bookeasy-setup'));
3461    if (!bookeasySetup?.stopAppEmbedCartValidation) {
3462      registerNetworkListeners();
3463      DOMcontentLoadListener();
3464    }
3465  } else {
3466    registerNetworkListeners();
3467    DOMcontentLoadListener();
3468  }
3469</script>
3469
3470<!-- END app snippet -->
3471
3472<script type="module" src="https://cdn.shopify.com/extensions/01a0b35b-fe77-73f6-98ae-1f3438574cf5/bookeasy-184/assets/bookeasy-widget.esm.js" defer></script>
3472
3473
3474
3475</div><div id="shopify-block-AK00yV0RCaWYxUGltU__13766566558402285670" class="shopify-block shopify-app-block">
3476
3477
3478
3479
3480<script type="text/javascript" data-cookieconsent="ignore">
3481  window.$prDoranInit = window.$prDoranInit || {};
3482  window.$prDoranInit.sdkRequested = true;
3483  window.$prDoranInit.shop = 'imanisoko.com';
3484  window.$prDoranInit.language = window.$prDoranInit.language || 'en';
3485  window.$prDoranInit.supportedLanguages = window.$prDoranInit.supportedLanguages || [];
3486  
3487    
3488  
3489  window.$prDoranInit.sdkURL = window.$prDoranInit.sdkURL || "https://cdn.shopify.com/extensions/01a11be7-d007-7c81-82fe-1546b01b9593/doran-product-reviews-1791469523/assets/pr-sdk.js";
3490  
3491</script>
3491
3492
3493
3494
3495<script type="text/javascript" data-cookieconsent="ignore">
3496  window.$prDoranInit = window.$prDoranInit || {};
3497  window.$prDoranInit.ratingBadgeWidget = window.$prDoranInit.ratingBadgeWidget || {
3498    ratingIcon: 'Star',
3499    iconSpacing: 4,
3500    ratingIconColor: '#008068',
3501    translations: [],
3502    fontFamily: 'Default',
3503    customCSS: ''
3504  };
3505  
3506    window.$prDoranInit.ratingBadgeWidget = Object.assign(
3507      window.$prDoranInit.ratingBadgeWidget,
3508      {"customCSS":"@import url(\"https://p.typekit.net/p.css?s=1&k=hvw5mba&ht=tk&f=10294.10295.10296.10297.10298.10300.10301.10302&a=8711491&app=typekit&e=css\"); @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/1da05b/0000000000000000000132df/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/1da05b/0000000000000000000132df/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/1da05b/0000000000000000000132df/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 400; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/32d3ee/0000000000000000000132e0/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/32d3ee/0000000000000000000132e0/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/32d3ee/0000000000000000000132e0/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3\") format(\"opentype\"); font-display: auto; font-style: italic; font-weight: 400; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/8f4e31/0000000000000000000132e3/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/8f4e31/0000000000000000000132e3/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/8f4e31/0000000000000000000132e3/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 700; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/383ab4/0000000000000000000132e4/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i7&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/383ab4/0000000000000000000132e4/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i7&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/383ab4/0000000000000000000132e4/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i7&v=3\") format(\"opentype\"); font-display: auto; font-style: italic; font-weight: 700; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/a96fa9/000000000000000077359de4/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n1&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/a96fa9/000000000000000077359de4/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n1&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/a96fa9/000000000000000077359de4/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n1&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 100; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/1281a1/000000000000000077359ded/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/1281a1/000000000000000077359ded/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/1281a1/000000000000000077359ded/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 300; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/08312f/000000000000000077359dee/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i3&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/08312f/000000000000000077359dee/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i3&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/08312f/000000000000000077359dee/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i3&v=3\") format(\"opentype\"); font-display: auto; font-style: italic; font-weight: 300; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/d03e48/000000000000000077359df2/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/d03e48/000000000000000077359df2/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/d03e48/000000000000000077359df2/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 500; font-stretch: normal; } body { font-family: brandon-grotesque,sans-serif; } .text-sm { font-size: 18px; color: #333 }","ratingIcon":"Star","ratingIconColor":"#b48c41","translations":[{"language":"en","item":{"simpleText_zero":"We're rated <strong>{{averageRating}}</strong> out of 5 based on <strong>0</strong> reviews","simpleText_one":"We're rated <strong>{{averageRating}}</strong> out of 5 based on <strong>{{reviewsCount}}</strong> review","simpleText_other":"We're rated <strong>{{averageRating}}</strong> out of 5 based on <strong>{{reviewsCount}}</strong> reviews","baseOnReviewsCount_zero":"0 reviews","baseOnReviewsCount_one":"{{reviewsCount}} review","baseOnReviewsCount_other":"{{reviewsCount}} reviews"}}],"fontFamily":"Default","iconSpacing":4,"isDarkMode":false}
3509    );
3510  
3511</script>
3511
3512
3513
3514
3515<script type="text/javascript" data-cookieconsent="ignore">
3516  window.$prDoranInit = window.$prDoranInit || {};
3517  window.$prDoranInit.ratingWidget = window.$prDoranInit.ratingWidget || {
3518    ratingIcon: 'Star',
3519    questionIcon: 'Question',
3520    iconSpacing: 4,
3521    ratingIconColor: '#008068',
3522    translations: [],
3523    fontFamily: 'Default',
3524    customCSS: ''
3525  };
3526  
3527    window.$prDoranInit.ratingWidget = Object.assign(
3528      window.$prDoranInit.ratingWidget,
3529      {"customCSS":"@import url(\"https://p.typekit.net/p.css?s=1&k=hvw5mba&ht=tk&f=10294.10295.10296.10297.10298.10300.10301.10302&a=8711491&app=typekit&e=css\"); @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/1da05b/0000000000000000000132df/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/1da05b/0000000000000000000132df/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/1da05b/0000000000000000000132df/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 400; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/32d3ee/0000000000000000000132e0/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/32d3ee/0000000000000000000132e0/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/32d3ee/0000000000000000000132e0/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3\") format(\"opentype\"); font-display: auto; font-style: italic; font-weight: 400; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/8f4e31/0000000000000000000132e3/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/8f4e31/0000000000000000000132e3/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/8f4e31/0000000000000000000132e3/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 700; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/383ab4/0000000000000000000132e4/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i7&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/383ab4/0000000000000000000132e4/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i7&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/383ab4/0000000000000000000132e4/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i7&v=3\") format(\"opentype\"); font-display: auto; font-style: italic; font-weight: 700; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/a96fa9/000000000000000077359de4/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n1&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/a96fa9/000000000000000077359de4/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n1&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/a96fa9/000000000000000077359de4/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n1&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 100; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/1281a1/000000000000000077359ded/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/1281a1/000000000000000077359ded/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/1281a1/000000000000000077359ded/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 300; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/08312f/000000000000000077359dee/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i3&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/08312f/000000000000000077359dee/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i3&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/08312f/000000000000000077359dee/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i3&v=3\") format(\"opentype\"); font-display: auto; font-style: italic; font-weight: 300; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/d03e48/000000000000000077359df2/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/d03e48/000000000000000077359df2/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/d03e48/000000000000000077359df2/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 500; font-stretch: normal; } body { font-family: brandon-grotesque,sans-serif; } .text-sm { font-size: 18px; color: #333 }","ratingIcon":"Star","ratingIconColor":"#b48c41","questionIcon":"Question","translations":[{"language":"en","item":{"reviewsCount_zero":"No reviews","reviewsCount_one":"{{reviewsCount}} review","reviewsCount_other":"{{reviewsCount}} reviews","baseOnReviewsCount_zero":"No reviews","baseOnReviewsCount_one":"Base on {{reviewsCount}} review","baseOnReviewsCount_other":"Base on {{reviewsCount}} reviews","questionsCount_zero":"No questions","questionsCount_one":"{{questionsCount}} question","questionsCount_other":"{{questionsCount}} questions"}}],"fontFamily":"Default","iconSpacing":4,"isDarkMode":false}
3530    );
3531  
3532</script>
3532
3533
3534
3535
3536<script type="text/javascript" data-cookieconsent="ignore">
3537  window.$prDoranInit = window.$prDoranInit || {};
3538  window.$prDoranInit.shopAverageRating = window.$prDoranInit.shopAverageRating || {};
3539  window.$prDoranInit.shopAverageRating.averageRating = 0.0;
3540  window.$prDoranInit.shopAverageRating.reviewsCount = 0;
3541  window.$prDoranInit.shopAverageRating.stars1 = 0;
3542  window.$prDoranInit.shopAverageRating.stars2 = 0;
3543  window.$prDoranInit.shopAverageRating.stars3 = 0;
3544  window.$prDoranInit.shopAverageRating.stars4 = 0;
3545  window.$prDoranInit.shopAverageRating.stars5 = 0;
3546  window.$prDoranInit.shopAverageRating.shopReviewsCount = 0;
3547  window.$prDoranInit.shopAverageRating.productReviewsCount = 0;
3548  window.$prDoranInit.shopReview = window.$prDoranInit.shopReview || {
3549    hasNextPage: false,
3550    startAfter: null,
3551    nodes: []
3552  };
3553  
3554</script>
3554
3555
3556
3557
3558
3559
3560
3561
3562<script type="text/javascript" data-cookieconsent="ignore">
3563  window.$prDoranInit = window.$prDoranInit || {}; 
3564  window.$prDoranInit.showcasePage = window.$prDoranInit.showcasePage || {
3565    ratingIcon: 'Star',
3566    isDisplayAuthor: true,
3567    fontFamily: 'Default',
3568    ratingIconColor: '#008068',
3569    translations: [],
3570    borderRadius: 4,
3571    iconSpacing: 4,
3572    isViewProduct: true,
3573    isSecureAuthorName: false,
3574    isDisplayFilters: false,
3575    isAverageRating: false,
3576    isDisplayCountry: false,
3577    source: 'Latest',
3578    customCSS: ''
3579  };
3580  
3581    window.$prDoranInit.showcasePage = Object.assign(
3582      window.$prDoranInit.showcasePage,
3583      {"ratingIcon":"Star","isDisplayAuthor":true,"fontFamily":"Default","customCSS":"@import url(\"https://p.typekit.net/p.css?s=1&k=hvw5mba&ht=tk&f=10294.10295.10296.10297.10298.10300.10301.10302&a=8711491&app=typekit&e=css\"); @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/1da05b/0000000000000000000132df/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/1da05b/0000000000000000000132df/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/1da05b/0000000000000000000132df/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 400; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/32d3ee/0000000000000000000132e0/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/32d3ee/0000000000000000000132e0/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/32d3ee/0000000000000000000132e0/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3\") format(\"opentype\"); font-display: auto; font-style: italic; font-weight: 400; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/8f4e31/0000000000000000000132e3/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/8f4e31/0000000000000000000132e3/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/8f4e31/0000000000000000000132e3/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n7&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 700; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/383ab4/0000000000000000000132e4/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i7&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/383ab4/0000000000000000000132e4/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i7&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/383ab4/0000000000000000000132e4/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i7&v=3\") format(\"opentype\"); font-display: auto; font-style: italic; font-weight: 700; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/a96fa9/000000000000000077359de4/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n1&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/a96fa9/000000000000000077359de4/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n1&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/a96fa9/000000000000000077359de4/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n1&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 100; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/1281a1/000000000000000077359ded/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/1281a1/000000000000000077359ded/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/1281a1/000000000000000077359ded/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n3&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 300; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/08312f/000000000000000077359dee/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i3&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/08312f/000000000000000077359dee/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i3&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/08312f/000000000000000077359dee/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i3&v=3\") format(\"opentype\"); font-display: auto; font-style: italic; font-weight: 300; font-stretch: normal; } @font-face { font-family: \"brandon-grotesque\"; src: url(\"https://use.typekit.net/af/d03e48/000000000000000077359df2/30/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3\") format(\"woff2\"),url(\"https://use.typekit.net/af/d03e48/000000000000000077359df2/30/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3\") format(\"woff\"),url(\"https://use.typekit.net/af/d03e48/000000000000000077359df2/30/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3\") format(\"opentype\"); font-display: auto; font-style: normal; font-weight: 500; font-stretch: normal; } body { font-family: brandon-grotesque,sans-serif; } .text-sm { font-size: 18px; color: #333 }","ratingIconColor":"#b48c41","translations":[{"language":"en","item":{"loadMoreButton":"Load more","viewProductButton":"View product","readMoreButton":"Read more","recentlyFilterOptionName":"Recently","hasMediasFilterOptionName":"Has medias","isVerifiedPurchaseFilterOptionName":"Verified purchase","star5FilterOptionName":"5 
3583stars","star4FilterOptionName":"4 stars","star3FilterOptionName":"3 stars","star2FilterOptionName":"2 stars","star1FilterOptionName":"1 star","filterTitle":"Filter by","emptyReviewHeading":"Currently no feedback or reviews available","emptyReviewMessage":"It looks like there are no reviews available for this item at the moment. Be the first to share your thoughts and experiences!","mostHelpfulFilterOptionName":"Most helpful","reviewsCount_zero":"No reviews","reviewsCount_one":"{{reviewsCount}} review","reviewsCount_other":"{{reviewsCount}} reviews","productReviewsTabName_zero":"Product Reviews","productReviewsTabName_one":"Product Reviews","productReviewsTabName_other":"Product Reviews ({{ reviewsCount }})","shopReviewsTabName_zero":"Shop Reviews","shopReviewsTabName_one":"Shop Reviews","shopReviewsTabName_other":"Shop Reviews ({{ reviewsCount }})","leaveAReviewButton":"Review our shop"}}],"borderRadius":4,"isViewProduct":true,"iconSpacing":4,"isSecureAuthorName":false,"isDisplayFilters":true,"isAverageRating":false,"source":"Latest","isDisplayCountry":true,"isDisplayDate":false,"dateTimeFormat":"[MMM] [DD], [YYYY]","isSubmissionAllowed":false,"tabColor":"#008068","buttonBackgroundColor":"#b48c41","buttonTextColor":"#ffffff","isDisplayShopReviews":false,"isDarkMode":false}
3584    );
3585  
3586</script>
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595  <style type="text/css">
3596    
3597  </style>
3598
3599
3600
3601</div><div id="shopify-block-AR2FMSW9nNERWcU9kV__6174324309569838175" class="shopify-block shopify-app-block">
3602
3603
3604<div class="smile-shopify-init"
3605  data-channel-key="channel_X5fmHEm1Os8j2qX819NW7mFj"
3606  
3607></div>
3608
3609
3610</div>
3610<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3610
3611</body>
3612</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.