PageSourceSearch

https://getquibble.com/

html getquibble.com collected 2026-10-02 01:30:11 UTC 351,272 bytes, 4,938 lines download raw bytes

1<!doctype html>
2<head class="no-js" lang="en">
3  <!-- Other scripts and styles -->
4  
4<script src="https://cdnjs.cloudflare.com/ajax/libs/forge/1.3.1/forge.min.js"></script>
4
5
6  <!-- Firebase SDK scripts -->
7  <!-- The core Firebase JS SDK is always required and must be listed first -->
8  
8<script src="https://www.gstatic.com/firebasejs/10.2.0/firebase-app.js" type="module"></script>
8
9  
9<script src="https://www.gstatic.com/firebasejs/10.2.0/firebase-auth.js" type="module"></script>
9
10  
10<script src="//getquibble.com/cdn/shop/t/4/assets/firebase-init.js?v=123291048652714178591721086172" type="module"></script>
10
11
12  <!-- Other scripts and styles -->
13  <meta charset="utf-8">
14  <meta http-equiv="X-UA-Compatible" content="IE=edge">
15  <meta name="viewport" content="width=device-width,initial-scale=1">
16  <meta name="theme-color" content="">
17  <link rel="canonical" href="https://getquibble.com/">'
18  <link rel="preconnect" href="https://fonts.googleapis.com">
19  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
20  <link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet"><link rel="icon" type="image/png" href="//getquibble.com/cdn/shop/files/icon.png?crop=center&height=32&v=1693515025&width=32"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title>
21    Quibble: Master Homework and Quizzes with AI
22</title>
23
24  
25    <meta name="description" content="Elevate your academic journey with Quibble - the ultimate Google Chrome extension designed to support students in completing homework and quizzes effortlessly. Harness the power of AI technology to enhance your learning experience and achieve academic success. Get your AI homework and quiz assistant today!">
26  
27
28  
29
30<meta property="og:site_name" content="Quibble">
31<meta property="og:url" content="https://getquibble.com/">
32<meta property="og:title" content="Quibble: Master Homework and Quizzes with AI">
33<meta property="og:type" content="website">
34<meta property="og:description" content="Elevate your academic journey with Quibble - the ultimate Google Chrome extension designed to support students in completing homework and quizzes effortlessly. Harness the power of AI technology to enhance your learning experience and achieve academic success. Get your AI homework and quiz assistant today!"><meta property="og:image" content="http://getquibble.com/cdn/shop/files/icon_large_e312f111-f176-4b3e-9e02-972f923a69d3.png?height=628&pad_color=ffffff&v=1692385358&width=1200">
35  <meta property="og:image:secure_url" content="https://getquibble.com/cdn/shop/files/icon_large_e312f111-f176-4b3e-9e02-972f923a69d3.png?height=628&pad_color=ffffff&v=1692385358&width=1200">
36  <meta property="og:image:width" content="1200">
37  <meta property="og:image:height" content="628"><meta name="twitter:card" content="summary_large_image">
38<meta name="twitter:title" content="Quibble: Master Homework and Quizzes with AI">
39<meta name="twitter:description" content="Elevate your academic journey with Quibble - the ultimate Google Chrome extension designed to support students in completing homework and quizzes effortlessly. Harness the power of AI technology to enhance your learning experience and achieve academic success. Get your AI homework and quiz assistant today!">
40
41
42  
42<script src="//getquibble.com/cdn/shop/t/4/assets/constants.js?v=58251544750838685771721086172" defer="defer"></script>
42
43  
43<script src="//getquibble.com/cdn/shop/t/4/assets/pubsub.js?v=158357773527763999511721086172" defer="defer"></script>
43
44  
44<script src="//getquibble.com/cdn/shop/t/4/assets/global.js?v=54939145903281508041721086172" defer="defer"></script>
44<script src="//getquibble.com/cdn/shop/t/4/assets/animations.js?v=88693664871331136111721086172" defer="defer"></script>
44<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
44<meta name="google-site-verification" content="zRlffp4aDoneU-0q7CX8OgaOPy4Y5YmMzM1DNgqN_0U">
45<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/81449812275/digital_wallets/dialog">
46<meta id="in-context-paypal-metadata" data-shop-id="81449812275" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
47<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
47<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
47
48<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
49<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=81449812275" crossorigin="anonymous"></script>
vendor: 1 bytes, line 49
49
50<script id="shopify-features" type="application/json">{"accessToken":"a9fff067ee4c01328098efabfba97877","betas":["rich-media-storefront-analytics"],"domain":"getquibble.com","predictiveSearch":true,"shopId":81449812275,"locale":"en"}</script>
vendor: 1 bytes, line 50
50
51<script>var Shopify = Shopify || {};
52Shopify.shop = "c820c3-2.myshopify.com";
53Shopify.locale = "en";
54Shopify.currency = {"active":"USD","rate":"1.0"};
55Shopify.country = "US";
56Shopify.theme = {"name":"DawnV2","id":170261545267,"schema_name":"Dawn","schema_version":"11.0.0","theme_store_id":887,"role":"main"};
57Shopify.theme.handle = "null";
58Shopify.theme.style = {"id":null,"handle":null};
59Shopify.cdnHost = "getquibble.com/cdn";
60Shopify.routes = Shopify.routes || {};
61Shopify.routes.root = "/";
62Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
63Shopify.SignInWithShop = Shopify.SignInWithShop || {};
64Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
65Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 65
65
66<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 66
66
67<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 67
67
68<script>
69  window.ShopifyPay = window.ShopifyPay || {};
70  window.ShopifyPay.apiHost = "shop.app\/pay";
71  window.ShopifyPay.redirectState = null;
72</script>
vendor: 1 bytes, line 72
72
73<script>
74  window.Shopify = window.Shopify || {};
75  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
76  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
77  window.Shopify.SignInWithShop.eligible = true;
78</script>
vendor: 1 bytes, line 78
78
79<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 79
79
80<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 80
80
81<script type="module">
82  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
83
84  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
85
86</script>
vendor: 1 bytes, line 86
86
87<script>
88  window.Shopify = window.Shopify || {};
89  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
90  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"]};
91</script>
vendor: 1 bytes, line 91
91
92<script>(function() {
93  var isLoaded = false;
94  function asyncLoad() {
95    if (isLoaded) return;
96    isLoaded = true;
97    var urls = ["https:\/\/static.klaviyo.com\/onsite\/js\/UbFrps\/klaviyo.js?company_id=UbFrps\u0026shop=c820c3-2.myshopify.com","https:\/\/static.klaviyo.com\/onsite\/js\/UnvD4v\/klaviyo.js?company_id=UnvD4v\u0026shop=c820c3-2.myshopify.com"];
98    for (var i = 0; i < urls.length; i++) {
99      var s = document.createElement('script');
100      s.type = 'text/javascript';
101      s.async = true;
102      s.src = urls[i];
103      var x = document.getElementsByTagName('script')[0];
104      x.parentNode.insertBefore(s, x);
105    }
106  };
107  if(window.attachEvent) {
108    window.attachEvent('onload', asyncLoad);
109  } else {
110    window.addEventListener('load', asyncLoad, false);
111  }
112})();</script>
vendor: 1 bytes, line 112
112
113<script id="__st">var __st={"a":81449812275,"offset":-14400,"reqid":"967f9002-d595-41a1-8421-30443db1615e-1790904608","pageurl":"getquibble.com\/","u":"68bc9b99bfab","p":"home"};</script>
vendor: 1 bytes, line 113
113
114<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 114
114
115<script id="form-persister">!function(){'use strict';const t='contact',e='new_comment',n=[[t,t],['blogs',e],['comments',e],[t,'customer']],o='password',r='form_key',c=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',o],s=()=>{try{return window.sessionStorage}catch{return}},i='__shopify_v',u=t=>t.elements[r],a=function(){const t=[...n].map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(',');var e;return e=t,()=>e?[...document.querySelectorAll(e)].map((t=>t.form)):[]}();function m(t){const e=u(t);a().includes(t)&&(!e||!e.value)&&function(t){try{if(!s())return;!function(t){const e=s();if(!e)return;const n=u(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){u(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:r})),t.elements[r].value=e}(t,e),function(t,e){const n=s();if(!n)return;const r=[...t.querySelectorAll(`input[type='${o}']`)].map((({name:t})=>t)),u=[...c,...r],a={};for(const[o,c]of new FormData(t).entries())u.includes(o)||(a[o]=c);n.setItem(e,JSON.stringify({[i]:1,action:t.action,data:a}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(t)}const f=t=>{if('true'===t.dataset.persistBound)return;const e=function(t,e){const n=function(t){return'function'==typeof t.submit?t.submit:HTMLFormElement.prototype.submit}(t).bind(t);return function(){let t;return()=>{t||(t=!0,(()=>{try{e(),n()}catch(t){(t=>{console.error('form submit failed',t)})(t)}})(),setTimeout((()=>t=!1),250))}}()}(t,(()=>{m(t)}));!function(t,e){if('function'==typeof t.submit&&'function'==typeof e)try{t.submit=e}catch{}}(t,e),t.addEventListener('submit',(t=>{t.preventDefault(),e()})),t.dataset.persistBound='true'};!function(){function t(t){const e=(t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form})(t);e&&m(e)}document.addEventListener('submit',t),document.addEventListener('DOMContentLoaded',(()=>{const e=a();for(const t of e)f(t);var n;n=document.body,new window.MutationObserver((t=>{for(const e of t)if('childList'===e.type&&e.addedNodes.length)for(const t of e.addedNodes)1===t.nodeType&&'FORM'===t.tagName&&a().includes(t)&&f(t)})).observe(n,{childList:!0,subtree:!0,attributes:!1}),document.removeEventListener('submit',t)}))}()}();</script>
vendor: 1 bytes, line 115
115
116<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//getquibble.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 116
116
117<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 = "//getquibble.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>
117<script crossorigin="anonymous" defer="defer" src="//getquibble.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 117
117
118<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 118
118
119<script>
120  window.Shopify = window.Shopify || {};
121  window.Shopify.MCP = window.Shopify.MCP || {};
122  window.Shopify.MCP.enabled = true;
123  window.Shopify.MCP.shop = "c820c3-2.myshopify.com";
124  window.Shopify.MCP.mcpEndpoint = "https:\/\/getquibble.com\/api\/mcp";
125  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
126</script>
vendor: 1 bytes, line 126
126
127<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("\/\/getquibble.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
128</script>
vendor: 1 bytes, line 128
128
129<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://getquibble.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
130</script>
vendor: 1 bytes, line 130
130
131<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
132  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);
133</script>
vendor: 1 bytes, line 133
133
134<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})}}));
135</script>
135
136<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://getquibble.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
137<style id="shopify-accelerated-checkout-cart">
138        #shopify-buyer-consent {
139  margin-top: 1em;
140  display: inline-block;
141  width: 100%;
142}
143
144#shopify-buyer-consent.hidden {
145  display: none;
146}
147
148#shopify-subscription-policy-button {
149  background: none;
150  border: none;
151  padding: 0;
152  text-decoration: underline;
153  font-size: inherit;
154  cursor: pointer;
155}
156
157#shopify-subscription-policy-button::before {
158  box-shadow: none;
159}
160
161      </style>
162<script id="sections-script" data-sections="header" defer="defer" src="//getquibble.com/cdn/shop/t/4/compiled_assets/scripts.js?v=94409624721522135871723504232"></script>
vendor: 1 bytes, line 162
162
163<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
163
164
165
166  <style data-shopify>
167    @font-face {
168  font-family: Asap;
169  font-weight: 400;
170  font-style: normal;
171  font-display: swap;
172  src: url("//getquibble.com/cdn/fonts/asap/asap_n4.994be5d5211fe3b2dda4ebd41cf2b04f4dfe140e.woff2") format("woff2"),
173       url("//getquibble.com/cdn/fonts/asap/asap_n4.e7f26429238df8651924f4a97a5e9467c7cf683b.woff") format("woff");
174}
175
176    @font-face {
177  font-family: Asap;
178  font-weight: 700;
179  font-style: normal;
180  font-display: swap;
181  src: url("//getquibble.com/cdn/fonts/asap/asap_n7.3209f7e23b2ef01c793f40c7556e6532b06b5f1e.woff2") format("woff2"),
182       url("//getquibble.com/cdn/fonts/asap/asap_n7.b0a0b6deb369ccc0b973a1d12f3530d5e4373c77.woff") format("woff");
183}
184
185    @font-face {
186  font-family: Asap;
187  font-weight: 400;
188  font-style: italic;
189  font-display: swap;
190  src: url("//getquibble.com/cdn/fonts/asap/asap_i4.3c59c01b158892bd0ef8b61bc7f081c23ae9b42e.woff2") format("woff2"),
191       url("//getquibble.com/cdn/fonts/asap/asap_i4.014f2bc4fda2741d520d341143cf61b2d5e0d21e.woff") format("woff");
192}
193
194    @font-face {
195  font-family: Asap;
196  font-weight: 700;
197  font-style: italic;
198  font-display: swap;
199  src: url("//getquibble.com/cdn/fonts/asap/asap_i7.54957565625fd1dffc964521d01f3da61e596089.woff2") format("woff2"),
200       url("//getquibble.com/cdn/fonts/asap/asap_i7.98e2b88b25225290e9c09e36eb54e243fd11491f.woff") format("woff");
201}
202
203    @font-face {
204  font-family: Nunito;
205  font-weight: 800;
206  font-style: normal;
207  font-display: swap;
208  src: url("//getquibble.com/cdn/fonts/nunito/nunito_n8.a4faa34563722dcb4bd960ae538c49eb540a565f.woff2") format("woff2"),
209       url("//getquibble.com/cdn/fonts/nunito/nunito_n8.7b9b4d7a0ef879eb46735a0aecb391013c7f7aeb.woff") format("woff");
210}
211
212
213    
214      :root,
215      .color-background-1 {
216        --color-background: 255,255,255;
217      
218        --gradient-background: #ffffff;
219      
220      --color-foreground: 0,0,0;
221      --color-shadow: 18,18,18;
222      --color-button: 36,156,98;
223      --color-button-text: 255,255,255;
224      --color-secondary-button: 255,255,255;
225      --color-secondary-button-text: 18,18,18;
226      --color-link: 18,18,18;
227      --color-badge-foreground: 0,0,0;
228      --color-badge-background: 255,255,255;
229      --color-badge-border: 0,0,0;
230      --payment-terms-background-color: rgb(255 255 255);
231    }
232    
233      
234      .color-background-2 {
235        --color-background: 36,156,98;
236      
237        --gradient-background: #249c62;
238      
239      --color-foreground: 255,255,255;
240      --color-shadow: 18,18,18;
241      --color-button: 18,18,18;
242      --color-button-text: 243,243,243;
243      --color-secondary-button: 36,156,98;
244      --color-secondary-button-text: 18,18,18;
245      --color-link: 18,18,18;
246      --color-badge-foreground: 255,255,255;
247      --color-badge-background: 36,156,98;
248      --color-badge-border: 255,255,255;
249      --payment-terms-background-color: rgb(36 156 98);
250    }
251    
252      
253      .color-inverse {
254        --color-background: 36,156,98;
255      
256        --gradient-background: linear-gradient(180deg, rgba(36, 156, 98, 1) 27%, rgba(42, 156, 120, 1) 65%, rgba(29, 65, 38, 1) 100%);
257      
258      --color-foreground: 255,255,255;
259      --color-shadow: 18,18,18;
260      --color-button: 255,255,255;
261      --color-button-text: 0,0,0;
262      --color-secondary-button: 36,156,98;
263      --color-secondary-button-text: 255,255,255;
264      --color-link: 255,255,255;
265      --color-badge-foreground: 255,255,255;
266      --color-badge-background: 36,156,98;
267      --color-badge-border: 255,255,255;
268      --payment-terms-background-color: rgb(36 156 98);
269    }
270    
271      
272      .color-accent-1 {
273        --color-background: 36,156,98;
274      
275        --gradient-background: #249c62;
276      
277      --color-foreground: 0,0,0;
278      --color-shadow: 18,18,18;
279      --color-button: 255,255,255;
280      --color-button-text: 18,18,18;
281      --color-secondary-button: 36,156,98;
282      --color-secondary-button-text: 255,255,255;
283      --color-link: 255,255,255;
284      --color-badge-foreground: 0,0,0;
285      --color-badge-background: 36,156,98;
286      --color-badge-border: 0,0,0;
287      --payment-terms-background-color: rgb(36 156 98);
288    }
289    
290      
291      .color-accent-2 {
292        --color-background: 255,255,255;
293      
294        --gradient-background: #ffffff;
295      
296      --color-foreground: 255,255,255;
297      --color-shadow: 18,18,18;
298      --color-button: 36,156,98;
299      --color-button-text: 255,255,255;
300      --color-secondary-button: 255,255,255;
301      --color-secondary-button-text: 255,255,255;
302      --color-link: 255,255,255;
303      --color-badge-foreground: 255,255,255;
304      --color-badge-background: 255,255,255;
305      --color-badge-border: 255,255,255;
306      --payment-terms-background-color: rgb(255 255 255);
307    }
308    
309
310    body, .color-background-1, .color-background-2, .color-inverse, .color-accent-1, .color-accent-2 {
311      color: rgba(var(--color-foreground), 0.75);
312      background-color: rgb(var(--color-background));
313    }
314
315    :root {
316      --font-body-family: Asap, sans-serif;
317      --font-body-style: normal;
318      --font-body-weight: 400;
319      --font-body-weight-bold: 700;
320
321      --font-heading-family: Nunito, sans-serif;
322      --font-heading-style: normal;
323      --font-heading-weight: 800;
324
325      --font-body-scale: 1.3;
326      --font-heading-scale: 1.1538461538461537;
327
328      --media-padding: px;
329      --media-border-opacity: 0.05;
330      --media-border-width: 1px;
331      --media-radius: 20px;
332      --media-shadow-opacity: 0.5;
333      --media-shadow-horizontal-offset: 0px;
334      --media-shadow-vertical-offset: 4px;
335      --media-shadow-blur-radius: 25px;
336      --media-shadow-visible: 1;
337
338      --page-width: 100rem;
339      --page-width-margin: 0rem;
340
341      --product-card-image-padding: 1.2rem;
342      --product-card-corner-radius: 2.0rem;
343      --product-card-text-alignment: center;
344      --product-card-border-width: 0.0rem;
345      --product-card-border-opacity: 0.1;
346      --product-card-shadow-opacity: 0.5;
347      --product-card-shadow-visible: 1;
348      --product-card-shadow-horizontal-offset: 0.0rem;
349      --product-card-shadow-vertical-offset: 0.4rem;
350      --product-card-shadow-blur-radius: 2.5rem;
351
352      --collection-card-image-padding: 0.0rem;
353      --collection-card-corner-radius: 0.0rem;
354      --collection-card-text-alignment: left;
355      --collection-card-border-width: 0.0rem;
356      --collection-card-border-opacity: 0.1;
357      --collection-card-shadow-opacity: 0.0;
358      --collection-card-shadow-visible: 0;
359      --collection-card-shadow-horizontal-offset: 0.0rem;
360      --collection-card-shadow-vertical-offset: 0.4rem;
361      --collection-card-shadow-blur-radius: 0.5rem;
362
363      --blog-card-image-padding: 0.0rem;
364      --blog-card-corner-radius: 0.0rem;
365      --blog-card-text-alignment: left;
366      --blog-card-border-width: 0.0rem;
367      --blog-card-border-opacity: 0.1;
368      --blog-card-shadow-opacity: 0.0;
369      --blog-card-shadow-visible: 0;
370      --blog-card-shadow-horizontal-offset: 0.0rem;
371      --blog-card-shadow-vertical-offset: 0.4rem;
372      --blog-card-shadow-blur-radius: 0.5rem;
373
374      --badge-corner-radius: 4.0rem;
375
376      --popup-border-width: 1px;
377      --popup-border-opacity: 0.1;
378      --popup-corner-radius: 0px;
379      --popup-shadow-opacity: 0.05;
380      --popup-shadow-horizontal-offset: 0px;
381      --popup-shadow-vertical-offset: 4px;
382      --popup-shadow-blur-radius: 5px;
383
384      --drawer-border-width: 1px;
385      --drawer-border-opacity: 0.1;
386      --drawer-shadow-opacity: 0.0;
387      --drawer-shadow-horizontal-offset: 0px;
388      --drawer-shadow-vertical-offset: 4px;
389      --drawer-shadow-blur-radius: 5px;
390
391      --spacing-sections-desktop: 0px;
392      --spacing-sections-mobile: 0px;
393
394      --grid-desktop-vertical-spacing: 40px;
395      --grid-desktop-horizontal-spacing: 4px;
396      --grid-mobile-vertical-spacing: 20px;
397      --grid-mobile-horizontal-spacing: 2px;
398
399      --text-boxes-border-opacity: 0.0;
400      --text-boxes-border-width: 0px;
401      --text-boxes-radius: 38px;
402      --text-boxes-shadow-opacity: 0.0;
403      --text-boxes-shadow-visible: 0;
404      --text-boxes-shadow-horizontal-offset: -40px;
405      --text-boxes-shadow-vertical-offset: -40px;
406      --text-boxes-shadow-blur-radius: 0px;
407
408      --buttons-radius: 40px;
409      --buttons-radius-outset: 42px;
410      --buttons-border-width: 2px;
411      --buttons-border-opacity: 1.0;
412      --buttons-shadow-opacity: 0.5;
413      --buttons-shadow-visible: 1;
414      --buttons-shadow-horizontal-offset: 0px;
415      --buttons-shadow-vertical-offset: 4px;
416      --buttons-shadow-blur-radius: 10px;
417      --buttons-border-offset: 0.3px;
418
419      --inputs-radius: 0px;
420      --inputs-border-width: 1px;
421      --inputs-border-opacity: 0.55;
422      --inputs-shadow-opacity: 0.0;
423      --inputs-shadow-horizontal-offset: 0px;
424      --inputs-margin-offset: 0px;
425      --inputs-shadow-vertical-offset: 4px;
426      --inputs-shadow-blur-radius: 5px;
427      --inputs-radius-outset: 0px;
428
429      --variant-pills-radius: 40px;
430      --variant-pills-border-width: 1px;
431      --variant-pills-border-opacity: 0.55;
432      --variant-pills-shadow-opacity: 0.5;
433      --variant-pills-shadow-horizontal-offset: 0px;
434      --variant-pills-shadow-vertical-offset: 4px;
435      --variant-pills-shadow-blur-radius: 5px;
436    }
437
438    *,
439    *::before,
440    *::after {
441      box-sizing: inherit;
442    }
443
444    html {
445      box-sizing: border-box;
446      font-size: calc(var(--font-body-scale) * 62.5%);
447      height: 100%;
448    }
449
450    body {
451      display: grid;
452      grid-template-rows: auto auto 1fr auto;
453      grid-template-columns: 100%;
454      min-height: 100%;
455      margin: 0;
456      font-size: 1.5rem;
457      letter-spacing: 0.06rem;
458      line-height: calc(1 + 0.8 / var(--font-body-scale));
459      font-family: var(--font-body-family);
460      font-style: var(--font-body-style);
461      font-weight: var(--font-body-weight);
462    }
463    .header {
464     font-family: "Roboto", sans-serif;
465     font-weight: 400;
466     font-style: normal;
467    }
468    
469    @font-face { 
470font-family: 'SegoeUI';
471src: url(https://cdn.shopify.com/s/files/1/0814/4981/2275/files/SegoeUIThis.woff?v=1721089167) format('woff2');
472} 
473
474    @media screen and (min-width: 750px) {
475      body {
476        font-size: 1.6rem;
477      }
478    }
479  </style>
480
481  <link href="//getquibble.com/cdn/shop/t/4/assets/base.css?v=133893235274628601201721090771" rel="stylesheet" type="text/css" media="all" />
482<link rel="preload" as="font" href="//getquibble.com/cdn/fonts/asap/asap_n4.994be5d5211fe3b2dda4ebd41cf2b04f4dfe140e.woff2" type="font/woff2" crossorigin><link rel="preload" as="font" href="//getquibble.com/cdn/fonts/nunito/nunito_n8.a4faa34563722dcb4bd960ae538c49eb540a565f.woff2" type="font/woff2" crossorigin><link
483      rel="stylesheet"
484      href="//getquibble.com/cdn/shop/t/4/assets/component-predictive-search.css?v=118923337488134913561721086172"
485      media="print"
486      onload="this.media='all'"
487    >
487<script>
488    document.documentElement.className = document.documentElement.className.replace('no-js', 'js');
489    if (Shopify.designMode) {
490      document.documentElement.classList.add('shopify-design-mode');
491    }
492  </script>
492
493<!-- 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 -->
494<!-- BEGIN app snippet: Index-JSON-LD-V2 --><!-- END app snippet -->
495<!-- JsSON-LD generated By SEOAnt END -->
496<!-- Start : SEOAnt BrokenLink Redirect -->
496<script src="https://cdn.shopify.com/extensions/01a0d261-ec07-7224-8562-58005aa6a0f8/seowill-ai-seo-121/assets/seoant-receive-id.js" data-shop="c820c3-2.myshopify.com" defer></script>
496<!-- END : SEOAnt BrokenLink Redirect -->
497<!-- Added By SEOAnt AMP. v0.0.1, START --><!-- Added By SEOAnt AMP END -->
498<!-- Instant Page START -->
498<script src="https://cdn.shopify.com/extensions/01a0d261-ec07-7224-8562-58005aa6a0f8/seowill-ai-seo-121/assets/pagespeed-preloading.js" defer="defer"></script>
498<!-- Instant Page END -->
499<!-- Google search console START v1.0 --><!-- Google search console END v1.0 -->
500<!-- Lazy Loading START --><!-- Lazy Loading END -->
501<!-- Video Lazy START --><!-- Video Lazy END -->
502<!--  SEOAnt Core End -->
503<!-- END app block --><link href="https://cdn.shopify.com/extensions/019ff9f4-4c16-7aa1-846e-ceb42a4bb7ed/bitloyalty-loyalty-login-149/assets/app.css" rel="stylesheet" type="text/css" media="all">
504<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
505<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: 81449812275,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 505
505
506<script>
507  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
508</script>
vendor: 1 bytes, line 508
508
509<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}
509).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: 81449812275,storefrontBaseUrl: "https://getquibble.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://getquibble.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"931168563","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"AW-16764775318\\\",\\\"GT-P84QCJ3Q\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"AW-16764775318\\\/k0ALCJGm0-YZEJbXiLo-\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"AW-16764775318\\\/xfDXCJem0-YZEJbXiLo-\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"AW-16764775318\\\/4DlGCI6m0-YZEJbXiLo-\\\",\\\"MC-8MZYMS2CVE\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"AW-16764775318\\\/n8ioCIim0-YZEJbXiLo-\\\",\\\"MC-8MZYMS2CVE\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"AW-16764775318\\\/h4rhCIum0-YZEJbXiLo-\\\",\\\"MC-8MZYMS2CVE\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"AW-16764775318\\\/1GjICJqm0-YZEJbXiLo-\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"AW-16764775318\\\/GVtBCJSm0-YZEJbXiLo-\\\"}],\\\"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":"693207347","configuration":"{\"pixelCode\":\"COM3KTRC77U77RN3BEUG\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"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":"Quibble","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"c820c3-2.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/getquibble.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://getquibble.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"170261545267","themeStoreId":"887","themePublished":"true","eventMetadataId":"15902eb0-f78c-4e84-b8ad-b6dbd6baa2bc","pageType":"home","shopId":"81449812275","storefrontBaseUrl":"https:\/\/getquibble.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
509<script>
510  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
511  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
512  window.ShopifyAnalytics.meta.currency = 'USD';
513  var meta = {"page":{"pageType":"home","requestId":"967f9002-d595-41a1-8421-30443db1615e-1790904608"}};
514  for (var attr in meta) {
515    window.ShopifyAnalytics.meta[attr] = meta[attr];
516  }
517</script>
vendor: 1 bytes, line 517
517
518<script class="analytics">
519  (function () {
520    var customDocumentWrite = function(content) {
521      var jquery = null;
522
523      if (window.jQuery) {
524        jquery = window.jQuery;
525      } else if (window.Checkout && window.Checkout.$) {
526        jquery = window.Checkout.$;
527      }
528
529      if (jquery) {
530        jquery('body').append(content);
531      }
532    };
533
534    var hasLoggedConversion = function(token) {
535      if (token) {
536        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
537      }
538      return false;
539    }
540
541    var setCookieIfConversion = function(token) {
542      if (token) {
543        var twoMonthsFromNow = new Date(Date.now());
544        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
545
546        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
547      }
548    }
549
550    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
551    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
552    if (trekkie.integrations) {
553      return;
554    }
555    trekkie.methods = [
556      'identify',
557      'page',
558      'ready',
559      'track',
560      'trackForm',
561      'trackLink'
562    ];
563    trekkie.factory = function(method) {
564      return function() {
565        var args = Array.prototype.slice.call(arguments);
566        args.unshift(method);
567        trekkie.push(args);
568        if (method == 'track' || method == 'page') {
569          var pageUrl;
570          try {
571            pageUrl = window.location.href;
572          } catch (e) {}
573          var pageReferrer;
574          try {
575            pageReferrer = document.referrer;
576          } catch (e) {}
577          try {
578            if (window.__TREKKIE_SHIM_QUEUE == null) {
579              window.__TREKKIE_SHIM_QUEUE = [];
580            }
581            window.__TREKKIE_SHIM_QUEUE.push({
582              from: 'trekkie-stub',
583              method: method,
584              args: args.slice(1),
585              pageContext: {
586                url: pageUrl,
587                referrer: pageReferrer
588              }
589            });
590          } catch (e) {
591            // no-op
592          }
593        }
594        return trekkie;
595      };
596    };
597    for (var i = 0; i < trekkie.methods.length; i++) {
598      var key = trekkie.methods[i];
599      trekkie[key] = trekkie.factory(key);
600    }
601    trekkie.load = function(config) {
602      trekkie.config = config || {};
603      trekkie.config.initialDocumentCookie = document.cookie;
604      var first = document.getElementsByTagName('script')[0];
605var script = document.createElement('script');
606script.type = 'text/javascript';
607script.onerror = function(e) {
608  var scriptFallback = document.createElement('script');
609  scriptFallback.type = 'text/javascript';
610  scriptFallback.onerror = function(error) {
611          var Monorail = {
612      produce: function produce(monorailDomain, schemaId, payload) {
613        var currentMs = new Date().getTime();
614        var event = {
615          schema_id: schemaId,
616          payload: payload,
617          metadata: {
618            event_created_at_ms: currentMs,
619            event_sent_at_ms: currentMs
620          }
621        };
622        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
623      },
624      sendRequest: function sendRequest(endpointUrl, payload) {
625        // Try the sendBeacon API
626        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
627          var blobData = new window.Blob([payload], {
628            type: 'text/plain'
629          });
630
631          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
632            return true;
633          } // sendBeacon was not successful
634
635        } // XHR beacon
636
637        var xhr = new XMLHttpRequest();
638
639        try {
640          xhr.open('POST', endpointUrl);
641          xhr.setRequestHeader('Content-Type', 'text/plain');
642          xhr.send(payload);
643        } catch (e) {
644          console.log(e);
645        }
646
647        return false;
648      },
649      isIos12: function isIos12() {
650        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
651      }
652    };
653    Monorail.produce('monorail-edge.shopifysvc.com',
654      'trekkie_storefront_load_errors/1.1',
655      {shop_id: 81449812275,
656      theme_id: 170261545267,
657      app_name: "storefront",
658      context_url: window.location.href,
659      source_url: "//getquibble.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
660
661  };
662  scriptFallback.async = true;
663  scriptFallback.src = '//getquibble.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
664  first.parentNode.insertBefore(scriptFallback, first);
665};
666script.async = true;
667script.src = '//getquibble.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
668first.parentNode.insertBefore(script, first);
669
670    };
671    trekkie.load(
672      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":81449812275,"isMerchantRequest":null,"themeId":170261545267,"themeCityHash":"15324313491085434524","contentLanguage":"en","currency":"USD","eventMetadataId":"15902eb0-f78c-4e84-b8ad-b6dbd6baa2bc"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
673    );
674
675    var loaded = false;
676    trekkie.ready(function() {
677      if (loaded) return;
678      loaded = true;
679
680      window.ShopifyAnalytics.lib = window.trekkie;
681
682      var originalDocumentWrite = document.write;
683      document.write = customDocumentWrite;
684      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
685      document.write = originalDocumentWrite;
686
687      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
688      var token = match? match[1]: undefined;
689      if (!hasLoggedConversion(token)) {
690        setCookieIfConversion(token);
691        
692      }
693    });
694
695    window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"967f9002-d595-41a1-8421-30443db1615e-1790904608","shopifyEmitted":true});
696
697    var eventsListenerScript = document.createElement('script');
698    eventsListenerScript.async = true;
699    eventsListenerScript.src = "//getquibble.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
700    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
701})();</script>
vendor: 1 bytes, line 701
701
702<script
703  defer
704  src="https://getquibble.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
705  data-application="storefront-renderer"
706  data-shop-id="81449812275"
707  data-render-region="gcp-us-central1"
708  data-page-type="index"
709  data-theme-instance-id="170261545267"
710  data-theme-name="Dawn"
711  data-theme-version="11.0.0"
712  data-monorail-region="shop_domain"
713  data-resource-timing-sampling-rate="10"
714  data-shs="true"
715  data-shs-beacon="true"
716  data-shs-export-with-fetch="true"
717  data-shs-logs-sample-rate="1"
718  data-shs-beacon-endpoint="https://getquibble.com/api/collect"
719></script>
719
720<meta name="shopify-y" content="85a6ccb5-63df-44df-b52d-d373142409ef" data-expiration="1822462208000"><meta name="shopify-s" content="0118c38e-5a72-48e2-ae20-6cdd986150cf" data-expiration="1790906408000"><meta name="new-cookie-storage-activated" content="t">
721</head>
722
723<body class="gradient animate--hover-3d-lift">
724  <a class="skip-to-content-link button visually-hidden" href="#MainContent">
725    Skip to content
726  </a><!-- BEGIN sections: header-group -->
727<div id="shopify-section-sections--23060958773555__header" class="shopify-section shopify-section-group-header-group section-header"><link rel="stylesheet" href="//getquibble.com/cdn/shop/t/4/assets/component-list-menu.css?v=151968516119678728991721086172" media="print" onload="this.media='all'">
728<link rel="stylesheet" href="//getquibble.com/cdn/shop/t/4/assets/component-search.css?v=130382253973794904871721086172" media="print" onload="this.media='all'">
729<link rel="stylesheet" href="//getquibble.com/cdn/shop/t/4/assets/component-menu-drawer.css?v=31331429079022630271721086172" media="print" onload="this.media='all'">
730<link rel="stylesheet" href="//getquibble.com/cdn/shop/t/4/assets/component-cart-notification.css?v=54116361853792938221721086172" media="print" onload="this.media='all'">
731<link rel="stylesheet" href="//getquibble.com/cdn/shop/t/4/assets/component-cart-items.css?v=63185545252468242311721086172" media="print" onload="this.media='all'"><link rel="stylesheet" href="//getquibble.com/cdn/shop/t/4/assets/component-price.css?v=70172745017360139101721086172" media="print" onload="this.media='all'">
732  <link rel="stylesheet" href="//getquibble.com/cdn/shop/t/4/assets/component-loading-overlay.css?v=58800470094666109841721086172" media="print" onload="this.media='all'"><noscript><link href="//getquibble.com/cdn/shop/t/4/assets/component-list-menu.css?v=151968516119678728991721086172" rel="stylesheet" type="text/css" media="all" /></noscript>
733<noscript><link href="//getquibble.com/cdn/shop/t/4/assets/component-search.css?v=130382253973794904871721086172" rel="stylesheet" type="text/css" media="all" /></noscript>
734<noscript><link href="//getquibble.com/cdn/shop/t/4/assets/component-menu-drawer.css?v=31331429079022630271721086172" rel="stylesheet" type="text/css" media="all" /></noscript>
735<noscript><link href="//getquibble.com/cdn/shop/t/4/assets/component-cart-notification.css?v=54116361853792938221721086172" rel="stylesheet" type="text/css" media="all" /></noscript>
736<noscript><link href="//getquibble.com/cdn/shop/t/4/assets/component-cart-items.css?v=63185545252468242311721086172" rel="stylesheet" type="text/css" media="all" /></noscript>
737
738<style>
739  header-drawer {
740    justify-self: start;
741    margin-left: -1.2rem;
742  }@media screen and (min-width: 990px) {
743      header-drawer {
744        display: none;
745      }
746    }.menu-drawer-container {
747    display: flex;
748  }
749
750  .list-menu {
751    list-style: none;
752    padding: 0;
753    margin: 0;
754  }
755
756  .list-menu--inline {
757    display: inline-flex;
758    flex-wrap: wrap;
759  }
760
761  summary.list-menu__item {
762    padding-right: 2.7rem;
763  }
764
765  .list-menu__item {
766    display: flex;
767    align-items: center;
768    line-height: calc(1 + 0.3 / var(--font-body-scale));
769  }
770
771  .list-menu__item--link {
772    text-decoration: none;
773    padding-bottom: 1rem;
774    padding-top: 1rem;
775    line-height: calc(1 + 0.8 / var(--font-body-scale));
776  }
777
778  @media screen and (min-width: 750px) {
779    .list-menu__item--link {
780      padding-bottom: 0.5rem;
781      padding-top: 0.5rem;
782    }
783  }
784</style><style data-shopify>.header {
785    padding: 10px 3rem 10px 3rem;
786  }
787
788  .section-header {
789    position: sticky; /* This is for fixing a Safari z-index issue. PR #2147 */
790    margin-bottom: 0px;
791  }
792
793  @media screen and (min-width: 750px) {
794    .section-header {
795      margin-bottom: 0px;
796    }
797  }
798
799  @media screen and (min-width: 990px) {
800    .header {
801      padding-top: 20px;
802      padding-bottom: 20px;
803    }
804  }</style>
804<script src="//getquibble.com/cdn/shop/t/4/assets/details-disclosure.js?v=13653116266235556501721086172" defer="defer"></script>
vendor: 1 bytes, line 804
804
805<script src="//getquibble.com/cdn/shop/t/4/assets/details-modal.js?v=25581673532751508451721086172" defer="defer"></script>
vendor: 1 bytes, line 805
805
806<script src="//getquibble.com/cdn/shop/t/4/assets/cart-notification.js?v=133508293167896966491721086172" defer="defer"></script>
vendor: 1 bytes, line 806
806
807<script src="//getquibble.com/cdn/shop/t/4/assets/search-form.js?v=133129549252120666541721086172" defer="defer"></script>
807<svg xmlns="http://www.w3.org/2000/svg" class="hidden">
808  <symbol id="icon-search" viewbox="0 0 18 19" fill="none">
809    <path fill-rule="evenodd" clip-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 112.85 3.5a5.784 5.784 0 018.18 8.18zm.26 1.12a6.78 6.78 0 11.72-.7l5.4 5.4a.5.5 0 11-.71.7l-5.41-5.4z" fill="currentColor"/>
810  </symbol>
811
812  <symbol id="icon-reset" class="icon icon-close"  fill="none" viewBox="0 0 18 18" stroke="currentColor">
813    <circle r="8.5" cy="9" cx="9" stroke-opacity="0.2"/>
814    <path d="M6.82972 6.82915L1.17193 1.17097" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/>
815    <path d="M1.22896 6.88502L6.77288 1.11523" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/>
816  </symbol>
817
818  <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17">
819    <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
820  </symbol>
821</svg><sticky-header data-sticky-type="on-scroll-up" class="header-wrapper color-background-1 gradient header-wrapper--border-bottom"><header class="header header--middle-left header--mobile-center page-width header--has-menu header--has-social header--has-account">
822
823<header-drawer data-breakpoint="tablet">
824  <details id="Details-menu-drawer-container" class="menu-drawer-container">
825    <summary
826      class="header__icon header__icon--menu header__icon--summary link focus-inset"
827      aria-label="Menu"
828    >
829      <span>
830        <svg
831  xmlns="http://www.w3.org/2000/svg"
832  aria-hidden="true"
833  focusable="false"
834  class="icon icon-hamburger"
835  fill="none"
836  viewBox="0 0 18 16"
837>
838  <path d="M1 .5a.5.5 0 100 1h15.71a.5.5 0 000-1H1zM.5 8a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1A.5.5 0 01.5 8zm0 7a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1a.5.5 0 01-.5-.5z" fill="currentColor">
839</svg>
840
841        <svg
842  xmlns="http://www.w3.org/2000/svg"
843  aria-hidden="true"
844  focusable="false"
845  class="icon icon-close"
846  fill="none"
847  viewBox="0 0 18 17"
848>
849  <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
850</svg>
851
852      </span>
853    </summary>
854    <div id="menu-drawer" class="gradient menu-drawer motion-reduce color-background-1">
855      <div class="menu-drawer__inner-container">
856        <div class="menu-drawer__navigation-container">
857          <nav class="menu-drawer__navigation">
858            <ul class="menu-drawer__menu has-submenu list-menu" role="list"><li><a
859                      id="HeaderDrawer-affiliate-program"
860                      href="https://getquibble.com/community/affiliate/signup"
861                      class="menu-drawer__menu-item list-menu__item link link--text focus-inset"
862                      
863                    >
864                      Affiliate Program
865                    </a></li><li><a
866                      id="HeaderDrawer-pricing"
867                      href="https://getquibble.com/#quibble-products"
868                      class="menu-drawer__menu-item list-menu__item link link--text focus-inset"
869                      
870                    >
871                      Pricing
872                    </a></li><li><a
873                      id="HeaderDrawer-contact"
874                      href="/pages/contact-quibble"
875                      class="menu-drawer__menu-item list-menu__item link link--text focus-inset"
876                      
877                    >
878                      Contact
879                    </a></li><li><a
880                      id="HeaderDrawer-log-in"
881                      href="https://getquibble.com/account/login"
882                      class="menu-drawer__menu-item list-menu__item link link--text focus-inset"
883                      
884                    >
885                      Log In
886                    </a></li><li><a
887                      id="HeaderDrawer-accessibility"
888                      href="/pages/accessibility"
889                      class="menu-drawer__menu-item list-menu__item link link--text focus-inset"
890                      
891                    >
892                      Accessibility
893                    </a></li></ul>
894          </nav>
895          <div class="menu-drawer__utility-links"><a
896                href="/account/login"
897                class="menu-drawer__account link focus-inset h5 medium-hide large-up-hide"
898              >
899                <svg
900  xmlns="http://www.w3.org/2000/svg"
901  aria-hidden="true"
902  focusable="false"
903  class="icon icon-account"
904  fill="none"
905  viewBox="0 0 18 19"
906>
907  <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.
9071-3.67-1.35-6.17-1.35z" fill="currentColor">
908</svg>
909
910Log in</a><div class="menu-drawer__localization header-localization">
911</div><ul class="list list-social list-unstyled" role="list"><li class="list-social__item">
912                  <a href="https://www.instagram.com/getquibble/" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-instagram" viewBox="0 0 20 20">
913  <path fill="currentColor" fill-rule="evenodd" d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.43 2.43 0 0 0-.912.593 2.486 2.486 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23 0 2.134.01 2.39.046 3.229.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046 2.134 0 2.39-.01 3.23-.046.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23 0-2.134-.01-2.39-.055-3.229-.027-.784-.164-1.204-.274-1.495a2.43 2.43 0 0 0-.593-.913 2.604 2.604 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045 1.1-.014 2.202.001 3.302.045.664.014 1.321.14 1.943.374a3.968 3.968 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.896 3.896 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.152 4.152 0 0 1-1.414-.922 4.128 4.128 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.44 4.44 0 0 1 .92-1.414 4.18 4.18 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805Zm1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93Zm5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355Z" clip-rule="evenodd"/>
914</svg>
915<span class="visually-hidden">Instagram</span>
916                  </a>
917                </li><li class="list-social__item">
918                  <a href="https://www.tiktok.com/@getquibble.com" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-tiktok" viewBox="0 0 20 20">
919  <path fill="currentColor" d="M10.511 1.705h2.74s-.157 3.51 3.795 3.768v2.711s-2.114.129-3.796-1.158l.028 5.606A5.073 5.073 0 1 1 8.213 7.56h.708v2.785a2.298 2.298 0 1 0 1.618 2.205L10.51 1.705Z"/>
920</svg>
921<span class="visually-hidden">TikTok</span>
922                  </a>
923                </li></ul>
924          </div>
925        </div>
926      </div>
927    </div>
928  </details>
929</header-drawer>
930<h1 class="header__heading"><a href="/" class="header__heading-link link link--text focus-inset"><div class="header__heading-logo-wrapper">
931                
932                <img src="//getquibble.com/cdn/shop/files/icon_large_e312f111-f176-4b3e-9e02-972f923a69d3.png?v=1692385358&amp;width=600" alt="Quibble" srcset="//getquibble.com/cdn/shop/files/icon_large_e312f111-f176-4b3e-9e02-972f923a69d3.png?v=1692385358&amp;width=90 90w, //getquibble.com/cdn/shop/files/icon_large_e312f111-f176-4b3e-9e02-972f923a69d3.png?v=1692385358&amp;width=135 135w, //getquibble.com/cdn/shop/files/icon_large_e312f111-f176-4b3e-9e02-972f923a69d3.png?v=1692385358&amp;width=180 180w" width="90" height="90.0" loading="eager" class="header__heading-logo motion-reduce" sizes="(max-width: 180px) 50vw, 90px">
933              </div></a></h1>
934
935<nav class="header__inline-menu">
936  <ul class="list-menu list-menu--inline" role="list"><li><a
937            id="HeaderMenu-affiliate-program"
938            href="https://getquibble.com/community/affiliate/signup"
939            class="header__menu-item list-menu__item link link--text focus-inset"
940            
941          >
942            <span
943            >Affiliate Program</span>
944          </a></li><li><a
945            id="HeaderMenu-pricing"
946            href="https://getquibble.com/#quibble-products"
947            class="header__menu-item list-menu__item link link--text focus-inset"
948            
949          >
950            <span
951            >Pricing</span>
952          </a></li><li><a
953            id="HeaderMenu-contact"
954            href="/pages/contact-quibble"
955            class="header__menu-item list-menu__item link link--text focus-inset"
956            
957          >
958            <span
959            >Contact</span>
960          </a></li><li><a
961            id="HeaderMenu-log-in"
962            href="https://getquibble.com/account/login"
963            class="header__menu-item list-menu__item link link--text focus-inset"
964            
965          >
966            <span
967            >Log In</span>
968          </a></li><li><a
969            id="HeaderMenu-accessibility"
970            href="/pages/accessibility"
971            class="header__menu-item list-menu__item link link--text focus-inset"
972            
973          >
974            <span
975            >Accessibility</span>
976          </a></li></ul>
977</nav>
978
979<div class="header__icons header__icons--localization header-localization">
980      <div class="desktop-localization-wrapper">
981</div>
982      
983
984<details-modal class="header__search">
985  <details>
986    <summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="Search">
987      <span>
988        <svg class="modal__toggle-open icon icon-search" aria-hidden="true" focusable="false">
989          <use href="#icon-search">
990        </svg>
991        <svg class="modal__toggle-close icon icon-close" aria-hidden="true" focusable="false">
992          <use href="#icon-close">
993        </svg>
994      </span>
995    </summary>
996    <div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="Search">
997      <div class="modal-overlay"></div>
998      <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form">
999              <div class="field">
1000                <input class="search__input field__input"
1001                  id="Search-In-Modal"
1002                  type="search"
1003                  name="q"
1004                  value=""
1005                  placeholder="Search"role="combobox"
1006                    aria-expanded="false"
1007                    aria-owns="predictive-search-results"
1008                    aria-controls="predictive-search-results"
1009                    aria-haspopup="listbox"
1010                    aria-autocomplete="list"
1011                    autocorrect="off"
1012                    autocomplete="off"
1013                    autocapitalize="off"
1014                    spellcheck="false">
1015                <label class="field__label" for="Search-In-Modal">Search</label>
1016                <input type="hidden" name="options[prefix]" value="last">
1017                <button type="reset" class="reset__button field__button hidden" aria-label="Clear search term">
1018                  <svg class="icon icon-close" aria-hidden="true" focusable="false">
1019                    <use xlink:href="#icon-reset">
1020                  </svg>
1021                </button>
1022                <button class="search__button field__button" aria-label="Search">
1023                  <svg class="icon icon-search" aria-hidden="true" focusable="false">
1024                    <use href="#icon-search">
1025                  </svg>
1026                </button>
1027              </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search>
1028                  <div class="predictive-search__loading-state">
1029                    <svg aria-hidden="true" focusable="false" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
1030                      <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
1031                    </svg>
1032                  </div>
1033                </div>
1034
1035                <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search><button type="button" class="search-modal__close-button modal__close-button link link--text focus-inset" aria-label="Close">
1036          <svg class="icon icon-close" aria-hidden="true" focusable="false">
1037            <use href="#icon-close">
1038          </svg>
1039        </button>
1040      </div>
1041    </div>
1042  </details>
1043</details-modal>
1044
1045<a href="/account/login" class="header__icon header__icon--account link focus-inset small-hide">
1046          <svg
1047  xmlns="http://www.w3.org/2000/svg"
1048  aria-hidden="true"
1049  focusable="false"
1050  class="icon icon-account"
1051  fill="none"
1052  viewBox="0 0 18 19"
1053>
1054  <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.
10541-3.67-1.35-6.17-1.35z" fill="currentColor">
1055</svg>
1056
1057          <span class="visually-hidden">Log in</span>
1058        </a><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"><svg
1059  class="icon icon-cart-empty"
1060  aria-hidden="true"
1061  focusable="false"
1062  xmlns="http://www.w3.org/2000/svg"
1063  viewBox="0 0 40 40"
1064  fill="none"
1065>
1066  <path d="m15.75 11.8h-3.16l-.77 11.6a5 5 0 0 0 4.99 5.34h7.38a5 5 0 0 0 4.99-5.33l-.78-11.61zm0 1h-2.22l-.71 10.67a4 4 0 0 0 3.99 4.27h7.38a4 4 0 0 0 4-4.27l-.72-10.67h-2.22v.63a4.75 4.75 0 1 1 -9.5 0zm8.5 0h-7.5v.63a3.75 3.75 0 1 0 7.5 0z" fill="currentColor" fill-rule="evenodd"/>
1067</svg>
1068<span class="visually-hidden">Cart</span></a>
1069    </div>
1070  </header>
1071</sticky-header>
1072
1073<cart-notification>
1074  <div class="cart-notification-wrapper page-width">
1075    <div
1076      id="cart-notification"
1077      class="cart-notification focus-inset color-background-1 gradient"
1078      aria-modal="true"
1079      aria-label="Item added to your cart"
1080      role="dialog"
1081      tabindex="-1"
1082    >
1083      <div class="cart-notification__header">
1084        <h2 class="cart-notification__heading caption-large text-body"><svg
1085  class="icon icon-checkmark"
1086  aria-hidden="true"
1087  focusable="false"
1088  xmlns="http://www.w3.org/2000/svg"
1089  viewBox="0 0 12 9"
1090  fill="none"
1091>
1092  <path fill-rule="evenodd" clip-rule="evenodd" d="M11.35.643a.5.5 0 01.006.707l-6.77 6.886a.5.5 0 01-.719-.006L.638 4.845a.5.5 0 11.724-.69l2.872 3.011 6.41-6.517a.5.5 0 01.707-.006h-.001z" fill="currentColor"/>
1093</svg>
1094Item added to your cart
1095        </h2>
1096        <button
1097          type="button"
1098          class="cart-notification__close modal__close-button link link--text focus-inset"
1099          aria-label="Close"
1100        >
1101          <svg class="icon icon-close" aria-hidden="true" focusable="false">
1102            <use href="#icon-close">
1103          </svg>
1104        </button>
1105      </div>
1106      <div id="cart-notification-product" class="cart-notification-product"></div>
1107      <div class="cart-notification__links">
1108        <a
1109          href="/cart"
1110          id="cart-notification-button"
1111          class="button button--secondary button--full-width"
1112        >View cart</a>
1113        <form action="/cart" method="post" id="cart-notification-form">
1114          <button class="button button--primary button--full-width" name="checkout">
1115            Check out
1116          </button>
1117        </form>
1118        <button type="button" class="link button-label">Continue shopping</button>
1119      </div>
1120    </div>
1121  </div>
1122</cart-notification>
1123<style data-shopify>
1124  .cart-notification {
1125    display: none;
1126  }
1127</style>
1128
1129
1130<script type="application/ld+json">
1131  {
1132    "@context": "http://schema.org",
1133    "@type": "Organization",
1134    "name": "Quibble",
1135    
1136      "logo": "https:\/\/getquibble.com\/cdn\/shop\/files\/icon_large_e312f111-f176-4b3e-9e02-972f923a69d3.png?v=1692385358\u0026width=500",
1137    
1138    "sameAs": [
1139      "",
1140      "",
1141      "",
1142      "https:\/\/www.instagram.com\/getquibble\/",
1143      "https:\/\/www.tiktok.com\/@getquibble.com",
1144      "",
1145      "",
1146      "",
1147      ""
1148    ],
1149    "url": "https:\/\/getquibble.com"
1150  }
1151</script>
1151
1152  
1152<script type="application/ld+json">
1153    {
1154      "@context": "http://schema.org",
1155      "@type": "WebSite",
1156      "name": "Quibble",
1157      "potentialAction": {
1158        "@type": "SearchAction",
1159        "target": "https:\/\/getquibble.com\/search?q={search_term_string}",
1160        "query-input": "required name=search_term_string"
1161      },
1162      "url": "https:\/\/getquibble.com"
1163    }
1164  </script>
1164
1165</div>
1166<!-- END sections: header-group -->
1167
1168  <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1">
1169    <section id="shopify-section-template--23060962607411__rich_text_RkrTyk" class="shopify-section section"><link href="//getquibble.com/cdn/shop/t/4/assets/section-rich-text.css?v=155250126305810049721721086172" rel="stylesheet" type="text/css" media="all" />
1170<style data-shopify>.section-template--23060962607411__rich_text_RkrTyk-padding {
1171    padding-top: 75px;
1172    padding-bottom: 75px;
1173  }
1174
1175  @media screen and (min-width: 750px) {
1176    .section-template--23060962607411__rich_text_RkrTyk-padding {
1177      padding-top: 100px;
1178      padding-bottom: 100px;
1179    }
1180  }</style><div class="isolate">
1181  <div class="rich-text content-container color-background-1 gradient rich-text--full-width content-container--full-width section-template--23060962607411__rich_text_RkrTyk-padding">
1182    <div class="rich-text__wrapper rich-text__wrapper--center page-width">
1183      <div class="rich-text__blocks center"><h2
1184                class="rich-text__heading rte inline-richtext hxl scroll-trigger animate--slide-in"
1185                
1186                
1187                  data-cascade
1188                  style="--animation-order: 1;"
1189                
1190              >
1191                Save time. Score higher.
1192              </h2><div
1193                class="rich-text__text rte scroll-trigger animate--slide-in"
1194                
1195                
1196                  data-cascade
1197                  style="--animation-order: 2;"
1198                
1199              >
1200                <p><strong>Auto-complete your homework assignments with the power of Quibble.</strong></p>
1201              </div><div
1202                class="rich-text__buttons scroll-trigger animate--slide-in"
1203                
1204                
1205                  data-cascade
1206                  style="--animation-order: 3;"
1207                
1208              ><a
1209                    
1210                      href="#quibble-products"
1211                    
1212                    class="button button--primary"
1213                  >Get Quibble</a></div><p
1214                class="rich-text__caption subtitle subtitle--large scroll-trigger animate--slide-in"
1215                
1216                
1217                  data-cascade
1218                  style="--animation-order: 4;"
1219                
1220              >
1221                ✔️ Join 1000+ other students
1222              </p></div>
1223    </div>
1224  </div>
1225</div>
1226
1227
1228<style> @media screen and (max-width: 749px) {#shopify-section-template--23060962607411__rich_text_RkrTyk .hxl {font-size: 3rem; }} </style></section><section id="shopify-section-template--23060962607411__154f5cc1-329f-4790-a12b-b60efd136d71" class="shopify-section section"><link href="//getquibble.com/cdn/shop/t/4/assets/video-section.css?v=163092437706280852751721086172" rel="stylesheet" type="text/css" media="all" />
1229<link href="//getquibble.com/cdn/shop/t/4/assets/component-deferred-media.css?v=14096082462203297471721086172" rel="stylesheet" type="text/css" media="all" />
1230<style data-shopify>.section-template--23060962607411__154f5cc1-329f-4790-a12b-b60efd136d71-padding {
1231    padding-top: 27px;
1232    padding-bottom: 0px;
1233  }
1234
1235  @media screen and (min-width: 750px) {
1236    .section-template--23060962607411__154f5cc1-329f-4790-a12b-b60efd136d71-padding {
1237      padding-top: 36px;
1238      padding-bottom: 0px;
1239    }
1240  }</style><div class="color-inverse gradient">
1241  <div class="video-section isolate page-width section-template--23060962607411__154f5cc1-329f-4790-a12b-b60efd136d71-padding">
1242    <div
1243      
1244    ></div>
1245    <noscript>
1246      <div
1247        class="video-section__media"
1248        
1249          style="--ratio-percent: 56.25%;"
1250        
1251      ><video playsinline="playsinline" controls="controls" preload="metadata" poster="//getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo_1100x.jpg?v=1728848017"><source src="//getquibble.com/cdn/shop/videos/c/vp/e0cfc706061647fc88d767d1711c9eac/e0cfc706061647fc88d767d1711c9eac.HD-1080p-7.2Mbps-36236281.mp4?v=0" type="video/mp4"><img src="//getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo_1100x.jpg?v=1728848017"></video>
1252</div>
1253    </noscript>
1254    <deferred-media
1255      class="video-section__media deferred-media no-js-hidden gradient global-media-settings media-fit-cover scroll-trigger animate--slide-in"
1256      data-media-id="38869178024243"
1257      
1258        style="--ratio-percent: 56.25%;"
1259      
1260    >
1261      <button
1262        id="Deferred-Poster-Modal-38869178024243"
1263        class="video-section__poster media deferred-media__poster media--landscape"
1264        type="button"
1265        aria-label="Load video: Quibble Promotional Video"
1266      ><img src="//getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo.jpg?v=1728848017&amp;width=3840" alt="Load video: Quibble Promotional Video" srcset="//getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo.jpg?v=1728848017&amp;width=375 375w, //getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo.jpg?v=1728848017&amp;width=750 750w, //getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo.jpg?v=1728848017&amp;width=1100 1100w, //getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo.jpg?v=1728848017&amp;width=1500 1500w, //getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo.jpg?v=1728848017&amp;width=1780 1780w, //getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo.jpg?v=1728848017&amp;width=2000 2000w, //getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo.jpg?v=1728848017&amp;width=3000 3000w, //getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo.jpg?v=1728848017&amp;width=3840 3840w" width="3840" height="2160" loading="lazy" sizes="(min-width: 1000px) 900px, (min-width: 750px)
1267    calc(100vw - 10rem), 100vw
1268">
1269<span class="deferred-media__poster-button motion-reduce"><svg
1270  xmlns="http://www.w3.org/2000/svg"
1271  aria-hidden="true"
1272  focusable="false"
1273  class="icon icon-play"
1274  fill="none"
1275  viewBox="0 0 10 14"
1276>
1277  <path fill-rule="evenodd" clip-rule="evenodd" d="M1.48177 0.814643C0.81532 0.448245 0 0.930414 0 1.69094V12.2081C0 12.991 0.858787 13.4702 1.52503 13.0592L10.5398 7.49813C11.1918 7.09588 11.1679 6.13985 10.4965 5.77075L1.48177 0.814643Z" fill="currentColor"/>
1278</svg>
1279</span>
1280      </button>
1281      <template><video playsinline="playsinline" autoplay="autoplay" controls="controls" preload="metadata" poster="//getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo_1100x.jpg?v=1728848017"><source src="//getquibble.com/cdn/shop/videos/c/vp/e0cfc706061647fc88d767d1711c9eac/e0cfc706061647fc88d767d1711c9eac.HD-1080p-7.2Mbps-36236281.mp4?v=0" type="video/mp4"><img src="//getquibble.com/cdn/shop/files/preview_images/Thumbnail_Promo_1100x.jpg?v=1728848017"></video>
1282</template>
1283    </deferred-media>
1284  </div>
1285</div>
1286
1287
1288</section><section id="shopify-section-template--23060962607411__collapsible_content_xgP8eR" class="shopify-section section"><link href="//getquibble.com/cdn/shop/t/4/assets/component-accordion.css?v=180964204318874863811721086172" rel="stylesheet" type="text/css" media="all" />
1289<link href="//getquibble.com/cdn/shop/t/4/assets/collapsible-content.css?v=42068948719489434321721086172" rel="stylesheet" type="text/css" media="all" />
1290<style data-shopify>.section-template--23060962607411__collapsible_content_xgP8eR-padding {
1291    padding-top: 0px;
1292    padding-bottom: 27px;
1293  }
1294
1295  @media screen and (min-width: 750px) {
1296    .section-template--23060962607411__collapsible_content_xgP8eR-padding {
1297      padding-top: 0px;
1298      padding-bottom: 36px;
1299    }
1300  }</style><div class="color-inverse gradient">
1301  <div class="collapsible-content collapsible-none-layout isolate content-container content-container--full-width">
1302    <div class="collapsible-content__wrapper section-template--23060962607411__collapsible_content_xgP8eR-padding">
1303      <div class="collapsible-content-wrapper-narrow">
1304        <div
1305          class="collapsible-content__header scroll-trigger animate--slide-in"
1306          style="text-align: center;"
1307        >
1308<h2 class="visually-hidden">Collapsible content</h2>
1309          
1310        </div>
1311        <div class="grid grid--1-col grid--2-col-tablet collapsible-content__grid collapsible-content__grid--reverse scroll-trigger animate--slide-in">
1312          <div class="grid__item"><div
1313                class="accordion"
1314                
1315              >
1316                <details
1317                  id="Details-collapsible_row_6WCHiQ-template--23060962607411__collapsible_content_xgP8eR"
1318                  
1319                >
1320                  <summary id="Summary-collapsible_row_6WCHiQ-template--23060962607411__collapsible_content_xgP8eR">
1321                    <svg
1322    class="icon icon-accordion"
1323    aria-hidden="true"
1324    focusable="false"
1325    xmlns="http://www.w3.org/2000/svg"
1326    width="20"
1327    height="20"
1328    viewBox="0 0 20 20"
1329  ><path d="M6.31104 9.13574C6.31104 8.99767 6.42296 8.88574 6.56104 8.88574H13.7464C13.8844 8.88574 13.9964 8.99767 13.9964 9.13574C13.9964 9.27381 13.8844 9.38574 13.7464 9.38574H6.56104C6.42296 9.38574 6.31104 9.27381 6.31104 9.13574Z" />
1330      <path d="M6.31104 14.0544C6.31104 13.9164 6.42296 13.8044 6.56104 13.8044H13.439C13.577 13.8044 13.689 13.9164 13.689 14.0544C13.689 14.1925 13.577 14.3044 13.439 14.3044H6.56104C6.42296 14.3044 6.31104 14.1925 6.31104 14.0544Z" />
1331      <path d="M6.92587 11.5952C6.92587 11.4571 7.0378 11.3452 7.17587 11.3452H12.8241C12.9622 11.3452 13.0741 11.4571 13.0741 11.5952C13.0741 11.7333 12.9622 11.8452 12.8241 11.8452H7.17587C7.0378 11.8452 6.92587 11.7333 6.92587 11.5952Z" />
1332      <path d="M5.19623 1.77832C5.19623 0.949892 5.8678 0.27832 6.69623 0.27832H13.3038C14.1322 0.27832 14.8038 0.949893 14.8038 1.77832V3.46728C14.8038 4.29571 14.1322 4.96728 13.3038 4.96728H6.69623C5.8678 4.96728 5.19623 4.29571 5.19623 3.46728V1.77832ZM6.69623 1.27832C6.42009 1.27832 6.19623 1.50218 6.19623 1.77832V3.46728C6.19623 3.74342 6.42009 3.96728 6.69623 3.96728H13.3038C13.5799 3.96728 13.8038 3.74342 13.8038 3.46728V1.77832C13.8038 1.50218 13.5799 1.27832 13.3038 1.27832H6.69623Z" />
1333      <path d="M3.73691 2.50806V18.7232H16.2631V2.50806H14.4981V1.50806H16.2631C16.8154 1.50806 17.2631 1.95577 17.2631 2.50806V18.7232C17.2631 19.2755 16.8154 19.7232 16.2631 19.7232H3.73691C3.18462 19.7232 2.73691 19.2755 2.73691 18.7232V2.50806C2.73691 1.95577 3.18462 1.50806 3.73691 1.50806H5.75974V2.50806L3.73691 2.50806Z" /></svg>
1334                    <h3 class="accordion__title inline-richtext h4">
1335                      View Transcript
1336                    </h3>
1337                    <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
1338  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
1339</svg>
1340
1341                  </summary>
1342                  <div
1343                    class="accordion__content rte"
1344                    id="CollapsibleAccordion-collapsible_row_6WCHiQ-template--23060962607411__collapsible_content_xgP8eR"
1345                    role="region"
1346                    aria-labelledby="Summary-collapsible_row_6WCHiQ-template--23060962607411__collapsible_content_xgP8eR"
1347                  >
1348                    <p>Struggling with homework or assignments? Introducing Quibble - your fast pass to straight A's! Quibble makes your academic life easier with its innovative features. Highlight any text, right click, and get instant answers for any question. Say goodbye to endless searches! Don't have time for an assignment, quiz, or test? With Quibble Plus, give your brain a break! With Quibble Plus, it's as simple as a single click. The autofill feature will instantly complete any school assignment! Quibble uses industry leading methods to answer all your questions with incredible accuracy. This includes GPT 3.5 for lightning fast assistance; but if you need the ultimate edge, try Quibble Expert with GPT-4.0. Quibble's explanation feature clarifies the thought process behind each answer, promoting effortless learning every step of the way. Go to GetQuibble.com, or download now from the Chrome Web Store. Quibble - Maximize your time, minimize your effort.</p>
1349                    
1350                  </div>
1351                </details>
1352              </div></div>
1353        </div>
1354      </div>
1355    </div>
1356  </div>
1357</div>
1358
1359
1360</section><div id="shopify-section-template--23060962607411__1913a605-6764-4ef2-9a5c-4a494d389df8" class="shopify-section section"><link href="//getquibble.com/cdn/shop/t/4/assets/component-image-with-text.css?v=137489125164627035761721086172" rel="stylesheet" type="text/css" media="all" />
1361<style data-shopify>.section-template--23060962607411__1913a605-6764-4ef2-9a5c-4a494d389df8-padding {
1362    padding-top: 27px;
1363    padding-bottom: 27px;
1364  }
1365
1366  @media screen and (min-width: 750px) {
1367    .section-template--23060962607411__1913a605-6764-4ef2-9a5c-4a494d389df8-padding {
1368      padding-top: 36px;
1369      padding-bottom: 36px;
1370    }
1371  }</style>
1372
1373<div class="image-with-text image-with-text--no-overlap page-width isolate section-template--23060962607411__1913a605-6764-4ef2-9a5c-4a494d389df8-padding scroll-tr
1373igger animate--slide-in">
1374  <div class="image-with-text__grid grid grid--gapless grid--1-col grid--2-col-tablet">
1375    <div class="image-with-text__media-item image-with-text__media-item--medium image-with-text__media-item--top grid__item">
1376      <div
1377  class="image-with-text__media image-with-text__media--small gradient color-background-1 global-media-settings media"
1378  
1379><video autoplay loop muted playsinline id="video-template--23060962607411__1913a605-6764-4ef2-9a5c-4a494d389df8">
1380      <source src="https://cdn.shopify.com/videos/c/o/v/ecb855192d8747859320fcc9c9c25420.mp4" type="video/mp4">
1381    </video></div>
1382    </div>
1383    <div class="image-with-text__text-item grid__item">
1384      <div
1385        id="ImageWithText--template--23060962607411__1913a605-6764-4ef2-9a5c-4a494d389df8"
1386        class="image-with-text__content image-with-text__content--top image-with-text__content--desktop-left image-with-text__content--mobile-left image-with-text__content--small gradient color-background-1 content-container"
1387      ><div class="image-with-text__text rte body" >
1388                <p><strong>If you use a supported platform you can click the Quibble button to autofill your assignment.</strong></p>
1389              </div></div>
1390    </div>
1391  </div>
1392</div>
1393
1394
1395</div><div id="shopify-section-template--23060962607411__85671ca1-72e8-46c4-b9b2-57c0e19e9358" class="shopify-section section"><link href="//getquibble.com/cdn/shop/t/4/assets/component-image-with-text.css?v=137489125164627035761721086172" rel="stylesheet" type="text/css" media="all" />
1396<style data-shopify>.section-template--23060962607411__85671ca1-72e8-46c4-b9b2-57c0e19e9358-padding {
1397    padding-top: 27px;
1398    padding-bottom: 27px;
1399  }
1400
1401  @media screen and (min-width: 750px) {
1402    .section-template--23060962607411__85671ca1-72e8-46c4-b9b2-57c0e19e9358-padding {
1403      padding-top: 36px;
1404      padding-bottom: 36px;
1405    }
1406  }</style>
1407
1408<div class="image-with-text image-with-text--no-overlap page-width isolate section-template--23060962607411__85671ca1-72e8-46c4-b9b2-57c0e19e9358-padding scroll-trigger animate--slide-in">
1409  <div class="image-with-text__grid grid grid--gapless grid--1-col grid--2-col-tablet image-with-text__grid--reverse">
1410    <div class="image-with-text__media-item image-with-text__media-item--medium image-with-text__media-item--top grid__item">
1411      <div
1412  class="image-with-text__media image-with-text__media--small gradient color-background-1 global-media-settings media"
1413  
1414><video autoplay loop muted playsinline id="video-template--23060962607411__85671ca1-72e8-46c4-b9b2-57c0e19e9358">
1415      <source src="https://cdn.shopify.com/videos/c/o/v/979b63062fae49b6aa0833f9d9cf7bc2.mp4" type="video/mp4">
1416    </video></div>
1417    </div>
1418    <div class="image-with-text__text-item grid__item">
1419      <div
1420        id="ImageWithText--template--23060962607411__85671ca1-72e8-46c4-b9b2-57c0e19e9358"
1421        class="image-with-text__content image-with-text__content--top image-with-text__content--desktop-left image-with-text__content--mobile-left image-with-text__content--small gradient color-background-1 content-container"
1422      ><div class="image-with-text__text rte body" >
1423                <p><strong>If the Quibble button isn't showing up, simply highlight your question and right click, then click the Quibble button. Watch Quibble deliver the correct answer!</strong></p>
1424              </div></div>
1425    </div>
1426  </div>
1427</div>
1428
1429
1430</div><div id="shopify-section-template--23060962607411__38a48de8-a7da-49fd-bdea-e6ac17810bc6" class="shopify-section section"><link href="//getquibble.com/cdn/shop/t/4/assets/component-image-with-text.css?v=137489125164627035761721086172" rel="stylesheet" type="text/css" media="all" />
1431<style data-shopify>.section-template--23060962607411__38a48de8-a7da-49fd-bdea-e6ac17810bc6-padding {
1432    padding-top: 27px;
1433    padding-bottom: 27px;
1434  }
1435
1436  @media screen and (min-width: 750px) {
1437    .section-template--23060962607411__38a48de8-a7da-49fd-bdea-e6ac17810bc6-padding {
1438      padding-top: 36px;
1439      padding-bottom: 36px;
1440    }
1441  }</style>
1442
1443<div class="image-with-text image-with-text--no-overlap page-width isolate section-template--23060962607411__38a48de8-a7da-49fd-bdea-e6ac17810bc6-padding scroll-tr
1443igger animate--slide-in">
1444  <div class="image-with-text__grid grid grid--gapless grid--1-col grid--2-col-tablet">
1445    <div class="image-with-text__media-item image-with-text__media-item--medium image-with-text__media-item--top grid__item">
1446      <div
1447  class="image-with-text__media image-with-text__media--small gradient color-background-1 global-media-settings media"
1448  
1449><video autoplay loop muted playsinline id="video-template--23060962607411__38a48de8-a7da-49fd-bdea-e6ac17810bc6">
1450      <source src="https://cdn.shopify.com/videos/c/o/v/15ab7e84239441d1830cbe6d07f2f7e1.mp4" type="video/mp4">
1451    </video></div>
1452    </div>
1453    <div class="image-with-text__text-item grid__item">
1454      <div
1455        id="ImageWithText--template--23060962607411__38a48de8-a7da-49fd-bdea-e6ac17810bc6"
1456        class="image-with-text__content image-with-text__content--top image-with-text__content--desktop-left image-with-text__content--mobile-left image-with-text__content--small gradient color-background-1 content-container"
1457      ><div class="image-with-text__text rte body" >
1458                <p><strong>The snipping tool lets you grab image based questions.</strong></p>
1459              </div></div>
1460    </div>
1461  </div>
1462</div>
1463
1464
1465</div><div id="shopify-section-template--23060962607411__image_with_text_VRRFfd" class="shopify-section section"><link href="//getquibble.com/cdn/shop/t/4/assets/component-image-with-text.css?v=137489125164627035761721086172" rel="stylesheet" type="text/css" media="all" />
1466<style data-shopify>.section-template--23060962607411__image_with_text_VRRFfd-padding {
1467    padding-top: 27px;
1468    padding-bottom: 27px;
1469  }
1470
1471  @media screen and (min-width: 750px) {
1472    .section-template--23060962607411__image_with_text_VRRFfd-padding {
1473      padding-top: 36px;
1474      padding-bottom: 36px;
1475    }
1476  }</style>
1477
1478<div class="image-with-text image-with-text--no-overlap page-width isolate section-template--23060962607411__image_with_text_VRRFfd-padding scroll-trigger animate--slide-in">
1479  <div class="image-with-text__grid grid grid--gapless grid--1-col grid--2-col-tablet image-with-text__grid--reverse">
1480    <div class="image-with-text__media-item image-with-text__media-item--medium image-with-text__media-item--top grid__item">
1481      <div
1482  class="image-with-text__media image-with-text__media--small gradient color-background-1 global-media-settings media"
1483  
1484><video autoplay loop muted playsinline id="video-template--23060962607411__image_with_text_VRRFfd">
1485      <source src="https://cdn.shopify.com/videos/c/o/v/34a89392aace4138b3ee32b52762c5e0.mp4" type="video/mp4">
1486    </video></div>
1487    </div>
1488    <div class="image-with-text__text-item grid__item">
1489      <div
1490        id="ImageWithText--template--23060962607411__image_with_text_VRRFfd"
1491        class="image-with-text__content image-with-text__content--top image-with-text__content--desktop-left image-with-text__content--mobile-left image-with-text__content--small gradient color-background-1 content-container"
1492      ><div class="image-with-text__text rte body" >
1493                <p><strong>Learning mode is enabled by default. This creates a duplicate quiz box where Quibble guides you through the solution.</strong></p>
1494              </div></div>
1495    </div>
1496  </div>
1497</div>
1498
1499
1500</div><section id="shopify-section-template--23060962607411__4d3b2dae-fb60-421b-bbe6-dfa5dbe728c9" class="shopify-section section"><link href="//getquibble.com/cdn/shop/t/4/assets/section-multicolumn.css?v=138365117320925203651724854898" rel="stylesheet" type="text/css" media="all" />
1501<link href="//getquibble.com/cdn/shop/t/4/assets/component-slider.css?v=114212096148022386971721086172" rel="stylesheet" type="text/css" media="all" />
1502<style data-shopify>.section-template--23060962607411__4d3b2dae-fb60-421b-bbe6-dfa5dbe728c9-padding {
1503    padding-top: 27px;
1504    padding-bottom: 27px;
1505  }
1506
1507  @media screen and (min-width: 750px) {
1508    .section-template--23060962607411__4d3b2dae-fb60-421b-bbe6-dfa5dbe728c9-padding {
1509      padding-top: 36px;
1510      padding-bottom: 36px;
1511    }
1512  }</style>
1513  <div id="quibble-products"></div>
1514
1515<div
1516  class="multicolumn color-accent-1 gradient background-primary"
1517>
1518  <div
1519    class="page-width section-template--23060962607411__4d3b2dae-fb60-421b-bbe6-dfa5dbe728c9-padding isolate scroll-tr
1519igger animate--slide-in"
1520    
1521      data-cascade
1522    
1523  ><div class="title-wrapper-with-link title-wrapper--self-padded-mobile title-wrapper--no-top-margin">
1524        <h2 class="title inline-richtext h1">
1525          Pick Your Quibble
1526        </h2></div><slider-component class="slider-mobile-gutter">
1527      <ul
1528        class="multicolumn-list contains-content-container grid grid--1-col-tablet-down grid--3-col-desktop slider slider--mobile grid--peek"
1529        id="Slider-template--23060962607411__4d3b2dae-fb60-421b-bbe6-dfa5dbe728c9"
1530        role="list"
1531      ><li
1532            id="Slide-template--23060962607411__4d3b2dae-fb60-421b-bbe6-dfa5dbe728c9-1"
1533            class="multicolumn-list__item grid__item slider__slide scroll-trigger animate--slide-in"
1534            
1535            
1536              data-cascade
1537              style="--animation-order: 1;"
1538            
1539          >
1540            
1541              <a
1542                href="
1543                  
1544                      https://getquibble.com/products/quibble-basic-chrome-extension
1545                  
1546                "
1547              >
1548            
1549            <div class="multicolumn-card content-container button__color">
1550                <div class="multicolumn-card__image-wrapper multicolumn-card__image-wrapper--full-width multicolumn-card-spacing">
1551                  <div
1552                    class="media media--transparent media--adapt"
1553                    
1554                      style="padding-bottom: 100.0%;"
1555                    
1556                  >
1557                    <img src="//getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=3200" alt="&quot;Quibble Basic Chrome Extension: Your Fast Pass to Straight A&#39;s.&quot;" srcset="//getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=50 50w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=75 75w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=100 100w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=150 150w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=200 200w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=300 300w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=400 400w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=500 500w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=750 750w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=1000 1000w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=1250 1250w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=1500 1500w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=1750 1750w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=2000 2000w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=2250 2250w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=2500 2500w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=2750 2750w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=3000 3000w, //getquibble.com/cdn/shop/files/basic_icon_d9f66a1e-6ba2-4876-8f41-b9dfc01bd1d0.jpg?v=1694205421&amp;width=3200 3200w" width="3200" height="3200" loading="lazy" sizes="
1558                      (min-width: 1000px) calc((1000px - 108px) * 1 /  3),
1559                      (min-width: 990px) calc((100vw - 108px) * 1 / 3),
1560                      (min-width: 750px) calc((100vw - 100px) * 1 / 1),
1561                      calc((100vw - 30px) * 1 / 1)
1562                    " class="multicolumn-card__image">
1563                  </div>
1564                </div><div class="multicolumn-card__info"><h3 class="inline-richtext">Quibble Basic</h3><div class="rte"><h5><em><strong>
1564Limited</strong></em> Quibble Basic ✔️</h5><h5>Full Answer Explanation ✔️</h5><h5>Highlight & Click ✔️</h5><h5>Quibble Expert ❌</h5><h5>Auto Fill ❌</h5><h5>$4.99</h5></div></div>
1565            </div>
1566            
1567              </a>
1568            
1569          </li><li
1570            id="Slide-template--23060962607411__4d3b2dae-fb60-421b-bbe6-dfa5dbe728c9-2"
1571            class="multicolumn-list__item grid__item slider__slide scroll-trigger animate--slide-in"
1572            
1573            
1574              data-cascade
1575              style="--animation-order: 2;"
1576            
1577          >
1578            
1579              <a
1580                href="
1581                  
1582                      https://getquibble.com/products/quibble-plus-chrome-extension
1583                  
1584                "
1585              >
1586            
1587            <div class="multicolumn-card content-container button__color">
1588                <div class="multicolumn-card__image-wrapper multicolumn-card__image-wrapper--full-width multicolumn-card-spacing">
1589                  <div
1590                    class="media media--transparent media--adapt"
1591                    
1592                      style="padding-bottom: 100.0%;"
1593                    
1594                  >
1595                    <img src="//getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=3200" alt="&quot;Quibble Basic Chrome Extension: Your Fast Pass to Straight A&#39;s.&quot;" srcset="//getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=50 50w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=75 75w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=100 100w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=150 150w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=200 200w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=300 300w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=400 400w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=500 500w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=750 750w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=1000 1000w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=1250 1250w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=1500 1500w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=1750 1750w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=2000 2000w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=2250 2250w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=2500 2500w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=2750 2750w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=3000 3000w, //getquibble.com/cdn/shop/files/icon_large_8c0af47a-243f-4322-af2b-a38392910f4d.jpg?v=1694205419&amp;width=3200 3200w" width="3200" height="3200" loading="lazy" sizes="
1596                      (min-width: 1000px) calc((1000px - 108px) * 1 /  3),
1597                      (min-width: 990px) calc((100vw - 108px) * 1 / 3),
1598                      (min-width: 750px) calc((100vw - 100px) * 1 / 1),
1599                      calc((100vw - 30px) * 1 / 1)
1600                    " class="multicolumn-card__image">
1601                  </div>
1602                </div><div class="multicolumn-card__info"><h3 class="inline-richtext">Quibble Plus</h3><div class="rte"><h5><strong>Unlimited</strong> Quibble Basic ✔️</h5><h5>Full Answer Explanation ✔️</h5><h5>Highlight & Click ✔️</h5><h5><em><strong>
1602Limited</strong></em> Quibble Expert ✔️</h5><h5>Auto Fill ✔️</h5><h5>$14.99</h5></div></div>
1603            </div>
1604            
1605              </a>
1606            
1607          </li><li
1608            id="Slide-template--23060962607411__4d3b2dae-fb60-421b-bbe6-dfa5dbe728c9-3"
1609            class="multicolumn-list__item grid__item slider__slide scroll-trigger animate--slide-in"
1610            
1611            
1612              data-cascade
1613              style="--animation-order: 3;"
1614            
1615          >
1616            
1617              <a
1618                href="
1619                  
1620                      https://getquibble.com/products/quibble-pro-chrome-extension
1621                  
1622                "
1623              >
1624            
1625            <div class="multicolumn-card content-container button__color">
1626                <div class="multicolumn-card__image-wrapper multicolumn-card__image-wrapper--full-width multicolumn-card-spacing">
1627                  <div
1628                    class="media media--transparent media--adapt"
1629                    
1630                      style="padding-bottom: 100.0%;"
1631                    
1632                  >
1633                    <img src="//getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=3200" alt="&quot;Quibble Pro Chrome Extension: Your Fast Pass to Straight A&#39;s.&quot;" srcset="//getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=50 50w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=75 75w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=100 100w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=150 150w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=200 200w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=300 300w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=400 400w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=500 500w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=750 750w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=1000 1000w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=1250 1250w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=1500 1500w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=1750 1750w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=2000 2000w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=2250 2250w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=2500 2500w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=2750 2750w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=3000 3000w, //getquibble.com/cdn/shop/files/pro_icon_c9f5be46-ba9b-4146-823b-a5c27e700fef.jpg?v=1694205411&amp;width=3200 3200w" width="3200" height="3200" loading="lazy" sizes="
1634                      (min-width: 1000px) calc((1000px - 108px) * 1 /  3),
1635                      (min-width: 990px) calc((100vw - 108px) * 1 / 3),
1636                      (min-width: 750px) calc((100vw - 100px) * 1 / 1),
1637                      calc((100vw - 30px) * 1 / 1)
1638                    " class="multicolumn-card__image">
1639                  </div>
1640                </div><div class="multicolumn-card__info"><h3 class="inline-richtext">Quibble Pro</h3><div class="rte"><h5><strong>Unlimited</strong> Quibble Basic ✔️</h5><h5>Full Answer Explanation ✔️</h5><h5>Highlight & Click ✔️</h5><h5><strong>Unlimited</strong> Quibble Expert ✔️</h5><h5>Auto Fill ✔️</h5><h5>$29.99</h5></div></div>
1641            </div>
1642            
1643              </a>
1644            
1645          </li></ul><div class="slider-buttons no-js-hidden medium-hide">
1646          <button
1647            type="button"
1648            class="slider-button slider-button--prev"
1649            name="previous"
1650            aria-label="Slide left"
1651          >
1652            <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
1653  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
1654</svg>
1655
1656          </button>
1657          <div class="slider-counter caption">
1658            <span class="slider-counter--current">1</span>
1659            <span aria-hidden="true"> / </span>
1660            <span class="visually-hidden">of</span>
1661            <span class="slider-counter--total">3</span>
1662          </div>
1663          <button
1664            type="button"
1665            class="slider-button slider-button--next"
1666            name="next"
1667            aria-label="Slide right"
1668          >
1669            <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
1670  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
1671</svg>
1672
1673          </button>
1674        </div></slider-component>
1675    <div class="center small-hide medium-hide"></div>
1676  </div>
1677</div>
1678
1679
1680<style> #shopify-section-template--23060962607411__4d3b2dae-fb60-421b-bbe6-dfa5dbe728c9 .title {color: #fff;} </style></section><section id="shopify-section-template--23060962607411__rich_text_LiiLmB" class="shopify-section section"><link href="//getquibble.com/cdn/shop/t/4/assets/section-rich-text.css?v=155250126305810049721721086172" rel="stylesheet" type="text/css" media="all" />
1681<style data-shopify>.section-template--23060962607411__rich_text_LiiLmB-padding {
1682    padding-top: 30px;
1683    padding-bottom: 39px;
1684  }
1685
1686  @media screen and (min-width: 750px) {
1687    .section-template--23060962607411__rich_text_LiiLmB-padding {
1688      padding-top: 40px;
1689      padding-bottom: 52px;
1690    }
1691  }</style><div class="isolate">
1692  <div class="rich-text content-container color-background-1 gradient rich-text--full-width content-container--full-width section-template--23060962607411__rich_text_LiiLmB-padding">
1693    <div class="rich-text__wrapper rich-text__wrapper--center page-width">
1694      <div class="rich-text__blocks center"><h2
1695                class="rich-text__heading rte inline-richtext h1 scroll-trigger animate--slide-in"
1696                
1697                
1698                  data-cascade
1699                  style="--animation-order: 1;"
1700                
1701              >
1702                Sign up now and get free highlight & click questions every day!!!
1703              </h2><div
1704                class="rich-text__buttons scroll-trigger animate--slide-in"
1705                
1706                
1707                  data-cascade
1708                  style="--animation-order: 2;"
1709                
1710              ><a
1711                    
1712                      href="https://getquibble.com/account/register"
1713                    
1714                    class="button button--primary"
1715                  >Sign Up</a></div></div>
1716    </div>
1717  </div>
1718</div>
1719
1720
1721</section><section id="shopify-section-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed" class="shopify-section section"><link href="//getquibble.com/cdn/shop/t/4/assets/component-accordion.css?v=180964204318874863811721086172" rel="stylesheet" type="text/css" media="all" />
1722<link href="//getquibble.com/cdn/shop/t/4/assets/collapsible-content.css?v=42068948719489434321721086172" rel="stylesheet" type="text/css" media="all" />
1723<style data-shopify>.section-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed-padding {
1724    padding-top: 27px;
1725    padding-bottom: 27px;
1726  }
1727
1728  @media screen and (min-width: 750px) {
1729    .section-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed-padding {
1730      padding-top: 36px;
1731      padding-bottom: 36px;
1732    }
1733  }</style><div class="color-inverse gradient">
1734  <div class="collapsible-content collapsible-none-layout isolate content-container content-container--full-width">
1735    <div class="collapsible-content__wrapper section-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed-padding">
1736      <div class="collapsible-content-wrapper-narrow">
1737        <div
1738          class="collapsible-content__header scroll-trigger animate--slide-in"
1739          style="text-align: center;"
1740        >
1741<h2 class="collapsible-content__heading inline-richtext h1">
1742              Frequently Asked Questions
1743            </h2>
1744        </div>
1745        <div class="grid grid--1-col grid--2-col-tablet collapsible-content__grid collapsible-content__grid--reverse scroll-tr
1745igger animate--slide-in">
1746          <div class="grid__item"><div
1747                class="accordion"
1748                
1749              >
1750                <details
1751                  id="Details-template--20562933645619__b979247b-ed0d-45af-9161-0a751386e4ed-collapsible_row-2-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1752                  
1753                >
1754                  <summary id="Summary-template--20562933645619__b979247b-ed0d-45af-9161-0a751386e4ed-collapsible_row-2-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed">
1755                    <svg
1756    class="icon icon-accordion"
1757    aria-hidden="true"
1758    focusable="false"
1759    xmlns="http://www.w3.org/2000/svg"
1760    width="20"
1761    height="20"
1762    viewBox="0 0 20 20"
1763  ><path d="M9.56285 11.959C9.36021 11.959 9.19593 11.7947 9.19593 11.5921V11.4654C9.19266 10.9745 9.27959 10.5556 9.51194 10.162C9.73885 9.77751 10.0875 9.44653 10.5519 9.09905C10.9668 8.78804 11.2183 8.53255 11.3688 8.28844C11.5132 8.05415 11.577 7.80994 11.577 7.49433V7.48101C11.577 6.58737 10.9199 5.94963 10.0093 5.94963C9.14693 5.94963 8.48176 6.556 8.39691 7.55858C8.38999 7.64041 8.35581 7.71754 8.29986 7.77765L8.29366 7.78431C8.22548 7.85755 8.13034 7.89977 8.03028 7.90119L7.55903 7.90785C7.43278 7.90963 7.31449 7.84638 7.24586 7.7404C7.19061 7.65507 7.1738 7.55171 7.19715 7.45492C7.30916 5.93601 8.41577 4.74287 10.0217 4.74287C11.6246 4.74287 12.8131 5.91906 12.8131 7.46103V7.47435C12.8131 7.98614 12.6995 8.4388 12.4473 8.86135C12.199 9.27731 11.8283 9.64397 11.3455 10.0059L11.3431 10.0077C10.929 10.313 10.7058 10.5344 10.5791 10.746C10.4596 10.9455 10.4072 11.1677 10.4072 11.5174V11.5921C10.4072 11.7947 10.2429 11.959 10.0403 11.959H9.56285ZM10.7049 14.3815C10.7049 14.8554 10.3695 15.2613 9.86668 15.2613C9.36996 15.2613 9.02231 14.862 9.02231 14.3815C9.02231 13.9045 9.37305 13.5084 9.86668 13.5084C10.3665 13.5084 10.7049 13.911 10.7049 14.3815Z"/>
1764      <path d="M18.5 10C18.5 14.6944 14.6944 18.5 10 18.5C5.30558 18.5 1.5 14.6944 1.5 10C1.5 5.30558 5.30558 1.5 10 1.5C14.6944 1.5 18.5 5.30558 18.5 10ZM10 17.4967C14.1403 17.4967 17.4967 14.1403 17.4967 10C17.4967 5.85971 14.1403 2.50335 10 2.50335C5.85971 2.50335 2.50335 5.85971 2.50335 10C2.50335 14.1403 5.85971 17.4967 10 17.4967Z"/></svg>
1765                    <h3 class="accordion__title inline-richtext h4">
1766                      Can my school detect I'm using Quibble?
1767                    </h3>
1768                    <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
1769  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
1770</svg>
1771
1772                  </summary>
1773                  <div
1774                    class="accordion__content rte"
1775                    id="CollapsibleAccordion-template--20562933645619__b979247b-ed0d-45af-9161-0a751386e4ed-collapsible_row-2-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1776                    role="region"
1777                    aria-labelledby="Summary-template--20562933645619__b979247b-ed0d-45af-9161-0a751386e4ed-collapsible_row-2-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1778                  >
1779                    <p>Absolutely not. Quibble is entirely undetectable, our intelligent and discrete systems bypass website tracking.</p>
1780                    
1781                  </div>
1782                </details>
1783              </div><div
1784                class="accordion"
1785                
1786              >
1787                <details
1788                  id="Details-template--20562933645619__b979247b-ed0d-45af-9161-0a751386e4ed-collapsible_row-3-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1789                  
1790                >
1791                  <summary id="Summary-template--20562933645619__b979247b-ed0d-45af-9161-0a751386e4ed-collapsible_row-3-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed">
1792                    <svg
1793    class="icon icon-accordion"
1794    aria-hidden="true"
1795    focusable="false"
1796    xmlns="http://www.w3.org/2000/svg"
1797    width="20"
1798    height="20"
1799    viewBox="0 0 20 20"
1800  ><path d="M9.56285 11.959C9.36021 11.959 9.19593 11.7947 9.19593 11.5921V11.4654C9.19266 10.9745 9.27959 10.5556 9.51194 10.162C9.73885 9.77751 10.0875 9.44653 10.5519 9.09905C10.9668 8.78804 11.2183 8.53255 11.3688 8.28844C11.5132 8.05415 11.577 7.80994 11.577 7.49433V7.48101C11.577 6.58737 10.9199 5.94963 10.0093 5.94963C9.14693 5.94963 8.48176 6.556 8.39691 7.55858C8.38999 7.64041 8.35581 7.71754 8.29986 7.77765L8.29366 7.78431C8.22548 7.85755 8.13034 7.89977 8.03028 7.90119L7.55903 7.90785C7.43278 7.90963 7.31449 7.84638 7.24586 7.7404C7.19061 7.65507 7.1738 7.55171 7.19715 7.45492C7.30916 5.93601 8.41577 4.74287 10.0217 4.74287C11.6246 4.74287 12.8131 5.91906 12.8131 7.46103V7.47435C12.8131 7.98614 12.6995 8.4388 12.4473 8.86135C12.199 9.27731 11.8283 9.64397 11.3455 10.0059L11.3431 10.0077C10.929 10.313 10.7058 10.5344 10.5791 10.746C10.4596 10.9455 10.4072 11.1677 10.4072 11.5174V11.5921C10.4072 11.7947 10.2429 11.959 10.0403 11.959H9.56285ZM10.7049 14.3815C10.7049 14.8554 10.3695 15.2613 9.86668 15.2613C9.36996 15.2613 9.02231 14.862 9.02231 14.3815C9.02231 13.9045 9.37305 13.5084 9.86668 13.5084C10.3665 13.5084 10.7049 13.911 10.7049 14.3815Z"/>
1801      <path d="M18.5 10C18.5 14.6944 14.6944 18.5 10 18.5C5.30558 18.5 1.5 14.6944 1.5 10C1.5 5.30558 5.30558 1.5 10 1.5C14.6944 1.5 18.5 5.30558 18.5 10ZM10 17.4967C14.1403 17.4967 17.4967 14.1403 17.4967 10C17.4967 5.85971 14.1403 2.50335 10 2.50335C5.85971 2.50335 2.50335 5.85971 2.50335 10C2.50335 14.1403 5.85971 17.4967 10 17.4967Z"/></svg>
1802                    <h3 class="accordion__title inline-richtext h4">
1803                      What languages are supported?
1804                    </h3>
1805                    <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
1806  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
1807</svg>
1808
1809                  </summary>
1810                  <div
1811                    class="accordion__content rte"
1812                    id="CollapsibleAccordion-template--20562933645619__b979247b-ed0d-45af-9161-0a751386e4ed-collapsible_row-3-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1813                    role="region"
1814                    aria-labelledby="Summary-template--20562933645619__b979247b-ed0d-45af-9161-0a751386e4ed-collapsible_row-3-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1815                  >
1816                    <p>Yes! Quibble will work in the following languages: English, Spanish, French, German, Italian, Dutch, Russian, Chinese, and Portuguese.</p>
1817                    
1818                  </div>
1819                </details>
1820              </div><div
1821                class="accordion"
1822                
1823              >
1824                <details
1825                  id="Details-01ba83d2-93bd-414f-aef9-a08e821d1642-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1826                  
1827                >
1828                  <summary id="Summary-01ba83d2-93bd-414f-aef9-a08e821d1642-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed">
1829                    <svg
1830    class="icon icon-accordion"
1831    aria-hidden="true"
1832    focusable="false"
1833    xmlns="http://www.w3.org/2000/svg"
1834    width="20"
1835    height="20"
1836    viewBox="0 0 20 20"
1837  ><path d="M9.56285 11.959C9.36021 11.959 9.19593 11.7947 9.19593 11.5921V11.4654C9.19266 10.9745 9.27959 10.5556 9.51194 10.162C9.73885 9.77751 10.0875 9.44653 10.5519 9.09905C10.9668 8.78804 11.2183 8.53255 11.3688 8.28844C11.5132 8.05415 11.577 7.80994 11.577 7.49433V7.48101C11.577 6.58737 10.9199 5.94963 10.0093 5.94963C9.14693 5.94963 8.48176 6.556 8.39691 7.55858C8.38999 7.64041 8.35581 7.71754 8.29986 7.77765L8.29366 7.78431C8.22548 7.85755 8.13034 7.89977 8.03028 7.90119L7.55903 7.90785C7.43278 7.90963 7.31449 7.84638 7.24586 7.7404C7.19061 7.65507 7.1738 7.55171 7.19715 7.45492C7.30916 5.93601 8.41577 4.74287 10.0217 4.74287C11.6246 4.74287 12.8131 5.91906 12.8131 7.46103V7.47435C12.8131 7.98614 12.6995 8.4388 12.4473 8.86135C12.199 9.27731 11.8283 9.64397 11.3455 10.0059L11.3431 10.0077C10.929 10.313 10.7058 10.5344 10.5791 10.746C10.4596 10.9455 10.4072 11.1677 10.4072 11.5174V11.5921C10.4072 11.7947 10.2429 11.959 10.0403 11.959H9.56285ZM10.7049 14.3815C10.7049 14.8554 10.3695 15.2613 9.86668 15.2613C9.36996 15.2613 9.02231 14.862 9.02231 14.3815C9.02231 13.9045 9.37305 13.5084 9.86668 13.5084C10.3665 13.5084 10.7049 13.911 10.7049 14.3815Z"/>
1838      <path d="M18.5 10C18.5 14.6944 14.6944 18.5 10 18.5C5.30558 18.5 1.5 14.6944 1.5 10C1.5 5.30558 5.30558 1.5 10 1.5C14.6944 1.5 18.5 5.30558 18.5 10ZM10 17.4967C14.1403 17.4967 17.4967 14.1403 17.4967 10C17.4967 5.85971 14.1403 2.50335 10 2.50335C5.85971 2.50335 2.50335 5.85971 2.50335 10C2.50335 14.1403 5.85971 17.4967 10 17.4967Z"/></svg>
1839                    <h3 class="accordion__title inline-richtext h4">
1840                      What is the Difference between Quibble Basic and Quibble Expert?
1841                    </h3>
1842                    <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
1843  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
1844</svg>
1845
1846                  </summary>
1847                  <div
1848                    class="accordion__content rte"
1849                    id="CollapsibleAccordion-01ba83d2-93bd-414f-aef9-a08e821d1642-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1850                    role="region"
1851                    aria-labelledby="Summary-01ba83d2-93bd-414f-aef9-a08e821d1642-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1852                  >
1853                    <p>Quibble Basic uses a consistently accurate and robust AI model to deliver incredible results. Quibble Expert leverages the latest and experimental advancements in AI to deliver extremely accurate answers to homework, quiz, and exam problems/questions. </p>
1854                    
1855                  </div>
1856                </details>
1857              </div><div
1858                class="accordion"
1859                
1860              >
1861                <details
1862                  id="Details-collapsible_row_U76xYE-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1863                  
1864                >
1865                  <summary id="Summary-collapsible_row_U76xYE-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed">
1866                    <svg
1867    class="icon icon-accordion"
1868    aria-hidden="true"
1869    focusable="false"
1870    xmlns="http://www.w3.org/2000/svg"
1871    width="20"
1872    height="20"
1873    viewBox="0 0 20 20"
1874  ><path d="M9.56285 11.959C9.36021 11.959 9.19593 11.7947 9.19593 11.5921V11.4654C9.19266 10.9745 9.27959 10.5556 9.51194 10.162C9.73885 9.77751 10.0875 9.44653 10.5519 9.09905C10.9668 8.78804 11.2183 8.53255 11.3688 8.28844C11.5132 8.05415 11.577 7.80994 11.577 7.49433V7.48101C11.577 6.58737 10.9199 5.94963 10.0093 5.94963C9.14693 5.94963 8.48176 6.556 8.39691 7.55858C8.38999 7.64041 8.35581 7.71754 8.29986 7.77765L8.29366 7.78431C8.22548 7.85755 8.13034 7.89977 8.03028 7.90119L7.55903 7.90785C7.43278 7.90963 7.31449 7.84638 7.24586 7.7404C7.19061 7.65507 7.1738 7.55171 7.19715 7.45492C7.30916 5.93601 8.41577 4.74287 10.0217 4.74287C11.6246 4.74287 12.8131 5.91906 12.8131 7.46103V7.47435C12.8131 7.98614 12.6995 8.4388 12.4473 8.86135C12.199 9.27731 11.8283 9.64397 11.3455 10.0059L11.3431 10.0077C10.929 10.313 10.7058 10.5344 10.5791 10.746C10.4596 10.9455 10.4072 11.1677 10.4072 11.5174V11.5921C10.4072 11.7947 10.2429 11.959 10.0403 11.959H9.56285ZM10.7049 14.3815C10.7049 14.8554 10.3695 15.2613 9.86668 15.2613C9.36996 15.2613 9.02231 14.862 9.02231 14.3815C9.02231 13.9045 9.37305 13.5084 9.86668 13.5084C10.3665 13.5084 10.7049 13.911 10.7049 14.3815Z"/>
1875      <path d="M18.5 10C18.5 14.6944 14.6944 18.5 10 18.5C5.30558 18.5 1.5 14.6944 1.5 10C1.5 5.30558 5.30558 1.5 10 1.5C14.6944 1.5 18.5 5.30558 18.5 10ZM10 17.4967C14.1403 17.4967 17.4967 14.1403 17.4967 10C17.4967 5.85971 14.1403 2.50335 10 2.50335C5.85971 2.50335 2.50335 5.85971 2.50335 10C2.50335 14.1403 5.85971 17.4967 10 17.4967Z"/></svg>
1876                    <h3 class="accordion__title inline-richtext h4">
1877                      Is it more accurate than Chat GPT?
1878                    </h3>
1879                    <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6">
1880  <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
1881</svg>
1882
1883                  </summary>
1884                  <div
1885                    class="accordion__content rte"
1886                    id="CollapsibleAccordion-collapsible_row_U76xYE-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1887                    role="region"
1888                    aria-labelledby="Summary-collapsible_row_U76xYE-template--23060962607411__b979247b-ed0d-45af-9161-0a751386e4ed"
1889                  >
1890                    <p>Yes! Quibble leverages layered and more advanced AI models to analyze, answer, and explain every question!</p>
1891                    
1892                  </div>
1893                </details>
1894              </div></div>
1895        </div>
1896      </div>
1897    </div>
1898  </div>
1899</div>
1900
1901
1902</section>
1903  </main>
1904
1905  <!-- BEGIN sections: footer-group -->
1906<div id="shopify-section-sections--23060958708019__footer" class="shopify-section shopify-section-group-footer-group">
1907<link href="//getquibble.com/cdn/shop/t/4/assets/section-footer.css?v=125160298726032154631721086172" rel="stylesheet" type="text/css" media="all" />
1908<link href="//getquibble.com/cdn/shop/t/4/assets/component-newsletter.css?v=4727253280200485261721086172" rel="stylesheet" type="text/css" media="all" />
1909<link href="//getquibble.com/cdn/shop/t/4/assets/component-list-menu.css?v=151968516119678728991721086172" rel="stylesheet" type="text/css" media="all" />
1910<link href="//getquibble.com/cdn/shop/t/4/assets/component-list-payment.css?v=69253961410771838501721086172" rel="stylesheet" type="text/css" media="all" />
1911<link href="//getquibble.com/cdn/shop/t/4/assets/component-list-social.css?v=35792976012981934991721086172" rel="stylesheet" type="text/css" media="all" />
1912<style data-shopify>.footer {
1913    margin-top: 0px;
1914  }
1915
1916  .section-sections--23060958708019__footer-padding {
1917    padding-top: 27px;
1918    padding-bottom: 27px;
1919  }
1920
1921  @media screen and (min-width: 750px) {
1922    .footer {
1923      margin-top: 0px;
1924    }
1925
1926    .section-sections--23060958708019__footer-padding {
1927      padding-top: 36px;
1928      padding-bottom: 36px;
1929    }
1930  }</style><footer class="footer color-background-1 gradient section-sections--23060958708019__footer-padding">
1930<div class="footer__content-top page-width"><div
1931          class="footer-block--newsletter scroll-trigger animate--slide-in"
1932          
1933            data-cascade
1934          
1935        >
1936
1937<ul class="list-unstyled list-social footer__list-social" role="list"><li class="list-social__item">
1938      <a href="https://www.instagram.com/getquibble/" class="link list-social__link"><svg aria-hidden="true" focusable="false" class="icon icon-instagram" viewBox="0 0 20 20">
1939  <path fill="currentColor" fill-rule="evenodd" d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.43 2.43 0 0 0-.912.593 2.486 2.486 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23 0 2.134.01 2.39.046 3.229.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046 2.134 0 2.39-.01 3.23-.046.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23 0-2.134-.01-2.39-.055-3.229-.027-.784-.164-1.204-.274-1.495a2.43 2.43 0 0 0-.593-.913 2.604 2.604 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045 1.1-.014 2.202.001 3.302.045.664.014 1.321.14 1.943.374a3.968 3.968 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.896 3.896 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.152 4.152 0 0 1-1.414-.922 4.128 4.128 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.44 4.44 0 0 1 .92-1.414 4.18 4.18 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805Zm1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93Zm5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355Z" clip-rule="evenodd"/>
1940</svg>
1941<span class="visually-hidden">Instagram</span>
1942      </a>
1943    </li><li class="list-social__item">
1944      <a href="https://www.tiktok.com/@getquibble.com" class="link list-social__link"><svg aria-hidden="true" focusable="false" class="icon icon-tiktok" viewBox="0 0 20 20">
1945  <path fill="currentColor" d="M10.511 1.705h2.74s-.157 3.51 3.795 3.768v2.711s-2.114.129-3.796-1.158l.028 5.606A5.073 5.073 0 1 1 8.213 7.56h.708v2.785a2.298 2.298 0 1 0 1.618 2.205L10.51 1.705Z"/>
1946</svg>
1947<span class="visually-hidden">TikTok</span>
1948      </a>
1949    </li></ul>
1950</div>
1951      </div><div
1952    class="footer__content-bottom scroll-trigger animate--slide-in"
1953    
1954      data-cascade
1955    
1956  >
1957    <div class="footer__content-bottom-wrapper page-width">
1958      <div class="footer__column footer__localization isolate"></div>
1959      <div class="footer__column footer__column--info"></div>
1960    </div>
1961    <div class="footer__content-bottom-wrapper page-width footer__content-bottom-wrapper--center">
1962      <div class="footer__copyright caption">
1963        <small class="copyright__content"
1964          >&copy; 2026, <a href="/" title="">Quibble</a></small><ul class="policies list-unstyled"><li>
1965                  <small class="copyright__content"
1966                    ><a href="/policies/refund-policy">Refund policy</a></small
1967                  >
1968                </li><li>
1969                  <small class="copyright__content"
1970                    ><a href="/policies/privacy-policy">Privacy policy</a></small
1971                  >
1972                </li><li>
1973                  <small class="copyright__content"
1974                    ><a href="/policies/terms-of-service">Terms of service</a></small
1975                  >
1976                </li><li>
1977                  <small class="copyright__content"
1978                    ><a href="/policies/contact-information">Contact information</a></small
1979                  >
1980                </li><li>
1981                  <small class="copyright__content"
1982                    ><a href="/policies/subscription-policy">Cancellation policy</a></small
1983                  >
1984                </li></ul></div>
1985    </div>
1986  </div>
1987</footer>
1988
1989
1990</div>
1991<!-- END sections: footer-group -->
1992
1993  <ul hidden>
1994    <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li>
1995    <li id="a11y-new-window-message">Opens in a new window.</li>
1996  </ul>
1997
1998  
1998<script>
1999    
2000    
2001    
2002    
2003    
2004    
2005    
2006    
2007    
2008    
2009    
2010    
2011    
2012    
2013    
2014    
2015    
2016    
2017      window.shopUrl = 'https://getquibble.com';
2018      window.routes = {
2019        cart_add_url: '/cart/add',
2020        cart_change_url: '/cart/change',
2021        cart_update_url: '/cart/update',
2022        cart_url: '/cart',
2023        predictive_search_url: '/search/suggest',
2024      };
2025
2026      window.cartStrings = {
2027        error: `There was an error while updating your cart. Please try again.`,
2028        quantityError: `You can only add [quantity] of this item to your cart.`,
2029      };
2030
2031      window.variantStrings = {
2032        addToCart: `Add to cart`,
2033        soldOut: `Sold out`,
2034        unavailable: `Unavailable`,
2035        unavailable_with_option: `[value] - Unavailable`,
2036      };
2037
2038      window.quickOrderListStrings = {
2039        itemsAdded: `[quantity] items added`,
2040        itemAdded: `[quantity] item added`,
2041        itemsRemoved: `[quantity] items removed`,
2042        itemRemoved: `[quantity] item removed`,
2043        viewCart: `View cart`,
2044        each: `[money]/ea`,
2045      };
2046
2047      window.accessibilityStrings = {
2048        imageAvailable: `Image [index] is now available in gallery view`,
2049        shareSuccess: `Link copied to clipboard`,
2050        pauseSlideshow: `Pause slideshow`,
2051        playSlideshow: `Play slideshow`,
2052        recipientFormExpanded: `Gift card recipient form expanded`,
2053        recipientFormCollapsed: `Gift card recipient form collapsed`,
2054      };
2055
2056
2057
2058
2059
2060
2061
2062
2063<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 2063-2064
2063
2064<script async src="https://www.googletagmanager.com/gtag/js?id=
2064AW-16764775318
vendor: 13 bytes, lines 2064-2065
2064">
2065</script>
2066<script>
2067  
vendor: 134 bytes, lines 2067-2071
2067window.dataLayer = window.dataLayer || [];
2068  function gtag(){dataLayer.push(arguments);}
2069  gtag('js', new Date());
2070
2071  gtag('config', '
2071AW-16764775318
vendor: 4 bytes, line 2071
2071');
2072</script>
2072
2073
2074  </script>
2074
2075  
2075<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
2075
2076  
2076<script>
2077      $(document).ready(function(){
2078       $("a.button.button--primary").on('click', function(event) {
2079          if (this.hash !== "") {
2080             event.preventDefault();
2081             var hash = this.hash;
2082
2083             $('html, body').animate({
2084                scrollTop: $(hash).offset().top
2085             }, 800, function(){
2086                window.location.hash = hash;
2087             });
2088          }
2089       });
2090    });
2091  </script>
2091<script src="//getquibble.com/cdn/shop/t/4/assets/predictive-search.js?v=162273246065392412141721086172" defer="defer"></script>
2091<link href="//getquibble.com/cdn/shop/t/4/assets/recurpay.css?v=99216698867547469281721086172" rel="stylesheet" type="text/css" media="all" />
2092<script defer>
2093  (function() {
2094    //Append Script
2095    var initScript = function(url, callback) {
2096      var script = document.createElement("script");
2097      script.type = "text/javascript";
2098      if (script.readyState){
2099        script.onreadystatechange = function() {
2100          if (script.readyState == "loaded" || script.readyState == "complete") {
2101            script.onreadystatechange = null;
2102            callback();
2103          }
2104        };
2105      } else {
2106        script.onload = function() {
2107          callback();
2108        };
2109      }
2110      script.src = url;
2111      document.getElementsByTagName("head")[0].appendChild(script);
2112    };
2113
2114    var recurpaySubscription = function($) {
2115      window.recurpay = {};
2116      recurpay.domainURL = 'https://c820c3-2.recurpay.com';
2117      recurpay.action = 'default';
2118      recurpay.product= [];
2119      recurpay.product.id ="";
2120      recurpay.product.available = "";
2121      recurpay.product.availableVariant = "";
2122      recurpay.product.onlySubscription = "";
2123      recurpay.checkout = 'shopify';
2124      recurpay.pageTemplate = "index";
2125      recurpay.prepaidMixedCart = true;
2126      recurpay.subscriptionFirst = true;
2127      recurpay.subscriptionInfluence = false;
2128      recurpay.subscriptionInfluenceCount = -1;
2129      recurpay.checkout_btn_override_class = ".icart-checkout-btn, .hs-checkout-purchase, .recurpay-custom-checkout-btn";
2130      recurpay.pdpAPI = recurpay.domainURL + '/api/storefront/v2/plans';
2131      recurpay.accountAPI = recurpay.domainURL + '/api/storefront/v2/customers//subscriptions/count';
2132      recurpay.manageAccountAPI = recurpay.domainURL + "/storefront/account/authenticate/";
2133      recurpay.checkoutAPI = recurpay.domainURL + '/checkout/initiate.rp';
2134      recurpay.logURL = recurpay.domainURL + '/api/storefront/v2/logger';
2135      
2136      recurpay.customer = 'guest';
2137      
2138      if((window.location.href.indexOf("/products/") > -1) && (window.location.href.indexOf("recurpay_preview=true") > -1)){
2139        recurpay.pdpAPI = recurpay.domainURL + '/api/storefront/v2/plans?fetch=force';
2140      }
2141      var accountTemplate = '',
2142          accountSelector = "#recurpay-account-widget",
2143          pdpSelector = ".recurpay-pdp-widget",
2144          subscriptionSelector = "#recurpay-manage-subscriptions",
2145          checkoutSelector = '[href="/checkout"], form[action="/cart"] button[type="submit"][name="checkout"], form[action="/cart"] input[type="submit"][name="checkout"], form[action="/checkout"] input[type="submit"][name="checkout"], form[action="/checkout"] button[type="submit"][name="checkout"], button[type="submit"][name="checkout"],button[name="checkout"], button.ucd-checkout-btn',
2146          atcFormSelector = 'form[action*="/cart/add"], form[action*="/cart/add.js"], form[id^="product_form_"], form[data-productid], form[action*="/cart/add"][data-js-product-form], form#AddToCartForm, #addToCartFormId1, form.product-form, #AddToCartForm_id, form[data-cart-submit="data-cart-submit"][data-productid], form.lh-product-form, form.shg-product-atc-btn-wrapper, form.shopify-product-form',
2147          atcSelector = '[name="add"], [type=\"submit\"], button#AddToCart, button.gf_add-to-cart',
2148          buynowSelector = '.shopify-payment-button,.shopify-payment-button__button';
2149
2150      // ACCOUNT PAGE
2151      if(recurpay.pageTemplate == "customers/account" && $(accountSelector).length <= 0){
2152        if($('.card__linklist').length >0){
2153            $('.card__linklist').before('<div id="recurpay-account-widget"></div>');
2154        }
2155        else if($('.flits-account-page-title').length >0){
2156            $('.flits-account-page-title').append('<div id="recurpay-account-widget"></div>');
2157        }
2158       else if($('a[href*="/account/addresses"]').length >0){
2159          $('a[href*="/account/addresses"]').before('<div id="recurpay-account-widget"></div>');
2160        }
2161        else if ($('.order-history').length >0){
2162          $('.order-history').before('<div id="recurpay-account-widget"></div>');
2163        }
2164        else if ($('a[href*="/account/logout"]').length >0){
2165          $('a[href*="/account/logout"]').before('<div id="recurpay-account-widget"></div>');
2166        }
2167        else{
2168          logEvent("account_widget","Failed to show account snippet", "critical");
2169        }
2170      }
2171      if($(accountSelector).length && recurpay.customer !== "guest"){
2172        function recurAccount(count){
2173          accountTemplate += '<div class="subscription__account" data-subscription-block>'
2174          accountTemplate += '<div class="subscription__account--content">'
2175          accountTemplate += '<div class="subscription__account--heading">'+recurpay.accountSettings.translations.breadcrumb_subscription_heading+' <span data-subscription-count>('+count+')</span></div>'
2176          if(count !== 0){
2177            accountTemplate += '<div class="subscription__account--text" data-active-subscriptions>'+recurpay.accountSettings.translations.breadcrumb_subscription_description+'</div>'
2178            accountTemplate += '<div class="subscription__account--button" id="recurpay-manage-subscriptions"><a href="#">'+recurpay.accountSettings.translations.breadcrumb_subscription_button_text+'</a></div>'
2179          }
2180          else{
2181            accountTemplate += '<div class="subscription__account--text" data-active-subscriptions>'+recurpay.accountSettings.translations.breadcrumb_subscription_placeholder_for_no_subscriptions+'</
2181div>'
2182            accountTemplate += '<div class="subscription__account--button"><a href="/">'+recurpay.accountSettings.translations.breadcrumb_subscription_text_for_no_subscriptions+'</a></div>'
2183          }
2184          accountTemplate += '</div></div>'
2185          return accountTemplate;
2186        }
2187        $.ajax({
2188          url: recurpay.accountAPI+"?settings=true",
2189          type: 'GET',
2190          async:true,
2191          success: function(response){
2192            var accountHTML = '';
2193            if(response != "ERROR") {
2194             if(response.settings !== null && !$.isEmptyObject(response.settings)){
2195                recurpay.accountSettings = response.settings;
2196                document.documentElement.style.setProperty('--recurpay_primary_color', recurpay.accountSettings.snippet_color_codes.account_brand_color);
2197                document.documentElement.style.setProperty('--recurpay_button_text_color', recurpay.accountSettings.snippet_color_codes.account_button_text_color);
2198                document.documentElement.style.setProperty('--recurpay_button_bg_color', recurpay.accountSettings.snippet_color_codes.account_button_color);
2199              }
2200              accountHTML = recurAccount(response.count);
2201            }
2202            else {
2203              accountHTML = recurAccount(0);
2204            }
2205            if($(accountSelector).length){
2206              $(accountSelector).html(accountHTML);
2207            }
2208          },
2209          error: function(jqXhr, textStatus, errorThrown){
2210            console.log( errorThrown );
2211          }
2212        });
2213        $(document).on('click', subscriptionSelector, function(e) {
2214          e.preventDefault();
2215          var checkoutForm = $("<form action='"+recurpay.manageAccountAPI+"' method='post' style='display:none;'></form>");
2216          $('body').append(checkoutForm);
2217          checkoutForm.submit();
2218        });
2219      }
2220
2221      // CART PAGE
2222      function recurCart(cartData){
2223        var checkoutData = [],
2224            cartItems = cartData.items,
2225            cartAttributes = [],
2226            cartNote = cartData.note,
2227            recurpayCheckout = false;
2228        $.each( cartData.attributes, function(key, value ) {
2229          if(key != "Plan" && key != '_PlanId'){
2230            cartAttributes.push({
2231              name: key,
2232              value:value
2233            });
2234          }
2235        });
2236        for(var i=0; i < cartItems.length; i++){
2237          var Planid = '',
2238              item = cartItems[i],
2239              property = item.properties,
2240              lineProperty = [];
2241          if(property){
2242            if(property._PlanId){
2243              Planid = property._PlanId
2244              recurpayCheckout = true;
2245            }
2246            $.each( property, function(key, value ) {
2247              if(key != "Plan" && key != '_PlanId'){
2248                lineProperty.push({
2249                  name: key,
2250                  value:value
2251                });
2252              }
2253            });
2254          }
2255          if(Planid == ''){
2256            checkoutData.push({
2257              quantity: item.quantity,
2258              variant_id: item.id,
2259              properties: lineProperty,
2260              type: 'ONETIME',
2261              currency:'INR'
2262            });
2263          }
2264          else{
2265            checkoutData.push({
2266              quantity: item.quantity,
2267              variant_id: item.id,
2268              properties: lineProperty,
2269              plan_id: Planid,
2270              type: 'SUBSCRIPTION',
2271              currency:'INR'
2272            });
2273          }
2274        }
2275        if(recurpayCheckout) {
2276          var getCheckoutData = JSON.stringify(checkoutData),
2277              getCartAttributes = JSON.stringify(cartAttributes),
2278              cartNote = $('[name="note"]').val();
2279          checkoutForm = $("<form action='"+recurpay.checkoutAPI+"' method='post' style='display:none;'>" +
2280                           "<input type='hidden' name='line_items' value='"+getCheckoutData+"' />"+
2281                           "<input type='hidden' name='customer_id' value='"+recurpay.customer+"' />" +
2282                           "<input type='hidden' name='note_attributes' value='"+getCartAttributes+"' />" +
2283                           "<input type='hidden' name='note' value='"+cartNote+"' />" +
2284                           "</form>");
2285          $('body').append(checkoutForm);
2286          checkoutForm.submit();
2287        }
2288        else {
2289          document.location.href = "/checkout";
2290        }
2291      }
2292
2293    // VARIANT SELECTOR
2294
2295      function getProductHandle(href) {
2296        if (typeof href === "undefined") {
2297            var href = window.location.href;
2298            href = href.replace("/products/products", "/products");
2299        }
2300        if (/\/products\/([^\?\/\n]+)/.test(href)) {
2301            var found = href.match(/\/products\/([^\?\/\n]+)/);
2302            if (typeof found[1] !== "undefined") {
2303                try {
2304                    return decodeURIComponent(found[1]).replace("#", "");
2305                } catch (e) {
2306                    return found[1].replace("#", "");
2307                }
2308            }
2309        }
2310        return false;
2311      }
2312
2313      recurpay.recurMoney = {
2314        formatPrice: function (price, convertCurrency) {
2315            if (typeof Shopify !== "undefined" && Shopify.hasOwnProperty("currency") && Shopify.currency.hasOwnProperty("rate")) {
2316                var currency = Shopify.currency.active;
2317                var exchangeRate = Shopify.currency.rate;
2318                var moneyFormat = "" + currency;
2319                var currencyFormat = "";
2320                if (typeof convertCurrency === "undefined") {
2321                    convertCurrency = false;
2322                }
2323                if (convertCurrency && exchangeRate !== "1.0") {
2324                    price = this.convertMoney(price, exchangeRate, currency);
2325                }
2326                var bodyAttrMoneyFormat = $("body").attr("data-money-format");
2327                if (currencyFormat !== "") {
2328                    moneyFormat = currencyFormat;
2329                }
2330                else {
2331                    if (typeof Shopify !== "undefined" && typeof Shopify.currency_settings !== "undefined" && typeof Shopify.currency_settings.money_format !== "undefined") {
2332                        moneyFormat = Shopify.currency_settings.money_format;
2333                    } else if (typeof window.money_format !== "undefined") {
2334                        moneyFormat = window.money_format;
2335                    } else if (typeof window.Theme !== "undefined" && typeof window.Theme.moneyFormat !== "undefined") {
2336                        moneyFormat = window.Theme.moneyFormat;
2337                    } else if (typeof window.theme !== "undefined" && typeof window.theme.moneyFormat !== "undefined") {
2338                        moneyFormat = window.theme.moneyFormat;
2339                    } else if (typeof window.theme !== "undefined" && typeof window.theme.money_format === "string") {
2340                        moneyFormat = window.theme.money_format;
2341                    } else if (typeof window.theme !== "undefined" && typeof window.theme.settings !== "undefined" && typeof window.theme.settings.moneyFormat !== "undefined") {
2342                        moneyFormat = theme.settings.moneyFormat;
2343                    } else if (typeof window.theme !== "undefined" && typeof window.theme.strings !== "undefined" && typeof window.theme.strings.moneyFormat === "string") {
2344                        moneyFormat = window.theme.strings.moneyFormat;
2345                    } else if (typeof window.Currency !== "undefined" && typeof window.Currency.money_format !== "undefined" && typeof window.Currency.money_format[currency] === "string") {
2346                        moneyFormat = window.Currency.money_format[currency];
2347                    } else if (typeof window.Currency !== "undefined" && typeof window.Currency.money_format === "string") {
2348                        moneyFormat = window.Currency.money_format;
2349                    } else if (typeof bodyAttrMoneyFormat !== "undefined" && typeof bodyAttrMoneyFormat === "string" && bodyAttrMoneyFormat !== "") {
2350                        moneyFormat = bodyAttrMoneyFormat;
2351                    } else if (typeof wsgMoneyFormat === "string") {
2352                        moneyFormat = wsgMoneyFormat;
2353                    } else if (typeof price_format === "string") {
2354                        moneyFormat = price_format;
2355                    } else {
2356                        price = price / 100;
2357                        return price.toLocaleString(undefined, { style: "currency", currency: currency || this.getDefaultCurrency() });
2358                    }
2359              }
2360              return this.formatMoney(price, moneyFormat, currency || this.getDefaultCurrency());
2361            }
2362            return "";
2363        },
2364        formatMoney: function (cents, format, fallbackCurrency, directionFor50) {
2365            if (typeof directionFor50 === "undefined") {
2366                var directionFor50 = "up";
2367            }
2368            try {
2369                if (typeof cents == "string") {
2370                    cents = cents.replace(".", "");
2371                }
2372                var value = "";
2373                var placeholderRegex = /\{\{\s*(\w+)\s*\}\}/;
2374                var formatString = format;
2375                function defaultOption(opt, def) {
2376                    return typeof opt == "undefined" ? def : opt;
2377                }
2378                function formatWithDelimiters(number, precision, thousands, decimal, directionFor50) {
2379                    precision = defaultOption(precision, 2);
2380                    thousands = defaultOption(thousands, ",");
2381                    decimal = defaultOption(decimal, ".");
2382                    directionFor50 = defaultOption(directionFor50, "up");
2383                    if (isNaN(number) || number == null) {
2384                        return 0;
2385                    }
2386                    var originalNumber = number;
2387                    number = (number / 100.0).toFixed(precision);
2388                    if (directionFor50 === "down") {
2389                        if (originalNumber / 100 - number === -0.5) {
2390                            number -= 1;
2391                            number = number.toString();
2392                        }
2393                    }
2394                    var parts = number.split("."),
2395                        dollars = parts[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + thousands),
2396                        cents = parts[1] ? decimal + parts[1] : "";
2397                    return dollars + cents;
2398                }
2399                switch (formatString.match(placeholderRegex)[1]) {
2400                    case "amount":
2401                        value = formatWithDelimiters(cents, 2);
2402                        break;
2403                    case "amount_no_decimals":
2404                        value = formatWithDelimiters(cents, 0, ",", ".", directionFor50);
2405                        break;
2406                    case "amount_with_comma_separator":
2407                        value = formatWithDelimiters(cents, 2, ".", ",");
2408                        break;
2409                    case "amount_with_decimal_separator":
2410                        value = formatWithDelimiters(cents, 2, ",", ".");
2411                        break;
2412                    case "amount_no_decimals_with_comma_separator":
2413                        value = formatWithDelimiters(cents, 0, ".", ",", directionFor50);
2414                        break;
2415                    case "amount_no_decimals_with_space_separator":
2416                        value = formatWithDelimiters(cents, 0, " ", ",", directionFor50);
2417                        break;
2418                    case "amount_with_apostrophe_separator":
2419                        value = formatWithDelimiters(cents, 2, "'", ".");
2420                        break;
2421                }
2422                return formatString.replace(placeholderRegex, value);
2423            } catch (e) {
2424                console.log(e.message);
2425                price = cents / 100;
2426                return price.toLocaleString(undefined, { style: "currency", currency: fallbackCurrency });
2427            }
2428        },
2429        convertMoney: function (value, rate, currency, round) {
2430            if (value <= 0) {
2431                return 0;
2432            }
2433            value *= rate;
2434            var roundUp = ["USD", "CAD", "AUD", "NZD", "SGD", "HKD", "GBP"];
2435            var roundTo100 = ["JPY"];
2436            var roundTo95 = ["EUR"];
2437            if (round) {
2438                if (roundUp.indexOf(currency) !== -1) {
2439                    value = Math.ceil(value);
2440                } else if (roundTo100.indexOf(currency) !== -1) {
2441                    value = Math.ceil(value / 100) * 100;
2442                } else if (roundTo95.indexOf(currency) !== -1) {
2443                    value = Math.ceil(value) - 0.05;
2444                }
2445            }
2446            return value;
2447        }
2448      };
2449
2450      function logEvent(module_name,addon,type){
2451         $.ajax({
2452          url: recurpay.logURL,
2453          type: 'POST',
2454          async:true,
2455          dataType: 'json',
2456          data: {
2457            module:module_name,
2458            level: type,
2459            payload:{
2460              store : recurpay.domainURL,
2461              remark: addon
2462            }
2463          },
2464          success: function(response) {
2465           console.log("event logged");
2466          }
2467        });
2468      }
2469
2470      function calculatePrice(variant_id){
2471        var variant_json = {};
2472        var variant_price = 0;
2473        var productObj = {};
2474        if(variant_id !== undefined && variant_id !== null){
2475          variant_id = parseInt(variant_id);
2476          let variant_data = [];
2477          for(i=0 ; i< recurpay.productDatas.length; i++){
2478            variant_data.push(...recurpay.productDatas[i].product.variants.filter(function(searchId) {
2479              return parseInt(searchId.id) == variant_id;
2480            }));
2481          }
2482
2483          if(variant_data.length >=1){
2484            productObj.variant_price = variant_data[0].price;
2485            productObj.product_id = variant_data[0].product_id;
2486          }
2487        }
2488        else{
2489          productObj.variant_price = recurpay.productDatas[0].product.variants[0].price;
2490          productObj.product_id = variant_data[0].product_id;
2491        }
2492        return productObj;
2493      }
2494
2495      function formatPriceMoney(price){
2496           var multiple_price = price*100;
2497           var formatted_price = recurpay.recurMoney.formatPrice(multiple_price);
2498          return formatted_price;
2499        }
2500
2501     $(atcFormSelector).closest(".product__meta").find("button.product__chip").on("click", function () {
2502        var $this = $(this);
2503        setTimeout(function() {
2504          recurpay.product.selectedVariant = $this.parents(atcFormSelector).find('select[name="id"]').val();
2505          recurDiscountedPrice(recurpay.product.selectedVariant);
2506        },100);
2507      });
2508
2509      $(atcFormSelector).find(".combobox, .wetheme-dropdown__wrapper ul[id^='SingleOptionSelector-'] li, .option-values-radio .popover-list-item .form-element-radio, .single-option-selector .bcpo-image-parent, .regular-select-item, .bcpo-dd.single-option-selector ul.inner li, #clickyboxes-SingleOptionSelector-0 a, button.product__chip, .form-swatch-item, .product-variant__container .product-variant__label, .options-selection__option-value, .popout-list__option--product, .option-swatch .custom-swatch, ul.select-dropdown li, .swatch-element, .swatch_pr_item, .basel-swatch, .swatchBox label, .swatchBox span").on("click", function () {
2510        var $this = $(this);
2511        setTimeout(function() {
2512          recurpay.product.selectedVariant = $this.parents(atcFormSelector).find('select[name="id"], input[name="id"][type="radio"]:checked').val();
2513          recurDiscountedPrice(recurpay.product.selectedVariant);
2514        },100);
2515      });
2516
2517      $(atcFormSelector).closest(".product-selection").find("select.single-option-selector").on("change", function () {
2518        var $this = $(this);
2519        setTimeout(function() {
2520          recurpay.product.selectedVariant = $this.parents(atcFormSelector).find('select[name="id"]').val();
2521          recurDiscountedPrice(recurpay.product.selectedVariant);
2522        },100);
2523      });
2524
2525       $(atcFormSelector).find(".product-single__swatch__input").on("change", function () {
2526        var $this = $(this);
2527        setTimeout(function() {
2528          recurpay.product.selectedVariant = $this.parents(atcFormSelector).find('select[name="id"]').val();
2529          recurDiscountedPrice(recurpay.product.selectedVariant);
2530        },100);
2531      });
2532
2533      $(atcFormSelector).find('input#SelectedId, select.js-variant-select, input[name="id"], select[name="id"], select.single-option-selector, .zpa-single-option-selector, .select.options-selection__input-select, .form-options input.option-value-input, .variant-input input[type="radio"], .product-form__option-select, .option-selectors .selector-wrapper select, select.single-option-list-type, .product-options .option-input, select.input-reset, select.js-product-variant, select[data-single-option-selector], input[data-single-option-selector], select.single-option-selector-product-template, .single-option-selector[type="radio"], .single-option-selector-product-template[type="radio"]').on("change", function () {
2534        var $this = $(this)
2535        setTimeout(function() {
2536          console.log( $(this));
2537          console.log($(this).parents(atcFormSelector));
2538          recurpay.product.selectedVariant = $this.parents(atcFormSelector).find('input[name="id"], select[name="id"], input#SelectedId').val();
2539          recurDiscountedPrice(recurpay.product.selectedVariant);
2540        },100);
2541      });
2542
2543       function recurDiscountedPrice(variant){
2544        var getVariantObj = calculatePrice(variant);
2545        var getVariantPrice = getVariantObj.variant_price;
2546        var getProductId = parseInt(getVariantObj.product_id);
2547        var showSavings = true;
2548        $('.recurpay-pdp-widget[data-product-id="'+getProductId+'"]').find(".recurpay__frequency_select option").each(function(){
2549          var $this = $(this);
2550          console.log($this);
2551          var getDiscount = $(this).attr("data-plan-discount");
2552          var getPlanName = $(this).attr("data-plan-name");
2553          var getPlanShipment = $(this).attr("data-plan-shipment");
2554          if(getPlanShipment == null || getPlanShipment == undefined || getPlanShipment == "null"){
2555            getPlanShipment = 1;
2556          }
2557          if(getDiscount == null || getDiscount == undefined || getDiscount == "null"){
2558            getDiscount = 0;
2559          }
2560          var discountedPrice = getVariantPrice - (getVariantPrice * getDiscount / 100);
2561          var getSavings = getVariantPrice*getPlanShipment - discountedPrice*getPlanShipment;
2562
2563          if(parseFloat(getVariantPrice) !== parseFloat(discountedPrice)){
2564            $this.html(getPlanName+" ("+formatPriceMoney(discountedPrice*getPlanShipment)+")");
2565            console.log( $('.recurpay-pdp-widget[data-product-id="'+getProductId+'"]'));
2566            if($this.is(':selected')){
2567               $('.recurpay-pdp-widget[data-product-id="'+getProductId+'"]').find(".recurpay__widget_container[data-type='subscription-purchase']").find(".recurpay__group_compare_price").html("<span class='money'>"+formatPriceMoney(getVariantPrice*getPlanShipment)+"</span>");
2568            }
2569          }
2570          else{
2571            $this.html(getPlanName+"("+formatPriceMoney(discountedPrice*getPlanShipment)+")");
2572            if($this.is(':selected')){
2573               $('.recurpay-pdp-widget[data-product-id="'+getProductId+'"]').find(".recurpay__widget_container[data-type='subscription-purchase']").find(".recurpay__group_compare_price").html("");
2574            }
2575          }
2576          if($this.is(':selected')){
2577           if(getDiscount <=0){
2578             showSavings = false;
2579           }
2580            $('.recurpay-pdp-widget[data-product-id="'+getProductId+'"]').find(".recurpay__widget_container[data-type='subscription-purchase']").find(".recurpay__saving_amount").html("<span class='money'>"+formatPriceMoney(getSavings)+"</span>");
2581            $('.recurpay-pdp-widget[data-product-id="'+getProductId+'"]').find(".recurpay__widget_container[data-type='subscription-purchase']").find(".recurpay__group_selling_price").html("<span class='money'>"+formatPriceMoney(discountedPrice*getPlanShipment)+"</span>");
2582            $('.recurpay-pdp-widget[data-product-id="'+getProductId+'"]').find(".recurpay__widget_container[data-type='subscription-purchase']").find(".recurpay__offer_saving_message_amount_text").html(parseFloat(getDiscount).toFixed(2).replace(/\.0+$/,''));
2583          }
2584          $('.recurpay-pdp-widget[data-product-id="'+getProductId+'"]').find(".recurpay__widget_container[data-type='onetime-purchase']").find(".recurpay__group_selling_price").html("<span class='money'>"+formatPriceMoney(getVariantPrice)+"</span>");
2585          $('.recurpay-pdp-widget[data-product-id="'+getProductId+'"]').find(".recurpay__widget_container[data-type='onetime-purchase']").find(".recurpay__offer_saving_message_amount_text").html(parseFloat(getDiscount).toFixed(2).replace(/\.0+$/,''));
2586        });
2587      }
2588
2589      function offerSavings(selector){
2590        var selectedOption = $(selector).find('[name="recurpay__group_main"]').val();
2591        var getDiscountVal =  $(selector).find(".recurpay__frequency_select option:selected").attr("data-plan-discount");
2592
2593        if(getDiscountVal == null || getDiscountVal == undefined || getDiscountVal == "null"){
2594          getDiscountVal = 0;
2595        }
2596        if(parseFloat(getDiscountVal) > 0){
2597         if($(selector).find('[name="recurpay__group_main"]:checked').val() == "subscription"){
2598            $('.recurpay__offer_onetime').hide();
2599            $('.recurpay__offer_subscription').css("display","flex");
2600         }
2601         else{
2602           $('.recurpay__offer_onetime').css("display","flex");
2603           $('.recurpay__offer_subscription').hide();
2604         }
2605          if(recurpay.settings.translations.premium_one_time_saving_icon == "" && recurpay.settings.translations.premium_one_time_saving_msg == "" && recurpay.settings.translations.premium_one_time_saving_label == "" && recurpay.settings.translations.premium_one_time_discount_label == ""){
2606              $('.recurpay__offer_onetime').hide();
2607          }
2608          if(recurpay.settings.translations.premium_subscription_saving_icon == "" && recurpay.settings.translations.premium_subscription_saving_msg == "" && recurpay.settings.translations.premium_subscription_saving_label == "" && recurpay.settings.translations.premium_subscription_discount_label == ""){
2609              $('.recurpay__offer_subscription').hide();
2610          }
2611        }
2612        else{
2613          $('.recurpay__offer_wrapper').hide();
2614        }
2615      }
2616
2617      // PRODUCT PAGE
2618
2619      function hexToRgbA(hex){
2620          var c;
2621          if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)){
2622              c= hex.substring(1).split('');
2623              if(c.length== 3){
2624                  c= [c[0], c[0], c[1], c[1], c[2], c[2]];
2625              }
2626              c= '0x'+c.join('');
2627              return 'rgba('+[(c>>16)&255, (c>>8)&255, c&255].join(',')+',0.1)';
2628          }
2629          return 'rgba(255, 255, 255, 0.1)';
2630      }
2631
2632      function recurPDP(data){
2633          var prepaidCount = 0,
2634              regularCount = 0,
2635              prepaidDiscount = [],
2636              maxPrepaidDiscount = '',
2637              getPlanDesc = '',
2638              pdpTemplate = '',
2639              GetPlans = "";
2640          $.each(data.plans, function(key, plan) {
2641              var DiscountPercentageHtml = '',
2642                  DescriptionHtml = '',
2643                  PlanHtml = '',
2644                  PlanDiscount = 0,
2645                  PlanType = 'regular';
2646              if(plan.type){
2647                  PlanType = plan.type;
2648                  if(PlanType == 'prepaid'){
2649                      prepaidCount += prepaidCount+1;
2650                      prepaidDiscount.push(plan.pricing_policy[0].discount.value);
2651                  }
2652                  else{
2653                      regularCount += regularCount+1;
2654                  }
2655              }
2656              if(plan.pricing_policy[0].discount.type == "percentage" && plan.pricing_policy[0].discount.value != 0){
2657                  PlanDiscount = plan.pricing_policy[0].discount.value;
2658                  DiscountPercentageHtml = '<span class="recurpay__discount">(' + PlanDiscount + '% Off)</span>';
2659              }
2660              if(plan.description) {
2661                  DescriptionHtml = '<div class="recurpay__description" style="display:none" data-description-id="'+plan.id+'">' + plan.description + '</div>';
2662              }
2663              if(recurpay.checkout == "shopify"){
2664                  if(key == 0){
2665                      PlanHtml += '<option value=""  selected="selected" data-plan="' + plan.id + '" data-selling-plan="' + plan.selling_plan_id + '" data-plan-name="' + plan.name + '" data-plan-shipment= "'+plan.delivery_policy.shipment_count+'" data-plan-discount="'+PlanDiscount+'" data-plan-type="'+PlanType+'">'+plan.name+'</option>'
2666                  }
2667                  else{
2668                      PlanHtml += '<option value="" data-plan="' + plan.id + '" data-selling-plan="' + plan.selling_plan_id + '" data-plan-name="' + plan.name + '" data-plan-shipment= "'+plan.delivery_policy.shipment_count+'" data-plan-discount="'+PlanDiscount+'" data-plan-type="'+PlanType+'">'+plan.name+'</option>'
2669                  }
2670              }
2671              else{
2672                  if(key == 0){
2673                      PlanHtml += '<option value="" selected="selected" data-plan="' + plan.id + '" data-plan-name="' + plan.name + '" data-plan-shipment= "'+plan.delivery_policy.shipment_count+'" data-plan-discount="'+PlanDiscount+'" data-plan-type="'+PlanType+'">'+plan.name+'</option>'
2674                  }
2675                  else{
2676                      PlanHtml += '<option value="" data-plan="' + plan.id + '" data-plan-name="' + plan.name + '" data-plan-shipment= "'+plan.delivery_policy.shipment_count+'" data-plan-discount="'+PlanDiscount+'" data-plan-type="'+PlanType+'">'+plan.name+'</option>'
2677                  }
2678              }
2679              GetPlans += PlanHtml;
2680              getPlanDesc += DescriptionHtml;
2681          })
2682          if(regularCount > 0 && prepaidCount >0){
2683              maxPrepaidDiscount = Math.max.apply(Math,prepaidDiscount);
2684          }
2685
2686          if(recurpay.subscriptionFirst == true){
2687            pdpTemplate += '<div class="recurpay__widget recurpay__subscription_first" data-recurpay-widget>'
2688          }
2689          else{
2690            pdpTemplate += '<div class="recurpay__widget" data-recurpay-widget>'
2691          }
2692          pdpTemplate += '<div class="recurpay__widget_container" data-type="subscription-purchase">'
2693          pdpTemplate += '<input class="recurpay__subscribe_radio recurpay__group_input" name="recurpay__group_main" type="radio" autocomplete="off" value="subscription">'
2694          pdpTemplate += '<div for="recurpay__subscribe_radio" class="recurpay__group_label">'
2695          pdpTemplate += '<div class="recurpay__group_header"><div class="recurpay__radio_group">'
2696          pdpTemplate += '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1"></circle><circle cx="12" cy="12" r="6" fill="currentColor" class="recurpay__radio_svg"></circle></svg>'
2697          pdpTemplate += '</div><div class="recurpay__group_title"> <div>'+recurpay.settings.translations.premium_subscription_label+'</div>'
2698          pdpTemplate += '<div class="recurpay__group_subtitle">'+recurpay.settings.translations.premium_subscription_label_description+'</div>'
2699          pdpTemplate += '</div><div class="recurpay__group_price_wrapper"><div class="recurpay__group_compare_price" ></div>'
2700          pdpTemplate += '<div class="recurpay__group_selling_price recurpay__group_discounted_price"></div></div></div>'
2701          pdpTemplate += '<div class="recurpay__group_content_wrapper"><div class="recurpay__group_content"><div class="recurpay__group_frequency">'
2702          pdpTemplate += '<div class="recurpay__frequency_label_title">'+recurpay.settings.translations.premium_frequency_dropdown_label+'</div>'
2703          pdpTemplate += '<select class="recurpay__frequency_select recurpay__frequency" name="recurpay-input">
2703'+GetPlans+'</select>'
2704          pdpTemplate += '</div><div class="recurpay__description_wrapper">'+getPlanDesc+'</div></div><div class="recurpay__action"><button type="button" data-recurpay-action="">'+recurpay.settings.translations.premium_subscription_button_text+'</button></div>'
2705          pdpTemplate += '</div>'
2706
2707          pdpTemplate += '<div class="recurpay__offer_wrapper recurpay__offer_onetime">'+recurpay.settings.translations.premium_one_time_saving_icon+''
2708          pdpTemplate += '<div class="recurpay__offer_message recurpay__offer_message_onetime">'
2709          pdpTemplate += '<span>'+recurpay.settings.translations.premium_one_time_saving_msg+'</span>'
2710          pdpTemplate += '<span class="recurpay__offer_saving_message">'
2711          pdpTemplate += '<span class="recurpay__offer_saving_message_amount">'+recurpay.settings.translations.premium_one_time_discount_label+''
2712          pdpTemplate += '</span><span class="recurpay__offer_saving_message_text">'+recurpay.settings.translations.premium_one_time_saving_label+'</span></span>'
2713          pdpTemplate += '</div></div>'
2714
2715          pdpTemplate += '<div class="recurpay__offer_wrapper recurpay__offer_subscription">'+recurpay.settings.translations.premium_subscription_saving_icon+''
2716          pdpTemplate += '<div class="recurpay__offer_message recurpay__offer_message_subscription">'
2717          pdpTemplate += '<span>'+recurpay.settings.translations.premium_subscription_saving_msg+'</span>'
2718          pdpTemplate += '<span class="recurpay__offer_saving_message">'+recurpay.settings.translations.premium_subscription_discount_label+''
2719          pdpTemplate += '<span class="recurpay__offer_saving_message_text">'+recurpay.settings.translations.premium_subscription_saving_label+'</span>'
2720          pdpTemplate += '</span></div></div>'
2721          pdpTemplate += '</div></div>'
2722
2723          pdpTemplate += '<div class="recurpay__widget_container recurpay__widget_container--selected" data-type="onetime-purchase">'
2724          pdpTemplate += '<input class="recurpay__onetime_radio recurpay__group_input" name="recurpay__group_main" type="radio" autocomplete="off" value="one-time" checked>'
2725          pdpTemplate += '<div for="recurpay__onetime_radio" class="recurpay__group_label">'
2726          pdpTemplate += '<div class="recurpay__group_header">'
2727          pdpTemplate += '<div class="recurpay__radio_group">'
2728          pdpTemplate += '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1"></circle><circle cx="12" cy="12" r="6" fill="currentColor" class="recurpay__radio_svg"></circle></svg>'
2729          pdpTemplate += '</div><div class="recurpay__group_title">'+recurpay.settings.translations.premium_onetime_label+'</div>'
2730          pdpTemplate += '<div class="recurpay__group_price_wrapper"><div class="recurpay__group_selling_price"></div>'
2731          pdpTemplate += '</div></div></div></div></div>'
2732
2733          pdpTemplate += '<input type="hidden" class="recurpay_plan_name" name="" value="">';
2734          pdpTemplate += '<input type="hidden" class="recurpay_plan_id" name="" value="">';
2735          pdpTemplate += '<input type="hidden" class="recurpay_purchase_data" name="" value="">';
2736          if(recurpay.checkout == "shopify"){
2737              pdpTemplate += '<input type="hidden" class="recurpay_selling_plan_id" name="" value="">';
2738          }
2739          pdpTemplate = pdpTemplate.replaceAll('[[SAVING_AMOUNT]]', '<span class="recurpay__offer_saving_message_amount recurpay__saving_amount"></span>');
2740          pdpTemplate = pdpTemplate.replaceAll('[[DISCOUNT_PERCENTAGE]]', '<span class="recurpay__offer_saving_message_amount_text"></span>');
2741
2742          return pdpTemplate;
2743      }
2744      if($(pdpSelector).length <= 0){
2745        if (window.location.href.indexOf("/products/") > -1) {
2746          if($(atcFormSelector).find(atcSelector).filter(':visible').length){
2747            if($(atcFormSelector).find(atcSelector).filter(':visible').first().parent().css('display') == 'flex' && $(atcFormSelector).find(atcSelector).filter(':visible').first().parent().css('flex-direction') == 'row'){
2748              $(atcFormSelector).find(atcSelector).filter(':visible').first().parent().before('<div class="recurpay-pdp-widget" data-product-id="'+recurpay.product.id+'" data-product-available="'+recurpay.product.available+'" data-default-variant="'+recurpay.product.availableVariant+'" data-only-subscription="'+recurpay.product.onlySubscription+'"></div>');
2749            }
2750            else if($(atcFormSelector).find(atcSelector).filter(':visible').first().parent().css('display') == 'grid' || $(atcFormSelector).find(atcSelector).filter(':visible').first().parent().css('display') == 'inline-grid'){
2751              $(atcFormSelector).find(atcSelector).filter(':visible').first().parent().before('<div class="recurpay-pdp-widget" data-product-id="'+recurpay.product.id+'" data-product-available="'+recurpay.product.available+'" data-default-variant="'+recurpay.product.availableVariant+'" data-only-subscription="'+recurpay.product.onlySubscription+'"></div>');
2752            }
2753            else{
2754              $(atcFormSelector).find(atcSelector).filter(':visible').first().before('<div class="recurpay-pdp-widget" data-product-id="'+recurpay.product.id+'" data-product-available="'+recurpay.product.available+'" data-default-variant="'+recurpay.product.availableVariant+'" data-only-subscription="'+recurpay.product.onlySubscription+'"></div>');
2755            }
2756            if($(pdpSelector).parent().css('position') == 'fixed' || $(pdpSelector).parent().css('position') == 'sticky' || $(pdpSelector).parent().css('position') == 'absolute' ){
2757              $(pdpSelector).parent().addClass("recurpay-z-index");
2758            }
2759          }
2760          else if($(atcFormSelector).find(atcSelector).length){
2761            if($(atcFormSelector).find(atcSelector).first().parent().css('display') == 'flex' && $(atcFormSelector).find(atcSelector).filter(':visible').first().parent().css('flex-direction') == 'row'){
2762              $(atcFormSelector).find(atcSelector).first().parent().before('<div class="recurpay-pdp-widget" data-product-id="'+recurpay.product.id+'" data-product-available="'+recurpay.product.available+'" data-default-variant="'+recurpay.product.availableVariant+'" data-only-subscription="'+recurpay.product.onlySubscription+'"></div>');
2763            }
2764            else{
2765              $(atcFormSelector).find(atcSelector).first().before('<div class="recurpay-pdp-widget" data-product-id="'+recurpay.product.id+'" data-product-available="'+recurpay.product.available+'" data-default-variant="'+recurpay.product.availableVariant+'" data-only-subscription="'+recurpay.product.onlySubscription+'"></div>');
2766            }
2767            if($(pdpSelector).parent().css('position') == 'fixed' || $(pdpSelector).parent().css('position') == 'sticky' || $(pdpSelector).parent().css('position') == 'absolute' ){
2768              $(pdpSelector).parent().addClass("recurpay-z-index");
2769            }
2770          }
2771          else{
2772            $(atcFormSelector).append('<div class="recurpay-pdp-widget" data-product-id="'+recurpay.product.id+'" data-product-available="'+recurpay.product.available+'" data-default-variant="'+recurpay.product.availableVariant+'" data-only-subscription="'+recurpay.product.onlySubscription+'"></div>')
2773          }
2774        }
2775      }
2776      if($(pdpSelector).length){
2777        recurpay.allProducts = [];
2778        for(i=0; i<$(pdpSelector).length; i++){
2779          if($(pdpSelector).eq(i).attr("data-product-id") != undefined && $(pdpSelector).eq(i).attr("data-product-available") != undefined ){
2780            recurpay.allProducts.push($(pdpSelector).eq(i).attr("data-product-id"));
2781          }
2782        }
2783        $.ajax({
2784          url: recurpay.pdpAPI,
2785          type: 'POST',
2786          async:true,
2787          data: {"products": recurpay.allProducts,"settings": true},
2788          success: function(response) {
2789            if(response != "ERROR") {
2790              if(response.plans.length > 0){
2791                recurpay.productDatas = response.plans;
2792                if(response.settings.translations !== null && !$.isEmptyObject(response.settings.translations)){
2793                  recurpay.settings = response.settings;
2794                  document.documentElement.style.setProperty('--recurpay_primary_color', recurpay.settings.snippet_color_codes.subscription_brand_color);
2795                  document.documentElement.style.setProperty('--recurpay_secondary_color', recurpay.settings.snippet_color_codes.subscription_secondary_color);
2796                  document.documentElement.style.setProperty('--recurpay_button_text_color', recurpay.settings.snippet_color_codes.subscription_button_text_color);
2797                  document.documentElement.style.setProperty('--recurpay_button_bg_color', recurpay.settings.snippet_color_codes.subscription_button_color);
2798                  document.documentElement.style.setProperty('--recurpay_savings_bg_color', hexToRgbA(recurpay.settings.snippet_color_codes.subscription_brand_color));
2799                }
2800                $(response.plans).each(function(){
2801                  var pdpHTML = '';
2802                  var $this = $(this);
2803                  if($this[0].product.plans.length >0){
2804                    pdpHTML = recurPDP($this[0].product);
2805                    var getElem = $('.recurpay-pdp-widget[data-product-id="'+$this[0].product.id+'"]');
2806                    if($(getElem).length && $(getElem).attr("data-product-available") == "true"){
2807                      $(getElem).html(pdpHTML);
2808                      if($(getElem).attr("data-only-subscription") == "true"){
2809                        $(getElem).find(".recurpay__widget[data-recurpay-widget]").addClass("recurpay_only_subscription_widget");
2810                      }
2811                      if((window.location.href.indexOf("/products/") > -1) && (window.location.href.indexOf("snippet_status=false") > -1)){
2812                        $(getElem).before("<span class='recurpay-preview-text'>You are previewing subscriptions currently and the option below is not visible to customers on your live store. <a href='"+recurpay.domainURL+"/home?step=go_live' class='recurpay-preview-link' target='_blank'>Click here</a> if you are ready to show it your customers now.</span>")
2813                      }
2814                      if($(getElem).is(":hidden") || $(getElem).width() < 220){
2815                        logEvent("product_widget","Product snippet added but needs a reverification", "warning");
2816                      }
2817                    }
2818                    var params = new Proxy(new URLSearchParams(window.location.search), {
2819                      get: (searchParams, prop) => searchParams.get(prop),
2820                    });
2821
2822                    if(params.variant !== undefined && params.variant !== null){
2823                      var variant_id = parseInt(params.variant);
2824                      let variant_data = [];
2825                      variant_data.push(...$this[0].product.variants.filter(function(searchId) {
2826                        return parseInt(searchId.id) == variant_id;
2827                      }));
2828                       if(variant_data.length >=1){
2829                        recurpay.product.selectedVariant = params.variant
2830                        recurDiscountedPrice(recurpay.product.selectedVariant);
2831                      }
2832                      else{
2833                        recurpay.product.selectedVariant = $this[0].product.variants[0].id;
2834                        recurDiscountedPrice($this[0].product.variants[0].id);
2835                      }
2836                    }
2837                    else{
2838                      if(recurpay.product.availableVariant !== "" && recurpay.product.availableVariant !== undefined){
2839                        recurpay.product.selectedVariant = recurpay.product.availableVariant;
2840                        recurDiscountedPrice(recurpay.product.availableVariant);
2841                      }
2842                      else{
2843                        recurpay.product.selectedVariant = $this[0].product.variants[0].id;
2844                        recurDiscountedPrice($this[0].product.variants[0].id);
2845                      }
2846                    }
2847                  }
2848                });
2849                if(response.settings.sell_only_as_subscription !== undefined && response.settings.sell_only_as_subscription !== null){
2850                  if(response.settings.sell_only_as_subscription == true){
2851                    updateSelectors(true);
2852                  }
2853                  else{
2854                    updateSelectors();
2855                  }
2856                }
2857              }
2858            }
2859          }
2860        });
2861      }
2862      else{
2863        if((window.location.href.indexOf("/products/") > -1) && (window.location.href.indexOf("recurpay_preview=true") > -1)){
2864          var modalHTML = "";
2865          modalHTML += '<div class="recurpay-modal-container" data-recurpay-visibility-modal>'
2866          modalHTML += '<div class="recurpay-modal--overlay"></div>'
2867          modalHTML += '<div class="recurpay-modal-inner-container">'
2868          modalHTML += '<div class="recurpay-modal-content">'
2869          modalHTML += '<div class="recurpay-modal-header">'
2870          modalHTML += '<div class="recurpay-modal-image">'
2871          modalHTML += '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 600 600" xml:space="preserve"><g id="LEFT_ARM_1"><g id="XMLID_46_"><path id="XMLID_290_" fill="#FFB96C" d="M294.4,485.5c-1.2,0.3-2.4,0.4-3.6,0.4c-0.2,0-0.4,0-0.6,0c-8.4-0.3-16.2-6.9-21-15.7 c-21.3-39.2-27.1-63.4-34.8-89.9c-1.9-6.6-1.4-13.3,1.4-18.1c2.2-3.7,5.7-6.4,10.5-6.9
2871c0.6-0.1,1.1-0.1,1.7-0.1 c8.5,0,17.4,6.8,20.9,15.6l36.5,89.4C310,471.5,305,483.1,294.4,485.5z"></path><path id="XMLID_280_" fill="#FCAF63" d="M290.2,485.9c-8.4-0.3-16.2-6.9-21-15.7c-21.3-39.2-27.1-63.4-34.8-89.9 c-1.9-6.6-1.4-13.3,1.4-18.1c9.5,23,40.7,98.5,50.3,116.1C287.6,481.1,289,483.6,290.2,485.9z"></path></g></g><g id="LEFT_ARM_2"><g id="XMLID_10_"><g id="XMLID_42_"><path id="XMLID_293_" fill="#FFB96C" d="M340.2,472c-0.9,2.3-2.1,4.1-3.3,5c-7.2,5.7-14.3,7-26.2,9.6c-11.9,2.6-24.2,2-29.9-3.4 c-1.9-1.8-3.3-3.8-4.1-5.9c-2.5-6-0.3-12.3,6.8-15c4.2-1.6,42.4-10.6,48.7-9.4C343.1,455,342.9,465.3,340.2,472z"></path><path id="XMLID_279_" fill="#FCAF63" d="M340.2,472c-0.9,2.3-2.1,4.1-3.3,5c-7.2,5.7-14.3,7-26.2,9.6c-11.9,2.6-24.2,2-29.9-3.4 c-1.9-1.8-3.3-3.8-4.1-5.9c3.2,0.9,9.6,2.1,20.5,0.9C306.4,477.2,325.3,474.3,340.2,472z"></path></g><g id="XMLID_41_"><path id="XMLID_49_" fill="#FEA691" d="M330.2,453.6c-11.9,4-10.6,11.9-8.8,19.6c1.8,7.7,16.6,27.5,21.1,28.5s4.8-0.8,3.6-4.5 c-1.2-3.7-9.7-16.6-9.7-16.6s9.4,12.8,13.3,16.6c3.9,3.8,7.2,3.5,7.1-0.7c-0.2-4.2-9.5-18.3-9.5-18.3s8.2,10.8,11.6,14.5 s7.9,3.1,6.3-1.9c-1.5-5-8.3-15.9-8.3-15.9s6.6,11,11,12.1c4.4,1.1,1.7-5.5-3-13.9C360.3,464.5,345,448.6,330.2,453.6z"></path><path id="XMLID_50_" fill="#FEA691" d="M320.2,464.6c0,0-2.5,9.8-0.9,18.4s4.3,10.3,6.1,10.7s2.4-1.9,1.5-5.6 c-0.9-3.7,1.5-11,1.5-11S325.8,462.4,320.2,464.6z"></path></g></g></g><g id="BODY"><g id="XMLID_70_"><path id="XMLID_45_" fill="#FEC272" d="M273.1,496H172.2c0,0-13.9-97.2-5.1-121.1c2.5-6.8,5.8-12.3,9.6-16.9 c9.5-11.6,21.7-16.9,30-19c10.9-2.8,20.4-2.9,28.6-0.9c21.8,5.2,33.9,25.1,37.8,46.8C278.5,414.8,273.1,496,273.1,496z"></path><path id="XMLID_43_" fill="#F9B35F" d="M207.6,358.5c-13.2,3.4-25.3,3-31-0.5c9.5-11.6,21.7-16.9,30-19 c10.9-2.8,20.4-2.9,28.6-0.9C237,344.9,224.6,354.1,207.6,358.5z"></path></g></g><g id="RIGHT_ARM_1"><g id="XMLID_16_"><path id="XMLID_278_" fill="#FFCD92" d="M199,381.3c0,1.6-0.1,3.2-0.4,4.7c-4.1,26.6-27.7,90.6-27.7,90.6c-1.7,5.1-5.3,8.9-9.7,11 c-4.4,2-9.5,2.4-14.4,0.5c-7.6-3-11.2-10.2-11.2-18.1c0-1.7,0.2-3.4,0.5-5.1c6.9-37.3,19.2-68.2,29.3-90 c4.4-9.6,15.2-15.6,24.7-10.8c2.9,1.4,4.9,3.7,6.4,6.3C198.3,373.6,199,377.4,199,381.3z"></path><path id="XMLID_273_" fill="#FCB765" d="M199,381.3c0,1.6-0.1,3.2-0.4,4.7c-4.1,26.6-27.7,90.6-27.7,90.6c-1.7,5.1-5.3,8.9-9.7,11 l35.2-117.3C198.3,373.6,199,377.4,199,381.3z"></path></g></g><g id="RIGHT_ARM_2"><g id="XMLID_17_"><g id="XMLID_20_"><path id="XMLID_285_" fill="#FFCD92" d="M230.5,487.4c-2.2,5.4-9.4,5.6-9.4,5.6s-20.2,1.2-37.7,1.2c-17.5,0-34.7,0-41.7-7.9 c-1.4-1.6-2.5-3.4-3.1-5.3c-2.6-7.3,0.7-16,11.1-20.4c7.5-3.2,16.1-2.1,25.5-1.2c9.4,0.9,27.5,5.1,38,7.9 c10.6,2.7,16.9,5.4,17.8,15.4C231.3,484.6,231,486.1,230.5,487.4z"></path><path id="XMLID_284_" fill="#FCB765" d="M230.5,487.4c-2.2,5.4-9.4,5.6-9.4,5.6s-20.2,1.2-37.7,1.2c-17.5,0-34.7,0-41.7-7.9 c-1.4-1.6-2.5-3.4-3.1-5.3c7.8,2.4,18.3,5.2,26.7,5.9C189,488.9,220.4,487.9,230.5,487.4z"></path></g><g id="XMLID_2_"><g id="XMLID_18_"><path id="XMLID_47_" fill="#FEA691" d="M251.6,471.3c0,1.6-0.2,3.3-0.6,5.1c-2.1,8.6-13.2,15.2-30.1,16.1 c-7.5,0.4-12.6,0.4-16-0.4c-4.4-1.1-6.1-3.7-6.5-9.1c-0.5-6.9,4.7-13.2,8.6-15.9c11.7-7.9,22.6-8.5,32.1-7.6 C247.6,460.4,251.5,465.1,251.6,471.3z"></path><path id="XMLID_44_" fill="#FC8172" d="M251.6,471.3c0,1.6-0.2,3.3-0.6,5.1c-2.1,8.6-13.2,15.2-30.1,16.1 c-7.5,0.4-12.6,0.4-16-0.4c-0.4-1-0.7-2.2-0.8-3.7c-0.5-5.9,4.4-11.4,8.2-13.7c11.1-6.8,21.5-7.4,30.5-6.5 C246.8,468.5,249.7,469.6,251.6,471.3z"></path></g><g id="XMLID_19_"><path id="XMLID_48_" fill="#C7DCF9" d="M264.7,488.7c0,1.1-0.2,2.1-0.5,3.2h-55c-0.3-1-0.5-2.1-0.5-3.2c0-9.6,12.5-17.4,28-17.4 C252.2,471.3,264.7,479.1,264.7,488.7z"></path><path id="XMLID_254_" opacity="0.55" fill="#C7DCF9" d="M263.5,490.2c0,0.6-0.1,1.1-0.4,1.7h-50.3c-0.3-0.6-0.4-1.1-0.4-1.7 c0-5.1,11.4-9.3,25.5-9.3C252.1,480.9,263.5,485.1,263.5,490.2z"></path></g><g id="XMLID_37_"><path id="XMLID_28_" fill="#FEA691" d="M252.6,456.6c3.6,0.4,6.1,2.7,7.5,7.5c1.4,4.8,1.7,11.9,0.2,14.4 c-1.5,2.5-4.3,3.6-7.4,1.1c-3.1-2.5-4.8-9.5-5.8-13C245.9,462,244.5,455.8,252.6,456.6z"></path><g id="XMLID_4_"><path id="XMLID_38_" fill="#FEA691" d="M239.2,454.3c3.9,0.4,5.5,3.7,7,8.7c1.5,5,1.8,12.6,0.2,15.3c-1.6,2.6-4.6,3.8-7.9,1.2 c-3.3-2.6-5.2-10.1-6.2-13.8C231,460.8,230.4,453.5,239.2,454.3z"></path><path id="XMLID_79_" fill="#FF8D76" d="M243.1,480.8c-1.4,0.3-3,0-4.6-1.4c-3.3-2.6-5.1-10.1-6.2-13.8c-1.1-4-1.7-9.7,3-11.1 c-0.9,2.7-0.4,6.4,0.3,9.2c1,4.3,2.9,13,6.2,16C242.3,480.2,242.7,480.6,243.1,480.8z"></path></g><path id="XMLID_39_" fill="#FEA691" d="M224.6,456.6c3.9,0.4,6.5,2.9,8,7.9s1.8,12.6,0.2,15.3c-1.6,2.6-4.6,3.8-7.9,1.2 c-3.3-2.6-5.2-10.1-6.2-13.8C217.4,462.3,215.9,455.7,224.6,456.6z"></path><path id="XMLID_81_" fill="#FF8D76" d="M228.5,482.4c-1.1,0-2.3-0.5-3.5-1.5c-3.3-2.6-5.1-10.1-6.2-13.8 c-1-3.8-2.2-8.6,1.5-10.2c-0.3,2.5,0.4,5.7,1.1,8.3c1.2,4.5,3.3,13.7,7,17C228.4,482.4,228.4,482.4,228.5,482.4z"></path><path id="XMLID_40_" fill="#FEA691" d="M211.5,459.4c3.4-1,6,2.7,7.3,7.3c1.3,4.6,1.7,11.6,0.2,14c-1.4,2.4-4.2,3.5-7.2,1.1 c-3-2.4-3.8-7-4.7-10.4C205.9,467,204.9,461.4,211.5,459.4z"></path><path id="XMLID_82_" fill="#FF8D76" d="M215.2,483.2c-1.1,0-2.2-0.4-3.4-1.4c-3-2.4-3.8-7-4.7-10.4c-1.1-3.8-1.9-8.5,2.1-11 c-0.3,2.7,0.2,5.6,0.7,8.2c0.9,4.6,1.6,10.9,5,14.3C215,483,215.1,483.1,215.2,483.2z"></path><path id="XMLID_78_" fill="#FF8D76" d="M256.8,480.9c-1.2,0.1-2.5-0.3-3.8-1.4c-3.1-2.5-4.8-9.5-5.8-13c-1-3.7-2.2-8.5,1.8-9.7 c0,2.2,0.5,4.7,1,6.9c1,4.5,2.9,13.5,6.1,16.7C256.4,480.6,256.6,480.8,256.8,480.9z"></path></g></g></g></g><g id="HEAD"><g id="XMLID_89_"><path id="XMLID_6_" fill="#FF8D76" d="M208.8,235c0,0,9.3-3.8,15.6,8.8c6.3,12.7-0.5,20.8-0.5,20.8S217.7,246.3,208.8,235z"></path><path id="XMLID_173_" fill="#FEA691" d="M215.2,350.9c-8.8,4.1-14.9-1.6-14.9-1.6l-5.5-11.9l-9.9-21.4c14.9-3.2,27.9-5.7,27.9-5.7 l2.3,9.5l4.3,17.7C219.2,337.6,224,346.9,215.2,350.9z"></path><path id="XMLID_171_" fill="#FF8D76" d="M215,319.9c-1.3,1.9-2.7,3.9-4.4,5.8c-4.3,5.1-10.5,9-15.9,11.7l-9.9-21.4 c14.9-3.2,27.9-5.7,27.9-5.7L215,319.9z"></path><ellipse id="XMLID_3_" transform="matrix(0.8545 -0.5194 0.5194 0.8545 -114.0092 131.008)" fill="#FEA691" cx="176.9" cy="269" rx="47.2" ry="57.7"></ellipse><path id="XMLID_12_" fill="#FF8D76" d="M217.4,308.8c-2.9,3.7-6.5,
28716.9-10.6,9.5c-22.3,13.5-53.7,2.4-70.3-24.8 c-16.4-26.9-12-59.6,9.7-73.4c-12.6,16.2-13.2,42.2,0.3,64.3c16.5,27.2,48,38.3,70.3,24.8C217,309.1,217.2,309,217.4,308.8z"></path><path id="XMLID_5_" fill="#283575" d="M157.2,309.5c0,0-17-13.4-21.3-37.4s0.5-33.7,20.2-45.3c19.7-11.5,34.4-7.4,34.4-7.4 s-14-10.5-36.9-6.6c-22.9,3.8-46.2,25.6-41.4,58.4C117.2,306.2,138,316.5,157.2,309.5z"></path><path id="XMLID_11_" fill="#F76F59" d="M177.8,246.8c-2.7,1.9,1.1,12,9.3,19.5c8.2,7.5,16.1,3.6,16.3-3.8 C203.6,254.9,187.1,240.2,177.8,246.8z"></path><path id="XMLID_7_" fill="#FF8D76" d="M137.5,291.4c0,0-16,15.7-1.6,29.4c13.8,13.1,31.2-4.5,31.2-4.5S142.7,303.2,137.5,291.4z"></path><path id="XMLID_250_" fill="#F76F59" d="M139.4,300.5c0,0-9,8.8-0.9,16.6c7.8,7.4,17.6-2.5,17.6-2.5S142.3,307.2,139.4,300.5z"></path></g></g><g id="HAIR"><g id="XMLID_84_"><path id="XMLID_8_" fill="#283575" d="M188.5,218.1c0,0,1.7-30.2-15.5-42.5c-19.4-13.8-30.3,6.1-23.9,22.4 c2.8,7.3,5.8,11.7,8.2,14.3c2.2,2.4,5.2,3.8,8.4,4L188.5,218.1z"></path><path id="XMLID_9_" fill="#283575" d="M122.7,192.6c-15.3,12.2-2.1,29.7,4.2,34.4c2.7,2,5.6,3.6,8.1,4.8c3.4,1.6,7.4,1.4,10.6-0.6 l21.6-13.7C167.2,217.6,143,176.5,122.7,192.6z"></path><path id="XMLID_51_" fill="#3C4E8E" d="M159,172.3c-4.8,0.6,0.5,9.8,7.5,11S171.3,170.8,159,172.3z"></path><path id="XMLID_61_" fill="#3C4E8E" d="M128.7,192.8c-2.8,3.2,4.5,7.3,10.4,5.3C145.1,196.2,134.9,185.8,128.7,192.8z"></path></g></g><g id="MOUTH"><g id="XMLID_83_"><path id="XMLID_177_" fill="#F76F59" d="M217.7,285c-0.5,1-1.2,1.9-2.2,2.7c-3.7,2.9-6.5,7.1-8.5,11.5c-1.8,3.9-6.4,8.5-10.7,5.2 c-0.5-0.4-1-0.8-1.4-1.4c-4.5-5.7-2.8-20.4,4.2-26.9c5.4-5,12.1-3.7,15.5-0.9C217.9,277.7,219.3,281.7,217.7,285z"></path><path id="XMLID_175_" fill="#FF6EA9" d="M217.7,285c-0.5,1-1.2,1.9-2.2,2.7c-3.7,2.9-6.5,7.1-8.5,11.5c-1.8,3.9-6.4,8.5-10.7,5.2 c0-6.3,2.3-13.7,6.7-17.7C208.1,282.1,214.1,282.7,217.7,285z"></path></g></g><g id="EYE_1"><g id="XMLID_14_"><path id="XMLID_86_" fill="#1C3177" d="M155.8,267.7c-3.2,0-5.7-1-5.9-1.1c-1.3-0.5-1.9-2-1.4-3.3c0.5-1.3,2-1.9,3.3-1.4 c0.1,0,5.6,2.2,8.6-1.1c3.9-4.1-0.2-9.4-0.3-9.6c-0.9-1.1-0.7-2.7,0.4-3.6c1.1-0.9,2.7-0.7,3.6,0.4c2.4,3.1,5.5,10.4,0,16.2 C161.6,266.9,158.5,267.7,155.8,267.7z"></path></g></g><g id="EYE_2"><g id="XMLID_15_"><path id="XMLID_85_" fill="#1C3177" d="M193,242.6c-5.1,0-9.4-3.8-9.7-4c-1.1-0.9-1.1-2.6-0.2-3.6c0.9-1,2.5-1.1,3.6-0.2 c0,0,4.6,3.9,8,2.4c1.5-0.7,0.4-3.8,0.3-3.9c-0.5-1.3,0.1-2.8,1.5-3.3c1.3-0.5,2.8,0.1,3.3,1.4c1.5,3.7,1.1,8.6-3,10.4 C195.5,242.4,194.2,242.6,193,242.6z"></path></g></g><g id="EYEBROW_1"><g id="XMLID_1_"><path id="XMLID_88_" fill="#1C3177" d="M142.4,261.7c-0.1,0-0.2,0-0.3,0c-1.4-0.2-2.4-1.4-2.3-2.8c0-0.3,0.7-6.3,4.9-12.4 c4.1-6.1,8.3-8.2,8.5-8.3c1.3-0.6,2.8-0.1,3.4,1.2c0.6,1.3,0.1,2.8-1.2,3.4c0,0-3.2,1.7-6.5,6.5c-3.4,5-4,10-4,10.1 C144.8,260.7,143.7,261.7,142.4,261.7z"></path></g></g><g id="EYEBROW_2"><g id="XMLID_13_"><path id="XMLID_87_" fill="#1C3177" d="M179,232.1c-0.7,0-1.5-0.3-2-0.9c-0.9-1.1-0.7-2.7,0.4-3.6c0.3-0.2,2.6-2.1,6.7-3.3 c4.1-1.2,7.5-1.1,7.6-1.1c1.4,0,2.5,1.2,2.5,2.6c0,1.4-1.3,2.5-2.6,2.5c0,0-2.7-0.1-6,0.9c-3.2,1-5,2.4-5,2.4 C180.1,231.9,179.6,232.1,179,232.1z"></path></g></g><g id="TABLE"><g id="XMLID_248_"><path id="XMLID_22_" fill="#99ADF9" d="M505.9,506.3H98.3c-4,0-7.2-3.2-7.2-7.2l0,0c0-4,3.2-7.2,7.2-7.2h407.6 c4,0,7.2,3.2,7.2,7.2l0,0C513.1,503,509.9,506.3,505.9,506.3z"></path><path id="XMLID_198_" fill="#789FEF" d="M505.2,506.3H157.1c-4,0-7.2-3.2-7.2-7.2l0,0c0-4,3.2-7.2,7.2-7.2h348.1 c4,0,7.2,3.2,7.2,7.2l0,0C512.5,503,509.2,506.3,505.2,506.3z"></path></g></g><g id="DESKTOP"><g id="XMLID_186_"><g id="XMLID_182_"><path id="XMLID_25_" fill="#E1ECFF" d="M457.6,444.7h-186c-3.3,0-5.9-3-5.3-6.3l19.8-118.7c0.4-2.6,2.7-4.5,5.3-4.5h186 c3.3,0,5.9,3,5.3,6.3L463,440.2C462.5,442.8,460.3,444.7,457.6,444.7z"></path><path id="XMLID_29_" fill="#C7DCF9" d="M461.6,444.7H278c-3.3,0-5.9-3-5.3-6.3l19.8-118.7c0.4-2.6,2.7-4.5,5.3-4.5h183.6 c3.3,0,5.9,3,5.3,6.3l-19.8,118.7C466.5,442.8,464.2,444.7,461.6,444.7z"></path><path id="XMLID_31_" fill="#B7D4F7" d="M442.2,432H302c-2.6,0-4.5-2.3-4.1-4.8l15.1-90.6c0.3-2,2.1-3.5,4.1-3.5h140.1 c2.6,0,4.5,2.3,4.1,4.8l-15.1,90.6C445.9,430.5,444.2,432,442.2,432z"></path></g><g id="XMLID_183_"><path id="XMLID_24_" fill="#E1ECFF" d="M382.3,484.5h-25.5c-2.4,0-4.2-2-4-4.4l6.7-66.5c0.2-2,1.9-3.6,4-3.6H389 c2.4,0,4.2,2,4,4.4l-6.7,66.5C386.1,483,384.4,484.5,382.3,484.5z"></path><path id="XMLID_26_" fill="#C7DCF9" d="M384.1,484.5h-23.4c-1.5,0-2.7-1.3-2.6-2.8l7-69.4c0.1-1.3,1.2-2.3,2.6-2.3h23.4 c1.5,0,2.7,1.3,2.6,2.8l-7,69.4C386.5,483.5,385.4,484.5,384.1,484.5z"></path></g><g id="XMLID_185_"><path id="XMLID_27_" fill="#E1ECFF" d="M424.7,491.8H318.5c-2.2,0-4-1.8-4-4V479c0-2.2,1.8-4,4-4h106.2c2.2,0,4,1.8,4,4v8.8 C428.7,490,426.9,491.8,424.7,491.8z"></path><path id="XMLID_30_" fill="#C7DCF9" d="M426.9,491.8H327c-2.3,0-4.2-1.9-4.2-4.2v-8.4c0-2.3,1.9-4.2,4.2-4.2h99.9 c2.3,0,4.2,1.9,4.2,4.2v8.4C431,489.9,429.2,491.8,426.9,491.8z"></path></g></g></g><g id="SIGN"><g id="XMLID_21_"><path id="XMLID_77_" fill="#ff9800" d="M501.5,298.7c-1,0.7-2.3,1.2-3.7,1.2H402c-4.8,0-7.8-5-5.6-9.3l34.8-66.9l12.8-24.6 c2.4-4.5,8.8-4.5,11.2,0l48.2,91.5C505,293.6,503.9,297,501.5,298.7z"></path><path id="XMLID_74_" fill="#ff9800" d="M501.5,298.7c-1,0.7-2.3,1.2-3.7,1.2H402c-4.8,0-7.8-5-5.6-9.3l34.8-66.9L420.6,280 c-0.9,4.8,2.4,9.3,7.3,9.9L501.5,298.7z"></path><g id="XMLID_32_"><g id="XMLID_34_"><path id="XMLID_35_" fill="#FFFFFF" d="M445.2,264.1l-5-35.8c-0.2-1.2,0.8-2.3,2-2.3h14.2c1.2,0,2.1,1.1,2,2.3l-5,35.8 c-0.1,1-1,1.7-2,1.7h-4.3C446.1,265.9,445.3,265.1,445.2,264.1z"></path></g><circle id="XMLID_33_" fill="#FFFFFF" cx="449.3" cy="279.1" r="7.1"></circle></g></g></g></svg>'
2872          modalHTML += '</div>'
2873          modalHTML += '<h1 class="recurpay-preview-title">You are previewing subscriptions option for this product</h1>'
2874          modalHTML += '<span class="recurpay-preview-subtext">Note: This is not visible to your customers</span>'
2875          modalHTML += '</div>'
2876          modalHTML += '<div class="recurpay-modal-body">'
2877          modalHTML += '<div class="recurpay-modal-body-content">'
2878          modalHTML += '<div class="recurpay-modal-alert-box"><span class="recurpay-modal-alert-text">Looks like the subscription option is not visible on your store due to some conflict with theme. Talk to us on <a href="'+recurpay.domainURL+'/home?theme=false" target="_blank" data-initiate-live-chat>Live Chat</a>
2878 to get it resolved instantly</span></div>'
2879          modalHTML += '</div></div>'
2880          modalHTML += '<div class="recurpay-modal-footer">'
2881          modalHTML += '<a href="javascript:void(0)" class="recurpay-modal-cancel-link"><button type="button" class="recurpay-modal-cancel-btn">Close</button></a>'
2882          modalHTML += '<a href="'+recurpay.domainURL+'/home?theme=false" target="_blank" class="recurpay-modal-chat-link"><button type="button" class="recurpay-modal-chat-btn" data-initiate-live-chat>Start a Live Chat</button></a>'
2883          modalHTML += '</div></div></div></div>'
2884          if($('[data-recurpay-visibility-modal]').length <= 0){
2885            if($('body').length){
2886              $('body').append(modalHTML);
2887            }
2888            else if($('html').length){
2889              $('html').append(modalHTML);
2890            }
2891          }
2892        }
2893        if((window.location.href.indexOf("/products/") > -1)){
2894          logEvent("product_widget","Failed to show product snippet", "critical");
2895        }
2896      }
2897
2898      function recurProperties(elem){
2899        var getParent = $(elem).parents(pdpSelector);
2900        if( $(getParent).find("[name='recurpay__group_main'][value='subscription']").is(":checked")){
2901          var planName = $(getParent).find('[name="recurpay-input"] option:selected').attr('data-plan-name'),
2902              planId = $(getParent).find('[name="recurpay-input"] option:selected').attr('data-plan');
2903          $(getParent).find('.recurpay_plan_name').attr("name","properties[Plan]").val(planName);
2904          $(getParent).find('.recurpay_plan_id').attr("name","properties[_PlanId]").val(planId);
2905          if(parseInt(recurpay.subscriptionInfluence && recurpay.subscriptionInfluenceCount) >=1){
2906              $(getParent).find('.recurpay_purchase_data').attr("name","properties[_PurchaseData]").val(recurpay.subscriptionInfluenceCount);
2907          }
2908          $(getParent).find('.recurpay__description[data-description-id]').hide();
2909          $(getParent).find('.recurpay__description[data-description-id="'+planId+'"]').show();
2910          if(recurpay.checkout == "shopify"){
2911            var sellingPlanId = $(getParent).find('[name="recurpay-input"] option:selected').attr('data-selling-plan');
2912            $(getParent).find('.recurpay_selling_plan_id').attr("name","selling_plan").val(sellingPlanId);
2913          }
2914        }
2915        else{
2916          $(getParent).find('.recurpay_plan_name').attr("name","");
2917          $(getParent).find('.recurpay_plan_id').attr("name","");
2918          $(getParent).find('.recurpay_purchase_data').attr("name","");
2919          if(recurpay.checkout == "shopify"){
2920            $(getParent).find('.recurpay_selling_plan_id').attr("name","");
2921          }
2922        }
2923        offerSavings(getParent);
2924      }
2925      function addSubscription(btn){
2926        var variantSelector = $(btn).parents(atcFormSelector).find('[name="id"]'),
2927            quantitySelector = $(btn).parents(atcFormSelector).find('[name="quantity"]'),
2928            subscriptionPlanId = $(btn).parents(pdpSelector).find('[name="recurpay-input"] option:selected').attr('data-plan'),
2929            subscriptionPlanName = $(btn).parents(pdpSelector).find('[name="recurpay-input"] option:selected').attr('data-plan-name'),
2930            subscriptionPlanType = $(btn).parents(pdpSelector).find('[name="recurpay-input"] option:selected').attr('data-plan-type'),
2931            planVariant = parseInt(variantSelector.val()),
2932            planQuantity = 1,
2933            planParams = {};
2934        if(quantitySelector.length) {
2935          planQuantity = parseInt(quantitySelector.val());
2936        }
2937
2938        if(recurpay.checkout == "shopify"){
2939          var sellingPlanId =  $(btn).parents(pdpSelector).find('[name="recurpay-input"] option:selected').attr('data-selling-plan');
2940          planParams = {
2941            id: planVariant,
2942            quantity: planQuantity,
2943            selling_plan: sellingPlanId,
2944            properties: {
2945              'Plan': subscriptionPlanName,
2946              '_PlanId': subscriptionPlanId
2947            }
2948          }
2949        }
2950        else{
2951          planParams = {
2952            id: planVariant,
2953            quantity: planQuantity,
2954            properties: {
2955              'Plan': subscriptionPlanName,
2956              '_PlanId': subscriptionPlanId
2957            }
2958          }
2959        }
2960
2961        if(recurpay.checkout == "recurpay" && !recurpay.prepaidMixedCart && subscriptionPlanType == "prepaid"){
2962          $.getJSON('/cart', function(response) {
2963            response.items = [];
2964            response.items.push(planParams);
2965            recurCart(response);
2966          });
2967        }
2968        else{
2969          if (recurpay.action == "default" && $(atcFormSelector).find(atcSelector).length){
2970            $(btn).parents(atcFormSelector).find(atcSelector).first().click();
2971          }
2972          else{
2973            $.ajax({
2974              type: 'POST',
2975              url: '/cart/add.js',
2976              dataType: 'json',
2977              data: planParams,
2978              success: function() {
2979                if (recurpay.checkout == "recurpay" && recurpay.action == "checkout"){
2980                  $.getJSON('/cart', function(response) {
2981                    recurCart(response);
2982                  });
2983                }
2984                else if(recurpay.action == "cart"){
2985                  document.location.href = '/cart';
2986                }
2987                else{
2988                  document.location.href = '/checkout';
2989                }
2990              },
2991              error: function(xhr, status, error) {
2992                var err = eval("(" + xhr.responseText + ")");
2993                $('[data-recurpay-error]')
2994                .html(err.description)
2995                .show().delay(3000).fadeOut();
2996              }
2997            });
2998          }
2999        }
3000      }
3001
3002      $(document).on('change',"[name='recurpay__group_main']", function(e) {
3003        var $this = $(this);
3004        $this.parents(pdpSelector).find('.recurpay__widget_container').removeClass("recurpay__widget_container--selected");
3005        var checkVal = $this.val();
3006        if($this.is(":checked")){
3007            $this.parents('.recurpay__widget_container').addClass("recurpay__widget_container--selected");
3008        }
3009        if(checkVal == "subscription"){
3010          recurpay.subscriptionInfluence = true;
3011          recurpay.subscriptionInfluenceCount = recurpay.subscriptionInfluenceCount + 1;
3012          $this.parents(atcFormSelector).find(atcSelector).addClass("recurpay-hide");
3013          $this.parents(atcFormSelector).find(buynowSelector).addClass("recurpay-hide");
3014          $this.parents(pdpSelector).find('.recurpay__plans').show();
3015          $this.parents(pdpSelector).find('.recurpay__group_content_wrapper').slideDown();
3016        }
3017        else{
3018          $this.parents(atcFormSelector).find(atcSelector).removeClass("recurpay-hide");
3019          $this.parents(atcFormSelector).find(buynowSelector).removeClass("recurpay-hide");
3020          $this.parents(pdpSelector).find('.recurpay__plans').hide();
3021          $this.parents(pdpSelector).find('.recurpay__group_content_wrapper').slideUp();
3022        }
3023        recurProperties($this);
3024      });
3025
3026      $(document).on('change',"[name='recurpay-input']", function(e) {
3027        var getId = $(this).parents(atcFormSelector).find('input[name="id"], select[name="id"], input#SelectedId').val();
3028        recurDiscountedPrice(getId);
3029        recurProperties($(this));
3030      });
3031
3032      $(document).on('click',".recurpay__group_label", function(e) {
3033        $(this).parents('.recurpay__widget_container').find('[name="recurpay__group_main"]').prop("checked",true).change();
3034      });
3035
3036      $(document).on('click',".recurpay-modal-cancel-btn", function(e) {
3037        $('[data-recurpay-visibility-modal]').hide();
3038      });
3039
3040      function updateSelectors(only_subscription){
3041        for(r=0; r<$(pdpSelector).length; r++){
3042          if($(pdpSelector).eq(r).attr("data-only-subscription") == "true" || only_subscription == true){
3043            $(pdpSelector).eq(r).attr("data-only-subscription",true);
3044            $(pdpSelector).eq(r).find(".recurpay__widget[data-recurpay-widget]").addClass("recurpay_only_subscription_widget");
3045            $(pdpSelector).eq(r).find("[name='recurpay__group_main'][value='subscription']").prop("checked",true).change();
3046          }
3047          else{
3048            if(recurpay.subscriptionFirst == true){
3049              $(pdpSelector).eq(r).find("[name='recurpay__group_main'][value='subscription']").prop("checked",true).change();
3050            }
3051          }
3052        }
3053      }
3054
3055      $(document).on('click',"[data-recurpay-action]", function(e) {
3056        e.preventDefault();
3057        e.stopPropagation();
3058        addSubscription($(this));
3059      });
3060
3061      if(recurpay.checkout == "recurpay"){
3062        $(document).on('click', checkoutSelector, function(e) {
3063          e.preventDefault();
3064          e.stopPropagation();
3065          $.getJSON('/cart', function(response) {
3066            recurCart(response);
3067          })
3068        });
3069        if($(recurpay.checkout_btn_override_class).length){
3070          document.addEventListener("click", handler, true);
3071          function handler(e) {
3072            if($(e.target).is(recurpay.checkout_btn_override_class)){
3073              e.stopPropagation();
3074              e.preventDefault();
3075              $.getJSON('/cart', function(response) {
3076                recurCart(response);
3077              });
3078            }
3079          }
3080        }
3081      }
3082    }
3083    //Append jQuery if it is not there, then call to recurpaySubscription
3084    //Otherwise directly call to recurpaySubscription
3085    if ((typeof(jQuery) == 'undefined')) {
3086      initScript('//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js', function() {
3087        window.recurpayScript = jQuery.noConflict(true);
3088        recurpaySubscription(recurpayScript);
3089      })
3090    }
3091    else {
3092      recurpaySubscription(jQuery);
3093    }
3094  })();
3095</script>
3095
3096<div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
3097
3098
3099<div style="position: fixed; bottom: 0; right: 0"></div>
3100
3101<script>
3102console.info("bitlogin extension version: v2.5.7");
3103
3104const googleScript = document.createElement("script");
3105googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
3106document.head.append(googleScript);
3107
3108const bitLoginBaseUrl = "https://api.bitbybit.studio";
3109const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
3110
3111const appearance = {"style":"square","hasShadow":false,"colorScheme":"match","backgroundColor":"#FFFFFF","outlineColor":"#000000","textColor":"#000000","position":"top","hideDivider":false,"size":"small","format":"contentFlex","language":"en","buttonText":"Continue with","dividerText":"OR","redirectLink":"\/account","googleOneTap":false,"googleOneTapBanner":true,"captureAdditionalData":false,"customerTag":"bitLogin","redirectOneTapDesktop":null,"redirectOneTapMobile":null,"watermark":true,"domain":"c820c3-2.myshopify.com","buttonList":{"google":"Continue with Google","facebook":"Continue with Facebook","apple":"Continue with Apple","whatsapp":"Continue with WhatsApp","microsoft":"Continue with Microsoft","twitter":"Continue with Twitter","amazon":"Continue with Amazon"}};
3112const config = [{"domain":"c820c3-2.myshopify.com","provider":"FACEBOOK","enabledMobile":true,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"c820c3-2.myshopify.com","provider":"GOOGLE","enabledMobile":true,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"c820c3-2.myshopify.com","provider":"APPLE","enabledMobile":true,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}];
3113const redirectUrl = appearance.redirectLink;
3114
3115let locationCacheSet = false;
3116let errorLocation = false;
3117let oneTapSet = false;
3118
3119let bitloginCache = {
3120  appearance: appearance,
3121  config: config
3122};
3123
3124let isInitializing = false;
3125const queue = [];
3126
3127// Add CSS for the popup
3128const popupStyles = document.createElement('style');
3129popupStyles.textContent = `
3130  /* Styles for login popup */
3131  .bitlogin-popup-overlay {
3132    position: fixed;
3133    top: 0;
3134    left: 0;
3135    width: 100%;
3136    height: 100%;
3137    background: rgba(0, 0, 0, 0.45);
3138    backdrop-filter: blur(4px);
3139    display: flex;
3140    align-items: center;
3141    justify-content: center;
3142    opacity: 0;
3143    transition: opacity 0.3s ease-in-out;
3144    z-index: 999999;
3145  }
3146  
3147  .bitlogin-popup-overlay.visible {
3148    opacity: 1;
3149  }
3150  
3151  .bitlogin-popup {
3152    background: #FFFFFF;
3153    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
3154    border-radius: 16px;
3155    width: 100%;
3156    max-width: 560px;
3157    display: flex;
3158    overflow: hidden;
3159    position: relative;
3160    opacity: 0;
3161    transform: translateY(20px) scale(0.98);
3162    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
3163  }
3164  
3165  .bitlogin-popup.visible {
3166    opacity: 1;
3167    transform: translateY(0) scale(1);
3168  }
3169  
3170  .bitlogin-popup-with-image {
3171    max-width: 640px;
3172  }
3173  
3174  .bitlogin-popup-right-image {
3175    flex-direction: row-reverse;
3176  }
3177  
3178  .bitlogin-popup-image {
3179    object-fit: cover;
3180    width: 50%;
3181    height: auto;
3182  }
3183  
3184  .bitlogin-popup-content {
3185    padding: 32px;
3186    position: relative;
3187    width: 50%;
3188  }
3189  
3190  .bitlogin-popup-close {
3191    position: absolute;
3192    top: 16px;
3193    right: 16px;
3194    background: white;
3195    border: none;
3196    width: 30px;
3197    height: 30px;
3198    display: flex;
3199    align-items: center;
3200    justify-content: center;
3201    cursor: pointer;
3202    transition: background-color 0.2s;
3203    color: inherit;
3204    padding: 0;
3205  }
3206  
3207  .bitlogin-popup-close:hover {
3208    background-color: #e5e5e5;
3209  }
3210  
3211  .bitlogin-popup-buttons {
3212    display: flex;
3213    flex-direction: column;
3214    gap: 12px;
3215    margin-top: 24px;
3216  }
3217  
3218  /* Button styles within popup - override width for popup buttons */
3219  .bitlogin-popup-buttons #google-login,
3220  .bitlogin-popup-buttons #facebook-login,
3221  .bitlogin-popup-buttons #apple-login,
3222  .bitlogin-popup-buttons #whatsapp-login,
3223  .bitlogin-popup-buttons #microsoft-login,
3224  .bitlogin-popup-buttons #twitter-login,
3225  .bitlogin-popup-buttons #amazon-login,
3226  .bitlogin-popup-buttons #instagram-login,
3227  .bitlogin-popup-buttons #magic-link-login,
3228  .bitlogin-popup-buttons #mobile-app-login {
3229    width: 100% !important;
3230    font-family: inherit !important;
3231  }
3232  
3233  .bitlogin-popup-footer {
3234    margin-top: 32px;
3235    text-align: center;
3236    font-size: 14px;
3237    opacity: 0.6;
3238  }
3239  
3240  /* Modern Typography */
3241  .bitlogin-popup h2 {
3242    margin-top: 12px;
3243    font-size: 21px !important;
3244    line-height: 1.2 !important;
3245    font-weight: 700 !important;
3246    letter-spacing: -0.02em !important;
3247    margin-bottom: 16px !important;
3248  }
3249  
3250  .bitlogin-popup-header {
3251    position: relative;
3252    margin-bottom: 24px;
3253  }
3254  
3255  /* Modern gradient accent */
3256  .bitlogin-popup-content > div {
3257    font-size: 16px !important;
3258    line-height: 1.2 !important;
3259    opacity: 0.85 !important;
3260  }
3261  
3262  /* Enhanced button interactions */
3263  .bitlogin-popup-buttons button {
3264    position: relative;
3265    overflow: hidden;
3266  }
3267  
3268  @keyframes ripple {
3269    0% {
3270      transform: scale(0, 0);
3271      opacity: 0.5;
3272    }
3273    100% {
3274      transform: scale(100, 100);
3275      opacity: 0;
3276    }
3277  }
3278  
3279  /* Responsive adjustments */
3280  @media (max-width: 640px) {
3281    .bitlogin-popup {
3282      max-width: 90%;
3283      width: 90%;
3284      margin: 0 16px;
3285    }
3286    
3287    .bitlogin-popup-with-image {
3288      flex-direction: column !important;
3289    }
3290    
3291    .bitlogin-popup-image {
3292      width: 100%;
3293      height: 180px;
3294    }
3295    
3296    .bitlogin-popup-content {
3297      padding: 24px;
3298    }
3299    
3300    .bitlogin-popup h2 {
3301      font-size: 24px !important;
3302    }
3303  }
3304`;
3305
3306document.head.appendChild(popupStyles);
3307
3308// Add fonts link for different font options
3309const fontsLink = document.createElement('link');
3310fontsLink.rel = 'stylesheet';
3311fontsLink.href = 'https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Roboto:wght@400;500&family=Open+Sans:wght@400;500;600&family=Noto+Sans:wght@400;500;600&family=Lato:wght@400;700&family=Poppins:wght@400;500;600&family=Quicksand:wght@400;500;600&family=Raleway:wght@400;500;600&family=PT+Sans:wght@400;700&family=Oswald:wght@400;500;600&display=swap';
3312document.head.appendChild(fontsLink);
3313
3314(async () => {
3315  try {
3316    let host = window.location.host;
3317    if (host === "admin.shopify.com") {
3318      host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
3319    }
3320
3321    const urlSearchParams = new URLSearchParams(window.location.search);
3322    const checkoutUrl = urlSearchParams.get("checkout_url");
3323
3324    async function init({ inputRef, index }) {
3325      if (isInitializing) {
3326        queue.push(() => init({ inputRef, index }));
3327        return;
3328      }
3329
3330      isInitializing = true;
3331
3332      try {
3333        let bitLoginSectionRoot = document.querySelector(
3334          `.bitlogin-root[data-index="${index}"]`
3335        );
3336
3337        const formRef = inputRef?.closest(
3338          "form:not([action='/account/recover'])"
3339        );
3340
3341        if (formRef && !bitLoginSectionRoot) {
3342          await getLocation();
3343
3344          bitLoginSectionRoot = document.createElement(`div`);
3345
3346          bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
3347          bitLoginSectionRoot.setAttribute("data-index", `${index}`);
3348
3349          updateAppearance({
3350            formRef,
3351            rootRef: bitLoginSectionRoot,
3352            host,
3353          });
3354        }
3355      } catch (err) {
3356        console.error(`error while initiating bitlogin extensions`, err);
3357      } finally {
3358        // Release the lock
3359        isInitializing = false;
3360
3361        // Check if there are pending items in the queue
3362        if (queue.length > 0) {
3363          // Process the next function in the queue
3364          const nextFunction = queue.shift();
3365          nextFunction();
3366        }
3367      }
3368    }
3369
3370    function initAll() {
3371      return new Promise((resolve, reject) => {
3372        setTimeout(async () => {
3373          const inputRefs = document.querySelectorAll(
3374            'input[name="customer[email]"]'
3375          );
3376
3377          for (let i = 0; i < inputRefs.length; i++) {
3378            const currentInputRef = inputRefs[i];
3379            const isVisible = isElementVisible(currentInputRef);
3380
3381            if (isVisible) {
3382              await init({ inputRef: currentInputRef, index: i });
3383            }
3384          }
3385
3386          resolve("ok");
3387        }, 100);
3388      });
3389    }
3390
3391    const observer = new MutationObserver((mutationsList) => {
3392      for (let mutation of mutationsList) {
3393        initAll();
3394      }
3395    });
3396
3397    observer.observe(document.body, {
3398      childList: true,
3399      subtree: true,
3400      attributes: true,
3401    });
3402
3403    initAll();
3404
3405    if (appearance.googleOneTap) {
3406      setupOneTap({ host, checkoutUrl });
3407    }
3408
3409    // Initialize popup
3410    await initPopup(host);
3411  } catch (error) {
3412    console.error("Error initializing BitLogin:", error);
3413  }
3414})();
3415
3416async function initPopup(host) {
3417  // Check if user is already logged in using Liquid checks properly
3418  const isLoggedIn = false || 
3419                    document.querySelector('.customer-logout-link') || 
3420                    document.querySelector('.account-link') || 
3421                    window.location.pathname.includes('/account');
3422  
3423  if (isLoggedIn) {
3424    return; // User is logged in, don't show popup
3425  }
3426
3427  try {
3428    // Fetch the popup configuration
3429    const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
3430      .then(res => res.json())
3431      .catch(err => {
3432        console.error('Error fetching popup configuration:', err);
3433        return null;
3434      });
3435
3436    if (!popupConfig || !popupConfig.enabled) {
3437      return;
3437 // Don't show popup if disabled or config not found
3438    }
3439
3440    // Create popup after 10 seconds
3441    setTimeout(() => {
3442      // Check if user is still on the page and still not logged in
3443      if (document.visibilityState === 'visible') {
3444        // Additional check in case user logged in during the 10 second wait
3445        const currentlyLoggedIn = false || 
3446                              document.querySelector('.customer-logout-link') || 
3447                              document.querySelector('.account-link');
3448        
3449        if (!currentlyLoggedIn) {
3450          createLoginPopup(popupConfig, host);
3451        }
3452      }
3453    }, 10000);
3454  } catch (error) {
3455    console.error('Error initializing popup:', error);
3456  }
3457}
3458
3459function createLoginPopup(popupConfig, host) {
3460  // Font mapping
3461  const fontFamilyMap = {
3462    system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
3463    montserrat: 'Montserrat, sans-serif',
3464    roboto: 'Roboto, sans-serif',
3465    open_sans: 'Open Sans, sans-serif',
3466    noto_sans: 'Noto Sans, sans-serif',
3467    lato: 'Lato, sans-serif',
3468    poppins: 'Poppins, sans-serif',
3469    quicksand: 'Quicksand, sans-serif',
3470    raleway: 'Raleway, sans-serif',
3471    pt_sans: 'PT Sans, sans-serif',
3472    oswald: 'Oswald, sans-serif',
3473  };
3474
3475  // Create overlay
3476  const overlay = document.createElement('div');
3477  overlay.className = 'bitlogin-popup-overlay';
3478  
3479  // Create popup container with appropriate styling
3480  const popup = document.createElement('div');
3481  popup.className = 'bitlogin-popup';
3482
3483  if (popupConfig.layout === 'default') {
3484    popup.style.maxWidth = '400px';
3485  }
3486  
3487  // Function to close the popup
3488  const closePopup = () => {
3489    overlay.classList.remove('visible');
3490    popup.classList.remove('visible');
3491    setTimeout(() => {
3492      if (document.body.contains(overlay)) {
3493        document.body.removeChild(overlay);
3494      }
3495    }, 300);
3496  };
3497  
3498  // Add click handler to the overlay to close when clicking outside
3499  overlay.addEventListener('click', (event) => {
3500    // Close only if clicking directly on the overlay, not its children
3501    if (event.target === overlay) {
3502      closePopup();
3503    }
3504  });
3505  
3506  // Add escape key handler to close popup
3507  document.addEventListener('keydown', (event) => {
3508    if (event.key === 'Escape' && document.body.contains(overlay)) {
3509      closePopup();
3510    }
3511  });
3512
3513  // Create layout with image if specified
3514  let contentWrapper;
3515  if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
3516    popup.classList.add('bitlogin-popup-with-image');
3517    
3518    if (popupConfig.layout === 'right') {
3519      popup.classList.add('bitlogin-popup-right-image');
3520    }
3521    
3522    // Add image
3523    const image = document.createElement('img');
3524    image.className = 'bitlogin-popup-image';
3525    image.src = popupConfig.popupImage;
3526    image.alt = 'Login';
3527    image.loading = 'lazy';
3528    popup.appendChild(image);
3529    
3530    // Create content container
3531    contentWrapper = document.createElement('div');
3532    contentWrapper.className = 'bitlogin-popup-content';
3533
3534    if (popupConfig.layout === 'right') {
3535      const closeButton = document.createElement('button');
3536      closeButton.className = 'bitlogin-popup-close';
3537      closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
3538        <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3539      </svg>`;
3540      closeButton.setAttribute('aria-label', 'Close');
3541      closeButton.onclick = closePopup;
3542  
3543      popup.appendChild(closeButton);
3544    }
3545  } else {
3546    contentWrapper = document.createElement('div');
3547    contentWrapper.className = 'bitlogin-popup-content';
3548    contentWrapper.style.width = '100%';
3549  }
3550
3551  // Set background style
3552  if (popupConfig.backgroundTheme === 'gradient') {
3553    contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
3554  } else {
3555    contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
3556  }
3557
3558  // Apply font family
3559  contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
3560
3561  if (popupConfig.layout !== 'right') {
3562    const closeButton = document.createElement('button');
3563    closeButton.className = 'bitlogin-popup-close';
3564    closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
3565      <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3566    </svg>`;
3567    closeButton.setAttribute('aria-label', 'Close');
3568    closeButton.onclick = closePopup;
3569  
3570    contentWrapper.appendChild(closeButton);
3571  }
3572
3573  // Add heading with subtle animation effect
3574  const header = document.createElement('div');
3575  header.className = 'bitlogin-popup-header';
3576  
3577  const heading = document.createElement('h2');
3578  heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
3578its';
3579  heading.style.color = popupConfig.fontColor;
3580  header.appendChild(heading);
3581
3582  // Add body text with improved formatting
3583  const bodyText = document.createElement('div');
3584  bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
3585  bodyText.style.color = popupConfig.fontColor;
3586  header.appendChild(bodyText);
3587  
3588  contentWrapper.appendChild(header);
3589
3590  // Create buttons container with modern styling
3591  const buttonsContainer = document.createElement('div');
3592  buttonsContainer.className = 'bitlogin-popup-buttons';
3593  
3594  // Add social buttons
3595  const providerLabels = {
3596    'GOOGLE': 'Continue with Google',
3597    'FACEBOOK': 'Continue with Facebook',
3598    'APPLE': 'Continue with Apple',
3599    'WHATSAPP': 'Continue with WhatsApp',
3600    'MAGIC_LINK': 'Continue with Email',
3601  };
3602
3603  // Add first login provider button
3604  if (popupConfig.loginProvider1 !== 'NONE') {
3605    const buttonConfig = {
3606      theme: popupConfig.colorScheme || 'match',
3607      customColor: popupConfig.textColor,
3608      format: 'contentFlex',
3609      buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
3610      hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
3611      style: popupConfig.style || 'rounded',
3612      size: popupConfig.size || 'medium',
3613      colorScheme: popupConfig.colorScheme || 'match',
3614      backgroundColor: popupConfig.backgroundColor || '#3B82F6',
3615      textColor: popupConfig.textColor || '#FFFFFF',
3616      outlineColor: popupConfig.outlineColor || '#3B82F6',
3617      host: host
3618    };
3619    
3620    const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
3621    
3622    // Handle click event - this overrides the default click handler in createSocialLoginButton
3623    button1.onclick = () => {
3624      onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
3625      closePopup();
3626    };
3627    
3628    buttonsContainer.appendChild(button1);
3629  }
3630
3631  // Add second login provider button if enabled
3632  if (popupConfig.loginProvider2 !== 'NONE') {
3633    const buttonConfig = {
3634      theme: popupConfig.colorScheme || 'match',
3635      customColor: popupConfig.textColor,
3636      format: 'contentFlex',
3637      buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
3638      hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
3639      style: popupConfig.style || 'rounded',
3640      size: popupConfig.size || 'medium',
3641      colorScheme: popupConfig.colorScheme || 'match',
3642      backgroundColor: popupConfig.backgroundColor || '#3B82F6',
3643      textColor: popupConfig.textColor || '#FFFFFF',
3644      outlineColor: popupConfig.outlineColor || '#3B82F6',
3645      host: host
3646    };
3647    
3648    const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
3649    
3650    // Handle click event - this overrides the default click handler in createSocialLoginButton
3651    button2.onclick = () => {
3652      onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
3653      closePopup();
3654    };
3655    
3656    buttonsContainer.appendChild(button2);
3657  }
3658
3659  contentWrapper.appendChild(buttonsContainer);
3660
3661  // Append content to popup
3662  popup.appendChild(contentWrapper);
3663  
3664  // Append popup to overlay
3665  overlay.appendChild(popup);
3666  
3667  // Append overlay to body
3668  document.body.appendChild(overlay);
3669  
3670  // Trigger animation with slight delay for better perceived performance
3671  setTimeout(() => {
3672    overlay.classList.add('visible');
3673    setTimeout(() => {
3674      popup.classList.add('visible');
3675    }, 50);
3676  }, 10);
3677}
3678
3679window.addEventListener("load", () => {
3680  window.addEventListener("message", (event) => {
3681    const receivedData = event.data;
3682
3683    if (receivedData.type === "authorize") {
3684      post(
3685        JSON.parse(
3686          JSON.stringify({
3687            "customer[email]": receivedData.email,
3688            "customer[password]": receivedData.password,
3689            form_type: "customer_login",
3690            utf8: "✓",
3691            return_url: redirectUrl,
3692          })
3693        )
3694      );
3695    } else if (receivedData.type === "rejected") {
3696      if (receivedData.reason === "customer_account_disabled") {
3697        showAlert(
3698          "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
3699        );
3700      } else if (receivedData.reason === "customer_entry_created_email_not_set") {
3701        showAlert(
3702          "A new account was created but requires an email address. Please update your account with a valid email address to continue."
3703        );
3704      } else if (receivedData.reason === "customer_exist_email_not_set") {
3705        showAlert(
3706          "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
3707        );
3708      }
3709    }
3710
3711    if (receivedData.type === "customer_authenticated") {
3712      // Dispatch a custom event that merchants can listen for to implement their custom logic
3713      const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
3714        detail: {
3715          provider: receivedData.provider,
3716          customer: receivedData.customer,
3717          shopifyCustomerCreated: receivedData.shopifyCustomerCreated
3718        }
3719      });
3720      
3721      // Dispatch the event on the window object so merchants can listen for it
3722      window.dispatchEvent(customerAuthEvent);
3723      
3724    }
3725  });
3726});
3727
3728// Reusable functions for social login buttons
3729function createSocialLoginButton(provider, config = {}) {
3730  const {
3731    theme = 'match',
3732    customColor = null,
3733    format = 'contentFlex',
3734    buttonText = null,
3735    hasShadow = true,
3736    style = 'rounded',
3737    size = 'medium',
3738    colorScheme = 'match',
3739    backgroundColor = '#3B82F6',
3740    textColor = '#FFFFFF',
3741    outlineColor = '#3B82F6',
3742    rootRef = null,
3743    host = null
3744  } = config;
3745  
3746  // Create button element with appropriate ID and attributes
3747  const button = document.createElement('button');
3748  button.id = `${provider.toLowerCase()}-login`;
3749  button.type = 'button';
3750  
3751  // Set the inner SVG based on provider
3752  switch (provider.toUpperCase()) {
3753    case 'GOOGLE':
3754      button.innerHTML = googleLoginIcon(theme, customColor);
3755      break;
3756    case 'FACEBOOK':
3757      button.innerHTML = facebookLoginIcon(theme, customColor);
3758      break;
3759    case 'APPLE':
3760      button.innerHTML = appleLoginIcon(theme, customColor);
3761      break;
3762    case 'WHATSAPP':
3763      button.innerHTML = whatsappLoginIcon(theme, customColor);
3764      break;
3765    case 'MICROSOFT':
3766      button.innerHTML = microsoftLoginIcon(theme, customColor);
3767      break;
3768    case 'TWITTER':
3769      button.innerHTML = twitterLoginIcon(theme, customColor);
3770      break;
3771    case 'AMAZON':
3772      button.innerHTML = amazonLoginIcon(theme, customColor);
3773      break;
3774    case 'INSTAGRAM':
3775      button.innerHTML = instagramLoginIcon(theme, customColor);
3776      break;
3777    case 'MAGIC_LINK':
3778      button.innerHTML = magicLinkLoginIcon(theme, customColor);
3779      break;
3780    case 'MOBILE_APP':
3781      button.innerHTML = mobileAppLoginIcon(theme, customColor);
3782      break;
3783    case 'LINKEDIN':
3784      button.innerHTML = linkedinLoginIcon(theme, customColor);
3785      break;
3786  }
3787  
3788  // Add text if format isn't icon-only and buttonText is provided
3789  if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
3790    button.innerHTML += `<p>${buttonText}</p>`;
3791  }
3792  
3793  // Apply styling
3794  // Shadow
3795  if (hasShadow) {
3796    const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
3797    button.style["box-shadow"] = shadowProperties;
3798  }
3799  
3800  // Border radius
3801  const radiusProperties =
3802    style === "rounded"
3803      ? "8px"
3804      : style === "square"
3805      ? "0px"
3806      : style === "fullRounded"
3807      ? format === "wrapperFlexContainerOnlyLogo"
3808        ? "50%"
3809        : "50px"
3810      : undefined;
3811  button.style["border-radius"] = radiusProperties;
3812  
3813  // Size
3814  const sizeProperties =
3815    size === "medium"
3816      ? "12px"
3817      : size === "small"
3818      ? "8px"
3819      : size === "large"
3820      ? "16px"
3821      : "8px";
3822
3823  button.style["padding-block"] = sizeProperties;
3824
3825  // Format styling
3826  if (format) {
3827    if (
3828      format === "contentFlexReverse" ||
3829      format === "contentFlexCenterReverse"
3830    ) {
3831      const flexDir = `row-reverse`;
3832      button.style["flex-direction"] = flexDir;
3833    }
3834    
3835    if (
3836      format === "contentFlexCenter" ||
3837      format === "contentFlexCenterReverse"
3838    ) {
3839      const justifyContent = `center`;
3840      button.style["justify-content"] = justifyContent;
3841    } else if (
3842      format === "contentFlex" ||
3843      format === "contentFlexReverse"
3844    ) {
3845      const buttonTextElement = button.querySelector("p");
3846      if (buttonTextElement) {
3847        buttonTextElement.style["flex-grow"] = 1;
3848        buttonTextElement.style["text-align"] = "center";
3849      }
3850    }
3851
3852    if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
3853      rootRef.style["flex-direction"] = "row";
3854      rootRef.style["gap"] = "8px";
3855      rootRef.style["display"] = "flex";
3856      rootRef.style["flex-wrap"] = "wrap";
3857
3858      const sizeMapping = {
3859        small: "52px",
3860        medium: "62px",
3861        large: "72px",
3862      };
3863      const buttonSize = sizeMapping[size] || "52px";
3864
3865      button.style["margin"] = 0;
3866      button.style["width"] = buttonSize;
3867      button.style["height"] = buttonSize;
3868      button.style["display"] = "flex";
3869      button.style["align-items"] = "center";
3870      button.style["justify-content"] = "center";
3871
3872      const svgElement = button.querySelector("svg");
3873      if (svgElement) {
3874        svgElement.style["flex"] = "none";
3875      }
3876    }
3877  }
3878
3879  // Color scheme styling
3880  if (colorScheme === "black") {
3881    button.classList.add("scheme-black");
3882  } else if (colorScheme === "white") {
3883    button.classList.add("scheme-white");
3884  } else if (colorScheme === "custom") {
3885    button.style["background-color"] = backgroundColor;
3886    button.style["color"] = textColor;
3887    button.style["border-color"] = outlineColor;
3888
3889    const darkenColor = (color, percentage) => {
3890      const value = parseInt(color.slice(1), 16);
3891      const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
3892      const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
3893      const b = Math.max(0, (value & 0xff) - (0xff * percentage));
3894      return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
3895    };
3896
3897    button.addEventListener("mouseover", () => {
3898      button.style["background-color"] = darkenColor(backgroundColor, 0.2);
3899    });
3900    button.addEventListener("mouseout", () => {
3901      button.style["background-color"] = backgroundColor;
3902    });
3903  } else if (colorScheme === "match") {
3904    button.classList.add("scheme-match");
3905  } else if (colorScheme === "matchOutline") {
3906    button.classList.add("scheme-match-outline");
3907  }
3908  
3909  // Add click event listener if host is provided
3910  if (host) {
3911    button.addEventListener("click", () => 
3912      onClickSocialLogin({ provider: provider.toLowerCase(), host })
3913    );
3914  }
3915  
3916  return button;
3917}
3918
3919function setupSocialLoginButtons(config, rootRef, data, host) {
3920  // Clear any existing content
3921  rootRef.innerHTML = '';
3922
3923  const sortedEnabledProviders = config
3924    .filter(c => c.enabledWeb)
3925    .sort((a, b) => a.position - b.position);
3926
3927  sortedEnabledProviders.forEach(provider => {
3928    const key = provider.provider;
3929    const lowerKey = key.toLowerCase();
3930
3931    const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
3932      ? (lowerKey === 'twitter'
3933          ? data.buttonList.twitter.replace('Twitter', 'X')
3934          : data.buttonList[lowerKey])
3935      : null;
3936
3937    const button = createSocialLoginButton(key, {
3938      theme: data.colorScheme || 'match',
3939      customColor: data.textColor,
3940      format: data.format,
3941      buttonText: buttonText,
3942      hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
3943      style: data.style,
3944      size: data.size,
3945      colorScheme: data.colorScheme,
3946      backgroundColor: data.backgroundColor,
3947      textColor: data.textColor,
3948      outlineColor: data.outlineColor,
3949      rootRef: rootRef,
3950      host: host
3951    });
3952
3953    rootRef.appendChild(button);
3954  });
3955
3956  return rootRef;
3957}
3958
3959function updateAppearance({ formRef, rootRef, host }) {
3960  if (!formRef) return;
3961
3962  const data = bitloginCache.appearance || {
3963    style: "square",
3964    hasShadow: false,
3965    colorScheme: "match",
3966    backgroundColor: "#FFFFFF",
3967    outlineColor: "#000000",
3968    textColor: "#000000",
3969    position: "bottom",
3970    hideDivider: "false",
3971    dividerText: "OR",
3972    size: "small",
3973    format: "contentFlex",
3974    language: "en",
3975    buttonText: "Continue with",
3976    redirectLink: "/account",
3977    googleOneTap: true,
3978    googleOneTapBanner: true,
3979    customerTag: "bitLogin",
3980    redirectOneTapDesktop: null,
3981    redirectOneTapMobile: null,
3982    buttonList: {
3983      google: "Continue with Google",
3984      facebook: "Continue with Facebook",
3985      apple: "Continue with Apple",
3986      whatsapp: "Continue with WhatsApp",
3987      microsoft: "Continue with Microsoft",
3988      twitter: "Continue with X",
3989      amazon: "Continue with Amazon",
3990      instagram: "Continue with Instagram",
3991      magic_link: "Continue with Magic Link",
3992      mobile_app: "Continue with Mobile App",
3993      linkedin: "Continue with LinkedIn",
3994    },
3995  };
3996
3997  // Use the new setupSocialLoginButtons function to create and configure all buttons
3998  setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
3999
4000  let divider;
4001
4002  if (!data.hideDivider) {
4003    divider = document.createElement("div");
4004    const dividerStyle = "text-align:center;margin-block:16px";
4005    divider.setAttribute("style", dividerStyle);
4006    divider.innerHTML = data.dividerText;
4007  }
4008
4009  if (data.position === "bottom") {
4010    if (divider) {
4011      formRef.appendChild(divider);
4012    }
4013    formRef.appendChild(rootRef);
4014  } else if (data.position === "top") {
4015    if (divider) {
4016      formRef.prepend(divider);
4017    }
4018    formRef.prepend(rootRef);
4019  }
4020}
4021
4022
4023async function onClickSocialLogin({ provider, host }) {
4024  const rand = Math.random().toString();
4025
4026  const locationQueryString = bitloginCache.location
4027    ? `&${objectToQueryString(bitloginCache.location)}`
4028    : "";
4029
4030  const width = 800;
4031  const height = 600;
4032  const left = (window.screen.width / 2) - (width / 2);
4033  const top = (window.screen.height / 2) - (height / 2) - 50;
4034
4035  if(provider === 'whatsapp') {
4036    window.open(
4037      `/apps/bitloyalty/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
4038      "mywindow",
4039      `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
4040    );
4041  } else {
4042    window.open(
4043      `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
4044      "mywindow",
4045      `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
4046    );
4047  }
4048}
4049
4050function objectToQueryString(obj) {
4051  return Object.keys(obj)
4052    .map((key) => {
4053      return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
4054    })
4055    .join("&");
4056}
4057
4058async function getLocation() {
4059  if (locationCacheSet) return;
4060
4061  try {
4062    const response = await fetch("https://ipapi.co/json/");
4063
4064    if (!response.ok) {
4065      console.error(`error retrieving location...`, response.status);
4066      errorLocation = true;
4067    } else {
4068      const data = await response.json();
4069
4070      const { city, region, country_name, country_code } = data;
4071
4072      const formattedLocationData = {
4073        city,
4074        region,
4075        country_name,
4076        country_code,
4077      };
4078
4079      bitloginCache.location = formattedLocationData;
4080      locationCacheSet = true;
4081      errorLocation = false;
4082    }
4083  } catch (err) {
4084    console.error(`error fetching location`, err);
4085    errorLocation = true;
4086  }
4087}
4088
4089function post(params) {
4090  // The rest of this code assumes you are not using a library.
4091  // It can be made less verbose if you use one.
4092  const form = document.createElement("form");
4093  form.method = "post";
4094  form.action = `/account/login`;
4095  form.acceptCharset = "UTF-8";
4096  form.setAttribute("data-login-with-shop-sign-in", "true");
4097  form.setAttribute("novalidate", "novalidate");
4098
4099  for (const key in params) {
4100    if (params.hasOwnProperty(key)) {
4101      const hiddenField = document.createElement("input");
4102      hiddenField.type = "hidden";
4103      hiddenField.name = key;
4104      hiddenField.value = params[key];
4105
4106      form.appendChild(hiddenField);
4107    }
4108  }
4109
4110  document.body.appendChild(form);
4111  form.submit();
4112}
4113
4114async function setupOneTap({ host, checkoutUrl }) {
4115  if (oneTapSet) return;
4116
4117  const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
4118  const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
4119
4120  const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
4121  const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
4122
4123  const currentPath = window.location.pathname.toLowerCase();
4124  const currentUrl = window.location.href.toLowerCase();
4125
4126  const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
4127    switch (value) {
4128      case 'home':
4129        return currentPath === '/';
4130      case 'product':
4131        return currentPath.startsWith('/products/');
4132      case 'collections':
4133        return currentPath.startsWith('/collections');
4134      case 'cart':
4135        return currentPath === '/cart';
4136      case 'checkout':
4137        return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
4138      case 'thank_you':
4139        return currentPath.includes('/thank_you');
4140      case 'account':
4141        return currentPath.startsWith('/account');
4142      case 'pages':
4143        return currentPath.startsWith('/pages');
4144      case 'blogs':
4145        return currentPath === '/blogs' || currentPath === '/blogs/news';
4146      case 'blog_post':
4147        return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
4148      default:
4149        return false;
4150    }
4151  });
4152
4153  if (shouldHideGoogleOneTap) return;
4154
4155  const oneTapClientId = bitloginCache.config.find(
4156    (config) => config.provider === "GOOGLE"
4157  )?.clientId;
4158
4159  const isLoggedIn = false;
4160
4161  if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
4162    const googleOneTapButton = document.createElement("div");
4163    googleOneTapButton.setAttribute("id", "g_id_onload");
4164    googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
4165    googleOneTapButton.setAttribute("data-context", "signin");
4166    googleOneTapButton.setAttribute(
4167      "data-callback",
4168      "handleGoogleOneTapResponse"
4169    );
4170    googleOneTapButton.setAttribute("data-itp_support", "true");
4171
4172    const googleOneTapScript = document.createElement("script");
4173
4174    googleOneTapScript.innerHTML += `
4175          function handleGoogleOneTapResponse(response) {
4176              if (response.credential) {
4177                  const idToken = response.credential;
4178                  fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
4179                      method: 'POST',
4180                      headers: { 'Content-Type': 'application/json' },
4181                      body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
4182                  }).then(response => {
4183                      response.json().then((data) => {
4184                        post(
4185                          JSON.parse(
4186                            JSON.stringify({
4187                              "customer[email]": data.email,
4188                              "customer[password]": data.password,
4189                              form_type: "customer_login",
4190                              utf8: "✓",
4191                              return_url: redirectUrl,
4192                            })
4193                          )
4194                        );
4195                      });  
4196                  }).catch(error => {
4197                      console.error('Error occurred:', error);
4198                  });
4199              } else {
4200                  console.error('No credential available');
4201              }
4202          }
4203       `;
4204
4205    document.body.append(googleOneTapButton);
4206    document.body.append(googleOneTapScript);
4207  }
4208
4209  oneTapSet = true;
4210}
4211
4212const googleLoginIcon = (
4213  theme,
4214  customColor
4215) => `
4216${
4217  theme === "match" || theme === "matchOutline" || theme === "custom"
4218    ? `<svg
4219    xmlns='http://www.w3.org/2000/svg'
4220    xmlns:v='https://vecta.io/nano'
4221    width='24'
4222    height='24'
4223    viewBox='0 0 186.69 190.5'
4224  >
4225    <g transform="translate(1184.583 765.171)"><path clip-path="none" mask="none" d="M-1089.333-687.239v36.888h51.262c-2.251 11.863-9.006 21.908-19.137 28.662l30.913 23.986c18.011-16.625 28.402-41.044 28.402-70.052 0-6.754-.606-13.249-1.732-19.483z" fill="${
4226      theme === "custom" ? customColor : "#4285f4"
4227    }"/><path clip-path="none" mask="none" d="M-1142.714-651.791l-6.972 5.337-24.679 19.223h0c15.673 31.086 47.796 52.561 85.03 52.561 25.717 0 47.278-8.486 63.038-23.033l-30.913-23.986c-8.486 5.715-19.31 9.179-32.125 9.179-24.765 0-45.806-16.712-53.34-39.226z" fill="${
4228        theme === "custom" ? customColor : "#34a853"
4229      }"/><path clip-path="none" mask="none" d="M-1174.365-712.61c-6.494 12.815-10.217 27.276-10.217 42.689s3.723 29.874 10.217 42.689c0 .086 31.693-24.592 31.693-24.592-1.905-5.715-3.031-11.776-3.031-18.098s1.126-12.383 3.031-18.098z" fill="${
4230        theme === "custom" ? customColor : "#fbbc05"
4231      }"/><path d="M-1089.333-727.244c14.028 0 26.497 4.849 36.455 14.201l27.276-27.276c-16.539-15.413-38.013-24.852-63.731-24.852-37.234 0-69.359 21.388-85.032 52.561l31.692 24.592c7.533-22.514 28.575-39.226 53.34-39.226z" fill="${
4232        theme === "custom" ? customColor : "#ea4335"
4233      }" clip-path="none" mask="none"/></g>
4234  </svg>`
4235    : `<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25" fill="none">
4236<path d="M24.1906 12.7758C24.1906 11.96 24.1244 11.1399 23.9833 10.3374H12.6646V14.9584H19.1463C18.8773 16.4488 18.0131 17.7672 16.7476 18.6049V21.6032H20.6146C22.8854 19.5132 24.1906 16.4267 24.1906 12.7758Z" fill="${
4237        theme !== "black" ? "black" : "white"
4238      }"/>
4239<path d="M12.6647 24.5001C15.9011 24.5001 18.6305 23.4374 20.619 21.6031L16.7521 18.6048C15.6762 19.3368 14.2873 19.7513 12.6691 19.7513C9.53845 19.7513 6.88403 17.6391 5.93161 14.7996H1.94116V17.8904C3.97828 21.9428 8.12746 24.5001 12.6647 24.5001Z" fill="${
4240        theme !== "black" ? "black" : "white"
4241      }"/>
4242<path d="M5.92709 14.7995C5.42442 13.3091 5.42442 11.6953 5.92709 10.205V7.11401H1.94105C0.23905 10.5048 0.23905 14.4996 1.94105 17.8903L5.92709 14.7995Z" fill="${
4243        theme !== "black" ? "black" : "white"
4244      }"/>
4245<path d="M12.6647 5.24893C14.3755 5.22248 16.029 5.86623 17.268 7.04794L20.694 3.62188C18.5247 1.58477 15.6454 0.464802 12.6647 0.500076C8.12745 0.500076 3.97828 3.05749 1.94116 7.11408L5.9272 10.205C6.8752 7.36099 9.53403 5.24893 12.6647 5.24893Z" fill="${
4246        theme !== "black" ? "black" : "white"
4247      }"/>
4248</svg>`
4249}`;
4250
4251const appleLoginIcon = (
4252  theme,
4253  customColor
4254) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="http://www.w3.org/2000/svg">
4255<path d="M15.4146 22.08C14.263 23.2897 12.9925 23.1013 11.7815 22.5307C10.494 21.9489 9.31698 21.9121 7.95724 22.5307C6.26395 23.322 5.36524 23.092 4.34544 22.08C-1.4122 15.663 -0.562362 5.88801 5.98138 5.52001C7.56844 5.61201 8.6796 6.46991 9.61442 6.54121C11.0039 6.23531 12.3339 5.35901 13.8211 5.47401C15.6078 5.63041 16.9443 6.39401 17.8366 7.76711C14.161 10.1591 15.0321 15.4031 18.4082 16.8751C17.7324 18.7956 16.8656 20.6931 15.4125 22.0961L15.4146 22.08ZM9.48695 5.45101C9.31486 2.59901 11.4501 0.25301 13.9061 0.0230103C14.2439 3.31201 11.1441 5.77301 9.48695 5.45101Z" fill="${
4256  theme === "custom"
4257    ? customColor
4258    : theme === "match" || theme === "black"
4259    ? "white"
4260    : "black"
4261}"/>
4262</svg>`;
4263
4264const facebookLoginIcon = (
4265  theme,
4266  customColor
4267) => `
4268${
4269  theme === "match" || theme === "matchOutline" || theme === "custom"
4270    ? `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="25" viewBox="0 0 24 25" fill="none">
4271    <path fill-rule="evenodd" clip-rule="evenodd" d="M24 12.5C24 5.8731 18.6268 0.5 12 0.5C5.3731 0.5 0 5.8731 0 12.5C0 18.489 4.38762 23.4537 10.1252 24.355V15.9696H7.07748V12.5H10.1252V9.85562C10.1252 6.84842 11.9173 5.18622 14.6579 5.18622C15.9707 5.18622 17.3443 5.42077 17.3443 5.42077V8.37398H15.8307C14.3406 8.37398 13.8748 9.29875 13.8748 10.2488V12.4999H17.2025L16.671 15.9695H13.8747V24.3548C19.6123 23.4553 23.9998 18.4907 23.9998 12.4999L24 12.5Z" fill="${
4272      theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3"
4273    }"/>
4274    <path fill-rule="evenodd" clip-rule="evenodd" d="M16.5934 16.2833L17.1251 12.8137H13.7973V10.5626C13.7973 9.61422 14.2614 8.68778 15.7532 8.68778H17.2669V5.73457C17.2669 5.73457 15.8933 5.5 14.5804 5.5C11.8399 5.5 10.0477 7.16057 10.0477 10.1694V12.8138H7V16.2834H10.0477V24.6688C10.6586 24.7648 11.2846 24.8138 11.9225 24.8138C12.5604 24.8138 13.1865 24.7631 13.7973 24.6688V16.2834H16.5936L16.5934 16.2833Z" fill="${
4275      theme === "match" ? "#1778f2" : "transparent"
4276    }"/>
4277    </svg>`
4278    : `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="25" viewB
4278ox="0 0 24 25" fill="none">
4279<path fill-rule="evenodd" clip-rule="evenodd" d="M24 12.5C24 5.8731 18.6268 0.5 12 0.5C5.3731 0.5 0 5.8731 0 12.5C0 18.489 4.38762 23.4537 10.1252 24.355V15.9696H7.07748V12.5H10.1252V9.85562C10.1252 6.84842 11.9173 5.18622 14.6579 5.18622C15.9707 5.18622 17.3443 5.42077 17.3443 5.42077V8.37398H15.8307C14.3406 8.37398 13.8748 9.29875 13.8748 10.2488V12.4999H17.2025L16.671 15.9695H13.8747V24.3548C19.6123 23.4553 23.9998 18.4907 23.9998 12.4999L24 12.5Z" fill="${
4280        theme === "black" ? "white" : "black"
4281      }"/>
4282<path fill-rule="evenodd" clip-rule="evenodd" d="M16.5934 16.2833L17.1251 12.8137H13.7973V10.5626C13.7973 9.61422 14.2614 8.68778 15.7532 8.68778H17.2669V5.73457C17.2669 5.73457 15.8933 5.5 14.5804 5.5C11.8399 5.5 10.0477 7.16057 10.0477 10.1694V12.8138H7V16.2834H10.0477V24.6688C10.6586 24.7648 11.2846 24.8138 11.9225 24.8138C12.5604 24.8138 13.1865 24.7631 13.7973 24.6688V16.2834H16.5936L16.5934 16.2833Z" fill="${
4283        theme === "black" ? "black" : "white"
4284      }"/>
4285</svg>`
4286}`;
4287
4288const whatsappLoginIcon = (
4289  theme,
4290  customColor
4291) => `<svg
4292  viewBox="0 0 24 24"
4293  fill="none"
4294  width="24"
4295  height="25"
4296  xmlns="http://www.w3.org/2000/svg"
4297>
4298  <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
4299  <g
4300    id="SVGRepo_tracerCarrier"
4301    stroke-linecap="round"
4302    stroke-linejoin="round"
4303  ></g>
4304  <g id="SVGRepo_iconCarrier">
4305    <path
4306      fill-rule="evenodd"
4307      clip-rule="evenodd"
4308      d="M3.50002 12C3.50002 7.30558 7.3056 3.5 12 3.5C16.6944 3.5 20.5 7.30558 20.5 12C20.5 16.6944 16.6944 20.5 12 20.5C10.3278 20.5 8.77127 20.0182 7.45798 19.1861C7.21357 19.0313 6.91408 18.9899 6.63684 19.0726L3.75769 19.9319L4.84173 17.3953C4.96986 17.0955 4.94379 16.7521 4.77187 16.4751C3.9657 15.176 3.50002 13.6439 3.50002 12ZM12 1.5C6.20103 1.5 1.50002 6.20101 1.50002 12C1.50002 13.8381 1.97316 15.5683 2.80465 17.0727L1.08047 21.107C0.928048 21.4637 0.99561 21.8763 1.25382 22.1657C1.51203 22.4552 1.91432 22.5692 2.28599 22.4582L6.78541 21.1155C8.32245 21.9965 10.1037 22.5 12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5ZM14.2925 14.1824L12.9783 15.1081C12.3628 14.7575 11.6823 14.2681 10.9997 13.5855C10.2901 12.8759 9.76402 12.1433 9.37612 11.4713L10.2113 10.7624C10.5697 10.4582 10.6678 9.94533 10.447 9.53028L9.38284 7.53028C9.23954 7.26097 8.98116 7.0718 8.68115 7.01654C8.38113 6.96129 8.07231 7.046 7.84247 7.24659L7.52696 7.52195C6.76823 8.18414 6.3195 9.2723 6.69141 10.3741C7.07698 11.5163 7.89983 13.314 9.58552 14.9997C11.3991 16.8133 13.2413 17.5275 14.3186 17.8049C15.1866 18.0283 16.008 17.7288 16.5868 17.2572L17.1783 16.7752C17.4313 16.5691 17.5678 16.2524 17.544 15.9269C17.5201 15.6014 17.3389 15.308 17.0585 15.1409L15.3802 14.1409C15.0412 13.939 14.6152 13.9552 14.2925 14.1824Z"
4309      fill="${
4310        theme === "match" || theme === "black"
4311          ? "#ffffff"
4312          : theme === "white"
4313          ? "#000000"
4314          : theme === "matchOutline"
4315          ? "#25d366"
4316          : customColor
4317      }"
4318    ></path>
4319  </g>
4320</svg>`;
4321
4322const microsoftLoginIcon = (
4323  theme,
4324  customColor
4325) => `<svg
4326xmlns="http://www.w3.org/2000/svg"
4327width="25"
4328height="25"
4329viewBox="0 0 48 48">
4330<path fill="${
4331  theme === "match" || theme == "matchOutline"
4332    ? "#ff5722"
4333    : theme === "black"
4334    ? "#ffffff"
4335    : theme === "white"
4336    ? "#000000"
4337    : customColor
4338}" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
4339<path
4340  fill="${
4341    theme === "match" || theme == "matchOutline"
4342      ? "#4caf50"
4343      : theme === "black"
4344      ? "#ffffff"
4345      : theme === "white"
4346      ? "#000000"
4347      : customColor
4348  }"
4349  d="M26 6H42V22H26z"
4350  transform="rotate(-180 34 14)"></path>
4351<path
4352  fill="${
4353    theme === "match" || theme == "matchOutline"
4354      ? "#ffc107"
4355      : theme === "black"
4356      ? "#ffffff"
4357      : theme === "white"
4358      ? "#000000"
4359      : customColor
4360  }"
4361  d="M26 26H42V42H26z"
4362  transform="rotate(-180 34 34)"></path>
4363<path fill="${
4364  theme === "match" || theme == "matchOutline"
4365    ? "#03a9f4"
4366    : theme === "black"
4367    ? "#ffffff"
4368    : theme === "white"
4369    ? "#000000"
4370    : customColor
4371}" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
4372</svg>`;
4373
4374const twitterLoginIcon = (
4375  theme,
4376  customColor
4377) => `<svg
4378xmlns="http://www.w3.org/2000/svg"
4379width="25"
4380height="25"
4381viewBox="0 0 48 48">
4382<polygon fill="${
4383  theme === "match" || theme === "black"
4384    ? "#ffffff"
4385    : theme === "matchOutline" || theme === "white"
4386    ? "#000000"
4387    : customColor
4388}" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
4389<polygon
4390  fill="${
4391    theme === "match" || theme === "black"
4392      ? "#000000"
4393      : theme === "matchOutline" || theme === "white"
4394      ? "#ffffff"
4395      : customColor
4396  }"
4397  fill-rule="evenodd"
4398  points="31.143,41 7.82,7 16.777,7 40.1,41"
4399  clip-rule="evenodd"></polygon>
4400<path
4401  fill="${
4402    theme === "match" || theme === "black"
4403      ? "#ffffff"
4404      : theme === "matchOutline" || theme === "white"
4405      ? "#000000"
4406      : customColor
4407  }"
4408  d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
4409</svg>`;
4410
4411const amazonLoginIcon = (theme, customColor) => `
4412 <svg
4413      xmlns="http://www.w3.org/2000/svg"
4414      x="0px"
4415      y="0px"
4416      width="25"
4417      height="25"
4418      viewBox="0 0 50 50"
4419    >
4420      <path
4421        fill="${
4422          theme === "black"
4423            ? "#ffffff"
4424            : theme === "matchOutline"
4425            ? "#FF9900"
4426            : theme === "white" || theme === "match"
4427            ? "#000000"
4428            : customColor
4429        }"
4430        d="M 25.3125 3 C 19.210938 3 12.492188 5.3125 11.09375 12.8125 C 10.894531 13.613281 11.5 13.992188 12 14.09375 L 18.1875 14.6875 C 18.789063 14.6875 19.207031 14.101563 19.40625 13.5 C 19.90625 10.898438 22.101563 9.59375 24.5 9.59375 C 25.800781 9.59375 27.292969 10.113281 28.09375 11.3125 C 28.992188 12.613281 28.8125 14.40625 28.8125 15.90625 L 28.8125 16.8125 C 25.113281 17.210938 20.3125 17.5 16.8125 19 C 12.8125 20.699219 10 24.207031 10 29.40625 C 10 36.007813 14.199219 39.3125 19.5 39.3125 C 24 39.3125 26.5 38.195313 30 34.59375 C 31.199219 36.292969 31.585938 37.105469 33.6875 38.90625 C 34.1875 39.207031 34.789063 39.085938 35.1875 38.6875 L 35.1875 38.8125 C 36.488281 37.710938 38.792969 35.601563 40.09375 34.5 C 40.59375 34.199219 40.492188 33.5 40.09375 33 C 38.894531 31.398438 37.6875 30.09375 37.6875 27.09375 L 37.6875 17.1875 C 37.6875 12.988281 38.007813 9.085938 34.90625 6.1875 C 32.40625 3.789063 28.414063 3 25.3125 3 Z M 27 22 L 28.6875 22 L 28.6875 23.40625 C 28.6875 25.804688 28.792969 27.894531 27.59375 30.09375 C 26.59375 31.894531 24.988281 33 23.1875 33 C 20.789063 33 19.3125 31.207031 19.3125 28.40625 C 19.3125 23.707031 23 22.300781 27 22 Z M 44.59375 36.59375 C 42.992188 36.59375 41.085938 37 39.6875 38 C 39.289063 38.300781 39.3125 38.6875 39.8125 38.6875 C 41.414063 38.488281 44.988281 38.007813 45.6875 38.90625 C 46.289063 39.707031 45.007813 43.085938 44.40625 44.6875 C 44.207031 45.1875 44.601563 45.300781 45 45 C 47.699219 42.699219 48.40625 38.007813 47.90625 37.40625 C 47.605469 36.90625 46.195313 36.59375 44.59375 36.59375 Z M 2.1875 37.5 C 1.886719 37.5 1.695313 38.011719 2.09375 38.3125 C 8.09375 43.710938 16.007813 47 24.90625 47 C 31.207031 47 38.492188 45.011719 43.59375 41.3125 C 44.394531 40.710938 43.707031 39.695313 42.90625 40.09375 C 37.207031 42.492188 31.101563 43.6875 25.5 43.6875 C 17.199219 43.6875 9.1875 41.386719 2.6875 37.6875 C 2.488281 37.488281 2.289063 37.5 2.1875 37.5 Z"
4431      ></path>
4432    </svg>`;
4433
4434const instagramLoginIcon= (theme, customColor) => `
4435    <svg
4436      width="25"
4437      height="25"
4438      viewBox="0 0 25 24"
4439      fill="none"
4440      xmlns="http://www.w3.org/2000/svg">
4441      <path
4442        fill-rule="evenodd"
4443        clip-rule="evenodd"
4444        d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.
444464321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z"
4445        fill="url(#paint0_radial_378_3535)" />
4446      <path
4447        fill-rule="evenodd"
4448        clip-rule="evenodd"
4449        d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.64321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z"
4450        fill="url(#paint0_radial_378_3535)" />
4451      <path
4452        fill-rule="evenodd"
4453        clip-rule="evenodd"
4454        d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.
445464321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z"
4455        fill="url(#paint0_radial_378_3535)" />
4456      <path
4457        fill-rule="evenodd"
4458        clip-rule="evenodd"
4459        d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.64321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z"
4460        fill="url(#paint1_radial_378_3535)" />
4461      <defs>
4462        <radialGradient
4463          id="paint0_radial_378_3535"
4464          cx="0"
4465          cy="0"
4466          r="1"
4467          gradientUnits="userSpaceOnUse"
4468          gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
4469          <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
4470          <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
4471          <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
4472          <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
4473          <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
4474        </radialGradient>
4475        <radialGradient
4476          id="paint1_radial_378_3535"
4477          cx="0"
4478          cy="0"
4479          r="1"
4480          gradientUnits="userSpaceOnUse"
4481          gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
4482          <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
4483          <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
4484          <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
4485          <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
4486        </radialGradient>
4487      </defs>
4488    </svg>`;
4489
4490const magicLinkLoginIcon = (theme, customColor) => `
4491  <svg
4492    xmlns="http://www.w3.org/2000/svg"
4493    width="25"
4494    height="25"
4495    fill="none"
4496    viewBox="0 0 25 25"
4497  >
4498    <path
4499      fill="${
4500        theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
4501      }"
4502      fillRule="evenodd"
4503      d="M10.975 14.51a1.05 1.05 0 000-1.485 2.95 2.95 0 010-4.172l3.536-3.535a2.95 2.95 0 114.172 4.172l-1.093 1.092a1.05 1.05 0 001.485 1.485l1.093-1.092a5.05 5.05 0 00-7.142-7.142L9.49 7.368a5.05 5.05 0 000 7.142c.41.41 1.075.41 1.485 0zm2.05-5.02a1.05 1.05 0 000 1.485 2.95 2.95 0 010 4.172l-3.5 3.5a2.95 2.95 0 11-4.171-4.172l1.025-1.025a1.05 1.05 0 00-1.485-1.485L3.87 12.99a5.05 5.05 0 007.142 7.142l3.5-3.5a5.05 5.05 0 000-7.142 1.05 1.05 0 00-1.485 0z"
4504      clipRule="evenodd"
4505    ></path>
4506  </svg>`;
4507
4508const mobileAppLoginIcon = (theme, customColor) => `
4509  <svg
4510    width="20"
4511    height="24"
4512    viewBox="0 0 12 16"
4513    fill="none"
4514    xmlns="http://www.w3.org/2000/svg"
4515  >
4516    <path
4517      d="M9.75 0.5H2.25C1.42275 0.5 0.75 1.17275 0.75 2V14C0.75 14.8273 1.42275 15.5 2.25 15.5H9.75C10.5773 15.5 11.25 14.8273 11.25 14V2C11.25 1.17275 10.5773 0.5 9.75 0.5ZM2.25 11.7493V2.75H9.75L9.7515 11.7493H2.25Z"
4518      fill=${
4519        theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
4520      }
4521    />
4522  </svg>
4523`;
4524
4525const linkedinLoginIcon = (theme, customColor) => `
4526  <svg
4527    xmlns="http://www.w3.org/2000/svg"
4528    width="25"
4529    height="24"
4530    viewBox="0 0 25 24"
4531    fill="none"
4532  >
4533    <path
4534      d="M19.0714 0C19.8304 0 20.5 0.669643 20.5 1.47321V18.5714C20.5 19.375 19.8304 20 19.0714 20H1.88393C1.125 20 0.5 19.375 0.5 18.5714V1.47321C0.5 0.669643 1.125 0 1.88393 0H19.0714ZM6.52679 17.1429V7.63393H3.58036V17.1429H6.52679ZM5.05357 6.29464C5.99107 6.29464 6.75 5.53571 6.75 4.59821C6.75 3.66071 5.99107 2.85714 5.05357 2.85714C4.07143 2.85714 3.3125 3.66071 3.3125 4.59821C3.3125 5.53571 4.07143 6.29464 5.05357 6.29464ZM17.6429 17.1429V11.9196C17.6429 9.375 17.0625 7.36607 14.0714 7.36607C12.6429 7.36607 11.6607 8.16964 11.2589 8.92857H11.2143V7.63393H8.40179V17.1429H11.3482V12.4554C11.3482 11.2054 11.5714 10 13.1339 10C14.6518 10 14.6518 11.4286 14.6518 12.5V17.1429H17.6429Z"
4535      fill=${
4536        theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
4537      }
4538    />
4539  </svg>
4540`;
4541
4542function isElementVisible(element) {
4543  return (
4544    document.body.contains(element) &&
4545    getComputedStyle(element).display !== "none" &&
4546    getComputedStyle(element).visibility !== "hidden" &&
4547    getComputedStyle(element).opacity !== "0" &&
4548    !element.hasAttribute("hidden") &&
4549    !isAncestorHidden(element)
4550  );
4551}
4552
4553function isAncestorHidden(element) {
4554  let parent = element.parentElement;
4555  while (parent) {
4556    if (
4557      getComputedStyle(parent).display === "none" ||
4558      getComputedStyle(parent).visibility === "hidden" ||
4559      getComputedStyle(parent).opacity === "0" ||
4560      parent.hasAttribute("hidden")
4561    ) {
4562      return true;
4563    }
4564    parent = parent.parentElement;
4565  }
4566  return false;
4567}
4568
4569function showAlert(message) {
4570  const alertBox = document.createElement("div");
4571  alertBox.textContent = message;
4572  alertBox.style.position = "fixed";
4573  alertBox.style.top = "20px";
4574  alertBox.style.right = "-300px"; // Start off-screen
4575  alertBox.style.backgroundColor = "#000000"; // Black background
4576  alertBox.style.color = "#ffffff"; // White text
4577  alertBox.style.padding = "15px";
4578  alertBox.style.borderRadius = "8px";
4579  alertBox.style.zIndex = "1000";
4580  alertBox.style.transition =
4581    "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading
4582  alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth
4583
4584  document.body.appendChild(alertBox);
4585
4586  // Slide in
4587  requestAnimationFrame(() => {
4588    alertBox.style.right = "20px"; // Move into view
4589    alertBox.style.opacity = "1"; // Ensure opacity is set to 1
4590  });
4591
4592  // Slide out and remove the alert after a few seconds
4593  setTimeout(() => {
4594    alertBox.style.opacity = "0"; // Fade out
4595    alertBox.style.right = "-300px"; // Move out of view
4596
4597    // Wait for the transition to finish before removing the element
4598    setTimeout(() => {
4599      document.body.removeChild(alertBox);
4600    }, 500); // Match this duration with the exit transition duration
4601  }, 3000);
4602}
4603</script>
4603
4604
4605
4606</div><div id="shopify-block-AY3pVa3ZJR0E3aHF6e__10436698916776057164" class="shopify-block shopify-app-block">
4606<script id="subscription-helper">
4607
4608        if (!window.AppstleIncluded) {
4609          window.AppstleIncluded = true;
4610          window.RS = Window.RS || {};
4611          
4612            RS.Config = {
4613                "selectors": {
4614                    "payment_button_selectors": "form[action$='/cart/add'] .shopify-payment-button",
4615                    "subscriptionLinkSelector": "#MainContent .customer.account > div:nth-child(2) > div:nth-child(2) > h2",
4616                    "atcButtonPlacement": "BEFORE",
4617                    "subscriptionLinkPlacement": "BEFORE",
4618                    "cartRowSelector": "tr.cart-item",
4619                    "cartLineItemSelector": ".cart-item__name.h4.break",
4620                    "cartLineItemPerQuantityPriceSelector": "",
4621                    "cartLineItemTotalPriceSelector": "",
4622                    "cartLineItemSellingPlanNameSelector": "",
4623                    "cartSubTotalSelector" : "p.totals__total-value",
4624                    "cartLineItemPriceSelector": "",
4625                    "cartLineItemPlacement": "BEFORE",
4626                    "cartHiddenAttributesSelector": "",
4627                    "buildABoxDiscountSelector": "",
4628                },
4629                "baseUrl": "https://subscription-admin.appstle.com",
4630                "usedTranslation": "true",
4631                "enableCartWidgetFeature": "false",
4632                "storefrontAnalyticsForwardingEnabled": false,
4633                "appstleStorefrontAnalyticsPath": "https://subscription-admin.appstle.com/assets/js/appstle-storefront-analytics.min.js?shop=c820c3-2.myshopify.com&v=1784182483761",
4634                "useUrlWithCustomerId": "true",
4635                "atcButtonSelector": "div.product-form__buttons",
4636                "moneyFormat": "${{amount}}",
4637                "oneTimePurchaseText": "One Time Purchase",
4638                "minimumQuantityMessage": "",
4639                "tapToSelectText": "",
4640                "bundleDiscountTextV2": "",
4641                "productPageUnitPriceSelectorV2": "",
4642                "monthsFrequencyTextV2": "Months",
4643                "monthlyLabelTextV2": "Monthly",
4644                "monthFrequencyTextV2": "Month",
4645                "weeksFrequencyTextV2": "Weeks",
4646                "weeklyLabelTextV2": "Weekly",
4647                "weekFrequencyTextV2": "Week",
4648                "daysFrequencyTextV2": "Days",
4649                "dayFrequencyTextV2": "day",
4650                "yearsFrequencyTextV2": "Years",
4651                "yearlyLabelTextV2": "Yearly",
4652                "yearFrequencyTextV2": "Year",
4653                "offFrequencyTextV2": "Off",
4654                "prepayLabelTextV2": "Prepay",
4655                "prepaidLabelTextV2": "Prepaid",
4656                "prepaidSaveBadgeTextV2": "SAVE {{selectedDiscountPercentage}}",
4657                "onetimeDescriptionTextV2": "",
4658                "atcButtonTextV2": "",
4659                "oneTimeFrequencyTextV2": "One Time",
4660                "cancelAnytimeLabelTextV2": "Cancel Anytime",
4661                "noSubscriptionLabelTextV2": "No Subscription",
4662                "addToShipmentButtonTextV2": "Add to Shipment",
4663                "addToShipmentProcessingV2": "Processing...",
4664                "addToShipmentSuccessTextV2": "Success",
4665                "addToShipmentErrorTextV2": "Error",
4666                "addToShipmentTooltipTextV2": "Please avoid double delivery charges! Login to add this product to an upcoming delivery.",
4667                "frequencyCombinedWidgetTextV2": "Frequency",
4668                "selectDeliverOptionV2": "select deliver option",
4669                "subscribeAndSaveSuccessV2": "Subscribe success",
4670                "unsubscribeFrequencyTextV2": "unsubscribe",
4671                "deliveryEveryFrequencyTextV2": "Delivery Every",
4672                "sellingPlanTitleTextNonPrepaid": "{{sellingPlanName}}",
4673                "subscribeAndSaveInitalV2": "Subscribe & save",
4674                "subscriptionDescriptionTextV2": "",
4675                "atcButtonTextSelector": "",
4676                "disableCartWidgetOnVariants": "",
4677                "shop": "c820c3-2.myshopify.com",
4678                "deliveryText": "delivery",
4679                "purchaseOptionsText": "Purchase Options",
4680                "manageSubscriptionButtonText": "",
4681                "subscriptionOptionText": "Subscribe and save",
4682                "sellingPlanSelectTitle": "DELIVERY FREQUENCY",
4683                "subscriptionPriceDisplayText": "",
4684                "tooltipTitle": "Subscription detail",
4685                "showTooltipOnClick": "false",
4686                "tooltipDesctiption": `<strong>Have complete control of your subscriptions<\/strong><br\/><br\/>Skip, reschedule, edit, or cancel deliveries anytime, based on your needs.`,
4687                "tooltipDescriptionOnPrepaidPlan": "<b>Prepaid Plan Details<\/b><\/br> Total price: {{totalPrice}} ( Price for every delivery: {{pricePerDelivery}})",
4688                "tooltipDescriptionOnMultipleDiscount": "<b>Discount Details<\/b><\/br> Initial discount is {{discountOne}} and then {{discountTwo}}",
4689                "manualTranslation": "false",
4690                "tooltipDescriptionCustomization": "{{{defaultTooltipDescription}}} <\/br>  {{{prepaidDetails}}} <\/br> {{{discountDetails}}}",
4691                "orderStatusManageSubscriptionTitle": "Subscription",
4692                "orderStatusManageSubscriptionDescription": "Continue to your account to view and manage your subscriptions. Please use the same email address that you used to buy the subscription.",
4693                "orderStatusManageSubscriptionButtonText": "Manage your subscription",
4694                "subscriptionOptionSelectedByDefault" : false,
4695                "totalPricePerDeliveryText" : "{{prepaidPerDeliveryPrice}}\/delivery",
4696                "memberOnlySellingPlansJson": {},
4697                "nonMemberOnlySellingPlansJson": {},
4698                "sellingPlansJson": [{"frequencyCount":1,"frequencyInterval":"MONTH","billingFrequencyCount":1,"billingFrequencyInterval":"MONTH","frequencyName":"Monthly","frequencyDescription":"Monthly Subscription","afterCycle1":0,"afterCycle2":0,"discountEnabled":false,"discountEnabled2":false,"discountEnabledMasked":false,"discountEnabled2Masked":false,"id":"gid://shopify/SellingPlan/5550309683","frequencyType":"ON_PURCHASE_DAY","specificDayEnabled":false,"cutOff":0,"prepaidFlag":"false","idNew":"gid://shopify/SellingPlan/5550309683","planType":"PAY_AS_YOU_GO","deliveryPolicyPreAnchorBehavior":"ASAP","freeTrialEnabled":false,"memberOnly":false,"nonMemberOnly":false,"formFieldJson":"[]","frequencySequence":0,"groupName":"Quibble (Monthly)","groupId":2283241779,"inventoryPolicyReserve":"ON_SALE","appstleCycles":[]},{"frequencyCount":1,"frequencyInterval":"YEAR","billingFrequencyCount":1,"billingFrequencyInterval":"YEAR","frequencyName":"Yearly","frequencyDescription":"Customer will be billed once every year and receive access to Quibble services for that year.","discountOffer":59.99,"afterCycle1":0,"discountType":"PRICE","discountEnabled":true,"discountEnabledMasked":true,"id":"gid://shopify/SellingPlan/5550506291","frequencyType":"ON_PURCHASE_DAY","specificDayEnabled":false,"cutOff":0,"prepaidFlag":"false","idNew":"gid://shopify/SellingPlan/5550506291","planType":"PAY_AS_YOU_GO","deliveryPolicyPreAnchorBehavior":"ASAP","freeTrialEnabled":false,"memberOnly":false,"nonMemberOnly":false,"formFieldJson":"[]","frequencySequence":0,"groupName":"Quibble (Yearly)","groupId":2283438387,"inventoryPolicyReserve":"ON_SALE","appstleCycles":[]},{"frequencyCount":1,"frequencyInterval":"MONTH","billingFrequencyCount":1,"billingFrequencyInterval":"MONTH","frequencyName":"Monthly","frequencyDescription":"Monthly Subscription","afterCycle1":0,"afterCycle2":0,"discountEnabled":false,"discountEnabled2":false,"discountEnabledMasked":false,"discountEnabled2Masked":false,"id":"gid://shopify/SellingPlan/5550801203","frequencyType":"ON_PURCHASE_DAY","specificDayEnabled":false,"cutOff":0,"prepaidFlag":"false","idNew":"gid://shopify/SellingPlan/5550801203","planType":"PAY_AS_YOU_GO","deliveryPolicyPreAnchorBehavior":"ASAP","freeTrialEnabled":false,"memberOnly":false,"nonMemberOnly":false,"formFieldJson":"[]","frequencySequence":0,"groupName":"Quibble Basic (Monthly)","groupId":2283733299,"inventoryPolicyReserve":"ON_SALE","appstleCycles":[]},{"frequencyCount":1,"frequencyInterval":"YEAR","billingFrequencyCount":1,"billingFrequencyInterval":"YEAR","frequencyName":"Yearly","frequencyDescription":"Customer will be billed once every year and receive access to Quibble services for that year.","discountOffer":39.99,"afterCycle1":0,"discountType":"PRICE","discountEnabled":true,"discountEnabledMasked":true,"id":"gid://shopify/SellingPlan/5550833971","frequencyType":"ON_PURCHASE_DAY","specificDayEnabled":false,"cutOff":0,"prepaidFlag":"false","idNew":"gid://shopify/SellingPlan/5550833971","planType":"PAY_AS_YOU_GO","deliveryPolicyPreAnchorBehavior":"ASAP","freeTrialEnabled":false,"memberOnly":false,"nonMemberOnly":false,"formFieldJson":"[]","frequencySequence":0,"groupName":"Quibble Basic (Yearly)","groupId":2283766067,"inventoryPolicyReserve":"ON_SALE","appstleCycles":[]},{"frequencyCount":1,"frequencyInterval":"MONTH","billingFrequencyCount":1,"billingFrequencyInterval":"MONTH","frequencyName":"Monthly","frequencyDescription":"Monthly Subscription","afterCycle1":0,"afterCycle2":0,"discountEnabled":false,"discountEnabled2":false,"discountEnabledMasked":false,"discountEnabled2Masked":false,"id":"gid://shopify/SellingPlan/5550866739","frequencyType":"ON_PURCHASE_DAY","specificDayEnabled":false,"cutOff":0,"prepaidFlag":"false","idNew":"gid://shopify/SellingPlan/5550866739","planType":"PAY_AS_YOU_GO","deliveryPolicyPreAnchorBehavior":"ASAP","freeTrialEnabled":false,"memberOnly":false,"nonMemberOnly":false,"formFieldJson":"[]","frequencySequence":0,"groupName":"Quibble Pro (Monthly)","groupId":2283798835,"inventoryPolicyReserve":"ON_SALE","appstleCycles":[]},{"frequencyCount":1,"frequencyInterval":"YEAR","billingFrequencyCount":1,"billingFrequencyInterval":"YEAR","frequencyName":"Yearly","frequencyDescription":"Customer will be billed once every year and receive access to Quibble services for that year.","discountOffer":199.99,"afterCycle1":0,"discountType":"PRICE","discountEnabled":true,"discountEnabledMasked":true,"id":"gid://shopify/SellingPlan/5550899507","frequencyType":"ON_PURCHASE_DAY","specificDayEnabled":false,"cutOff":0,"prepaidFlag":"false","idNew":"gid://shopify/SellingPlan/5550899507","planType":"PAY_AS_YOU_GO","deliveryPolicyPreAnchorBehavior":"ASAP","freeTrialEnabled":false,"memberOnly":false,"nonMemberOnly":false,"formFieldJson":"[]","frequencySequence":0,"groupName":"Quibble Pro (Yearly)","groupId":2283831603,"inventoryPolicyReserve":"ON_SALE","appstleCycles":[]}],
4699                "widgetEnabled": true,
4700                "showFreeGiftPrice" : true,
4701                "showFreeGiftComparePrice" : true,
4702                "enableFreeGiftLayout" : false,
4703                "freeGiftLabelText": "+ Free {{productName}}",
4704                "freeGiftBadgeText": "",
4705                "showTooltip" : true,
4706                "showCartWidgetOnBundleItems" : false,
4707                "prepaidOptionSelectedByDefault" : false,
4708                "disablePassingSellingPlanAsLineProperties" : false,
4709                "updateThemePrice" : false,
4710                "sortByDefaultSequence": false,
4711                "showSubOptionBeforeOneTime": false,
4712                "detectVariantFromURLParams": false,
4713                "disableQueryParamsUpdate": false,
4714                "showStaticTooltip": false,
4715                "showAppstleLink": true,
4716                "sellingPlanTitleText" : "{{sellingPlanName}} ({{sellingPlanPrice}}\/delivery)",
4717                "oneTimePriceText" : "{{price}}",
4718                "selectedPayAsYouGoSellingPlanPriceText" : "{{price}}",
4719                "selectedPrepaidSellingPlanPriceText" : " {{totalPrice}}",
4720                "selectedDiscountFormat" : "SAVE {{selectedDiscountPercentage}}",
4721                "manageSubscriptionBtnFormat" : "<a href='apps\/subscriptions' class='appstle_manageSubBtn' ><button class='btn' style='padding: 2px 20px'>Manage Subscription<\/button>
4721<a><br><br>",
4722                "manageSubscriptionUrl" : "https:\/\/getquibble.com\/apps\/subscriptions",
4723                "appstlePlanId": 162,
4724                "showCheckoutSubscriptionBtn": true,
4725                "priceSelector": "",
4726                "reloadPriceSelector": "",
4727                "landingPagePriceSelector": "",
4728                "quickViewClickSelector": "",
4729                "badgeTop": "",
4730                "pricePlacement": "BEFORE",
4731                "disableLoadingJquery": false,
4732                "widgetEnabledOnSoldVariant": "false",
4733                "switchRadioButtonWidget": true,
4734                "appstlePlanName": "STARTER",
4735                "appstlePlanFeatures": {"analytics": true, "webhookAccess": false, "accessBundling": false, "enableAutoSync": false, "enableBundling": true, "enableSmsAlert": false, "accessBuildABox": false, "enableCampaigns": false, "enablePriceSync": false, "enableAutomation": false, "enableCartWidget": false, "accessAppstleMenu": false, "accessResendEmail": false, "enableAddressSync": false, "enableExternalApi": false, "enablePhasedRetry": false, "enableIntegrations": true, "enableQuickActions": false, "accessQuickCheckout": false, "accessSplitContract": false, "enableSummaryReports": true, "enableCustomEmailHtml": false, "enableWidgetPlacement": false, "enableCancellationFlow": false, "enableShippingProfiles": true, "accessZapierIntegration": false, "enableCustomEmailDomain": false, "enableDunningManagement": true, "enableExportActivityLog": false, "subscriptionOrderAmount": 5000, "accessGorgiasIntegration": true, "accessKlaviyoContactSync": false, "enableOrderConsolidation": false, "accessMechanicIntegration": true, "accessWidgetDesignOptions": false, "enableImmediatePlaceOrder": true, "enableInventoryManagement": true, "accessMechanicsIntegration": true, "enableAdvancedSellingPlans": false, "accessOneTimeProductUpsells": false, "enableBillingIntervalChange": true, "enableProductSwapAutomation": false, "accessShopifyFlowIntegration": false, "enableCancellationManagement": true, "enableCustomerPortalSettings": true, "enableSubscriptionManagement": true, "accessKlaviyoEmailIntegration": false, "enableAdminNotificationAccess": true, "accessSubscriptionActivityLogs": true, "enableBackupPaymentMethodRetry": false, "accessSubscriberLoyaltyFeatures": true, "enableAddToExistingSubscription": false, "enableContractPriceModification": true, "enableTrackInventoryInSingleBAB": false, "accessManualSubscriptionCreation": true, "enableNextBillingDateModification": true, "accessCustomerPortalProductUpsells": false, "enableServerSideConversionTracking": false, "accessDiscountOnCancellationAttempt": false, "enableStorefrontAnalyticsForwarding": false, "accessAdvanceSubscriptionPlanOptions": false, "accessAdvancedCustomerPortalSettings": false},
4736                "formMappingAttributeName": "",
4737                "formMappingAttributeSelector": "",
4738                "quickViewModalPollingSelector": "",
4739                "scriptLoadDelay": "0",
4740                "formatMoneyOverride": "false",
4741                "enableAddToExistingSubscriptionFeature": "false",
4742                "displayAddToExistingSubscriptionButtonForNotLoggedInV2": "",
4743                "showAddToSubscriptionButtonOnlyOnSubscriptionProducts": "false",
4744                "appstle_app_proxy_path_prefix": "apps\/subscriptions",
4745                "updatePriceOnQuantityChange": "",
4746                "widgetParentSelector": "",
4747                "quantitySelector": "",
4748                "enableAddJSInterceptor": "false",
4749                "isDevEnabled": false,
4750                "forceReloadWidgetSelector": "",
4751                "forceReloadOnFreqChange": false,
4752                "showPrepaidPlanSeparately": false,
4753                "debugLogsEnabled": false,
4754                "isUseStorefrontAPI": false,
4755                "reBuyEnabled": "false",
4756                "loyaltyDetailsLabelText": "",
4757                "loyaltyPerkDescriptionTextV2": "{{#isDiscountTypeFreeProduct}}<div style='display: flex;'><div style='height: 60px; width: 60px; flex-shrink: 0; margin-right: 10px;'><img style='width: 100%' src={{{featured_image}}}><\/img><\/div><div>After {{{billingCycleBlock}}} orders,<span style='color: #ffc000;font-weight: 700;';> get a FREE {{freeProductName}} <\/span><\/div><div>{{\/isDiscountTypeFreeProduct}}{{#isDiscountTypePercentage}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>
4757get <span style='color: #ffc000;font-weight: 700;';>{{{discount}}}% OFF your entire order<\/span><\/span>.{{\/isDiscountTypePercentage}}{{#isDiscountTypeShipping}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>get <span style='color: #ffc000;font-weight: 700;';>shipping at {{{formatDiscountedPrice}}}<\/span><\/span>.{{\/isDiscountTypeShipping}}{{#isDiscountTypeFixed}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>get <span style='color: #ffc000;font-weight: 700;';>{{{formatDiscountedPrice}}} OFF your entire order<\/span><\/span>.{{\/isDiscountTypeFixed}}",
4758                "widgetType": "WIDGET_TYPE_1",
4759                "collectionWidgetType": "LEGACY",
4760                "enableCompactProductPageWidget": false,
4761                "enableCartDrawerWidget": false,
4762                "cartDrawerWidgetStyle": false,
4763                "cartDrawerWidgetInlineStyle": "",
4764                "cartDrawerWidgetPanelStyle": "",
4765                "cartDrawerWidgetSegmentedStyle": "",
4766                "showOneTimeComparePrice": false,
4767                "showCompareAtPriceForSubscription": false,
4768                "showCombinedSellingPlanCartWidget": false,
4769                "combinedCartWidgetSelector": "",
4770                "removeUnsubscribeOption": false,
4771                "widgetTemplateHtml": `{% raw %}{% endraw %}`,
4772                
4773                  "allWidgetTemplateHtml": "{\"WIDGET_TYPE_1\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_6\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n  <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n      <div class=\\\"widgetSellingPlanWrapper\\\">\\n{{^requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n        <div class=\\\"appstle_input_wrapper appstle_onetime_block\\\">\\n          <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n          <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n<div class=\\\"appstle-selling-plan-name-wrapper\\\">\\n            {{oneTimePuchaseText}}\\n<div class=\\\"appstle-cancel-text\\\">{{{noSubscriptionLabelTextV2}}}</div>\\n</div>\\n      <div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<div class=\\\"appstle_span_wrapper\\\">\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n  {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n\\n<span  class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}</span></div>\\n</div>\\n          </label>\\n          \\n        </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n        {{#sellingPlanVariants}}\\n           <div class=\\\"appstle_input_wrapper\\\">\\n    \\n             <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n{{^prepaidFlag}}\\n             <label for=\\\"{{sellingPlanId}}\\\">\\n<div class=\\\"appstle-selling-plan-name-wrapper appstle-selling-plan-label-name\\\">\\n                {{{name}}}\\n<div class=\\\"appstle-cancel-text\\\">{{{cancelAnytimeLabelTextV2}}}</div>\\n</div>\\n<div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<div class=\\\"appstle_span_wrapper\\\">\\n       <span class=\\\"appstle_lowercase appstle_sellingPlan_formattedCompareAtPrice appstle_price_block\\\">{{{formattedCompareAtPrice}}}</span>\\n        <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}</span>
4773\\n\\n\\n</div>   \\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_formattext_block\\\"></span>\\n{{#showPricePerDay}}<div class=\\\"appstle-perday-price\\\">{{{pricePerDay}}}</div>{{/showPricePerDay}}\\n<div class=\\\"appstle-frequency-description\\\">\\n{{{frequencyDescription}}}    \\n</div>\\n     </div>\\n </label>\\n{{#showFormattedDiscountText}}\\n  <span class=\\\"appstle_sellingPlan_discountText\\\">{{{formattedDiscountText}}}</span>\\n{{/showFormattedDiscountText}}\\n<div class=\\\"appstle-sm-hide  appstle-frequency-description\\\">{{{frequencyDescription}}} </div>     \\n{{/prepaidFlag}}\\n{{#prepaidFlag}}\\n<label for=\\\"{{sellingPlanId}}\\\">\\n<div class=\\\"appstle-selling-plan-name-wrapper appstle-selling-plan-label-name\\\">\\n                {{{name}}}\\n<div class=\\\"appstle-cancel-text\\\">{{{cancelAnytimeLabelTextV2}}}</div>\\n</div>\\n<div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<div class=\\\"appstle_span_wrapper\\\">\\n       <span class=\\\"appstle_lowercase appstle_sellingPlan_formattedCompareAtPrice appstle_price_block\\\">{{{formattedCompareAtPrice}}}</span>\\n        <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n\\n</div>  \\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block appstle_formattedPrepaidPerDeliveryPriceText\\\">{{{formattedPrepaidPerDeliveryPriceText}}}</span>\\n       {{#showPricePerDay}}<div class=\\\"appstle-perday-price\\\">{{{pricePerDay}}}</div>{{/showPricePerDay}}\\n<div class=\\\"\\\">\\n<div class=\\\"appstle-frequency-description\\\">\\n{{{frequencyDescription}}}    \\n</div>\\n</div>\\n</div>\\n</label>\\n{{#showFormattedDiscountText}}\\n  <span class=\\\"appstle_sellingPlan_discountText\\\">{{{formattedDiscountText}}}</span>\\n{{/showFormattedDiscountText}}\\n<div class=\\\"appstle-sm-hide  appstle-frequency-description\\\">{{{frequencyDescription}}} </div>     \\n\\n{{/prepaidFlag}}\\n      \\n           </div>\\n        {{/sellingPlanVariants}}\\n{{^requires_selling_plan}}\\n{{#showSubOptionBeforeOneTime}}\\n        <div class=\\\"appstle_input_wrapper appstle_onetime_block\\\">\\n          <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n          <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n<div  class=\\\"appstle-selling-plan-name-wrapper\\\">\\n            {{oneTimePuchaseText}}\\n<div class=\\\"appstle-cancel-text\\\">{{{noSubscriptionLabelTextV2}}}</div>\\n</div>\\n<div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<span  class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">{{{oneTimePuchaseComparePriceAmount}}}</span>\\n      <span  class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}</span>\\n\\n</div>\\n          </label>\\n          \\n        </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n    </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\"> {{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n<div class=\\\"appstle-tootltip-parent\\\">\\n    <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n    <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n    <path\\n      d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n    ></path>\\n    </svg>\\n    <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n  </div>\\n<div class=\\\"appstle_tooltip\\\">\\n    <div class=\\\"appstle_tooltip_content\\\">\\n      {{{toolTipDescription}}}\\n    </div>\\n    {{#showAppstleLink}}\\n    <div class=\\\"appstle_tooltip_appstle\\\">\\n      <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n      POWERED BY APPSTLE      </a>\\n    </div>\\n    {{/showAppstleLink}}\\n    </div>\\n</div>\\n{{/showTooltip}}\\n<style>\\n.widgetSellingPlanWrapper {\\n    display: grid;\\n    grid-template-columns: repeat(2, minmax(0, 1fr));\\n    gap: 1.5rem;\\n    grid-auto-rows: 1fr;\\n    margin-bottom: 6px;\\nmargin-top: 10px;\\n}\\n\\n.widgetSellingPlanWrapper input {\\n    display: none;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n    border-radius: 10px;\\n    border: 1px solid rgba(var(--color-foreground));\\n    padding: 0.5rem;\\n    display: flex;\\n    justify-content: center;
4773\\n    align-items: center;\\n    display: block;\\n    height: 100%;\\n    width: 100%;\\n    text-align: center;\\ncursor: pointer;\\n}\\n\\n.widgetSellingPlanWrapper input:checked+label {\\n    background-color: rgba(var(--color-foreground)) !important;\\ncolor: rgba(var(--color-background)) !important;\\n}\\n.appstle_lowercase {\\n    text-transform: lowercase;\\n}\\n\\n\\n.appstle_input_wrapper {\\n    position: relative;\\n}\\n\\nspan.appstle_sellingPlan_discountText {\\n    position: absolute;\\n    background: rgba(var(--color-foreground));\\n    color: rgba(var(--color-background));\\n    border-radius: 3px;\\n    padding: 1px 18px;\\n    left: 50%;\\n    display: block;\\n    transform: translate(-50%, -50%);\\n    white-space: nowrap;\\n}\\n\\nspan.appstle_sellingPlan_discountText:empty {\\n    display: none !important;\\n}\\ndiv.appstle_span_wrapper{\\n\\tdisplay: flex;\\n\\tjustify-content: center;\\n}\\n</style>\\n<style>\\n.widgetSellingPlanWrapper {\\n    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;\\n   gap: 0.8rem !important;\\n}\\n\\n.appstle_sub_widget {\\n    max-width: 100%!important;\\n} \\n\\n.widgetSellingPlanWrapper label {\\n    height: auto !important;\\n    border: none !important;\\n    padding: 14px 5px !important;\\n    display: flex !important;\\n    justify-content: center !important;\\n    align-items: center !important;\\n    flex-direction: column;\\n    max-width: 100% !important;\\n    width: unset !important;\\nline-height: 20px;\\n}\\n\\n.appstle_how_does_it_work {\\n    line-height: 16px !important;\\n    margin: 6px 0px;\\n    color: rgba(var(--color-background));\\n}\\n@media screen and (max-width: 800px) {\\n    .appstle_how_does_it_work {\\n        text-align: right;\\n    }\\n}\\n\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_formattext_block {\\ntext-align: right !important;\\n    display: block;\\n}\\n\\n.appstle_span_wrapper {\\n    align-items: baseline;\\n}\\n\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_discount_block.appstle_formattedPrepaidPerDeliveryPriceText {\\n    display: block;\\n    text-align: right;\\n}\\n\\n.appstle_input_wrapper {\\n    display: flex;\\n    height: 100% !important;\\nflex-direction: column;\\n}\\n\\n.appstle_sub_widget input[type=radio]+label:before {\\n    content: \\\"\\\";\\n    position: absolute;\\n    inset: 0;\\n    border-radius: 12px;\\n    padding: 2px;\\n    background: #121212;\\n    -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);\\n    -webkit-mask-composite: xor;\\n    mask-composite: exclude;\\n    pointer-events: none;\\n    z-index: 0;\\n    transition: all 0.2s;\\n}\\n\\n.appstle_sub_widget input[type=radio]:checked+label:before {\\n    content: \\\"\\\";\\n    position: absolute;\\n    inset: 0;\\n    border-radius: 12px;\\n //   padding: 4px;\\n// background: linear-gradient(to right,#Fef58f,#7A3900);\\n//background: #E53D29;\\n  border: 2px transparent;\\n    -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);\\n    -webkit-mask-composite: xor;\\n    mask-composite: exclude;\\n    pointer-events: none;\\n    z-index: 0;\\n}\\n\\nspan.appstle_sellingPlan_discountText {\\n    background: rgba(var(--color-foreground));\\n    border-radius: 100px !important;\\n    padding: 0px 8px !important;\\n    height: 20px;\\n    display: flex !important;\\n    justify-content: center;\\n    align-items: center;\\n    letter-spacing: 1px;\\nz-index: 2;\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_onetime_amount_compare {\\ntext-decoration: line-through;\\n}\\n\\n\\nspan.appstle-popular {\\n    position: absolute;\\n    top: -40px;\\n    background: black;\\n    color: rgba(var(--color-background));\\n    z-index: -3;\\n    border-radius: 10px;\\n    padding: 0px 10px 29px 10px;\\nleft: 0;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n    border-radius: 14px;\\n}\\n\\n.widgetSellingPlanWrapper input:checked+label {\\n    overflow: hidden;\\n}\\n\\n\\n.appstle-perday-price {\\ndisplay: none;\\n}\\n\\n    .widgetSellingPlanWrapper {\\n    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n    flex-direction: row;\\n    justify-content: space-between !important;
4773\\n    align-items: flex-start !important;\\nwidth: 100% !important;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n    text-align: left;\\n    padding: 16px !important;\\nflex-basis: unset;\\n}\\n\\n.appstle_span_wrapper {\\n    justify-content: flex-end !important;\\n}\\n\\n.appstle-perday-price {\\n    text-align: right;\\n}\\n\\n.widgetSellingPlanWrapper {\\n    gap: 15px !important;\\n}\\n\\nspan.appstle-popular {\\n    width: calc(100% - 20px);\\n    text-align: center;\\n    letter-spacing: 2px;\\n    top: -30px;\\nleft: 0;\\n}\\n\\nspan.appstle_sellingPlan_discountText {    \\nleft: unset !important;\\n    right: 15px;\\n    transform: translate(0, -50%) !important;\\n}\\n.appstle-cancel-text {\\n    text-align: left;\\n}\\n\\n.appstle_input_wrapper label {\\n    text-align: left !important;\\n}\\n\\n.widgetSellingPlanWrapper input:checked+label {\\n    width: 100% !important;\\n    margin: 0 !important;\\n}\\n.appstle_input_wrapper {\\n    width: 100% !important;\\nflex-direction: row;\\n}\\n.widgetSellingPlanWrapper input:checked+label+span {\\n    background: rgba(var(--color-background)) !important;\\n    color:rgba(var(--color-foreground)) !important;\\n    border: 2px solid rgba(var(--color-foreground));\\n}\\n.appstle_onetime_block .appstle_span_wrapper {\\n    grid-column: 2;\\n}\\n.appstle-frequency-description {\\n  text-align: right !important;\\n}\\n\\n\\n.appstle-sm-hide {\\n  display: none;\\n}\\n\\n@media screen and (min-width: 800px) {\\n.appstle-lg-show {\\n  display: block;\\n}\\n.appstle-lg-hide {\\n  display: none;\\n}\\n\\n}\\n\\nspan.appstle_lowercase.appstle_sellingPlan_formattedCompareAtPrice.appstle_price_block {\\n    text-decoration: line-through;\\n    display: block;\\n    margin-right: 3px;\\n    color: rgba(var(--color-foreground));\\n}\\n.widgetSellingPlanWrapper input:checked+label .appstle_sellingPlan_formattedCompareAtPrice {\\ncolor:rgba(var(--color-background));\\n} \\n\\n.appstle_span_wrapper > * {\\nflex-shrink: 0\\n}\\n.appstle-selling-plan-detail-wrapper{\\ncolor: rgba(var(--color-foreground));\\n}\\n.widgetSellingPlanWrapper input:checked+label .appstle-selling-plan-detail-wrapper{\\ncolor: rgba(var(--color-background)) !important;\\n}\\n\\n</style>\\n</div>{% endraw %}\",\"WIDGET_TYPE_7\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_8\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_2\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_3\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n  <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n      <div class=\\\"widgetSellingPlanWrapper appstle_subscription_wrapper\\\">\\n{{#showSubOptionBeforeOneTime}}\\n        {{#sellingPlanVariants}}\\n           <div class=\\\"appstle_input_wrapper appstle_subscription_option\\\">\\n             <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n             {{^prepaidFlag}}\\n             <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n                 {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n        <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}</span>\\n{{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\">&nbsp;({{{secondFormattedDiscountText}}})</span> {{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n</div>\\n    \\n             </label>\\n        {{/prepaidFlag}}\\n        {{#prepaidFlag}}\\n             <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n               {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n        <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n {{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\">&nbsp;({{{secondFormattedDiscountText}}})</span>{{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n {{#formattedPrepaidPerDeliveryPriceText}}<span class=\\\"appstle_formattedPrepaidPerDeliveryPriceText\\\">&nbsp;({{{formattedPrepaidPerDeliveryPriceText}}})</span>{{/formattedPrepaidPerDeliveryPriceText}}\\n        </div>\\n    \\n             </label>\\n        {{/prepaidFlag}}\\n      \\n           </div>\\n        {{/sellingPlanVariants}}\\n{{/showSubOptionBeforeOneTime}}\\n       {{^requires_selling_plan}}\\n        <div class=\\\"appstle_input_wrapper appstle_onetime\\\">
4773\\n          <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"{{sellingPlanId}}\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n          <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" class=\\\"appstle_widget_three\\\">\\n            {{oneTimePuchaseText}}\\n      <span  class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n  {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n{{{oneTimePuchaseAmount}}}</span>\\n          </label>\\n          \\n        </div>\\n        {{/requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n        {{#sellingPlanVariants}}\\n           <div class=\\\"appstle_input_wrapper appstle_subscription_option\\\">\\n             <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n             {{^prepaidFlag}}\\n             <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n                 {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n        <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}</span>\\n{{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\">&nbsp;({{{secondFormattedDiscountText}}})</span> {{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n</div>\\n    \\n             </label>\\n        {{/prepaidFlag}}\\n        {{#prepaidFlag}}\\n             <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n               {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n        <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n {{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\">&nbsp;({{{secondFormattedDiscountText}}})</span>{{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n {{#formattedPrepaidPerDeliveryPriceText}}<span class=\\\"appstle_formattedPrepaidPerDeliveryPriceText\\\">&nbsp;({{{formattedPrepaidPerDeliveryPriceText}}})</span>{{/formattedPrepaidPerDeliveryPriceText}}\\n        </div>\\n    \\n             </label>\\n        {{/prepaidFlag}}\\n      \\n           </div>\\n        {{/sellingPlanVariants}}\\n{{/showSubOptionBeforeOneTime}}\\n    </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\">{{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n    <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n    <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n    <path\\n      d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n    ></path>\\n    </svg>\\n    <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n  </div>\\n<div class=\\\"appstle_tooltip appstle_tooltip_hover\\\">\\n    <div class=\\\"appstle_tooltip_content\\\">\\n      {{{toolTipDescription}}}\\n    </div>\\n   {{#showAppstleLink}}\\n    <div class=\\\"appstle_tooltip_appstle\\\">\\n      <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n      POWERED BY APPSTLE\\n      </a>\\n    </div>\\n{{/showAppstleLink}}\\n    </div>\\n{{/showTooltip}}\\n<style>.widgetSellingPlanWrapper {\\n    display: grid;\\n    grid-template-columns: repeat(2, minmax(0, 1fr));\\n    gap: 0.5rem;\\n    grid-auto-rows: 1fr;\\n    margin-bottom: 6px;\\n}\\n.widgetSellingPlanWrapper input {\\n    display: none;\\n}\\n.widgetSellingPlanWrapper label {\\n    border-radius: 8px;\\n    border: 1px solid rgba(var(--color-foreground));\\n    padding: 0.5rem;\\n    display: flex;\\n    justify-content: center;
4773\\n    align-items: center;\\n    display: block;\\n    height: 100%;\\n    width: 100%;\\n    text-align: center;\\ncursor: pointer;\\ncolor: rgba(var(--color-foreground));\\n}\\n.widgetSellingPlanWrapper input:checked+label {\\n    background-color: rgba(var(--color-foreground));\\n    color: rgba(var(--color-background));\\n    border: 1px solid rgba(var(--color-background)) !important;\\n}\\n.appstle_lowercase {\\n    text-transform: lowercase;\\n}\\n.appstle_input_wrapper {\\n    position: relative;\\n}\\nspan.appstle_sellingPlan_discountText {\\n    position: absolute;\\n    background-color: color: rgba(var(--color-foreground));\\n    color: rgba(var(--color-background));\\n    border-radius: 3px;\\n    padding: 1px 18px;\\n    left: 50%;\\n    display: block;\\n    transform: translate(-50%, -50%);\\n    white-space: nowrap;\\n}\\nspan.appstle_sellingPlan_discountText:empty {\\n    display: none !important;\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price {\\n    color: rgba(var(--color-foreground));\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_onetime_amount_compare {\\n    color: rgba(var(--color-foreground));\\n    text-decoration: line-through;\\n    padding: 0 3px;\\n}\\n#appstle_subscription_widget0 .appstle_tooltip_wrapper {\\n   margin-top: 8px;\\n    margin-bottom: 16px;\\n}\\n.appstle_subscription_wrapper {\\n    border: none !important;\\n}\\nlabel.appstle_widget_three {\\n    display: flex;\\n    flex-direction: column;\\n}\\n.widgetSellingPlanWrapper input:checked+label span {\\n   color: rgba(var(--color-background)) !important;\\n}\\n.appstle_sub_widget .appstle_subscription_wrapper{\\n    border-radius:unset !important;\\n}\\nspan.appstle_second_price_block:empty {\\n  display: none !important;\\n}\\n</style>\\n</div>{% endraw %}\",\"WIDGET_TYPE_4\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n  <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n      <div class=\\\"widgetSellingPlanWrapper\\\">\\n{{^requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n        <div class=\\\"appstle_input_wrapper\\\">\\n          <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n          <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n            {{oneTimePuchaseText}}\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n  {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n      <span  class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}/{{{oneTimeFrequencyText}}}</span>\\n          </label>\\n        </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n        {{#sellingPlanVariants}}\\n           <div class=\\\"appstle_input_wrapper\\\">\\n      <span class=\\\"appstle_sellingPlan_discountText\\\">{{{formattedDiscountText}}}</span>\\n             <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n{{^prepaidFlag}}\\n             <label for=\\\"{{sellingPlanId}}\\\">\\n                {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n        <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}<span>\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_formattext_block\\\">/{{{sellingPlanFrequencyText}}}{{#isFrequencySubsequent}}{{/isFrequencySubsequent}}</span>\\n</div>\\n </label>\\n{{/prepaidFlag}}\\n{{#prepaidFlag}}\\n<label for=\\\"{{sellingPlanId}}\\\">\\n                {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n        <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block appstle_formattedPrepaidPerDeliveryPriceText\\\">&nbsp;{{{formattedPrepaidPerDeliveryPriceText}}}</span>\\n</div>\\n</label>\\n{{/prepaidFlag}}\\n           </div>\\n        {{/sellingPlanVariants}}\\n{{^requires_selling_plan}}\\n{{#showSubOptionBeforeOneTime}}\\n        <div class=\\\"appstle_input_wrapper\\\">
4773\\n          <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n          <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n            {{oneTimePuchaseText}}\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n  {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n      <span  class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}/{{{oneTimeFrequencyText}}}</span>\\n          </label>\\n        </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n    </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\"> {{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n    <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n    <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n    <path\\n      d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n    ></path>\\n    </svg>\\n    <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n  </div>\\n    <div class=\\\"appstle_tooltip\\\">\\n    <div class=\\\"appstle_tooltip_content\\\">\\n      {{{toolTipDescription}}}\\n    </div>\\n{{#showAppstleLink}}\\n    <div class=\\\"appstle_tooltip_appstle\\\">\\n      <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n      POWERED BY APPSTLE\\n      </a>\\n    </div>\\n{{/showAppstleLink}}\\n    </div>\\n{{/showTooltip}}\\n<style>\\n.widgetSellingPlanWrapper {\\n    display: grid;\\n    grid-template-columns: repeat(2, minmax(0, 1fr));\\n    gap: 16px;\\n    grid-auto-rows: 1fr;\\n    margin-bottom: 6px;\\nmargin-top: 10px\\n}\\n.widgetSellingPlanWrapper input {\\n    display: none;\\n}\\n.widgetSellingPlanWrapper label {\\n    border-radius: 10px;\\n    border: 1px solid rgba(var(--color-foreground, 0, 0, 0));\\n    padding: 0.5rem;\\n    display: flex !important;\\n    flex-direction: column;\\n    justify-content: center;
4773\\n    align-items: center;\\n    display: block;\\n    height: 100%;\\n    width: 100%;\\n    text-align: center;\\ncursor: pointer;\\n}\\n.widgetSellingPlanWrapper input:checked+label {\\n    background-color: rgba(var(--color-foreground, 0, 0, 0));\\n}\\n.appstle_lowercase {\\n    text-transform: lowercase;\\n}\\n.appstle_input_wrapper {\\n    position: relative;\\n}\\nspan.appstle_sellingPlan_discountText {\\n    position: absolute;\\n    font-size: 1.2rem;\\n    background-color: rgba(var(--color-foreground, 0, 0, 0));\\n    color: rgba(var(--color-background, 255, 255, 255));\\n    border-radius: 3px;\\n    border: 2px solid rgba(var(--color-background, 255, 255, 255));\\n    padding: 1px 18px;\\n    left: 50%;\\n    display: block;\\n    transform: translate(-50%, -50%);\\n    white-space: nowrap;\\n}\\nspan.appstle_sellingPlan_discountText:empty {\\n    display: none !important;\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_onetime_amount_compare {\\ntext-decoration: line-through;\\n}\\n.appstle_tooltip_wrapper {\\n    margin-bottom:10px;\\n}\\n.widgetSellingPlanWrapper input:checked+label {\\n    background-color: rgba(var(--color-foreground, 0, 0, 0));\\n    color: rgba(var(--color-background, 255, 255, 255));\\n    border: 2px solid rgba(var(--color-background, 255, 255, 255)) !important;\\n}\\n</style>\\n</div>{% endraw %}\",\"WIDGET_TYPE_5\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n    <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n        <div class=\\\"widgetSellingPlanWrapper\\\">\\n{{^showSubOptionBeforeOneTime}}\\n{{^requires_selling_plan}}\\n          <div class=\\\"appstle_input_wrapper\\\">\\n            <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}/>\\n            <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n              {{{oneTimePuchaseText}}}\\n            </label>\\n            \\n          </div>\\n{{/requires_selling_plan}}\\n{{/showSubOptionBeforeOneTime}}\\n          {{#sellingPlanVariants}}\\n             <div class=\\\"appstle_input_wrapper\\\">\\n               <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\"  {{#isChecked}}checked{{/isChecked}} />\\n               <label for=\\\"{{sellingPlanId}}\\\">\\n                  {{{name}}}\\n               </label>\\n        \\n             </div>\\n          {{/sellingPlanVariants}}\\n{{#showSubOptionBeforeOneTime}}\\n{{^requires_selling_plan}}\\n          <div class=\\\"appstle_input_wrapper\\\">\\n            <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}/>\\n            <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n              {{{oneTimePuchaseText}}}\\n            </label>\\n            \\n          </div>\\n{{/requires_selling_plan}}\\n{{/showSubOptionBeforeOneTime}}\\n      </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\">{{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n    <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n    <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n    <path\\n      d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8
4773635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n    ></path>\\n    </svg>\\n    <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n  </div>\\n<div class=\\\"appstle_tooltip appstle_tooltip_hover\\\">\\n    <div class=\\\"appstle_tooltip_content\\\">\\n      {{{toolTipDescription}}}\\n    </div>\\n  {{#showAppstleLink}}\\n    <div class=\\\"appstle_tooltip_appstle\\\">\\n      <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n      POWERED BY APPSTLE\\n      </a>\\n    </div>\\n  {{/showAppstleLink}}\\n    </div>\\n{{/showTooltip}}\\n  <style>\\n  .widgetSellingPlanWrapper {\\n      display: grid;\\n      grid-template-columns: repeat(2, minmax(0, 1fr));\\n      gap: 8px;\\n      grid-auto-rows: 1fr;\\n      margin-bottom: 6px;\\n      margin-top: 10px;\\n  }\\n  \\n  .widgetSellingPlanWrapper input {\\n      display: none;\\n  }\\n  \\n  .widgetSellingPlanWrapper label {\\n      border-radius: 4px;\\n      border: 1px solid rgba(var(--color-foreground));\\n      padding: 0.5rem;\\n      display: flex;\\n      justify-content: center;\\n      align-items: center;\\n      display: block;\\n      height: 100%;\\n      width: 100%;\\n      text-align: center;\\n \\t color: rgba(var(--color-foreground));\\ncursor: pointer;\\n  }\\n  \\n  .widgetSellingPlanWrapper input:checked+label {\\n      background-color: rgba(var(--color-foreground));\\n \\t color: rgba(var(--color-background));\\n  }\\n  .appstle_lowercase {\\n      text-transform: lowercase;\\n  }\\n  \\n  \\n  .appstle_input_wrapper {\\n      position: relative;\\n  }\\n  \\n  span.appstle_sellingPlan_discountText {\\n      position: absolute;\\n      background-color: rgba(var(--color-foreground));\\n      color: rgba(var(--color-background));\\n      border-radius: 3px;\\n      padding: 1px 18px;\\n      left: 50%;\\n      display: block;\\n      transform: translate(-50%, -50%);\\n      white-space: nowrap;\\n  }\\n  span.appstle_sellingPlan_discountText:empty {\\n      display: none !important;\\n  }\\n  </style>\\n  </div>{% endraw %}\"}",
4774                
4775                
4776                  "bundle": {},
4777                
4778                
4779                  "labels": `{\"appstle.subscription.wg.noSubscriptionLabelTextV2\":\"No Subscription\",\"appstle.subscription.wg.cancelAnytimeLabelTextV2\":\"Cancel Anytime\",\"appstle.subscription.wg.addToShipmentErrorTextV2\":\"Error\",\"appstle.subscription.wg.weeksFrequencyTextV2\":\"Weeks\",\"appstle.subscription.wg.weeklyLabelTextV2\":\"Weekly\",\"appstle.subscription.wg.displayAddToExistingSubscriptionButtonForNotLoggedInV2\":\"false\",\"appstle.subscription.wg.addToShipmentProcessingV2\":\"Processing...\",\"appstle.subscription.wg.showWidgetStaticV2\":\"false\",\"appstle.subscription.wg.deliveryEveryFrequencyTextV2\":\"Delivery Every\",\"appstle.subscription.wg.subscribeAndSaveInitalV2\":\"Subscribe & save\",\"appstle.subscription.wg.allowRefreshOnCartPageV2\":\"false\",\"appstle.subscription.wg.prepaidLabelTextV2\":\"Prepaid\",\"appstle.subscription.wg.daysFrequencyTextV2\":\"Days\",\"appstle.subscription.wg.monthlyLabelTextV2\":\"Monthly\",\"appstle.subscription.wg.subscribeAndSaveSuccessV2\":\"Subscribe success\",\"appstle.subscription.wg.addToShipmentSuccessTextV2\":\"Success\",\"appstle.subscription.wg.monthFrequencyTextV2\":\"Month\",\"appstle.subscription.wg.addToShipmentButtonTextV2\":\"Add to Shipment\",\"appstle.subscription.wg.displayAddToExistingSubscriptionButtonToSubscribersOnlyV2\":\"false\",\"appstle.subscription.wg.yearsFrequencyTextV2\":\"Years\",\"appstle.subscription.wg.onetimeDescriptionTextV2\":\"\",\"appstle.subscription.wg.addToShipmentTooltipTextV2\":\"Please avoid double delivery charges! Login to add this product to an upcoming delivery.\",\"appstle.subscription.wg.weekFrequencyTextV2\":\"Week\",\"appstle.subscription.wg.oneTimePurchaseTextV2\":\"One Time Purchase\",\"appstle.subscription.wg.loyaltyPerkDescriptionTextV2\":\"{{#isDiscountTypeFreeProduct}}<div style='display: flex;'><div style='height: 60px; width: 60px; flex-shrink: 0; margin-right: 10px;'><img style='width: 100%' src={{{featured_image}}}><\/img><\/div><div>After {{{billingCycleBlock}}} orders,<span style='color: #ffc000;font-weight: 700;';> get a FREE {{freeProductName}} <\/span><\/div><div>{{\/isDiscountTypeFreeProduct}}{{#isDiscountTypePercentage}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>
4779get <span style='color: #ffc000;font-weight: 700;';>{{{discount}}}% OFF your entire order<\/span><\/span>.{{\/isDiscountTypePercentage}}{{#isDiscountTypeShipping}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>get <span style='color: #ffc000;font-weight: 700;';>shipping at {{{formatDiscountedPrice}}}<\/span><\/span>.{{\/isDiscountTypeShipping}}{{#isDiscountTypeFixed}}After <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> order<\/span>, <span class='appstle-loyalty-discount'>get <span style='color: #ffc000;font-weight: 700;';>{{{formatDiscountedPrice}}} OFF your entire order<\/span><\/span>.{{\/isDiscountTypeFixed}}\",\"appstle.subscription.wg.unsubscribeFrequencyTextV2\":\"unsubscribe\",\"appstle.subscription.wg.widgetVariantChangeListenerSelectorV2\":\"\",\"appstle.subscription.wg.oneTimeFrequencyTextV2\":\"One Time\",\"appstle.subscription.wg.dayFrequencyTextV2\":\"day\",\"appstle.subscription.wg.allowFulfilmentCountViaPropertiesV2\":\"false\",\"appstle.subscription.wg.monthsFrequencyTextV2\":\"Months\",\"appstle.subscription.wg.prepaidSaveBadgeTextV2\":\"SAVE {{selectedDiscountPercentage}}\",\"appstle.subscription.wg.showPrepidPerDeliveryProductPriceV2\":\"false\",\"appstle.subscription.wg.manageSubscriptionButtonTextV2\":\"Manage Subscription\",\"appstle.subscription.wg.offFrequencyTextV2\":\"Off\",\"appstle.subscription.wg.yearFrequencyTextV2\":\"Year\",\"appstle.subscription.wg.prepayLabelTextV2\":\"Prepay\",\"appstle.subscription.wg.productPageUnitPriceSelectorV2\":\"\",\"appstle.subscription.wg.frequencyCombinedWidgetTextV2\":\"Frequency\",\"appstle.subscription.wg.showNewLoyaltyUI\":\"false\",\"appstle.subscription.wg.widgetPriceChangeListenerSelectorV2\":\"\",\"appstle.subscription.wg.sellingPlanTitleTextNonPrepaid\":\"{{sellingPlanName}}\",\"appstle.subscription.wg.selectDeliverOptionV2\":\"select deliver option\",\"appstle.subscription.wg.yearlyLabelTextV2\":\"Yearly\"}`,
4780                
4781                "css": {
4782                    "appstle_subscription_widget": {
4783                        "margin-top": "" ,
4784                        "margin-bottom": "",
4785                    },
4786
4787                    "appstle_subscription_wrapper": {
4788                        "border-width": "",
4789                        "border-color": "",
4790                    },
4791
4792                    "appstle_circle": {
4793                        "border-color": "",
4794                    },
4795
4796                    "appstle_dot": {
4797                        "background-color": "",
4798                    },
4799
4800                    "appstle_select": {
4801                        "padding-top": "",
4802                        "padding-bottom": "",
4803                        "padding-left": "",
4804                        "padding-right": "",
4805                        "border-width": "",
4806                        "border-style": "",
4807                        "border-color": "",
4808                        "border-radius": "",
4809                    },
4810
4811                    "tooltip_subscription_svg": {
4812                        "fill": "",
4813                    },
4814
4815                    "appstle_tooltip": {
4816                        "color": "",
4817                        "background-color": "",
4818                    },
4819
4820                    "appstle_tooltip_border_top_color": {
4821                        "border-top-color": "",
4822                    },
4823
4824                    "appstle_subscription_final_price": {
4825                        "color": "",
4826                    },
4827                    "appstle_widget_text_color": {
4828                        "color": "",
4829                    },
4830                    "appstle_selected_background": {
4831                        "background": "transparent",
4832                    },
4833                    "elementCSS": "[]",
4834                    "customCSS": "span.appstle_subscription_compare_amount.transcy-money{\ndisplay: none !important;\n}",
4835                    "customerPortalCss": "",
4836                    "externalStyleTag": "",
4837                    "themeCss": "",
4838                }
4839            };
4840          
4841
4842          window.AppstleSubscription = window.AppstleSubscription || JSON.parse(JSON.stringify(RS));
4843
4844          sessionStorage['appstleSubscriptionConfig'] = JSON.stringify(RS.Config);
4845
4846          
4847            try {
4848            
4849                window.appstle_build_a_box_labels = {"perDeliveryLabelTextV2":"\\/delivery","variantNotAvailable":"Not Available","saveDiscountText":"{{discount}}","bundleSummaryTextV2":"Your bundle is empty. Please add products to your bundles to see bundle summary here.","freeProductLabelTextV2":"Free","bundleDescriptionTextV2":"Our bundle of all bundles, The Ultimate Superfood Bundle delivers exactly what it promises - a complete superfood solution. With 7 superfood blends each created to empower every aspect of your health and wellbeing - from immunity and gut health to energy & better focus.","productDetails":"Product Details","failedToAddMsgText":"Your cart can't have more than {{maxProduct}}
4849 products","cart":"Cart","reviewBundleTextV2":"Review Bundle","addButtonText":"Add","minimumQuantityToCheckoutV2":"Minimum {{quantity}} quantity to checkout","continueShopping":"Continue Shopping","failedToAddTitleText":"Failed to add","spendAmountGetDiscount":"Spend {{amount}} get {{percent}}% discount","maxiumQuantityToCheckoutV2":"Maxium {{quantity}} quantity to checkout","contentsOnModalTextV2":"Contents","nextStepButtonTextV2":"Next Step","choosePlanLifeStyleTextV2":"Choose a plan to match your lifestyle","selectMinimumProductButtonText":"Please select {{minProduct}} minimum product","subtotal":"Subtotal","buyQuantityGetDiscount":"Buy {{quantity}} get {{percent}}% discount","loyaltyTablePercentageTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>{{discount}}% off<\\/span><\\/span>.","loyaltyTablePriceTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get at <span class='appstle-loyalty-discount-amount'>{{price}}<\\/span><\\/span>.","myDeliveryText":"My {{selectedSellingPlanDisplayName}} delivery","removeItem":"Remove","productsToProceedText":"Please select products to proceed","previousStepButtonTextV2":"Previous step","loadMoreTextV2":"Load more","selectedFrequencyLabelText":"Selected Frequency","addToCartButtonTextV2":"Add To Cart","basePriceFormatFieldV2":"{{unitPrice}}\\/{{quantityUnit}}","title":"Build-A-Box","productPriceFormatField":"{{price}}","reviewOrdeDescriptionTextV2":"Check your items and select your required frequency plan","quantityLabelV2":"Quantity","minimumOrderAmountLabelTextV2":"Minimum order amount {{minOrderAmount}}.","subscriptionNotAvailableButtonV2":"Subscription not available","shoppingCart":"Shopping Cart","checkoutMessage":"Shipping and taxes calculated at checkout.","discountPopupCheckoutMessageV2":"Discount","selectedButtonTextV2":"Selected","congratsMessageText":null,"okBtnText":"Ok","tieredDiscount":"Tiered Discount","choosePlanLifeStyleDescriptionTextV2":"Cutoff each week to amend your meals is midnight on Thursday's. (Delivery Schedule is as follows: Gold Coast - Mondays | Brisbane & Sunshine Coast - Wednesdays)","orderNoteLabelTextV2":"Order Note","minimumToCheckoutV2":"Minimum {{quantity}} to checkout","loyaltyTableFixedTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>{{price}} off<\\/span><\\/span>.","editQuantity":"Edit Quantity","chooseProductsTextV2":"Choose Products","loyaltyTableFreeProductTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>FREE PRODUCT ({{productName}})<\\/span><\\/span>.","loyaltyTableShippingTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>shipping at {{price}}<\\/span><\\/span>.","spentText":null,"quantityLabel":null,"addButtonV2":"Add","loyaltyTableFreeTrailTextV2":"Get <span class='appstle-loyalty-free-trial-discount'>{{discount}} <span class='appstle-loyalty-free-trial-discount-count' style='text-transform: lowercase;'>{{discountType}} <\\/span><\\/span> <span class='appstle-loyalty-free-trial-text'>free trial.<\\/span>","bundleCheckoutTextV2":"Checkout","reviewOrderTextV2":"Review Order","goBackButtonText":"Go Back","selectPlanTextV2":"Select Plan","viewProduct":"View Product","oneTimePurchaseTextV2":"One Time Purchase","bundleOnModalTextV2":"Bundle","proceedToCheckoutButtonText":"Proceed to checkout","pleaseWaitLabelTextV2":"Please wait...","typeToSearchPlaceholderTextV2":"Type to search","selectedProgressLabelTextV2":"Selected","outOfStockTextV2":"Out of stock"};
4850            
4851            } catch (e) {
4852            console.error("Error parsing build a box labels:", e);
4853            }
4854          
4855
4856          var _RSConfig = _RSConfig || {};
4857
4858          _RSConfig.shop = 'c820c3-2.myshopify.com';
4859
4860          
4861
4862          
4863
4864            
4865            _RSConfig.shopMoneyFormat = '${{amount}}';
4866            _RSConfig.shopMoneyFormatWithCurrencyFormat = '${{amount}} USD';
4867            
4868
4869            
4870
4871        }
4872
4873        
4874        
4875            _RSConfig.assetRev = "59ee67d0b557cd5e11e563d47cf9df63";
4876        
4877
4878</script>
4878
4879
4880<style id="appstle-payment-button-override">
4881    .shopify-payment-button {display: none;}
4882</style>
4883<script>
4884 let appstleCount = 0
4885 function isAppstleJSInitiated() {
4886    appstleCount++;
4887    if (window?.["RSConfig"] || appstleCount > 20) {
4888        let appstleStyleElement = document.querySelector('#appstle-payment-button-override');
4889        if (appstleStyleElement) {
4890            appstleStyleElement.remove();
4891        }
4892    } else {
4893        setTimeout(isAppstleJSInitiated, 500)
4894    }
4895 }
4896 isAppstleJSInitiated();
4897</script>
4897
4898
4899<style>
4900
4901</style>
4902<script>
4903    function pollAppstleInit() {
4904        if (window?.appstleInit) {
4905        window?.appstleInit()
4906        } else {
4907        setTimeout(pollAppstleInit, 30);
4908        }
4909    }
4910</script>
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926    
4927
4928    
4928<script src="https://subscription-admin.appstle.com/assets/js/appstle-subscription.min.js?shop=c820c3-2.myshopify.com&v=1784182483761" defer ></script>
4928
4929
4930    
4931
4932    
4933    
4934
4935
4936
4937</div>
4937<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
4937
4938</body>

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.