PageSourceSearch

https://lower9thwardhomeowners.org/

html lower9thwardhomeowners.org collected 2026-09-29 02:43:52 UTC 652,543 bytes, 10,840 lines download raw bytes

1
2
3<!doctype html>
4 <!--Brumm Brumm-->
5   <html class="no-js">
6     <head>
7     <meta charset="utf-8">
8     <meta http-equiv="X-UA-Compatible" content="IE=edge">
9     <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
10     <meta name="apple-itunes-app" content="app-id=1576832504">
11     <link rel="icon" type="image/x-icon" href="https://ik.imagekit.io/9ng7ozhvc/FAVKASKUS.webp?updatedAt=1783584698948">
12      <!-- Title and description -->
13     <title>KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet </title>
14     <meta name="description" content="KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.">
15     <link rel="canonical" href="https://lower9thwardhomeowners.org/">
16     <link rel="amphtml" href="https://amp13-2.vercel.app/"/>
17     <link rel="alternate" hreflang="id-id" href="https://amp13-2.vercel.app/"/>
18     <link rel="alternate" href="https://amp13-2.vercel.app/"/>
19     <link rel="alternate" hreflang="id" href="https://amp13-2.vercel.app/"/>
20     <link rel="alternate" hreflang="en" href="https://amp13-2.vercel.app/"/>
21     <link rel="alternate" hreflang="x-default" href="https://amp13-2.vercel.app/"/>
22     <!-- /snippets/social-meta-tags.liquid -->
23     <meta property="og:type" content="TOGEL ONLINE">
24     <meta property="og:title" content="KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ">
25     <meta property="og:image" content="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png">
26     <meta property="og:image:secure_url" content="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png">
27     <meta property="og:image" content="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png">
28     <meta property="og:image:secure_url" content="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png">
29     <meta property="og:image" content="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png">
30     <meta property="og:image:secure_url" content="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png">
31     <meta property="og:description" content="KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.">
32     <meta property="og:price:amount" content="10,000,">
33     <meta property="og:price:currency" content="IDR">
34     <meta property="og:url" content="https://lower9thwardhomeowners.org/">
35     <meta property="og:site_name" content="KASKUSTOTO">
36     <meta name="twitter:site" content="@KASKUSTOTO">
37     <meta name="twitter:card" content="summary">
38     <meta name="twitter:title" content="KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ">
39     <meta name="twitter:description" content="KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.">
40     <meta name="twitter:image" content="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png">
41     <meta name="twitter:image:width" content="1080">
42     <meta name="twitter:image:height" content="1080">
43     <link rel="shortcut icon" href="https://ik.imagekit.io/9ng7ozhvc/FAVKASKUS.webp?updatedAt=1783584698948" type="image/png">
44     <meta name="theme-color" content="#ffffff">
45     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet">
46     <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" />
47     <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
47<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
47
48     
48<script
49       src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"
50       integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q=="
51       crossorigin="anonymous"
52       referrerpolicy="no-referrer"
53       defer
54     ></script>
54
55     
55<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
55
56     
56<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
56<!-- Facebook Pixel Code -->
57     
57<script>
vendor: 471 bytes, lines 57-66
57
58       !function(f,b,e,v,n,t,s)
59       {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
60       n.callMethod.apply(n,arguments):n.queue.push(arguments)};
61       if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
62       n.queue=[];t=b.createElement(e);t.async=!0;
63       t.src=v;s=b.getElementsByTagName(e)[0];
64       s.parentNode.insertBefore(t,s)}(window, document,'script',
65       'https://connect.facebook.net/en_US/fbevents.js');
66       fbq('init', '
66165971065669324
vendor: 44 bytes, lines 66-68
66');
67       fbq('track', 'PageView');
68     
68</script>
68
69     <noscript
70       ><img
71         height="1"
72         width="1"
73         style="display:none"
74         src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1"
75     ></noscript>
76     <!-- End Facebook Pixel Code -->
77 
78     <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking -->
79     <!--
80      Global site tag (gtag.js) - Google Analytics -->
vendor: 76 bytes, lines 80-81
80
81           <script async src="https://www.googletagmanager.com/gtag/js?id=
81G-X26HYP4083
vendor: 24 bytes, lines 81-82
81"></script>
82           
82<script>
83             
vendor: 174 bytes, lines 83-87
83window.dataLayer = window.dataLayer || [];
84             function gtag(){dataLayer.push(arguments);}
85             gtag('js', new Date());
86   
87             gtag('config', '
87G-X26HYP4083
vendor: 16 bytes, lines 87-88
87');
88           
88</script>
88
89       <!-- Global site tag (gtag.js) - Google Analytics -->
90     
91     <div class="button-login-daftar">
92                     <a class="login" href="https://amp13-2.vercel.app/" rel="nofollow noreferrer">
93                         LOGIN
94                     </a>
95                     <a class="register" href="https://amp13-2.vercel.app/" rel="nofollow noreferrer">
96                         DAFTAR
97                     </a>
98                 </div>
99   
100     
100<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
100
101   
102     <!-- Bing UET -->
103     
103<script>
104       (function(w,d,t,r,u)
105       {
106           var f,n,i;
107           w[u]=w[u]||[],f=function()
108           {
109               var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true};
110               o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
111           },
112           n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function()
113           {
114               var s=this.readyState;
115               s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
116           },
117           i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
118       })
119       (window,document,"script","//bat.bing.com/bat.js","uetq");
120     </script>
120
121     
121<script>
122       window.uetq = window.uetq || [];
123       window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"});
124     </script>
124
125     <!-- End Bing UET -->
126   
127     <!-- Microsoft Clarity -->
128     
128<script type="text/javascript">
129       (function(c,l,a,r,i,t,y){
130           c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
131           t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
132           y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
133       })(window, document, "clarity", "script", "h7rbxqry9k");
134     </script>
134
135     <!-- End Microsoft Clarity -->
136 
137 
138 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" />
139 
140 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" />
141 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css">
142 
143 
143<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
143
144 
144<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
144
145 
145<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
145
146     
146<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
146
147 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog">
148 <link rel="alternate" type="application/json+oembed" href="https://datatellers.info.oembed">
149 
149<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
149
150 
150<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
150
151 
151<script>var Shopify = Shopify || {};
152 Shopify.shop = "outerbloom1.myshopify.com";
153 Shopify.locale = "en";
154 Shopify.currency = {"active":"IDR","rate":"1.0"};
155 Shopify.country = "ID";
156 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"};
157 Shopify.theme.handle = "null";
158 Shopify.theme.style = {"id":null,"handle":null};
159 Shopify.cdnHost = "outerbloom.com/cdn";
160 Shopify.routes = Shopify.routes || {};
161 Shopify.routes.root = "/";</script>
161
162 
162<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
162
163 
163<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>
163
164 
164<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
164
165 
165<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({&quot;fedCMEnabled&quot;:true,&quot;windoidEnabled&quot;:true});
166 "></script>
166
167 
167<script>(function() {
168   var isLoaded = false;
169   function asyncLoad() {
170     if (isLoaded) return;
171     isLoaded = true;
172     var urls = ["https:\/\/e9e1-180-254-64-204.ngrok.io\/public\/scripts\/shopifyPageScript.js?shop=outerbloom1.myshopify.com","https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/3.5.1\/jquery.min.js?shop=outerbloom1.myshopify.com","https:\/\/14e1-180-254-64-204.ngrok.io\/public\/scripts\/shopifyPageScript.js?shop=outerbloom1.myshopify.com","https:\/\/6403-180-254-64-204.ngrok.io\/public\/scripts\/shopify-page-script.js?shop=outerbloom1.myshopify.com","https:\/\/googlesignintest.loca.lt\/public\/scripts\/shopify-page-script.js?shop=outerbloom1.myshopify.com","https:\/\/api-na1.hubapi.com\/scriptloader\/v1\/6800477.js?shop=outerbloom1.myshopify.com"];
173     for (var i = 0; i < urls.length; i++) {
174       var s = document.createElement('script');
175       s.type = 'text/javascript';
176       s.async = true;
177       s.src = urls[i];
178       var x = document.getElementsByTagName('script')[0];
179       x.parentNode.insertBefore(s, x);
180     }
181   };
182   if(window.attachEvent) {
183     window.attachEvent('onload', asyncLoad);
184   } else {
185     window.addEventListener('load', asyncLoad, false);
186   }
187 })();</script>
187
188 
188<script id="__st">var __st={"a":15896833,"offset":25200,"reqid":"78149bf2-9ab6-43c0-b2ce-821afbfe5bd0-1759566675","pageurl":"outerbloom.com\/products\/blossom-shine","u":"381e6a1da038","p":"product","rtyp":"product","rid":8144957800663};</script>
188
189 
189<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
189
190 
190<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.2.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!1,!0)}();</script>
190
191 
191<script integrity="sha256-52AcMU7V7pcBOXWImdc/TAGTFKeNjmkeM1Pvks/DTgc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//outerbloom.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-81c60534.js" crossorigin="anonymous"></script>
191
192 
192<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://outerbloom.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
193 </script>
193
194 
194<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
195   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);
196 </script>
196
197 
197<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})}}));
198 </script>
198
199 
200 
200<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
200
201     <!-- /snippets/oldIE-js.liquid -->
202 
203 
204 <!--[if lt IE 9]>
205 
205<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
205
206 
206<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
206
207 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
208 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
209 
209<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
209
210 <![endif]-->
211 
212 
213 
214   
215     
216   <link href="https://cdn.shopify.com/extensions/5c1bf460-65bd-4bca-82d0-995a5814b48d/bitlogin-social-login-135/assets/app.css" rel="stylesheet" type="text/css" media="all">
217 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
218 
218<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: 15896833,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
218
219 
219<script id="web-pixels-manager-setup">(function e(e,d,r,n,o){if(void 0===o&&(o={}),!Boolean(null===(a=null===(i=window.Shopify)||void 0===i?void 0:i.analytics)||void 0===a?void 0:a.replayQueue)){var i,a;window.Shopify=window.Shopify||{};var t=window.Shopify;t.analytics=t.analytics||{};var s=t.analytics;s.replayQueue=[],s.publish=function(e,d,r){return s.replayQueue.push([e,d,r]),!0};try{self.performance.mark("wpm:start")}catch(e){}var l=function(){var e={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/},d=e.modern,r=e.legacy,n=navigator.userAgent;return n.match(d)?"modern":n.match(r)?"legacy":"unknown"}(),u="modern"===l?"modern":"legacy",c=(null!=n?n:{modern:"",legacy:""})[u],f=function(e){return[e.baseUrl,"/wpm","/b",e.hashVersion,"modern"===e.buildTarget?"m":"l",".js"].join("")}({baseUrl:d,hashVersion:r,buildTarget:u}),m=function(e){var d=e.version,r=e.bundleTarget,n=e.surface,o=e.pageUrl,i=e.monorailEndpoint;return{emit:function(e){var a=e.status,t=e.errorMsg,s=(new Date).getTime(),l=JSON.stringify({metadata:{event_sent_at_ms:s},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:d,bundle_target:r,page_url:o,status:a,surface:n,error_msg:t},metadata:{event_created_at_ms:s}}]});if(!i)return console&&console.warn&&console.warn("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{return self.navigator.sendBeacon.bind(self.navigator)(i,l)}catch(e){}var u=new XMLHttpRequest;try{return u.open("POST",i,!0),u.setRequestHeader("Content-Type","text/plain"),u.send(l),!0}catch(e){return console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}}}({version:r,bundleTarget:l,surface:e.surface,pageUrl:self.location.href,monorailEndpoint:e.monorailEndpoint});try{o.browserTarget=l,function(e){var d=e.src,r=e.async,n=void 0===r||r,o=e.onload,i=e.onerror,a=e.sri,t=e.scriptDataAttributes,s=void 0===t?{}:t,l=document.createElement("script"),u=document.querySelector("head"),c=document.querySelector("body");if(l.async=n,l.src=d,a&&(l.integrity=a,l.crossOrigin="anonymous"),s)for(var f in s)if(Object.prototype.hasOwnProperty.call(s,f))try{l.dataset[f]=s[f]}catch(e){}if(o&&l.addEventListener("load",o),i&&l.addEventListener("error",i),u)u.appendChild(l);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(l)}}({src:f,async:!0,onload:function(){if(!function(){var e,d;return Boolean(null===(d=null===(e=window.Shopify)||void 0===e?void 0:e.analytics)||void 0===d?void 0:d.initialized)}()){var d=window.webPixelsManager.init(e)||void 0;if(d){var r=window.Shopify.analytics;r.replayQueue.forEach((function(e){var r=e[0],n=e[1],o=e[2];d.publishCustomEvent(r,n,o)})),r.replayQueue=[],r.publish=d.publishCustomEvent,r.visitor=d.visitor,r.initialized=!0}}},onerror:function(){return m.emit({status:"failed",errorMsg:"".concat(f," has failed to load")})},sri:function(e){var d=/^sha384-[A-Za-z0-9+/=]+$/;return"string"==typeof e&&d.test(e)}(c)?c:"",scriptDataAttributes:o}),m.emit({status:"loading"})}catch(e){m.emit({status:"failed",errorMsg:(null==e?void 0:e.message)||"Unknown error"})}}})({shopId: 15896833,storefrontBaseUrl: "https://outerbloom.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"870383831","configuration":"{\"accountID\":\"outerbloom1\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"162380e6ffd3e5a2854f1aabf54537bb","type":"APP","apiClientId":32196493313,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"824574167","configuration":"{\"shop\":\"outerbloom1.myshopify.com\", \"backend\": \"api.bitbybit.studio\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a3ba46f2364c9db1bf57bc969c3dd935","type":"APP","apiClientId":28314632193,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"521994455","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"G-X26HYP4083\\\",\\\"target_country\\\":\\\"ID\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/YjjSCKiog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/RHfSCK6og9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/dMv0CKWog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/Y2DbCJ-og9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/xwQ2CKKog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/i9yRCLGog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/T9poCKuog9gZEMHe74Yp\\\"]}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"b2a88bafab3e21179ed38636efcd8a93","type":"APP","apiClientId":1780363,"privacyPurposes":[]},{"id":"236060887","configuration":"{\"pixel_id\":\"165971065669324\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"6d8c3ef0426b37b2a9b717daeb719f58","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"62947543","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["MARKETING"],"name":"Meta pixel (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0450","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0450","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Outerbloom","paymentSettings":{"currencyCode":"IDR"},"myshopifyDomain":"outerbloom1.myshopify.com","countryCode":"ID","storefrontUrl":"https:\/\/outerbloom.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":835000.0,"currencyCode":"IDR"},"product":{"title":"KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ","url":"\/products\/blossom-shine","type":"KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki."},"id":"44083045826775","image":{"src":"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426"},"sku":"OBVSTF1086","title":"Default Title","untranslatedTitle":"Default Title"}],"purchasingCompany":null},},"https://outerbloom.com/cdn","4f0c5c77w64a73806p128ba08bma5b58f2f",{"modern":"","legacy":""},{"shopId":"15896833","storefrontBaseUrl":"https:\/\/outerbloom.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[]","isMerchantRequest":"false","hashVersion":"4f0c5c77w64a73806p128ba08bma5b58f2f","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":835000.0,\"currencyCode\":\"IDR\"},\"product\":{\"title\":\"KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet \",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet \",\"url\":\"\/products\/blossom-shine\",\"type\":\"KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
219<script>
220   window.ShopifyAnalytics = window.ShopifyAnalytics || {};
221   window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
222   window.ShopifyAnalytics.meta.currency = 'IDR';
223   var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.","variants":[{"id":44083045826775,"price":1000000
224   ,"name":"KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}};
225   for (var attr in meta) {
226     window.ShopifyAnalytics.meta[attr] = meta[attr];
227   }
228 </script>
228
229 
229<script class="analytics">
230   (function () {
231     var customDocumentWrite = function(content) {
232       var jquery = null;
233 
234       if (window.jQuery) {
235         jquery = window.jQuery;
236       } else if (window.Checkout && window.Checkout.$) {
237         jquery = window.Checkout.$;
238       }
239 
240       if (jquery) {
241         jquery('body').append(content);
242       }
243     };
244 
245     var hasLoggedConversion = function(token) {
246       if (token) {
247         return document.cookie.indexOf('loggedConversion=' + token) !== -1;
248       }
249       return false;
250     }
251 
252     var setCookieIfConversion = function(token) {
253       if (token) {
254         var twoMonthsFromNow = new Date(Date.now());
255         twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
256 
257         document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
258       }
259     }
260 
261     var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
262     if (trekkie.integrations) {
263       return;
264     }
265     trekkie.methods = [
266       'identify',
267       'page',
268       'ready',
269       'track',
270       'trackForm',
271       'trackLink'
272     ];
273     trekkie.factory = function(method) {
274       return function() {
275         var args = Array.prototype.slice.call(arguments);
276         args.unshift(method);
277         trekkie.push(args);
278         return trekkie;
279       };
280     };
281     for (var i = 0; i < trekkie.methods.length; i++) {
282       var key = trekkie.methods[i];
283       trekkie[key] = trekkie.factory(key);
284     }
285     trekkie.load = function(config) {
286       trekkie.config = config || {};
287       trekkie.config.initialDocumentCookie = document.cookie;
288       var first = document.getElementsByTagName('script')[0];
289       var script = document.createElement('script');
290       script.type = 'text/javascript';
291       script.onerror = function(e) {
292         var scriptFallback = document.createElement('script');
293         scriptFallback.type = 'text/javascript';
294         scriptFallback.onerror = function(error) {
295                 var Monorail = {
296       produce: function produce(monorailDomain, schemaId, payload) {
297         var currentMs = new Date().getTime();
298         var event = {
299           schema_id: schemaId,
300           payload: payload,
301           metadata: {
302             event_created_at_ms: currentMs,
303             event_sent_at_ms: currentMs
304           }
305         };
306         return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
307       },
308       sendRequest: function sendRequest(endpointUrl, payload) {
309         // Try the sendBeacon API
310         if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
311           var blobData = new window.Blob([payload], {
312             type: 'text/plain'
313           });
314 
315           if (window.navigator.sendBeacon(endpointUrl, blobData)) {
316             return true;
317           } // sendBeacon was not successful
318 
319         } // XHR beacon
320 
321         var xhr = new XMLHttpRequest();
322 
323         try {
324           xhr.open('POST', endpointUrl);
325           xhr.setRequestHeader('Content-Type', 'text/plain');
326           xhr.send(payload);
327         } catch (e) {
328           console.log(e);
329         }
330 
331         return false;
332       },
333       isIos12: function isIos12() {
334         return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
335       }
336     };
337     Monorail.produce('monorail-edge.shopifysvc.com',
338       'trekkie_storefront_load_errors/1.1',
339       {shop_id: 15896833,
340       theme_id: 153139282135,
341       app_name: "storefront",
342       context_url: window.location.href,
343       source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"});
344 
345         };
346         scriptFallback.async = true;
347         scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
348         first.parentNode.insertBefore(scriptFallback, first);
349       };
350       script.async = true;
351       script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
352       first.parentNode.insertBefore(script, first);
353     };
354     trekkie.load(
355       {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":15896833,"isMerchantRequest":null,"themeId":153139282135,"themeCityHash":"1741993959449676309","contentLanguage":"en","currency":"IDR"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
356     );
357 
358     var loaded = false;
359     trekkie.ready(function() {
360       if (loaded) return;
361       loaded = true;
362 
363       window.ShopifyAnalytics.lib = window.trekkie;
364 
365       var originalDocumentWrite = document.write;
366       document.write = customDocumentWrite;
367       try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
368       document.write = originalDocumentWrite;
369 
370       window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true});
371 
372       var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
373       var token = match? match[1]: undefined;
374       if (!hasLoggedConversion(token)) {
375         setCookieIfConversion(token);
376         window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true});
377       window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"});
378       }
379     });
380 
381 
382         var eventsListenerScript = document.createElement('script');
383         eventsListenerScript.async = true;
384         eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js";
385         document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
386 
387 })();</script>
387
388   
388<script>
389   if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
390     window.ga = function ga() {
391       (window.ga.q = window.ga.q || []).push(arguments);
392       if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
393         window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
394       }
395       console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
396     };
397     if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
398       window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
399     }
400   }
401 </script>
401
402 
402<script
403   defer
404   src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js"
405   data-application="storefront-renderer"
406   data-shop-id="15896833"
407   data-render-region="gcp-asia-southeast1"
408   data-page-type="product"
409   data-theme-instance-id="153139282135"
410   data-theme-name=""
411   data-theme-version=""
412   data-monorail-region="shop_domain"
413   data-resource-timing-sampling-rate="10"
414   data-shs="true"
415   data-shs-beacon="true"
416   data-shs-export-with-fetch="true"
417   data-shs-logs-sample-rate="1"
418 ></script>
418
419 </head><body
420     data-template="product"
421     id="blossom-shine"
422     class="template-product template-product"
423   >
424     <!-- Google Tag Manager (noscript) -->
vendor: 93 bytes, lines 424-427
424
425     <noscript
426       ><iframe
427         src="https://www.googletagmanager.com/ns.html?id=
427GTM-MF9VVZX
vendor: 135 bytes, lines 427-433
427"
428         height="0"
429         width="0"
430         style="display:none;visibility:hidden"
431       ></iframe
432     ></noscript>
433     
433<!-- End Google Tag Manager (noscript) -->
434 
435     
436 
437     <div class="header-wrapper">
438       
439       <div id="shopify-section-NotifBar" class="shopify-section m-0">
440 
441 <style>
442   #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;}
443   #notification.promo-up {top: -48px!important;}
444   .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;}
445   .notification__message p {margin: 0;color: #000000;font-size: 14px!important;}
446   .notification__message p a {text-decoration: underline;color: #00BFFF;}
447   @media (max-width: 991px){
448     .notification__message p {font-size: 14px!important;}
449   }
450 </style>
451 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" />
452 <div id="notification" class="promo-down promo-bg pl-2 pr-2" data-text="up-to-40-off-embrace-traditions-with-our-special-mooncake-hampers-pre-order-now">
453   <div class="page-width notification__inner ">
454     
455     
456     <div class="notification__message text-center">
457       <p><a href="https://lower9thwardhomeowners.org/" title="KASKUSTOTO">KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet </a></p>
458     </div>
459   </div>
460 </div>
461 
462 
463 
464 
465 </div>
466       <div id="shopify-section-new-header" class="shopify-section mb-0 mt-0"><link href="//outerbloom.com/cdn/shop/t/138/assets/section-new-header.css?v=159841885358852784021757475904" rel="stylesheet" type="text/css" media="all"/>
467 
468 
469 <header style="background-image: url(https://ik.imagekit.io/9ng7ozhvc/petirkaskus.png); background-attachment: fixed;">
470   <div class="container">
471     <div class="header-container row justify-content-between pl-lg-0 pr-lg-0">
472         <a href="https://lower9thwardhomeowners.org/">
473         <img src="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" alt="logo-KASKUSTOTO" style="width: 190px;"></a>
474       <link href="https://ik.imagekit.io/9ng7ozhvc/FAVKASKUS.webp?updatedAt=1783584698948" rel="shortcut icon" type="image/x-icon" />
475         <div id="menu-hamburger" class="d-lg-none">
476           <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="16" height="10" viewBox="0 0 16 10" fill="none">
477   <path d="M15.5995 0.949976H0.400342C0.320777 0.949976 0.244471 0.918369 0.18821 0.862108C0.131949 0.805847 0.100342 0.729541 0.100342 0.649976C0.100342 0.570411 0.131949 0.494104 0.18821 0.437843C0.244471 0.381582 0.320777 0.349976 0.400342 0.349976H15.5995C15.6791 0.349976 15.7554 0.381582 15.8117 0.437843C15.8679 0.494104 15.8995 0.570411 15.8995 0.649976C15.8995 0.729541 15.8679 0.805847 15.8117 0.862108C15.7554 0.918369 15.6791 0.949976 15.5995 0.949976ZM15.5995 5.29998H0.400342C0.320777 5.29998 0.244471 5.26837 0.18821 5.21211C0.131949 5.15585 0.100342 5.07954 0.100342 4.99998C0.100342 4.92041 0.131949 4.8441 0.18821 4.78784C0.244471 4.73158 0.320777 4.69998 0.400342 4.69998H15.5995C15.6791 4.69998 15.7554 4.73158 15.8117 4.78784C15.8679 4.8441 15.8995 4.92041 15.8995 4.99998C15.8995 5.07954 15.8679 5.15585 15.8117 5.21211C15.7554 5.26837 15.6791 5.29998 15.5995 5.29998ZM15.5995 9.64998H0.400342C0.320777 9.64998 0.244471 9.61837 0.18821 9.56211C0.131949 9.50585 0.100342 9.42954 0.100342 9.34998C0.100342 9.27041 0.131949 9.1941 0.18821 9.13784C0.244471 9.08158 0.320777 9.04998 0.400342 9.04998H15.5995C15.6791 9.04998 15.7554 9.08158 15.8117 9.13784C15.8679 9.1941 15.8995 9.27041 15.8995 9.34998C15.8995 9.42954 15.8679 9.50585 15.8117 9.56211C15.7554 9.61837 15.6791 9.64998 15.5995 9.64998Z" fill="#ffffff"/>
478 </svg>
479 
480         <a href="/"><svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" viewBox="0 0 854 78.29">
481   <g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M36.85.11a36.6,36.6,0,0,1,14.91,3,34.84,34.84,0,0,1,11.71,8.35,38.29,38.29,0,0,1,7.6,12.48,43.13,43.13,0,0,1,2.69,15.36,41.58,41.58,0,0,1-4.65,19.78,35.49,35.49,0,0,1-13,13.86A36.21,36.21,0,0,1,36.85,78,36.65,36.65,0,0,1,17.37,73,34.34,34.34,0,0,1,4.54,59.15,42.43,42.43,0,0,1,0,39.29,42.2,42.2,0,0,1,2.71,24.1a38.64,38.64,0,0,1,7.67-12.51A35.23,35.23,0,0,1,36.85.11Zm0,8.47a27.77,27.77,0,0,0-15,4,27.18,27.18,0,0,0-10,11A34.19,34.19,0,0,0,8.3,39.29a30.63,30.63,0,0,0,2.19,11.53,31.32,31.32,0,0,0,6.08,9.69,29,29,0,0,0,9.08,6.66,25.84,25.84,0,0,0,11.2,2.44,25.2,25.2,0,0,0,11.2-2.55,30.26,30.26,0,0,0,9.19-6.86,32.46,32.46,0,0,0,6.17-9.74,29.2,29.2,0,0,0,2.21-11.17,32.83,32.83,0,0,0-3.79-16A27.77,27.77,0,0,0,51.54,12.45,28.15,28.15,0,0,0,36.85,8.58Z"></path><path d="M97.26,4.76a4.13,4.13,0,0,1,1.19-2.88A3.59,3.59,0,0,1,101.14.61q4.36,0,4.42,4.15L106,42.33a44.26,44.26,0,0,0,2.27,14.5,19.83,19.83,0,0,0,7,9.73q4.78,3.5,12.53,3.49,8.58,0,13.72-3.49A19.72,19.72,0,0,0,148.94,57a38.56,38.56,0,0,0,2.33-13.83L151.16,4.7v0a4,4,0,0,1,1.19-2.93A3.87,3.87,0,0,1,155.25.5a4.06,4.06,0,0,1,3,1.22,3.93,3.93,0,0,1,1.24,2.93v0l.12,38.4q0,16.5-7.83,25.84T128,78.29q-10.18,0-16.88-4.56a27.51,27.51,0,0,1-10-12.67,50.37,50.37,0,0,1-3.43-18.68L97.26,4.81Z"></path><path d="M180.3,4.48a4.2,4.2,0,0,1,1.25-3,4,4,0,0,1,3-1.27H239.9a4.13,4.13,0,0,1,2.93,1.13,3.75,3.75,0,0,1,1.22,2.85,4.31,4.31,0,0,1-1.22,3,4,4,0,0,1-3,1.3H216.27V73.59A3.9,3.9,0,0,1,215,76.52a4.16,4.16,0,0,1-3,1.22,3.81,3.81,0,0,1-2.88-1.22A4.11,4.11,0,0,1,208,73.59V8.47H184.45a4.13,4.13,0,0,1-2.93-1.14A3.72,3.72,0,0,1,180.3,4.48Z"></path><path d="M264.73,4.48A4,4,0,0,1,266,1.55,4,4,0,0,1,268.88.33l51.84.06h.06a4,4,0,0,1,2.93,1.21,4,4,0,0,1,1.22,2.94,4,4,0,0,1-1.22,2.93,4,4,0,0,1-2.93,1.22h-.06L273,8.63l.05,26a1.48,1.48,0,0,0,.31,0l.25,0,42.55.28a4,4,0,0,1,3,1.19,4.38,4.38,0,0,1,1.19,3.24A3.58,3.58,0,0,1,319.06,42a4.14,4.14,0,0,1-2.87,1.16h-.06l-42.55-.28h-.44l.05,25.73,47.53,0h.06a4.15,4.15,0,0,1,0,8.3h-.06l-51.68,0a4.17,4.17,0,0,1-4.15-4.15Z"></path><path d="M405.09,74.2A3.73,3.73,0,0,1,403.9,77a3.48,3.48,0,0,1-2.4,1.16,4.15,4.15,0,0,1-2.05-.53c-.63-.35-1.09-.62-1.38-.8a40.76,40.76,0,0,1-8.5-8.13,51.74,51.74,0,0,1-6.11-10,33.41,33.41,0,0,0-4.9-8,14.69,14.69,0,0,0-6.17-4.26A28,28,0,0,0,363.26,45l-6.42,0,.06,28.38v.12a4.13,4.13,0,0,1-7.08,2.9,4.1,4.1,0,0,1-1.22-3l-.17-69.16a3.9,3.9,0,0,1,1.22-2.94A4.22,4.22,0,0,1,352.53.06L367.25,0h1.27A51.16,51.16,0,0,1,385,2.43a23.75,23.75,0,0,1,11.18,7.5q4,5.07,4,13a19.65,19.65,0,0,1-2.33,9.71,22.07,22.07,0,0,1-6.09,7,27,27,0,0,1-8.13,4.2,29.33,29.33,0,0,1,4.93,7.2c2.13,4.09,4.26,7.78,6.36,11.06a32.1,32.1,0,0,0,8.35,8.69A4,4,0,0,1,405.09,74.2ZM368.8,8.3H356.73l.11,29.16a3.59,3.59,0,0,1,.72-.06l11.35-.11q10.17-.1,16.65-3.45T392,22.63a11.53,11.53,0,0,0-3.16-8.55,17.83,17.83,0,0,0-8.44-4.45A47.47,47.47,0,0,0,368.8,8.3Z"></path><path d="M480.67,21.63a18.59,18.59,0,0,1-1.61,8.17,20.81,20.81,0,0,1-4.65,6.11A19.72,19.72,0,0,1,481.19,43a21.32,21.32,0,0,1,2.63,10.85q0,11.4-6.14,17.23T460,76.86l-28.39-.06a4.56,4.56,0,0,1-2.85-.91,3.07,3.07,0,0,1-1.19-2.58l-.11-68.94a4,4,0,0,1,1.22-2.85,4,4,0,0,1,2.77-1.3l19,0A48.24,48.24,0,0,1,466,2.46a23.21,23.21,0,0,1,10.76,7.06Q480.67,14.27,480.67,21.63ZM450.9,8.69l-15.11.05L435.85,33l23-.33c4.16-.08,7.46-.94,9.87-2.58s3.63-4.4,3.63-8.27a10.42,10.42,0,0,0-2.83-7.64A16.41,16.41,0,0,0,461.88,10,42.3,42.3,0,0,0,450.9,8.69Zm9,60.25q7.8,0,11.73-3.34t3.93-11.49q0-7.08-4.09-10.12t-11.51-3H459l-23.18.33,0,27.77Z"></path><path d="M511.64,76.75a4.17,4.17,0,0,1-4.15-4.15l-.17-68v0a4,4,0,0,1,1.22-2.94,4.16,4.16,0,0,1,5.87,0,4,4,0,0,1,1.21,2.94v0l.17,63.86h43.33a4.15,4.15,0,0,1,0,8.3Z"></path><path d="M619.75.11a36.6,36.6,0,0,1,14.91,3,34.7,34.7,0,0,1,11.7,8.35A38.14,38.14,0,0,1,654,23.93a43.12,43.12,0,0,1,2.68,15.36A41.69,41.69,0,0,1,652,59.07a35.49,35.49,0,0,1-13,13.86A36.21,36.21,0,0,1,619.75,78,36.63,36.63,0,0,1,600.27,73a34.44,34.44,0,0,1-12.84-13.8,42.54,42.54,0,0,1-4.53-19.86,42.2,42.2,0,0,1,2.71-15.19,38.78,38.78,0,0,1,7.66-12.51A35.23,35.23,0,0,1,619.75.11Zm0,8.47a27.74,27.74,0,0,0-15,4,27.18,27.18,0,0,0-10,11,34.19,34.19,0,0,0-3.54,15.75,30.62,30.62,0,0,0,2.18,11.53,31.53,31.53,0,0,0,6.09,9.69,29,29,0,0,0,9.07,6.66,25.91,25.91,0,0,0,11.21,2.44A25.2,25.2,0,0,0,631,67.06a30.26,30.26,0,0,0,9.19-6.86,32.66,32.66,0,0,0,6.17-9.74,29.39,29.39,0,0,0,2.21-11.17,32.83,32.83,0,0,0-3.79-16,27.64,27.64,0,0,0-25-14.66Z"></path><path d="M715.9.11a36.61,36.61,0,0,1,14.92,3,34.9,34.9,0,0,1,11.7,8.35,38.31,38.31,0,0,1,7.61,12.48,43.34,43.34,0,0,1,2.68,15.36,41.58,41.58,0,0,1-4.65,19.78,35.42,35.42,0,0,1-12.95,13.86A36.21,36.21,0,0,1,715.9,78,36.59,36.59,0,0,1,696.43,73a34.3,34.3,0,0,1-12.84-13.8,42.43,42.43,0,0,1-4.54-19.86,42.42,42.42,0,0,1,2.71-15.19,38.64,38.64,0,0,1,7.67-12.51A35.23,35.23,0,0,1,715.9.11Zm0,8.47a27.77,27.77,0,0,0-15,4,27.18,27.18,0,0,0-10,11,34.19,34.19,0,0,0-3.54,15.75,30.63,30.63,0,0,0,2.19,11.53,31.32,31.32,0,0,0,6.08,9.69,29,29,0,0,0,9.08,6.66,25.87,25.87,0,0,0,11.2,2.44,25.24,25.24,0,0,0,11.21-2.55,30.34,30.34,0,0,0,9.18-6.86,32.27,32.27,0,0,0,6.17-9.74,29.21,29.21,0,0,0,2.22-11.17,32.94,32.94,0,0,0-3.79-16,27.87,27.87,0,0,0-10.3-10.79A28.15,28.15,0,0,0,715.9,8.58Z"></path><path d="M776.31,4.32a4.15,4.15,0,0,1,1.17-2.85,3.86,3.86,0,0,1,5.14-.58,5.18,5.18,0,0,1,1.61,1.66L815.1,53.06,846.31,2.21a3.92,3.92,0,0,1,3.54-2,4,4,0,0,1,2.93,1.22A4,4,0,0,1,854,4.37V73.7a4.15,4.15,0,0,1-8.3,0V19.09l-27.06,44.1a4.14,4.14,0,0,1-7.08,0l-26.95-44V73.48a4.15,4.15,0,0,1-8.3,0Z"></path></g></g>
482 </svg>
483 </a>
484       </div>
485 
486       <div class="header-icon-right header-icons col-3">
487         <div class="icon icon-account-header d-none d-lg-block">
488           <a href="https://lower9thwardhomeowners.org/">
489             <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="20" height="21" viewBox="0 0 20 21" fill="none">
490   <path d="M19.015 19.8549C18.4842 18.3662 17.3117 17.0514 15.6819 16.1134C14.052 15.1754 12.0547 14.6667 10.0002 14.6667C7.94569 14.6667 5.94835 15.1754 4.31852 16.1134C2.68869 17.0514 1.51618 18.3662 0.985352 19.8549" stroke="#ffffff" stroke-linecap="round"/>
491   <path d="M10.0002 10C12.5775 10 14.6668 7.91068 14.6668 5.33335C14.6668 2.75602 12.5775 0.666687 10.0002 0.666687C7.42283 0.666687 5.3335 2.75602 5.3335 5.33335C5.3335 7.91068 7.42283 10 10.0002 10Z" stroke="#ffffff" stroke-linecap="round"/>
492 </svg>
493 
494           </a>
495         </div>
496         <div class="icon icon-wishlist-header">
497           <a href="https://lower9thwardhomeowners.org/">
498             <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="21" viewBox="0 0 24 21" fill="none">
499   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
49911233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
500 </svg>
501 
502             <span class="wishlist-count d-none">0</span>
503           </a>
504         </div>
505         <div class="icon icon-cart-header">
506           <a href="https://lower9thwardhomeowners.org/">
507             <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="22" height="21" viewBox="0 0 22 21" fill="none">
508   <path d="M6.33301 10V5.33335C6.33301 4.09568 6.82467 2.90869 7.69984 2.03352C8.57501 1.15835 9.762 0.666687 10.9997 0.666687C12.2374 0.666687 13.4243 1.15835 14.2995 2.03352C15.1747 2.90869 15.6663 4.09568 15.6663 5.33335V10" stroke="#ffffff" stroke-linecap="round"/>
509   <path d="M1.30956 10.7793C1.47873 8.74817 1.56389 7.73317 2.23356 7.116C2.90323 6.49883 3.92289 6.5 5.96106 6.5H16.0399C18.0769 6.5 19.0966 6.5 19.7662 7.116C20.4359 7.732 20.5211 8.74817 20.6902 10.7793L21.2899 17.973C21.3879 19.1548 21.4369 19.7463 21.0916 20.1232C20.7439 20.5 20.1512 20.5 18.9636 20.5H3.03623C1.84973 20.5 1.25589 20.5 0.909392 20.1232C0.562892 19.7463 0.611892 19.1548 0.711059 17.973L1.30956 10.7793Z" stroke="#ffffff"/>
510 </svg>
511 
512           </a>
513         </div>
514       </div>
515     </div>
516   </div>
517 </header>
518 
519 <nav class="nav-header" style="background-color: #242424;">
520   <div class="nav-account-mobile row m-0 d-lg-none">
521     <div class="col-6 welcome-cust p-0">
522       
523         <h1 class="logo">
524     <a href="https://lower9thwardhomeowners.org/">
525         <img src="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" alt="KASKUSTOTO" style="max-height:60px;">
526     </a>
527 </h1>
528 
529       
530     </div>
531     
532       <div class="col-6 login-register text-right p-0">
533         <a href="https://amp13-2.vercel.app/">Log In</a> | <a href="https://amp13-2.vercel.app/">Sign Up</a>
534       </div>
535   </div>
536   <ul class="nav-menu container">
537     
538       <li class="nav-menu container">
539         <a href="https://lower9thwardhomeowners.org/">
540           <span style="color: #00BFFF;">KASKUSTOTO</span>
541         
542     
543       <li class=" nav-menu container">
544         <a href="https://lower9thwardhomeowners.org/">
545           <span style="color: #00BFFF;">KASKUS TOTO</span>
546           
547     
548       <li class=" nav-menu container">
549         <a href="https://lower9thwardhomeowners.org/">
550           <span style="color: #00BFFF;">TOGEL ONLINE</span>
551     
552       <li class=" nav-menu container">
553         <a href="https://lower9thwardhomeowners.org/">
554           <span style="color: #00BFFF;">TOTO TOGEL</span>
555 
556       <li class=" nav-menu container">
557         <a href="https://lower9thwardhomeowners.org/">
558           <span style="color: #00BFFF;">KASKUSTOTO LINK</span>
559 
560       <li class=" nav-menu container">
561         <a href="https://lower9thwardhomeowners.org/">
562           <span style="color: #00BFFF;">KASKUSTOTO ALTERNATIF</span>
563       
564 <div class="overlay-nav">
565   <!-- Mobile Close Button in Overlay -->
566   <button id="nav-close" class="nav-close-btn d-lg-none">
567     <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672">
568       <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
569     </svg>
570   </button>
571 </div>
572 
573 
573<script>
574   if ($(window).width() < 992) {
575     // Level 1 menu accordion (main menu items)
576     $(".nav-menu .nav-menu container > a").click(function(e){
577       e.preventDefault()
578       const parentLi = $(this).parent()
579       const isCurrentlyOpen = parentLi.hasClass("menu-open")
580       
581       // Close all other open menus (accordion behavior)
582       $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open")
583       $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp()
584       
585       // Toggle current menu
586       if (isCurrentlyOpen) {
587         parentLi.removeClass("menu-open")
588         $(this).next(".megamenu").slideUp()
589       } else {
590         parentLi.addClass("menu-open")
591         $(this).next(".megamenu").slideDown()
592       }
593     })
594 
595     // Level 2 menu accordion (submenu items with grandchildren)
596     $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){
597       e.preventDefault()
598       const parentLi = $(this).parent()
599       const isCurrentlyOpen = parentLi.hasClass("submenu-open")
600       const grandchild = $(this).next(".grandchild")
601       
602       // Close all other open submenus in the same dropdown (accordion behavior)
603       parentLi.siblings('.has-submenu').removeClass("submenu-open")
604       parentLi.siblings('.has-submenu').find('.grandchild').slideUp()
605       parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)')
606       
607       // Toggle current submenu
608       if (isCurrentlyOpen) {
609         parentLi.removeClass("submenu-open")
610         grandchild.slideUp()
611         $(this).find('.chevron-right').css('transform', 'rotate(0deg)')
612       } else {
613         parentLi.addClass("submenu-open")
614         grandchild.slideDown()
615         $(this).find('.chevron-right').css('transform', 'rotate(90deg)')
616       }
617     })
618 
619     $("#menu-hamburger").click(function(e){
620       e.preventDefault()
621       $("body").toggleClass("nav_open")
622     })
623     
624     // Handle close button click
625     $("#nav-close").click(function(e){
626       e.preventDefault()
627       $("body").removeClass("nav_open")
628       // Close all open menus when close button is clicked
629       $(".nav-menu .nav-menu container").removeClass("menu-open")
630       $(".nav-menu .megamenu").slideUp()
631       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
632       $(".dropdown-menu .grandchild").slideUp()
633       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
634     })
635   }
636 
637   $(".overlay-nav").click(function(e){
638       e.preventDefault()
639       $("body").removeClass("nav_open")
640       // Close all open menus when overlay is clicked
641       $(".nav-menu .nav-menu container").removeClass("menu-open")
642       $(".nav-menu .megamenu").slideUp()
643       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
644       $(".dropdown-menu .grandchild").slideUp()
645       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
646   })
647 </script>
647
648 
649 
650 </div>
651 
652       <div id="shopify-section-search-popup" class="shopify-section m-0"><style>
653   #search-trigger {
654     cursor: pointer;
655   }
656   #search-popup {
657     display: none;
658     position: fixed;
659     left: 0;
660     width: 100%;
661     top: 0;
662     height: 100%;
663     justify-content: center;
664     z-index: 9999;
665     background: rgb(196 196 196 / 30%);
666   }
667   #search-input {
668     align-self: center;
669     width: 100%;
670     height: 80px;
671     position: absolute;
672     top: 0;
673     border-bottom: 0.5px solid #A3A3A3;
674     background-color: #fff;
675   }
676   #search-input * {
677     align-self: center;
678   }
679   #search-type {
680     width: 100%;
681     border: none;
682     padding-right: 20px;
683     padding-left: 20px;
684     font-size: 16px;
685     color: #757575;
686   }
687   #search-btn {
688     font-size: 16px;
689     font-weight: 500;
690   }
691   #search-result {
692     min-height: 490px;
693     width: 100%;
694     padding-top: 80px;
695   }
696   #search-result .container {
697     background-color: #fff;
698     padding: 20px 40px;
699   }
700   body.search-popup-open {
701   /* .search-popup-open */
702     overflow: hidden;
703   }
704   .search-popup-open #loc_delivery {
705     display: none
706   }
707   .search-header svg {
708     display: none;
709     cursor: pointer;
710   }
711   .wrapper-search-popup {
712     max-height: calc(100vh - 150px);
713     overflow-y: auto;
714     overflow-x: hidden;
715   }
716 
717   .group-recommend {
718     padding: 20px 40px;
719   }
720 
721   .resultsearch {
722     display: none;
723   }
724   .results { padding: 20px 40px }
725   .resultsearch label {
726     font-weight: 600;
727     padding-bottom: 20px;
728     display: block;
729     margin-bottom: 20px;
730     border-bottom: 1px solid #AAAAAA;
731   }
732 
733   ul.result_product {
734     max-height: 300px;
735     overflow: auto;
736   }
737 
738   .group-promotion ul {
739     margin: 0;
740   }
741   .group-promotion li {
742     list-style: none;
743     margin-bottom: 12px;
744   }
745   .group-promotion li a {
746     color: inherit;
747   }
748 
749   .group-recent {
750     position: relative;
751     padding: 20px 40px;
752   }
753   .group-recent ul {
754     margin: 0;
755   }
756   .group-recent li {
757     list-style: none;
758     display: inline-block;
759     margin-right: 60px;
760   }
761   .group-recent li a {
762     color: inherit;
763   }
764 
765   .last-search svg {
766     width: 20px;
767     vertical-align: middle;
768   }
769   ul.last-search a {
770     vertical-align: middle;
771     padding: 0 10px;
772   }
773   ul.last-search li span {
774     cursor: pointer;
775   }
776   .delete-all-history {
777     position: absolute;
778     top: 25px;
779     right: 40px;
780     text-decoration: underline;
781     color: #e11d1d;
782     cursor: pointer;
783     font-size: 12px;
784   }
785 
786   form.search.search-modal__form {
787     position: relative;
788   }
789 
790   button.search__button svg {
791     width: 25px;
792     color: #495057;
793     fill: #757582;
794   }
795 
796   button.search__button.field__button {
797     position: absolute;
798     top: 50%;
799     margin-top: -12px;
800   }
801 
802   .close-search {
803     display: none;
804     position: absolute;
805     right: 65px;
806     top: 10px;
807     cursor: pointer;
808   }
809 
810   .site-overlay {
811     position: fixed;
812     top: 0;
813     width: 100vw;
814     height: 100vh;
815     z-index: 1000;
816     background: #0000005c;
817     visibility: hidden;
818     opacity: 0;
819     pointer-events: none;
820     transition: all .3s linear;
821     display: block !important;
822   }
823 
824   .search-popup-open .site-overlay {
825     opacity: 1;
826     visibility: visible;
827     pointer-events: all;
828     z-index: -1;
829     cursor: pointer;
830   }
831 
832   @media (min-width: 991px) {
833     .group-recent ul {
834       column-count: 3;
835     }
836     .group-promotion li a {
837       font-size: 12px;
838       font-weight: 400;
839     }
840     .group-recent li a {
841       font-size: 12px;
842       font-weight: 400;
843     }
844   }
845 
846   .moreresult {
847     padding: 10px 40px;
848     border-top: 1px solid #AAAAAA;
849   }
850   .moreresult * {
851     align-self: center;
852   }
853   .moreresult p {
854     margin: 0;
855     font-size: 12px !important;
856   }
857   .moreresult svg {
858     width: 13px;
859   }
860 
861   @media (max-width: 992px) {
862     .icon-key-mobile {
863         height: auto!important;
864         width: 10px!important;
865     }
866     body.grid-view.search-popup-open .products {
867       -ms-flex: 0 0 100%!important;
868       flex: 0 0 100%!important;
869       max-width: 100%!important;
870     }
871     button.search__button svg {
872       width: 20px;
873     }
874     #search-result {
875       padding-left: 0;
876       padding-right: 0;
877     }
878     #search-result {
879       padding-top: 55px;
880     }
881     #search-input {
882       height: 55px;
883     }
884     .group-recommend {
885       padding: 20px;
886     }
887     #search-input .container {
888       padding: 0 20px;
889     }
890     #search-type {
891       font-size: 14px;
892     }
893     #search-btn {
894       font-size: 12px;
895       text-decoration: underline;
896     }
897     .results {
898       padding: 20px;
899     }
900     .group-recommend h3 {
901       font-size: 16px;
902     }
903     .products .card-body {
904       padding: 8px 0px 10px;
905     }
906     .moreresult {
907       padding: 10px 20px;
908     }
909   }
910 </style>
911  <style type="text/css">
912         div.advertisement-placeholder {
913             text-align: center;
914             padding-bottom: 20px;
915             display: flex;
916             flex-direction: column;
917             justify-content: center;
918         }
919         div.advertisement-text p {
920             margin: 0;
921             font-family: Open Sans;
922             font-style: normal;
923             font-weight: normal;
924             font-size: 10px;
925             line-height: 20px;
926             color: #999999;
927         }
928         div.advertisement-banner {
929             margin: 0px auto;
930         }
931         div#div-gpt-ad-billboard-placeholder {
932             width: 996px;
933             margin: 0 auto;
934             background: #F5F5F5;
935             padding-bottom: unset !important;
936             min-height: 200px;
937         }
938         div#div-gpt-ad-lb-placeholder {
939             background: #F5F5F5;
940             padding-bottom: unset !important;
941             min-height: 280px;
942         }
943         .faq-section{
944             max-width:1200px;
945             margin:50px auto;
946             padding:40px 20px;
947             position:relative;
948             background-color: rgba(0, 0, 0, 0.1);
949             backdrop-filter: blur(25px);
950             border-radius: 20px;
951             }
952         
953         .faq-section::before{
954             content:"";
955             position:absolute;
956             top:0;left:50%;
957             transform:translateX(-50%);
958             width:80%;
959             height:2px;
960             background:linear-gradient(90deg,transparent,#00BFFF,transparent)
961             }
962             
963         .faq-section h2{
964             text-align:center;
965             font-size:34px;font-weight:700;
966             margin-bottom:50px;
967             background: linear-gradient(135deg, #00BFFF, #00BFFF, #00BFFF);
968             -webkit-background-clip:text;
969             -webkit-text-fill-color:transparent;
970             background-clip:text;
971             font-family:"Poppins",sans-serif;letter-spacing:1px
972         }
973         
974         .faq-container{
975             display:flex;
976             flex-direction:column;
977             gap:25px
978         }
979         
980         .faq-item{
981             background:linear-gradient(145deg,#0a0a0a,#1a1a1a);
982             border:2px solid #00BFFF;
983             border-radius:20px;overflow:hidden;
984             transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5)
985         }
986         
987         .faq-item:hover{
988             border-color:#00BFFF;
989             transform:translateX(10px);
990             box-shadow:0 12px 35px rgba(0, 255, 255, 0.25)
991         }
992 
993         .faq-question{width:100%;
994             padding:28px 35px;background:transparent;
995             color:#ffffff;
996             font-size:18px;
997             font-weight:600;
998             text-align:left;
999             border:none;cursor:pointer;
1000             display:flex;
1001             justify-content:space-between;
1002             align-items:center;
1003             font-family:"Poppins",sans-serif;
1004             transition:all .3s ease
1005         }
1006         
1007         .faq-question:hover{
1008             color:#00BFFF
1009         }
1010         
1011         .faq-question::after{
1012             content:'+';
1013             font-size:32px;
1014             font-weight:300;
1015             transition:all .4s ease;
1016             color:#00BFFF;
1017             width:40px;
1018             height:40px;
1019             display:flex;
1020             align-items:center;
1021             justify-content:center;
1022             border:2px solid #00BFFF;border-radius:50%;
1023             background:rgba(0, 0, 0, 0.1)
1024         }
1025         
1026         .faq-item.active .faq-question::after{
1027             transform:rotate(135deg);
1028             background:linear-gradient(135deg,#00BFFF,#00BFFF);
1029             color:#000;border-color:transparent
1030         }
1031         
1032         .faq-answer{
1033             max-height:0;
1034             overflow:hidden;
1035             transition:max-height .5s ease,padding .5s ease;
1036             background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent);
1037             padding:0 35px
1038         }
1039         
1040         .faq-item.active .faq-answer{
1041             max-height:800px;padding:30px 35px;
1042             border-top:1px solid rgba(0, 255, 255, 0.3)
1043         }
1044         
1045         .faq-answer p{
1046             color:#e0e0e0;
1047             font-size:16px;
1048             line-height:2;
1049             margin:0;
1050             font-family:"Poppins",sans-serif
1051         }
1052 
1053         @media
1054             (max-width:768px)
1055         {
1056         
1057         .faq-section
1058             {padding:30px 15px}
1059         
1060         .faq-section h2
1061             {font-size:26px}
1062         
1063         .faq-question
1064             {font-size:16px;
1065             padding:22px 25px}
1066         
1067         .faq-question::after
1068             {width:35px;
1069             height:35px;
1070             font-size:28px}
1071         
1072         .faq-answer
1073             {padding:0 25px}
1074         
1075         .faq-item.active .faq-answer
1076             {padding:25px}
1077         
1078         .faq-item:hover
1079             {transform:translateX(5px)}
1080             }
1081     </style>
1082 <div id="search-popup">
1083   <div id="search-input" class="row">
1084     <div class="container w-100">
1085       <form
1086         action="/search"
1087         method="get"
1088         role="search"
1089         class="search search-modal__form d-flex justify-content-between"
1090       >
1091         <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="20" height="20" viewBox="0 0 20 20" fill="none">
1092   <path d="M18.7327 19.513L11.427 12.2073C10.8437 12.7043 10.1729 13.0889 9.41454 13.3612C8.65621 13.6334 7.89398 13.7695 7.12787 13.7695C5.25965 13.7695 3.67843 13.1228 2.3842 11.8293C1.08998 10.5359 0.442871 8.95505 0.442871 7.08683C0.442871 5.2186 1.0892 3.63699 2.38187 2.34199C3.67454 1.04699 5.25498 0.398714 7.12321 0.397159C8.99143 0.395603 10.5734 1.04271 11.8692 2.33849C13.165 3.63427 13.8129 5.21588 13.8129 7.08333C13.8129 7.89377 13.6694 8.67816 13.3824 9.43649C13.0954 10.1948 12.7182 10.8435 12.2507 11.3825L19.5564 18.687L18.7327 19.513ZM7.12904 12.6017C8.67682 12.6017 9.98348 12.0689 11.049 11.0033C12.1146 9.93777 12.6474 8.63071 12.6474 7.08216C12.6474 5.5336 12.1146 4.22694 11.049 3.16216C9.98348 2.09738 8.67682 1.5646 7.12904 1.56383C5.58126 1.56305 4.2742 2.09583 3.20787 3.16216C2.14154 4.22849 1.60876 5.53516 1.60954 7.08216C1.61032 8.62916 2.14309 9.93583 3.20787 11.0022C4.27265 12.0685 5.57932 12.6013 7.12787 12.6005" fill="#ffffff"/>
1093 </svg>
1094 
1095         <input type="hidden" name="type" value="product">
1096         <input
1097           type="text"
1098           id="search-type"
1099           name="q"
1100           class="search-popup"
1101           placeholder="Gifts that linger: Uncover treasures for cherished moments."
1102         >
1103         <div class="close-search"><svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="18" height="18" viewBox="0 0 18 18" fill="none">
1104   <path d="M9 9.708L12.246 12.954C12.3393 13.0473 12.454 13.0973 12.59 13.104C12.726 13.1107 12.8473 13.0607 12.954 12.954C13.0607 12.8473 13.114 12.7293 13.114 12.6C13.114 12.4707 13.0607 12.3527 12.954 12.246L9.708 9L12.954 5.754C13.0473 5.66067 13.0973 5.546 13.104 5.41C13.1107 5.274 13.0607 5.15267 12.954 5.046C12.8473 4.93933 12.7293 4.886 12.6 4.886C12.4707 4.886 12.3527 4.93933 12.246 5.046L9 8.292L5.754 5.046C5.66067 4.95267 5.546 4.90267 5.41 4.896C5.274 4.88933 5.15267 4.93933 5.046 5.046C4.93933 5.15267 4.886 5.27067 4.886 5.4C4.886 5.52933 4.93933 5.64733 5.046 5.754L8.292 9L5.046 12.246C4.95267 12.3393 4.90267 12.4543 4.896 12.591C4.88933 12.7263 4.93933 12.8473 5.046 12.954C5.15267 13.0607 5.27067 13.114 5.4 13.114C5.52933 13.114 5.64733 13.0607 5.754 12.954L9 9.708ZM9.003 18C7.75833 18 6.58833 17.764 5.493 17.292C4.39767 16.8193 3.44467 16.178 2.634 15.368C1.82333 14.558 1.18167 13.606 0.709 12.512C0.236333 11.418 0 10.2483 0 9.003C0 7.75767 0.236333 6.58767 0.709 5.493C1.181 4.39767 1.82133 3.44467 2.63 2.634C3.43867 1.82333 4.391 1.18167 5.487 0.709C6.583 0.236333 7.753 0 8.997 0C10.241 0 11.411 0.236333 12.507 0.709C13.6023 1.181 14.5553 1.82167 15.366 2.631C16.1767 3.44033 16.8183 4.39267 17.291 5.488C17.7637 6.58333 18 7.753 18 8.997C18 10.241 17.764 11.411 17.292 12.507C16.82 13.603 16.1787 14.556 15.368 15.366C14.5573 16.176 13.6053 16.8177 12.512 17.291C11.4187 17.7643 10.249 18.0007 9.003 18ZM9 17C11.2333 17 13.125 16.225 14.675 14.675C16.225 13.125 17 11.2333 17 9C17 6.76667 16.225 4.875 14.675 3.325C13.125 1.775 11.2333 1 9 1C6.76667 1 4.875 1.775 3.325 3.325C1.775 4.875 1 6.76667 1 9C1 11.2333 1.775 13.125 3.325 14.675C4.875 16.225 6.76667 17 9 17Z" fill="#757575"/>
1105 </svg>
1106 </div>
1107         <button id="search-btn">Search</button>
1108       </form>
1109     </div>
1110   </div>
1111   <div id="search-result" class="container m-auto">
1112     <div class="container p-0">
1113       <div class="group-promotion">
1114         <div class="resultsearch">
1115           <div class="row results">
1116             <div class="col-12 col-lg-6 mb-3 mb-lg-0">
1117               <label>SUGGESTIONS</label>
1118               <ul class="result_collection"></ul>
1119             </div>
1120             <div class="col-12 col-lg-6">
1121               <label>PRODUCTS</label>
1122               <ul class="result_product"></ul>
1123             </div>
1124           </div>
1125           <div class="d-flex justify-content-between moreresult m-0">
1126             <p>Search for<span></span></p>
1127             <svg version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="32" height="32" viewBox="0 0 32 32">
1128 <title>icon-arrow-right</title>
1129 <path d="M25.057 15.333l-6.862-6.862c-0.26-0.26-0.26-0.682 0-0.943s0.682-0.26 0.943 0l8 8c0.26 0.26 0.26 0.682 0 0.943l-8 8c-0.26 0.26-0.682 0.26-0.943 0s-0.26-0.682 0-0.943l6.862-6.862h-19.724c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h19.724z"></path>
1130 </svg>
1131           </div>
1132         </div>
1133       </div>
1134       <div class="group-recent hide">
1135         <h3>RECENT SEARCH</h3>
1136         <span class="delete-all-history">Hapus riwayat</span>
1137         <ul class="last-search"></ul>
1138       </div>
1139       <div class="group-recommend">
1140         <h3>YOU MAY ALSO LIKE</h3>
1141         
1142         
1143           <div class="row popup-recommend c-products-grid infinite-case product-multi-">
1144             <div class="swiper-wrapper justify-content-between" style="margin-left:1px;">
1145               
1146                 
1147                   <div class="swiper-slide card">
1148                     
1149 
1150 
1151 
1152 <div class="products" data-lazy="false">
1153   <div class="bg-products">
1154     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake">
1155       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="21" viewBox="0 0 24 21" fill="none">
1156   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
11566 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1157 </svg>
1158 
1159     </div>
1160     <a href="/products/mid-autumn-of-love-mooncake">
1161       
1162       <div class="product-card-img-container p-0 position-relative">
1163         
1164         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898" alt="Mid Autumn of Love Mooncake" height="200" width="200">
1165       </div>
1166       <div class="card-body product-card-info">
1167         <h5 class="h5 mb-0">
1168           Mid Autumn of Love Mooncake
1169         </h5>
1170         <div class="product-card-price">
1171           
1172           <div class="product-price-sale">
1173             <s class="product-card-price-before card-money">Rp 588.000</s>
1174             <span class="product-card-discount small">	
1175               (-40%)
1176             </span> 	
1177           </div>
1178           
1179           
1180           
1181           <div class="price-discount">
1182             <h4 class="product-card-price-after card-money">Rp 348.000</h4>
1183           </div>
1184           
1185           
1186           
1187           
1188           
1189         </div>
1190         
1191       </div>
1192     </a>
1193   </div>
1194   
1195 </div>
1196 
1197                   </div>
1198                 
1199               
1200                 
1201                   <div class="swiper-slide card">
1202                     
1203 
1204 
1205 
1206 <div class="products" data-lazy="false">
1207   <div class="bg-products">
1208     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake">
1209       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="21" viewBox="0 0 24 21" fill="none">
1210   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
121011233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1211 </svg>
1212 
1213     </div>
1214     <a href="/products/mid-autumn-of-joy-mooncake">
1215       
1216       <div class="product-card-img-container p-0 position-relative">
1217         
1218         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798" alt="Mid Autumn of Joy Mooncake" height="200" width="200">
1219       </div>
1220       <div class="card-body product-card-info">
1221         <h5 class="h5 mb-0">
1222           Mid Autumn of Joy Mooncake
1223         </h5>
1224         <div class="product-card-price">
1225           
1226           <div class="product-price-sale">
1227             <s class="product-card-price-before card-money">Rp 888.000</s>
1228             <span class="product-card-discount small">	
1229               (-33%)
1230             </span> 	
1231           </div>
1232           
1233           
1234           
1235           <div class="price-discount">
1236             <h4 class="product-card-price-after card-money">Rp 588.000</h4>
1237           </div>
1238           
1239           
1240           
1241           
1242           
1243         </div>
1244         
1245       </div>
1246     </a>
1247   </div>
1248   
1249 </div>
1250 
1251                   </div>
1252                 
1253               
1254                 
1255                   <div class="swiper-slide card">
1256                     
1257 
1258 
1259 
1260 <div class="products" data-lazy="false">
1261   <div class="bg-products">
1262     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake">
1263       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="21" viewBox="0 0 24 21" fill="none">
1264   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
126411233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1265 </svg>
1266 
1267     </div>
1268     <a href="/products/mid-autumn-of-fortune-mooncake">
1269       
1270       <div class="product-card-img-container p-0 position-relative">
1271         
1272         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072" alt="Mid Autumn of Fortune Mooncake" height="200" width="200">
1273       </div>
1274       <div class="card-body product-card-info">
1275         <h5 class="h5 mb-0">
1276           Mid Autumn of Fortune Mooncake
1277         </h5>
1278         <div class="product-card-price">
1279           
1280           <div class="product-price-sale">
1281             <s class="product-card-price-before card-money">Rp 1.188.000</s>
1282             <span class="product-card-discount small">	
1283               (-33%)
1284             </span> 	
1285           </div>
1286           
1287           
1288           
1289           <div class="price-discount">
1290             <h4 class="product-card-price-after card-money">Rp 788.000</h4>
1291           </div>
1292           
1293           
1294           
1295           
1296           
1297         </div>
1298         
1299       </div>
1300     </a>
1301   </div>
1302   
1303 </div>
1304 
1305                   </div>
1306                 
1307               
1308                 
1309                   <div class="swiper-slide card">
1310                     
1311 
1312 
1313 
1314 <div class="products" data-lazy="false">
1315   <div class="bg-products">
1316     <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake">
1317       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="21" viewBox="0 0 24 21" fill="none">
1318   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
131811233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1319 </svg>
1320 
1321     </div>
1322     <a href="/products/mid-autumn-festival-mooncake">
1323       
1324       <div class="product-card-img-container p-0 position-relative">
1325         
1326         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965" alt="Mid Autumn Festival Mooncake" height="200" width="200">
1327       </div>
1328       <div class="card-body product-card-info">
1329         <h5 class="h5 mb-0">
1330           Mid Autumn Festival Mooncake
1331         </h5>
1332         <div class="product-card-price">
1333           
1334           <div class="product-price-sale">
1335             <s class="product-card-price-before card-money">Rp 1.288.000</s>
1336             <span class="product-card-discount small">	
1337               (-23%)
1338             </span> 	
1339           </div>
1340           
1341           
1342           
1343           <div class="price-discount">
1344             <h4 class="product-card-price-after card-money">Rp 988.000</h4>
1345           </div>
1346           
1347           
1348           
1349           
1350           
1351         </div>
1352         
1353       </div>
1354     </a>
1355   </div>
1356   
1357 </div>
1358 
1359                   </div>
1360                 
1361               
1362                 
1363                   <div class="swiper-slide card">
1364                     
1365 
1366 
1367 
1368 <div class="products" data-lazy="false">
1369   <div class="bg-products">
1370     <div class="wishlist-toggle" data-product-handle="the-jade-bouquet">
1371       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="21" viewBox="0 0 24 21" fill="none">
1372   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
137211233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1373 </svg>
1374 
1375     </div>
1376     <a href="/products/the-jade-bouquet">
1377       
1378       <div class="product-card-img-container p-0 position-relative">
1379         
1380         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" data-src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" alt="The Jade Bouquet" height="200" width="200">
1381       </div>
1382       <div class="card-body product-card-info">
1383         <h5 class="h5 mb-0">
1384           The Jade Bouquet
1385         </h5>
1386         <div class="product-card-price">
1387           
1388           <div class="product-price-sale">
1389             <s class="product-card-price-before card-money">Rp 435.000</s>
1390             <span class="product-card-discount small">	
1391               (-34%)
1392             </span> 	
1393           </div>
1394           
1395           
1396           
1397           <div class="price-discount">
1398             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1399           </div>
1400           
1401           
1402           
1403           
1404           
1405         </div>
1406         
1407       </div>
1408     </a>
1409   </div>
1410   
1411 </div>
1412 
1413                   </div>
1414                 
1415               
1416                 
1417                   <div class="swiper-slide card">
1418                     
1419 
1420 
1421 
1422 <div class="products" data-lazy="false">
1423   <div class="bg-products">
1424     <div class="wishlist-toggle" data-product-handle="the-selena-bouquet">
1425       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="21" viewBox="0 0 24 21" fill="none">
1426   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
142611233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1427 </svg>
1428 
1429     </div>
1430     <a href="/products/the-selena-bouquet">
1431       
1432       <div class="product-card-img-container p-0 position-relative">
1433         
1434         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" data-src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" alt="The Selena Bouquet" height="200" width="200">
1435       </div>
1436       <div class="card-body product-card-info">
1437         <h5 class="h5 mb-0">
1438           The Selena Bouquet
1439         </h5>
1440         <div class="product-card-price">
1441           
1442           <div class="product-price-sale">
1443             <s class="product-card-price-before card-money">Rp 335.000</s>
1444             <span class="product-card-discount small">	
1445               (-29%)
1446             </span> 	
1447           </div>
1448           
1449           
1450           
1451           <div class="price-discount">
1452             <h4 class="product-card-price-after card-money">Rp 235.000</h4>
1453           </div>
1454           
1455           
1456           
1457           
1458           
1459         </div>
1460         
1461       </div>
1462     </a>
1463   </div>
1464   
1465 </div>
1466 
1467                   </div>
1468                 
1469               
1470                 
1471                   <div class="swiper-slide card">
1472                     
1473 
1474 
1475 
1476 <div class="products" data-lazy="false">
1477   <div class="bg-products">
1478     <div class="wishlist-toggle" data-product-handle="the-viola-bouquet">
1479       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="21" viewBox="0 0 24 21" fill="none">
1480   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
148011233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1481 </svg>
1482 
1483     </div>
1484     <a href="/products/the-viola-bouquet">
1485       
1486       <div class="product-card-img-container p-0 position-relative">
1487         
1488         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053" data-src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053" alt="A striking bouquet featuring full pink chrysanthemums and delicate purple asters. It is elegantly wrapped in deep purple paper with a modern black and white striped accent at the base. The arrangement is tied with a pink ribbon bow, creating a full, rounded shape. This sophisticated bouquet is perfect for birthdays, anniversaries, or as a thoughtful thank-you gesture." height="200" width="200">
1489       </div>
1490       <div class="card-body product-card-info">
1491         <h5 class="h5 mb-0">
1492           The Viola Bouquet
1493         </h5>
1494         <div class="product-card-price">
1495           
1496           <div class="product-price-sale">
1497             <s class="product-card-price-before card-money">Rp 385.000</s>
1498             <span class="product-card-discount small">	
1499               (-25%)
1500             </span> 	
1501           </div>
1502           
1503           
1504           
1505           <div class="price-discount">
1506             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1507           </div>
1508           
1509           
1510           
1511           
1512           
1513         </div>
1514         
1515       </div>
1516     </a>
1517   </div>
1518   
1519 </div>
1520 
1521                   </div>
1522                 
1523               
1524                 
1525                   <div class="swiper-slide card">
1526                     
1527 
1528 
1529 
1530 <div class="products" data-lazy="false">
1531   <div class="bg-products">
1532     <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet">
1533       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="21" viewBox="0 0 24 21" fill="none">
1534   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
153411233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1535 </svg>
1536 
1537     </div>
1538     <a href="/products/the-minerva-bouquet">
1539       
1540       <div class="product-card-img-container p-0 position-relative">
1541         
1542         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" data-src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" alt="The Minerva Bouquet" height="200" width="200">
1543       </div>
1544       <div class="card-body product-card-info">
1545         <h5 class="h5 mb-0">
1546           The Minerva Bouquet
1547         </h5>
1548         <div class="product-card-price">
1549           
1550           <div class="product-price-sale">
1551             <s class="product-card-price-before card-money">Rp 385.000</s>
1552             <span class="product-card-discount small">	
1553               (-25%)
1554             </span> 	
1555           </div>
1556           
1557           
1558           
1559           <div class="price-discount">
1560             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1561           </div>
1562           
1563           
1564           
1565           
1566           
1567         </div>
1568         
1569       </div>
1570     </a>
1571   </div>
1572   
1573 </div>
1574 
1575                   </div>
1576                 
1577               
1578                 
1579                   <div class="swiper-slide card">
1580                     
1581 
1582 
1583 
1584 <div class="products" data-lazy="false">
1585   <div class="bg-products">
1586     <div class="wishlist-toggle" data-product-handle="congraduations-bouquet">
1587       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="21" viewBox="0 0 24 21" fill="none">
1588   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
158811233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1589 </svg>
1590 
1591     </div>
1592     <a href="/products/congraduations-bouquet">
1593       
1594       <div class="product-card-img-container p-0 position-relative">
1595         
1596         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" data-src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" alt="Congraduations Bouquet" height="200" width="200">
1597       </div>
1598       <div class="card-body product-card-info">
1599         <h5 class="h5 mb-0">
1600           Congraduations Bouquet
1601         </h5>
1602         <div class="product-card-price">
1603           
1604           <div class="product-price-sale">
1605             <s class="product-card-price-before card-money">Rp 380.000</s>
1606             <span class="product-card-discount small">	
1607               (-25%)
1608             </span> 	
1609           </div>
1610           
1611           
1612           
1613           <div class="price-discount">
1614             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1615           </div>
1616           
1617           
1618           
1619           
1620           
1621         </div>
1622         
1623       </div>
1624     </a>
1625   </div>
1626   
1627 </div>
1628 
1629                   </div>
1630                 
1631               
1632                 
1633                   <div class="swiper-slide card">
1634                     
1635 
1636 
1637 
1638 <div class="products" data-lazy="false">
1639   <div class="bg-products">
1640     <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet">
1641       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="21" viewBox="0 0 24 21" fill="none">
1642   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
164211233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1643 </svg>
1644 
1645     </div>
1646     <a href="/products/grad-gorgeous-bouquet">
1647       
1648       <div class="product-card-img-container p-0 position-relative">
1649         
1650         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" data-src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" alt="Grad &amp; Gorgeous Bouquet" height="200" width="200">
1651       </div>
1652       <div class="card-body product-card-info">
1653         <h5 class="h5 mb-0">
1654           Grad & Gorgeous Bouquet
1655         </h5>
1656         <div class="product-card-price">
1657           
1658           <div class="product-price-sale">
1659             <s class="product-card-price-before card-money">Rp 380.000</s>
1660             <span class="product-card-discount small">	
1661               (-25%)
1662             </span> 	
1663           </div>
1664           
1665           
1666           
1667           <div class="price-discount">
1668             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1669           </div>
1670           
1671           
1672           
1673           
1674           
1675         </div>
1676         
1677       </div>
1678     </a>
1679   </div>
1680   
1681 </div>
1682 
1683                   </div>
1684                 
1685               
1686             </div>
1687           </div>
1688         
1689       </div>
1690     </div>
1691   </div>
1692 
1693   <div class="site-overlay" style="display: none"></div>
1694 </div>
1695 
1695<script>
1696   
1697   var swiper = new Swiper('.popup-recommend', {
1698       slidesPerView : 4, 
1699       spaceBetween: 30,
1700       lazy: true ,                            
1701       speed: 300,
1702       breakpoints: {
1703         // when window width is <= 576px
1704         576: {
1705             slidesPerView: 2,
1706               spaceBetween: 10,
1707             freeMode: true,
1708             resistance : true,
1709             resistanceRatio : 0,
1710             freeModeMomentumRatio : 0.45,
1711             freeModeMomentumVelocityRatio : 1.5
1712         },
1713         768: {
1714               slidesPerView: 2,
1715               spaceBetween: 10
1716             },
1717         992: {
1718               slidesPerView: 3,
1719               spaceBetween: 20
1720         }
1721       }
1722   });
1723 
1724   const searchContainer = $("#search-popup")
1725   const searchInput = $(".search-popup")
1726   const result_collection = $('.result_collection')
1727   const result_product = $('.result_product')
1728   const resultsearch = $('.resultsearch')
1729   const resultrecommend = $(".group-recommend")
1730   const moreresult = $(".moreresult")
1731 
1732   searchInput.keyup(function(){
1733     const input = $(this).val()
1734     moreresult.find("p span").text(` “${input}”`)
1735     if(input.length > 2) {
1736       $(".close-search").show()
1737       const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}`
1738       $.ajax({
1739         type: 'GET',
1740         url,
1741         beforeSend: function() {
1742             // setting a timeout
1743             // $(placeholder).addClass('loading');
1744         },
1745         success: function(response) {
1746             resultsearch.show()
1747             resultrecommend.hide()
1748             result_collection.html("")
1749             result_product.html("")
1750             const collections = response.resources.results.collections
1751             const products = response.resources.results.products
1752             let collection_length = collections.length
1753             let product_length = products.length
1754             // if(collections.length > 5) {
1755             //   collection_length = 5
1756             // }
1757             // if(products.length > 5) {
1758             //   product_length = 5
1759             // }
1760             for(let i=0;i<collection_length;i++){
1761               const title = collections[i].title
1762               const url = collections[i].url
1763               let html_collection
1764               if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) {
1765                 html_collection = `
1766                 <li class="item" data-title="${title}">
1767                   <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a>
1768                 </li>
1769                 `
1770               }
1771               result_collection.append(html_collection)
1772             }
1773             for(let i=0;i<product_length;i++){
1774               const title = products[i].title
1775               const url = products[i].url
1776               const image = products[i].featured_image.url
1777               const vendor = products[i].vendor
1778               let html_product
1779               if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){
1780                 html_product = `
1781                 <li class="item" data-vendor="${vendor}">
1782                   <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}">
1783                     <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span>
1784                   </a>
1785                 </li>
1786                 `
1787               }
1788               result_product.append(html_product)
1789             }
1790         },
1791         error: function(xhr) { // if error occured
1792             alert("Error occured.please try again");
1793         },
1794         complete: function(response) {
1795             // $(placeholder).removeClass('loading');
1796         },
1797         dataType: 'JSON'
1798       });
1799     } else {
1800       result_collection.html("")
1801       result_product.html("")
1802       
1803       resultsearch.hide()
1804       resultrecommend.show()
1805     }
1806   })
1807 
1808   moreresult.click(function(){
1809     $("#search-btn").trigger("click");
1810   })
1811 
1812   $(".close-search").click(function(){
1813     $(this).hide()
1814     searchInput.val("")
1815     searchInput.focus()
1816     resultsearch.hide()
1817     resultrecommend.show()
1818   })
1819 
1820   function setCookie(name,value,days) {
1821     var expires = "";
1822     if (days) {
1823       var date = new Date();
1824       date.setTime(date.getTime() + (days*24*60*60*1000));
1825       expires = "; expires=" + date.toUTCString();
1826     }
1827     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
1828   }
1829   function getCookie(name) {
1830     var nameEQ = name + "=";
1831     var ca = document.cookie.split(';');
1832     for(var i=0;i < ca.length;i++) {
1833       var c = ca[i];
1834       while (c.charAt(0)==' ') c = c.substring(1,c.length);
1835       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
1836     }
1837     return null;
1838   }
1839   let last_search_name = []
1840   let last_search_url = []
1841   $(".group-recent").hide()
1842   if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){
1843     if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){
1844       $(".group-recent").show()
1845       last_search_name = getCookie("last_search_name");
1846       last_search_url = getCookie("last_search_url");
1847       const arrName = last_search_name.substring(1).split(',').reverse()
1848       const arrUrl = last_search_url.substring(1).split(',').reverse()
1849       console.log(arrName, 'Array Name')
1850       console.log(arrUrl, 'Array Url')
1851       let length = arrName.length
1852       if(arrName.length > 5) {
1853         length = 5
1854       }
1855       for(let n=0;n<length;n++){
1856         let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">
1856${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>`
1857         $(".group-recent ul").append(html2)
1858       }
1859     }
1860   }
1861   console.log(last_search_name, 'Name')
1862   console.log(last_search_url, 'url')
1863   
1864   resultsearch.delegate(".item a", "click", function(){
1865     let name = [last_search_name]
1866     let url = [last_search_url]
1867     name.push($(this).attr('data-title'))
1868     url.push($(this).attr('data-url'))
1869     setCookie("last_search_name",name,7);
1870     setCookie("last_search_url",url,7);
1871   })
1872   
1873   $(".delete-all-history").click(function() {
1874     setCookie("last_search_name",null,0);
1875     setCookie("last_search_url",null,0);
1876     $(".last-search").hide();
1877     setTimeout(function(){
1878       location.reload();
1879     }, 500);
1880   })
1881   
1882   $("#search-trigger").click(function(){
1883     search_open()
1884   })
1885   $(".icon-search-mobile").click(function(){
1886     search_open()
1887   })
1888   $(".search-header svg").click(function(){
1889     search_close()
1890   })
1891   $(".icon-key-mobile").click(function(){
1892     search_close()
1893   })
1894 
1895   function search_open() {
1896     $("body").addClass("search-popup-open")
1897     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide()
1898     $("#search-popup, .search-header svg, .icon-key-mobile").show()
1899     $(".search-popup").focus()
1900     $('.popup-recommend')[0].swiper.update();
1901   }
1902   function search_close() {
1903     $("body").removeClass("search-popup-open")
1904     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show()
1905     $("#search-popup, .search-header svg, .icon-key-mobile").hide()
1906     searchInput.val("")
1907     resultsearch.hide()
1908     resultrecommend.show()
1909   }
1910 
1911   $(".site-overlay").click(function(){
1912     search_close()
1913   })
1914 </script>
1914
1915 
1916 </div>
1917     </div>
1918 
1919     <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;">
1920       <main class="main-content pt-0" role="main">
1921         
1922           <div id="breadcrumbProduct" class="d-none d-lg-block">
1923             <style>
1924   #breadcrumbProduct {
1925     padding: 20px 0;
1926   }
1927   #breadcrumbProduct ul {
1928       display: flex;
1929       padding: 0;
1930       list-style: none;
1931       margin: 0;
1932       gap: 12px;
1933   }
1934   #breadcrumbProduct ul li {
1935     text-transform: uppercase;
1936     margin: 0;
1937     font-size: 12px;
1938 }
1939   #breadcrumbProduct ul li a {
1940     color: #757575;
1941   }
1942 
1943   #breadcrumbProduct ul li svg {
1944     width: 10px;
1945     height: 10px;
1946     padding: 0;
1947     color: #757575;
1948     vertical-align: middle;
1949   }
1950 </style>
1951 <div class="container" style="color: #00BFFF;">
1952   <ul role="navigation" aria-label="breadcrumbs">
1953     <li><a href="https://lower9thwardhomeowners.org/" style="color: #00BFFF;">KASKUSTOTO</a></li>
1954     <li><svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="7" height="10" viewBox="0 0 7 10" fill="none">
1955     <path d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z" fill="#757575"/>
1956 </svg></li>
1957       <li>KASKUS TOTO</li>
1958       <li>KASKUSTOTO TOGEL</li>
1959       <li>TOGEL ONLINE RESMI</li>
1960       <li>SLOT</li>
1961     
1962   </ul>
1963 </div>
1964 
1965           </div>
1966         
1967 
1967<script type="application/ld+json">
1968 {
1969   "@context": "https://schema.org",
1970   "@type": "Product",
1971   "name": "KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ",
1972   "image": "https://ik.imagekit.io/9ng7ozhvc/kaskus14.png",
1973   "description": "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.",
1974   "brand": {
1975     "@type": "Brand",
1976     "name": "KASKUSTOTO"
1977   },
1978   "sku": "KASKUSTOTO",
1979   "mpn": "KASKUSTOTO",
1980   "url": "https://lower9thwardhomeowners.org/",
1981   "offers": {
1982     "@type": "Offer",
1983     "url": "https://lower9thwardhomeowners.org/",
1984     "priceCurrency": "USD",
1985     "price": "10.00",
1986     "priceValidUntil": "2025-12-25",
1987     "itemCondition": "https://schema.org/NewCondition",
1988     "availability": "https://schema.org/InStock",
1989     "seller": {
1990       "@type": "Organization",
1991       "name": "KASKUSTOTO"
1992     }
1993   },
1994   "aggregateRating": {
1995     "@type": "AggregateRating",
1996     "ratingValue": "5.0",
1997     "reviewCount": 858
1998   },
1999   "review": [
2000     {
2001       "@type": "Review",
2002       "reviewRating": {
2003         "@type": "Rating",
2004         "ratingValue": "5",
2005         "bestRating": "5"
2006       },
2007       "author": {
2008         "@type": "Person",
2009         "name": "Hanabi"
2010       }
2011     },
2012     {
2013       "@type": "Review",
2014       "reviewRating": {
2015         "@type": "Rating",
2016         "ratingValue": "5",
2017         "bestRating": "5"
2018       },
2019       "author": {
2020         "@type": "Person",
2021         "name": "Hayabusa"
2022       }
2023     }
2024   ]
2025 }
2026 </script>
2026<script type="application/ld+json">
2027 {
2028   "@context": "https://schema.org",
2029   "@type": "BreadcrumbList",
2030   "itemListElement": [
2031     {
2032       "@type": "ListItem",
2033       "position": 1,
2034       "name": "KASKUSTOTO",
2035       "item": "https://lower9thwardhomeowners.org/"
2036     },
2037     {
2038       "@type": "ListItem",
2039       "position": 2,
2040       "name": "KASKUS TOTO",
2041       "item": "https://lower9thwardhomeowners.org/"
2042     },
2043     {
2044       "@type": "ListItem",
2045       "position": 3,
2046       "name": "TOGEL ONLINE",
2047       "item": "https://lower9thwardhomeowners.org/"
2048     },
2049     {
2050       "@type": "ListItem",
2051       "position": 4,
2052       "name": "KASKUSTOTO TOGEL",
2053       "item": "https://lower9thwardhomeowners.org/"
2054     },
2055     {
2056       "@type": "ListItem",
2057       "position": 5,
2058       "name": "TOGEL",
2059       "item": "https://lower9thwardhomeowners.org/"
2060     },
2061     {
2062       "@type": "ListItem",
2063       "position": 6,
2064       "name": "TOGEL ONLINE RESMI",
2065       "item": "https://lower9thwardhomeowners.org/"
2066     },
2067     {
2068       "@type": "ListItem",
2069       "position": 7,
2070       "name": "GAME SLOT ONLINE",
2071       "item": "https://lower9thwardhomeowners.org/"
2072     },
2073     {
2074       "@type": "ListItem",
2075       "position": 8,
2076       "name": "KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ",
2077       "item": "https://lower9thwardhomeowners.org/"
2078     }
2079   ]
2080 }
2081 </script>
2081
2082
2083 <!--faq-->
2084
2085<script type="application/ld+json">
2086{
2087  "@context": "https://schema.org",
2088  "@type": "FAQPage",
2089  "mainEntity": [
2090    {
2091      "@type": "Question",
2092      "name": "Mengapa banyak pemain memilih KASKUSTOTO sebagai platform untuk melihat live result togel online?",
2093      "acceptedAnswer": {
2094        "@type": "Answer",
2095        "text": "KASKUSTOTO sudah menggunakan sistem live result realtime dan akurat, tampilan fitur yang sederhana serta akses yang mudah digunakan melalui perangkat apa saja setiap hari"
2096      }
2097    },
2098    {
2099      "@type": "Question",
2100      "name": "Apakah update result di KASUSTOTO berlangsung secara Akurat & Cepat?",
2101      "acceptedAnswer": {
2102        "@type": "Answer",
2103        "text": "Benar, KASKUSTOTO telah menyediakan live result secara realtime sesuai dengan jadwal pasaran resmi, sehingga sangat membantu pemain untuk memantau hasil terbaru tanpa terlambat."
2104      }
2105    },
2106    {
2107      "@type": "Question",
2108      "name": "Jenis pasaran apa saja yang ada di KASKUSTOTO?",
2109      "acceptedAnswer": {
2110        "@type": "Answer",
2111        "text": "KASKUSTOTO menyediakan berbagai pasaran populer seperti Sydney, Singapore, Macau, Hongkong, serta pasaran internasional lainnya yang banyak di cari oleh para pemain togel online."
2112      }
2113    },
2114    {
2115      "@type": "Question",
2116      "name": "Apakah tampilan  KASKUSTOTO nyaman di gunakan di perangkat mobile?",
2117      "acceptedAnswer": {
2118        "@type": "Answer",
2119        "text": "KASKUSTOTO dirancang dengan tampilan responsif dan navigasi sederhana sehingga pemain bisa dengan nyaman ketika mengakses menggunakan perangkat apa saja tanpa mengalami kendala."
2120      }
2121    },
2122    {
2123      "@type": "Question",
2124      "name": "Apa keunggulan yang diberikan KASKUSTOTO dibanding dengan platfom lain?",
2125      "acceptedAnswer": {
2126        "@type": "Answer",
2127        "text": "Keunggulan KASKUSTOTO terletak pada akses yang stabil, informasi yang mudah di pahami, serta fitur ringan yang sangat membantu pemain untuk bermain secara praktis setiap hari."
2128      }
2129    }
2130  ]
2131}
2132</script>
2132
2133 
2133<script type="application/ld+json">
2134 {
2135   "@context": "https://schema.org",
2136   "@type": "Organization",
2137   "name": "KASKUSTOTO",
2138   "url": "https://lower9thwardhomeowners.org/",
2139   "logo": "https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672",
2140   "sameAs": [
2141     "https://www.facebook.com/KASKUSTOTO",
2142     "https://twitter.com/KASKUSTOTO",
2143     "https://www.instagram.com/KASKUSTOTO"
2144   ],
2145   "contactPoint": {
2146     "@type": "ContactPoint",
2147     "telephone": "+62-8946-113-4615",
2148     "contactType": "customer support",
2149     "areaServed": "ID",
2150     "availableLanguage": ["Indonesian", "English"]
2151   }
2152 }
2153 </script>
2153
2154 
2155 
2155<script type="application/ld+json">
2156 {
2157   "@context": "https://schema.org",
2158   "@type": "VideoObject",
2159   "name": "KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ",
2160   "description": "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.",
2161   "thumbnailUrl": [
2162     "https://ik.imagekit.io/9ng7ozhvc/kaskus14.png",
2163     "https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2164   ],
2165   "uploadDate": "2025-09-28T04:19:10-04:00",
2166   "duration": "PT168",
2167   "contentUrl": "https://lower9thwardhomeowners.org/"
2168 }
2169 </script>
2169
2170 
2171 
2171<script type="application/ld+json">
2172 {
2173   "@context": "https://schema.org",
2174   "@type": "BreadcrumbList",
2175   "itemListElement": [
2176     {
2177       "@type": "ListItem",
2178       "position": 1,
2179       "name": "Home",
2180       "item": "https://lower9thwardhomeowners.org/"
2181     }
2182   ]
2183 }
2184 </script>
2184
2185 
2186 
2186<script type="application/ld+json">
2187 {
2188   "@context": "https://schema.org",
2189   "@graph": [
2190     {
2191       "@type": "Organization",
2192       "@id": "https://lower9thwardhomeowners.org/#org",
2193       "name": "KASKUSTOTO",
2194       "url": "https://lower9thwardhomeowners.org/",
2195       "logo": "https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2196     },
2197     {
2198       "@type": "WebSite",
2199       "@id": "https://lower9thwardhomeowners.org/#website",
2200       "url": "https://lower9thwardhomeowners.org/",
2201       "name": "KASKUSTOTO",
2202       "publisher": { "@id": "https://lower9thwardhomeowners.org/#org" },
2203       "inLanguage": "id-ID",
2204       "potentialAction": {
2205         "@type": "SearchAction",
2206         "target": "https://lower9thwardhomeowners.org/?s={search_term_string}",
2207         "query-input": "required name=search_term_string"
2208       }
2209     },
2210     {
2211       "@type": "SoftwareApplication",
2212       "@id": "https://lower9thwardhomeowners.org/#app",
2213       "name": "KASKUSTOTO",
2214       "applicationCategory": "GameApplication",
2215       "operatingSystem": "Android, iOS, Windows",
2216       "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" },
2217       "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 }
2218     }
2219   ]
2220 }
2221 </script>
2221
2222         
2223 <div id="shopify-section-Product" class="shopify-section product-section mt-0"><link href="https://tahanpukul.info/outerbloom-global.css" rel="stylesheet" type="text/css" media="all" />
2224 
2225 
2226 <style>
2227     .bg-card {
2228     background-color: #000000;
2229 }
2230     </style>
2231 
2232 <!-- /templates/product.liquid -->
2233 
2234 
2235 <!-- <div itemscope itemtype="http://schema.org/Product"> -->
2236 
2237 
2238 <div class="product-standing-flower" data-product-type="flowerBoard">
2239   <meta itemprop="url" content="https://lower9thwardhomeowners.org/">
2240   <meta itemprop="image" content="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png">
2241 
2242   
2243   
2244   <input id="data-sku" type="hidden" value="OBVSTF1086">
2245   <div class="product-single" style="background-image: url(https://ik.imagekit.io/9ng7ozhvc/petirkaskus.png); background-attachment: fixed;">
2246     <div id="product-top" class="container">
2247       <div class="row bg-card product-sticky" style="background-color: rgba(0, 0, 0, 0.1);backdrop-filter: blur(25px); padding: 20px 25px;border-radius: 10px;">
2248         <div id="product-image" class="col-lg-7 text-center">
2249           <div class="product-image">
2250             <div class="row no-gutters">
2251   
2252   <div id="product-featured-image" class="row w-100">
2253     
2254       <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block">
2255         
2256         <div class="swiper-container gallery-thumbs" style="min-height: 500px">
2257           <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx">
2258 
2259                   <li class="swiper-slide" data-type="image">
2260                     <a
2261                       href="files/Blossom-Shine-WM.jpg"
2262                       data-standard="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2263                       data-image="files/Blossom-Shine-WM.jpg"
2264                       data-position="1"
2265                       class="product-single__thumbnail"
2266                     >
2267                       <img
2268                         class="lazyload w-100"
2269                         src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2270                         alt="KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet "
2271                         width=""
2272                         height=""
2273                       >
2274                     </a>
2275                   </li>
2276                 
2277               
2278             
2279 
2280                   <li class="swiper-slide" data-type="image">
2281                     <a
2282                       href="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2283                       data-standard="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2284                       data-image="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2285                       data-position="2"
2286                       class="product-single__thumbnail"
2287                     >
2288                       <img
2289                         class="lazyload w-100"
2290                         src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2291                         alt="KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet "
2292                         width=""
2293                         height=""
2294                       >
2295                     </a>
2296                   </li>
2297                 
2298               
2299             
2300 
2301                   <li class="swiper-slide" data-type="image">
2302                     <a
2303                       href="files/Blossom-Shine_3-WM.jpg"
2304                       data-standard="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2305                       data-image="files/Blossom-Shine_3-WM.jpg"
2306                       data-position="3"
2307                       class="product-single__thumbnail"
2308                     >
2309                       <img
2310                         class="lazyload w-100"
2311                         src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2312                         alt="KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet "
2313                         width=""
2314                         height=""
2315                       >
2316                     </a>
2317                   </li>
2318                 
2319               
2320             
2321 
2322                   <li class="swiper-slide" data-type="image">
2323                     <a
2324                       href="files/Blossom-Shine_4.jpg"
2325                       data-standard="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2326                       data-image="files/Blossom-Shine_4.jpg"
2327                       data-position="4"
2328                       class="product-single__thumbnail"
2329                     >
2330                       <img
2331                         class="lazyload w-100"
2332                         src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2333                         alt="KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet "
2334                         width=""
2335                         height=""
2336                       >
2337                     </a>
2338                   </li>
2339                 
2340               
2341             
2342           </ul>
2343         </div>
2344         
2345       </div>
2346     
2347     <div
2348       id="featured-image-product"
2349       class="col-lg-10 col-12 d-none d-lg-block"
2350     >
2351       <div class="swiper-container gallery-top">
2352         <div class="swiper-slide product-single__image">
2353           
2354 <div class="product-single__photos slider slider-for" id="ProductPhoto">
2355   
2356 
2357   <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails">
2358     <a href="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png">
2359       <img
2360         src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2361         alt="KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet "
2362         id="ProductPhotoImg"
2363         class="lazyload"
2364       >
2365       
2366     </a>
2367   </div>
2368 </div>
2369 
2370         </div>
2371         <div class="swiper-slide product-single__video" style="display: none">
2372           <video
2373             src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4"
2374             playsinline
2375             loop
2376             muted
2377           ></video>
2378         </div>
2379       </div>
2380     </div>
2381   </div>
2382 
2383   <div id="featured-image-product2" class="col-12 d-lg-none">
2384     <div class="swiper-container gallery-mobile">
2385       <ul class="swiper-wrapper">
2386 <li class="swiper-slide img">
2387               
2388                 <img
2389                   class="swiper-lazy"
2390                   src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2391                   data-src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2392                   alt="KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet "
2393                   width=""
2394                   height=""
2395                 >
2396               
2397             </li>
2398           
2399         
2400 <li class="swiper-slide img">
2401               
2402                 <img
2403                   class="swiper-lazy"
2404                   src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2405                   data-src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2406                   alt="KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet "
2407                   width=""
2408                   height=""
2409                 >
2410               
2411             </li>
2412           
2413         
2414 <li class="swiper-slide img">
2415               
2416                 <img
2417                   class="swiper-lazy"
2418                   src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2419                   data-src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2420                   alt="KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet "
2421                   width=""
2422                   height=""
2423                 >
2424               
2425             </li>
2426           
2427         
2428 <li class="swiper-slide img">
2429               
2430                 <img
2431                   class="swiper-lazy"
2432                   src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2433                   data-src="https://ik.imagekit.io/9ng7ozhvc/kaskus14.png"
2434                   alt="KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet "
2435                   width=""
2436                   height=""
2437                 >
2438               
2439             </li>
2440           
2441         
2442       </ul>
2443       
2444         <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="7" height="12" viewBox="0 0 7 12"> <circle cx="60%" cy="50%" r="12" fill="transparent" /> <path d="M6.35355339,10.6464466 C6.54881554,10.8417088 6.54881554,11.1582912 6.35355339,11.3535534 C6.15829124,11.5488155 5.84170876,11.5488155 5.64644661,11.3535534 L0.646446609,6.35355339 C0.451184464,6.15829124 0.451184464,5.84170876 0.646446609,5.64644661 L5.64644661,0.646446609 C5.84170876,0.451184464 6.15829124,0.451184464 6.35355339,0.646446609 C6.54881554,0.841708755 6.54881554,1.15829124 6.35355339,1.35355339 L1.70710678,6 L6.35355339,10.6464466 Z"/> </svg></div>
2445         <div class="swiper-button-next"><svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="7" height="10" viewB
2445ox="0 0 7 10" fill="none">
2446     <path d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z" fill="#757575"/>
2447 </svg></div>
2448 
2449         <!-- Add Pagination -->
2450         <div class="swiper-pagination"></div>
2451       
2452     </div>
2453   </div>
2454 
2455   <div class="product-m-pageleb-video col-12 text-center d-lg-none">
2456     <!-- product video -->
2457     <style>
2458       .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;}
2459       .view-video .icon-play{fill:#ffffff;vertical-align: middle;}
2460       .video-modal{display:none;position:fixed;background: rgba(0,0,0,.5); width:100%; height:100%; overflow:auto; z-index:1; top:0;left:0;}
2461       .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;}
2462       .close-video .icon{width:30px;height:30px;}
2463       /*responsive iframe */
2464       .video-container {position: relative;padding-bottom: 48.25%;padding-top: 35px;height: 0;box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.3);}
2465       .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;}
2466 
2467       .youtube {
2468         background-color: #000;
2469         margin-bottom: 30px;
2470         position: relative;
2471         padding-top: 56.25%;
2472         overflow: hidden;
2473         cursor: pointer;
2474         width: 100%;
2475       }
2476       .swiper-slide .youtube {
2477         max-width: 480px;
2478       }
2479       .youtube img {
2480         width: 100%;
2481         top: -16.82%;
2482         left: 0;
2483         opacity: 0.7;
2484       }
2485       .youtube .play-button {
2486         width: 90px;
2487         height: 60px;
2488         background-color: #333;
2489         box-shadow: 0 0 30px rgba( 0,0,0,0.6 );
2490         z-index: 1;
2491         opacity: 0.8;
2492         border-radius: 6px;
2493       }
2494       .youtube .play-button:before {
2495         content: "";
2496         border-style: solid;
2497         border-width: 15px 0 15px 26.0px;
2498         border-color: transparent transparent transparent #fff;
2499       }
2500       .youtube img,
2501       .youtube .play-button {
2502         cursor: pointer;
2503       }
2504       .youtube img,
2505       .youtube iframe,
2506       .youtube .play-button,
2507       .youtube .play-button:before {
2508         position: absolute;
2509       }
2510       .youtube .play-button,
2511       .youtube .play-button:before {
2512         top: 50%;
2513         left: 50%;
2514         transform: translate3d( -50%, -50%, 0 );
2515       }
2516       .youtube iframe {
2517         height: 100%;
2518         width: 100%;
2519         top: 0;
2520         left: 0;
2521       }
2522     </style>
2523 
2524     
2525   </div>
2526 </div>
2527 
2528 <div class="product-desc-add position-relative d-none d-lg-block m-0">
2529 
2530 </div>
2531 
2532 
2532<script>
2533   if ($(window).width() < 991) {
2534     var direction = 'horizontal'
2535   } else {
2536     var direction = 'vertical'
2537     $(".gallery-thumbs").height($("#ProductPhotoImg").height())
2538   }
2539   var swiper = new Swiper('.gallery-thumbs', {
2540     
2541     direction,
2542     slidesPerView: 4.5,
2543     spaceBetween: 12,
2544     navigation: {
2545       nextEl: '.swiper-button-next',
2546       prevEl: '.swiper-button-prev',
2547     }
2548   });
2549   
2550   var swiper = new Swiper('.gallery-mobile', {
2551     //loop: true,
2552     lazy: true,
2553     speed: 300,
2554     resistance : true,
2555     resistanceRatio : 0,
2556     freeModeMomentumRatio : 0.45,
2557     freeModeMomentumVelocityRatio : 1.5,
2558     navigation: {
2559       nextEl: '.swiper-button-next',
2560       prevEl: '.swiper-button-prev',
2561     },
2562     pagination: {
2563       el: '.swiper-pagination'
2564     },
2565     useCSS3Transforms: false,
2566     loop: false,
2567     on: {
2568       init: function () {
2569         console.log('swiper initialized');
2570         var currentVideo =  $("[data-swiper-slide-index=" + this.realIndex + "]").find("video");
2571         currentVideo.trigger('play');
2572       },
2573     },
2574   });
2575 
2576   /* GET ALL VIDEOS */
2577   var sliderVideos = $(".swiper-slide video");
2578   
2579   /* SWIPER API - Event will be fired after animation to other slide (next or previous) */
2580   swiper.on('slideChange', function () {
2581     console.log('slide changed');
2582     /* stop all videos  */
2583     sliderVideos.each(function( index ) {
2584       this.currentTime = 0;
2585     });
2586   
2587     /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */
2588     var prevVideo =  $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video");
2589     var currentVideo =  $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video");
2590     prevVideo.trigger('stop');
2591     currentVideo.trigger('play');
2592   });
2593   
2594 
2595   $("[data-video]").click(function(){
2596     const file = $(this).data("video")
2597     $(".product-single__video").show()
2598     $(".product-single__image").hide()
2599     $(".product-single__video").find("video").attr("src", file)
2600     $(".product-single__video").find("video")[0].play();
2601   })
2602   $("[data-image]").click(function(){
2603     $(".product-single__video").hide()
2604     $(".product-single__image").show()
2605     $(".product-single__video").find("video")[0].pause();
2606   })
2607 
2608   $("#product-image .swiper-slide").each(function(){
2609     let width = $(this).width()
2610     $(this).height(width)
2611   })
2612 
2613   $(window).resize(function() {
2614     $("#product-image .swiper-slide").each(function(){
2615       let width = $(this).width()
2616       $(this).height(width)
2617     })
2618   })
2619 </script>
2619
2620 
2621           </div>
2622 
2623   
2624     <div class="grid__item_product-info mb-3">
2625       <div class="c-pdp-product-info">
2626         <ul class="c-pdp-product-info__service c-pdp-product-info__service--active">
2627        <!-- artikel -->
2628             <li>
2629                <strong>KASKUSTOTO</strong> menjadi pilihan utama untuk memantau hasil togel online resmi secara praktis, nyaman, dan mudah di akses kapan pun. Melalui sistem live result yang akurat dan cepat milik KASKUSTOTO, pemain dapat memantau informasi angka terbaru dengan lebih mudah, cepat, dan praktis melalui berbagai perangkat. Tampilan fitur KASKUSTOTO sangat sederhana dan stabil yang membuat akses menjadi nyaman tanpa ada kendala saat membuka halaman result kapan saja.
2630             </li>
2631             <br>
2632             <li>
2633                Sebagai platform resmi dan terpercaya, KASKUSTOTO menghadirkan informasi seputaran angka result dengan pembaruan stabil dan tampilan fitur yang sederhana. KASKUSTOTO juga membantu para pemain untuk melihat result yang akurat tanpa perlu pindah ke halaman lain. Selain itu, navigasi yang sederhana dan responsif membuat pemain bermain secara nyaman dan aman dan mengikuti update terbaru setiap hari dengan akses yang cepat dan efisien.
2634             </li>
2635         </ul>
2636       </div>
2637     </div>
2638   
2639 
2640 
2641 
2642 
2643 <style>
2644   .c-pdp-product-info__service--active {
2645     font-size: 12px;
2646     padding-left: 10px;
2647     text-align: left;
2648     max-width: 550px;
2649     margin: auto;
2650     color: #fff;
2651   }
2652   .c-pdp-product-info__service--active li {
2653     list-style: disc;
2654   }
2655   .c-pdp-product-info {
2656     background-color: #000000;
2657     padding: 12px;
2658     margin: 0;
2659   }
2660   .freeship em {
2661     font-style: italic;
2662     font-size: 12px !important;
2663   }
2664 
2665 
2666 </style>
2667 
2668 
2668<script>
2669   $(document).ready(function(){
2670     if ( $(".c-pdp-product-info__service li").length == 1 ) {
2671       $(".c-pdp-product-info__service").addClass("no-bullet");
2672       $(".c-pdp-product-info__service li").addClass("no-bullets");
2673     }
2674   });
2675 </script>
2675
2676 
2677   
2678 
2679 
2680 
2681   
2682 
2683   
2684 
2685 
2686             
2687           
2688         </div>
2689         <div id="product-meta" class="col-lg-5 p-0">
2690           <div class="product-meta">
2691             <style>
2692   .product-meta--review {margin-top:10px}
2693   .freeship * {font-size: 14px !important;font-style: normal;}
2694 </style>
2695 <h1 itemprop="name" class="mb-2" style="color: rgb(0, 191, 255); font-weight: bold;">KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet </h1>
2696 
2697 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
2698   <meta itemprop="priceCurrency" content="IDR">
2699 
2700   <link itemprop="availability" href="https://schema.org/InStock">
2701   
2701<script
2702     type="text/javascript"
2703     src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons"
2704     async="async"
2705   ></script>
2705
2706   
2707 
2708   
2709 
2710   <span class="visually-hidden">Translation missing: en.products.general.regular_price</span>
2711   
2712     <span class="visually-hidden">Translation missing: en.products.general.sale_price</span>
2713   
2714   <div class="row no-gutters mb-3">
2715     <span
2716       id="ProductPrice"
2717       class="h2 ProductPrice"
2718       itemprop="price"
2719       content="835000" style="color: #ffffff;"
2720     >
2721       Rp 10,000
2722     </span>
2723     <div class="discount-product-detail">
2724       <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0">
2725         Rp 20,000
2726       </p>
2727       <span class=" tag-discount">
2728         
2729           
2730           <span id="newDiscount" class="product-tag persentase-discount hide"> 
2731       (90%)
2732       </span><br>
2733         
2734       </span>
2735     </div>
2736   </div>
2737 
2738   <div class="row no-gutters meta-sds">
2739     <div class="col-12 mb-2 mb-lg-0 stock-info">
2740       
2741       
2742       <span
2743         id="ProductStock-Product"
2744         class="product-single__stock mb-2 hide"
2745       >
2746         
2747           
2748             
2749               
2750               Barang dikirim pada 
2751             
2752           
2753         
2754       </span>
2755 
2756       <style>
2757     .short-desc-desktop {
2758         margin-bottom: 2rem;
2759         color: white;
2760     }
2761     .short-desc ul li:nth-child(n + 4) {
2762         display: none;
2763     }
2764     .short-desc ul li.showList:nth-child(n + 4) {
2765         display: list-item;
2766     }
2767     label.more {
2768         display: none;
2769     }
2770     label.more.showMe {
2771         display: block;
2772         font-size: 12px;
2773         text-transform: uppercase;
2774         font-weight: 700;
2775         cursor: pointer;
2776     }
2777 </style>
2778 
2779     <div class="short-desc-desktop d-none d-lg-block">
2780         <div class="short-desc">
2781            
2782 <p>KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.</p>
2783         </div>
2784         <label class="more">Show More →</label>
2785     </div><br>
2786 
2787 
2788 
2788<script>
2789     var liCount;
2790     $(document).ready(function () {
2791         $(".short-desc ul").each(function() {
2792             liCount = $(this).children("li").length;
2793             if (liCount > 3) {
2794                 $(this).parent(".short-desc").next(".more").addClass("showMe");
2795             }
2796         });
2797 
2798         $(".more").click(function () {
2799             //$(".short-desc").find("li").addClass("showList");
2800             // $(this).hide();
2801             $("#product-desc").find("ul").show()
2802             $('html, body').animate({
2803                 scrollTop: $("#product-desc").offset().top - 250
2804             }, 2000);
2805             $("#product-desc").css("height","auto");
2806             $("#more_content").remove();
2807             $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>")
2808         });
2809     });
2810 </script>
2810
2811 
2812       
2813     </div>
2814   </div>
2815 
2816   <div id="purchaseProduct">
2817   
2818   
2819 
2820 
2821 <style>
2822   .variant-metafield {
2823     display: block!important;
2824     width: 1px;
2825     padding: 0;
2826     border-color: #fff;
2827   }
2828   .select2-results__option[aria-disabled] {
2829     display: none;
2830   }
2831 
2832   .towel-bordir {
2833     width: 100%;
2834     display: flex;
2835     align-items: center;
2836     justify-content: space-around;
2837   }
2838 </style>
2839 
2840 
2841 
2842 
2843 
2843<script>
2844   
2845   
2846 </script>
2846
2847 
2848 
2849 
2850 
2851 
2852 
2853 <select
2854   name="id[]"
2855   id="productSelect"
2856   class="product-single__variants ignore hide hide"
2857 >
2858   
2859     
2860       
2861       <option
2862         
2863           selected="selected"
2864         
2865         data-sku="OBVSTF1086"
2866         value="44083045826775"
2867       >
2868         Default Title
2869       </option>
2870 
2871     
2872   
2873 </select>
2874 
2875 
2875<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2875
2876 
2877 
2877<script>
2878   $('.size-chart-open-popup').magnificPopup({
2879     type:'inline',
2880     midClick: true
2881   });
2882 </script>
2882
2883 
2884   
2885   
2886   
2887   <div class="upload-image-preview">
2888     
2889     
2890     
2891     
2892     
2893     <style>
2894   .file-dnd * {
2895     margin: 0;
2896     padding: 0;
2897     box-sizing: border-box;
2898   }
2899   .file-dnd {
2900     width: 100%;
2901     height: 250px;
2902     border: 1px solid #ddd;
2903     border-radius: 10px;
2904     padding: 15px;
2905     display: flex;
2906     flex-direction: column;
2907     gap: 10px;
2908     /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */
2909     margin: auto;
2910   }
2911   .file-dnd input {
2912     display: none;
2913   }
2914   .file-dnd .before-upload {
2915     border: 1px dashed #888;
2916     flex: 1;
2917     border-radius: 5px;
2918     display: flex;
2919     justify-content: center;
2920     align-items: center;
2921     text-align: center;
2922     cursor: pointer;
2923   }
2924   .file-dnd .before-upload > div {
2925     display: flex;
2926     flex-direction: column;
2927     align-items: center;
2928     gap: 8px;
2929   }
2930   .file-dnd .before-upload > div h4 {
2931     width: 150px;
2932   }
2933   .file-dnd .before-upload > div p {
2934     font-size: 12px !important;
2935     color: #555;
2936   }
2937   .file-dnd.active .before-upload {
2938     border: 1px solid #5750d9;
2939     background-color: #f5f5ff;
2940   }
2941   .file-dnd .after-upload {
2942     position: relative;
2943     display: none;
2944   }
2945   .file-dnd .after-upload img {
2946     width: 100%;
2947     border-radius: 5px;
2948     max-height: 180px;
2949     object-fit: contain;
2950     display: block;
2951   }
2952   .file-dnd .after-upload .clear-btn {
2953     position: absolute;
2954     top: 10px;
2955     right: 10px;
2956     background: rgba(255, 255, 255, 0.5);
2957     width: 15px;
2958     height: 15px;
2959     text-align: center;
2960     line-height: 15px;
2961     border-radius: 50%;
2962     color: #fff;
2963     cursor: pointer;
2964     font-size: 14px;
2965   }
2966 </style>
2967 
2968 <div
2969   class="file-dnd mb-3"
2970   
2971     style="display: none"
2972   
2973 >
2974   <label for="upload-photo">Upload your Photo:</label>
2975   <input type="file" id="upload-photo" accept="image/*">
2976   <input type="hidden" data-properties="Photo">
2977   <div class="before-upload">
2978     <div>
2979       <svg id="surface1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="33.053" height="41.719" viewBox="0 0 33.053 41.719">
2980   <path id="Path_2149" data-name="Path 2149" d="M22.982.322A1.009,1.009,0,0,0,22.257,0H5.982A5.505,5.505,0,0,0,.5,5.472V36.247a5.505,5.505,0,0,0,5.482,5.472H28.071a5.505,5.505,0,0,0,5.482-5.472V11.81a1.085,1.085,0,0,0-.292-.705Zm.292,3.235,6.883,7.225H25.683a2.4,2.4,0,0,1-2.409-2.4Zm4.8,36.147H5.982a3.49,3.49,0,0,1-3.467-3.457V5.472A3.49,3.49,0,0,1,5.982,2.015H21.259V8.384A4.409,4.409,0,0,0,25.683,12.8h5.855V36.247A3.484,3.484,0,0,1,28.071,39.7Zm0,0" transform="translate(-0.5)" fill="#ababab"></path>
2981   <path id="Path_2150" data-name="Path 2150" d="M106.767,401.934H90.18a1.008,1.008,0,1,0,0,2.015h16.6a1.008,1.008,0,1,0-.01-2.015Zm0,0" transform="translate(-81.947 -369.183)" fill="#ababab"></path>
2982   <path id="Path_2151" data-name="Path 2151" d="M120.143,178.328l4.152-4.464v11a1.008,1.008,0,0,0,2.015,0v-11l4.152,4.464a1.005,1.005,0,0,0,1.471-1.371l-5.905-6.339a1,1,0,0,0-1.471,0l-5.905,6.339a1,1,0,0,0,.05,1.421A1.028,1.028,0,0,0,120.143,178.328Zm0,0" transform="translate(-108.776 -156.421)" fill="#ababab"></path>
2983 </svg>
2984 
2985       <h4>Drag & Drop Photo file or Browse</h4>
2986       <p>Supports: JPEG, PNG, GIF, TIFF</p>
2987     </div>
2988   </div>
2989   <div class="after-upload">
2990     <div class="clear-btn">&times;</div>
2991     <img src="" width="" height="">
2992   </div>
2993 </div>
2994 
2994<script>
2995   function applyDndFile(el) {
2996     const parent = document.querySelector(".file-dnd")
2997     const beforeUploadEl = el.querySelector(".before-upload")
2998     const afterUploadEl = el.querySelector(".after-upload")
2999     const inputFile = el.querySelector("input[type=file]")
3000     const imagePreview = el.querySelector(".after-upload img")
3001     const clearBtn = el.querySelector(".after-upload .clear-btn")
3002     const inputProps = parent.querySelector("[data-properties]");
3003 
3004     async function upload(name, uri, type) {
3005       try {
3006         const filename = name.split('.')[0]
3007         let formData = new FormData(); 
3008         formData.append("file", uri);
3009         const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, {
3010           method: "POST", 
3011           body: formData
3012         })
3013         if(response) {
3014           const res = await response.json()
3015           return res
3016         }
3017       } catch(err){
3018         console.log(err)
3019       }
3020     }
3021 
3022     function showImagePreview(img) {
3023       if(img){
3024         const blobUrl = URL.createObjectURL(img)
3025         imagePreview.src = blobUrl
3026         afterUploadEl.style.display = "block"
3027         beforeUploadEl.style.display = "none"
3028       }
3029     }
3030 
3031     beforeUploadEl.addEventListener("click", (e) => {
3032       e.preventDefault()
3033       inputFile.click()
3034     })
3035 
3036     inputFile.addEventListener("change", async (e) => {
3037       e.preventDefault()
3038       showImagePreview(e.target.files[0])
3039       var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type)
3040       inputProps.value = uploadData?.url
3041     })
3042 
3043     clearBtn.addEventListener("click", (e) => {
3044       afterUploadEl.style.display = "none"
3045       beforeUploadEl.style.display = "flex"
3046       inputProps.value = ""
3047     })
3048 
3049     beforeUploadEl.addEventListener("dragover", (e) => {
3050       e.preventDefault()
3051       el.classList.add("active")
3052     })
3053 
3054     beforeUploadEl.addEventListener("dragleave", (e) => {
3055       e.preventDefault()
3056       el.classList.remove("active")
3057     })
3058 
3059     beforeUploadEl.addEventListener("drop", async (e) => {
3060       e.preventDefault()
3061       el.classList.remove("active")
3062       showImagePreview(e.dataTransfer.files[0])
3063       var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type)
3064       console.log(uploadData)
3065       inputProps.value = uploadData?.url
3066     })
3067   }
3068 
3069   applyDndFile(document.querySelector(".file-dnd"))
3070 
3071   $(document).ready(function(){
3072     $(".variant-swatch").change(function(){
3073       const v = $(this).val().toLowerCase()
3074       const list = ["photo", "custom one side", "custom two side", "small", "big"]
3075       if(list.some(item => v.includes(item))) return $(".file-dnd").show()
3076       $(".file-dnd").hide()
3077       $(".file-dnd").find("[data-properties]").val("")
3078       $(".after-upload").hide()
3079       $(".before-upload").css("display", "flex")
3080     })
3081   })
3082 </script>
3082
3083 
3084   </div>
3085   
3086     
3087     <div class="delivery-city mb-4">
3088         <a href="https://amp13-2.vercel.app/">
3089        <center><img src="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br>
3090   <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(0, 191, 255);">AKSES RESMI KASKUSTOTO</h4>
3091   <div class="row justify-content-between m-0">
3092     <select id="cities" class="form-control select-search" required>
3093       <option value="">Main Lebih Praktis hanya di KASKUSTOTO, Situs Game Togel Online Dan Slot Resmi Dengan Sistem Modern</option>
3094     </select>
3095   </div>
3096 </div>
3097 
3098 <style>
3099   @media (max-width: 768px) {
3100     .select2-search__field {
3101       pointer-events: none !important;
3102     }
3103     
3104     .select2-search {
3105       display: none !important;
3106     }
3107   }
3108 </style>
3109 
3110 
3110<script>
3111   $(document).ready(function() {
3112     // Check if mobile
3113     if (window.innerWidth <= 768) {
3114       // When cities select2 opens on mobile, remove focus from search
3115       $('#cities').on('select2:open', function() {
3116         setTimeout(function() {
3117           $('.select2-search__field').blur();
3118           $('.select2-search__field').prop('readonly', true);
3119         }, 100);
3120       });
3121     }
3122   });
3123 </script>
3123
3124 
3125  <style>
3126 .icon-img-footer {
3127     width: 80px; 
3128     padding: 0px 5px;
3129 }
3130 @media (min-width: 768px) {
3131     .icon-img-footer {
3132         width: 120px; 
3133     }
3134 }
3135 @media (min-width: 992px) {
3136     .icon-img-footer {
3137         width: 120px; 
3138     }
3139 }
3140 
3141 
3142 </style>
3143   <div id="row-delivery-date" class="row m-0 mb-3">
3144     <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="color: rgb(0, 191, 255);">Nikmati bermain Togel Online Resmi Dan Slot Online Terlengkap Di KASKUSTOTO</h4>
3145     <div id="deliveryDate" class="m-0"></div>
3146     <div id="deliveryDateFull">
3147       <div class="">
3148         <input
3149           type="text"
3150           id="full-date"
3151           class="date-full calendarbutton btn steps-btn btn-date-time mb-0"
3152           value="Full Calendar"
3153         >
3154         <label for="full-date"><svg version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="32" height="32" viewBox="0 0 32 32">
3155 <title>icon-arrow-right</title>
3156 <path d="M25.057 15.333l-6.862-6.862c-0.26-0.26-0.26-0.682 0-0.943s0.682-0.26 0.943 0l8 8c0.26 0.26 0.26 0.682 0 0.943l-8 8c-0.26 0.26-0.682 0.26-0.943 0s-0.26-0.682 0-0.943l6.862-6.862h-19.724c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h19.724z"></path>
3157 </svg></label>
3158       </div>
3159       <button class="btnChangeDeliveryDate hide">Change Delivery Date</button>
3160     </div>
3161     <div class="form-group p-0">
3162       <input type="text" id="propDeliveryDate" required class="hide">
3163     </div>
3164   </div>
3165   
3166   
3167     <div id="row-delivery-time" class="row m-0 mb-3">
3168       <h4 class="text-center fw-600 text-uppercase col-12 mb-15">
3169     KASKUSTOTO
3170 </h4>
3171       <div id="deliveryTime" class="d-flex w-100 m-0"></div>
3172       <div class="form-group p-0">
3173         <input type="text" id="propDeliveryTime" class="hide" required>
3174       </div>
3175     </div>
3176   
3177 
3178 
3179   
3180   
3181   <div id="personalizeBtn">
3182     
3183     
3184     
3185     
3186     <button
3187       class="btn text-uppercase w-100 fw-400"
3188       
3189       
3190       
3191     >
3192       
3193         customize your flower board
3194       
3195     </button>
3196     <div class="button-share-wishlist d-flex justify-content-around mt-3">
3197       <div class="button-share text-center">
3198         <p id="shareButton" class="d-flex gap-2"><span>KASKUSTOTO</span><svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="15" height="13" viewBox="0 0 15 13" fill="none">
3199   <path d="M13.825 5.85006L10 2.02506V4.07506L9.28333 4.18339C5.69167 4.69172 3.25833 6.57506 1.86667 9.45839C3.8 8.09172 6.2 7.43339 9.16667 7.43339H10V9.67506M8.33333 8.28339C4.60833 8.45839 1.94167 9.80006 0 12.5167C0.833333 8.35006 3.33333 4.18339 9.16667 3.35006V0.0167236L15 5.85006L9.16667 11.6834V8.26672C8.89167 8.26672 8.61667 8.27506 8.33333 8.28339Z" fill="#ffffff"/>
3200 </svg>
3201 </p>
3202       </div>
3203       <div class="button-wishlist text-center">
3204         <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="16" height="15" viewBox="0 0 16 15" fill="none">
3205   <path d="M2.03341 7.70827C1.70392 7.38096 1.44286 6.99135 1.26546 6.56213C1.08805 6.13292 0.997838 5.67269 1.00008 5.20827C1.00008 4.26896 1.37322 3.36812 2.03741 2.70393C2.7016 2.03974 3.60244 1.6666 4.54175 1.6666C5.85841 1.6666 7.00841 2.38327 7.61675 3.44993H8.55008C8.85934 2.90748 9.30684 2.45667 9.84699 2.14341C10.3871 1.83015 11.0007 1.66563 11.6251 1.6666C12.5644 1.6666 13.4652 2.03974 14.1294 2.70393C14.7936 3.36812 15.1667 4.26896 15.1667 5.20827C15.1667 6.18327 14.7501 7.08327 14.1334 7.70827L8.08341 13.7499L2.03341 7.70827ZM14.7167 8.29993C15.5084 7.49993 16.0001 6.4166 16.0001 5.20827C16.0001 4.04795 15.5391 2.93515 14.7187 2.11467C13.8982 1.2942 12.7854 0.833267 11.6251 0.833267C10.1667 0.833267 8.87508 1.5416 8.08341 2.6416C7.67933 2.08035 7.14725 1.62353 6.53131 1.30904C5.91537 0.994549 5.23333 0.831448 4.54175 0.833267C3.38143 0.833267 2.26863 1.2942 1.44816 2.11467C0.627684 2.93515 0.166748 4.04795 0.166748 5.20827C0.166748 6.4166 0.658415 7.49993 1.45008 8.29993L8.08341 14.9333L14.7167 8.29993Z" fill="#ffffff"/>
3206 </svg>
3207 <!--
3208   <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="34" height="30" viewBox="0 0 34 30" fill="none">
3209   <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158 
320918.4933 2.35999 17 4.83582C15.5067 2.36082 12.8 0.699158 9.69749 0.699158C4.98582 0.699991 1.16666 4.51916 1.16666 9.23082C1.16666 10.3075 1.37499 11.3342 1.73916 12.2825C4.55999 20.3967 17 29.3008 17 29.3008C17 29.3008 29.44 20.3967 32.2617 12.2825C32.6258 11.3342 32.8333 10.3075 32.8333 9.23082Z" fill="white" fill-opacity="0.32" stroke="#757575" stroke-width="0.75" stroke-linecap="round" stroke-linejoin="round"/>
3210   </svg>
3211 -->
3212 </p>
3213       </div>
3214     </div>
3215   </div>
3216 </div>
3217 <div class="purchasePopup purchasePopupSpotify" style="display: none;">
3218   <div class="purchaseArea">
3219     <div class="sectionPurchase sectionPurchaseSpotify">
3220       <div class="wrapperPurchase">
3221         <div class="headerPurchase">
3222           <h3>personalize spotify photo print</h3>
3223           <a class="close-purchase-popup">
3224             <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="18" height="18" viewBox="0 0 18 18" fill="none">
3225               <path d="M1.53287 17.4107L0.588867 16.4667L8.05553 9.00002L0.588867 1.53336L1.53287 0.589355L8.99953 8.05602L16.4662 0.589355L17.4102 1.53336L9.94353 9.00002L17.4102 16.4667L16.4662 17.4107L8.99953 9.94402L1.53287 17.4107Z" fill="black"></path>
3226             </svg>
3227           </a>
3228         </div>
3229         <div class="contentPurchase">
3230           <div class="spotifyAddons"></div>
3231         </div>
3232 
3233         <div class="purchase-button btn-addon row m-0" style="display: none;">
3234           <div class="col-12 col-lg-2 text-left mb-2 p-0">
3235             <button class="back-purchase-button back-addon text-uppercase">
3236               <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672">
3237                 <path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z" fill="black"></path>
3238               </svg>
3239               <span>Back</span>
3240             </button>
3241           </div>
3242           <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;">
3243             <button class="btn next-purchase-button next-addon text-uppercase">
3244               <span>continue without add-ons</span>
3245             </button>
3246           </div>
3247         </div>
3248       </div>
3249     </div>
3250   </div>
3251 </div>
3252 
3253 <style>
3254   #PBarNextFrameWrapper {
3255     display: none;
3256   }
3257   #backgroundPopup {
3258     display: none;
3259     position: fixed;
3260     _position: absolute;
3261     height: 100%;
3262     width: 100%;
3263     top: 0;
3264     left: 0;
3265     background: rgb(117 117 117 / 24%);
3266     z-index: 1;
3267   }
3268   .sectionPurchase {
3269     height: 100%;
3270     position: relative;
3271     max-width: 1344px;
3272     background-color: #fff;
3273     padding: 0;
3274     overflow: hidden; /* Changed from auto to hidden */
3275     display: flex;
3276     flex-direction: column;
3277   }
3278   .sectionPurchase.purchaseAddonSpotify {
3279     max-width: 1070px!important;
3280     max-height: 765px!important;
3281   }
3282   .sectionPurchaseBoard {
3283     max-width: 872px!important;
3284     max-height: 821px!important;
3285   }
3286   .purchaseAddonSpotify .btn-action {
3287     position: absolute;
3288     bottom: 0;
3289     left: 0;
3290     width: 100%;
3291     display: flex;
3292     gap: 10px;
3293   }
3294   .wrapperPurchase {
3295     position: relative;
3296     height: 100%;
3297     display: flex;
3298     flex-direction: column;
3299   }
3300   
3301   /* New styles for scrollable content and sticky button */
3302   .purchase-content {
3303     flex: 1;
3304     overflow-y: auto;
3305     overflow-x: hidden;
3306     padding: 20px;
3307   }
3308   
3309   .purchase-button-wrapper {
3310     position: sticky;
3311     bottom: 0;
3312     background-color: #fff;
3313     border-top: 1px solid #e0e0e0;
3314     padding: 15px 0;
3315     margin-top: auto;
3316     z-index: 10;
3317   }
3318   
3319   .purchasePopup {
3320     display: none;
3321     position: fixed;
3322     background: rgb(117 117 117 / 24%);
3323     z-index: 999;
3324     padding: 40px;
3325     font-size: 13px;
3326     top: 0;
3327     left: 0;
3328     width: 100%;
3329     height: 100%;
3330   }
3331   .popupPurchaseClose{
3332     font-size:14px;
3333     line-height:14px;
3334     right:45px;
3335     top:45px;
3336     position:absolute;
3337     color:#6fa5fd;
3338     font-weight:700;
3339     display:block;
3340     cursor: pointer;
3341   }
3342 
3343   .headerPurchase {
3344     margin-bottom: 30px;
3345     display: flex;
3346     justify-content: space-between;
3347   }
3348 
3349   .headerPurchase h3 {
3350     font-size: 16px;
3351     text-transform: uppercase;
3352   }
3353 
3354   .sectionPurchaseBoard .headerPurchase {
3355     margin-bottom: 15px;
3356   }
3357 
3358   .sectionPurchaseBoard .formAddressPurchase {
3359     padding-top: 0;
3360   }
3361 
3362   .purchaseArea {
3363     position: relative;
3364     height: 100%;
3365   }
3366 
3367   .purchaseArea h4 {
3368     width: 100%;
3369     font-size: 12px;
3370     font-weight: 600;
3371     margin-bottom: 10px;
3372     text-transform: uppercase;
3373   }
3374 
3375   .menuPurchase {
3376     margin-bottom: 30px;
3377   }
3378 
3379   .menuPurchase ul {
3380     list-style-type: none;
3381     margin: 0;
3382   }
3383 
3384   .menuPurchase ul li {
3385     display: inline-block;
3386     border: 1px solid #ffffff;
3387     padding: 5px 20px;
3388     margin-right: 5px;
3389     margin-bottom: 10px;
3390     font-size: 12px;
3391     font-weight: 400;
3392   }
3393 
3394   .menuPurchase ul li:hover, .menuPurchase ul li.selected {
3395     background-color: #ffffff;
3396     color: #ffffff;
3397   }
3398 
3399   .contentPurchase h5 {
3400       font-size: 12px;
3401       margin-bottom: 10px;
3402       font-weight: 400;
3403       overflow: hidden;
3404   }
3405 
3406   /* Card */
3407 
3408   #itemCards {
3409     max-height: 430px;
3410     overflow: auto;
3411   }
3412 
3413   .item-cards {
3414       width: 100%;
3415   }
3416   .item-card.selected {
3417       border: 1px solid #ffffff;
3418   }
3419   .item-card:hover {
3420       border: 1px solid #C4C4C4;
3421   }
3422   .item-cards .item-card {
3423     position: relative;
3424     width: calc(33% - 10px);
3425     max-width: calc(33% - 10px);
3426     flex: 0 0 calc(33% - 10px);
3427     margin-bottom: 20px;
3428   }
3429   .item-cards .item-card label,
3430   .item-addons .item-addon label {
3431       position: absolute;
3432       left: 0;
3433       width: 100%;
3434       height: 100%;
3435   }
3436   .item-cards .item-card .card-image img,
3437   .item-addons .item-addon .card-image img {
3438       display: block;
3439       width: 100%;
3440   }
3441   .item-card .card-meta,
3442   .item-addon .card-meta {
3443       padding: 10px 5px 5px;
3444   }
3445   .item-card.selected .card-meta,
3446   .item-addon.selected .card-meta,
3447   .item-card.selected .card-qty {
3448       background-color: #ffffff;
3449       color: #fff;
3450       visibility: visible!important;
3451   }
3452   .item-card:hover .card-meta,
3453   .item-addon:hover .card-meta,
3454   .item-card:hover .card-qty {
3455       background-color: #C4C4C4;
3456       color: #fff;
3457       visibility: visible!important;
3458   }
3459   .item-cards .item-card p,
3460   .item-addons .item-addon p {
3461     font-size: 12px !important;
3462     margin: 0;
3463     font-weight: 600;
3464   }
3465   .item-card .card-meta input,
3466   .item-addon .card-meta input {
3467       display: none;
3468   }
3469   .item-cards .item-card h5,
3470   .item-addons .item-addon h5 {
3471     text-transform: uppercase;
3472     max-height: 35px;
3473   }
3474 
3475   @media (max-width: 768px) {
3476     .item-cards .item-card {
3477         width: calc(50% - 10px);
3478         max-width: calc(50% - 10px);
3479         flex: 0 0 calc(50% - 10px);
3480         margin-bottom: 0;
3481     }
3482   }
3483 
3484   .card-qty {
3485     display: flex;
3486     padding: 5px;
3487     visibility: hidden;
3488     background-color: #fff !important;
3489     z-index: 999;
3490   }
3491   .card-qty a {
3492     border-width: 1px;
3493     width: 30%;
3494     cursor: pointer;
3495     text-align: center;
3496     align-self: center;
3497     height: 28px;
3498     display: block;
3499     position: relative;
3500   }
3501   .card-qty a svg {
3502     position: absolute;
3503     top: 50%;
3504     left: 50%;
3505     transform: translate(-50%, -50%);
3506     text-align: center;
3507   }
3508   input.btn-qty {
3509     border-width: 0px;
3510     border-radius: 0;
3511     background-color: #fff;
3512     -webkit-appearance: none;
3513     box-shadow: none !important;
3514     -webkit-box-shadow: none !important;
3515     -moz-box-shadow: none!important;
3516     width: 40%;
3517     border-left: 1px solid #c4c4c4;
3518     border-right: 1px solid #c4c4c4;
3519     padding: 0;
3520   }
3521 
3522   .sectionPurchaseBoard #itemAddons .item-card {
3523     width: calc(20% - 15px);
3524     max-width: calc(20% - 15px);
3525     flex: 0 0 calc(20% - 15px);
3526   }
3527 
3528   .purchase-button {
3529     width: 100%;
3530     padding: 0; /* Reset padding as it's now handled by wrapper */
3531     margin: 0;
3532   }
3533 
3534   .sectionPurchaseBoard .purchase-button {
3535     margin-top: 0 !important; /* Reset margin */
3536   }
3537 
3538   .back-purchase-button, .back-spotify {
3539       width: 139px;
3540       border: 1px solid;
3541       height: 43px;
3542   }
3543   .purchase-button .btn {
3544     width: 297px;
3545     height: 43px;
3546     background-color: #ffffff;
3547     color: #ffffff;
3548   }
3549   .purchase-button .btn[disabled] {
3550     background-color: #EEEEEE;
3551   }
3552   .back-purchase-button svg, .back-spotify svg {
3553     align-self: center;
3554     vertical-align: middle;
3555     margin-right: 10px;
3556   }
3557 
3558   #purchaseProduct .row .error {
3559     font-size: 12px !important;
3560     color: orange;
3561     margin-top: 5px;
3562   }
3563 
3564   .reviewCardPurchase {
3565     max-width: 448px;
3566     float: right;
3567   }
3568 
3569   .addonsPurchase .addon-item {display: flex;justify-content: space-between;}
3570   .addon-item * {align-self: center;font-size: 12px;}
3571   .addon-itm-title {width: 360px;}
3572   .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;}
3573 
3574   .propsAddonSpotify p {
3575     margin: 0;
3576     display: flex;
3577     font-size: 12px !important;
3578     margin-bottom: 5px;
3579   }
3580   .propsAddonSpotify p span:first-child {
3581     text-transform: uppercase;
3582     font-weight: 600;
3583     -ms-flex: 0 0 150px;
3584     flex: 0 0 150px;
3585     max-width: 150px;
3586   }
3587 
3588   .addonsPurchase .addons {
3589     max-height: 250px;
3590     overflow: auto;
3591   }
3592 
3593   .btn .loading:after {
3594     content: "";
3595     display: inline-block;
3596     width: 20px;
3597     height: 20px;
3598     padding: 3px;
3599     aspect-ratio: 1;
3600     border-radius: 50%;
3601     background: #FFFFFF;
3602     --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box;
3603     -webkit-mask: var(--_m);
3604     mask: var(--_m);
3605     -webkit-mask-composite: source-out;
3606     mask-composite: subtract;
3607     animation: l3 1s infinite linear;
3608     margin: auto;
3609     vertical-align: middle;
3610     margin-left: 10px;
3611   }
3612 
3613   #qrcode img, #qrcode canvas {
3614     width: 50px;
3615     position: absolute;
3616     top: 12px;
3617     left: 16px;
3618   }
3619 
3620   .t-preview {
3621     position: absolute;
3622     top: 17px;
3623     left: 75px;
3624   }
3625   .t-preview p {
3626     margin: 0;
3627     font-size: 12px !important;
3628   }
3629   .t-preview .h3 {
3630     font-size: 16px !important;
3631     margin-bottom: 5px;
3632     font-weight: 600;
3633   }
3634   .scanCard {
3635     width: 100%;
3636     border: 1px solid;
3637     height: 76px;
3638     background-color: #fff;
3639   }
3640   .scanCard > div > img {
3641     position: absolute;
3642     right: 0;
3643     width: 55px;
3644   }
3645 
3646   @keyframes l3 {
3647     100% {
3648       transform: rotate(1turn);
3649     }
3650   }
3651 
3652   @media (min-width: 991px) {
3653     .sectionPurchase {
3654       height: 100%;
3655       position: relative;
3656       max-width: 1344px;
3657       background-color: #fff;
3658       top: 50%;
3659       left: 50%;
3660       transform: translate(-50%, -50%);
3661     }
3662     .headerPurchase h3 {
3663       font-size: 20px;
3664     }
3665     .purchaseArea h4 {
3666       font-size: 16px;
3667     }
3668 
3669     .menuPurchase ul li {
3670         font-size: 16px;
3671     }
3672     
3673     .contentPurchase {
3674       margin-bottom: 30px;
3675     }
3676     .contentPurchase h5 {
3677       font-size: 16px;
3678     }
3679 
3680     .item-cards .item-card p,
3681     .item-addons .item-addon p {
3682       font-size: 16px !important;
3683     }
3684 
3685     .cards {
3686       float: right;
3687       width: 400px;
3688     }
3689 
3690     .item-cards .item-card {
3691       width: calc(25% - 30px);
3692       max-width: calc(25% - 30px);
3693       flex: 0 0 calc(25% - 30px);
3694     }
3695 
3696       #itemAddons .item-card {
3697         position: relative;
3698         width: calc(16% - 40px);
3699         max-width: calc(16% - 40px);
3700         flex: 0 0 calc(16% - 40px);
3701       }
3702       
3703     .purchase-button-wrapper {
3704         padding: 10px 20px;
3705     }
3706   }
3707 
3708   @media (max-width: 1200px) {
3709     .item-cards .item-card {
3710       width: calc(33% - 30px);
3711       max-width: calc(33% - 30px);
3712       flex: 0 0 calc(33% - 30px);
3713     }
3714   }
3715 
3716   @media (max-width: 992px) {
3717     .purchasePopup {
3718       padding: 0;
3719     }
3720     .item-cards .item-card h5,
3721     .item-addons .item-addon h5 {
3722       max-height: 30px;
3723     }
3724 
3725     .back-purchase-button, .back-spotify, .next-purchase-button {
3726         width: 100%;
3727     }
3728     .addon-itm-title {
3729       width: 300px;
3730     }
3731     .addon-itm-line-price {
3732       margin-right: 10px;
3733     }
3734     .t-preview {
3735       top: 10px;
3736     }
3737 
3738     .card-qty a {
3739       height: 15px;
3740     }
3741     
3742     .purchase-button-wrapper {
3743       padding: 15px;
3744     }
3745   }
3746 
3747   @media (max-width: 576px) {
3748     .purchase-button .btn {
3749         width: 100%!important;
3750     }
3751     .purchase-button > .col-12 {
3752       padding-left: 0;
3753       padding-right: 0;
3754     }
3755   }
3756 </style>
3757 
3758 
3759 <div class="purchasePopup">
3760   <div class="purchaseArea">
3761     
3762       <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard">
3763         <div class="wrapperPurchase">
3764           <div class="purchase-content">
3765             <div class="headerPurchase">
3766   <h3 class="text-uppercase">
3767     
3768       customize your flower board
3769     
3770   </h3>
3771   <a class="close-purchase-popup">
3772   <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="18" height="18" viewBox="0 0 18 18" fill="none">
3773     <path d="M1.53287 17.4107L0.588867 16.4667L8.05553 9.00002L0.588867 1.53336L1.53287 0.589355L8.99953 8.05602L16.4662 0.589355L17.4102 1.53336L9.94353 9.00002L17.4102 16.4667L16.4662 17.4107L8.99953 9.94402L1.53287 17.4107Z" fill="black"/>
3774   </svg>
3775 </a>
3776 
3777 </div>
3778 <div class="contentPurchase">
3779   <div class="row">
3780     
3781       <div class="col-12">
3782         
3783 
3784 <style>
3785   
3786   
3787   .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;}
3788   .customize-papan .input-field textarea {width: 100%;max-width: 421px;min-height: 150px;font-weight: 400;font-size: 16px;resize: none;background-color: #E5E5EA;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;color: #ffffff;border: none;}
3789   
3790   .customize-papan .field-papan.group-field-2 .input-field.field-logo {height: 90px;margin: 0;border-radius: 0;position: relative;-ms-flex: 0 0 174px;flex: 0 0 174px;max-width: 174px;}
3791   .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;}
3792   .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;}
3793   .svgLogoPapan p {color: #8E8E93; margin: 0;}
3794   .svgLogoPapan p span {font-size: 12px;color: #FF0E00;}
3795   .customize-papan .btn-upload-papan img {margin: auto;display: block;position: absolute;width: 80px;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;}
3796   #suggest-messages {position: absolute;bottom: 5px;left: 5px;}
3797   #suggest-messages a {border: 1px solid #979797;background: #fff;color: #979797;border-radius: 3px;padding: 5px 10px;font-size: 10px;font-weight: 600;display: inline-block;}
3798   .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;}
3799   .customize-papan .input-field input {font-weight: 600;font-size: 16px;width: 100%;height: 90px;min-height: 44px !important;border: none;background: #E5E5EA;margin: 0;border-radius: 0;text-align: center;color: #ffffff;}
3800   .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;}
3801 
3802   @media (min-width: 991px) {
3803     .customize-papan:before {content: "";position: absolute;border: 4px solid #ffffff;bottom: -50px;left: 210px;width: 100px;display: block;-ms-transform: rotate(60deg);-webkit-transform: rotate(60deg);transform: rotate(-65deg);}
3804     .customize-papan:after {content: "";position: absolute;border: 4px solid #ffffff;bottom: -52px;right: 240px;width: 100px;display: block;-ms-transform: rotate(-120deg);-webkit-transform: rotate(70deg);transform: rotate(70deg);}
3805   }
3806 </style>
3807 
3808 <input type="hidden" data-properties="penerima" value="-">
3809 <div class="customize-papan">
3810   <div class="container">
3811     <div class="field-papan group-field-1 form-group">
3812       <div class="input-field">
3813         <textarea id="kartu-ucapan-papan" class="mb-0  has-limit" type="text" data-properties="ucapan" placeholder="Write the message you want to display. Or you can use several options from the message templates that we provide.
3814 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea>
3815         <p class="limit">0/100</p>
3816         <div id="suggest-messages">
3817           <a id="show_note_papan1" href="#">
3818             <div class="suggest-message" id="note_btn_div1">
3819               <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span>
3820             </div>
3821           </a>
3822           <a id="show_note_papan2" href="#">
3823             <div class="suggest-message" id="note_btn_div2">
3824               <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span>
3825             </div>
3826           </a>
3827           <a id="show_note_papan3" href="#">
3828             <div class="suggest-message" id="note_btn_div3">
3829               <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span>
3830             </div>
3831           </a>
3832         </div>
3833       </div>
3834     </div>
3835     <div class="hide">
3836       <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;">
3837       <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1">
3838     </div>
3839     <div class="hide">
3840       <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;">
3841       <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2">
3842     </div>
3843     <div class="hide">
3844       <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;">
3845       <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3">
3846     </div>
3847     <div class="field-papan group-field-2 form-group">
3848       
3849       <label for="logoPapan" onclick="" class="input-field field-logo">
3850         
3851         
3852         
3853         <div class="btn-upload-papan w-100">
3854           <?xml version="1.0" encoding="UTF-8"?>
3855           <img src="" style="display:none">
3856           <div class="svgLogoPapan">
3857             <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="22" height="26" viewBox="0 0 22 26" fill="none">
3858               <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/>
3859             </svg>
3860             <p>Upload Logo <span>*optional</span></p>
3861           </div>
3862         </div>
3863         
3864       </label>
3865       
3866       <input
3867         type="hidden"
3868         data-properties="papan-logo"
3869         value=""
3870       >
3871       <input
3872         type="file"
3873         id="logoPapan"
3874         accept="image/*"
3875         style="position: absolute;width: 1px;height: 1px;padding: 0"
3876       >
3877       
3878       <div class="input-field">
3879         <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/>
3880         <p class="limit">0/35</p>
3881       </div>
3882       
3883     </div>
3884     
3885   </div>
3886 </div>
3887       </div>
3888     
3889   </div>
3890 </div>
3891 
3892           </div>
3893           <div class="purchase-button-wrapper">
3894             <div class="purchase-button btn-card row m-0">
3895   <div class="col-12 col-lg-2 text-left mb-2 p-0">
3896     
3897   </div>
3898   <div class="btn-next-card col-12 col-lg-10 text-right">
3899     
3900     
3901     <button
3902       
3903         
3904       
3905       class="btn next-purchase-button text-uppercase"
3906       
3907         disabled
3908       
3909     >
3910       <span>save your flower board</span>
3911     </button>
3912   </div>
3913 </div>
3914 
3915           </div>
3916         </div>
3917       </div>
3918     
3919     
3920     
3921       <div
3922         class="sectionPurchase sectionPurchaseBoard hide"
3923         data-section="address"
3924       >
3925         <div class="wrapperPurchase">
3926           <div class="purchase-content">
3927             <div class="headerPurchase">
3928   <h3>
3929     Complete Your Order
3930   </h3>
3931   <a class="close-purchase-popup">
3932   <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="18" height="18" viewBox="0 0 18 18" fill="none">
3933     <path d="M1.53287 17.4107L0.588867 16.4667L8.05553 9.00002L0.588867 1.53336L1.53287 0.589355L8.99953 8.05602L16.4662 0.589355L17.4102 1.53336L9.94353 9.00002L17.4102 16.4667L16.4662 17.4107L8.99953 9.94402L1.53287 17.4107Z" fill="black"/>
3934   </svg>
3935 </a>
3936 
3937 </div>
3938 <div class="contentPurchase">
3939   <div class="row">
3940     <div class="col-12 position-relative">
3941       <div class="addressPurchase">
3942         
3943           <h4 class="text-uppercase">recipient delivery address</h4>
3944           <p>Share the delivery address to send your heartfelt blooms straight to their door.</p>
3945         
3946         <div class="formAddressPurchase row">
3947           <div class="col-12">
3948             <form>
3949               <div class="form-group row mb-2 mb-lg-4">
3950                 <div class="col-6 position-relative">
3951                   <input id="first_name" type="text" class="form-control input__field" placeholder="" required>
3952                   <label for="first_name" class="input__label">First Name<span>*</span></label>
3953                 </div>
3954                 <div class="col-6 position-relative">
3955                   <input id="last_name" type="text" class="form-control input__field" placeholder="" required>
3956                   <label for="last_name" class="input__label">Last Name<span>*</span></label>
3957                 </div>
3958                 <input type="hidden" data-properties="nama-penerima">
3959               </div>
3960               
3961                 <h4 class="text-uppercase">how you want to input your address</h4>
3962                 <div class="form-group row mb-2 mb-lg-4 form-address-upload">
3963                   <div class="col-6 position-relative">
3964                     <label class="address-manualy">
3965                       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="18" height="17" viewBox="0 0 18 17" fill="none">
3966   <path d="M3.37484 1.83329C2.79984 1.83329 2.33317 2.29996 2.33317 2.87496V5.16663C2.33317 5.38764 2.24537 5.5996 2.08909 5.75588C1.93281 5.91216 1.72085 5.99996 1.49984 5.99996C1.27882 5.99996 1.06686 5.9
39661216 0.910582 5.75588C0.754301 5.5996 0.666504 5.38764 0.666504 5.16663V2.87496C0.666504 2.15666 0.951845 1.46779 1.45976 0.959878C1.96767 0.451967 2.65654 0.166626 3.37484 0.166626H5.6665C5.88752 0.166626 6.09948 0.254423 6.25576 0.410704C6.41204 0.566984 6.49984 0.778946 6.49984 0.999959C6.49984 1.22097 6.41204 1.43293 6.25576 1.58921C6.09948 1.7455 5.88752 1.83329 5.6665 1.83329H3.37484ZM3.37484 15.1666C2.79984 15.1666 2.33317 14.7 2.33317 14.125V11.8333C2.33317 11.6123 2.24537 11.4003 2.08909 11.244C1.93281 11.0878 1.72085 11 1.49984 11C1.27882 11 1.06686 11.0878 0.910582 11.244C0.754301 11.4003 0.666504 11.6123 0.666504 11.8333V14.125C0.666504 14.4806 0.736557 14.8328 0.872663 15.1614C1.00877 15.49 1.20826 15.7885 1.45976 16.04C1.71125 16.2915 2.00981 16.491 2.3384 16.6271C2.66699 16.7632 3.01917 16.8333 3.37484 16.8333H5.6665C5.88752 16.8333 6.09948 16.7455 6.25576 16.5892C6.41204 16.4329 6.49984 16.221 6.49984 16C6.49984 15.7789 6.41204 15.567 6.25576 15.4107C6.09948 15.2544 5.88752 15.1666 5.6665 15.1666H3.37484ZM15.6665 2.87496C15.6665 2.29996 15.1998 1.83329 14.6248 1.83329H12.3332C12.1122 1.83329 11.9002 1.7455 11.7439 1.58921C11.5876 1.43293 11.4998 1.22097 11.4998 0.999959C11.4998 0.778946 11.5876 0.566984 11.7439 0.410704C11.9002 0.254423 12.1122 0.166626 12.3332 0.166626H14.6248C14.9805 0.166626 15.3327 0.236679 15.6613 0.372786C15.9899 0.508892 16.2884 0.708386 16.5399 0.959878C16.7914 1.21137 16.9909 1.50994 17.127 1.83853C17.2631 2.16712 17.3332 2.5193 17.3332 2.87496V5.16663C17.3332 5.38764 17.2454 5.5996 17.0891 5.75588C16.9328 5.91216 16.7208 5.99996 16.4998 5.99996C16.2788 5.99996 16.0669 5.91216 15.9106 5.75588C15.7543 5.5996 15.6665 5.38764 15.6665 5.16663V2.87496ZM14.6248 15.1666C15.1998 15.1666 15.6665 14.7 15.6665 14.125V11.8333C15.666
39665 11.6123 15.7543 11.4003 15.9106 11.244C16.0669 11.0878 16.2788 11 16.4998 11C16.7208 11 16.9328 11.0878 17.0891 11.244C17.2454 11.4003 17.3332 11.6123 17.3332 11.8333V14.125C17.3332 14.4806 17.2631 14.8328 17.127 15.1614C16.9909 15.49 16.7914 15.7885 16.5399 16.04C16.2884 16.2915 15.9899 16.491 15.6613 16.6271C15.3327 16.7632 14.9805 16.8333 14.6248 16.8333H12.3332C12.1122 16.8333 11.9002 16.7455 11.7439 16.5892C11.5876 16.4329 11.4998 16.221 11.4998 16C11.4998 15.7789 11.5876 15.567 11.7439 15.4107C11.9002 15.2544 12.1122 15.1666 12.3332 15.1666H14.6248ZM4.62484 5.16663C4.62484 4.94561 4.71263 4.73365 4.86892 4.57737C5.0252 4.42109 5.23716 4.33329 5.45817 4.33329H12.5415C12.7625 4.33329 12.9745 4.42109 13.1308 4.57737C13.287 4.73365 13.3748 4.94561 13.3748 5.16663V6.41663C13.3748 6.63764 13.287 6.8496 13.1308 7.00588C12.9745 7.16216 12.7625 7.24996 12.5415 7.24996C12.3205 7.24996 12.1085 7.16216 11.9522 7.00588C11.796 6.8496 11.7082 6.63764 11.7082 6.41663V5.99996H9.83317V11H10.8748C11.0959 11 11.3078 11.0878 11.4641 11.244C11.6204 11.4003 11.7082 11.6123 11.7082 11.8333C11.7082 12.0543 11.6204 12.2663 11.4641 12.4225C11.3078 12.5788 11.0959 12.6666 10.8748 12.6666H7.12484C6.90382 12.6666 6.69186 12.5788 6.53558 12.4225C6.3793 12.2663 6.2915 12.0543 6.2915 11.8333C6.2915 11.6123 6.3793 11.4003 6.53558 11.244C6.69186 11.0878 6.90382 11 7.12484 11H8.1665V5.99996H6.2915V6.41663C6.2915 6.63764 6.20371 6.8496 6.04743 7.00588C5.89115 7.16216 5.67918 7.24996 5.45817 7.24996C5.23716 7.24996 5.0252 7.16216 4.86892 7.00588C4.71263 6.8496 4.62484 6.63764 4.62484 6.41663V5.16663Z" fill="black"/>
3967 </svg>
3968 <span>Input Address Manually</span>
3969                     </label>
3970                   </div>
3971                   <div class="col-6 position-relative">
3972                     <label for="address-upload" class="address-upload">
3973                       <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="12" height="13" viewBox="0 0 12 13" fill="none">
3974   <path d="M5.58317 9.48079V2.27246L3.6415 4.21413L3.0515 3.61579L5.99984 0.666626L8.949 3.61579L8.359 4.21496L6.4165 2.27246V9.48079H5.58317ZM1.51317 12.3333C1.12928 12.3333 0.809004 12.205 0.552337 11.9483C0.29567 11.6916 0.167059 11.3711 0.166504 10.9866V8.96746H0.999837V10.9866C0.999837 11.115 1.05317 11.2327 1.15984 11.34C1.2665 11.4472 1.384 11.5005 1.51234 11.5H10.4873C10.6151 11.5 10.7326 11.4466 10.8398 11.34C10.9471 11.2333 11.0004 11.1155 10.9998 10.9866V8.96746H11.8332V10.9866C11.8332 11.3705 11.7048 11.6908 11.4482 11.9475C11.1915 12.2041 10.8709 12.3327 10.4865 12.3333H1.51317Z" fill="black"/>
3975 </svg>
3976 <span>Upload Address Picture</span>
3977                     </label>
3978                     <input
3979                       id="address-upload"
3980                       type="file"
3981                       accept="image/png, image/jpeg"
3982                       style="position: absolute; padding: 0;width: 1px;height: 1px"
3983                     >
3984                     <input type="hidden" class="props-address-upload" data-properties="foto-alamat">
3985                   </div>
3986                 </div>
3987                 <img width="150" height="" src="" class="photo-address" style="display: none;">
3988               
3989               <div class="form-group row position-relative mb-2 mb-lg-4 form-address">
3990                 <div class="col-12">
3991                   <textarea
3992                     id="delivery_address"
3993                     data-properties="alamat-penerima"
3994                     class="form-control input__field col-12"
3995                     placeholder=""
3996                     required
3997                   ></textarea>
3998                   <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label>
3999                   
4000                 </div>
4001               </div>
4002               <div class="form-group row mb-2 mb-lg-4 form-address">
4003                 <div class="col-6 position-relative">
4004                   <input
4005                     id="recipient_number"
4006                     type="text"
4007                     data-properties="telepon-penerima"
4008                     class="form-control input__field"
4009                     placeholder=""
4010                     required
4011                   >
4012                   <label for="recipient_number" class="input__label">Recipient number<span>*</span></label>
4013                 </div>
4014                 <div class="col-6 position-relative">
4015                   <input
4016                     id="company"
4017                     type="text"
4018                     data-properties="company"
4019                     class="form-control input__field"
4020                     placeholder=""
4021                   >
4022                   <label for="company" class="input__label">Company (Optional)</label>
4023                 </div>
4024               </div>
4025               <div class="form-group row mb-2 mb-lg-4 form-address">
4026                 <div class="col-6 position-relative">
4027                   <input
4028                     id="province"
4029                     type="text"
4030                     class="form-control input__field"
4031                     placeholder=""
4032                     value="Jakarta"
4033                     data-properties="province"
4034                   >
4035                   <label for="province" class="input__label">Province</label>
4036                 </div>
4037                 <div class="col-6 position-relative">
4038                   <select id="zip" class="form-control select-search" required></select>
4039                 </div>
4040               </div>
4041             </form>
4042           </div>
4043         </div>
4044       </div>
4045       <div class="addonsPurchase">
4046         <h4 class="text-uppercase">add-ons</h4>
4047         <div class="addons">
4048           <p>No Add-Ons</p>
4049           <!--
4050             <button class="add-addon">
4051               <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="12" height="12" viewBox="0 0 12 12" fill="none">
4052                 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/>
4053               </svg>
4054               <span>Enhance my moment with Add-ons</span>
4055             </button>
4056           -->
4057         </div>
4058       </div>
4059     </div>
4060     
4061   </div>
4062 </div>
4063 
4064 
4064<script>
4065 document.addEventListener('DOMContentLoaded', function() {
4066   // Detect iOS
4067   var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
4068   
4069   if (isIOS) {
4070     document.querySelector('.formAddressPurchase').classList.add('ios');
4071     
4072     // iOS specific fixes
4073     var inputs = document.querySelectorAll('.formAddressPurchase .input__field');
4074     
4075     inputs.forEach(function(input) {
4076       // Force enable touch events on iOS
4077       input.style.webkitUserSelect = 'text';
4078       input.style.webkitTouchCallout = 'default';
4079       input.style.pointerEvents = 'auto';
4080       input.style.touchAction = 'manipulation';
4081       
4082       // Add explicit touch event listeners for iOS
4083       input.addEventListener('touchstart', function(e) {
4084         e.stopPropagation();
4085         this.focus();
4086       }, { passive: false });
4087       
4088       input.addEventListener('touchend', function(e) {
4089         e.preventDefault();
4090         e.stopPropagation();
4091         this.focus();
4092         this.click();
4093       }, { passive: false });
4094       
4095       // Force focus on tap for iOS
4096       input.addEventListener('click', function(e) {
4097         e.stopPropagation();
4098         if (document.activeElement !== this) {
4099           this.focus();
4100         }
4101       });
4102     });
4103     
4104     // Fix for label overlapping on iOS
4105     var labels = document.querySelectorAll('.formAddressPurchase .input__label');
4106     labels.forEach(function(label) {
4107       label.style.pointerEvents = 'none';
4108       label.addEventListener('touchstart', function(e) {
4109         e.preventDefault();
4110         var input = this.parentNode.querySelector('.input__field');
4111         if (input) {
4112           input.focus();
4113         }
4114       });
4115     });
4116   }
4117   
4118   // Handle input state for all browsers, especially iOS
4119   var inputs = document.querySelectorAll('.input__field');
4120   
4121   inputs.forEach(function(input) {
4122     // Handle input events
4123     input.addEventListener('input', function() {
4124       if (this.value.trim() !== '') {
4125         this.classList.add('has-value');
4126       } else {
4127         this.classList.remove('has-value');
4128       }
4129     });
4130     
4131     // Handle focus
4132     input.addEventListener('focus', function() {
4133       this.classList.add('focused');
4134       // iOS specific: ensure input is visible
4135       if (isIOS) {
4136         setTimeout(function() {
4137           input.scrollIntoView({ behavior: 'smooth', block: 'center' });
4138         }, 300);
4139       }
4140     });
4141     
4142     // Handle blur
4143     input.addEventListener('blur', function() {
4144       this.classList.remove('focused');
4145       if (this.value.trim() !== '') {
4146         this.classList.add('has-value');
4147       } else {
4148         this.classList.remove('has-value');
4149       }
4150     });
4151     
4152     // Initial check for pre-filled values
4153     if (input.value.trim() !== '') {
4154       input.classList.add('has-value');
4155     }
4156   });
4157   
4158   // Additional iOS fixes
4159   if (isIOS) {
4160     // Prevent iOS Safari from adding default styling
4161     document.addEventListener('touchstart', function() {}, { passive: true });
4162     
4163     // Fix viewport issues on iOS
4164     var viewport = document.querySelector('meta[name=viewport]');
4165     if (viewport) {
4166       viewport.setAttribute('content', 
4167         'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
4168       );
4169     }
4170   }
4171 });
4172 </script>
4172
4173           </div>
4174           <div class="purchase-button-wrapper">
4175             <div class="purchase-button btn-address row m-0">
4176   <div class="col-12 col-lg-2 text-left mb-2 p-0">
4177     
4178       <button class="back-purchase-button back-address text-uppercase">
4179         <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672">
4180           <path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z" fill="black"/>
4181         </svg>
4182         <span>Back</span>
4183       </button>
4184     
4185   </div>
4186   <div class="btn-next-card col-12 col-lg-10 text-right">
4187     
4188       <!--
4189         <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0">
4190           <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672">
4191             <path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z" fill="black"/>
4192           </svg>
4193           <span>Back</span>
4194         </button>
4195       -->
4196     
4197     
4198     <button
4199       
4200         id="addtocart-card"
4201       
4202       class="btn  next-address text-uppercase"
4203       
4204     >
4205       <span>add to cart</span>
4206     </button>
4207   </div>
4208 </div>
4209 
4210           </div>
4211         </div>
4212       </div>
4213     
4214   </div>
4215 </div>
4216 <div id="backgroundPopup"></div>
4217 
4218 
4219 
4220 <input
4221   data-index="1"
4222   type="hidden"
4223   id="properties-delivery-date"
4224   name="properties[Delivery Date]"
4225   value="-"
4226 >
4227 <input
4228   data-index="2"
4229   type="hidden"
4230   id="properties-delivery-time"
4231   name="properties[Delivery Time]"
4232   value="-"
4233 >
4234 <input
4235   data-index="4"
4236   type="hidden"
4237   id="properties-nama-penerima"
4238   name="properties[Nama Penerima]"
4239   value="-"
4240 >
4241 <input
4242   data-index="5"
4243   type="hidden"
4244   id="properties-alamat-penerima"
4245   name="properties[Alamat Penerima]"
4246   value="-"
4247 >
4248 <input
4249   data-index="6"
4250   type="hidden"
4251   id="properties-kodepos"
4252   name="properties[Kodepos]"
4253   value="-"
4254 >
4255 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]">
4256 
4257   
4258     <input
4259       data-index="8"
4260       type="hidden"
4261       id="properties-kartu-nama-penerima"
4262       name="properties[Kartu Nama Penerima]"
4263       value="-"
4264     >
4265   
4266   <textarea
4267     data-index="9"
4268     type="hidden"
4269     id="properties-kartu-pesan"
4270     name="properties[Kartu Pesan]"
4271     style="display: none"
4272   >-</textarea>
4273 
4274 
4275 
4276   <input
4277     data-index="10"
4278     type="hidden"
4279     id="properties-kartu-nama-pengirim"
4280     name="properties[Kartu Nama Pengirim]"
4281     value="-"
4282   >
4283
4284 <!-- Additional Shipping -->
4285 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]">
4286 <input
4287   type="hidden"
4288   id="properties-kota-pengiriman-country"
4289   name="properties[Country]"
4290   value="Indonesia"
4291 >
4292 <input type="hidden" id="properties-shipping" name="properties[Shipping]">
4293 
4294 <input type="hidden" id="properties-time" name="properties[Time]">
4295 <input type="hidden" id="properties-card" name="properties[Card]">
4296 <input type="hidden" id="properties-addons" name="properties[Addons]">
4297 
4298 <input
4299   type="hidden"
4300   id="properties-company"
4301   name="properties[Company]"
4302   value=""
4303 >
4304 
4304<script>
4305   
4306   $(document).ready(function(){
4307     
4308     var text_max_papan1=150;
4309     var msg_text_papan1="";
4310     $('#kartu-ucapan-ucapan').keyup(function(){
4311       var text_length_papan1=$('#kartu-ucapan-ucapan').val().length;
4312       var msg_text_papan1=$('#kartu-ucapan-ucapan').val();
4313     });
4314 
4315     var notes_papan1 = [
4316       
4317       [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."]
4318       
4319     ];
4320     $('#show_note_papan1').click(function(event){
4321       event.preventDefault();
4322       var idx_papan1=parseInt($('#note_id_papan1').val());
4323       if(isNaN(idx_papan1)){
4324         idx_papan1=0;
4325       }else{
4326         idx_papan1++;
4327         idx_papan1=idx_papan1%notes_papan1.length;
4328       }
4329       var note_papan1=notes_papan1[idx_papan1][1];
4330       $('#note_id_papan1').val(idx_papan1);
4331       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1);
4332       $('#msgDelivery').val(note_papan1);
4333 
4334       var text_length_papan1=$('#kartu-ucapan-papan').val().length;
4335       var idx_2_papan1=parseInt($('#note_btn_id_papan1').val());
4336       if(isNaN(idx_2_papan1)){
4337         idx_2_papan1=0;
4338       }else{
4339         idx_2_papan1++;
4340         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4341       }
4342       $('#note_btn_id_papan1').val(idx_2_papan1);
4343       //var note_btn=note_btn_text[idx_2][1];
4344       //$('#note_btn').text(note_btn);
4345     });
4346 
4347     var text_max_papan2=150;
4348     var msg_text_papan2="";
4349     $('#kartu-ucapan-ucapan').keyup(function(){
4350       var text_length_papan2=$('#kartu-ucapan-ucapan').val().length;
4351       var msg_text_papan2=$('#kartu-ucapan-ucapan').val();
4352     });
4353 
4354     var notes_papan2 = [
4355       
4356       [0,"Congratulations (ucapan)."], [1,"Selamat dan sukses atas dibukanya (ucapan personal)."],[2,"Congratulations for the grand opening of (nama toko/bisnis)."],[3,"Happy Graduation (nama)."]
4357       
4358     ];
4359     $('#show_note_papan2').click(function(event){
4360       event.preventDefault();
4361       var idx_papan2=parseInt($('#note_id_papan2').val());
4362       if(isNaN(idx_papan2)){
4363         idx_papan2=0;
4364       }else{
4365         idx_papan2++;
4366         idx_papan2=idx_papan2%notes_papan2.length;
4367       }
4368       var note_papan2=notes_papan2[idx_papan2][1];
4369       $('#note_id_papan2').val(idx_papan2);
4370       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2);
4371       $('#msgDelivery').val(note_papan2);
4372       var text_length_papan2=$('#kartu-ucapan-papan').val().length;
4373       var idx_2_papan2=parseInt($('#note_btn_id_papan2').val());
4374       if(isNaN(idx_2_papan2)){
4375         idx_2_papan2=0;
4376       }else{
4377         idx_2_papan2++;
4378         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4379       }
4380       $('#note_btn_id_papan2').val(idx_2_papan2);
4381       //var note_btn=note_btn_text[idx_2][1];
4382       //$('#note_btn').text(note_btn);
4383     });
4384 
4385     var text_max_papan3=150;
4386     var msg_text_papan3="";
4387     $('#kartu-ucapan-ucapan').keyup(function(){
4388       var text_length_papan3=$('#kartu-ucapan-ucapan').val().length;
4389       var msg_text_papan3=$('#kartu-ucapan-ucapan').val();
4390     });
4391 
4392     var notes_papan3 = [
4393       
4394       [0,"Turut Berduka Cita atas meninggalnya almarhum / almarhumah (Nama)."], [1,"Our Deepest Condolences for the lost of your beloved Father/ Mother/ Husband/ Wife/ Children."], [2,"Our Deepest Sympathy for the lost of your beloved Father/ Mother/ Husband/ Wife/ Children."], [3,"Innalillahi wa innailaihi rojiun, Turut berduka cita atas meninggalnya (nama)."]
4395       
4396     ];
4397     $('#show_note_papan3').click(function(event){
4398       event.preventDefault();
4399       var idx_papan3=parseInt($('#note_id_papan3').val());
4400       if(isNaN(idx_papan3)){
4401         idx_papan3=0;
4402       }else{
4403         idx_papan3++;
4404         idx_papan3=idx_papan3%notes_papan3.length;
4405       }
4406       var note_papan3=notes_papan3[idx_papan3][1];
4407       $('#note_id_papan3').val(idx_papan3);
4408       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3);
4409       $('#msgDelivery').val(note_papan3);
4410       var text_length_papan3=$('#kartu-ucapan-papan').val().length;
4411       var idx_2_papan3=parseInt($('#note_btn_id_papan3').val());
4412       if(isNaN(idx_2_papan3)){
4413         idx_2_papan3=0;
4414       }else{
4415         idx_2_papan3++;
4416         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4417       }
4418       $('#note_btn_id_papan3').val(idx_2_papan3);
4419       //var note_btn=note_btn_text[idx_2][1];
4420       //$('#note_btn').text(note_btn);
4421     });
4422 
4423     var text_max_papan4=150;
4424     var msg_text_papan4="";
4425     $('#kartu-ucapan-ucapan').keyup(function(){
4426       var text_length_papan4=$('#kartu-ucapan-ucapan').val().length;
4427       var msg_text_papan4=$('#kartu-ucapan-ucapan').val();
4428     });
4429 
4430     $('#show_note_papan4').click(function(event){
4431       var notes_papan4 = [
4432         [0,"Here’s to you—steadier, stronger and better every day."],
4433         [1,"Warmest wishes for a speedy recovery!"],
4434         [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."],
4435         [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."]
4436       ];
4437       event.preventDefault();
4438       var idx_papan4=parseInt($('#note_id_papan4').val());
4439       console.log(idx_papan4, 'idx_papan4')
4440       if(isNaN(idx_papan4)){
4441         idx_papan4=0;
4442       }else{
4443         idx_papan4++;
4444         idx_papan4=idx_papan4%notes_papan4.length;
4445       }
4446       var note_papan4=notes_papan4[idx_papan4][1];
4447       $('#note_id_papan4').val(idx_papan4);
4448       $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4);
4449       console.log(note_papan4, 'note_papan4')
4450       var text_length_papan4=$('#kartu-ucapan-papan').val().length;
4451       var idx_2_papan4=parseInt($('#note_btn_id_papan4').val());
4452       if(isNaN(idx_2_papan4)){
4453         idx_2_papan4=0;
4454       }else{
4455         idx_2_papan4++;
4456         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4457       }
4458       $('#note_btn_id_papan4').val(idx_2_papan4);
4459     });
4460 
4461     /*
4462     $("#jenisPapan").change(function(){
4463       $( "select option:selected").each(function(){
4464         if($(this).attr("value")=="Happy Wedding"){
4465           $("#suggest-messages a").hide();
4466           $("#show_note_papan1").show();
4467           $("#kartu-ucapan-papan").val("");
4468         }
4469         if($(this).attr("value")=="Congratulations"){
4470           $("#suggest-messages a").hide();
4471           $("#show_note_papan2").show();
4472           $("#kartu-ucapan-papan").val("");
4473         }
4474         if($(this).attr("value")=="Duka Cita"){
4475           $("#suggest-messages a").hide();
4476           $("#show_note_papan3").show();
4477           $("#kartu-ucapan-papan").val("");
4478         }
4479       });
4480     }).change();
4481     */
4482 
4483     
4484 
4485     
4486 
4487     $(".variant-metafield").each(function(){
4488       const t = $(this)
4489       const id = t.attr("id")
4490       const target = $(`[data-select=${id}]`)
4491       t.on('select2:selecting', function(e) {
4492         const data = e.params.args.data
4493         target.val(data.text)
4494       });
4495     })
4496   })
4497 </script>
4497
4498 
4499 <div id="popupCart">
4500   <div class="container">
4501     <div class="wrapperPopupCart">
4502       <div class="headerPopupCart">
4503         <div class="d-flex pl-5 pr-5 p-4">
4504           <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="16" height="12" viewBox="0 0 16 12" fill="none">
4505             <path d="M5.55008 11.3076L0.580078 6.33761L1.29408 5.62461L5.55008 9.88061L14.7061 0.724609L15.4191 1.43861L5.55008 11.3076Z" fill="black"/>
4506           </svg>
4507           <span>item added to your cart</span>
4508         </div>
4509         <a class="close-purchase-popup">
4510   <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="18" height="18" viewBox="0 0 18 18" fill="none">
4511     <path d="M1.53287 17.4107L0.588867 16.4667L8.05553 9.00002L0.588867 1.53336L1.53287 0.589355L8.99953 8.05602L16.4662 0.589355L17.4102 1.53336L9.94353 9.00002L17.4102 16.4667L16.4662 17.4107L8.99953 9.94402L1.53287 17.4107Z" fill="black"/>
4512   </svg>
4513 </a>
4514 
4515       </div>
4516       <div class="contentPopupCart">
4517         <div class="pl-5 pr-5 p-4">
4518           <div class="itemContent row m-0 justify-content-between">
4519             <div class="col-2 align-self-center">
4520               
4521               <img
4522                 class="d-block"
4523                 width="80"
4524                 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426"
4525               >
4526             </div>
4527             <div class="col-10 align-self-center">
4528               <div class="row pl-3">
4529                 <div class="col-12 col-lg-7">
4530                   <span class="titleCartPopup text-uppercase">KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet </span>
4531                 </div>
4532                 <div class="d-flex justify-content-end col-12 col-lg-5">
4533                   <span class="deleteCartPopup hide">Delete</span>
4534                   <span class="lineCartPrice align-self-center">Rp 5.000</span>
4535                 </div>
4536               </div>
4537             </div>
4538           </div>
4539           <div class="itemProperties">
4540             
4541               <div class="propDeliver">
4542                 <h4>delivery option detail</h4>
4543                 <p>
4544                   <span>delivery city</span>
4545                   <span class="propDeliveryCity">jakarta</span>
4546                 </p>
4547                 <p>
4548                   <span>delivery date</span>
4549                   <span class="propDeliveryDate">24/03/2025</span>
4550                 </p>
4551                 <p>
4552                   <span>delivery time</span>
4553                   <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span>
4554                 </p>
4555               </div>
4556               <div class="propAddress">
4557                 <h4>delivery option detail</h4>
4558                 <p>
4559                   <span>RECIPIENT NAME</span>
4560                   <span class="propDeliveryName">jane doe</span>
4561                 </p>
4562                 <p>
4563                   <span>delivery address</span>
4564                   <span class="propDeliveryAddress"
4565                     >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta
4566                     Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span
4567                   >
4568                 </p>
4569                 <p>
4570                   <span>recipient phone number</span>
4571                   <span class="propDeliveryPhone">(+62) 812-3456-7890</span>
4572                 </p>
4573                 <p>
4574                   <span>PROVINCE</span>
4575                   <span class="propDeliveryProv">Jakarta</span>
4576                 </p>
4577                 <p>
4578                   <span>postal code</span>
4579                   <span class="propDeliveryZip">12710</span>
4580                 </p>
4581                 
4582                 
4583               </div>
4584             
4585           </div>
4586           <div class="itemAddonCart">
4587             <div class="toggleAddonCart d-flex justify-content-between">
4588               <h4>add-ons (0)</h4>
4589               <svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="5" height="9" viewBox="0 0 5 9" fill="none">
4590                 <path d="M1.0128 0.84668L4.78613 4.62001L1.0128 8.39335L0.546133 7.92001L3.84613 4.62001L0.546133 1.32001L1.0128 0.84668Z" fill="black"/>
4591               </svg>
4592             </div>
4593             <div class="wrapperItemAddonCart"></div>
4594           </div>
4595           
4596         </div>
4597       </div>
4598       <div class="footerPopupCart">
4599         <div class="row m-0 pl-5 pr-5 p-4">
4600           <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a>
4601           <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a>
4602           <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a>
4603         </div>
4604       </div>
4605     </div>
4606   </div>
4607 </div>
4608 
4609 
4610 
4610<script>
4611   const shareButton = document.getElementById('shareButton');
4612 
4613   shareButton.addEventListener('click', () => {
4614     if (navigator.share) {
4615       navigator.share({
4616         title: "KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ",
4617         url: "/products/blossom-shine",
4618         text: 'Check out this page!'
4619       })
4620       .then(() => console.log('Successful share'))
4621       .catch((error) => console.log('Error sharing', error));
4622     } else {
4623       alert('Web Share API is not supported in this browser.');
4624     }
4625   });
4626 
4627   // Inventory validation function
4628   function checkInventoryStatus() {
4629     const productSelect = document.getElementById('productSelect');
4630     const purchaseButton = document.querySelector('#personalizeBtn button');
4631     
4632     if (!productSelect || !purchaseButton) return;
4633 
4634     const selectedVariantId = productSelect.value;
4635     
4636     // Get variant data from Shopify
4637     fetch(`/products/blossom-shine.js`)
4638       .then(response => response.json())
4639       .then(product => {
4640         const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId);
4641         
4642         if (selectedVariant) {
4643           const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 
4644                                selectedVariant.inventory_management === 'shopify' && 
4645                                selectedVariant.inventory_policy !== 'continue';
4646           
4647           if (isOutOfStock) {
4648             purchaseButton.disabled = true;
4649             purchaseButton.textContent = 'Out of Stock';
4650             purchaseButton.setAttribute('data-out-of-stock', 'true');
4651             purchaseButton.style.backgroundColor = '#cccccc';
4652             purchaseButton.style.cursor = 'not-allowed';
4653           } else {
4654             // Check if button was disabled due to other conditions
4655             
4656             
4657             
4658             
4659             
4660             
4661             
4662             
4663             const isOtherDisabled = false || true || false;
4664             
4665             if (!isOtherDisabled) {
4666               purchaseButton.disabled = false;
4667               purchaseButton.textContent = 'customize your flower board';
4668               purchaseButton.removeAttribute('data-out-of-stock');
4669               purchaseButton.style.backgroundColor = '';
4670               purchaseButton.style.cursor = '';
4671             }
4672           }
4673         }
4674       })
4675       .catch(error => {
4676         console.error('Error checking inventory:', error);
4677       });
4678   }
4679 
4680   // Check inventory on page load
4681   document.addEventListener('DOMContentLoaded', function() {
4682     checkInventoryStatus();
4683     
4684     // Listen for variant changes
4685     const productSelect = document.getElementById('productSelect');
4686     if (productSelect) {
4687       productSelect.addEventListener('change', checkInventoryStatus);
4688     }
4689   });
4690 
4691   // Prevent form submission if out of stock
4692   document.addEventListener('click', function(e) {
4693     if (e.target.matches('button[data-out-of-stock="true"]')) {
4694       e.preventDefault();
4695       e.stopPropagation();
4696       alert('This product is currently out of stock and cannot be purchased.');
4697       return false;
4698     }
4699   });
4700 </script>
4700
4701 
4702 
4703   
4704 </div>
4705 
4706           </div>
4707         </div>
4708       </div>
4709     </div>
4710     <div id="product-bottom">
4711       
4712         <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description">
4713           <div class="container">
4714             
4715 
4716 
4717 
4718 
4719     <div class="short-desc-mobile d-block d-lg-none mb-3">
4720         <div class="short-desc">
4721             <ul>
4722 <li><strong>KASKUSTOTO dikenal sebagai platform alternatif togel online resmi yang memberikan akses stabil serta banyak bonus-bonus yang diberikan setiap hari.</strong></li>
4723         </div>
4724         <label class="more-mobile">Show More →</label>
4725     </div>
4726 
4727 <style>
4728 .animated-title {
4729     text-align: center;
4730     font-weight: bold;
4731     color: #079c02;
4732     font-size: 28px;
4733     position: relative;
4734     animation: glow 2s infinite alternate, moveUpDown 3s infinite;
4735 }
4736 
4737 /* Efek glow / bercahaya hijau */
4738 @keyframes glow {
4739     0% { text-shadow: 0 0 5px #079c02; color: #079c02; }
4740     50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; }
4741     100% { text-shadow: 0 0 10px #1bff00; color: #079c02; }
4742 }
4743 
4744 /* Efek gerakan naik turun */
4745 @keyframes moveUpDown {
4746     0% { transform: translateY(0px); }
4747     50% { transform: translateY(-5px); }
4748     100% { transform: translateY(0px); }
4749 }
4750 </style>
4751 
4752 
4752<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4752
4753 
4753<script>
4754   CartJS.init({"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"IDR","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0});
4755 
4756   const productType = $("[data-product-type]").data("product-type")
4757   const productDate = Date.parse(new Date())
4758   
4759   const shop = 'outerbloom1.myshopify.com'
4760   const host = 'https://app.asmaraku.com'
4761   // const host = 'http://localhost:5001'
4762 
4763   const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec"
4764   
4765   const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ')
4766 
4767   $("#properties-time").val(new Date().getTime())
4768 
4769   const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
4770 
4771   if(!isIOS) {
4772     $("#full-date").attr("type", "button")
4773   }
4774 
4775   let dateTime = new Date();
4776   let today = dateTime.getDate();
4777   let day = dateTime.getDay();
4778   let hour = dateTime.getHours();
4779   let min = dateTime.getMinutes();
4780   let timeOfDay = hour + (min / 100);
4781 
4782   async function getFetch(url) {
4783     const response = await fetch(url);
4784     let status = false
4785     let result
4786     if(response.ok) {
4787       status = true
4788       result = await response.json();
4789     }
4790     return {
4791       status,
4792       data: result
4793     }
4794   }
4795 
4796   
4797 
4798   function setCookie(cname, cvalue, exMins) {
4799     var d = new Date();
4800     d.setTime(d.getTime() + (exMins*60*1000));
4801     var expires = "expires="+d.toUTCString();  
4802     document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
4803   }
4804 
4805   function getCookie(cname) {
4806     let name = cname + "=";
4807     let decodedCookie = decodeURIComponent(document.cookie);
4808     let ca = decodedCookie.split(';');
4809     for(let i = 0; i <ca.length; i++) {
4810       let c = ca[i];
4811       while (c.charAt(0) == ' ') {
4812         c = c.substring(1);
4813       }
4814       if (c.indexOf(name) == 0) {
4815         return c.substring(name.length, c.length);
4816       }
4817     }
4818     return "";
4819   }
4820 
4821   async function renderDate() {
4822     let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`);
4823     console.log(dataDate, 'renderDate')
4824     const data = dataDate?.data
4825     const date = data.date
4826     const time = data.time
4827 
4828     console.log(date, 'DATE')
4829 
4830     const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
4831     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
4832     const htmlDate = []
4833     for(let i = 0;i < date.length;i++) {
4834       const full = date[i].date
4835       const d = new Date(date[i].date);
4836       const day = weekday[d.getDay()];
4837       const dt = d.getDate();
4838       const mt = monthly[d.getMonth()];
4839       const yr = d.getFullYear();
4840       const isDate = Boolean(date[i].isEnabled)
4841       const cutoffpagi = date[i].cutoff?.pagi
4842       const cutoffsiang = date[i].cutoff?.siang
4843       const cutoffMalam = date[i].cutoff?.Malam
4844       var html = `
4845         <button data-id="8144957800663" class="date-single calendarbutton btn steps-btn col col-3 btn-date-time" data-day="${day}" data-fulldate="${full}" data-date="${dt < 10 ? '0' + dt : dt}" data-month="${mt}" data-year="${yr}" data-offpagi="${cutoffpagi}" data-offsiang="${cutoffsiang}" data-offMalam="${cutoffMalam}" ${isDate === true ? '' : 'disabled'}>
4846           ${dt === today ?
4847             `Today<span>${dt < 10 ? '0' + dt : dt}</span>` :
4848             `${day}<span>${dt < 10 ? '0' + dt : dt}</span>`
4849           }
4850         </button>
4851       `
4852       htmlDate.push(html)
4853     }
4854     const htmlTime = []
4855     for(var i = 0;i < time.length;i++) {
4856       const timeText = time[i].text
4857       const timeTime = time[i].time
4858       const timeEnabled = time[i].isEnabled
4859       var html = `
4860           <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button>
4861         `
4862       htmlTime.push(html)
4863     }
4864     const deliveryDate = document.getElementById("deliveryDate");
4865     if(deliveryDate) {
4866       deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join(''))
4867       $("#deliveryTime").html(htmlTime)
4868       if(productType !== '') {
4869         console.log("clarity event " + productType + ' calendaring')
4870         window.clarity("event", `${productType} calendaringSchedule`)
4871         // window.clarity("set", productType, `calendaringSchedule - ${productDate}`)
4872       }
4873     }
4874   }
4875 
4876   async function getProvince(city) {
4877     let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`);
4878     console.log(province, 'province')
4879     $("#province").val(province)
4880   }
4881 
4882   async function renderAddress() {
4883     let current
4884     if(getCookie("location_delivery")){
4885       current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1)
4886     }
4887     let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`);
4888     console.log(address)
4889     const data = address?.data?.city
4890     const htmlAddress = []
4891     const grouping = []
4892     for(let i = 0;i < data?.length;i++) {
4893       if(data[i]){
4894         if(data[i]?.group) {
4895           grouping.push(data[i].group)
4896         }
4897         const price = rupiah.format(data[i]?.rate)
4898         let promo = '(Promo Free Delivery)'
4899         if(data[i]?.name === 'Jakarta - PickUp ASHTA'){
4900           promo = '(at SCBD, Ashta)'
4901         } else if(data[i]?.name === 'Jakarta - PickUp ITC'){
4902           promo = '(at Kuningan, ITC Kuningan)'
4903         } else if(data[i]?.name === 'BSD - PickUp'){
4904           promo = '(at Goldfinch Gading Serpong)'
4905         } else if(data[i]?.name === 'Kota Lainnya'){
4906           promo = ''
4907         }
4908         htmlAddress.push(`<option data-province="${data[i]?.province}" data-city="${data[i]?.city}" data-note="${data[i]?.note}" data-price="${data[i]?.rate}" value="${data[i]?.name}">${data[i]?.name === 'Kota Lainnya' ? 'Seluruh Kota Lain di Indonesia' : data[i]?.name} ${data[i]?.rate > 0 ? `(${price})` : promo}</option>`)
4909       }
4910     }
4911     
4912     const deliveryCity = document.getElementById("cities");
4913     if(deliveryCity) {
4914       deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join(''))
4915       if(!isIOS) {
4916         $(deliveryCity).select2();
4917       }
4918     }
4919   }
4920 
4921   async function renderZip(v, v2, v3) {
4922     const deliveryZip = document.getElementById("zip");
4923     if(v === '') {
4924       return
4925     }
4926     let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`);
4927     let zip = dataZip?.data?.zip
4928     console.log(zip)
4929     let htmlZip = []
4930     for(let i = 0; i < zip?.length;i++) {
4931       htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`)
4932     }
4933     deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join(''))
4934   }
4935 
4936   renderDate()
4937   renderAddress()
4938 
4939   let rupiah = new Intl.NumberFormat('id-ID', {
4940     style: 'currency',
4941     currency: 'IDR',
4942     maximumFractionDigits: 0, 
4943     minimumFractionDigits: 0
4944   });
4945 
4946   async function insertCard(data) {
4947     const response = await fetch(`${host}/api/card/new`, {
4948         method: "POST",
4949         headers: {
4950           'Content-Type': 'application/json',
4951         },
4952         body: data
4953     })
4954     const result = await response.json()
4955     let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1]
4956     $("#greetingCard").attr("data-index", rowIndex)
4957     return result
4958   }
4959     
4960   async function updateCard(data){
4961     const rowIndex = $("#greetingCard").data("index")
4962     const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, {
4963         method: "PUT",
4964         headers: {
4965           'Content-Type': 'application/json',
4966         },
4967         body: data
4968     })
4969     return response
4970   }
4971     
4972   function bytesToSize(bytes) {
4973     var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p'];
4974     for (var i = 0; i < sizes.length; i++) {
4975       if (bytes <= 1024) {
4976         return bytes + ' ' + sizes[i];
4977       } else {
4978         bytes = parseFloat(bytes / 1024).toFixed(2)
4979       }
4980     }
4981     return bytes + ' P';
4982   }
4983 
4984   async function uploadMedia(uri, type) {
4985     nameq = $("#properties-nama-penerima").val()
4986     dear = $("#properties-kartu-nama-penerima").val()
4987     card = $("[data-properties=ucapan]").val()
4988     sender = $("#properties-kartu-nama-pengirim").val()
4989     photo = $("#properties-photo").val()
4990     video = $("#properties-video").val()
4991     status = "Product"
4992         
4993     const name = qrID
4994     let formData = new FormData(); 
4995     formData.append("file", uri);
4996     const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
4997       method: "POST", 
4998       body: formData
4999     })
5000     const result = await response.json();
5001     if(result) {
5002       const url = result.url
5003       if(type === 'image/jpeg') {
5004         $("#properties-photo").val(url)
5005         $(".preview-image").show()
5006         $(".remove-image").show()
5007         photo = url
5008       } else {
5009         $("#properties-video").val(url)
5010         $("#label-input-video span").text("Change File")
5011         $(".case-qrcode-preview p").text("Scan here for a secret message")
5012         $(".remove-media").show()
5013         $("#product-top #product-meta .case-video-preview p").html(`<span class="replace-video" tite="Replace Video">${uri.name} (${bytesToSize(uri.size)})</span><span> is uploaded</span>`)
5014         $("[for=input-video]").hide()
5015         video = url
5016       }
5017       $(".case-video-preview").show()
5018       $(".steps-card-preview").removeClass("loading")
5019       // updateCard(nameq, dear, card, sender, photo, video, status)
5020 
5021       $(".nextBtn").attr("disabled", false)
5022     }
5023   }
5024 
5025   function randomString(length, chars) {
5026     var result = '';
5027     for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
5028     return result;
5029   }
5030 
5031   function getNoteCity(fulldate) {
5032     const h_1 = new Date(new Date().setDate(new Date().getDate() + 1))
5033     const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"];
5034     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
5035     const d = new Date(h_1);
5036     const day = weekday[d.getDay()];
5037     const dt = d.getDate();
5038     const mt = monthly[d.getMonth()];
5039     const yr = d.getFullYear();
5040     const p = $("#cities").parent(".form-group")
5041   }
5042 
5043   function disabledSameDay() {
5044     let btnFirst = $("#deliveryDate").find("button:first-child")
5045     let getDay = new Date().getDay();
5046 
5047     
5048       
5049       if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){
5050         if(hour >= 14.00){
5051           btnFirst.attr("disabled", true)
5052         }
5053       } else if(getDay == 6){
5054         if(hour >= 16.00){
5055           btnFirst.attr("disabled", true)
5056         }
5057       } else if(getDay == 0){
5058         if(hour >= 16.00){
5059           btnFirst.attr("disabled", true)
5060         }
5061       }
5062       
5063     
5064   }
5065 
5066   function disabledays(date) {
5067     let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
5068     //if u have to disable a list of day
5069     let removeDays
5070     
5071     
5072     
5073         removeDays = ["2025-2-13", "2025-2-14"];
5074     
5075     if ($.inArray(ymd, removeDays) >= 0) {
5076       return [false];
5077     } else {
5078       let day = date.getDay();
5079       if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){
5080           return [(day == 0),  ''];
5081       }
5082       
5083       if(day == 0){
5084         return [(day == 0),  ''];
5085       }
5086       
5087       
5088       return [(day != 0),  ''];
5089     }
5090   }
5091 
5092   /* Indonesian initialisation for the jQuery UI date picker plugin. */
5093   /* Written by Deden Fathurahman ([email protected]). */
5094   ( function( factory ) {
5095     if ( typeof define === "function" && define.amd ) {
5096 
5097       // AMD. Register as an anonymous module.
5098       define( [ "../widgets/datepicker" ], factory );
5099     } else {
5100 
5101       // Browser globals
5102       factory( jQuery.datepicker );
5103     }
5104   }( function( datepicker ) {
5105 
5106   datepicker.regional.id = {
5107     closeText: "Tutup",
5108     prevText: "&#x3C;mundur",
5109     nextText: "maju&#x3E;",
5110     currentText: "Today",
5111     monthNames: [ "January","February","March","April","May","Juny",
5112                   "July","August","September","October","November","December" ],
5113     monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun",
5114                       "Jul","Agu","Sep","Oct","Nov","Dec" ],
5115     dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ],
5116     dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ],
5117     dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ],
5118     weekHeader: "Mg",
5119     dateFormat: "D, dd M",
5120     firstDay: 0,
5121     isRTL: false,
5122     showMonthAfterYear: false,
5123     yearSuffix: "" };
5124   datepicker.setDefaults( datepicker.regional.id );
5125 
5126   return datepicker.regional.id;
5127 
5128 } ) );
5129 
5130   function loadPopup() {
5131     $("#backgroundPopup").fadeIn("slow");
5132     $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow");
5133     const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first()
5134     if(firstSection.hasClass("purchasePersonalize")) {
5135       if(productType !== '') {
5136         console.log("clarity event " + productType + ' personalize')
5137         window.clarity("event", `${productType} cardPersonalization`)
5138         // window.clarity("set", productType, `cardPersonalization - ${productDate}`)
5139       }
5140     } else if (firstSection.hasClass("sectionPurchaseBoard")) {
5141         console.log("clarity event " + productType + ' personalizeBoard')
5142         window.clarity("event", `${productType} personalizeBoard`)
5143         // window.clarity("set", productType, `personalizeBoard - ${productDate}`)
5144     }
5145     firstSection.removeClass("hide")
5146     
5147     // Auto-trigger addon loading when addon section becomes visible
5148     setTimeout(function() {
5149       const addonSection = $(".purchaseAddon")
5150       if(addonSection.length > 0 && !addonSection.hasClass("hide")) {
5151         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
5152           $("[data-addon=upsell-all]").trigger("click")
5153         }
5154       }
5155     }, 200)
5156   }
5157 
5158   function disablePopup() {
5159     $("#backgroundPopup").fadeOut("slow");
5160     $(".purchasePopup").fadeOut("slow");
5161     $("#popupCart").fadeOut("slow");
5162   }
5163 
5164     function scrollTo(parent, div, dur) {
5165       $(parent).animate({
5166         scrollTop: $(div).offset().top
5167       }, dur);
5168     }
5169 
5170   function loadPopupPersonalize() {
5171     const div = "#purchaseProduct"
5172     const p = "html, body, .product-meta"
5173     $("p.error").remove()
5174     loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all")
5175     const isCity = $("#cities[required]")
5176     const isDate = $("#propDeliveryDate[required]")
5177     const isTime = $("#propDeliveryTime[required]")
5178     // loadPopup()
5179     if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') {
5180       loadPopup()
5181     }
5182     if(isCity.val() == '') {
5183       isCity.parent(".row").append("<p class='error'>Choose delivery city</p>")
5184       scrollTo(p, div, 500)
5185     }
5186     if(isDate.val() == '') {
5187       isDate.parents(".row").append("<p class='error'>Choose delivery date</p>")
5188       scrollTo(p, div, 500)
5189     }
5190     if(isTime.val() == '') {
5191       isTime.parents(".row").append("<p class='error'>Choose delivery time</p>")
5192       scrollTo(p, div, 500)
5193     }
5194   }
5195 
5196   function quantityCounter() {
5197     $(document).on("click", ".item-card.selected .q_up", function () {
5198       var C = $(this).attr("data-id"),
5199           S =
5200               parseInt(
5201                   $(this)
5202                       .siblings(".quantity-cart-" + C)
5203                       .val()
5204               ) + 1;
5205       $(this).attr("data-quantity", S),
5206           $(this)
5207               .siblings(".quantity-cart-" + C)
5208               .val(S);
5209     }),
5210     $(document).on("click", ".item-card.selected .q_down", function () {
5211         var C = $(this).attr("data-id"),
5212             S = parseInt(
5213                 $(this)
5214                     .siblings(".quantity-cart-" + C)
5215                     .val()
5216             );
5217         0 < S && $(this).attr("data-quantity", S - 1),
5218             0 < S &&
5219                 $(this)
5220                     .siblings(".quantity-cart-" + C)
5221                     .val(S - 1);
5222     });
5223   }
5224 
5225   quantityCounter()
5226 
5227   const itemAddon = $(".item-card").length
5228   const nofree = $(".nofree").length
5229 
5230   const upsell = ''
5231   
5232   if(nofree === itemAddon) {
5233       // $("#itemAddons").html("<p>No Items available</p>")
5234   }
5235 
5236   $("#itemAddons .item-card").each(function(e){
5237       $("#itemAddons").attr("data-length", e)
5238   })
5239 
5240   $("[data-addon]").click(function(){
5241       
5242       
5243       
5244       const t = $(this)
5245       
5246       const data = t.data("addon")
5247       
5248       $("[data-addon]").removeClass("selected")
5249       t.addClass("selected")
5250       $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){
5251           const products = data.products
5252           const html = []
5253           for(let i = 0; i < products.length; i++) {
5254               const id = products[i].id
5255               const variantId = products[i].variants[0].id
5256               const img = products[i].images[0].src
5257               let img2 = img.split('.jpg')[0]
5258               const title = products[i].title
5259               const price = products[i].variants[0].price
5260               const tags = products[i].tags
5261               const qty = products[i].variants[0].available
5262               let type_upsell = ''
5263               if(tags.includes('upsell-item-standing')) {
5264                   type_upsell = 'standing'
5265               }
5266               console.log(type_upsell)
5267               if(type_upsell !== '') {
5268                   const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'} type-${products[i].product_type.toLowerCase()?.replace(' ', '_')}" data-variant="${variantId}" data-id=${id} data-qty="${qty === false ? 0 : ''}" data-upsell="${type_upsell}" data-tags="${tags}">
5269                       
5270                           <div class="card-image">
5271                               <img src="${img2}_150x.jpg" alt="${title}" width="" height="" />
5272                           </div>
5273                           <div class="card-meta">
5274                               <h5>${title}</h5>
5275                               <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
5276                               <input id="card-${variantId}" type="hidden" name="" value="${variantId}">
5277                           </div>
5278                           <div class="card-qty">
5279                               <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a>  
5280                               <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5280" value="0" data-price=${price} name="quantity">
5281                               <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="12" height="13" viewBox="0 0 12 13" fill="none">
5282 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/>
5283 </svg></a>   
5284                           </div>
5285                       </div>`
5286                   html.push(body)
5287               }
5288           }
5289           $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html)
5290           $("#itemAddons").attr("data-length", products.length)
5291           // $('#itemAddons')[0].swiper.update();
5292       });
5293   })
5294 
5295   async function isAddon(){
5296     let ids = []
5297     $("#itemAddons .item-card.selected").each(function(i, e){
5298       const id = $(this).data("id")
5299       ids.push(id)
5300     })
5301     console.log(ids)
5302     return ids
5303   }
5304   
5305   $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){
5306     const t = $(this).parent()
5307     const id = t.data("id")
5308     const btn =  t.parents(".purchaseAddon").find(".next-purchase-button")
5309     t.toggleClass("selected");
5310     //$(this).next("input").toggleAttr('name', 'id[]');
5311     if (t.hasClass('selected')) {
5312         t.find("input").val(1)
5313         t.find("input").attr('name', 'id[]');
5314     } else {
5315         t.find("input").val(0)
5316         t.find("input").removeAttr('name');
5317     }
5318     $("#properties-addons").val(addons)
5319     const is = await isAddon()
5320     if(is.length === 0) {
5321       btn.text("continue without add-ons")
5322       return
5323     }
5324     if(is.includes(8835692069079)) {
5325       btn.text("personalize acrylic frame")
5326     } else {
5327       btn.text("Continue")
5328     }
5329       
5330   })
5331 
5332   async function myAddon(data) {
5333     const c = $(".addonsPurchase .addons")
5334     let items = []
5335     
5336     const spotifyAddons = $(".spotifyAddons").find("[data-index]")
5337     // if(spotifyAddons.length > 0) {
5338     //   $(spotifyAddons).each(function(i, e){
5339     //     const spotifyLink = $(this).find(".spotifyLink").val()
5340     //     const spotifySong = $(this).find(".spotifySong").val()
5341     //     const spotifyArtist = $(this).find(".spotifyArtist").val()
5342     //     const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val()
5343     //     if(spotifyLink !== '') {
5344     //       spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1">
5345     //         <div class="addon-itm-img">
5346     //           <img src="https://cdn.shopify.com/s/files/1/1589/6833/files/Acrylic-Frame_8c71027d-43b7-4322-a98f-d34ab0456397_100x.jpg?v=1739160467" alt="" width="70"/>
5347     //         </div>
5348     //         <div class="addon-itm-title">
5349     //           <span>[US] Outerbloom Acrylic Frame 4R</span>
5350     //         </div>
5351     //         <div class="addon-itm-line-total">
5352     //           <span>Rp 99.000</span>
5353     //         </div>
5354     //       </div>
5355     //       <div class="propsAddonSpotify row m-0">
5356     //         <div class="col-12 col-lg-2"></div>
5357     //           <div class="col-12 col-lg-10">
5358     //             <p>
5359     //               <span>spotify link</span>
5360     //               <span class="spotifyLinkAddon">${spotifyLink}</span>
5361     //             </p>
5362     //             <p>
5363     //               <span>uploaded photo</span>
5364     //               <span class="spotifyFotoAddon">${spotifyFotoAddon}</span>
5365     //             </p>
5366     //             <p>
5367     //               <span>song / playlist name</span>
5368     //               <span class="spotifySongAddon">${spotifySong}</span>
5369     //             </p>
5370     //             <p>
5371     //               <span>artist name</span>
5372     //               <span class="spotifyArtistAddon">${spotifyArtist}</span>
5373     //             </p>
5374     //           </div>
5375     //       </div>`
5376     //       items.push(spotifyAddon)
5377     //     }
5378     //   })
5379     // }
5380     for(let i = 0; i < data.length; i++) {
5381       if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) {
5382         const img = data[i].image
5383         const title = data[i].title
5384         const qty = data[i].qty
5385         const price = data[i].price
5386         const total = Number(qty) * Number(price)
5387         let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}">
5388               <div class="addon-itm-img">
5389                 <img src="${img}" alt="" width="70"/>
5390               </div>
5391               <div class="addon-itm-title">
5392                 <span>${title}</span>
5393               </div>
5394               <div class="addon-itm-line-price">
5395                 <span>${rupiah.format(price)}</span>
5396                 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`}
5397               </div>
5398               <div class="addon-itm-line-total">
5399                 <span>${rupiah.format(total)}</span>
5400               </div>
5401             </div>`
5402           items.push(addons)
5403       }
5404     }
5405     c.html(items)
5406     const parent = $(".purchaseAddon")
5407     const next = parent.next(".sectionPurchase")
5408     parent.addClass("hide")
5409     next.removeClass("hide")
5410     // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart")
5411     // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`)
5412   }
5413 
5414   async function listAddon() {
5415     const data = $("#itemAddons").find(".selected")
5416     let ids = []
5417     $(data).each(function(){
5418       const id = $(this).data("variant")
5419       const image = $(this).find(".card-image img").attr("src")
5420       const title = $(this).find(".card-meta h5").text()
5421       const qty = $(this).find(".card-qty input").val()
5422       const price = $(this).find(".card-qty input").data("price")
5423       ids.push({
5424         id: Number(id),
5425         image,
5426         title,
5427         qty,
5428         price
5429       })
5430     })
5431     myAddon(ids)
5432   }
5433 
5434   async function customSpotify(idx, length, type){
5435     let isCard = false
5436     
5437     let p = $(".purchasePopupSpotify")
5438     const preLink = $(".spotifyLinkFirst").val()
5439     $("[data-index]").hide()
5440     p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`)
5441     p.find(".regulerAddons, .purchase-button").hide()
5442     p.find(".spotifyAddons").show()
5443     
5444     const data = await trackUrl(preLink)
5445     
5446     const html = `<div class="row" data-index=${idx} data-length=${length}><div class="col-12 col-lg-6"><div class="form-vertical position-relative"><div class="form-group mb-4"><h4>upload photo</h4><div class=uploadResult><label class=btn for=uploadPhotoSpotify><svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="13" height="11" viewB
5446ox="0 0 13 11" fill="none">
5447 <path d="M0.875 10.6378H12.375C12.4413 10.6378 12.5049 10.6115 12.5518 10.5646C12.5987 10.5177 12.625 10.4541 12.625 10.3878V0.387817C12.625 0.321513 12.5987 0.257925 12.5518 0.211041C12.5049 0.164157 12.4413 0.137817 12.375 0.137817H0.875C0.808696 0.137817 0.745107 0.164157 0.698223 0.211041C0.651339 0.257925 0.625 0.321513 0.625 0.387817V10.3878C0.625 10.4541 0.651339 10.5177 0.698223 10.5646C0.745107 10.6115 0.808696 10.6378 0.875 10.6378ZM1.125 10.1378V7.31882C1.136 7.31082 1.1485 7.30632 1.1585 7.29632L3.7165 4.73832C3.78198 4.67584 3.869 4.64098 3.9595 4.64098C4.05 4.64098 4.13702 4.67584 4.2025 4.73832L7.963 8.49882C8.00919 8.54501 8.07162 8.5713 8.13694 8.57204C8.20225 8.57279 8.26527 8.54794 8.3125 8.50282L10.2455 6.66682C10.3084 6.60323 10.3938 6.56684 10.4832 6.56543C10.5727 6.56403 10.6591 6.59774 10.724 6.65932L12.125 8.18532L12.1255 8.18582V10.1378H1.125ZM12.125 0.637817V7.44682L11.0845 6.31382C11.0066 6.23514 10.9138 6.17275 10.8116 6.13026C10.7094 6.08777 10.5997 6.06603 10.489 6.06632H10.4885C10.3786 6.06584 10.2697 6.08706 10.168 6.12876C10.0664 6.17046 9.97391 6.23182 9.896 6.30932L8.144 7.97332L4.556 4.38482C4.2365 4.06582 3.6815 4.06632 3.363 4.38482L1.125 6.62332V0.637817H12.125Z" fill="black"/>
5448 </svg><span>Upload your file</span></label></div><input class="uploadPhotoSpotify form-control d-none" accept=image/* type=file><input class="resultPhotoSpotify" type="hidden"></div><div class="form-group mb-5"><h4>Add your Spotify link here</h4> <input class="spotifyLink2 form-control spotifyLink" value="${preLink}" placeholder=https://open.spotify.com/ ></div><div class="form-group mb-4 text-left"><label class=checkbox for=isCustomMessage><span>Personalized Message</span><span class=checkmark></span></label></div><div class="form-group mb-4 form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifySong>Song / playlist name</label> ${data?.song ? `<input class="form-control spotifySong" value="${data?.song}">` : '<input class="form-control spotifySong" value="">'}</div><div class="form-group form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifyArtist>Artist name</label> ${data?.artist ? `<input class="form-control spotifyArtist" value="${data?.artist}">` : '<input class="form-control spotifyArtist" value="">'}</div><div class=btn-action><button class="back-spotify"><svg fill=none height=14 viewBox="0 0 15 14"width=15 xmlns=https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="13" height="11" viewB
5448ox="0 0 13 11" fill="none">
5449 <path d="M0.875 10.6378H12.375C12.4413 10.6378 12.5049 10.6115 12.5518 10.5646C12.5987 10.5177 12.625 10.4541 12.625 10.3878V0.387817C12.625 0.321513 12.5987 0.257925 12.5518 0.211041C12.5049 0.164157 12.4413 0.137817 12.375 0.137817H0.875C0.808696 0.137817 0.745107 0.164157 0.698223 0.211041C0.651339 0.257925 0.625 0.321513 0.625 0.387817V10.3878C0.625 10.4541 0.651339 10.5177 0.698223 10.5646C0.745107 10.6115 0.808696 10.6378 0.875 10.6378ZM1.125 10.1378V7.31882C1.136 7.31082 1.1485 7.30632 1.1585 7.29632L3.7165 4.73832C3.78198 4.67584 3.869 4.64098 3.9595 4.64098C4.05 4.64098 4.13702 4.67584 4.2025 4.73832L7.963 8.49882C8.00919 8.54501 8.07162 8.5713 8.13694 8.57204C8.20225 8.57279 8.26527 8.54794 8.3125 8.50282L10.2455 6.66682C10.3084 6.60323 10.3938 6.56684 10.4832 6.56543C10.5727 6.56403 10.6591 6.59774 10.724 6.65932L12.125 8.18532L12.1255 8.18582V10.1378H1.125ZM12.125 0.637817V7.44682L11.0845 6.31382C11.0066 6.23514 10.9138 6.17275 10.8116 6.13026C10.7094 6.08777 10.5997 6.06603 10.489 6.06632H10.4885C10.3786 6.06584 10.2697 6.08706 10.168 6.12876C10.0664 6.17046 9.97391 6.23182 9.896 6.30932L8.144 7.97332L4.556 4.38482C4.2365 4.06582 3.6815 4.06632 3.363 4.38482L1.125 6.62332V0.637817H12.125Z" fill="black"/>
5450 </svg> <img src="" class=previewImage style=display:none></div></div><div class=frameControl><div class=spotifyData>${data?.song ? `<h3>${data?.song}</h3>` : '<h3><h3>'}${data?.artist ? `<p>${data?.artist}</p>` : '<p></p>'}</div><img src="//outerbloom.com/cdn/shop/t/138/assets/frame-spotify.png?v=138221849636560654691752652420"alt="spotify outerbloom" height=""width=100%><div class=spotifyCode><img src="https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data?.type.slice(0, -1)}:${data?.trackId}"alt=""></div></div></div></div></div>`
5451     // console.log(html)
5452     
5453     $(".spotifyAddons").append(html)
5454     
5455     $(`[data-index=${idx}]`).show()
5456     
5457     if (preLink !== '') {
5458       $(".btn-action .btn").attr("disabled", false)
5459     } else {
5460       $(".btn-action .btn").attr("disabled", true)
5461     }
5462 
5463     return html
5464     
5465   }
5466 
5467   $(".spotifyLinkFirst").keyup(async function(){
5468     const v = $(this).val()
5469     if(v.includes('spotify:user:spotify')) {
5470       const correct = v.split('user:spotify:')[1]
5471       console.log(correct, 'BNER')
5472       $(this).val(correct)
5473       return
5474     }
5475     if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){
5476       const data = await trackUrl(v)
5477       if(!data || !data.status) {
5478         $(this).parent().addClass("error")
5479         // $(this).parent().append(`<p class="txt-error">Make sure you copy the complete and correct link from Spotify. Ex: https://open.spotify.com/track/0C3xZJueyBvvMSsl0cETA6</p>`)
5480         $("#personalizeBtnSpotify .btn").attr("disabled", true)
5481         return
5482       }
5483       $(this).parent().removeClass("error")
5484       // $(this).parent().remove("txt-error")
5485       $("#personalizeBtnSpotify .btn").attr("disabled", false)
5486     } else {
5487       $("#personalizeBtnSpotify .btn").attr("disabled", true)
5488     }
5489   })
5490 
5491   $(".purchaseAddon").delegate(".next-addon", "click", function(){
5492     const parent = $(this).parents(".purchaseAddon")
5493     const next = parent.next(".sectionPurchase")
5494     if(next.hasClass("purchaseAddress")) {
5495       if(productType !== '') {
5496         console.log("clarity event " + productType + ' purchaseDelivery')
5497         window.clarity("event", `${productType} purchaseDelivery`)
5498         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5499       }
5500     }
5501     const data = $("#itemAddons").find(".selected")
5502     const length = $(".quantity-cart-46067682607319").val()
5503     const checked = data.length;
5504     if(checked > 0) {
5505       if(length > 0) {
5506         $(".purchaseAddon").addClass("purchaseAddonSpotify")
5507         customSpotify(1, length, 'addon')
5508       } else {
5509         listAddon()
5510       }
5511     } else {
5512       parent.addClass("hide")
5513       next.removeClass("hide")
5514     }
5515   })
5516 
5517   $("#personalizeBtnSpotify .btn").click(async function(){
5518     const isCity = $("#cities[required]")
5519     const isDate = $("#propDeliveryDate[required]")
5520     if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) {
5521       alert('Please choose Delivery City & Delivery Date')
5522       return
5523     }
5524     const data = await customSpotify(1, 1, 'product')
5525     if(data) {
5526       $("#backgroundPopup").fadeIn("slow");
5527       $(".purchasePopupSpotify").fadeIn("slow");
5528 
5529       if(productType !== '') {
5530         console.log("clarity event " + productType + ' spotify')
5531         window.clarity("event", `${productType} spotify`)
5532         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5533       }
5534     }
5535   })
5536 
5537   function formatBytes(bytes, decimals = 2) {
5538     if (!+bytes) return '0 Bytes'
5539 
5540     const k = 1024
5541     const dm = decimals < 0 ? 0 : decimals
5542     const sizes = ['B', 'KB', 'MB']
5543 
5544     const i = Math.floor(Math.log(bytes) / Math.log(k))
5545 
5546     return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
5547   }
5548 
5549   async function trackUrl(link){
5550     try {
5551       let trackId = link.split('/').pop().split('?')[0];
5552       let type = ''
5553       if(link.includes("spotify:")) {
5554         const uri = link.split('spotify:')[1]
5555         trackId = uri.split(':')[1]
5556         type = uri.split(':')[0] + 's'
5557       } else {
5558         if(link.match('track')){
5559           type = 'tracks'
5560         } else if(link.match('playlist')) {
5561           type = 'playlists'
5562         } else if(link.match('artist')) {
5563           type = 'artists'
5564         } else if(link.match('album')) {
5565           type = 'albums'
5566         }
5567       }
5568       console.log(`${host}/api/spotify/${type}/${trackId}`)
5569       const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`)
5570       console.log(data, 'DATA')
5571       const song = data?.data?.name
5572       const artist = data?.data?.artist
5573       return {
5574         song, artist, type, trackId, status: data.status
5575       }
5576     } catch(err) {
5577       console.log(err)
5578     }
5579   }
5580 
5581   $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){
5582     const parent = $(this).parents("[data-index]")
5583     const preview = parent.find(".previewImage")
5584     const file = $(this)[0].files[0];
5585     if (file) {
5586         const reader = new FileReader();
5587         reader.onload = async function(e) {
5588           parent.find(".uploadResult label").hide()
5589           parent.find(".uploadedResult").remove()
5590           parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between">
5591           <p style="text-align: left;margin: 0;"><span style="color: #34C759;font-style: italic;font-size: 14px;text-overflow: ellipsis;overflow: hidden;max-width: 250px;white-space: nowrap;display: inline-block;vertical-align: middle;">${file.name}</span><span style="font-size: 14px;color: #34C759"> (${formatBytes(file.size)})</span> <span style="font-size: 14px">is uploaded</span></p>
5592           <div style="align-self: center"><span class="changeUpload" style="font-size: 12px;cursor: pointer">Change</span><span class="removeUpload" style="cursor: pointer;border-left: 1px solid;padding-left: 10px;margin-left: 10px;height: 10px;display: inline-flex;vertical-align: middle;">
5592<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672">
5593   <path d="M2.07799 10.8332C1.78154 10.8332 1.52799 10.7276 1.31732 10.5165C1.10666 10.3054 1.0011 10.0523 1.00066 9.75716V1.49982H0.667322C0.572656 1.49982 0.493545 1.46782 0.429989 1.40382C0.366433 1.33982 0.334433 1.26049 0.333989 1.16582C0.333544 1.07116 0.365545 0.992047 0.429989 0.928491C0.494433 0.864935 0.573545 0.833158 0.667322 0.833158H3.00066C3.00066 0.69538 3.05177 0.57538 3.15399 0.473158C3.25621 0.370935 3.37621 0.319824 3.51399 0.319824H6.48732C6.6251 0.319824 6.7451 0.370935 6.84732 0.473158C6.94954 0.57538 7.00066 0.69538 7.00066 0.833158H9.33399C9.42866 0.833158 9.50777 0.865158 9.57132 0.929158C9.63488 0.993158 9.66688 1.07249 9.66732 1.16716C9.66777 1.26182 9.63577 1.34094 9.57132 1.40449C9.50688 1.46805 9.42777 1.49982 9.33399 1.49982H9.00066V9.75649C9.00066 10.0525 8.8951 10.3058 8.68399 10.5165C8.47288 10.7272 8.21954 10.8327 7.92399 10.8332H2.07799ZM8.33399 1.49982H1.66732V9.75649C1.66732 9.87605 1.70577 9.97427 1.78266 10.0512C1.85954 10.128 1.95799 10.1665 2.07799 10.1665H7.92399C8.04354 10.1665 8.14177 10.128 8.21866 10.0512C8.29554 9.97427 8.33399 9.87605 8.33399 9.75649V1.49982ZM3.87266 8.83316C3.96732 8.83316 4.04666 8.80116 4.11066 8.73716C4.17466 8.67316 4.20643 8.59405 4.20599 8.49982V3.16649C4.20599 3.07182 4.17399 2.99271 4.10999 2.92916C4.04599 2.8656 3.96666 2.8336 3.87199 2.83316C3.77732 2.83271 3.69821 2.86471 3.63466 2.92916C3.5711 2.9936 3.53932 3.07271 3.53932 3.16649V8.49982C3.53932 8.59449 3.57132 8.6736 3.63532 8.73716C3.69932 8.80116 3.77843 8.83316 3.87266 8.83316ZM6.12932 8.83316C6.22399 8.83316 6.3031 8.80116 6.36666 8.73716C6.43021 8.67316 6.46199 8.59405 6.46199 8.49982V3.16649C6.46199 3.07182 6.42999 2.99271 6.36599 2.92916C6.30199 2.86516 6.22288 2.83316 6.12866 2.83316C6.03399 2.83316 5.95466 2.86516 5.89066 2.92916C5.82666 2.99316 5.79488 3.07227 5.79532 3.16649V8.49982C5.79532 8.59449 5.82732 8.6736 5.89132 8.73716C5.95532 8.80071 6.03466 8.83271 6.12932 8.83316Z"fill=#757575 />
5594 </svg>
5595 </span></div></div>`)
5596           parent.find(".frameImageUploaded svg").hide()
5597           parent.find(".frameImage").addClass("uploaded")
5598           preview.attr("src", e.target.result);
5599           preview.show();
5600           let formData = new FormData(); 
5601           formData.append("file", file);
5602           const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, {
5603             method: "POST", 
5604             body: formData
5605           })
5606           const result = await response.json();
5607           if(result){
5608             parent.find(".resultPhotoSpotify").val(result.url)
5609           }
5610         }
5611         
5612         reader.readAsDataURL(file);
5613     } else {
5614         preview.hide();
5615     }
5616   });
5617 
5618   $(".spotifyAddons").delegate(".uploadResult", "click", function(){
5619     $(this).next("input[type=file]").trigger("click")
5620   })
5621 
5622   $(".spotifyAddons").delegate(".changeUpload", "click", function(){
5623     $(this).parents("input[type=file]").trigger("click")
5624   })
5625 
5626   $(".spotifyAddons").delegate(".removeUpload", "click", function(){
5627     const parent = $(this).parents("[data-index]")
5628     parent.find(".uploadPhotoSpotify").val("")
5629     parent.find(".uploadResult label").show()
5630     parent.find(".uploadedResult").remove()
5631     parent.find(".frameImageUploaded svg").show()
5632     parent.find(".previewImage").hide()
5633     parent.find(".frameImage").removeClass("uploaded")
5634   })
5635 
5636   $(".spotifyAddons").delegate("label.checkbox", "click", function(){
5637     const parent = $(this).parents("[data-index]")
5638     parent.toggleClass("checked")
5639   })
5640 
5641   $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){
5642     const parent = $(this).parents("[data-index]")
5643     const link = $(this).val()
5644     const data = await trackUrl(link)
5645 
5646     console.log(data)
5647 
5648     if(data.song) {
5649       parent.find(".spotifySong").val(data.song)
5650       parent.find(".spotifyData").find("h3").text(data.song)
5651     }
5652     if(data.artist) {
5653       parent.find(".spotifyArtist").val(data.artist)
5654       parent.find(".spotifyData").find("p").text(data.artist)
5655     }
5656     parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`)
5657     // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M
5658     if (data.status === true) {
5659       parent.find(".btn-action .btn").attr("disabled", false)
5660     } else {
5661       parent.find(".btn-action .btn").attr("disabled", true)
5662     }
5663   })
5664   
5665   $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){
5666     const parent = $(this).parents("[data-index]")
5667     const v = $(this).val()
5668     parent.find(".spotifyData h3").text(v)
5669   })
5670 
5671   $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){
5672     const parent = $(this).parents("[data-index]")
5673     const v = $(this).val()
5674     parent.find(".spotifyData p").text(v)
5675   })
5676 
5677   $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){
5678     const parent = $(this).parents("[data-index]")
5679     const length = parent.data("length")
5680     const index = parent.data("index")
5681     const indexNext = Number(index) + 1
5682     customSpotify(indexNext, length, 'addon')
5683   })
5684 
5685   
5686   $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){
5687     const parent = $(this).parents(".purchaseAddon")
5688     const next = parent.next(".sectionPurchase")
5689     parent.addClass("hide")
5690     next.removeClass("hide")
5691     next.find(".purchase-button").show()
5692     listAddon()
5693   })
5694 
5695   $(".spotifyAddons").delegate(".back-spotify", "click", async function(){
5696     const t = $(this).parents("[data-index]")
5697     const parent = $(this).parents(".sectionPurchase")
5698     const current = t.data("index")
5699     const prevCurrent = Number(current) - 1
5700     if(current == 1) {
5701       parent.removeClass("purchaseAddonSpotify")
5702       parent.find(".purchase-button").show()
5703       parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!")
5704       $(".spotifyAddons").empty()
5705       $(".regulerAddons").show()
5706       return
5707     }
5708     t.hide()
5709     t.prev("[data-index]").show()
5710     t.remove()
5711     parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`)
5712   })
5713 
5714   $("#personalizeBtn .btn").click(async function() {
5715     loadPopupPersonalize()
5716   });
5717 
5718   $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){
5719     $(".sectionPurchaseSpotify").hide()
5720     loadPopupPersonalize()
5721   })
5722 
5723   $(".close-purchase-popup").click(function() {
5724       disablePopup();
5725   });
5726   $("#backgroundPopup").click(function() {
5727       // disablePopup();
5728   });
5729 
5730   $("#popupCart .close-purchase-popup").click(function() {
5731       location.reload()
5732   });
5733 
5734   $('#popupCart').on('hide.bs.modal', function (e) {
5735     location.reload()
5736   })
5737 
5738   $(".next-card").click(function(){
5739     const parent = $(this).parents(".sectionPurchase")
5740     const next = parent.next(".sectionPurchase")
5741     parent.addClass("hide")
5742     next.removeClass("hide")
5743   })
5744 
5745   $(".back-purchase-button").click(function(){
5746     const parent = $(this).parents(".sectionPurchase")
5747     const prev = parent.prev(".sectionPurchase")
5748     parent.addClass("hide")
5749     prev.removeClass("hide")
5750   })
5751   
5752   $(document).keypress(function(e) {
5753       if (e.keyCode == 27 && popupStatus == 1) {
5754           disablePopup();
5755       }
5756   });
5757   
5758   const parentImg = $(".case-img-preview")
5759   const parentVid = $(".case-video-preview")
5760   
5761   function readURL(input) {
5762     if (input.files && input.files[0]) {
5763       let reader = new FileReader();
5764 
5765       let type = 'image/jpeg'
5766       const size = input.files[0].size
5767       if(input.files[0].type.match('video/')){
5768         type = 'video/mp4'
5769         if(size > 15728640) {
5770           alert('File size exceeds maximum limit 15 MB')
5771           return
5772         }
5773       } else {
5774         if(size > 5242880) {
5775           alert('File size exceeds maximum limit 5 MB')
5776           return
5777         }
5778       }
5779 
5780       reader.onload = function (e) {
5781         $(".nextBtn").attr("disabled", true)
5782         if(type === 'image/jpeg') {
5783           
5784             $('.placeholder-image').hide();
5785             $('.preview-image').show()
5786             $('.preview-image').attr('src', e.target.result);
5787           
5788         } else {
5789           // parentVid.find(".ajax-loader").show();
5790           $(".steps-card-preview").addClass("loading")
5791         }
5792       }
5793 
5794       
5795 
5796       reader.readAsDataURL(input.files[0]);
5797     }
5798   }
5799 
5800   async function readURLPapan(input) {
5801     if (input.files && input.files[0]) {
5802       let reader = new FileReader();
5803 
5804       reader.onload = function (e) {
5805         $('.btn-upload-papan').siblings('label').hide();
5806         $('.btn-upload-papan img').attr('src', e.target.result);
5807         $('.btn-upload-papan img').show();
5808         $('.svgLogoPapan').hide();
5809       }
5810       
5811       const type = 'image/jpeg'
5812       const name = `logo-8144957800663-${Date.parse(new Date())}`
5813 
5814       let formData = new FormData(); 
5815       formData.append("file", input.files[0]);
5816       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5817         method: "POST", 
5818         body: formData
5819       })
5820       const result = await response.json();
5821       if(result) {
5822         const url = result.url
5823         $("[data-properties=papan-logo]").val(url)
5824       }
5825 
5826       reader.readAsDataURL(input.files[0]);
5827     }
5828   }
5829 
5830   async function readURLAddress(input) {
5831     console.log(input, 'readURLAddress')
5832     if (input.files && input.files[0]) {
5833       let reader = new FileReader();
5834 
5835       reader.onload = function (e) {
5836         $('.photo-address').attr('src', e.target.result);
5837         $('.photo-address').show();
5838       }
5839       
5840       const type = 'image/jpeg'
5841       const name = input.files[0].name?.split('.')[0]
5842 
5843       let formData = new FormData(); 
5844       formData.append("file", input.files[0]);
5845       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5846         method: "POST", 
5847         body: formData
5848       })
5849       const result = await response.json();
5850 
5851       reader.readAsDataURL(input.files[0]);
5852 
5853       return result
5854     }
5855   }
5856 
5857   
5858 
5859   
5860   async function addToCartUang() {
5861     var productAddOnId1 = 42122101162199;
5862     var productAddOnId2 = 42122101194967;
5863     var product_id = 8144957800663
5864     const data = {
5865       items: [
5866           {
5867               quantity: $("#Quantity-" + productAddOnId1).val(),
5868               id: productAddOnId1,
5869               "properties": { "Time": $("#properties-time").val() }
5870           },
5871           {
5872               quantity: $("#Quantity-" + productAddOnId2).val(),
5873               id: productAddOnId2,
5874               "properties": { "Time": $("#properties-time").val() }
5875           }
5876       ]
5877     }
5878     await fetch(window.Shopify.routes.root + 'cart/add.js', {
5879       method: 'POST',
5880       headers: {
5881         'Content-Type': 'application/json'
5882       },
5883       body: JSON.stringify(data)
5884     })
5885     .then(response => {
5886       console.error('Sukses Buket Uang:', response);
5887       $(".form-flower").submit()
5888     })
5889     .catch((error) => {
5890       console.error('Error Buket Uang:', error);
5891       $(".form-flower").submit()
5892     });
5893   }
5894   
5895   async function saveCard(){
5896     let isCard = true
5897     const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : ''
5898     const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : ''
5899     const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : ''
5900     const foto = $("#properties-photo").val()
5901     const video = $("#properties-video").val()
5902     const data = JSON.stringify({
5903       "id": qrID, 
5904       "penerima": $("#properties-nama-penerima").val(), 
5905       "kartu_penerima": kartu_penerima, 
5906       "kartu_ucapan": kartu_ucapan, 
5907       "kartu_pengirim": kartu_pengirim, 
5908       "foto": foto,
5909       "video": video, 
5910       "productId": "8144957800663", 
5911       "order_name": "", 
5912       "status": "Cart"
5913     })
5914 
5915     
5916   }
5917 
5918   async function additem(items){
5919     try {
5920       let formData = items
5921       if(items?.length) {
5922         formData = {
5923            'items': items
5924         };
5925       }
5926   
5927       const add = await fetch(window.Shopify.routes.root + 'cart/add.js', {
5928         method: 'POST',
5929         headers: {
5930           'Content-Type': 'application/json',
5931           'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */
5932         },
5933         body: JSON.stringify(formData)
5934       })
5935   
5936       const data = await add.json();
5937       return data
5938     } catch(err){
5939       console.log('Error additem', err)
5940     }
5941   }
5942 
5943   async function addons(){
5944     let items = []
5945     $(".addon-item").each(function(){
5946       const p = $(this)
5947       const props = p.next(".propsAddonSpotify")
5948       const id = $(this).data("id")
5949       const quantity = $(this).data("qty")
5950       const propId = $("#properties-time").val()
5951       let properties = {}
5952       if(id === 46067682607319) {
5953         const link = props.find(".spotifyLinkAddon").text()
5954         const photo = props.find(".spotifyFotoAddon").text()
5955         const song = props.find(".spotifySongAddon").text()
5956         const artist = props.find(".spotifyArtistAddon").text()
5957         properties = {
5958           id: propId,
5959           "Spotify Link": link !== '' ? link : '-',
5960           "Spotify Photo": photo !== '' ? photo : '-',
5961           "Spotify Song": song !== '' ? song : '-',
5962           "Spotify Artist": artist !== '' ? artist : '-',
5963           type: 'addon'
5964         }
5965       } else {
5966         properties = { 
5967           "id": propId, 
5968           "type": "addon"
5969         }
5970       }
5971       items.push({
5972         id, 
5973         quantity, 
5974         properties
5975       })
5976     })
5977     return items
5978   }
5979 
5980   async function propItems() {
5981     let props = {}
5982     $("[data-properties]").each(function(e){
5983       let elementType = this.tagName;
5984       const k = $(this).data("properties")
5985       if(k !== 'penerima' && k !== 'ucapan' && k !== 'pengirim' && k !== 'nama-penerima' && k !== 'alamat-penerima' && k !== 'telepon-penerima' && k !== 'company' && k !== 'province' && k !== 'foto-alamat' && k !== 'papan-logo') {
5986         const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val();
5987         if(v !== '') {
5988           props[k] = v?.replace(/[\s\n]/g, '');
5989         }
5990       }
5991     })
5992     return props
5993   }
5994 
5995   async function showPopupCart(items){
5996     if(productType !== '') {
5997       console.log("clarity event " + productType + ' completeOrder')
5998       window.clarity("event", `${productType} completeOrder`)
5999       // window.clarity("set", productType, `completeOrder - ${productDate}`)
6000     }
6001     $("#popupCart").show()
6002     
6003       $(".propDeliveryCity").text($("#cities").val())
6004       $(".propDeliveryDate").text($("#propDeliveryDate").val())
6005       $(".propDeliveryTime").text($("#propDeliveryTime").val())
6006       $(".propDeliveryName").text($("[data-properties=nama-penerima]").val())
6007       $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val())
6008       $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val())
6009       $(".propDeliveryProv").text($("#province").val())
6010       $(".propDeliveryZip").text($("#zip").val())
6011       
6012     
6013 
6014     const addons = []
6015     if(items && items.length > 0) {
6016       for(let i = 1; i < items.length; i++) {
6017         const spotifyLink = items[i].properties['Spotify Link']
6018         const spotifyPhoto = items[i].properties['Spotify Photo']
6019         const spotifySong = items[i].properties['Spotify Song']
6020         const spotifyArtist = items[i].properties['Spotify Artist']
6021         const price = items[i].price / 100
6022         const props = spotifyLink ? `<div class="propsAddonCart row m-0">
6023                   <div class="col-12 col-lg-2"></div>
6024                   <div class="col-12 col-lg-10">
6025                     <p>
6026                       <span>spotify link</span>
6027                       <span>${spotifyLink}</span>
6028                     </p>
6029                     <p>
6030                       <span>Upload Photo</span>
6031                       <span>${spotifyPhoto}</span>
6032                     </p>
6033                     <p>
6034                       <span>song / playlist name</span>
6035                       <span>${spotifySong}</span>
6036                     </p>
6037                     <p>
6038                       <span>artist name</span>
6039                       <span>${spotifyArtist}</span>
6040                     </p>
6041                   </div>
6042                 </div>` : '';
6043         addons.push(`<div class="row m-0">
6044                   <div class="imgAddonCart col-2">
6045                     <img
6046                       width="43"
6047                       src="${items[i].image}"
6048                       alt=""
6049                     >
6050                   </div>
6051                   <div class="imgAddonTitlePrice col-10 align-self-center">
6052                     <div class="row justify-content-between m-0">
6053                       <div class="col-12 col-lg-8">
6054                         <h5>${items[i].title}</h5>
6055                       </div>
6056                       <div class="col-12 col-lg-4 text-lg-right">
6057                         <span>${rupiah.format(price)}</span>
6058                       </div>
6059                     </div>
6060                   </div>
6061                 </div>${props}`)
6062       }
6063     }
6064     // console.log(addons)
6065     if(addons.length === 0) {
6066       $(".itemAddonCart").hide()
6067       return
6068     }
6069     $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`)
6070     $(".wrapperItemAddonCart").html(addons)
6071   }
6072 
6073   const money = (money) => {
6074       return new Intl.NumberFormat('id-ID',
6075           { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
6076       ).format(money);
6077   }
6078 
6079   async function showNoteMoney() {
6080     let qty50k = $("[data-properties='Uang 50k']").val()
6081     let qty100k = $("[data-properties='Uang 100k']").val()
6082     const total50k = Number(qty50k) * 50000
6083     const total100k = Number(qty100k) * 100000
6084     const total_all = total50k + total100k
6085     $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`)
6086     $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`)
6087     $(".itemMoney").html(`<p>For the money arrangement, please transfer <strong>IDR ${money(total_all)}</strong> to <strong>Bank Mandiri 1020001234522 (PT Modern Mekar Abadi)</strong> and contact our <a href="https://amp13-2.vercel.app/" target="_blank" style="text-decoration: underline;
6087 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`)
6088   }
6089 
6090   async function removeImage() {
6091     const data = JSON.stringify({
6092       "ID": $("#properties-properties-qrId").val(), 
6093       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6094       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6095       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6096       "Nama Penerima": $("#properties-nama-penerima").val(), 
6097       "Order Number":"",
6098       "Status":"Product", 
6099       "Foto": "", 
6100       "Media": $("#properties-video").val(), 
6101       "Image": "8144957800663"
6102     })
6103     const remove = updateCard(data)
6104     if(remove) {
6105       $(this).hide()
6106       $("#properties-photo").val("-")
6107       $(".placeholder-image").show()
6108       $(".preview-image").attr("src", "")
6109     }
6110   }
6111 
6112   async function removeVideo() {
6113     const data = JSON.stringify({
6114       "ID": $("#properties-properties-qrId").val(), 
6115       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6116       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6117       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6118       "Nama Penerima": $("#properties-nama-penerima").val(), 
6119       "Order Number":"",
6120       "Status":"Product", 
6121       "Foto": $("#properties-photo").val(), 
6122       "Media": "", 
6123       "Image": "8144957800663"
6124     })
6125     const remove = updateCard(data)
6126     if(remove) {
6127       $("#properties-video").val("-")
6128       $(this).find("img").hide()
6129       $(this).hide()
6130       $(this).prev("p").text("Add video to make it more special (optional)")
6131       $("#label-input-video").show()
6132       $("#label-input-video span").text("Upload Video")
6133       $(".case-video-preview p span").remove()
6134     }
6135   }
6136 
6137   async function loadItemOccasion(t, occasion) {
6138     const name = occasion?.replace('greeting-card-', '')
6139     $("#kartu-ucapan").val("")
6140     $("[data-occassion]").removeClass("selected")
6141     $("[data-properties=ucapan]").val("")
6142     $("#save-card").attr("disabled", true)
6143     t.addClass("selected")
6144     $("#show_note").attr("data-card-occassion", name)
6145     $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){
6146         const products = data.products
6147         const html = []
6148         for(let i = 0; i < products.length; i++) {
6149             const id = products[i].id
6150             const variantId = products[i].variants[0].id
6151             const img = products[i].images[0].src
6152             const title = products[i].title
6153             const price = products[i].variants[0].price
6154             const qty = products[i].variants[0].inventory_quantity
6155             const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}>
6156                 <label for="card-${variantId}"></label>
6157                     <div class="card-image">
6158                         <img src="${img}" alt="${title}" width="" height="" />
6159                     </div>
6160                     <div class="card-meta text-center">
6161                         <h5>${title}</h5>
6162                         <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
6163                         <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}">
6164                     </div>
6165                 </div>`
6166             html.push(body)
6167         }
6168         const withoutCard = `<div class="item-card item-without-card">
6169                 <label for="card-0"></label>
6170                     <div class="card-image">
6171                         <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" />
6172                     </div>
6173                     <div class="card-meta text-center">
6174                         <h5>
6174Send without a greeting card</h5>
6175                         <input id="card-0" type="radio" name="id" value="" data-price="">
6176                     </div>
6177                 </div>`
6178         $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join(""))
6179     });
6180   }
6181         
6182   $(document).ready(function(){
6183 
6184     // Observer to auto-trigger addon loading when addon section becomes visible
6185     const addonObserver = new MutationObserver(function(mutations) {
6186       mutations.forEach(function(mutation) {
6187         const target = $(mutation.target)
6188         if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') {
6189           if(!target.hasClass('hide')) {
6190             // Addon section just became visible, ensure items are loaded
6191             setTimeout(function() {
6192               if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6193                 console.log("Auto-triggering addon load...")
6194                 $("[data-addon=upsell-all]").trigger("click")
6195               }
6196             }, 150)
6197           }
6198         }
6199       })
6200     })
6201     
6202     // Start observing addon section
6203     const addonSection = document.querySelector('.purchaseAddon')
6204     if(addonSection) {
6205       addonObserver.observe(addonSection, { 
6206         attributes: true, 
6207         attributeFilter: ['class'] 
6208       })
6209     }
6210 
6211     $(".purchasePopup").delegate("#addtocart-card", "click", async function(){
6212     
6213     $(this).find("span").addClass("loading")
6214     let isValid = true
6215     $(".formAddressPurchase [required]").each(function(){
6216       const t = $(this)
6217       const input = t.val()
6218       const p = t.parent()
6219       if(input === '') {
6220         p.addClass("error")
6221         isValid = false
6222       }
6223     })
6224 
6225     if(!isValid) {
6226       $(this).find("span").removeClass("loading")
6227       return
6228     }
6229     
6230     let items = []
6231     const mainProps = {
6232       
6233         "Delivery Date": $("#propDeliveryDate").val(),
6234         "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' ,
6235         "Kota Pengiriman": $("#cities").val(),
6236         "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' ,
6237         "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' ,
6238         "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' ,
6239         "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' ,
6240       
6241       
6242         "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' ,
6243         "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' ,
6244         "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' ,
6245         "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' ,
6246         "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' ,
6247       
6248       
6249       "Province": $("#province").val() !== '' ? $("#province").val() : '-' ,
6250       "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' ,
6251       "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' ,
6252       "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' ,
6253       "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
6254       "type": 'product'
6255     }
6256     const props = await propItems()
6257     properties = {...mainProps, ...props };
6258     const id = $("#productSelect").find('option:selected').val()
6259     console.log(id, 'main ID')
6260     const mainItem = {
6261       id: Number(id),
6262       quantity: 1,
6263       properties
6264     }
6265     items.push(mainItem)
6266     const cardId = $("#itemCards").find(".selected input").val()
6267     const cardItem = {
6268       id: Number(cardId),
6269       quantity: 1,
6270       properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' }
6271     }
6272     console.log(cardId, 'cardId')
6273     if(cardId) {
6274       items.push(cardItem)
6275     }
6276     const addon = await addons()
6277     if(addon) {
6278       for(let i = 0;
6278 i < addon.length; i++){
6279         items.push({
6280           id: addon[i].id,
6281           quantity: addon[i].quantity,
6282           properties: addon[i].properties
6283         })
6284       }
6285     }
6286     const addItems = await additem(items)
6287     console.log(addItems.items, 'add items')
6288     if(addItems) {
6289       $(this).find("span").removeClass("loading")
6290       disablePopup()
6291       showPopupCart(addItems.items)
6292       
6293       localStorage.setItem("items", JSON.stringify(addItems.items))
6294     }
6295   })
6296   
6297   $("#addtocart-cart .btn").click(async function(){
6298     const id = $("#productSelect").find('option:selected').val()
6299     const mainProps = {
6300       id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 
6301       type: 'product'
6302     }
6303     const props = await propItems()
6304     const properties = { ...mainProps, ...props };
6305     const items = {
6306       id: Number(id),
6307       quantity: 1,
6308       properties
6309     }
6310     const addItems = await additem(items)
6311     if(addItems) {
6312       showPopupCart(addItems.items)
6313       localStorage.setItem("items", JSON.stringify(addItems))
6314     }
6315   })
6316 
6317   $(".formAddressPurchase [required]").change(function(){
6318     const t = $(this)
6319     const p = t.parent()
6320     const v = t.val()
6321     if(v !== '') {
6322       p.removeClass("error")
6323     }
6324   })
6325 
6326   $("#save-card").click(async function(){
6327     const parent = $(this).parents(".sectionPurchase")
6328     const next = parent.next(".sectionPurchase")
6329     $(this).find("span").addClass("loading")
6330     const card = await saveCard()
6331     console.log(card, 'ssaveCCC')
6332     if(card?.status === 200 || card?.status === 201) {
6333       $(".scanCard").removeClass("hide")
6334       $(this).find("span").removeClass("loading")
6335       parent.addClass("hide")
6336       next.removeClass("hide")
6337       if(next.hasClass("purchaseAddon")) {
6338         $("[data-addon=upsell-all]").click()
6339         console.log("clarity event addons")
6340         window.clarity("event", `${productType} add-ons`)
6341         // Ensure addon items are loaded when entering addon popup
6342         setTimeout(function() {
6343           if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6344             $("[data-addon=upsell-all]").trigger("click")
6345           }
6346         }, 100)
6347       }
6348       if(next.hasClass("purchaseAddress")) {
6349         $("#zip").select2()
6350       }
6351     }
6352   })
6353 
6354   $("#skip-card").click(async function(){
6355     $("#greetingCard [data-properties]").val("")
6356     $("#properties-photo").val("")
6357     $("#properties-video").val("")
6358     const parent = $(this).parents(".sectionPurchase")
6359     const next = parent.next(".sectionPurchase")
6360     parent.addClass("hide")
6361     next.removeClass("hide")
6362     // $("#itemCards").html("")
6363     removeImage()
6364     removeVideo()
6365     if(next.hasClass("purchaseAddon")) {
6366       $("[data-addon='upsell-all']").click()
6367       console.log("clarity event addons")
6368       window.clarity("event", `${productType} add-ons`)
6369       // Ensure addon items are loaded when entering addon popup
6370       setTimeout(function() {
6371         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6372           $("[data-addon='upsell-all']").trigger("click")
6373         }
6374       }, 100)
6375     }
6376     if(next.hasClass("purchaseAddress")) {
6377       $("#zip").select2()
6378     }
6379   })
6380 
6381   $("#msgCard").click(async function(){
6382       $(this).parent().addClass("loading")
6383       let occasion = $(".selected[data-occassion]").data("occassion")
6384       occasion = occasion?.replace("greeting-card-", "")
6385       const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`);
6386       const d = data?.data
6387       for(let i = 0; i < d.length; i++) {
6388         const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1);
6389         const greeting = d[num]?.Greeting
6390         $(".greetingCard textarea").val(greeting)
6391         $(this).parent().removeClass("loading")
6392       }
6393       $("#save-card").attr("disabled", false)
6394     })
6395 
6396   $(".sectionPurchaseBoard .next-purchase-button").click(function(){
6397     const parent = $(this).parents(".sectionPurchase")
6398     const next = parent.next(".sectionPurchase")
6399     parent.addClass("hide")
6400     next.removeClass("hide")
6401   })
6402 
6403   $("#editCard").click(function(){
6404     $(".custom-card").show()
6405     $(".preview-card").hide()
6406   })
6407 
6408   $("#first_name, #last_name").change(function(){
6409     const v = $(this).val()
6410     const first_name = $("#first_name").val()
6411     const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : ''
6412     $("[data-properties=nama-penerima]").val(first_name+last_name)
6413   })
6414 
6415   $("[data-occassion]").click(function(){
6416       const t = $(this)
6417       const p = t.parents(".sectionPurchase")
6418       // $(".greetingCard").addClass("disabled")
6419       const occasion = t.data("occassion")
6420       loadItemOccasion(t, occasion)
6421   })
6422 
6423   $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){
6424       const id = $(this).parent(".item-card").data("id")
6425       const t = $(this).parent(".item-card")
6426       const target = t.find("input")
6427       const v = $('.item-card input[type="radio"]:checked').val();
6428       $("#itemCards .item-card").removeClass("selected")
6429       t.addClass("selected")
6430       $("#itemCards .item-card").find("input").attr("name", "")
6431       if(target.length > 0) {
6432           target.attr("name", "id[]")
6433           $("#properties-card").val(id)
6434           $(".greetingCard").removeClass("disabled")
6435           $("#skip-card").attr("disabled", false)
6436       } else {
6437           $("#properties-card").val("")
6438       }
6439   })
6440 
6441   $("#itemCards").delegate(".item-without-card label", "click", function(){
6442     const parent = $(this).parents(".sectionPurchase")
6443     const next = parent.next(".sectionPurchase")
6444     $(".greetingCard").addClass("disabled")
6445     parent.addClass("hide")
6446     next.removeClass("hide")
6447     $("[data-addon=upsell-all]").click()
6448     $("#zip").select2()
6449   })
6450 
6451   $("[data-properties=ucapan]").keyup(function(){
6452     const v = $(this).val()
6453     const p = $(this).parents(".sectionPurchase")
6454     $(".purchaseAddress").find(".greetingCard textarea").val(v)
6455     if(v.length > 3) {
6456       p.find(".next-purchase-button").attr("disabled", false)
6457     } else {
6458       p.find(".next-purchase-button").attr("disabled", true)
6459     }
6460   })
6461 
6462   $("[data-properties=penerima]").keyup(function(){
6463     const v = $(this).val()
6464     $(".purchaseAddress").find("[data-properties=penerima]").val(v)
6465   })
6466 
6467   $("[data-properties=pengirim]").keyup(function(){
6468     const v = $(this).val()
6469     $(".purchaseAddress").find("[data-properties=pengirim]").val(v)
6470   })
6471 
6472   $(document).click(function(e){
6473 
6474      if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6475      // $('#popupCart').fadeOut('slow');
6476     // location.reload()
6477   });
6478 
6479   $(".toggleAddonCart").click(function(){
6480     const p = $(this).parent(".itemAddonCart")
6481     p.toggleClass("open")
6482   })
6483 
6484   $(".btnViewCart").click(function(){
6485     window.location.href = "https://outerbloom.com/cart";
6486   })
6487 
6488   $(".btnViewCheckout").click(async function(){
6489     $(this).find("span").addClass("loading")
6490     let zip = $("#zip").val()
6491     const first_name = $("#first_name").val()
6492     const last_name = $("#last_name").val()
6493     const company = $("#company").val() !== '' ? $("#company").val() : ''
6494     const address1 = $("#delivery_address").val()
6495     const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : ''
6496     zip = zip && zip !== '' ? zip?.split(' - ')[0] : ''
6497     const phone = $("#recipient_number").val()
6498     const city = $("#cities").val()
6499     const province = $("#province").val()
6500     const country = 'Indonesia'
6501     const ver = Date.parse(new Date())
6502     const params = `checkout[email]=&checkout[shipping_address][first_name]=${first_name}&checkout[shipping_address][last_name]=${last_name}&checkout[shipping_address][company]=${company}&checkout[shipping_address][address1]=${address1}&checkout[shipping_address][address2]=${address2}&checkout[shipping_address][city]=${city}&checkout[shipping_address][country]=${country}&checkout[shipping_address][province]=${province}&checkout[shipping_address][zip]=${zip}&checkout[shipping_address][phone]=${phone}&v=${ver}`
6503 
6504     const clear = await fetch(`/cart/clear.js`, {method: 'POST'})
6505     if(clear.status === 200) {
6506       const savedItem = window.localStorage.getItem("items");
6507       const items = JSON.parse(savedItem)
6508       const addItems = await additem(items)
6509       console.log(addItems, 'new addItems')
6510       if(addItems) {
6511         window.location.href = `https://outerbloom.com/checkout?${params}`;
6512       }
6513     }
6514   })
6515 
6516   $(".btnContinueShopping").click(function(){
6517     window.location.href = "https://outerbloom.com/";
6518   })
6519 
6520     if (isIOS) {
6521       $(".empty-state-card").click(function(){
6522         $("#input-foto").trigger("click")
6523       })
6524       $(".btn-upload-image").click(function(){
6525         $("#input-foto").trigger("click")
6526       })
6527       $("[for=input-video]").click(function(){
6528         $("#input-video").trigger("click")
6529       })
6530       $(".btn-upload-papan").click(function(){
6531         $("#logoPapan").trigger("click")
6532       })
6533     }
6534   
6535     $("[data-properties]").each(function(){
6536       const select = $(this).parents(".form-group").find("select")
6537       $(this).change(function(){
6538         const name = $(this).data("properties")
6539         const v = $(this).val()
6540         if (name == 'telepon-penerima') {
6541           let phone = v.replace(/[^0-9]/g, '')
6542           $(this).val(phone);
6543           $("#properties-telepon-penerima").val(phone)
6544           $('.iti__search-input').val('-') 
6545         } else {
6546           $("#properties-" + name).val(v)
6547         }
6548       })
6549       select.on("change", function(){
6550         const name = $(this).data("properties")
6551         const v = $(this).val()
6552         $("#properties-" + name).val(v)
6553       })
6554     })
6555 
6556     $("#show_note").click(function(){
6557       nameq = $("#properties-nama-penerima").val()
6558       dear = $("#properties-kartu-nama-penerima").val()
6559       card = $("[data-properties=ucapan]").val()
6560       sender = $("#properties-kartu-nama-pengirim").val()
6561       photo = $("#properties-photo").val()
6562       video = $("#properties-video").val()
6563       updateCard(nameq, dear, card, sender, photo, video, status)
6564     })
6565 
6566     $(".remove-image").click(function(e){
6567       e.preventDefault()
6568       $(this).find("img").show()
6569       removeImage()
6570     })
6571 
6572     $(".remove-media").click(function(e){
6573       e.preventDefault()
6574       $(this).find("img").show()
6575       removeVideo()
6576     })
6577 
6578     
6579 
6580     $("[data-delivery_method]").click(function(e){
6581       e.preventDefault()
6582       const t = $(this)
6583       const data = t.data("delivery_method")
6584       $("[data-delivery_method]").removeClass("selected")
6585       t.addClass("selected")
6586       $("#cities").val("")
6587       $("#properties-delivery-date").val("-")
6588       $("#deliveryDate button").removeClass("selected")
6589       $("#full-date").val("Full Calendar →")
6590       $("#propDeliveryDate").val("")
6591       const step3 = $("#step-3")
6592       if(data.match('PickUp')) {
6593         $(".selfpickup-point").show()
6594         step3.find("[data-finished=false]").hide()
6595         $("#panel-4").hide()
6596         step3.find("[data-finished=true]").show()
6597         $("#cities").attr("required", false)
6598         $("#form-group-city").hide()
6599         $("#row-delivery-time").hide()
6600         $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-")
6601         $("#propDeliveryTime").attr("required", false)
6602         // $("#deliveryDate").find("button:first-child").addClass("stop")
6603         $(".form-selfpickup").show()
6604         $(".form-delivery").hide()
6605         $(".form-delivery").find("input, textarea, select").val("")
6606         $(".form-delivery").find("input, textarea, select").attr("required", false)
6607         $("#properties-shipping").val("0")
6608         $("#noteDeliveryDate").hide()
6609         $(".form-delivery .form-control").attr("required", false)
6610         $("#stepNav4").hide()
6611         
6612         $("#deliveryDate").find("button:nth-child(1)").addClass("stop")
6613         
6614         
6615         
6616         if(timeOfDay >= 16.01){
6617           $("#deliveryDate").find("button:nth-child(2)").addClass("stop")
6618         }
6619       } else {
6620         
6621         
6622         $("#deliveryDate").find("button:nth-child(1)").removeClass("stop")
6623         step3.find("[data-finished=false]").show()
6624         $("#panel-4").show()
6625         step3.find("[data-finished=true]").hide()
6626         $("#cities").attr("required", true)
6627         $(".selfpickup-point").hide()
6628         $("#form-group-city").show()
6629         $("#cities").val('').trigger('change');
6630         $("#properties-kota-pengiriman").val("-")
6631         
6632         $("#row-delivery-date, #row-delivery-time").show()
6633         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6634         $("#deliveryDate").find("button").removeClass("stop")
6635         $(".form-selfpickup").hide()
6636         $(".form-delivery").show()
6637         $(".form-delivery").find("input, textarea, select").attr("required", true)
6638         $(".form-delivery [data-properties]").attr("readonly", false)
6639         $("#properties-kodepos").val("-")
6640         $("#properties-alamat-penerima").val("-")
6641         $(".form-delivery .form-control").attr("required", true)
6642         $(this).parents(".setup-content").attr("id", "step-1")
6643         
6644         $("#stepNav4").show()
6645       }
6646     })
6647 
6648     $("[name=selfpickup]").click(function(){
6649         const p = $(this).parents(".row-pickup")
6650         const pickupCity = $("input[name='selfpickup']:checked").val();
6651         const pickupAddress = $("input[name='selfpickup']:checked").data("address");
6652         const pickupZip = $("input[name='selfpickup']:checked").data("zip");
6653 
6654         $(".row-pickup").removeClass("selected")
6655         p.addClass("selected")
6656         
6657         $("#properties-kota-pengiriman").val(pickupCity)
6658         $("#province").val("Jakarta")
6659         $("#properties-alamat-penerima").val(pickupAddress)
6660         $("#properties-kodepos").val(pickupZip)
6661     })
6662 
6663     $("#cities").change(function(e){
6664       e.preventDefault()
6665       $(this).parent(".row").find("p.error").remove()
6666       $("#full-date").val("Full Calendar")
6667       $("#deliveryDate, #deliveryDateFull label ").show()
6668       $("#deliveryDateFull").removeClass("filled")
6669       $(".btnChangeDeliveryDate").addClass("hide")
6670       $("#full-date").prop('disabled', false);
6671       $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success")
6672       $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true)
6673       const step3 = $("#step-3")
6674       $("#cityNote").remove()
6675       $("#noteDeliveryDate").hide()
6676       $("#noteDeliveryDate").empty()
6677       let v = $(this).val()
6678       let v2 = $('option:selected', this).attr('data-city');
6679       let v3 = $('option:selected', this).attr('data-province');
6680       let price = $('option:selected', this).attr('data-price');
6681       $("#country").val(v)
6682       $("#properties-kota-pengiriman").val(v)
6683       $("#properties-shipping").val(price)
6684       $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected")
6685       $("#properties-delivery-date, #properties-delivery-time").val("-")
6686       $("#propDeliveryDate, #propDeliveryTime").val("")
6687       let note = $('option:selected', this).attr('data-note');
6688       if(v === 'Kota Lainnya') {
6689         $("#noteDeliveryDate").show()
6690         $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.")
6691         $("#zip").attr("required", false)
6692         $("#zip").hide()
6693         $("#propDeliveryDate, #propDeliveryTime").attr("required", false)
6694         $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-")
6695         $("#row-delivery-date, #row-delivery-time").hide()
6696         $("#properties-shipping").val("")
6697         // $(this).parents(".setup-content").attr("id", "step-2")
6698         
6699       } else {
6700         $("#noteDeliveryDate").hide()
6701         $("#zip").attr("required", true)
6702         $("#zip").show()
6703         $("#row-delivery-date, #row-delivery-time").show()
6704         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6705         $("#deliveryDate").find("button").removeClass("stop")
6706         // $(this).parents(".setup-content").attr("id", "step-1")
6707         
6708       }
6709       
6710       
6711       
6712       // if(v !== 'Jakarta') {
6713       //   $("[data-type=upsell]").hide()
6714       // } else {
6715       //   $("[data-type=upsell]").show()
6716       // }
6717       // $('.collection-addons')[0].swiper.update();
6718       
6719       
6720       getProvince(v)
6721       $("#zip").html(`<option value="">Choose Postal Code</option>`)
6722       renderZip(v, v2, v3)
6723       
6724       disabledSameDay()
6725       
6726 
6727       if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') {
6728         
6729         $("#cardOccasion, #navAddon, .collection-addons").hide()
6730         
6731         $("[data-addon=giftcard]").show()
6732         $("[data-addon=giftcard]").click()
6733         $("#itemAddons").show()
6734         $("#flower-step").addClass("nonjadetabek")
6735       } else {
6736         $("#cardOccasion, #navAddon, .collection-addons").show()
6737         $("[data-addon=all]").click()
6738         $("#flower-step").removeClass("nonjadetabek")
6739       }
6740       
6741         if(v !== '') {
6742           $("#personalizeBtn .btn").attr("disabled", false)
6743         } else {
6744           $("#personalizeBtn .btn").attr("disabled", true)
6745         }
6746       
6747     })
6748 
6749     $("#zip").change(function(e){
6750       let v = $(this).val()
6751       var city = $("#cities").find('option:selected');
6752       $("#properties-kodepos").val(v)
6753       if(city === 'Kota Lainnya') {
6754         $(this).attr("required", true)
6755         $("#recipient-address").val("")
6756       }
6757     })
6758 
6759     
6760       var minDate = +7
6761       
6762     
6763 
6764     $("#full-date").datepicker({
6765       minDate,
6766       dateFormat: 'Mdd_yy', //Nop22_2021,
6767       
6768       beforeShowDay: disabledays,
6769       
6770       onSelect: function (date) {
6771         $("#deliveryDate, #deliveryDateFull label ").hide()
6772         $("#deliveryDateFull").addClass("filled")
6773         $(".btnChangeDeliveryDate").removeClass("hide")
6774         $("#full-date").prop('disabled', true);
6775         $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date);
6776         $(".date-full").addClass("selected")
6777         $(".date-single, .calendar-group").removeClass("selected")
6778         $("#propDeliveryTime").val('')
6779         $("#properties-delivery-time").val('-')
6780         $(".time-single").removeClass("selected")
6781         
6782         
6783       }
6784     });
6785 
6786     $(".btnChangeDeliveryDate").click(function(){
6787         $("#deliveryDate, #deliveryDateFull label ").show()
6788         $("#deliveryDateFull").removeClass("filled")
6789         $(".btnChangeDeliveryDate").addClass("hide")
6790         $("#full-date").prop('disabled', false);
6791     })
6792   
6793     $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){
6794       e.preventDefault()
6795       $(this).parents("#row-delivery-date").find("p.error").remove()
6796       const fulldate = $(this).data("fulldate")
6797       const day = $(this).data("day")
6798       const date = $(this).data("date")
6799       const month = $(this).data("month")
6800       const year = $(this).data("year")
6801       const off_pagi = $(this).data("offpagi")
6802       const off_siang = $(this).data("offsiang")
6803       const off_Malam = $(this).data("offMalam")
6804       $(".calendarbutton").removeClass("selected")
6805       $(this).addClass("selected")
6806       $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`)
6807       $("#propDeliveryTime").val('')
6808       $("#properties-delivery-time").val('-')
6809       $(".calendarbutton2").removeClass("selected")
6810       $("#full-date").val("Full Calendar")
6811 
6812       
6813       if(off_pagi && timeOfDay > off_pagi) {
6814         $("[data-time=Morning]").attr("disabled", true)
6815       } else {
6816         $("[data-time=Morning]").attr("disabled", false)
6817       }
6818       if(off_siang && timeOfDay > off_siang) {
6819         $("[data-time=Afternoon]").attr("disabled", true)
6820       } else {
6821         $("[data-time=Afternoon]").attr("disabled", false)
6822       }
6823       
6824 
6825       
6826     })
6827     
6828     if(today === 14 && timeOfDay > 17.00) {
6829       $("#deliveryDate button:first-child").attr("disabled", true)
6830     }
6831   
6832     $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){
6833       e.preventDefault()
6834       const time = $(this).data("time")
6835       const date = $("#propDeliveryDate").val()
6836       if(date == '') {
6837         return alert('Silakan pilih tanggal terlebih dahulu')
6838       }
6839       $(".calendarbutton2").removeClass("selected")
6840       $(this).addClass("selected")
6841       $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`)
6842     })
6843       
6844     $('textarea.has-limit, input.has-limit').keyup(function () {
6845       max = this.getAttribute("maxlength");
6846       let len = $(this).val().length;
6847       let limit = $(this).siblings(".limit");
6848       if (len > max) {
6849         alert('you have reached the limit');
6850       } else {
6851         limit.text(`${len}/${max}`);
6852       }
6853     });
6854     
6855     $("#button-action-step .btn").click(function(){
6856       $(this).find("span").text("Processing...");
6857     });
6858 
6859     $(".finishBtn").on('click', function() {
6860       $(this).addClass("is-adding");
6861       // $(this).click();
6862     });
6863 
6864     $('.setup-panel .nav-item a.btn-success').trigger('click');
6865 
6866     $("#button-action .btn").click(function(){
6867       $("#flower-step").addClass("block");
6868       $("#button-action").hide();
6869     });
6870         
6871     $(".close-how-order").click(function(){
6872       $("#flower-step").removeClass("block");
6873       $("#button-action").show();
6874     });
6875 
6876     $("#input-foto, #input-video").change(function(e){
6877       readURL(this);
6878     });
6879 
6880     $("#logoPapan").change(function(){
6881       readURLPapan(this);
6882     });
6883 
6884     $("#address-upload").change(async function(){
6885       const upload_address = await readURLAddress(this)
6886       if(upload_address) {
6887         const url = upload_address.url
6888         $(".props-address-upload").val(url)
6889         $(".form-address").addClass("address-uploaded")
6890         $(".form-address-upload").addClass("uploaded")
6891 
6892         $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false)
6893       }
6894     })
6895 
6896     $(".address-manualy").click(function(){
6897       $(".form-address-upload").removeClass("uploaded");
6898       $(".photo-address").hide();
6899       $(".form-address").removeClass("address-uploaded")
6900       $("#formAddressPurchase").find(".form-control").attr("required", true)
6901     });
6902 
6903     $(".case-video-preview").delegate(".replace-video", "click", function(){
6904       $("#input-video").trigger("click")
6905     })
6906 
6907     $('.date-single').click(function(e) {
6908       e.preventDefault();
6909       $('.date-single').removeClass('selected');
6910       $('#full-date').removeClass('selected');
6911       $(this).addClass('selected');
6912       $('#full-date').html('Full' + '<br/>' + 'Calendar');
6913     });
6914     $('#full-date').click(function(e){
6915       e.preventDefault();
6916       $('.date-single').removeClass('selected');
6917       $(this).addClass('selected');
6918     });
6919     
6920     // $("tr").each(function(){
6921     //   if($(this).text().match('SKU')) {
6922     //     $(".sku-product").html($(this).parents("table").html())
6923     //   }
6924     // })
6925     
6926     $("#product-image").scroll(function(){
6927       $(".desc-add").each(function(){
6928         const img = $(this).find("img")
6929         const src = img.data("src")
6930         img.attr("src", src)
6931       })
6932     })
6933 
6934     $(".product-fixed").hide()
6935     
6936     let target = $("#personalizeBtn")
6937     
6938 
6939     $(".product-meta").scroll(function() {
6940         if ($(window).scrollTop() >= target.offset().top ) {
6941             $(".product-fixed").addClass("show")
6942         } else {
6943           $(".product-fixed").removeClass("show")
6944         }
6945     });
6946 
6947     $(window).scroll(function() {
6948         if ($(window).scrollTop() >= target.offset().top ) {
6949             $(".product-fixed").addClass("show")
6950         } else {
6951           $(".product-fixed").removeClass("show")
6952         }
6953     });
6954   });
6955 </script>
6955
6956 
6957   
6957<script>
6958     //
6959   </script>
6959
6960 
6961 
6961<script>
6962   $(document).ready(function(){
6963     $('table tr td').each(function(){
6964       var texto = $(this).text();
6965       var nextto = $(this).next("td");
6966       var sku = $("#data-sku").val()
6967       if(texto == 'SKU'){
6968         nextto.text(sku)
6969       }
6970     });
6971     
6972     $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan");
6973     $(".stamped-summary-actions-newreview").text("Tulis Review");
6974     $("#tab-questions").text("Pertanyaan");
6975     
6976     $(".freeship .icon").click(function(){
6977       $(".fs-content").slideToggle();
6978       $(this).parents(".freeship").toggleClass("expand");
6979     });
6980     
6981     var $easyzoom = $('.easyzoom').easyZoom();
6982     // Setup thumbnails example
6983     var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom');
6984     $('.thumbnails').on('click', 'a', function(e) {
6985       var $this = $(this);
6986       e.preventDefault();
6987       // Use EasyZoom's `swap` method
6988       api1.swap($this.data('standard'), $this.attr('href'));
6989     });
6990 
6991     $('#playerID').click(function(){
6992       var videoURL = $('#VdoID').attr('src'),
6993           dataplay = $('#VdoID').attr('data-play');
6994 
6995       //for check autoplay
6996       //if not set autoplay=1
6997       if(dataplay == 0 ){
6998         $('#VdoID').attr('src',videoURL+'?autoplay=1');
6999         $('#VdoID').attr('data-play',1);
7000       }
7001       else{
7002         var videoURL = $('#VdoID').attr('src');
7003         videoURL = videoURL.replace("?autoplay=1", "");
7004         $('#VdoID').prop('src','');
7005         $('#VdoID').prop('src',videoURL);
7006 
7007         $('#VdoID').attr('data-play',0);
7008       }
7009 
7010     });
7011     
7012     $(".product-photo-thumb-video").click(function(e){
7013       e.preventDefault();
7014 
7015       var newEmbed = $(this).attr('href');
7016       $("#featured-image-product").addClass("img-video");
7017       $("#ProductPhotoImg").hide();
7018       $("#featured-image-product .video").show();
7019       $("#featured-image-product iframe").attr('src', newEmbed);
7020       $("#VdoID")[0].src += "&autoplay=1";
7021     });
7022     $(".product-single__thumbnail").click(function(evt){
7023       evt.preventDefault();
7024       $("#featured-image-product").removeClass("img-video");
7025       $("#ProductPhotoImg").show();
7026       $("#featured-image-product .video").hide();
7027       $("#featured-image-product iframe").attr('src', '');
7028     });
7029     
7030     if($('#product-meta .short-desc > div').length >= 1){
7031       //console.log('div detected')
7032       var replacer = $('#product-meta .short-desc > div').contents();
7033       $('#product-meta .short-desc > div').replaceWith(replacer);
7034 
7035       var cAssured =  $('.c-assured').detach();
7036       cAssured.insertAfter('.meta-sds .stock-info');
7037     }
7038 
7039     
7040     
7041     $(".heading-toggle").click(function(){
7042       $(this).parent().toggleClass("open")
7043       
7044     });
7045   });
7046 </script>
7046
7047 
7048 
7049   
7049<script type="application/json" id="ProductJson-Product">
7050         
7051         {"id":8144957800663,"title":"KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eKASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki."}
7052   </script>
7052
7053   
7054     
7054<script type="application/json" id="VariantJson-Product">
7055       [
7056         
7057           {
7058              "incoming": false,
7059              "next_incoming_date": null
7060           }
7061         
7062       ]
7063     </script>
7063
7064   
7065 
7066 
7067 
7068 </div>
7069 
7070 
7071 
7071<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7071
7072 <style>
7073     .stamped-review-header-title,
7074     .stamped-review-header .author,
7075     .stamped-review-content-body,
7076     .stamped-sort-select,
7077     .stamped-review-header .verified-badge[data-type=buyer]:after,
7078     .stamped-review-header-byline,
7079     .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;}
7080     .stamped-review {margin-bottom: 0;}
7081     .stamped-review-body {padding-left: 65px;}
7082     .stamped-review:first-child {padding-top: 25px;}
7083     .stamped-review-content {clear: none;}
7084     .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;}
7085     .stamped-review-reply-body {padding-left: 65px;}
7086     .stamped-review-header .author {text-transform: capitalize;}
7087     .stamped-questions .stamped-review-content {padding-left: 65px;}
7088 
7089     .stamped-pagination {margin: 20px 0 0;}
7090     .stamped-pagination li {position: initial!important;display: inline-block;position: relative;vertical-align: middle;text-decoration: none;-webkit-tap-highlight-color: transparent;-webkit-box-flex: 0;-moz-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;background: 0 0;text-transform: none;color: #33373D;font-weight: 400;-webkit-transition: background .1s ease,box-shadow .1s ease,color .1s ease;transition: background .1s ease,box-shadow .1s ease,color .1s ease;border: 1px solid #ccc;border-right: none;margin-bottom: 0;}
7091     .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;}
7092     .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;}
7093     .stamped-pagination li:hover a {background: #ddd;}
7094     .stamped-pagination .next {border-right: 1px solid #ccc;}
7095     .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;}
7096     .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;}
7097 
7098     #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;}
7099     #stamped-pagination-question span {font-size: 14px;}
7100     #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;}
7101     #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;}
7102     .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;}
7103     .stamped-pagination-prev, .stamped-pagination-next {position: inherit;}
7104     .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;}
7105 
7106     @media (max-width: 480px){
7107       .stamped-review-reply {margin-left: 0!important;}
7108       select.stamped-sort-select {font-size: 13px!important;}
7109     }
7110 
7111   #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content {
7112       display: block !important;
7113   }
7114 </style>
7115 
7115<script>
7116     var selectCallback = function(variant, selector) {
7117       timber.productPage({
7118         money_format: "Rp {{amount_no_decimals}}",
7119         variant: variant,
7120         selector: selector
7121       });
7122     };
7123 
7124     jQuery(function($) {
7125       new Shopify.OptionSelectors('productSelect', {
7126         product:
7127 
7128 
7129 
7130 
7131 
7132 {"id":8144957800663,"title":"KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eKASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki."},
7133         onVariantSelected: selectCallback,
7134         enableHistoryState: true
7135       });
7136 
7137       // Add label if only one product option and it isn't 'Title'. Could be 'Size'.
7138       
7139 
7140       // Hide selectors if we only have 1 variant and its title contains 'Default'.
7141       
7142         $('.selector-wrapper').hide();
7143       
7144     });
7145 </script>
7145
7146 
7147 
7148 
7149   
7149<script type="application/ld+json">
7150     {
7151     "@context": "http://schema.org",
7152     "@type": "Product",
7153 "offers": {
7154 "@type": "Offer",
7155 "availability":"https://schema.org/InStock",
7156 "price": 835000,
7157 "priceValidUntil": "05-10-2025",
7158 "priceCurrency": "IDR",
7159 "url": "https://lower9thwardhomeowners.org/"
7160 },
7161 "brand": {
7162 "@type": "Brand",
7163 "name": "Outerbloom Florist"
7164 },
7165 "sku": "8144957800663",
7166 "gtin13": "Jawa",
7167 "name": "KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ",
7168 "description": "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.",
7169 "category": "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.",
7170 "url": "https://lower9thwardhomeowners.org/",
7171 "image": {
7172 "@type": "ImageObject",
7173 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7174 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7175 "name": "KASKUSTOTO : Alternatif Tercepat Anti Nawala Anti Lelet ",
7176 "width": 1024,
7177 "height": 1024
7178 }
7179     }
7180   </script>
7180
7181 
7182 
7183 
7184 
7185         
7186 
7186<script id="bss-ltap-hide-price" type="text/javascript" >
7187 !function(e){var t={};function o(r){if(t[r])return t[r].exports;var c=t[r]={i:r,l:!1,exports:{}};return e[r].call(c.exports,c,c.exports,o),c.l=!0,c.exports}o.m=e,o.c=t,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var c in e)o.d(r,c,function(t){return e[t]}.bind(null,c));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,o){"use strict";function r(e){e.ltsp={},function(e){e.ltsp.quickView=function(){document.querySelectorAll(".quickview-button").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementById("add-to-cart-quickview-form");if(e){let t=e.querySelector(".groups-btn");t&&t.remove();let o=e.querySelector(".pieces");o&&o.remove();let r=e.querySelector(".bsscommerce-ltsp-message");r&&r.remove()}if(e=document.querySelector("[data-quickview-modal] .halo-modal-body"),e){let t=e.querySelector(".quantity");t&&t.remove()}}),1e3)}))})),document.querySelectorAll(".shop-now-button").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementById("ShopNowContainer");if(e){let t=e.querySelector("#AddToCart");t&&t.remove()}}),2e3)}))})),document.querySelectorAll(".collection__filter").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-grid-item");if(o){let e=o.querySelector(".btn--quick-view");e&&e.remove()}}}),1500)}))})),document.querySelectorAll(".btn--icon.quick-product__btn").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-grid__content");if(o){let e=o.querySelector(".payment-buttons");e&&e.remove()}}}),2e3)}))})),document.querySelectorAll(".product-facet__aside").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-item");if(o){let e=o.querySelector('form[action="/cart/add"]');e&&e.remove();let t=o.querySelector(".product-item__quick-form");t&&t.remove()}}}),1500)}))})),document.querySelectorAll(".pagination").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-item");if(o){let e=o.querySelector('form[action="/cart/add"]');e&&e.remove();let t=o.querySelector(".product-item__quick-form");t&&t.remove()}}}),1800)}))})),document.querySelectorAll(".collection-filters__sort").forEach((function(e){e.addEventListener("change",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".indiv-product");if(o){let e=o.querySelector('form[action="/cart/add"]');e&&e.remove()}}}),1500)}))}
7187)),document.querySelectorAll(".slideout__drawer-right, .sidebar_leftside_wapper, .filtering__results").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-index");if(o){let e=o.querySelector(".js-quickview-trigger");e&&e.remove()}}}),1500)}))})),document.querySelectorAll("a.product-loop__quickview").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".large--one-half");if(o){let e=o.querySelector(".quick-smart-wrapper");e&&e.remove();let t=o.querySelector("#quantity-container");t&&t.remove();let r=o.querySelector(".js-prod-show-soldout");r&&r.remove()}}}),2e3)}))})),document.querySelectorAll(".quick-product__btn").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-single__meta");if(o){let e=o.querySelector("div.payment-buttons");e&&e.remove()}}}),1e3)}))})),document.querySelectorAll(".btn--load-more").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".grid-view-item");if(o){let e=o.querySelector(".quick-add-button");e&&e.remove()}}}),1e3)}))})),document.querySelectorAll(".quick_shop").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product_section");if(o){let e=o.querySelector(".product_form .shopify-product-form .purchase-details"),t=o.querySelector(".product__details .modal_price .price-ui");e&&e.remove(),t&&t.remove()}}}),1e3)}))})),document.querySelectorAll(".qs-button ").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-info-main");if(o){let e=o.querySelector(".qty-box");e&&e.remove();let t=o.querySelector(".btn.btn-cart");t&&t.remove();let r=o.querySelector(".product-single__sale-price");r&&r.remove();let c=o.querySelector(".product-addto-links");c&&c.remove()}}}),1e3)}))}));let e=document.querySelector("a[data-js-cart-icon]");if(e&&e.addEventListener("click",(function(){let e=document.querySelector(".quick-cart__control");e&&e.remove();let t=document.querySelector(".quick-cart__item-right");t.childNodes[3]&&(t.childNodes[3].innerHTML="Login to seen price")})),document.querySelectorAll(".quick-add-button-variants").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest("#AddToCartForm");if(o){let e=o.querySelector(".paymentButtonsWrapper");e&&e.remove()}}}),1e3)}))})),document.querySelectorAll(".product-thumbnail__quickshop-button").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-details");if(o){let e=o.querySelectorAll(".bsscommerce-ltsp-message");e.length>1&&e.forEach((function(e,t){t>0&&e.remove()}));let t=o.querySelector(".product-form__cart-buttons");t&&t.remove();let r=o.querySelector(".product-form__quantity-box-wrapper");r&&r.remove()}}}),800)}))})),"b2b-dbodhi-singapore.myshopify.com"===window.Shopify.shop){let e=0;const t=window.location.pathname.includes("/collections");let o=!0;const r=function(){const e=setInterval((function(){let e=document.querySelectorAll(".thb-product-detail.product .bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t],r=o.closest(".thb-product-detail.product");if(r){let e=r.querySelector(".product-form");e&&e.remove()}r=o.closest("del"),r&&o.remove()}}),500);setTimeout(()=>{clearInterval(e)},6e3)},c=function(){const c=window.pageYOffset||document.documentElement.scrollTop;(c>e||!t||o)&&(document.querySelectorAll(".product-card-quickview").forEach((function(e){e.removeEventListener("click",r),e.addEventListener("click",r)}
7187)),o=!1),e=c<=0?0:c};if(c(),t){const e=function(){const e=c;let t;return()=>{clearTimeout(t),t=setTimeout(()=>{e.apply(this)},3e3)}};window.addEventListener("scroll",e())}}}}(e),function(e){e.ltsp.removeElementByLTSPMessage=function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message"),t=[],o=window.Shopify.shop;for(let r=0;r<e.length;r++){let c=e[r],l=[".grid-product__on-sale",".product-unit-price",".product-price-unit",".grid-link__sale_price","s",".price__compare",".product__compare-price",".price__unit",".card__price--regular",".sale-tag",".compare-price",".old-price",".savings",".was_price",".price--compare",".price-compare",".was"];if("stark-hockey.myshopify.com"===o){const e=c.closest(".product-index");if(e){const t=e.querySelector(".product-modal");t&&t.remove()}continue}let s=c.closest(".product-parent");if(s){let e=s.querySelector("form .tt-btn-addtocart");e&&t.push(e);let o=s.querySelector(".tt-btn-quickview");o&&t.push(o)}if(s=c.closest(".ProductItem"),s){let e=s.querySelector(".quickshop-btn");if(e&&t.push(e),"shrimptoncouture-com.myshopify.com"===o){let e=s.querySelector(".ProductItem__PriceList");e&&e.classList.remove("ProductItem__PriceList")}}if(s=c.closest(".product-item--vertical"),s){if("sparklinbluewholesale.myshopify.com"===o){let e=s.querySelector(".product-item__info .product-item__price-list");e&&t.push(e)}let e=s.querySelector(".product-item__info .product-item__action-button");e&&t.push(e),e=s.querySelector(".product-form__payment-container"),e&&t.push(e)}if(s=c.closest(".card-wrapper.underline-links-hover"),s&&"friends-forever-pets.myshopify.com"===o){let e=s.querySelector(".card__content .quick-add");e&&t.push(e);let o=s.querySelector(".card-information .price__sale .price-item.price-item--regular");o&&t.push(o)}if(s=c.closest(".modal_price"),s&&window.Shopify&&"casa-barba.myshopify.com"!==window.Shopify.shop&&"prideandgroom-wholesale.myshopify.com"!==window.Shopify.shop){let e=s.querySelector(".price-ui");e&&t.push(e)}if(s=c.closest(".info.has-padding-top"),s){let e=s.querySelector(".compare-at-price");e&&t.push(e)}if(s=c.closest(".product-thumbnail__price.price"),s){let e=s.querySelector(".money");e&&t.push(e)}if(s=c.closest(".search-result__description"),s){let e=s.querySelector(".money");e&&t.push(e)}if(s=c.closest(".product__price"),s){let e=s.querySelector("[data-product-price][bss-custom-ltsp-attribute]");e&&t.push(e)}if(s=c.closest("#template-product"),s){let e=s.querySelector(".product-form.cart-bar__form");e&&t.push(e)}if("showroom1-ducanero.myshopify.com"===o){if(s=c.closest(".product-area")||c.closest(".price"),s){let e=s.querySelector(".price-area")||s.querySelector(".theme-money");e&&t.push(e)}}else if(s=c.closest(".product-area__details"),s){let e=s.querySelector(".product-detail__form__action");e&&t.push(e);let o=s.querySelector(".quantity-wrapper");o&&t.push(o)}if("quincaillerie-euroline.myshopify.com"===o&&(s=c.closest(".product-form__info-content"),s)){let e=s.querySelector(".price-list");e&&t.push(e)}if(s=c.closest(".product-form__buttons"),s&&t.push(s),s=c.closest(".product-wrap-2"),s){let e=s.querySelector(".product-action-2");e&&t.push(e)}if(s=c.closest(".span6"),s){let e=s.querySelector(".purchase>input"),o=s.querySelector(".price-container>#price-preview"),r=s.querySelector(".price-container>.vat-price");e&&t.push(e),o&&t.push(o),r&&t.push(r)}if(s=c.closest(".product__page"),s){let e=s.querySelector(".quantity-selector");e&&t.push(e)}if(s=c.closest(".product_details_info"),s){let e=s.querySelector(".pro-detail-button"),o=s.querySelector(".price-box");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".product-content"),s){let e=s.querySelector(".product-action");e&&t.push(e)}if(s=c.closest(".product-view .single-product-wrap"),s){let e=s.querySelector(".add-to-cart");e&&t.push(e)}if(s=c.closest(".collection-category .owl-stage .owl-item"),s){let e=s.querySelector(".add-to-cart");e&&t.push(e)}if(s=c.closest(".product__details"),s){let e=s.querySelector(".product-wrap .thumbnail-overlay .info .price ");e&&t.push(e);let o=s.querySelector(".product-details .price  .current_price .money ");o&&t.push(o)}if(s=c.closest(".product_row"),s){let e=s.querySelector(".three-fourths .info .price ");e&&t.push(e)}if(s=c.closest(".thubnail-desc"),s){let e=s.querySelector(".quatity-stock");e&&t.push(e);let o=s.querySelector(".Payment_button");o&&t.push(o)}if(s=c.closest(".single-ponno-product"),s){let e=s.querySelector(".pro-actions-link");e&&t.push(e);let o=s.querySelector(".pro-add-cart");o&&t.push(o)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector("div.product-form__controls-group.product-form__controls-group--submit");e&&e.setAttribute("style","visibility:hidden")}if("homewarerus.myshopify.com"!=window.Shopify.shop&&(s=c.closest(".product-item__info"),s)){let e=s.querySelector("form.product-item__action-list.button-stack");e&&e.remove()}
7187if("bluebasketb2b.myshopify.com"===window.Shopify.shop){if(s=c.closest(".card-information"),s){let e=s.querySelector(".price__sale .price-item--sale.sale-percentage");e&&t.push(e)}if(s=c.closest("tr.cart-item[id*=Cart]"),s){let e=s.querySelector(".cart-item__quantity");e&&e.remove();let t=s.querySelector(".cart-item__totals");t&&t.remove()}}if(s=c.closest(".product-form"),s){let e=s.querySelector(".quantity-submit-row__submit");e&&e.remove();let o=s.querySelector(".product-form__info-list .product-form__info-item.product-form__info-item--quantity .product-form__info-content .quantity-selector.quantity-selector--product");o&&t.push(o)}if(s=c.closest(".product-grid__detail"),s){let e=s.querySelector(".product-form-block form");e&&e.remove()}if(s=c.closest(".tab-body"),s){if(s.querySelector(".purchase-section button, .btn.add-to-cart")){let e=setInterval((function(){let e=document.querySelector(".tab-body .purchase-section button, .tab-body .btn.add-to-cart"),t=document.querySelector(".swym-button-bar.swym-wishlist-button-bar");e&&e.remove(),t&&t.remove()}),200);setTimeout((function(){clearInterval(e)}),1e4)}}if(s=c.closest(".item.relative.product-id.item-row"),s){let e=s.querySelector(".quantity.form");e&&e.remove()}if(s=c.closest(".product-form"),s){let e=s.querySelector(".buy-buttons-row");e&&t.push(e)}if(s=c.closest(".product-grid-item"),s){let e=s.querySelector(".btn--quick-view");e&&t.push(e)}if(s=c.closest(".featured__collection-product"),s){let e=s.querySelector(".js-quickview-trigger");e&&t.push(e)}if(s=c.closest(".product-index"),s){let e=s.querySelector(".js-quickview-trigger");e&&t.push(e)}if(s=c.closest(".product-bottom"),s){let e=s.querySelector(".quantity-selector, .product-add");e&&t.push(e)}if(s=c.closest(".js-sticky-cart"),s){let e=s.querySelector(".sticky-add");e&&t.push(e)}if(s=c.closest(".product-details"),s){let e=s.querySelector(".shopify-payment-button");e&&t.push(e);let r=s.querySelector(".payment-and-quantity__add");r&&t.push(r);let c=s.querySelector(".price__compare-at.visible");c&&"coventa-demo.myshopify.com"===o&&t.push(c)}if(s=c.closest(".product-block__inner"),s){let e=s.querySelector(".quick-buy");e&&t.push(e)}if(s=c.closest(".content-summary"),s){let e=s.querySelector("form.cart");e&&t.push(e)}if(s=c.closest('div[data-pf-type="Section"]'),s){let e=s.querySelector('div[data-pf-type="ProductQuantity"]');e&&t.push(e);let o=s.querySelector('button[data-pf-type="ProductATC"]');o&&t.push(o)}if(s=c.closest(".pc-inner"),s){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e);let o=s.querySelector(".quick_shop");o&&t.push(o)}if(s=c.closest(".product-info-inner"),s){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e)}if(s=c.closest(".product-details-inline"),s){let e=s.querySelector(".product-quantity");e&&t.push(e)}if(s=c.closest(".product-card"),s){let e=s.querySelector(".js-grid-cart");e&&t.push(e);let o=s.querySelector(".card-header .card-button-hover");o&&t.push(o);let r=s.querySelector(".product-card__quick-buy");r&&t.push(r);let c=s.querySelector("compare-at-price");c&&t.push(c);let l=s.querySelector(".product-card__badge-list");l&&t.push(l)}if(s=c.closest(".product__info"),s){let e=s.querySelector(".product-form__buy-buttons button");e&&t.push(e);let o=s.querySelector(".product-form__quantity");o&&t.push(o)}if(s=c.closest(".product-sticky-form__inner"),s){let e=s.querySelector(".product-sticky-form__payment-container");e&&t.push(e)}if("homewarerus.myshopify.com"!=window.Shopify.shop&&(s=c.closest(".product-item"),s)){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e);let o=s.querySelector(".product-item__quick-form");o&&t.push(o)}if(s=c.closest(".shopify-product-form"),s){let e=s.querySelector("div.quantity");e&&t.push(e)}if(s=c.closest(".product-body"),s){let e=s.querySelector(".product-cta-wrapper");e&&t.push(e)}if(s=c.closest(".tt-product-single-info"),s){let e=s.querySelector("form .btn-addtocart");e&&t.push(e);let o=s.querySelector('form[action*="/cart/add"]');o&&t.push(o)}if(s=c.closest(".product-details-wrapper"),s){let e=s.querySelector(".product-form");e&&t.push(e)}if(s=c.closest(".product-inner"),s){let e=s.querySelector(".product-card-interactions");e&&t.push(e)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector(".add-to-cart");if(e)if(window.Shopify&&"bundlecomph.myshopify.com"===window.Shopify.shop){e.disabled=!0;let o=s.querySelector(".payment-buttons"),r=s.querySelector(".shopify-payment-button");o&&o.classList.remove("payment-buttons"),r&&t.push(r)}else t.push(e)}if(s=c.closest(".grid-view-item"),s){let e=s.querySelector(".thumbnail-buttons");e&&t.push(e)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector(".product-form:not(.product-form-product--static):not(.product-form-product-template)");e&&t.push(e)}if(s=c.closest(".pf-product-form"),s){let e=s.querySelector(".sc-lkgURy");e&&t.push(e);let o=s.querySelector(".sc-gzcbmu");o&&t.push(o);let r=s.querySelector(".add-to-cart");r&&t.push(r)}if(s=c.closest(".large--one-half"),s){let e=s.querySelector(".product-smart-wrapper");e&&t.push(e);let o=s.querySelector('div.btn[onmouseup="showProductsDesigner(this)"]');o&&t.push(o);let r=s.querySelector("button.js-prod-show-soldout");r&&t.push(r)}if(s=c.closest("#add-to-cart-form"),s)if("led-signcity.myshopify.com"===o){let e=s.querySelector(".atc-btn");e&&t.push(e);let o=s.querySelector(".price");o&&o.classList.remove("price")}else{let e=s.querySelector(".groups-btn");e&&t.push(e),t.push(c)}
7187if(s=c.closest(".product-shop"),s&&"led-signcity.myshopify.com"!==o){let e=s.querySelector(".groups-btn");e&&t.push(e)}if(s=c.closest(".who-qof-table"),s&&s.classList.add("bsscommerce-hide-price"),s=c.closest(".price-sale"),s){let e=s.querySelector(".old-price");e&&t.push(e);let o=s.querySelector("em");o&&(o.innerHTML="")}if(s=c.closest(".product-details"),s){let e=s.querySelector(".action");e&&t.push(e)}if(s=c.closest(".product_section"),s){let e=s.querySelector("form .add_to_cart, form .b2b-ajax-submit");e&&t.push(e);let o=s.querySelector(".sale.savings");o&&t.push(o);let r=s.querySelector(".purchase-details button.button--add-to-cart");r&&t.push(r);let c=s.querySelector(".purchase-details .purchase-details__quantity.product-quantity-box");c&&t.push(c);let l=s.querySelector(".product__details .modal_price .price-ui");l&&t.push(l)}if(s=c.closest(".quick-shop-style--inline"),s){let e=s.querySelector("form .add_to_cart, form .b2b-ajax-submit");e&&t.push(e)}if(s=c.closest(".product-details"),s){let e=s.querySelector("small em");e&&t.push(e)}if(s=c.closest(".gt_product-body"),s){let e=s.querySelector("form .gt_product-addtocart");e&&t.push(e);let o=s.querySelector(".gt_product-saved");o&&t.push(o);let r=s.querySelector(".gt_product-price--compare");r&&t.push(r)}if(s=c.closest(".gt_product_content"),s){let e=s.querySelector("form .gt_product-addtocart");e&&t.push(e);let o=s.querySelector(".gt_product-price--compare");o&&t.push(o)}if(s=c.closest(".gt-single-product"),s){let e=s.querySelector("div.gt_method_addToCart");e&&t.push(e);let o=s.querySelector(".gt_product-price--compare");o&&t.push(o)}if(s=c.closest("#cont-form"),s){let e=s.querySelector("form .cont-add-btns");e&&t.push(e)}if(s=c.closest(".theiaStickySidebar"),s){let e=s.querySelector(".variations_button");e&&t.push(e)}if(s=c.closest(".product--price-wrapper"),s){let e=s.querySelector(".product--compare-price");e&&t.push(e)}if(s=c.closest(".product-submit"),s){let e=s.querySelector(".payment-buttons-container");e&&t.push(e)}if(s=c.closest(".product-price"),s){let e=s.querySelector(".product-price-compare");e&&t.push(e)}if(s=c.closest(".product-list-item"),s){let e=s.querySelector(".original"),o=s.querySelector(".product-list-item-badge");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".productitem"),s){let e=s.querySelector(".productitem--action");e&&t.push(e);let o=s.querySelectorAll(".bss-ltsp-to-remove");if(o.length)for(let e of o)t.push(e)}if(s=c.closest(".product--outer"),s){let e=s.querySelector(".product-form--atc");e&&t.push(e),e=s.querySelector(".shopify-payment-button"),e&&t.push(e)}if(s=c.closest(".Container"),s)if(window.Shopify&&"mama-shawna.myshopify.com"===window.Shopify.shop){let e=s.querySelector("form.ProductForm");if(window.__st&&e){__st.cid&&t.push(e)}}else{let e=s.querySelector(".ProductForm__BuyButtons");e&&t.push(e)}if(s=c.closest(".product-grouped"),s){let e=s.querySelector(".product_top form#add-to-cart-form");e&&t.push(e)}if(s=c.closest(".product-item"),s){let e=s.querySelector(".product-top .product-des .action"),o=s.querySelector(".slideup");if(e&&t.push(e),o&&t.push(o),o=s.querySelector(".card-quickview"),o&&t.push(o),window.Shopify&&"sitchish.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".product-item-price .money");e&&e.classList.remove("money")}}if(s=c.closest(".modal_price"),s){let e=s.querySelector(".was_price");e&&t.push(e)}if(s=c.closest(".info"),s){let e=s.querySelector(".was_price");e&&t.push(e)}if(s=c.closest(".product-item"),s){let e=s.querySelector('.product-item__action-button[data-action="add-to-cart"]');e&&t.push(e)}if(s=c.closest(".grid__item.grid-product"),s){let e=s.querySelector('form[action="/cart/add"] input[type="submit"]');e&&t.push(e);let r=s.querySelector(".grid-product__tag");r&&t.push(r);let c=s.querySelector(".visually-hidden");c&&t.push(c);let l=s.querySelector(".quick-product__btn");l&&"comphycompany.myshopify.com"===o&&t.push(l)}if(s=c.closest(".product-info"),s){let e=s.querySelector('form[action="/cart/add"] .payment-buttons');e&&t.push(e);let o=s.querySelector(".variant-wrapper.variant-wrapper--button");o&&t.push(o);let r=s.querySelector(".form .product-actions .product-actions-add-to-cart");r&&t.push(r);let c=s.querySelector(".product-price__compare");
7187c&&t.push(c),c=s.querySelector("compare-at-price"),c&&t.push(c);let l=s.querySelector("unit-price");l&&t.push(l),e=s.querySelector(".buy-buttons"),e&&t.push(e);let u=s.querySelector(".product-info__badge-list");u&&t.push(u)}if(s=c.closest(".price"),s){if(s.textContent.includes("From")){let e=s.innerHTML;s.innerHTML=e.replace("From","")}}if(s=c.closest("#product-right"),s){let e=s.querySelector(".was");e&&t.push(e);let o=s.querySelector(".product-add");o&&t.push(o)}if(s=c.closest(".was"),s&&t.push(s),s=c.closest(".product-single__meta"),s){let e=s.querySelector(".pf__actions");e&&t.push(e);let o=s.querySelector("div.product-form__controls-group.product-form__controls-group--submit");o&&o.setAttribute("style","visibility:hidden")}if(s=c.closest(".product-item"),s){let e=s.querySelector(".product-item__add");e&&t.push(e)}if(s=c.closest(".grid-item"),s){let e=s.querySelector("#addToCart-product-template");e&&t.push(e);let o=s.querySelector(".payment-buttons");o&&t.push(o)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector("div.payment-buttons");e&&e.remove()}if(s=c.closest(".modal--root"),s){let e=s.querySelector(".product-form--button-container");e&&t.push(e)}if(s=c.closest(".product-item__info"),s){let e=s.querySelector("a.product-item__action-button.button.button--small.button--primary");e&&t.push(e)}if(s=c.closest(".product-form__info-list"),s){let e=s.querySelector("div.product-form__info-item.product-form__info-item--quantity");e&&t.push(e)}if(s=c.closest(".large--three-fifths"),s){let e=s.querySelector(".multivariants_setbox_footer");e&&t.push(e)}if(s=c.closest(".product-info-main"),s){let e=s.querySelector(".qty-box");e&&t.push(e);let o=s.querySelector(".btn.btn-cart");o&&t.push(o);let r=s.querySelector(".shopify-payment-button");r&&t.push(r)}if(s=c.closest(".product-miniature"),s){let e=s.querySelector(".qty-box");e&&t.push(e);let o=s.querySelector(".product.actions.product-item-actions");o&&t.push(o)}if(s=c.closest("#AddToCartForm"),s){let e=s.querySelector(".paymentButtonsWrapper");e&&t.push(e)}if(s){let e=s.querySelector("#product-add");e&&e.remove()}if(s){let e=s.querySelector("#product-price>.product-price");e&&e.remove()}if(s=c.closest(".grid-view-item"),s){let e=s.querySelector(".quick-add-button");e&&t.push(e)}if("tinalykkegaard.myshopify.com"===o){if(s=c.closest(".main-product__details>.main-product__details-wrapper"),s){let e=s.querySelector(".main-product__actions .main-product__form-buttons");e&&e.remove()}if(s=c.closest(".product-grid .product-card"),s){let e=s.querySelector('form[action="/cart/add"]');e&&e.remove()}}if(s=c.closest(".product-item-caption"),s){let e=s.querySelector(".product-form__item--submit");e&&t.push(e)}if(s=c.closest(".product-item-caption"),s){let e=s.querySelector(".product-form__item--quantity");e&&t.push(e)}if(s=c.closest(".productgrid--item"),s){let e=s.querySelector(".productitem--actions");e&&t.push(e)}if(s=c.closest(".product-single__info-wrapper"),s){let e=s.querySelector(".product-form__quantity-submit");e&&t.push(e);let o=s.querySelector(".shopify-payment-button");o&&t.push(o)}if(s=c.closest(".qv-content"),s){let e=s.querySelector(".qv-add-button");e&&t.push(e);let o=s.querySelector(".qv-quantity");o&&t.push(o)}if(s=c.closest(".product-card"),s){let e=s.querySelector(".btn-grid-cart");e&&t.push(e)}if(s=c.closest(".product_single_detail_section"),s){let e=s.querySelector("#AddToCart");e&&t.push(e);let o=s.querySelector(".shopify-payment-button__button");o&&t.push(o);let r=s.querySelector(".quantity-label");r&&t.push(r);let c=s.querySelector(".quantity_width");c&&t.push(c)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector("#AddToCart--product-template");e&&t.push(e);let o=s.querySelector(".shopify-payment-button");o&&t.push(o)}if(s=c.closest('form[action="/cart/add"]'),s){let e=s.querySelector(".product-page-info__field");e&&t.push(e);let o=s.querySelector(".product-page-info__button-add-to-cart");o&&t.push(o);let r=s.querySelector(".js-store-lists-add-wishlist");r&&t.push(r);let c=s.querySelector(".product-collection__control");c&&t.push(c)}if(s=c.closest(".grid-item__content"),s){let e=s.querySelector(".quick-add-btn");if(e&&t.push(e),window.Shopify&&"sparklinbluewholesale.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".grid-product__price--original"),o=s.querySelector(".grid-product__price--savings"),r=s.querySelector(".quick-product__btn");e&&t.push(e),o&&t.push(o),r&&t.push(r)}}if(s=c.closest(".purchase-box"),s){let e=s.querySelector("#AddToCart-product-template");e&&e.remove();let t=s.querySelector(".quantity-product-template");t&&t.remove()}if(s=c.closest(".item-row"),s){let e=s.querySelector(".add-to-cart");e&&t.push(e)}if(s=c.closest(".product-thumbnail__price"),s){let e=s.querySelectorAll(".bsscommerce-ltsp-message");e.length>1&&e.forEach((function(e,o){o>0&&t.push(e)}))}if(s=c.closest(".product-details"),s){let e=s.querySelector(".product__add-to-cart-button");e&&t.push(e);let r=s.querySelector(".product-form__quantity-box-wrapper");if(r&&t.push(r),"sitchish.myshopify.com"===o){let e=s.querySelector("#product-price");e&&(e.id="");let o=s.querySelector("[data-product-price]");o&&o.removeAttribute("data-product-price");let r=s.querySelector(".form-actions");r&&t.push(r)}let c=s.querySelector(".product-quantity");if(c&&t.push(c),"lavabis-hygiene.myshopify.com"===o){let e=s.querySelector(".price-preview.price");e&&(e.id="")}}if(s=c.closest(".product-details"),s){let e=s.querySelector("#add-to-cart-product-template");e&&t.push(e);let o=s.querySelector(".shopify-payment-button__button");o&&o.remove();let r=s.querySelector(".quantity");r&&t.push(r)}if(s=c.closest(".gryffeditor"),s){let e=s.querySelector(".gf_product-quantity");e&&e.parentElement.remove()}if(s=c.closest("#ProductSection-product-template"),s){let e=s.querySelector(".cbb
7187-frequently-bought-add-button");e&&e.remove();let t=s.querySelector(".cbb-frequently-bought-form");t&&t.remove()}if(s=c.closest(".product__info-wrapper"),s){let e=s.querySelector(".product-form__quantity");e&&e.remove();let t=s.querySelector(".product-form__buttons");t&&t.remove()}if(s=c.closest(".product-form"),s){let e=s.querySelector(".product-form__payment-container");e&&e.remove();let o=s.querySelector("#price");if(o&&o.classList.remove("product-price"),window.Shopify&&"wilkens-gmbh.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".unit-price");e&&t.push(e)}}if(s=c.closest(".product-details"),s){let e=s.querySelector(".button-common");e&&e.remove()}if(s=c.closest(".caption"),s){let e=s.querySelector(".button.btn-cart");e&&t.push(e)}if(s=c.closest(".product-info-main"),s){let e=s.querySelectorAll(".form-group")[1];e&&t.push(e);let o=s.querySelector(".price");o&&(o.id="")}if(s=c.closest(".form_buy_sticky"),s){let e=s.querySelector(".form-group .btn.button.button-cart");e&&t.push(e);let o=s.querySelector(".form-group input#Quantity");o&&t.push(o)}if(s=c.closest(".product-template__container"),s){let e=s.querySelector(".store-availability-container");e&&e.remove()}if(s=c.closest(".product-form--container"),s){let e=s.querySelector(".product-form--options");e&&t.push(e);let o=s.querySelector(".product-form--smart-payment-buttons");o&&t.push(o)}if(s=c.closest(".product--price-wrapper"),s){let e=s.querySelector('.product--from[data-item="accent-text"]');e&&t.push(e)}if(s=c.closest("#zpproductselectorfull1-wrapper"),s){let e=s.querySelector(".zpa-button-alignment-center");e&&t.push(e);let o=s.querySelector(".zpa-quantity-block");o&&t.push(o)}if(s=c.closest(".zpa-multi-product-buy-box"),s){let e=s.querySelector(".zpa-button-alignment-center");e&&t.push(e)}if(s=c.closest(".product-block__inner"),s){let e=s.querySelector('form[action="/cart/add"].product-form.product-form--mini');if(e&&t.push(e),window.Shopify&&"wilkens-gmbh.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".unit-price");e&&t.push(e)}}if(s=c.closest(".was-price.theme-money"),s&&t.push(s),s=c.closest(".box_product_page"),s){let e=s.querySelector(".product-options-bottom");e&&t.push(e)}if(s=c.closest(".product-default"),s){let e=s.querySelector(".add-links.clearfix");e&&t.push(e)}if(s=c.closest(".grid__item.medium-up--three-eighths"),s){let e=s.querySelector('form[action="/cart/add"].shopify-product-form');e&&t.push(e)}if(s=c.closest(".indiv-product"),s){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e)}if(s=c.closest('form.product-form[action="/cart/add"]'),s){let e=s.querySelector(".sf__pcard-image .sf__pcard-quick-add");e&&t.push(e);let o=s.querySelector(".main-product__block-buy_buttons");o&&t.push(o)}if(s=c.closest(".product-grid-item.woodmart-hover-base"),s){let e=s.querySelector(".fade-in-block");e&&t.push(e);let o=s.querySelector(".product-compare-button");o&&t.push(o)}if(s=c.closest(".grid__item"),s){if("www-bonmatch-com.myshopify.com"===o){let e=s.querySelector(".selector-wrapper.bcpo-file"),o=s.querySelector(".uploadkit.uploadkit-injected"),r=s.querySelector(".uploadkit-form");e&&t.push(e),o&&r&&r.appendChild(o)}let e=s.querySelector(".product__submit__buttons");e&&t.push(e);let r=s.querySelector(".products > .product-detail > .product-button"),c=s.querySelector(".products > .product-container > .product-button > .quick-view-text");r&&t.push(r),c&&t.push(c);let l=s.querySelector("button#AddToCart"),u=s.querySelector('[data-shopify="payment-button"].shopify-payment-button');if(l&&t.push(l),u&&t.push(u),"tienda-suca-bikes.myshopify.com"===o){let e=s.querySelector(".product__unit-price.product__unit-price--spacing"),t=s.querySelector(".c_p-quantity-input-parent"),o=s.querySelector(".masIva"),r=s.querySelector(".c_col-sw-btn");e&&e.classList.remove("hide"),t&&t.remove(),o&&o.remove(),r&&r.remove()}if("youchique-4183.myshopify.com"===o){let e=s.querySelector(".card-information__button");e&&t.push(e);let o=s.querySelector(".swym-wishlist-button-bar");o&&t.push(o)}if("stelladetailsb2b.myshopify.com"===o){let e=s.querySelector(".bss-b2b-product-vat");e&&t.push(e);let o=s.querySelector("#bss-b2b-tax-inc-excl");o&&t.push(o);let r=s.querySelector(".bss-b2b-collection-item-vat");r&&t.push(r);let c=s.querySelector(".price__regular");if(c){c.classList.remove("price__regular");let e=s.querySelector(".price-item--regular");e&&e.classList.remove("price-item--regular")}let l=s.querySelector(".price__sale");l&&t.push(l)}let i=s.querySelector("quick-view-drawer");
7187i&&t.push(i);let p=s.querySelector("add-to-cart");p&&t.push(p)}if(s=c.closest(".shop-the-look__product-info"),s){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e)}if(s=c.closest(".popover.popover--quick-buy"),s){let e=s.querySelector(".product-form__buy-buttons");e&&t.push(e)}if(s=c.closest(".product__section.product-template .product__section-content .product__section-details"),s){let e=s.querySelector('form[action="/cart/add"] input#addToCart');e&&t.push(e)}if(s=c.closest(".product-item__info-inner"),s){let e=s.querySelector(".unit-price-measurement");e&&t.push(e)}if(s=c.closest(".product-form__info-item"),s){let e=s.querySelector(".unit-price-measurement");e&&t.push(e)}if(s=c.closest("div[data-product-blocks]"),s){let e=s.querySelector(".payment-buttons");e&&t.push(e);let o=s.querySelector(".spt-wishlist-button__wrapper");o&&t.push(o)}if(s=c.closest(".sf__pcard-content.text-center"),s){let e=s.querySelector("button.add-to-cart.sf__btn");e&&t.push(e)}if(s=c.closest(".product-details.section"),s){let e=s.querySelector('form#AddToCartForm.product-content-inner[action="/cart/add"]');e&&t.push(e)}if(s=c.closest(".search-item .product-item, .product-grid-row .product-item"),s){let e=s.querySelector(".product-img .action-btn");e&&t.push(e)}if(s=c.closest(".product-collection__content,.product-page-info"),s){let e=s.querySelector(".js-product-button-add-to-cart");e&&t.push(e)}if(s=c.closest(".details-info"),s){let e=s.querySelector(".group-button .add-to-cart");e&&t.push(e)}if(s=c.closest(".product-collection"),s){let e=s.querySelector(".group-button .add-to-cart");e&&t.push(e)}let u=c.closest("[data-js-product-price]");if(u&&u.setAttribute("bss-ltsp-active",""),s=c.closest(".product__info-container"),s){let e=s.querySelector('.form[data-type="add-to-cart-form"] > .shopify-payment-button[data-shopify="payment-button"]');e&&t.push(e)}if(s=c.closest(".products"),s){let e=s.querySelector(".product-container > .product-button > .variants > .add-cart-btn"),o=s.querySelector(".product-container > .product-button > .quick-view-text");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".dt-sc-tabs-container"),s){let e=s.querySelector(".dt-sc-tabs-content > .tab2 > .owl-stage-outer > .owl-stage > .owl-item > .item-row > .products > .product-container > .product-button > .variants > .add-cart-btn");e&&t.push(e)}if(s=c.closest(".wrapper-container"),s){let e=s.querySelector(".recently-viewed-products > .products-grid > .grid__item > .product-item > .products > .product-bottom > .price-box > .regular-product > .special-price"),o=s.querySelector(".recently-viewed-products > .products-grid > .grid__item > .product-item > .products > .product-bottom > .action > .variants > .add-to-cart-btn");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".featured__collection-product.product-index"),s){let e=s.querySelector(".product_listing_options");e&&t.push(e)}if(s=c.closest(".product-index"),s){let e=s.querySelector(".product_listing_options");e&&t.push(e)}if(s=c.closest(".product__section-details"),s){let e=s.querySelector(".product__section-details__inner
7187--product_buttons");e&&t.push(e)}if(s=c.closest(".product-page--cart-form-block"),s){let e=s.querySelector(".add-to-cart");e&&t.push(e)}if(s=c.closest(".price__sale"),s){let e=s.querySelector(".price-item--regular");e&&t.push(e)}if(s=c.closest(".product-item-v1"),s){let e=s.querySelector(".price-old"),o=s.querySelector(".product-icon-action");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".detail-info > .relative"),s){let e=s.querySelector("#AddToCartForm > .btn-action"),o=s.querySelector('div.shopify-payment-button[data-shopify="payment-button"]'),r=s.querySelector(".product-price > del");e&&t.push(e),o&&t.push(o),r&&t.push(r)}if(s=c.closest(".product-details"),s){let e=s.querySelector(".product-block--form>.product-form--regular");e&&"eurosafetysystems.myshopify.com"!==o&&e.remove();let t=s.querySelector(".button-cart");t&&t.remove()}if("annabellenoeldesigns-com.myshopify.com"==o&&(s=c.closest(".product-block-list__item .card__section"),s)){let e=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE .multivariants_block_qty_box");e&&e.remove();let t=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE .multivariants_block_last_holder .multivariants_block_prc_holder");t&&t.remove();let o=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE #multivariants_add_to_cart_button_h");o&&o.remove();let r=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE #multivariants_block_subtotal_h");r&&r.remove()}if("fedua-b2b.myshopify.com"==o){if(s=c.closest(".gp-product-detail .container"),s){let e=s.querySelector(".gp-product-main-button button[type='submit']");e&&e.remove();let t=s.querySelector(".cbb-also-bought-add-to-cart-button");t&&t.remove();let o=s.querySelector(".cbb-also-bought-product-price-container");o&&o.remove()}if(s=c.closest(".gp-product-widget .product-card-grid"),s){let e=s.querySelector(".product-buttons .btn-quick-view ");e&&e.remove()}}if(s=c.closest(".product--price-container"),s){let e=s.querySelectorAll(".product--price-wrapper > a");e.length&&e.forEach(e=>e.remove())}if("linis-bites-b2b.myshopify.com"==window.location.host&&c.querySelector("[bss-customize-ltsp-message]")){let e=c.closest(".price .price__container");if(e){let o=e.querySelector(".unit-price.caption");o&&t.push(o)}}if(s=c.closest(".product-price--wrapper"),s){let e=s.querySelector(".product-price--compare");e&&e.remove()}if(s=c.closest(".price__pricing-group"),s){let e=s.querySelector(".price-item.price-item--regular[data-regular-price]");e&&(e.classList.remove("price-item"),e.classList.remove("price-item--regular"))}if(l.forEach((function(e){c.closest(e)&&t.push(c.closest(e))})),s=c.closest(".product-page-info"),s){let e=s.querySelector("[data-js-footbar-product-limit]");e&&t.push(e)}if(s=c.closest(".product-wrap"),s){let e=s.querySelector(".purchase-details button.button--add-to-cart"),o=s.querySelector(".product-action");if(e&&t.push(e),o&&t.push(o),window.Shopify&&"dermafirmusa.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".price.sale");e&&t.push(e)}}if(s=c.closest(".seven.columns.omega"),s){let e=s.querySelector(".purchase-details__buttons button.shopify-payment-button__button ");e&&t.push(e)}if(s=c.closest("#collectionPr"),s){let e=s.querySelectorAll("#PageContainer .collection .btn.add-to-cart");e.length&&e.forEach(e=>{t.push(e)})}if(s=c.closest(".grid.product-single"),s){let e=s.querySelector('#PageContainer .wrap-product-info button[type="submit"].btn.btn1.pr_btn.addtocart_js');e&&t.push(e)}if(s=c.closest(".gryffeditor"),s){let e=s.querySelector(".module-wrap .gf_add-to-cart.product-form-product-template");e&&t.push(e)}if(s=c.closest(".product-single .product-single__meta"),s){let e=s.querySelector('.product-form__item button[name="add"].product-form__cart-submit');e&&t.push(e)}if(s=c.closest(".shopify-product-form"),s){let e=s.querySelector("#product-price");e&&t.push(e)}if(s=c.closest(".product-item-price"),s){let e=s.querySelector(".money");e&&t.push(e)}if(s=c.closest('main#main[role="main"]'),s){let e=s.querySelector("div.atc-bar");e&&t.push(e)}if(s=c.closest("#CartDrawer"),s){let e=s.querySelector("#CartDrawer-CartItems .cart-item .cart-item__details dl .product-option");e&&t.push(e);let o=s.querySelector("#CartDrawer-CartItems .cart-item .cart-item__totals .cart-item__price-wrapper");o&&t.push(o);let r=s.querySelector("#CartDrawer-CartItems .cart-item .cart-item__quantity");r&&t.push(r);let c=s.querySelector(".drawer__footer");c&&t.push(c)}if(s=c.closest("#main-cart-items"),s){let e=s.querySelector(".cart-item .cart-item__details dl .product-option");e&&t.push(e);let o=s.querySelector(".cart-item .cart-item__quantity .cart-item__quantity-wrapper");o&&t.push(o);let r=s.querySelector(".cart-item .cart-item__totals.right.small-hide .cart-item__price-wrapper");r&&t.push(r)}if(s=c.closest("#main-cart-footer"),s){let e=s.querySelector(".cart__footer");e&&t.push(e)}if(s=c.closest(".product-single__meta"),s&&window.Shopify&&("asiadirectfurniture.mysh
7187opify.com"===window.Shopify.shop||"pure-vision-ch.myshopify.com"===window.Shopify.shop)){let e=s.querySelector(".product__price[data-product-price]");e&&t.push(e)}if(s=c.closest(".product-inner.pr"),s){let e=s.querySelector(".pr_atc.pr_qty_atc > a.pr_atc_.js_addtc");e&&t.push(e)}if(s=c.closest("#shopify-section-pr_summary"),s){let e=s.querySelector("p.price_range, .price.price_varies");e&&t.push(e)}if(s=c.closest(".grid__item"),s){let e=s.querySelector(".product__form-container"),o=s.querySelector(".product__description");e&&(t.push(e),o.style.width="100%")}if(s=c.closest(".featured-product__content-wrapper"),s){let e=s.querySelector(".product-form");e&&t.push(e)}if(s=c.closest(".card__price"),s&&"exosomes-inc.myshopify.com"===o&&(s.style.textAlign="center"),s=c.closest(".Product__InfoWrapper > .Product__Info "),s){let e=s.querySelector('.ProductForm__BuyButtons > button[type="submit"].ProductForm__AddToCart');e&&t.push(e);let o=s.querySelector(".ProductForm__AddToCart");o&&t.push(o)}if(s=c.closest(".product-grid__container .product-grid__content"),s){let e=s.querySelector(".product-single__form .product__quantity");e&&t.push(e);let o=s.querySelector(".add-to-cart");o&&t.push(o);let r=s.querySelector(".product__price--compare");if(r&&t.push(r),window.Shopify&&"sparklinbluewholesale.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".product__price-savings");e&&t.push(e)}}if(s=c.closest(".product-grid-item"),s){let e=s.querySelector(".h1.medium--left");e&&"envogueusa.com"==window.location.host&&t.push(e)}if(s=c.closest("#productPrice-product-template"),s){let e=s.querySelector("small");e&&"envogueusa.com"==window.location.host&&t.push(e),s.appendChild(c)}if(s=c.closest(".product-grid-item"),s){let e=s.querySelector(".form-grid-btn");e&&"mamiereglissepro.myshopify.com"===o&&t.push(e)}if(s=c.closest("#cont-form"),s){let e=s.querySelector(".so-price");e&&t.push(e);let r=s.querySelector("#addToCart");r&&"mamiereglissepro.myshopify.com"===o&&t.push(r)}if(s=c.closest(".template-product"),s){let e=s.querySelector('button[name="add"]#addToCartBis, button[name="add"]#addToCart2');e&&t.push(e)}if(s=c.closest(".grid-product__content"),s){let e=s.querySelector(".quick-product__btn");!e||"wood-hill-boards.myshopify.com"!==o&&"wood-hill-boards-usa.myshopify.com"!==o&&"bundlecomph.myshopify.com"!==o||t.push(e)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector(".product__quantity");!e||"wood-hill-boards.myshopify.com"!==o&&"wood-hill-boards-usa.myshopify.com"!==o||t.push(e)}if(s=c.closest(".product-block-area"),s){let e=s.querySelector("#addToCartButton");e&&"wanderlustvision.myshopify.com"===o&&t.push(e)}if(s=c.closest(".product-single__meta--wrapper .product-single__meta"),s){let e=s.querySelector(".price-container.text-money"),o=s.querySelector('button[name="add"].btn--add-to-cart');e&&t.push(e),o&&t.push(o)}if(s=c.closest(".product-single__metas"),s){let e=s.querySelector(".product-single__buttons .js-quantity-selector.product-quantity"),o=s.querySelector(".product-single__buttons button.btn--add-to-cart");e&&t.push(e),o&&t.push(o)}if("dollie-wholesale.myshopify.com"===o&&(s=c.closest(".product-card"),s)){let e=s.querySelector(".product-card__buttons .product-card__quickview"),o=s.querySelector(".product-card__buttons .product-card__form"),r=s.querySelector(".product-card__buttons .button-wishlist"),c=s.querySelector(".wpb-variants-swatch");e&&t.push(e),o&&t.push(o),r&&t.push(r),c&&t.push(c)}if("obsequ.myshopify.com"===o&&(s=c.closest(".product-meta"),s)){let e=s.querySelector(".price-list[data-product-price-list]");e&&e.remove()}if(s=c.closest(".sticky-cart"),s){let e=s.querySelector(".product-form__buttons");e&&t.push(e)}if("wholesale-rubypearlco.myshopify.com"!==o&&"coventa-demo.myshopify.com"!==o&&(s=c.closest(".productitem--info")||c.closest(".product-pricing"),s)){let e=s.querySelector(".price");e&&t.push(e)}if(s=c.closest(".productitem--info"),s){let e=s.querySelector(".price__compare-at.visible");e&&"coventa-demo.myshopify.com"===o&&t.push(e)}if(s=c.closest(".product-block-list"),s&&window.Shopify&&"axiom-wholesale-parts.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".price");e&&e.classList.remove("price")}if(s=c.closest(".product-layout"),s){let e=s.querySelector(".action-links");e&&t.push(e)}if(s=c.closest(".product-single__meta"),s){let e=s.querySelector(".product-block--price");e&&"comphycompany.myshopify.com"===o&&t.push(e)}if(s=c.closest(".product-details, .modal_price"),s){let e=s.querySelector(".current_price, .price__container");e&&t.push(e)}if("wholesale-rubypearlco.myshopify.com"===window.Shopify.shop&&(s=c.closest(".productitem__container .productitem--info, .product-details .product-pricing"),s)){let e=s.querySelectorAll(".price__compare-at--single, .price__compare-at, .price__current--max");
7187e.length&&e.forEach(e=>e.remove())}if("kerriecapelliusa-com.myshopify.com"===window.Shopify.shop&&(s=c.closest(".product-detail.quickbuy-content.spaced-row.container"),s)){let e=s.querySelectorAll(".product-form.theme-init .variant-visibility-area");e.length&&e.forEach(e=>e.remove())}if(s=c.closest(".widget_if_pr, .product-inner, .al_center.fl_center, .widget_if_pr"),s){let e=s.querySelectorAll(".product-price-pr-search, .hover_button, .nt_add_w, .nt_add_cp, .sticky_atc_btn.variations_form, .transcy-money");e.length&&e.forEach(e=>e.remove())}if(s=c.closest(".ProductItem__Wrapper, .ProductForm"),s){let e=s.querySelector(".ProductItem__PriceList, .ProductForm__QuantitySelector");e&&"sirenwireless.myshopify.com"!==o&&e.remove();let r=s.querySelector(".ProductFormWrapper");r&&"sirenwireless.myshopify.com"===o&&t.push(r)}if("butterfly-health-and-wellness.myshopify.com"===window.Shopify.shop){if(s=c.closest(".item-content"),s){let e=s.querySelector('.module-wrap[data-label="(P) Cart Button"] button.gf_add-to-cart');e&&e.remove()}if(s=c.closest(".gf_product-desc"),s){let e=s.querySelector("h4");e&&(e.remove(),c.style.display="none")}if(s=c.closest(".gf_column[data-id]"),s){let e=s.querySelectorAll('.elementor-section[data-element_type="section"] .elementor-text-editor strong, .gf_product-desc h4, .gf_product-desc strong');if(e)for(let t of e)t.remove()}}if(s=c.closest(".product-block"),s){let e=s.querySelector(".quickbuy-toggle");e&&t.push(e)}if(s=c.closest(".productView-details"),s){let e=s.querySelector(".productView-buttons"),r=s.querySelector(".quantity_selector"),c=s.querySelector(".productView-subtotal");e&&t.push(e),r&&t.push(r),c&&t.push(c),"remote-king-au.myshopify.com"===o&&s.querySelectorAll(".product-customInformation").forEach(e=>e.remove())}if(s=c.closest(".product__content"),s&&"campomarzio-trade-uk.myshopify.com"===o){let e=s.querySelector(".product__text"),o=s.querySelector(".select__fieldset"),r=s.querySelector(".product__submit");e&&t.push(e),o&&t.push(o),r&&t.push(r)}if(s=c.closest(".product-card__price, .product-single__meta-list"),s){let e=s.querySelector(".product-single__price, .money-product");e&&e.remove()}if("ens-nutrition-3419.myshopify.com"===o&&(s=c.closest(".card__content"),s)){let e=s.querySelector(".button.quick-add__submit");e&&e.remove()}if("b2b-nandu.myshopify.com"===o){if(s=c.closest(".grid-product__content"),s){let e=s.querySelector(".grid-product__meta .grid-product__price ");e&&e.remove()}let e=c.closest(".product-single__meta");if(e){let t=e.querySelector(".product__price.product__price--compare"),o=e.querySelector(".product__price.on-sale"),r=e.querySelector(".product__price-savings");t&&o&&r&&(t.remove(),o.remove(),r.remove())}}if("impjarwholesale.myshopify.com"===o){if(s=c.closest(".tp-product-content"),s){let e=s.querySelector("button#AddToCart"),o=s.querySelector(".tp-product-singe-action .tp-product-quantity");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".grid-item"),s){let e=s.querySelector('form[action="/cart/add"]');e&&t.push(e)}}if("b2b-dbodhi-singapore.myshopify.com"===o&&(s=c.closest("del"),s&&t.push(c),s=c.closest(".product-information--inner"),s)){const e=s.querySelector(".product-form");e&&t.push(e)}if(s=c.closest(".lh-details-product"),s){if("ags2020.myshopify.com"===o){let e=s.querySelector(".lh-price");e&&e.classList.remove("lh-price")}let e=s.querySelector(".lh-add_to_cart");e&&t.push(e);let r=s.querySelector(".lh-buy-now");r&&t.push(r);let c=s.querySelector(".lh-compare-at-price");c&&t.push(c)}if(s=c.closest(".lh-collection-item"),s){if("ags2020.myshopify.com"===o){let e=s.querySelector(".lh-price");e&&e.classList.remove("lh-price")}let e=s.querySelector(".lh-product-compare-price");e&&t.push(e)}if(s=c.closest(".ProductMeta, .ProductItem__Info"),s){let e=s.querySelectorAll(".Price");e&&e.forEach(e=>e.remove())}}t.forEach((function(e){e.remove()}))}}(e),function(e){e.ltsp.removeElementByLTSPWrapper=function(){let e=document.getElementsByClassName("bss-ltsp-price-wrapper"),t=[];for(let o=0;o<e.length;o++){let r=e[o],c=[],l=r.closest(".product-parent");if(l){let e=l.querySelector("form .tt-btn-addtocart");e&&t.push(e);let o=l.querySelector(".tt-btn-quickview");o&&t.push(o)}if(l=r.closest(".product-single__meta"),l=r.closest(".tt-product-single-info"),l){let e=l.querySelector("form .btn-addtocart");e&&t.push(e);let o=l.querySelector('form[action*="/cart/add"]');o&&t.push(o)}if(l=r.closest(".product_section"),l){let e=l.querySelector("form .add_to_cart, form .b2b-ajax-submit");e&&t.push(e);let o=l.querySelector(".sale.savings");o&&t.push(o)}if(l=r.closest(".quick-shop-style--inline"),l){let e=l.querySelector("form .add_to_cart, form .b2b-ajax-submit");e&&t.push(e)}if(l=r.closest(".product-details"),l){let e=l.querySelector("small em");e&&t.push(e)}if(l=r.closest(".gt_product-body"),l){let e=l.querySelector("form .gt_product-addtocart");e&&t.push(e);let o=l.querySelector(".gt_product-saved");o&&t.push(o);let r=l.querySelector(".gt_product-price--compare");r&&t.push(r)}if(l=r.closest(".gt_product_content"),l){let e=l.querySelector("form .gt_product-addtocart");e&&t.push(e);let o=l.querySelector(".gt_product-price--compare");o&&t.push(o)}if(l=r.closest(".gt-single-product"),l){let e=l.querySelector("div.gt_method_addToCart");e&&t.push(e);let o=l.querySelector(".gt_product-price--compare");o&&t.push(o)}if(l=r.closest("#cont-form"),l){let e=l.querySelector("form .cont-add-btns");e&&t.push(e)}if(l=r.closest(".theiaStickySidebar"),l){let e=l.querySelector(".variations_button");e&&t.push(e)}if(l=r.closest(".product-submit"),l){let e=l.querySelector(".payment-buttons-container");e&&t.push(e)}if(l=r.closest(".productitem"),l){let e=l.querySelector(".productitem--action");e&&t.push(e)}if(l=r.closest(".product--outer"),l){let e=l.querySelector(".product-form--atc");e&&t.push(e),e=l.querySelector(".shopify-payment-button"),e&&t.push(e)}if(l=r.closest(".product-grouped"),l){let e=l.querySelector(".product_top form#add-to-cart-form");e&&t.push(e)}if(l=r.closest(".product-item"),l){let e=l.querySelector(".product-top .product-des .action");e&&t.push(e)}if(l=r.closest(".product-item"),l){let e=l.querySelector('.product-item__action-button[data-action="add-to-cart"]');e&&t.push(e)}if(l=r.closest(".grid__item.grid-product"),l){let e=l.querySelector('form[action="/cart/add"] input[type="submit"]');e&&t.push(e);let o=l.querySelector(".grid-product__tag");o&&t.push(o);let r=l.querySelector(".visually-hidden");r&&t.push(r)}if(l=r.closest(".product-info"),l){let e=l.querySelector('form[action="/cart/add"] .payment-buttons');e&&t.push(e);let o=l.querySelector(".variant-wrapper.variant-wrapper--button");o&&t.push(o)}if(l=r.closest("#product-right"),l){let e=l.querySelector(".was");e&&t.push(e);let o=l.querySelector(".product-add");o&&t.push(o)}if(l=r.closest(".was"),l&&t.push(l),l=r.closest(".product-single__meta"),l){let e=l.querySelector(".pf__actions");e&&t.push(e)}if(l=r.closest("#AddToCartForm-product-template"),l){let e=l.querySelector("#CartButtons-product-template");e&&t.push(e)}if(l=r.closest(".Product__Info"),l){let e=l.querySelector(".ProductMeta__PriceList");e&&t.push(e)}if(l=r.closest(".grid-item"),l){let e=l.querySelector("#addToCart-product-template");e&&t.push(e);let o=l.querySelector(".payment-buttons");o&&t.push(o)}c.forEach((function(e){r.closest(e)&&t.push(r.closest(e))}))}t.forEach((function(e){e.remove()}))}}(e),e.ltsp.removePattern=function(){e.ltsp.removeElementByLTSPMessage(),e.ltsp.removeElementByLTSPWrapper()},e.ltsp.insertBeforeAddToCart=function(){let t=document.querySelectorAll(".bsscommerce-ltsp-message[data-ltsp-cart-message]");for(let o=0;o<t.length;o++){let r=t[o],c=r.getAttribute("data-ltsp-cart-message");r.removeAttribute("data-ltsp-cart-message");let l=[".main-content .product-single__meta",".main-content .grid__item",".main-content .grid-item",".main-content .product__content.product__content--template.product__content--information","main#MainContent .product__info-container",".container#product-product .product-info-main",'main#main section[data-section-id="collection-template"] .product-item',".product-area__details.product-detail .product-detail__form"];for(let t=0;t<l.length;t++){let o=r.closest(l[t]);if(o&&!o.querySelector(".bsscommerce-ltsp-message.hide-message")){let t=
7187o.querySelector('form[action="/cart/add"]');if(t){let o=e.helperLTSP.createHidePriceMessageSpan(c);t.before(o)}}}let s=[[".product-layout .item .item-inner .caption",".button.btn-cart"],['main#main section[data-section-id="product-template"] .card__section',".product-form__payment-container"],[".main#MainContent .content.product",'form[action="/cart/add"] .offers']];for(let t=0;t<s.length;t++){let o=r.closest(s[t][0]);if(o&&!o.querySelector(".bsscommerce-ltsp-message.hide-message")){let r=o.querySelector(s[t][1]);if(r){let t=e.helperLTSP.createHidePriceMessageSpan(c);r.before(t)}}}if(window.Shopify&&"airbesafe.myshopify.com"===window.Shopify.shop){let t=[[".shopify-section--main-collection .product-list__inner .product-item ",".product-item__info  .product-item-meta__price-list-container .price-list"],[".shopify-section--main-product .product--thumbnails-bottom .product__info",".product-meta__price-list-container"],["product-item.product-item .product-item__info",".product-item-meta__price-list-container"]];for(let o=0;o<t.length;o++){let l=r.closest(t[o][0]);if(l&&!l.querySelector(".bsscommerce-ltsp-message.hide-message")){let r=l.querySelector(t[o][1]);if(r){let t=e.helperLTSP.createHidePriceMessageSpan(c);r.after(t)}}}}}}}function c(e){!function(e){e.helperLTSP={},e.helperLTSP.createHidePriceMessageSpan=function(e){let t=document.createElement("span");return t.classList.add("bsscommerce-ltsp-message"),t.classList.add("hide-message"),t.style.fontSize="16px",t.style.fontWeight="normal",t.style.color="initial",t.style.textTransform="none",t.style.visibility="visible",t.innerHTML=e,t},e.helperLTSP.onLoadMore=function(e){const t=document.querySelector([".sf__product-listing[data-product-container] > div",'.row[data-js-collection-replace="products"]',".product-list-container .product-list.use-infinite-scroll","#collection-product .product-container",".container #col-main"].join(","));if(t){new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&e()}))})).observe(t,{childList:!0})}}}(e)}function l(){const e={};c(e),r(e),function(e){e.ptvp={},e.ptvp.addPasscodeForm=function(){let e=document.querySelector('form[action*="/cart/add"]'),t=document.getElementsByClassName("bss-passcode-wrapper-tag"),o=document.getElementsByClassName("bsscommerce-password-form"),r=document.querySelector(".toggle-passcode-input"),c=null;if(o.length&&(c=o[0],c.style.display="block",r&&r.addEventListener("click",(function(e){let t=document.getElementById("bsscommerce-password");"password"===t.type?(t.type="text",e.target.closest(".toggle-passcode-input").style.fill="#5C5F62"):(t.type="password",e.target.closest(".toggle-passcode-input").style.fill="#BABEC3")}))),t.length&&e&&o.length){e.before(c);let o=document.getElementById("bsscommerce-password"),r=new FormData;r.append(o.name,o.value),document.getElementById("bsscommerce-password-submit").style.padding="12px 16px",document.getElementById("bsscommerce-password-submit").style.display="block";let l=new XMLHttpRequest;l.open("post","/cart/update.js"),l.send(r);let s=document.getElementsByClassName("bsscommerce-ltap-password");if(s.length)for(let e=0;e<s.length;e++)s[e].addEventListener("submit",(function(e){e.preventDefault();let t=this;if(t.length)for(let e=0;e<t.length;e++)if("bsscommerce-password"==t[e].id){let o=t[e];if(o.addEventListener("input",(function(){o.classList.remove("input--error")})),o.value)if(""!=o.value){let e=new FormData;e.append(o.name,o.value);let t=new XMLHttpRequest;t.onreadystatechange=function(){4==t.readyState&&200==t.status&&location.reload()},t.open("post","/cart/update.js"),t.send(e)}else o.classList.add("input--error")}}));for(let e=0;e<t.length;e++)t[e].remove()}}}(e),e.ptvp.addPasscodeForm(),document.querySelectorAll(".quick-view-btn").forEach((function(t){t.addEventListener("click",(function(){setTimeout((function(){e.ptvp.addPasscodeForm()}),1e3)}))})),function e(){document.querySelectorAll(".advanced-filter a").forEach((function(t){t.addEventListener("click",(function(){setTimeout((function(){let t=document.getElementsByClassName("bsscommerce-ltsp-message");for(let e=0;e<t.length;e++){let o=t[e].closest(".item-row");
7187if(o){let e=o.querySelector(".add-to-cart");e&&e.remove()}}e()}),1200)}))}))}(),e.ltsp.quickView(),e.ltsp.insertBeforeAddToCart(),e.ltsp.removePattern(),e.helperLTSP.onLoadMore(e.ltsp.removePattern),setTimeout((function(){e.ltsp.removePattern()}),2500);if(window.Shopify&&-1!==["showroom1-ducanero.myshopify.com","sparklinbluewholesale.myshopify.com","youchique-4183.myshopify.com","wilkens-gmbh.myshopify.com","friends-forever-pets.myshopify.com"].indexOf(window.Shopify.shop)&&(window.onscroll=function(e,t){let o;return function(...r){o&&clearTimeout(o),o=setTimeout(()=>{e(...r),o=null},t)}}((function(){let t=setInterval((function(){e.ltsp.removePattern()}),200);setTimeout((function(){clearInterval(t)}),3e3)}),500)),"amoreo.eu"===window.location.host){let t=setInterval((function(){e.ltsp.removePattern()}),200);setTimeout((function(){clearInterval(t)}),3e3)}let t=document.querySelector(".infinite-scrolling-homepage a.btn");"airbesafe.myshopify.com"===window.location.host&&setTimeout((function(){e.ltsp.insertBeforeAddToCart()}),3e3),t&&(t.onclick=function(){setTimeout((function(){e.ltsp.removePattern()}),1e3)});let o=document.querySelectorAll("#shopify-section-product-recommendations, .product-modal-wrapper");var l,s,u;(o.length&&o.forEach((function(t){t.addEventListener("DOMSubtreeModified",(function(){e.ltsp.removePattern()}))})),"valleys-group.myshopify.com"===window.location.host)&&(l=function(){e.ltsp.removePattern();
7187let t=document.querySelectorAll(".slideout__drawer-right, .sidebar_leftside_wapper, .filtering__results");t.length&&t.forEach((function(e){e.addEventListener("click",(function(){setTimeout(()=>{l()},1700)}))}))});"b.salonpremium.com"===window.location.host&&(s=function(){e.ltsp.removePattern();let t=document.querySelectorAll(".pagination");t.length&&t.forEach((function(e){e.addEventListener("click",(function(){setTimeout(()=>{s()},3e3)}))}))});"www.internationalbeauty.ca"===window.location.host&&(u=function(){let t=document.querySelector('[id^="RecentlyViewed"]');new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&(e.ltsp.removePattern(),document.querySelectorAll(".btn--icon.quick-product__btn").forEach((function(e){e.addEventListener("click",(function(){setTimeout((function(){let e=document.getElementsByClassName("bsscommerce-ltsp-message");for(let t=0;t<e.length;t++){let o=e[t].closest(".product-grid__content");if(o){let e=o.querySelector(".payment-buttons");e&&e.remove()}}u()}),2e3)}))})))}))})).observe(t,{childList:!0})});if("bluebasketb2b.myshopify.com"===window.Shopify.shop){let t=document.querySelector("#CartDrawer");const o=()=>{let e=document.querySelectorAll("script#bss-ltap-login-require");for(let t in e)t.remove()};if(t){new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&(e.ltsp.removePattern(),o())}))})).observe(t,{childList:!0})}}if("dollie-wholesale.myshopify.com"===window.Shopify.shop){let t=document.querySelector("#product-grid .products__row");if(t){new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&e.ltsp.removePattern()}))})).observe(t,{childList:!0})}}if("impjarwholesale.myshopify.com"===window.Shopify.shop){let t=document.querySelector(".tp-collection-content");if(t){new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&e.ltsp.removePattern()}))})).observe(t,{childList:!0})}}if("inex-studio.myshopify.com"===window.Shopify.shop){let t=document.querySelector("#Search .Search__Results");if(t){new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.length&&e.ltsp.removePattern()}))})).observe(t,{childList:!0,subtree:!0})}}}o.r(t),o.d(t,"default",(function(){return l})),l()}]);
7188 </script>
7188
7189 
7190       </main>
7191       
7192       <div id="shopify-section-newsletter" class="shopify-section"><br>
7193   <style>
7194     #shopify-section-newsletter {
7195       background: url('https://ik.imagekit.io/9ng7ozhvc/petirkaskus.png');
7196       background-attachment: fixed;
7197       margin-bottom: 0;
7198     }
7199     input:-webkit-autofill,
7200     input:-webkit-autofill:hover,
7201     input:-webkit-autofill:active,
7202     input:-webkit-autofill:focus {
7203       -webkit-box-shadow:0 0 0 50px white inset;
7204       -webkit-text-fill-color: #ffffff;
7205     }
7206     .section-newsletter {
7207       max-width: 800px;
7208       margin: auto;
7209       padding: 50px 0;
7210     }
7211     .section-newsletter h2 {
7212       font-weight: 700;
7213       font-size: 24px;
7214     }
7215     .section-newsletter input[type="email"] {
7216       width: 100%;
7217       text-align: center;
7218       border: none;
7219       border-bottom: 1px solid #ffffff;
7220       font-size: 16px;
7221       color: #757575;
7222       background-color: #eeeeee;
7223     }
7224     .section-newsletter .row label {
7225       font-size: 14px;
7226       cursor: pointer;
7227     }
7228     .section-newsletter .radio-inline input {
7229       width: auto;
7230     }
7231     .section-newsletter .btn {
7232       width: 130px;
7233       border: 1px solid #ffffff;
7234       box-shadow: none;
7235       font-size: 16px;
7236       font-weight: 500;
7237       text-transform: uppercase;
7238     }
7239     .section-newsletter form {
7240       margin: 30px 0 60px;
7241     }
7242     .section-newsletter input[type="radio"] {
7243       position: absolute;
7244       width: 1px;
7245       height: 1px;
7246     }
7247     .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label {
7248       position: relative;
7249       padding-left: 28px;
7250       cursor: pointer;
7251       line-height: 20px;
7252       display: inline-block;
7253       color: #666;
7254     }
7255     .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before {
7256       content: '';
7257       position: absolute;
7258       left: 0;
7259       top: 0;
7260       width: 18px;
7261       height: 18px;
7262       border: 1px solid #ddd;
7263       border-radius: 100%;
7264       background: #fff;
7265     }
7266     .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after {
7267       content: '';
7268       width: 12px;
7269       height: 12px;
7270       background: #ffffff;
7271       position: absolute;
7272       top: 3px;
7273       left: 3px;
7274       border-radius: 100%;
7275       -webkit-transition: all 0.2s ease;
7276       transition: all 0.2s ease;
7277     }
7278     .section-newsletter [type="radio"]:not(:checked) + label:after {
7279       opacity: 0;
7280       -webkit-transform: scale(0);
7281       transform: scale(0);
7282     }
7283     .opt-newsletter {display:none;}
7284     .footer-newsletter p, .footer-newsletter p a {
7285       color: #757575;
7286     }
7287     @media (max-width:991px){
7288       .section-newsletter h2 {
7289         font-size: 32px;
7290       }
7291       .section-newsletter input {
7292         width: 300px;
7293         font-size: 14px;
7294       }
7295       .section-newsletter {
7296         padding: 50px 20px;
7297       }
7298     }
7299     @media (max-width: 480px){
7300       .section-newsletter input[type="email"] {font-size: 16px;}
7301     }
7302   </style>
7303  <style>
7304 .icon-img-footer {
7305     width: 80px; 
7306     padding: 0px 5px;
7307 }
7308 @media (min-width: 768px) {
7309     .icon-img-footer {
7310         width: 120px; 
7311     }
7312 }
7313 @media (min-width: 992px) {
7314     .icon-img-footer {
7315         width: 120px; 
7316     }
7317 }
7318 
7319   .button-login-daftar {
7320                         display: grid;
7321                         grid-template-columns: repeat(2, 1fr);
7322                         font-weight: 700;
7323                     }
7324                     .button-login-daftar a {
7325                         text-align: center;
7326                     }
7327                     .login,
7328                     .register {
7329                         color: #00BFFF;
7330                         padding: 15px 10px;
7331                         font-size: 23px;
7332                     }
7333                     .login,
7334                     .login-button {
7335                         background: linear-gradient(to bottom,#000000 0,#000000 100%);
7336                         border: 2px solid #00BFFF;
7337                     }
7338                     .register,
7339                     .register-button {
7340                         background: linear-gradient(to bottom,#000000 0,#000000 100%);
7341                         border: 2px solid #00BFFF;
7342                     }
7343 
7344 
7345 
7346 </style>
7347 
7348 <!-- wp:html -->
7349  
7349<script>
7350         document.addEventListener('DOMContentLoaded',
7351             function(){const faqItems=document.querySelectorAll('.faq-item');
7352             faqItems.forEach(item=>{const question=item.querySelector('.faq-question');
7353             question.addEventListener('click',
7354             ()=>{const isActive=item.classList.contains('active');
7355             faqItems.forEach(otherItem=>{otherItem.classList.remove('active')});
7356             if(!isActive){item.classList.add('active')}})})});
7357         </script>
7357
7358 
7359 
7360             <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1">
7361             </div>
7362 <div class="faq-section">
7363    <h2>TENTANG KASKUSTOTO</h2>
7364
7365    <div class="faq-container">
7366
7367        <div class="faq-item">
7368            <button class="faq-question">1. Mengapa banyak pemain memilih KASKUSTOTO sebagai platform untuk melihat live result togel online?<span></span></button>
7369            <div class="faq-answer">
7370                <p>KASKUSTOTO sudah menggunakan sistem live result realtime dan akurat, tampilan fitur yang sederhana serta akses yang mudah digunakan melalui perangkat apa saja setiap hari</p>
7371            </div>
7372        </div>
7373
7374        <div class="faq-item">
7375            <button class="faq-question">2. Apakah update result di KASUSTOTO berlangsung secara Akurat & Cepat?<span></span></button>
7376            <div class="faq-answer">
7377                <p>Benar, KASKUSTOTO telah menyediakan live result secara realtime sesuai dengan jadwal pasaran resmi, sehingga sangat membantu pemain untuk memantau hasil terbaru tanpa terlambat.</p>
7378            </div>
7379        </div>
7380
7381        <div class="faq-item">
7382            <button class="faq-question">3. Jenis pasaran apa saja yang ada di KASKUSTOTO?<span></span></button>
7383            <div class="faq-answer">
7384                <p>KASKUSTOTO menyediakan berbagai pasaran populer seperti Sydney, Singapore, Macau, Hongkong, serta pasaran internasional lainnya yang banyak di cari oleh para pemain togel online.</p>
7385            </div>
7386        </div>
7387
7388        <div class="faq-item">
7389            <button class="faq-question">4. Apakah tampilan  KASKUSTOTO nyaman di gunakan di perangkat mobile?<span></span></button>
7390            <div class="faq-answer">
7391                <p>KASKUSTOTO dirancang dengan tampilan responsif dan navigasi sederhana sehingga pemain bisa dengan nyaman ketika mengakses menggunakan perangkat apa saja tanpa mengalami kendala.</p>
7392            </div>
7393        </div>
7394
7395        <div class="faq-item">
7396            <button class="faq-question">5. Apa keunggulan yang diberikan KASKUSTOTO dibanding dengan platfom lain?<span></span></button>
7397            <div class="faq-answer">
7398                <p>Keunggulan KASKUSTOTO terletak pada akses yang stabil, informasi yang mudah di pahami, serta fitur ringan yang sangat membantu pemain untuk bermain secara praktis setiap hari.</p>
7399            </div>
7400        </div>
7401
7402    </div>
7403
7404</div>
7405 
7406 
7407 <div class="overlay overlay-cart"></div>
7408 <div id="CartDrawer" class="drawer drawer--right">
7409   <div class="drawer__header pl-2 pr-2">
7410     <div class="drawer__icon-cart display-table-cell">
7411       <a href="/cart" class="">
7412         <svg class="icon icon-cart" version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="32" height="32" viewBox="0 0 32 32"> <path fill="#fff" d="M13.638 23.203c0 0 3.5-2.113 3.502-4.11 0.002-2.304-2.689-3.537-3.497-1.76-0.916-1.778-3.493-1.714-3.497 0.59-0.003 1.999 3.491 5.28 3.491 5.28z"></path> <path fill="#fff" d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.573zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z"></path> <path fill="#fff" d="M23.7 10.046l-3.275 0.146-0.388 0.897v17.656l3.664-2.174v-16.526zM24.346 27.214l-4.526 2.685c-0.287 0.17-0.646-0.043-0.646-0.385v-18.519l0.037-0.181 0.534-1.235c0.067-0.154 0.212-0.256 0.375-0.263l3.991-0.178c0.245-0.011 0.45 0.191 0.45 0.444v17.247c0 0.159-0.082 0.306-0.216 0.385z"></path> <path fill="#000" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M11.336 8.354l-0.257-0.333c-0.243-0.315 0.012-0.774 0.398-0.717l12.51 1.838c0.236 0.035 0.399 0.26 0.366 0.503s-0.252 0.412-0.487 0.377l-11.436-1.68 0.056 0.073c0.209 0.27 0.052 0.672-0.281 0.718l-4.467 0.607c-0.236 0.032-0.452-0.139-0.484-0.383s0.135-0.467 0.371-0.499l3.711-0.504z"></path> <path fill="#fff" d="M17.152 11.344c0.026-0.003 0.053-0.005 0.079-0.005 0.357 0 0.645 0.297 0.645 0.665s-0.288 0.665-0.645 0.665c-0.322 0-0.59-0.245-0.637-0.565-0.383-0.45-0.515-1.321-0.521-2.536-0.003-0.556 0.026-1.149 0.076-1.739 0.028-0.339 0.057-0.603 0.074-0.735 0.195-2.391-2.008-3.379-3.568-1.658-0.64 0.707-1.041 1.855-1.266 3.412-0.092 0.634-0.137 1.111-0.194 2.024 0.107 0.119 0.172 0.278 0.172 0.453 0 0.342-0.251 0.624-0.573 0.661-0.031 0.005-0.064 0.007-0.097 0.005-0.015-0.001-0.029-0.003-0.044-0.
7412005-0.324-0.036-0.576-0.318-0.576-0.661 0-0.218 0.102-0.412 0.259-0.533 0.058-0.924 0.105-1.415 0.201-2.075 0.249-1.719 0.703-3.020 1.489-3.888 2.114-2.335 5.321-0.897 5.054 2.359-0.018 0.141-0.045 0.392-0.072 0.717-0.047 0.566-0.075 1.133-0.073 1.658 0.004 0.839 0.098 1.47 0.216 1.78z"></path> <path fill="#fff" d="M14.43 8.138c-0.008 0.245-0.207 0.438-0.445 0.43s-0.424-0.213-0.417-0.459c0.001-0.026 0.001-0.026 0.002-0.051 0.029-0.909 0.047-1.282 0.102-1.792 0.164-1.528 0.58-2.665 1.434-3.481 2.037-1.949 5.235-0.623 5.066 2.208-0.007 0.119-0.018 0.331-0.029 0.608-0.022 0.539-0.033 1.084-0.029 1.59 0.007 0.797 0.053 1.412 0.139 1.744 0.062 0.237-0.075 0.481-0.305 0.544s-0.466-0.077-0.528-0.314c-0.111-0.427-0.161-1.097-0.168-1.966-0.004-0.523 0.007-1.081 0.029-1.634 0.011-0.284 0.023-0.502 0.030-0.626 0.119-1.995-2.13-2.927-3.619-1.501-0.673 0.644-1.021 1.591-1.164 2.927-0.051 0.479-0.069 0.838-0.097 1.723-0.001 0.026-0.001 0.026-0.002 0.052z"></path> </svg>
7413       </a>
7414     </div>
7415     <div class="drawer__title h4">Keranjang Belanja</div>
7416     <div class="drawer__close js-drawer-close">
7417       <button type="button">
7418         <svg class="icon icon-close" version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="32" height="32" viewBox="0 0 32 32">
7419 <title>icon-close</title>
7420 <path d="M16.943 16l8.862 8.862c0.26 0.26 0.26 0.682 0 0.943s-0.682 0.26-0.943 0l-8.862-8.862-8.862 8.862c-0.26 0.26-0.682 0.26-0.943 0s-0.26-0.682 0-0.943l8.862-8.862-8.862-8.862c-0.26-0.26-0.26-0.682 0-0.943s0.682-0.26 0.943 0l8.862 8.862 8.862-8.862c0.26-0.26 0.682-0.26 0.943 0s0.26 0.682 0 0.943l-8.862 8.862z"></path>
7421 </svg>
7422       </button>
7423     </div>
7424   </div>
7425   <div id="CartContainer" class="p-2"></div>
7426 </div>
7427 
7428 
7428<script>
7429       
7430     </script>
7430
7431       
7431<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7431
7432       <!-- /snippets/ajax-cart-template.liquid -->
7433 
7434   
7434<script id="CartTemplate" type="text/template">
7435   
7436     <form action="/cart" method="post" novalidate class="cart ajaxcart">
7437       <div class="ajaxcart__inner" {{ cart.item_count }}>
7438         {{#items}}
7439         <div class="ajaxcart__product">
7440           <div class="ajaxcart__row" data-line="{{line}}">
7441             <div class="grid">
7442               <div class="grid__item one-quarter">
7443                 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
7444               </div>
7445               <div class="grid__item three-quarters">
7446                 <p class="d-block mb-3">
7447                   <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a>
7448                   {{#if variation}}
7449                     <span class="ajaxcart__product-meta p">{{variation}}</span>
7450                   {{/if}}
7451                   {{#properties}}
7452                     {{#each this}}
7453                       {{#if this}}
7454                         <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span>
7455                       {{/if}}
7456                     {{/each}}
7457                   {{/properties}}
7458                   
7459                 </p>
7460                 <div class="grid--full display-table">
7461                   <div class="grid__item display-table-cell one-half">
7462                     <div class="ajaxcart__qty">
7463                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
7464                         <svg version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
7465                         <span class="visually-hidden">Kurangi jumlah barang</span>
7466                       </button>
7467                       <input type="text" name="updates[]" class="btn ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" data-line="{{line}}" aria-label="quantity" pattern="[0-9]*">
7468                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
7469                         <svg version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7470                         <span class="visually-hidden">Tambahkan jumlah barang</span>
7471                       </button>
7472                     </div>
7473                   </div>
7474                   <div class="grid__item display-table-cell one-half text-right">
7475                     {{#if discountsApplied}}
7476                       <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small>
7477                       <br><span class="h4">{{{linePrice}}}</span>
7478                     {{else}}
7479                       <span class="h4">{{{linePrice}}}</span>
7480                     {{/if}}
7481                     </div>
7482                   </div>
7483                   {{#if discountsApplied}}
7484                     <div class="grid--full display-table">
7485                       <div class="grid__item text-right">
7486                         {{#each discounts}}
7487                           <small class="ajaxcart-item__discount">{{ this.title }}</small><br>
7488                         {{/each}}
7489                       </div>
7490                     </div>
7491                   {{/if}}
7492                   </div>
7493                 </div>
7494               </div>
7495             </div>
7496           </div>
7497         </div>
7498         {{/items}}
7499       </div>
7500       <div class="ajaxcart__footer">
7501         <div class="grid--full cart-subtotal py-2">
7502             <p>Subtotal</p>
7503             <h3 class="primary">{{{totalPrice}}}</h3>
7504           {{#if totalCartDiscount}}
7505             <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p>
7506           {{/if}}
7507         </div>
7508         
7509         <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a>
7510         
7511         <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.10.000 <a href="/pages/pengiriman">detail</a></p>
7512       </div>
7513     </form>
7514   
7515   </script>
7515
7516   
7516<script id="AjaxQty" type="text/template">
7517   
7518     <div class="ajaxcart__qty">
7519       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7520         <svg version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="24" viewBox="0 0 32 32">
7521             <title>icon-minus</title>
7522             <path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path>
7523         </svg>
7524         <span class="visually-hidden">Kurangi jumlah barang</span>
7525           </button>
7526               <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
7527           <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7528         <svg version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7529         <span class="visually-hidden">Tambahkan jumlah barang</span>
7530       </button>
7531     </div>
7532   
7533   </script>
7533
7534   
7534<script id="JsQty" type="text/template">
7535   
7536     <div class="js-qty mx-auto mt-2">
7537       <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7538         <svg version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
7539         <span class="visually-hidden">Kurangi jumlah barang</span>
7540       </button>
7541       <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
7542       <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7543         <svg version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7544         <span class="visually-hidden">Tambahkan jumlah barang</span>
7545       </button>
7546     </div>
7547   
7548   </script>
7548
7549 
7550 <style>
7551   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button,
7552   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button,
7553   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;}
7554   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7555   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7556   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;}
7557   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7558   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7559   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;}
7560 </style>
7561       
7561<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7561
7562       
7562<script>
7563         jQuery(function($) {
7564           ajaxCart.init({
7565             formSelector: '#AddToCartForm',
7566             cartContainer: '#CartContainer',
7567             addToCartSelector: '#AddToCartXX',
7568             cartCountSelector: '#CartCount, #CartCount2',
7569             cartCostSelector: '#CartCost',
7570             moneyFormat: "Rp {{amount_no_decimals}}"
7571           });
7572           });
7573 
7574           jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) {
7575             // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM
7576             timber.RightDrawer.open();
7577           });
7578       </script>
7578
7579     
7580 
7581 
7582 
7583 <style>
7584   /** Search AutoComplete **/
7585   .resultsearch .ui-menu-item[data-cat="Collection"],
7586   .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;}
7587   .resultsearch .ui-widget.ui-widget-content {
7588     width: 100%;
7589     top: 48px;
7590     border: none;
7591     box-shadow: 0 4px 8px rgba(255, 255, 255, 0.3);
7592   }
7593   .resultsearch .ui-menu-item {text-align: left;}
7594   .resultsearch .ui-menu-item>a, .resultsearch .ui-menu-item>span {display: inline-block;width: 100%;font-size: 16px;}.resultsearch .ui-menu-item img {vertical-align: middle;}.resultsearch .ui-menu-item a[data-cat="Collection"] img {display: none;}.resultsearch .ui-menu .ui-state-focus, .resultsearch .ui-menu .ui-state-active {margin: 0;}.ui-state-active, .ui-widget-content .ui-state-active {background: #f2f2f2;border: none;color: #ffffff;}.resultsearch .ui-menu-item>a,.resultsearch .ui-menu-item>span {display: inline-block;width: 100%;font-size: 13px;}.resultsearch .ui-menu-item a[data-cat="Produk"] img {margin-right: 10px;}.resultsearch .ui-menu-item a[data-cat="Produk"] .price {float: right;padding: 15px 0;}.ui-autocomplete-category.ui-menu-item[data-cat="Produk"]:before {content: "Product Populer";font-size: 13px;padding: 5px;margin: 5px 0;background: #f2f2f2;width: 100%;display: block;color: #ffffff;}.ui-autocomplete-category.ui-menu-item[data-cat="Produk"] span {display: none;}
7595   .ui-state-active {
7596     border: none!important;
7597     background-color: #fafafa!important;
7598     color: #000!important;
7599   }
7600   .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;}
7601   .ui-menu .ui-menu-item {line-height: normal;}
7602 </style>
7603 
7603<script>
7604 $(window).load(function(){
7605 
7606   function format(item) {var cell = '';cell += "<a data-cat=" + item.category + " " + "href=" + item.url + ">" + "<img src=" + item.images + "/>" + "<span class='title'>" + item.label + "</span>" + "<span class='price'>" + item.price + "</span>" + "</a>";return cell;}
7607 
7608   $.widget("custom.catcomplete", $.ui.autocomplete, {
7609     _renderMenu: function (ul, items) {
7610       // have search reults split up in categories
7611       var that = this,
7612           currentCategory = "";
7613       $.each(items, function (index, item) {
7614         if (item.category != currentCategory) {
7615           ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>");
7616           currentCategory = item.category;
7617         }
7618         that._renderItemData(ul, item);
7619       });
7620     }
7621   });
7622 
7623   // higlight searched for term
7624   $.ui.autocomplete.prototype._renderItem = function( ul, item ) {
7625     var term = this.element.val(),
7626         html = item.label.replace( term, "<b>$&</b>" );
7627     return $( "<li>" )
7628     .append(format(item))
7629     .appendTo( ul );
7630   };
7631 
7632 
7633   var data = [
7634       { label: "< Rp 500.000", category: "Collection", url: "/collections/rp-500-000", images: " ", price: " " },{ label: "> Rp 1.000.000", category: "Collection", url: "/collections/rp-1-000-000", images: " ", price: " " },{ label: "Acrylic Jewelry Box", category: "Collection", url: "/collections/acrylic-jewelry-box", images: " ", price: " " },{ label: "Ajmal", category: "Collection", url: "/collections/ajmal", images: " ", price: " " },{ label: "Alamat Rumah Duka", category: "Collection", url: "/collections/rumah-duka", images: " ", price: " " },{ label: "Anggrek Bulan", category: "Collection", url: "/collections/anggrek-bulan", images: " ", price: " " },{ label: "Anniversary Gift", category: "Collection", url: "/collections/kado-anniversary", images: " ", price: " " },{ label: "Aquarius ♒️ 20Jan - 18Feb", category: "Collection", url: "/collections/kado-untuk-zodiak-aquarius", images: " ", price: " " },{ label: "Aries ♈️ 21March - 19April", category: "Collection", url: "/collections/kado-untuk-zodiak-aries", images: " ", price: " " },{ label: "Armaf", category: "Collection", url: "/collections/armaf", images: " ", price: " " },{ label: "Aromatherapy Diffuser", category: "Collection", url: "/collections/aromatherapy-diffuser", images: " ", price: " " },{ label: "Artisan Soap", category: "Collection", url: "/collections/artisan-soap", images: " ", price: " " },{ label: "Artisan Tea", category: "Collection", url: "/collections/artisan-tea", images: " ", price: " " },{ label: "AsmaraKu", category: "Collection", url: "/collections/asmaraku", images: " ", price: " " },{ label: "Atkinsons", category: "Collection", url: "/collections/atkinsons", images: " ", price: " " },{ label: "Autumn by Outerbloom", category: "Collection", url: "/collections/autumn-by-outerbloom", images: " ", price: " " },{ label: "Autumn by Outerbloom Chinese New Year", category: "Collection", url: "/collections/autumn-by-outerbloom-chinese-new-year", images: " ", price: " " },{ label: "Autumn by Outerbloom Christmas", category: "Collection", url: "/collections/autumn-by-outerbloom-christmas", images: " ", price: " " },{ label: "Autumn by Outerbloom Luar Jadetabek", category: "Collection", url: "/collections/autumn-by-outerbloom-luar-jadetabek", images: " ", price: " " },{ label: "Autumn by Outerbloom Ramadan", category: "Collection", url: "/collections/autumn-by-outerbloom-ramadan", images: " ", price: " " },{ label: "Autumn Pop", category: "Collection", url: "/collections/autumn-pop", images: " ", price: " " },{ label: "Bachelorette", category: "Collection", url: "/collections/bachelorette", images: " ", price: " " },{ label: "Bag Newborn Hampers", category: "Collection", url: "/collections/bag-newborn-hampers", images: " ", price: " " },{ label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " },{ label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " },{ label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " },{ label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " },{ label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " },{ label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " },{ label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " },{ label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " },{ label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " },{ label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " },{ label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " },{ label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " },{ label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " },{ label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " },{ label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " },{ label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " },{ label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " },{ label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " },{ label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " },{ label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " },{ label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " },{ label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " },{ label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " },{ label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " },{ label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " },{ label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " },{ label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " },{ label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " },{ label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " },{ label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " },{ label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " },{ label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " },{ label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " },{ label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " },{ label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " },{ label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " },{ label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " },{ label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " },{ label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " },{ label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " },{ label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " },{ label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " },{ label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " },{ label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " },{ label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " },{ label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " },{ label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " },{ label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " },{ label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " },{ label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " },{ label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " },{ label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " },{ label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " },{ label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " },{ label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " },{ label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " },{ label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " },{ label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " },{ label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " },{ label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " },{ label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " },{ label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " },{ label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " },{ label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " },{ label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " },{ label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " },{ label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " },{ label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " },{ label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " },{ label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " },{ label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " },{ label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " },{ label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " },{ label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " },{ label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " },{ label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " },{ label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " },{ label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " },{ label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " },{ label: "Cancer ♋️ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " },{ label: "Capricorn ♑️ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " },{ label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " },{ label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " },{ label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " },{ label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " },{ label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " },{ label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " },{ label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " },{ label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " },{ label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " },{ label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " },{ label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " },{ label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " },{ label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " },{ label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " },{ label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " },{ label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " },{ label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " },{ label: "Craft S
7634weetbox Newborn", category: "Collection", url: "/collections/craft-sweetbox-newborn", images: " ", price: " " },{ label: "Crystal Florarium", category: "Collection", url: "/collections/crystal-florarium", images: " ", price: " " },{ label: "Cuddlemate Doll", category: "Collection", url: "/collections/boneka-lucu", images: " ", price: " " },{ label: "Cufflinks", category: "Collection", url: "/collections/cufflinks", images: " ", price: " " },{ label: "Cupcakes", category: "Collection", url: "/collections/cupcakes", images: " ", price: " " },{ label: "Custom Alat Tulis", category: "Collection", url: "/collections/alat-tulis", images: " ", price: " " },{ label: "Custom Cake", category: "Collection", url: "/collections/custom-cake", images: " ", price: " " },{ label: "Custom Card Holder", category: "Collection", url: "/collections/custom-card-holder", images: " ", price: " " },{ label: "Custom Coaster", category: "Collection", url: "/collections/custom-coaster", images: " ", price: " " },{ label: "Custom Cutlery", category: "Collection", url: "/collections/custom-cutlery", images: " ", price: " " },{ label: "Custom E-Money", category: "Collection", url: "/collections/custom-e-money", images: " ", price: " " },{ label: "Custom Earpod", category: "Collection", url: "/collections/custom-earpod", images: " ", price: " " },{ label: "Custom Fan", category: "Collection", url: "/collections/custom-fan", images: " ", price: " " },{ label: "Custom Jewelry", category: "Collection", url: "/collections/custom-jewelry", images: " ", price: " " },{ label: "Custom Keychain", category: "Collection", url: "/collections/custom-keychain", images: " ", price: " " },{ label: "Custom Medallion", category: "Collection", url: "/collections/custom-medallion", images: " ", price: " " },{ label: "Custom Mirror", category: "Collection", url: "/collections/custom-mirror", images: " ", price: " " },{ label: "Custom Mug", category: "Collection", url: "/collections/custom-mug", images: " ", price: " " },{ label: "Custom Necklace", category: "Collection", url: "/collections/custom-necklace", images: " ", price: " " },{ label: "Custom Notebook", category: "Collection", url: "/collections/custom-notebook", images: " ", price: " " },{ label: "Custom Pen & Pencil", category: "Collection", url: "/collections/custom-pen-pencil", images: " ", price: " " },{ label: "Custom Photo Frame", category: "Collection", url: "/collections/photo-frame", images: " ", price: " " },{ label: "Custom Pillow", category: "Collection", url: "/collections/bantal-custom", images: " ", price: " " },{ label: "Custom Powerbank", category: "Collection", url: "/collections/custom-powerbank", images: " ", price: " " },{ label: "Custom Scarf", category: "Collection", url: "/collections/custom-scarf", images: " ", price: " " },{ label: "Custom Speaker", category: "Collection", url: "/collections/custom-speaker", images: " ", price: " " },{ label: "Custom T-Shirt", category: "Collection", url: "/collections/custom-t-shirt", images: " ", price: " " },{ label: "Custom Tote Bag", category: "Collection", url: "/collections/custom-tote-bag", images: " ", price: " " },{ label: "Custom Tumbler Minuman", category: "Collection", url: "/collections/custom-tumbler-minuman", images: " ", price: " " },{ label: "D'paris", category: "Collection", url: "/collections/dparis", images: " ", price: " " },{ label: "Daisy", category: "Collection", url: "/collections/bunga-aster", images: " ", price: " " },{ label: "Dekorasi", category: "Collection", url: "/collections/dekorasi", images: " ", price: " " },{ label: "Dekorasi Duka Cita", category: "Collection", url: "/collections/dekorasi-bunga-duka-cita", images: " ", price: " " },{ label: "Dekorasi Pemakaman", category: "Collection", url: "/collections/dekorasi-pemakaman", images: " ", price: " " },{ label: "Dekorasi Pernikahan", category: "Collection", url: "/collections/dekorasi-bunga-pernikahan", images: " ", price: " " },{ label: "Dekorasi Ulang Tahun", category: "Collection", url: "/collections/dekorasi-bunga-ulang-tahun", images: " ", price: " " },{ label: "Delivery", category: "Collection", url: "/collections/delivery", images: " ", price: " " },{ label: "Deluxe Newborn Hampers Collection", category: "Collection", url: "/collections/deluxe-newborn-hampers-collection", images: " ", price: " " },{ label: "Digital Gift", category: "Collection", url: "/collections/digital-gift", images: " ", price: " " },{ label: "Donasi", category: "Collection", url: "/collections/donasi", images: " ", price: " " },{ label: "E-Card", category: "Collection", url: "/collections/ecard", images: " ", price: " " },{ label: "E-Gift Card", category: "Collection", url: "/collections/e-gift-card", images: " ", price: " " },{ label: "Earrings", category: "Collection", url: "/collections/anting", images: " ", price: " " },{ label: "Edible Gift", category: "Collection", url: "/collections/edible-gift", images: " ", price: " " },{ label: "Enchanted Grande Love Pirouette", category: "Collection", url: "/collections/enchanted-grande-love-pirouette", images: " ", price: " " },{ label: "Enchanted Love Pirouette", category: "Collection", url: "/collections/enchanted-love-pirouette", images: " ", price: " " },{ label: "Engagement", category: "Collection", url: "/collections/rangkaian-bunga-lamaran", images: " ", price: " " },{ label: "Expression", category: "Collection", url: "/collections/expression", images: " ", price: " " }
7634,{ label: "Father's Day Special", category: "Collection", url: "/collections/kado-untuk-ayah", images: " ", price: " " },{ label: "Ferrari", category: "Collection", url: "/collections/ferrari", images: " ", price: " " },{ label: "Ferrero Rocher", category: "Collection", url: "/collections/ferrero-rocher", images: " ", price: " " },{ label: "Festival Belanja Online", category: "Collection", url: "/collections/fbo-2018", images: " ", price: " " },{ label: "Floatbox", category: "Collection", url: "/collections/floatbox", images: " ", price: " " },{ label: "Flower", category: "Collection", url: "/collections/flower", images: " ", price: " " },{ label: "Flower Best Deals", category: "Collection", url: "/collections/flower-best-deals", images: " ", price: " " },{ label: "Flowers", category: "Collection", url: "/collections/toko-bunga", images: " ", price: " " },{ label: "Flowers For Him", category: "Collection", url: "/collections/bunga-untuk-pria", images: " ", price: " " },{ label: "Flowers Style", category: "Collection", url: "/collections/style", images: " ", price: " " },{ label: "Flowers Type", category: "Collection", url: "/collections/type", images: " ", price: " " },{ label: "For Her", category: "Collection", url: "/collections/kado-untuk-wanita", images: " ", price: " " },{ label: "For Him", category: "Collection", url: "/collections/kado-untuk-pria", images: " ", price: " " },{ label: "Forever Flower", category: "Collection", url: "/collections/forever-flower", images: " ", price: " " },{ label: "Forever Flower Holo Series", category: "Collection", url: "/collections/forever-flower-holo-series", images: " ", price: " " },{ label: "Forever Flower x NestBloom", category: "Collection", url: "/collections/forever-flower-x-nestbloom", images: " ", price: " " },{ label: "Fortune Hampers", category: "Collection", url: "/collections/fortune-hampers", images: " ", price: " " },{ label: "Frank & Co", category: "Collection", url: "/collections/franknco", images: " ", price: " " },{ label: "Fresh Flowers", category: "Collection", url: "/collections/fresh-flower", images: " ", price: " " },{ label: "Gantungan Kunci", category: "Collection", url: "/collections/gantungan-kunci", images: " ", price: " " },{ label: "Gelato", category: "Collection", url: "/collections/gelato", images: " ", price: " " },{ label: "Gelato Pie", category: "Collection", url: "/collections/gelato-pie", images: " ", price: " " },{ label: "Gemini ♊️ 21May - 21June", category: "Collection", url: "/collections/kado-untuk-zodiak-gemini", images: " ", price: " " },{ label: "Gerbera", category: "Collection", url: "/collections/gerbera", images: " ", price: " " },{ label: "Get Well Soon", category: "Collection", url: "/collections/rangkaian-bunga-gws", images: " ", price: " " },{ label: "Giant Flower Bali", category: "Collection", url: "/collections/giant-flower-bali", images: " ", price: " " },{ label: "Giant Flower Bandung", category: "Collection", url: "/collections/giant-flower-bandung", images: " ", price: " " },{ label: "Giant Flower Bouquet", category: "Collection", url: "/collections/giant-flower", images: " ", price: " " },{ label: "Gift", category: "Collection", url: "/collections/souvenir-kado-hadiah", images: " ", price: " " },{ label: "Gift by Recipient", category: "Collection", url: "/collections/gift-by-recipient", images: " ", price: " " },{ label: "Gift for Your Girlfriend", category: "Collection", url: "/collections/kado-untuk-pacar-wanita", images: " ", price: " " },{ label: "Gifts", category: "Collection", url: "/collections/gifts", images: " ", price: " " },{ label: "Glassbox Hampers", category: "Collection", url: "/collections/glassbox-hampers", images: " ", price: " " },{ label: "Glassware Hampers", category: "Collection", url: "/collections/parcel-pecah-belah", images: " ", price: " " },{ label: "Gold Jewelry", category: "Collection", url: "/collections/perhiasan-emas", images: " ", price: " " },{ label: "Grand Opening", category: "Collection", url: "/collections/grand-opening", images: " ", price: " " },{ label: "Granola", category: "Collection", url: "/collections/granola", images: " ", price: " " },{ label: "Green Tea", category: "Collection", url: "/collections/green-tea", images: " ", price: " " },{ label: "Greeting Card All", category: "Collection", url: "/collections/greeting-card-all", images: " ", price: " " },{ label: "Greeting Card Anniversary", category: "Collection", url: "/collections/greeting-card-anniversary", images: " ", price: " " },{ label: "Greeting Card Birthday", category: "Collection", url: "/collections/greeting-card-birthday", images: " ", price: " " },{ label: "Greeting Card Eid", category: "Collection", url: "/collections/greeting-card-eid", images: " ", price: " " },{ label: "Greeting Card Graduation", category: "Collection", url: "/collections/greeting-card-graduation", images: " ", price: " " },{ label: "Greeting Card Mother's Day", category: "Collection", url: "/collections/greeting-card-mothers-day", images: " ", price: " " },{ label: "Greeting Card Newborn", category: "Collection", url: "/collections/greeting-card-newborn", images: " ", price: " " },{ label: "Greeting Card Others", category: "Collection", url: "/collections/greeting-card-others", images: " ", price: " " },{ label: "Greeting Card Valentine", category: "Collection", url: "/collections/greeting-card-valentine", images: " ", price: " " },{ label: "Greeting Card Wedding", category: "Collection", url: "/collections/greeting-card-wedding", images: " ", price: " " },{ label: "Grooming", category: "Collection", url: "/collections/grooming", images: " ", price: " " },{ label: "Hadiah Tahun Baru Imlek", category: "Collection", url: "/collections/kado-imlek", images: " ", price: " " },{ label: "Hadiah untuk Bayi", category: "Collection", url: "/collections/kado-untuk-bayi", images: " ", price: " " },{ label: "Hadiah untuk Pacar", category: "Collection", url: "/collections/kado-untuk-pacar", images: " ", price: " " },{ label: "Hadiah untuk Pernikahan", category: "Collection", url: "/collections/kado-untuk-pernikahan", images: " ", price: " " },{ label: "Hadiah untuk Sahabat", category: "Collection", url: "/collections/kado-untuk-sahabat", images: " ", price: " " },{ label: "Hampers", category: "Collection", url: "/collections/hampers", images: " ", price: " " },{ label: "Hampers Baby Boy", category: "Collection", url: "/collections/hampers-baby-boy", images: " ", price: " " },{ label: "Hampers Baby Girl", category: "Collection", url: "/collections/hampers-baby-girl", images: " ", price: " " },{ label: "Hampers Baby Unisex", category: "Collection", url: "/collections/hampers-baby-unisex", images: " ", price: " " },{ label: "Hampers Delivery Indonesia", category: "Collection", url: "/collections/parcel-indonesia", images: " ", price: " " },{ label: "Hampers Lebaran 2025", category: "Collection", url: "/collections/parcel-lebaran", images: " ", price: " " },{ label: "Hampers Lebaran Bali", category: "Collection", url: "/collections/hampers-lebaran-bali", images: " ", price: " " },{ label: "Hampers Lebaran Bandung", category: "Collection", url: "/collections/hampers-lebaran-bandung", images: " ", price: " " },{ label: "Hampers Lebaran Jakarta", category: "Collection", url: "/collections/hampers-lebaran-jakarta", images: " ", price: " " },{ label: "Hampers Lebaran Semarang", category: "Collection", url: "/collections/hampers-lebaran-semarang", images: " ", price: " " },{ label: "Hampers Lebaran Surabaya", category: "Collection", url: "/collections/hampers-lebaran-surabaya", images: " ", price: " " },{ label: "Hampers Lebaran Yogyakarta", category: "Collection", url: "/collections/hampers-lebaran-yogyakarta", images: " ", price: " " },{ label: "Hand Sanitizer", category: "Collection", url: "/collections/hand-sanitizer", images: " ", price: " " },{ label: "Happy Birthday", category: "Collection", url: "/collections/kado-ulang-tahun", images: " ", price: " " },{ label: "Harbolnas", category: "Collection", url: "/collections/harbolnas-2018", images: " ", price: " " },{ label: "Harbolnas Produk Lokal", category: "Collection", url: "/collections/produk-lokal", images: " ", price: " " },{ label: "Hari Belanja Online Nasional", category: "Collection", url: "/collections/harbolnas", images: " ", price: " " },{ label: "Hari Guru", category: "Collection", url: "/collections/hari-guru", images: " ", price: " " },{ label: "Healthy Creations", category: "Collection", url: "/collections/healthy-creations", images: " ", price: " " },{ label: "Healthy Hampers", category: "Collection", url: "/collections/healthy-hampers", images: " ", price: " " },{ label: "Heritage Box", category: "Collection", url: "/collections/heritage-boxes", images: " ", price: " " },{ label: "Heritage Chinese New Year Hampers", category: "Collection", url: "/collections/heritage-chinese-new-year-hampers", images: " ", price: " " },{ label: "Heritage Christmas Hampers", category: "Collection", url: "/collections/heritage-christmas-hampers", images: " ", price: " " },{ label: "Heritage Hampers", category: "Collection", url: "/collections/heritage-hampers", images: " ", price: " " },{ label: "Heritage Ramadan Hampers", category: "Collection", url: "/collections/heritage-ramadan-hampers", images: " ", price: " " },{ label: "Hexa Hampers", category: "Collection", url: "/collections/hexa-hampers", images: " ", price: " " },{ label: "Hexa Hampers Luar Jadetabek", category: "Collection", url: "/collections/hexa-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Hexa Newborn", category: "Collection", url: "/collections/hexa-newborn", images: " ", price: " " },{ label: "Holo Bag", category: "Collection", url: "/collections/holo-bag", images: " ", price: " " },{ label: "Holo Series", category: "Collection", url: "/collections/holo-series", images: " ", price: " " },{ label: "Home Decoration & Photo Frame", category: "Collection", url: "/collections/home-decoration", images: " ", price: " " }
7634,{ label: "Hospitalization", category: "Collection", url: "/collections/axa-hospitalization", images: " ", price: " " },{ label: "House Hampers", category: "Collection", url: "/collections/house-hampers", images: " ", price: " " },{ label: "I'm Sorry", category: "Collection", url: "/collections/rangkaian-bunga-sorry", images: " ", price: " " },{ label: "Ice Cream Cake", category: "Collection", url: "/collections/ice-cream-cake", images: " ", price: " " },{ label: "Idul Fitri", category: "Collection", url: "/collections/rangkaian-bunga-idul-fitri", images: " ", price: " " },{ label: "Jam Tangan", category: "Collection", url: "/collections/jam-tangan", images: " ", price: " " },{ label: "Jam Tangan Couple", category: "Collection", url: "/collections/jam-tangan-couple", images: " ", price: " " },{ label: "Jam Tangan Pria", category: "Collection", url: "/collections/jam-tangan-pria", images: " ", price: " " },{ label: "Jam Tangan Wanita", category: "Collection", url: "/collections/jam-tangan-wanita", images: " ", price: " " },{ label: "Jasa Packing Parcel", category: "Collection", url: "/collections/jasa-packing-parcel", images: " ", price: " " },{ label: "Jewelry", category: "Collection", url: "/collections/jewelry", images: " ", price: " " },{ label: "Jolly Hampers", category: "Collection", url: "/collections/jolly-hampers", images: " ", price: " " },{ label: "Jual Custom Cake & Hampers Termurah & Terlengkap | Outerbloom Florist & Gift", category: "Collection", url: "/collections/custom-cake-hampers", images: " ", price: " " },{ label: "Just Because", category: "Collection", url: "/collections/just-because", images: " ", price: " " },{ label: "Kado Makanan", category: "Collection", url: "/collections/kado-makanan", images: " ", price: " " },{ label: "Kado Minuman", category: "Collection", url: "/collections/kado-minuman", images: " ", price: " " },{ label: "Kado Natal", category: "Collection", url: "/collections/kado-natal", images: " ", price: " " },{ label: "Kado Unik", category: "Collection", url: "/collections/kado-unik", images: " ", price: " " },{ label: "Kado Valentine Nusantara", category: "Collection", url: "/collections/kado-valentine-nusantara", images: " ", price: " " },{ label: "Kado Valentine untuk Pria", category: "Collection", url: "/collections/kado-valentine-untuk-pria", images: " ", price: " " },{ label: "Kado Wisuda", category: "Collection", url: "/collections/kado-wisuda", images: " ", price: " " },{ label: "Kado Zodiak", category: "Collection", url: "/collections/kado-untuk-zodiak", images: " ", price: " " },{ label: "Karangan Bunga Aceh", category: "Collection", url: "/collections/karangan-bunga-aceh", images: " ", price: " " },{ label: "Karangan Bunga Ambon", category: "Collection", url: "/collections/karangan-bunga-ambon", images: " ", price: " " },{ label: "Karangan Bunga Atambua", category: "Collection", url: "/collections/karangan-bunga-atambua", images: " ", price: " " },{ label: "Karangan Bunga Bali", category: "Collection", url: "/collections/karangan-bunga-bali", images: " ", price: " " },{ label: "Karangan Bunga Balikpapan", category: "Collection", url: "/collections/karangan-bunga-balikpapan", images: " ", price: " " },{ label: "Karangan Bunga Bandung", category: "Collection", url: "/collections/karangan-bunga-bandung", images: " ", price: " " },{ label: "Karangan Bunga Bandung Barat", category: "Collection", url: "/collections/karangan-bunga-bandung-barat", images: " ", price: " " },{ label: "Karangan Bunga Bangka", category: "Collection", url: "/collections/karangan-bunga-bangka", images: " ", price: " " },{ label: "Karangan Bunga Banjarmasin", category: "Collection", url: "/collections/karangan-bunga-banjarmasin", images: " ", price: " " },{ label: "Karangan Bunga Banten", category: "Collection", url: "/collections/karangan-bunga-banten", images: " ", price: " " },{ label: "Karangan Bunga Banyumas", category: "Collection", url: "/collections/karangan-bunga-banyumas", images: " ", price: " " },{ label: "Karangan Bunga Banyuwangi", category: "Collection", url: "/collections/karangan-bunga-banyuwangi", images: " ", price: " " },{ label: "Karangan Bunga Batam", category: "Collection", url: "/collections/karangan-bunga-batam", images: " ", price: " " },{ label: "Karangan Bunga Baubau", category: "Collection", url: "/collections/karangan-bunga-baubau", images: " ", price: " " },{ label: "Karangan Bunga Bengkalis", category: "Collection", url: "/collections/karangan-bunga-bengkalis", images: " ", price: " " },{ label: "Karangan Bunga Bengkayang", category: "Collection", url: "/collections/karangan-bunga-bengkayang", images: " ", price: " " },{ label: "Karangan Bunga Bengkulu", category: "Collection", url: "/collections/karangan-bunga-bengkulu", images: " ", price: " " },{ label: "Karangan Bunga Blora", category: "Collection", url: "/collections/karangan-bunga-blora", images: " ", price: " " },{ label: "Karangan Bunga Bogor", category: "Collection", url: "/collections/karangan-bunga-bogor", images: " ", price: " " },{ label: "Karangan Bunga Bojonegoro", category: "Collection", url: "/collections/karangan-bunga-bojonegoro", images: " ", price: " " },{ label: "Karangan Bunga Boyolali", category: "Collection", url: "/collections/karangan-bunga-boyolali", images: " ", price: " " },{ label: "Karangan Bunga Brebes", category: "Collection", url: "/collections/karangan-bunga-brebes", images: " ", price: " " },{ label: "Karangan Bunga Bukittinggi", category: "Collection", url: "/collections/karangan-bunga-bukittinggi", images: " ", price: " " },{ label: "Karangan Bunga Ciamis", category: "Collection", url: "/collections/karangan-bunga-ciamis", images: " ", price: " " }
7634,{ label: "Karangan Bunga Cianjur", category: "Collection", url: "/collections/karangan-bunga-cianjur", images: " ", price: " " },{ label: "Karangan Bunga Cikarang", category: "Collection", url: "/collections/karangan-bunga-cikarang", images: " ", price: " " },{ label: "Karangan Bunga Cikupa", category: "Collection", url: "/collections/karangan-bunga-cikupa", images: " ", price: " " },{ label: "Karangan Bunga Cilacap", category: "Collection", url: "/collections/karangan-bunga-cilacap", images: " ", price: " " },{ label: "Karangan Bunga Cileunyi", category: "Collection", url: "/collections/karangan-bunga-cileunyi", images: " ", price: " " },{ label: "Karangan Bunga Cimahi", category: "Collection", url: "/collections/karangan-bunga-cimahi", images: " ", price: " " },{ label: "Karangan Bunga Cirebon", category: "Collection", url: "/collections/karangan-bunga-cirebon", images: " ", price: " " },{ label: "Karangan Bunga Ciwidey", category: "Collection", url: "/collections/karangan-bunga-ciwidey", images: " ", price: " " },{ label: "Karangan Bunga Danau Toba", category: "Collection", url: "/collections/karangan-bunga-danau-toba", images: " ", price: " " },{ label: "Karangan Bunga Demak", category: "Collection", url: "/collections/karangan-bunga-demak", images: " ", price: " " },{ label: "Karangan Bunga Denpasar", category: "Collection", url: "/collections/karangan-bunga-denpasar", images: " ", price: " " },{ label: "Karangan Bunga Depok", category: "Collection", url: "/collections/karangan-bunga-depok", images: " ", price: " " },{ label: "Karangan Bunga Duka Cita", category: "Collection", url: "/collections/karangan-bunga-duka-cita", images: " ", price: " " },{ label: "Karangan Bunga Garut", category: "Collection", url: "/collections/karangan-bunga-garut", images: " ", price: " " },{ label: "Karangan Bunga Gianyar", category: "Collection", url: "/collections/karangan-bunga-gianyar", images: " ", price: " " },{ label: "Karangan Bunga Gorontalo", category: "Collection", url: "/collections/karangan-bunga-gorontalo", images: " ", price: " " },{ label: "Karangan Bunga Gowa", category: "Collection", url: "/collections/karangan-bunga-gowa", images: " ", price: " " },{ label: "Karangan Bunga Gresik", category: "Collection", url: "/collections/karangan-bunga-gresik", images: " ", price: " " },{ label: "Karangan Bunga Grobogan", category: "Collection", url: "/collections/karangan-bunga-grobogan", images: " ", price: " " },{ label: "Karangan Bunga Gunung Kidul", category: "Collection", url: "/collections/karangan-bunga-gunungkidul", images: " ", price: " " },{ label: "Karangan Bunga Indramayu", category: "Collection", url: "/collections/karangan-bunga-indramayu", images: " ", price: " " },{ label: "Karangan Bunga Jakarta", category: "Collection", url: "/collections/karangan-bunga-jakarta", images: " ", price: " " },{ label: "Karangan Bunga Jambi", category: "Collection", url: "/collections/karangan-bunga-jambi", images: " ", price: " " },{ label: "Karangan Bunga Jayapura", category: "Collection", url: "/collections/karangan-bunga-jayapura", images: " ", price: " " },{ label: "Karangan Bunga Jember", category: "Collection", url: "/collections/karangan-bunga-jember", images: " ", price: " " },{ label: "Karangan Bunga Jembrana", category: "Collection", url: "/collections/karangan-bunga-jembrana", images: " ", price: " " },{ label: "Karangan Bunga Jepara", category: "Collection", url: "/collections/karangan-bunga-jepara", images: " ", price: " " },{ label: "Karangan Bunga Jombang", category: "Collection", url: "/collections/karangan-bunga-jombang", images: " ", price: " " },{ label: "Karangan Bunga Kampung Baru", category: "Collection", url: "/collections/karangan-bunga-kampung-baru", images: " ", price: " " },{ label: "Karangan Bunga Kapuas", category: "Collection", url: "/collections/karangan-bunga-kapuas", images: " ", price: " " },{ label: "Karangan Bunga Karanganyar", category: "Collection", url: "/collections/karangan-bunga-karanganyar", images: " ", price: " " },{ label: "Karangan Bunga Karangasem", category: "Collection", url: "/collections/karangan-bunga-karangasem", images: " ", price: " " },{ label: "Karangan Bunga Karawang", category: "Collection", url: "/collections/karangan-bunga-karawang", images: " ", price: " " },{ label: "Karangan Bunga Kartosuro", category: "Collection", url: "/collections/karangan-bunga-kartosuro", images: " ", price: " " },{ label: "Karangan Bunga Kebumen", category: "Collection", url: "/collections/karangan-bunga-kebumen", images: " ", price: " " },{ label: "Karangan Bunga Kediri", category: "Collection", url: "/collections/karangan-bunga-kediri", images: " ", price: " " },{ label: "Karangan Bunga Kendal", category: "Collection", url: "/collections/karangan-bunga-ken
7634dal", images: " ", price: " " },{ label: "Karangan Bunga Kendari", category: "Collection", url: "/collections/karangan-bunga-kendari", images: " ", price: " " },{ label: "Karangan Bunga Ketapang", category: "Collection", url: "/collections/karangan-bunga-ketapang", images: " ", price: " " },{ label: "Karangan Bunga Klaten", category: "Collection", url: "/collections/karangan-bunga-klaten", images: " ", price: " " },{ label: "Karangan Bunga Kota Batu", category: "Collection", url: "/collections/karangan-bunga-kota-batu", images: " ", price: " " },{ label: "Karangan Bunga Kudus", category: "Collection", url: "/collections/karangan-bunga-kudus", images: " ", price: " " },{ label: "Karangan Bunga Kupang", category: "Collection", url: "/collections/karangan-bunga-kupang", images: " ", price: " " },{ label: "Karangan Bunga Lamongan", category: "Collection", url: "/collections/karangan-bunga-lamongan", images: " ", price: " " },{ label: "Karangan Bunga Lampung", category: "Collection", url: "/collections/karangan-bunga-lampung", images: " ", price: " " },{ label: "Karangan Bunga Langkat", category: "Collection", url: "/collections/karangan-bunga-langkat", images: " ", price: " " },{ label: "Karangan Bunga Lembang", category: "Collection", url: "/collections/karangan-bunga-lembang", images: " ", price: " " },{ label: "Karangan Bunga Lombok", category: "Collection", url: "/collections/karangan-bunga-lombok", images: " ", price: " " },{ label: "Karangan Bunga Lubuk Pakam", category: "Collection", url: "/collections/karangan-bunga-lubuk-pakam", images: " ", price: " " },{ label: "Karangan Bunga Lumajang", category: "Collection", url: "/collections/karangan-bunga-lumajang", images: " ", price: " " },{ label: "Karangan Bunga Madiun", category: "Collection", url: "/collections/karangan-bunga-madiun", images: " ", price: " " },{ label: "Karangan Bunga Magelang", category: "Collection", url: "/collections/karangan-bunga-magelang", images: " ", price: " " },{ label: "Karangan Bunga Majalengka", category: "Collection", url: "/collections/karangan-bunga-majalengka", images: " ", price: " " },{ label: "Karangan Bunga Makassar", category: "Collection", url: "/collections/karangan-bunga-makassar", images: " ", price: " " },{ label: "Karangan Bunga Malang", category: "Collection", url: "/collections/karangan-bunga-malang", images: " ", price: " " },{ label: "Karangan Bunga Mamuju", category: "Collection", url: "/collections/karangan-bunga-mamuju", images: " ", price: " " },{ label: "Karangan Bunga Manado", category: "Collection", url: "/collections/karangan-bunga-manado", images: " ", price: " " },{ label: "Karangan Bunga Manokwari", category: "Collection", url: "/collections/karangan-bunga-manokwari", images: " ", price: " " },{ label: "Karangan Bunga Maros", category: "Collection", url: "/collections/karangan-bunga-maros", images: " ", price: " " },{ label: "Karangan Bunga Mataram", category: "Collection", url: "/collections/karangan-bunga-mataram", images: " ", price: " " },{ label: "Karangan Bunga Mojokerto", category: "Collection", url: "/collections/karangan-bunga-mojokerto", images: " ", price: " " },{ label: "Karangan Bunga Nganjuk", category: "Collection", url: "/collections/karangan-bunga-nganjuk", images: " ", price: " " },{ label: "Karangan Bunga Nias", category: "Collection", url: "/collections/karangan-bunga-nias", images: " ", price: " " },{ label: "Karangan Bunga Padang", category: "Collection", url: "/collections/karangan-bunga-padang", images: " ", price: " " },{ label: "Karangan Bunga Palangkaraya", category: "Collection", url: "/collections/karangan-bunga-palangkaraya", images: " ", price: " " },{ label: "Karangan Bunga Palu", category: "Collection", url: "/collections/karangan-bunga-palu", images: " ", price: " " },{ label: "Karangan Bunga Pangkal Pinang", category: "Collection", url: "/collections/karangan-bunga-pangkal-pinang", images: " ", price: " " },{ label: "Karangan Bunga Papan", category: "Collection", url: "/collections/karangan-bunga", images: " ", price: " " },{ label: "Karangan Bunga Papan Bandar Lampung", category: "Collection", url: "/collections/karangan-bunga-bandar-lampung", images: " ", price: " " },{ label: "Karangan Bunga Papan Bekasi", category: "Collection", url: "/collections/karangan-bunga-bekasi", images: " ", price: " " },{ label: "Karangan Bunga Papan Binjai", category: "Collection", url: "/collections/karangan-bunga-binjai", images: " ", price: " " },{ label: "Karangan Bunga Papan Blitar", category: "Collection", url: "/collections/karangan-bunga-blitar", images: " ", price: " " },{ label: "Karangan Bunga Papan Buleleng", category: "Collection", url: "/collections/karangan-bunga-buleleng", images: " ", price: " " },{ label: "Karangan Bunga Papan Cibubur", category: "Collection", url: "/collections/karangan-bunga-cibubur", images: " ", price: " " },{ label: "Karangan Bunga Papan Deli Serdang", category: "Collection", url: "/collections/karangan-bunga-deli-serdang", images: " ", price: " " },{ label: "Karangan Bunga Papan Jakarta Timur", category: "Collection", url: "/collections/karangan-bunga-jakarta-timur", images: " ", price: " " },{ label: "Karangan Bunga Papan Karo", category: "Collection", url: "/collections/karangan-bunga-karo", images: " ", price: " " },{ label: "Karangan Bunga Papan Medan", category: "Collection", url: "/collections/karangan-bunga-medan", images: " ", price: " " },{ label: "Karangan Bunga Papan Ngawi", category: "Collection", url: "/collections/karangan-bunga-ngawi", images: " ", price: " " },{ label: "Karangan Bunga Papan Palembang", category: "Collection", url: "/collections/karangan-bunga-palembang", images: " ", price: " " },{ label: "Karangan Bunga Papan Pemalang", category: "Collection", url: "/collections/karangan-bunga-pemalang", images: " ", price: " " },{ label: "Karangan Bunga Papan Rembang", category: "Collection", url: "/collections/karangan-bunga-rembang", images: " ", price: " " },{ label: "Karangan Bunga Papan Sragen", category: "Collection", url: "/collections/karangan-bunga-sragen", images: " ", price: " " },{ label: "Karangan Bunga Papan Tegal", category: "Collection", url: "/collections/karangan-bunga-tegal", images: " ", price: " " },{ label: "Karangan Bunga Papan Temanggung", category: "Collection", url: "/collections/karangan-bunga-temanggung", images: " ", price: " " },{ label: "Karangan Bunga Parepare", category: "Collection", url: "/collections/karangan-bunga-parepare", images: " ", price: " " },{ label: "Karangan Bunga Pasuruan", category: "Collection", url: "/collections/karangan-bunga-pasuruan", images: " ", price: " " },{ label: "Karangan Bunga Pati", category: "Collection", url: "/collections/karangan-bunga-pati", images: " ", price: " " },{ label: "Karangan Bunga Pekalongan", category: "Collection", url: "/collections/karangan-bunga-pekalongan", images: " ", price: " " },{ label: "Karangan Bunga Pekanbaru", category: "Collection", url: "/collections/karangan-bunga-pekanbaru", images: " ", price: " " },{ label: "Karangan Bunga Pematangsiantar", category: "Collection", url: "/collections/karangan-bunga-pematangsiantar", images: " ", price: " " },{ label: "Karangan Bunga Ponorogo", category: "Collection", url: "/collections/karangan-bunga-ponorogo", images: " ", price: " " },{ label: "Karangan Bunga Pontianak", category: "Collection", url: "/collections/karangan-bunga-pontianak", images: " ", price: " " },{ label: "Karangan Bunga Probolinggo", category: "Collection", url: "/collections/karangan-bunga-probolinggo", images: " ", price: " " },{ label: "Karangan Bunga Purbalingga", category: "Collection", url: "/collections/karangan-bunga-purbalingga", images: " ", price: " " },{ label: "Karangan Bunga Purwokerto", category: "Collection", url: "/collections/karangan-bunga-purwokerto", images: " ", price: " " },{ label: "Karangan Bunga Purworejo", category: "Collection", url: "/collections/karangan-bunga-purworejo", images: " ", price: " " },{ label: "Karangan Bunga Riau", category: "Collection", url: "/collections/karangan-bunga-riau", images: " ", price: " " },{ label: "Karangan Bunga Salatiga", category: "Collection", url: "/collections/karangan-bunga-salatiga", images: " ", price: " " },{ label: "Karangan Bunga Samarinda", category: "Collection", url: "/collections/karangan-bunga-samarinda", images: " ", price: " " },{ label: "Karangan Bunga Semarang", category: "Collection", url: "/collections/karangan-bunga-semarang", images: " ", price: " " },{ label: "Karangan Bunga Serang", category: "Collection", url: "/collections/karangan-bunga-serang", images: " ", price: " " },{ label: "Karangan Bunga Sibolga", category: "Collection", url: "/collections/karangan-bunga-sibolga", images: " ", price: " " },{ label: "Karangan Bunga Sidoarjo", category: "Collection", url: "/collections/karangan-bunga-sidoarjo", images: " ", price: " " },{ label: "Karangan Bunga Singkawang", category: "Collection", url: "/collections/karangan-bunga-singkawang", images: " ", price: " " },{ label: "Karangan Bunga Solo", category: "Collection", url: "/collections/karangan-bunga-solo", images: " ", price: " " },{ label: "Karangan Bunga Sorong", category: "Collection", url: "/collections/karangan-bunga-sorong", images: " ", price: " " },{ label: "Karangan Bunga Subang", category: "Collection", url: "/collections/karangan-bunga-subang", images: " ", price: " " },{ label: "Karangan Bunga Sukabumi", category: "Collection", url: "/collections/karangan-bunga-sukabumi", images: " ", price: " " },{ label: "Karangan Bunga Sumbawa", category: "Collection", url: "/collections/karangan-bunga-sumbawa", images: " ", price: " " },{ label: "Karangan Bunga Surabaya", category: "Collection", url: "/collections/karangan-bunga-surabaya", images: " ", price: " " },{ label: "Karangan Bunga Surakarta", category: "Collection", url: "/collections/karangan-bunga-surakarta", images: " ", price: " " },{ label: "Karangan Bunga Tangerang", category: "Collection", url: "/collections/karangan-bunga-tangerang", images: " ", price: " " },{ label: "Karangan Bunga Tasikmalaya", category: "Collection", url: "/collections/karangan-bunga-tasikmalaya", images: " ", price: " " },{ label: "Karangan Bunga Ternate", category: "Collection", url: "/collections/karangan-bunga-ternate", images: " ", price: " " },{ label: "Karangan Bunga Tolitoli", category: "Collection", url: "/collections/karangan-bunga-tolitoli", images: " ", price: " " },{ label: "Karangan Bunga Toraja", category: "Collection", url: "/collections/karangan-bunga-toraja", images: " ", price: " " },{ label: "Karangan Bunga Tuban", category: "Collection", url: "/collections/karangan-bunga-tuban", images: " ", price: " " },{ label: "Karangan Bunga Tulungagung", category: "Collection", url: "/collections/karangan-bunga-tulungagung", images: " ", price: " " },{ label: "Karangan Bunga Wakatobi", category: "Collection", url: "/collections/karangan-bunga-wakatobi", images: " ", price: " " },{ label: "Karangan Bunga Wiyung", category: "Collection", url: "/collections/karangan-bunga-wiyung", images: " ", price: " " },{ label: "Karangan Bunga Wonogiri", category: "Collection", url: "/collections/karangan-bunga-wonogiri", images: " ", price: " " },{ label: "Karangan Bunga Wonokromo", category: "Collection", url: "/collections/karangan-bunga-wonokromo", images: " ", price: " " },{ label: "Karangan Bunga Wonosobo", category: "Collection", url: "/collections/karangan-bunga-wonosobo", images: " ", price: " " },{ label: "Karangan Bunga Yogyakarta", category: "Collection", url: "/collections/karangan-bunga-yogyakarta", images: " ", price: " " },{ label: "Kartu Ucapan", category: "Collection", url: "/collections/kartu-ucapan", images: " ", price: " " },{ label: "Kue Anniversary", category: "Collection", url: "/collections/kue-anniversary", images: " ", price: " " },{ label: "Kue Bachelorette", category: "Collection", url: "/collections/kue-bachelorette", images: " ", price: " " },{ label: "Kue Bandung", category: "Collection", url: "/collections/kue-bandung", images: " ", price: " " },{ label: "Kue Bulan", category: "Collection", url: "/collections/kue-bulan", images: " ", price: " " },{ label: "Kue Imlek", category: "Collection", url: "/collections/kue-imlek", images: " ", price: " " },{ label: "Kue Kering", category: "Collection", url: "/collections/kue-kering", images: " ", price: " " },{ label: "Kue Natal", category: "Collection", url: "/collections/kue-natal", images: " ", price: " " },{ label: "Kue Pernikahan", category: "Collection", url: "/collections/kue-pernikahan", images: " ", price: " " },{ label: "Kue Tart", category: "Collection", url: "/collections/kue-tart", images: " ", price: " " },{ label: "Kue Tart Oma Elly", category: "Collection", url: "/collections/kue-tart-oma-elly", images: " ", price: " " },{ label: "Kue Ulang Tahun", category: "Collection", url: "/collections/kue-ulang-tahun", images: " ", price: " " },{ label: "Lalique", category: "Collection", url: "/collections/lalique", images: " ", price: " " },{ label: "Le Sucre Du Patisserie", category: "Collection", url: "/collections/le-sucre-du-patisserie", images: " ", price: " " },{ label: "Leo ♌️ 23July - 22Augst", category: "Collection", url: "/collections/kado-untuk-zodiak-leo", images: " ", price: " " },{ label: "Letter Box", category: "Collection", url: "/collections/letter-box", images: " ", price: " " },{ label: "Libra ♎️ 23Sept - 23Oct", category: "Collection", url: "/collections/kado-untuk-zodiak-libra", images: " ", price: " " },{ label: "Lilin Aromaterapi", category: "Collection", url: "/collections/lilin-aromaterapi", images: " ", price: " " },{ label: "Lily", category: "Collection", url: "/collections/bunga-lily", images: " ", price: " " },{ label: "Lindt", category: "Collection", url: "/collections/lindt", images: " ", price: " " },{ label: "Locations", category: "Collection", url: "/collections/locations", images: " ", price: " " },{ label: "Love & Romance", category: "Collection", url: "/collections/rangkaian-bunga-i-love-you", images: " ", price: " " },{ label: "Love Bag Collection", category: "Collection", url: "/collections/love-bag-collection", images: " ", price: " " },{ label: "Love Bundle", category: "Collection", url: "/collections/paket-promo-spesial-valentine", images: " ", price: " " },{ label: "Love Bundle Nusantara", category: "Collection", url: "/collections/love-bundle-nusantara", images: " ", price: " " },{ label: "Luxury Chinese New Year Hampers", category: "Collection", url: "/collections/luxury-chinese-new-year-hampers", images: " ", price: " " },{ label: "Luxury Christmas Hampers", category: "Collection", url: "/collections/luxury-christmas-hampers", images: " ", price: " " },{ label: "Luxury Hampers", category: "Collection", url: "/collections/luxury-hampers", images: " ", price: " " },{ label: "Luxury Hampers Luar Jadetabek", category: "Collection", url: "/collections/luxury-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Luxury Newborn Hampers Collection", category: "Collection", url: "/collections/luxury-newborn-hampers-collection", images: " ", price: " " },{ label: "Luxury Ramadan Hampers", category: "Collection", url: "/collections/luxury-ramadan-hampers", images: " ", price: " " },{ label: "Luxury Set", category: "Collection", url: "/collections/luxury", images: " ", price: " " },{ label: "Manual", category: "Collection", url: "/collections/manual", images: " ", price: " " },{ label: "Massimo Gelato", category: "Collection", url: "/collections/massimo-gelato", images: " ", price: " " },{ label: "Men's Collection", category: "Collection", url: "/collections/mens-collection", images: " ", price: " " },{ label: "Mercedes Benz", category: "Collection", url: "/collections/mercedes-benz", images: " ", price: " " },{ label: "Mercy Hampers", category: "Collection", url: "/collections/mercy-
7634hampers", images: " ", price: " " },{ label: "Merry Hampers", category: "Collection", url: "/collections/merry-hampers", images: " ", price: " " },{ label: "Merry Hampers Luar Jabodetabek", category: "Collection", url: "/collections/merry-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Mini Bouquet", category: "Collection", url: "/collections/mini-bouquet", images: " ", price: " " },{ label: "Miss Mondial", category: "Collection", url: "/collections/miss-mondial", images: " ", price: " " },{ label: "Modern & Chic Chinese New Year", category: "Collection", url: "/collections/modern-chic-chinese-new-year", images: " ", price: " " },{ label: "Modern & Chic Christmas Hampers", category: "Collection", url: "/collections/modern-chic-christmas", images: " ", price: " " },{ label: "Modern & Chic Hampers", category: "Collection", url: "/collections/modern-chic-hampers", images: " ", price: " " },{ label: "Modern & Chic Hampers Luar Jadetabek", category: "Collection", url: "/collections/modern-chic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Modern & Chic Ramadan Hampers", category: "Collection", url: "/collections/modern-chic-ramadan-hampers", images: " ", price: " " },{ label: "Modern & Classy Hampers", category: "Collection", url: "/collections/parcel-unik", images: " ", price: " " },{ label: "Modern 3D Cake", category: "Collection", url: "/collections/custom-3d-cake", images: " ", price: " " },{ label: "Modern Style Flowers", category: "Collection", url: "/collections/modern-style-flowers", images: " ", price: " " },{ label: "Monochrome Hampers", category: "Collection", url: "/collections/monochrome-hampers", images: " ", price: " " },{ label: "Monochrome Hampers Luar Jadetabek", category: "Collection", url: "/collections/monochrome-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Mooncake", category: "Collection", url: "/collections/kue-bulan-mooncake-2025-mid-autumn-festival", images: " ", price: " " },{ label: "Mooncake Assorted Selection", category: "Collection", url: "/collections/mooncake-assorted-selection", images: " ", price: " " },{ label: "Mother's Day", category: "Collection", url: "/collections/rangkaian-bunga-hari-ibu", images: " ", price: " " },{ label: "Mother's Day Special", category: "Collection", url: "/collections/kado-untuk-ibu", images: " ", price: " " },{ label: "Necklace", category: "Collection", url: "/collections/kalung", images: " ", price: " " },{ label: "NestBloom Bird Nest Hampers", category: "Collection", url: "/collections/nestbloom-birds-nest", images: " ", price: " " },{ label: "NestBloom Gift Set", category: "Collection", url: "/collections/nestbloom-gift-set", images: " ", price: " " },{ label: "Nestbloom Ritual Kit", category: "Collection", url: "/collections/nestbloom-ritual-kit", images: " ", price: " " },{ label: "NestBloom Single Bloom", category: "Collection", url: "/collections/nestbloom-single-bloom", images: " ", price: " " },{ label: "New Collection", category: "Collection", url: "/collections/produk-baru", images: " ", price: " " },{ label: "New Product", category: "Collection", url: "/collections/new-product", images: " ", price: " " },{ label: "Newborn", category: "Collection", url: "/collections/rangkaian-bunga-newborn-baby", images: " ", price: " " },{ label: "Newborn Hampers", category: "Collection", url: "/collections/parcel-newborn", images: " ", price: " " },{ label: "Occasions", category: "Collection", url: "/collections/occasions", images: " ", price: " " },{ label: "Oma Elly", category: "Collection", url: "/collections/oma-elly", images: " ", price: " " },{ label: "Oma Elly Gelato", category: "Collection", url: "/collections/oma-elly-gelato", images: " ", price: " " },{ label: "Orchid", category: "Collection", url: "/collections/bunga-anggrek", images: " ", price: " " },{ label: "Orori", category: "Collection", url: "/collections/orori", images: " ", price: " " },{ label: "Outerbloom", category: "Collection", url: "/collections/outerbloom", images: " ", price: " " },{ label: "Outerbloom Cake", category: "Collection", url: "/collections/outerbloom-cake", images: " ", price: " " },{ label: "Outerbloom Florist", category: "Collection", url: "/collections/outerbloom-florist", images: " ", price: " " },{ label: "Outerbloom Gift", category: "Collection", url: "/collections/outerbloom-gift", images: " ", price: " " },{ label: "Outerbloom Hampers", category: "Collection", url: "/collections/outerbloom-hampers", images: " ", price: " " },{ label: "Outerbloom Indonesia", category: "Collection", url: "/collections/indonesia", images: " ", price: " " },{ label: "Outerbloom x Boho Panna", category: "Collection", url: "/collections/outerbloom-x-boh
7634o-panna", images: " ", price: " " },{ label: "Outerbloom x Clairmont", category: "Collection", url: "/collections/outerbloom-x-clairmont", images: " ", price: " " },{ label: "Outerbloom x Kikido", category: "Collection", url: "/collections/outerbloom-x-kikido", images: " ", price: " " },{ label: "Outerbloom x Miwa Pattern", category: "Collection", url: "/collections/outerbloom-x-miwa", images: " ", price: " " },{ label: "Outerbloom x Nestbloom Chinese New Year", category: "Collection", url: "/collections/outerbloom-x-nestbloom-chinese-new-year", images: " ", price: " " },{ label: "Outerbloom x NestBloom Hampers", category: "Collection", url: "/collections/outerbloom-x-nestbloom", images: " ", price: " " },{ label: "Paket Kolaborasi Outerbloom", category: "Collection", url: "/collections/paket-kolaborasi-outerbloom", images: " ", price: " " },{ label: "Paket Kolaborasi Valentine", category: "Collection", url: "/collections/paket-kolaborasi-valentine", images: " ", price: " " },{ label: "Paket Ulang Tahun", category: "Collection", url: "/collections/paket-ulang-tahun", images: " ", price: " " },{ label: "Paket Valentine Nusantara", category: "Collection", url: "/collections/paket-valentine-nusantara", images: " ", price: " " },{ label: "Paket Valentine Outerbloom", category: "Collection", url: "/collections/paket-valentine", images: " ", price: " " },{ label: "Papan Bunga", category: "Collection", url: "/collections/papan-bunga", images: " ", price: " " },{ label: "Papan Bunga Aceh", category: "Collection", url: "/collections/papan-bunga-aceh", images: " ", price: " " },{ label: "Papan Bunga Acrylic", category: "Collection", url: "/collections/papan-bunga-acrylic", images: " ", price: " " },{ label: "Papan Bunga Ambon", category: "Collection", url: "/collections/papan-bunga-ambon", images: " ", price: " " },{ label: "Papan Bunga Artificial", category: "Collection", url: "/collections/papan-bunga-artificial", images: " ", price: " " },{ label: "Papan Bunga Atambua", category: "Collection", url: "/collections/papan-bunga-atambua", images: " ", price: " " },{ label: "Papan Bunga Bali", category: "Collection", url: "/collections/papan-bunga-bali", images: " ", price: " " },{ label: "Papan Bunga Balikpapan", category: "Collection", url: "/collections/papan-bunga-balikpapan", images: " ", price: " " },{ label: "Papan Bunga Bandar Lampung", category: "Collection", url: "/collections/papan-bunga-bandar-lampung", images: " ", price: " " },{ label: "Papan Bunga Bandung", category: "Collection", url: "/collections/papan-bunga-bandung", images: " ", price: " " },{ label: "Papan Bunga Bandung Barat", category: "Collection", url: "/collections/papan-bunga-bandung-barat", images: " ", price: " " },{ label: "Papan Bunga Bangka", category: "Collection", url: "/collections/papan-bunga-bangka", images: " ", price: " " },{ label: "Papan Bunga Banjarmasin", category: "Collection", url: "/collections/papan-bunga-banjarmasin", images: " ", price: " " },{ label: "Papan Bunga Banten", category: "Collection", url: "/collections/papan-bunga-banten", images: " ", price: " " },{ label: "Papan Bunga Banyumas", category: "Collection", url: "/collections/papan-bunga-banyumas", images: " ", price: " " },{ label: "Papan Bunga Banyuwangi", category: "Collection", url: "/collections/papan-bunga-banyuwangi", images: " ", price: " " },{ label: "Papan Bunga Batam", category: "Collection", url: "/collections/papan-bunga-batam", images: " ", price: " " },{ label: "Papan Bunga Baubau", category: "Collection", url: "/collections/papan-bunga-baubau", images: " ", price: " " },{ label: "Papan Bunga Bekasi", category: "Collection", url: "/collections/papan-bunga-bekasi", images: " ", price: " " },{ label: "Papan Bunga Bengkalis", category: "Collection", url: "/collections/papan-bunga-bengkalis", images: " ", price: " " },{ label: "Papan Bunga Bengkayang", category: "Collection", url: "/collections/papan-bunga-bengkayang", images: " ", price: " " },{ label: "Papan Bunga Bengkulu", category: "Collection", url: "/collections/papan-bunga-bengkulu", images: " ", price: " " }
7634,{ label: "Papan Bunga Binjai", category: "Collection", url: "/collections/papan-bunga-binjai", images: " ", price: " " },{ label: "Papan Bunga Blitar", category: "Collection", url: "/collections/papan-bunga-blitar", images: " ", price: " " },{ label: "Papan Bunga Blora", category: "Collection", url: "/collections/papan-bunga-blora", images: " ", price: " " },{ label: "Papan Bunga Bogor", category: "Collection", url: "/collections/papan-bunga-bogor", images: " ", price: " " },{ label: "Papan Bunga Bojonegoro", category: "Collection", url: "/collections/papan-bunga-bojonegoro", images: " ", price: " " },{ label: "Papan Bunga Boyolali", category: "Collection", url: "/collections/papan-bunga-boyolali", images: " ", price: " " },{ label: "Papan Bunga Brebes", category: "Collection", url: "/collections/papan-bunga-brebes", images: " ", price: " " },{ label: "Papan Bunga Bukittinggi", category: "Collection", url: "/collections/papan-bunga-bukittinggi", images: " ", price: " " },{ label: "Papan Bunga Buleleng", category: "Collection", url: "/collections/papan-bunga-buleleng", images: " ", price: " " },{ label: "Papan Bunga Ciamis", category: "Collection", url: "/collections/papan-bunga-ciamis", images: " ", price: " " },{ label: "Papan Bunga Cianjur", category: "Collection", url: "/collections/papan-bunga-cianjur", images: " ", price: " " },{ label: "Papan Bunga Cibubur", category: "Collection", url: "/collections/papan-bunga-cibubur", images: " ", price: " " },{ label: "Papan Bunga Cikarang", category: "Collection", url: "/collections/papan-bunga-cikarang", images: " ", price: " " },{ label: "Papan Bunga Cikupa", category: "Collection", url: "/collections/papan-bunga-cikupa", images: " ", price: " " },{ label: "Papan Bunga Cikupa", category: "Collection", url: "/collections/papan-bunga-cikupa-1", images: " ", price: " " },{ label: "Papan Bunga Cilacap", category: "Collection", url: "/collections/papan-bunga-cilacap", images: " ", price: " " },{ label: "Papan Bunga Cileunyi", category: "Collection", url: "/collections/papan-bunga-cileunyi", images: " ", price: " " },{ label: "Papan Bunga Cirebon", category: "Collection", url: "/collections/papan-bunga-cirebon", images: " ", price: " " },{ label: "Papan Bunga Congratulations", category: "Collection", url: "/collections/papan-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Papan Bunga Congratulations Bali", category: "Collection", url: "/collections/papan-bunga-congratulations-bali", images: " ", price: " " },{ label: "Papan Bunga Congratulations Bandung", category: "Collection", url: "/collections/papan-bunga-congratulations-bandung", images: " ", price: " " },{ label: "Papan Bunga Congratulations Bekasi", category: "Collection", url: "/collections/papan-bunga-congratulations-bekasi", images: " ", price: " " },{ label: "Papan Bunga Congratulations Bogor", category: "Collection", url: "/collections/papan-bunga-congratulations-bogor", images: " ", price: " " },{ label: "Papan Bunga Congratulations Cikupa", category: "Collection", url: "/collections/papan-bunga-congratulations-cikupa", images: " ", price: " " },{ label: "Papan Bunga Congratulations Demak", category: "Collection", url: "/collections/papan-bunga-congratulations-demak", images: " ", price: " " },{ label: "Papan Bunga Congratulations Depok", category: "Collection", url: "/collections/papan-bunga-congratulations-depok", images: " ", price: " " },{ label: "Papan Bunga Congratulations Gresik", category: "Collection", url: "/collections/papan-bunga-congratulations-gresik", images: " ", price: " " },{ label: "Papan Bunga Congratulations Jakarta", category: "Collection", url: "/collections/papan-bunga-congratulations-jakarta", images: " ", price: " " },{ label: "Papan Bunga Congratulations Jepara", category: "Collection", url: "/collections/papan-bunga-congratulations-jepara", images: " ", price: " " },{ label: "Papan Bunga Congratulations Medan", category: "Collection", url: "/collections/papan-bunga-congratulations-medan", images: " ", price: " " },{ label: "Papan Bunga Congratulations Semarang", category: "Collection", url: "/collections/papan-bunga-congratulations-semarang", images: " ", price: " " }
7634,{ label: "Papan Bunga Congratulations Serang", category: "Collection", url: "/collections/papan-bunga-congratulations-serang", images: " ", price: " " },{ label: "Papan Bunga Congratulations Sidoarjo", category: "Collection", url: "/collections/papan-bunga-congratulations-sidoarjo", images: " ", price: " " },{ label: "Papan Bunga Congratulations Surabaya", category: "Collection", url: "/collections/papan-bunga-congratulations-surabaya", images: " ", price: " " },{ label: "Papan Bunga Congratulations Tangerang", category: "Collection", url: "/collections/papan-bunga-congratulations-tangerang", images: " ", price: " " },{ label: "Papan Bunga Congratulations Yogyakarta", category: "Collection", url: "/collections/papan-bunga-congratulations-yogyakarta", images: " ", price: " " },{ label: "Papan Bunga Danau Toba", category: "Collection", url: "/collections/papan-bunga-danau-toba", images: " ", price: " " },{ label: "Papan Bunga Deli Serdang", category: "Collection", url: "/collections/papan-bunga-deli-serdang", images: " ", price: " " },{ label: "Papan Bunga Demak", category: "Collection", url: "/collections/papan-bunga-demak", images: " ", price: " " },{ label: "Papan Bunga Denpasar", category: "Collection", url: "/collections/papan-bunga-denpasar", images: " ", price: " " },{ label: "Papan Bunga Depok", category: "Collection", url: "/collections/papan-bunga-depok", images: " ", price: " " },{ label: "Papan Bunga Duka Cita", category: "Collection", url: "/collections/bunga-duka-cita", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Bali", category: "Collection", url: "/collections/papan-bunga-duka-cita-bali", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Bandung", category: "Collection", url: "/collections/papan-bunga-duka-cita-bandung", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Bekasi", category: "Collection", url: "/collections/papan-bunga-duka-cita-bekasi", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Bogor", category: "Collection", url: "/collections/papan-bunga-duka-cita-bogor", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Cikupa", category: "Collection", url: "/collections/papan-bunga-duka-cita-cikupa", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Demak", category: "Collection", url: "/collections/papan-bunga-duka-cita-demak", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Depok", category: "Collection", url: "/collections/papan-bunga-duka-cita-depok", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Gresik", category: "Collection", url: "/collections/papan-bunga-duka-cita-gresik", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Jakarta", category: "Collection", url: "/collections/papan-bunga-duka-cita-jakarta", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Jepara", category: "Collection", url: "/collections/papan-bunga-duka-cita-jepara", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Medan", category: "Collection", url: "/collections/papan-bunga-duka-cita-medan", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Semarang", category: "Collection", url: "/collections/papan-bunga-duka-cita-semarang", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Serang", category: "Collection", url: "/collections/papan-bunga-duka-cita-serang", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Sidoarjo", category: "Collection", url: "/collections/papan-bunga-duka-cita-sidoarjo", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Surabaya", category: "Collection", url: "/collections/papan-bunga-duka-cita-surabaya", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Tangerang", category: "Collection", url: "/collections/papan-bunga-duka-cita-tangerang", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Yogyakarta", category: "Collection", url: "/collections/papan-bunga-duka-cita-yogyakarta", images: " ", price: " " },{ label: "Papan Bunga Garut", category: "Collection", url: "/collections/papan-bunga-garut", images: " ", price: " " },{ label: "Papan Bunga Gianyar", category: "Collection", url: "/collections/papan-bunga-gianyar", images: " ", price: " " }
7634,{ label: "Papan Bunga Gorontalo", category: "Collection", url: "/collections/papan-bunga-gorontalo", images: " ", price: " " },{ label: "Papan Bunga Gowa", category: "Collection", url: "/collections/papan-bunga-gowa", images: " ", price: " " },{ label: "Papan Bunga Gresik", category: "Collection", url: "/collections/papan-bunga-gresik", images: " ", price: " " },{ label: "Papan Bunga Grobogan", category: "Collection", url: "/collections/papan-bunga-grobogan", images: " ", price: " " },{ label: "Papan Bunga Gunungkidul", category: "Collection", url: "/collections/papan-bunga-gunungkidul", images: " ", price: " " },{ label: "Papan Bunga Indramayu", category: "Collection", url: "/collections/papan-bunga-indramayu", images: " ", price: " " },{ label: "Papan Bunga Jakarta", category: "Collection", url: "/collections/papan-bunga-jakarta", images: " ", price: " " },{ label: "Papan Bunga Jakarta Timur", category: "Collection", url: "/collections/papan-bunga-jakarta-timur", images: " ", price: " " },{ label: "Papan Bunga Jambi", category: "Collection", url: "/collections/papan-bunga-jambi", images: " ", price: " " },{ label: "Papan Bunga Jayapura", category: "Collection", url: "/collections/papan-bunga-jayapura", images: " ", price: " " },{ label: "Papan Bunga Jember", category: "Collection", url: "/collections/papan-bunga-jember", images: " ", price: " " },{ label: "Papan Bunga Jembrana", category: "Collection", url: "/collections/papan-bunga-jembrana", images: " ", price: " " },{ label: "Papan Bunga Jepara", category: "Collection", url: "/collections/papan-bunga-jepara", images: " ", price: " " },{ label: "Papan Bunga Jombang", category: "Collection", url: "/collections/papan-bunga-jombang", images: " ", price: " " },{ label: "Papan Bunga Kampung Baru", category: "Collection", url: "/collections/papan-bunga-kampung-baru", images: " ", price: " " },{ label: "Papan Bunga Kapuas", category: "Collection", url: "/collections/papan-bunga-kapuas", images: " ", price: " " },{ label: "Papan Bunga Karanganyar", category: "Collection", url: "/collections/papan-bunga-karanganyar", images: " ", price: " " },{ label: "Papan Bunga Karangasem", category: "Collection", url: "/collections/papan-bunga-karangasem", images: " ", price: " " },{ label: "Papan Bunga Karawang", category: "Collection", url: "/collections/papan-bunga-karawang", images: " ", price: " " },{ label: "Papan Bunga Karo", category: "Collection", url: "/collections/papan-bunga-karo", images: " ", price: " " },{ label: "Papan Bunga Kartosuro", category: "Collection", url: "/collections/papan-bunga-kartosuro", images: " ", price: " " },{ label: "Papan Bunga Kebumen", category: "Collection", url: "/collections/papan-bunga-kebumen", images: " ", price: " " },{ label: "Papan Bunga Kediri", category: "Collection", url: "/collections/papan-bunga-kediri", images: " ", price: " " },{ label: "Papan Bunga Kendal", category: "Collection", url: "/collections/papan-bunga-kendal", images: " ", price: " " },{ label: "Papan Bunga Kendari", category: "Collection", url: "/collections/papan-bunga-kendari", images: " ", price: " " },{ label: "Papan Bunga Ketapang", category: "Collection", url: "/collections/papan-bunga-ketapang", images: " ", price: " " },{ label: "Papan Bunga Klaten", category: "Collection", url: "/collections/papan-bunga-klaten", images: " ", price: " " },{ label: "Papan Bunga Kota Batu", category: "Collection", url: "/collections/papan-bunga-kota-batu", images: " ", price: " " },{ label: "Papan Bunga Kudus", category: "Collection", url: "/collections/papan-bunga-kudus", images: " ", price: " " },{ label: "Papan Bunga Kupang", category: "Collection", url: "/collections/papan-bunga-kupang", images: " ", price: " " },{ label: "Papan Bunga Lamongan", category: "Collection", url: "/collections/papan-bunga-lamongan", images: " ", price: " " },{ label: "Papan Bunga Lampu LED", category: "Collection", url: "/collections/papan-bunga-lampu-led", images: " ", price: " " },{ label: "Papan Bunga Lampung", category: "Collection", url: "/collections/papan-bunga-lampung", images: " ", price: " " }
7634,{ label: "Papan Bunga Langkat", category: "Collection", url: "/collections/papan-bunga-langkat", images: " ", price: " " },{ label: "Papan Bunga Lembang", category: "Collection", url: "/collections/papan-bunga-lembang", images: " ", price: " " },{ label: "Papan Bunga Lombok", category: "Collection", url: "/collections/papan-bunga-lombok", images: " ", price: " " },{ label: "Papan Bunga Lubuk Pakam", category: "Collection", url: "/collections/papan-bunga-lubuk-pakam", images: " ", price: " " },{ label: "Papan Bunga Lumajang", category: "Collection", url: "/collections/papan-bunga-lumajang", images: " ", price: " " },{ label: "Papan Bunga Madiun", category: "Collection", url: "/collections/papan-bunga-madiun", images: " ", price: " " },{ label: "Papan Bunga Magelang", category: "Collection", url: "/collections/papan-bunga-magelang", images: " ", price: " " },{ label: "Papan Bunga Majalengka", category: "Collection", url: "/collections/papan-bunga-majalengka", images: " ", price: " " },{ label: "Papan Bunga Makassar", category: "Collection", url: "/collections/papan-bunga-makassar", images: " ", price: " " },{ label: "Papan Bunga Malang", category: "Collection", url: "/collections/papan-bunga-malang", images: " ", price: " " },{ label: "Papan Bunga Mamuju", category: "Collection", url: "/collections/papan-bunga-mamuju", images: " ", price: " " },{ label: "Papan Bunga Manado", category: "Collection", url: "/collections/papan-bunga-manado", images: " ", price: " " },{ label: "Papan Bunga Manokwari", category: "Collection", url: "/collections/papan-bunga-manokwari", images: " ", price: " " },{ label: "Papan Bunga Maros", category: "Collection", url: "/collections/papan-bunga-maros", images: " ", price: " " },{ label: "Papan Bunga Mataram", category: "Collection", url: "/collections/papan-bunga-mataram", images: " ", price: " " },{ label: "Papan Bunga Medan", category: "Collection", url: "/collections/papan-bunga-medan", images: " ", price: " " },{ label: "Papan Bunga Mojokerto", category: "Collection", url: "/collections/papan-bunga-mojokerto", images: " ", price: " " },{ label: "Papan Bunga Nganjuk", category: "Collection", url: "/collections/papan-bunga-nganjuk", images: " ", price: " " },{ label: "Papan Bunga Ngawi", category: "Collection", url: "/collections/papan-bunga-ngawi", images: " ", price: " " },{ label: "Papan Bunga Nias", category: "Collection", url: "/collections/papan-bunga-nias", images: " ", price: " " },{ label: "Papan Bunga Organza", category: "Collection", url: "/collections/papan-bunga-organza", images: " ", price: " " },{ label: "Papan Bunga Padang", category: "Collection", url: "/collections/papan-bunga-padang", images: " ", price: " " },{ label: "Papan Bunga Palangkaraya", category: "Collection", url: "/collections/papan-bunga-palangkaraya", images: " ", price: " " },{ label: "Papan Bunga Palembang", category: "Collection", url: "/collections/papan-bunga-palembang", images: " ", price: " " },{ label: "Papan Bunga Palu", category: "Collection", url: "/collections/papan-bunga-palu", images: " ", price: " " },{ label: "Papan Bunga Pangkal Pinang", category: "Collection", url: "/collections/papan-bunga-pangkal-pinang", images: " ", price: " " },{ label: "Papan Bunga Parepare", category: "Collection", url: "/collections/papan-bunga-parepare", images: " ", price: " " },{ label: "Papan Bunga Pasuruan", category: "Collection", url: "/collections/papan-bunga-pasuruan", images: " ", price: " " },{ label: "Papan Bunga Pati", category: "Collection", url: "/collections/papan-bunga-pati", images: " ", price: " " },{ label: "Papan Bunga Pekalongan", category: "Collection", url: "/collections/papan-bunga-pekalongan", images: " ", price: " " },{ label: "Papan Bunga Pekanbaru", category: "Collection", url: "/collections/papan-bunga-pekanbaru", images: " ", price: " " },{ label: "Papan Bunga Pemalang", category: "Collection", url: "/collections/papan-bunga-pemalang", images: " ", price: " " },{ label: "Papan Bunga Pematangsiantar", category: "Collection", url: "/collections/papan-bunga-pematangsiantar", images: " ", price: " " }
7634,{ label: "Papan Bunga Pernikahan Bali", category: "Collection", url: "/collections/papan-bunga-pernikahan-bali", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Bandung", category: "Collection", url: "/collections/papan-bunga-pernikahan-bandung", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Bekasi", category: "Collection", url: "/collections/papan-bunga-pernikahan-bekasi", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Bogor", category: "Collection", url: "/collections/papan-bunga-pernikahan-bogor", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Cikupa", category: "Collection", url: "/collections/papan-bunga-pernikahan-cikupa", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Demak", category: "Collection", url: "/collections/papan-bunga-pernikahan-demak", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Depok", category: "Collection", url: "/collections/papan-bunga-pernikahan-depok", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Gresik", category: "Collection", url: "/collections/papan-bunga-pernikahan-gresik", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Jakarta", category: "Collection", url: "/collections/papan-bunga-pernikahan-jakarta", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Jepara", category: "Collection", url: "/collections/papan-bunga-pernikahan-jepara", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Medan", category: "Collection", url: "/collections/papan-bunga-pernikahan-medan", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Semarang", category: "Collection", url: "/collections/papan-bunga-pernikahan-semarang", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Serang", category: "Collection", url: "/collections/papan-bunga-pernikahan-serang", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Sidoarjo", category: "Collection", url: "/collections/papan-bunga-pernikahan-sidoarjo", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Surabaya", category: "Collection", url: "/collections/papan-bunga-pernikahan-surabaya", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Tangerang", category: "Collection", url: "/collections/papan-bunga-pernikahan-tangerang", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Yogyakarta", category: "Collection", url: "/collections/papan-bunga-pernikahan-yogyakarta", images: " ", price: " " },{ label: "Papan Bunga Ponorogo", category: "Collection", url: "/collections/papan-bunga-ponorogo", images: " ", price: " " },{ label: "Papan Bunga Pontianak", category: "Collection", url: "/collections/papan-bunga-pontianak", images: " ", price: " " },{ label: "Papan Bunga Premium", category: "Collection", url: "/collections/papan-bunga-premium", images: " ", price: " " },{ label: "Papan Bunga Printing", category: "Collection", url: "/collections/papan-bunga-printing", images: " ", price: " " },{ label: "Papan Bunga Printing Congratulations", category: "Collection", url: "/collections/papan-bunga-printing-congratulations", images: " ", price: " " },{ label: "Papan Bunga Probolinggo", category: "Collection", url: "/collections/papan-bunga-probolinggo", images: " ", price: " " },{ label: "Papan Bunga Promo", category: "Collection", url: "/collections/promo-papan-bunga", images: " ", price: " " },{ label: "Papan Bunga Purbalingga", category: "Collection", url: "/collections/papan-bunga-purbalingga", images: " ", price: " " },{ label: "Papan Bunga Purwokerto", category: "Collection", url: "/collections/papan-bunga-purwokerto", images: " ", price: " " },{ label: "Papan Bunga Purworejo", category: "Collection", url: "/collections/papan-bunga-purworejo", images: " ", price: " " },{ label: "Papan Bunga Rembang", category: "Collection", url: "/collections/papan-bunga-rembang", images: " ", price: " " },{ label: "Papan Bunga Riau", category: "Collection", url: "/collections/papan-bunga-riau", images: " ", price: " " },{ label: "Papan Bunga Salatiga", category: "Collection", url: "/collections/papan-bunga-salatiga", images: " ", price: " " }
7634,{ label: "Papan Bunga Samarinda", category: "Collection", url: "/collections/papan-bunga-samarinda", images: " ", price: " " },{ label: "Papan Bunga Selamat Bandung", category: "Collection", url: "/collections/papan-bunga-selamat-bandung", images: " ", price: " " },{ label: "Papan Bunga Selamat Medan", category: "Collection", url: "/collections/papan-bunga-selamat-medan", images: " ", price: " " },{ label: "Papan Bunga Semarang", category: "Collection", url: "/collections/papan-bunga-semarang", images: " ", price: " " },{ label: "Papan Bunga Serang", category: "Collection", url: "/collections/papan-bunga-serang", images: " ", price: " " },{ label: "Papan Bunga Sibolga", category: "Collection", url: "/collections/papan-bunga-sibolga", images: " ", price: " " },{ label: "Papan Bunga Sidoarjo", category: "Collection", url: "/collections/papan-bunga-sidoarjo", images: " ", price: " " },{ label: "Papan Bunga Singkawang", category: "Collection", url: "/collections/papan-bunga-singkawang", images: " ", price: " " },{ label: "Papan Bunga Solo", category: "Collection", url: "/collections/papan-bunga-solo", images: " ", price: " " },{ label: "Papan Bunga Sorong", category: "Collection", url: "/collections/papan-bunga-sorong", images: " ", price: " " },{ label: "Papan Bunga Sragen", category: "Collection", url: "/collections/papan-bunga-sragen", images: " ", price: " " },{ label: "Papan Bunga Standard", category: "Collection", url: "/collections/papan-bunga-standard", images: " ", price: " " },{ label: "Papan Bunga Subang", category: "Collection", url: "/collections/papan-bunga-subang", images: " ", price: " " },{ label: "Papan Bunga Sukabumi", category: "Collection", url: "/collections/papan-bunga-sukabumi", images: " ", price: " " },{ label: "Papan Bunga Sumbawa", category: "Collection", url: "/collections/papan-bunga-sumbawa", images: " ", price: " " },{ label: "Papan Bunga Surabaya", category: "Collection", url: "/collections/papan-bunga-surabaya", images: " ", price: " " },{ label: "Papan Bunga Surakarta", category: "Collection", url: "/collections/papan-bunga-surakarta", images: " ", price: " " },{ label: "Papan Bunga Tangerang", category: "Collection", url: "/collections/papan-bunga-tangerang", images: " ", price: " " },{ label: "Papan Bunga Tasikmalaya", category: "Collection", url: "/collections/papan-bunga-tasikmalaya", images: " ", price: " " },{ label: "Papan Bunga Tegal", category: "Collection", url: "/collections/papan-bunga-tegal", images: " ", price: " " },{ label: "Papan Bunga Temanggung", category: "Collection", url: "/collections/papan-bunga-temanggung", images: " ", price: " " },{ label: "Papan Bunga Ternate", category: "Collection", url: "/collections/papan-bunga-ternate", images: " ", price: " " },{ label: "Papan Bunga Tolitoli", category: "Collection", url: "/collections/papan-bunga-tolitoli", images: " ", price: " " },{ label: "Papan Bunga Toraja", category: "Collection", url: "/collections/papan-bunga-toraja", images: " ", price: " " },{ label: "Papan Bunga Tuban", category: "Collection", url: "/collections/papan-bunga-tuban", images: " ", price: " " },{ label: "Papan Bunga Tulungagung", category: "Collection", url: "/collections/papan-bunga-tulungagung", images: " ", price: " " },{ label: "Papan Bunga Wakatobi", category: "Collection", url: "/collections/papan-bunga-wakatobi", images: " ", price: " " },{ label: "Papan Bunga Wedding", category: "Collection", url: "/collections/papan-bunga-ucapan-pernikahan", images: " ", price: " " },{ label: "Papan Bunga Wiyung", category: "Collection", url: "/collections/papan-bunga-wiyung", images: " ", price: " " },{ label: "Papan Bunga Wonogiri", category: "Collection", url: "/collections/papan-bunga-wonogiri", images: " ", price: " " },{ label: "Papan Bunga Wonokromo", category: "Collection", url: "/collections/papan-bunga-wonokromo", images: " ", price: " " },{ label: "Papan Bunga Wonosobo", category: "Collection", url: "/collections/papan-bunga-wonosobo", images: " ", price: " " },{ label: "Papan Bunga Yogyakarta", category: "Collection", url: "/collections/papan-bunga-yogyakarta", images: " ", price: " " }
7634,{ label: "Paper Flower Board", category: "Collection", url: "/collections/papan-bunga-kertas", images: " ", price: " " },{ label: "Paper Flower Board Bali", category: "Collection", url: "/collections/papan-bunga-kertas-bali", images: " ", price: " " },{ label: "Paper Flower Board Gresik", category: "Collection", url: "/collections/papan-bunga-kertas-gresik", images: " ", price: " " },{ label: "Paper Flower Board Sidoarjo", category: "Collection", url: "/collections/papan-bunga-kertas-sidoarjo", images: " ", price: " " },{ label: "Paper Flower Board Surabaya", category: "Collection", url: "/collections/papan-bunga-kertas-surabaya", images: " ", price: " " },{ label: "Paper Flower Board Yogyakarta", category: "Collection", url: "/collections/papan-bunga-kertas-yogyakarta", images: " ", price: " " },{ label: "Parcel", category: "Collection", url: "/collections/parcel", images: " ", price: " " },{ label: "Parcel Buah", category: "Collection", url: "/collections/parcel-buah-segar", images: " ", price: " " },{ label: "Parcel Buah Bandung", category: "Collection", url: "/collections/parcel-buah-bandung", images: " ", price: " " },{ label: "Parcel Buah Semarang", category: "Collection", url: "/collections/parcel-buah-semarang", images: " ", price: " " },{ label: "Parcel Buah Sidoarjo", category: "Collection", url: "/collections/parcel-buah-sidoarjo", images: " ", price: " " },{ label: "Parcel Buah Surabaya", category: "Collection", url: "/collections/parcel-buah-surabaya", images: " ", price: " " },{ label: "Parcel Imlek 2025", category: "Collection", url: "/collections/parcel-imlek", images: " ", price: " " },{ label: "Parcel Imlek Bandung", category: "Collection", url: "/collections/parcel-imlek-bandung", images: " ", price: " " },{ label: "Parcel Imlek Nusantara", category: "Collection", url: "/collections/parcel-imlek-nusantara", images: " ", price: " " },{ label: "Parcel Lebaran Bandung", category: "Collection", url: "/collections/parcel-lebaran-bandung", images: " ", price: " " },{ label: "Parcel Lebaran Nusantara", category: "Collection", url: "/collections/parcel-lebaran-indonesia", images: " ", price: " " },{ label: "Parcel Lebaran Surabaya", category: "Collection", url: "/collections/parcel-lebaran-surabaya", images: " ", price: " " },{ label: "Parcel Makanan", category: "Collection", url: "/collections/parcel-makanan", images: " ", price: " " },{ label: "Parcel Natal & Tahun Baru 2026", category: "Collection", url: "/collections/hampers-natal", images: " ", price: " " },{ label: "Parcel Natal & Tahun Baru Bandung", category: "Collection", url: "/collections/parcel-natal-bandung", images: " ", price: " " },{ label: "Parcel Newborn Nusantara", category: "Collection", url: "/collections/parcel-newborn-nusantara", images: " ", price: " " },{ label: "Parcel Tahun Baru", category: "Collection", url: "/collections/new-year-tahun-baru", images: " ", price: " " },{ label: "Party Supplies", category: "Collection", url: "/collections/party-supplies", images: " ", price: " " },{ label: "Partysaurus", category: "Collection", url: "/collections/partysaurus", images: " ", price: " " },{ label: "Pasar Bunga Splendid Malang", category: "Collection", url: "/collections/pasar-bunga-splendid-malang", images: " ", price: " " },{ label: "Passionate Red Valentine", category: "Collection", url: "/collections/red-valentine", images: " ", price: " " },{ label: "Pendant", category: "Collection", url: "/collections/liontin", images: " ", price: " " },{ label: "Personalized Fashion", category: "Collection", url: "/collections/fashion", images: " ", price: " " },{ label: "Personalized Gift", category: "Collection", url: "/collections/personalized-gift", images: " ", price: " " },{ label: "Personalized Gift Pria", category: "Collection", url: "/collections/personalized-gift-pria", images: " ", price: " " },{ label: "Personalized Gift Wanita", category: "Collection", url: "/collections/personalized-gift-wanita", images: " ", price: " " },{ label: "Personalized Gifts", category: "Collection", url: "/collections/personalized-gifts", images: " ", price: " " },{ label: "Pesca Ice Cream Cakes", category: "Collection", url: "/collections/pesca", images: " ", price: " " },{ label: "Phone Case", category: "Collection", url: "/collections/phone-case", images: " ", price: " " },{ label: "Photobook", category: "Collection", url: "/collections/photobook", images: " ", price: " " },{ label: "Pisces ♓️ 19Feb - 20March", category: "Collection", url: "/collections/kado-untuk-zodiak-pisces", images: " ", price: " " },{ label: "Pohon Natal", category: "Collection", url: "/collections/pohon-natal", images: " ", price: " " },{ label: "Premium Hampers", category: "Collection", url: "/collections/parcel-premium", images: " ", price: " " },{ label: "Premium Newborn Hampers Collection", category: "Collection", url: "/collections/premium-newborn-hampers-collection", images: " ", price: " " },{ label: "Printing Cake", category: "Collection", url: "/collections/printing-cake", images: " ", price: " " },{ label: "Prom", category: "Collection", url: "/collections/prom", images: " ", price: " " },{ label: "Promo Merdeka", category: "Collection", url: "/collections/merdeka", images: " ", price: " " },{ label: "Rangkaian Bunga", category: "Collection", url: "/collections/rangkaian-bunga", images: " ", price: " " },{ label: "Rangkaian Bunga Dekorasi", category: "Collection", url: "/collections/rangkaian-bunga-dekorasi", images: " ", price: " " },{ label: "Rangkaian Bunga Ulang Tahun", category: "Collection", url: "/collections/rangkaian-bunga-ulang-tahun", images: " ", price: " " },{ label: "Romantic & Sweets", category: "Collection", url: "/collections/romantic-sweets", images: " ", price: " " },{ label: "Romantic Package", category: "Collection", url: "/collections/romantic-package", images: " ", price: " " },{ label: "Rose Beam", category: "Collection", url: "/collections/rose-beam", images: " ", price: " " },{ label: "Rose Box", category: "Collection", url: "/collections/rose-box", images: " ", price: " " },{ label: "Roses", category: "Collection", url: "/collections/bunga-mawar", images: " ", price: " " },{ label: "Rp 500.000 - Rp 800.000", category: "Collection", url: "/collections/rp-500-000-rp-800-000", images: " ", price: " " },{ label: "Rp 800.000 - Rp 1.000.000", category: "Collection", url: "/collections/rp-800-000-rp-1-000-000", images: " ", price: " " },{ label: "Rustic & Monochrome Ramadan Hampers", category: "Collection", url: "/collections/rustic-monochrome-ramadanhampers", images: " ", price: " " },{ label: "Rustic Bloom", category: "Collection", url: "/collections/dried-flowers", images: " ", price: " " },{ label: "Rustic Style Flowers", category: "Collection", url: "/collections/rustic-style-flowers", images: " ", price: " " },{ label: "Sagittarius ♐️ 22Nov - 21Des", category: "Collection", url: "/collections/kado-untuk-zodiak-sagittarius", images: " ", price: " " },{ label: "Sameday Delivery", category: "Collection", url: "/collections/sameday", images: " ", price: " " },{ label: "Savoury Dish", category: "Collection", url: "/collections/savoury-dish", images: " ", price: " " },{ label: "Saychiz", category: "Collection", url: "/collections/saychiz", images: " ", price: " " },{ label: "Scented Candles", category: "Collection", url: "/collections/scented-candles", images: " ", price: " " },{ label: "Scorpio ♏️ 24Oct - 21Nov", category: "Collection", url: "/collections/kado-untuk-zodiak-scorpio", images: " ", price: " " },{ label: "Self Pick-Up", category: "Collection", url: "/collections/self-pick-up", images: " ", price: " " },{ label: "Semua Produk", category: "Collection", url: "/collections/all", images: " ", price: " " },{ label: "Serenitea", category: "Collection", url: "/collections/serenitea", images: " ", price: " " },{ label: "Share Outerbloom Moment", category: "Collection", url: "/collections/share-moment", images: " ", price: " " },{ label: "Share your Happiness", category: "Collection", url: "/collections/share-happiness", images: " ", price: " " },{ label: "Signature Cake", category: "Collection", url: "/collections/signature-cake", images: " ", price: " " },{ label: "Signature Chinese New Year Hampers", category: "Collection", url: "/collections/signature-chinese-new-year-hampers", images: " ", price: " " },{ label: "Signature Christmas & New Year Hampers", category: "Collection", url: "/collections/signature-christmas-hampers", images: " ", price: " " },{ label: "Signature Hampers", category: "Collection", url: "/collections/signature-hampers", images: " ", price: " " },{ label: "Signature Hampers Luar Jadetabek", category: "Collection", url: "/collections/signature-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Signature Hampers Sameday", category: "Collection", url: "/collections/signature-hampers-sameday", images: " ", price: " " },{ label: "Signature Ramadan Hampers", category: "Collection", url: "/collections/signature-ramadan-hampers", images: " ", price: " " },{ label: "Slice Cake", category: "Collection", url: "/collections/slice-cake", images: " ", price: " " },{ label: "Snack Box", category: "Collection", url: "/collections/snack-box", images: " ", price: " " },{ label: "Sol et Terre", category: "Collection", url: "/collections/sol-et-terre", images: " ", price: " " },{ label: "Sorbet", category: "Collection", url: "/collections/sorbet", images: " ", price: " " },{ label: "Special Day", category: "Collection", url: "/collections/special-day", images: " ", price: " " },{ label: "Special Edition", category: "Collection", url: "/collections/special-edition", images: " ", price: " " },{ label: "Special For Her", category: "Collection", url: "/collections/special-for-her", images: " ", price: " " },{ label: "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "KASKUSTOTO adalah situs resmi yang memiliki fitur akses live result togel dengan cepat dan terpercaya dan fitur canggih yang kami miliki. Yogyakarta", category: "Collection", url: "/collections/standing-flower-yogyakarta", images: " ", price: " " },{ label: "Standing Giant Flower", category: "Collection", url: "/collections/standing-giant-flower", images: " ", price: " " },{ label: "Stationery", category: "Collection", url: "/collections/stationery", images: " ", price: " " },{ label: "Steekwerk", category: "Collection", url: "/collections/steekwerk", images: " ", price: " " },{ label: "Stylish Hampers", category: "Collection", url: "/collections/stylish-hampers", images: " ", price: " " },{ label: "Stylish Hampers Luar Jadetabek", category: "Collection", url: "/collections/stylish-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Succulent", category: "Collection", url: "/collections/succulent", images: " ", price: " " },{ label: "Sunflower", category: "Collection", url: "/collections/bunga-matahari", images: " ", price: " " },{ label: "Sweet & Savoury Hampers", category: "Collection", url: "/collections/sweet-savoury-hampers", images: " ", price: " " },{ label: "Sweet Gracie", category: "Collection", url: "/collections/sweet-gracie", images: " ", price: " " },{ label: "Sweet Pastel Love", category: "Collection", url: "/collections/pastel-love", images: " ", price: " " },{ label: "Sweet Pastel Love Nusantara", category: "Collection", url: "/collections/sweet-pastel-love-nusantara", images: " ", price: " " },{ label: "Sweet Treats", category: "Collection", url: "/collections/sweet-treats", images: " ", price: " " },{ label: "Sweetooth", category: "Collection", url: "/collections/sweetooth", images: " ", price: " " },{ label: "Taurus ♉️ 20April - 20May", category: "Collection", url: "/collections/kado-untuk-zodiak-taurus", images: " ", price: " " },{ label: "Teddy Bear", category: "Collection", url: "/collections/boneka-teddy-bear", images: " ", price: " " },{ label: "Teh", category: "Collection", url: "/collections/teh", images: " ", price: " " },{ label: "Test Error", category: "Collection", url: "/collections/test-error", images: " ", price: " " },{ label: "Testing", category: "Collection", url: "/collections/testing", images: " ", price: " " },{ label: "Thank You", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-terima-kasih", images: " ", price: " " },{ label: "The Classic Astoria", category: "Collection", url: "/collections/astoria", images: " ", price: " " },{ label: "The Classic Enchanted Dome", category: "Collection", url: "/collections/enchanted-dome", images: " ", price: " " },{ label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " },{ label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " },{ label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " },{ label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " },{ label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " },{ label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " },{ label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " },{ label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " },{ label: "Toko Bunga Balikpapan", category: "Collection", url: "/collections/toko-bunga
7634-balikpapan", images: " ", price: " " },{ label: "Toko Bunga Bandar Lampung", category: "Collection", url: "/collections/toko-bunga-bandar-lampung", images: " ", price: " " },{ label: "Toko Bunga Bandung", category: "Collection", url: "/collections/toko-bunga-bandung", images: " ", price: " " },{ label: "Toko Bunga Bandung Barat", category: "Collection", url: "/collections/toko-bunga-bandung-barat", images: " ", price: " " },{ label: "Toko Bunga Banjarmasin", category: "Collection", url: "/collections/toko-bunga-banjarmasin", images: " ", price: " " },{ label: "Toko Bunga Banten", category: "Collection", url: "/collections/toko-bunga-banten", images: " ", price: " " },{ label: "Toko Bunga Banyumas", category: "Collection", url: "/collections/toko-bunga-banyumas", images: " ", price: " " },{ label: "Toko Bunga Banyuwangi", category: "Collection", url: "/collections/toko-bunga-banyuwangi", images: " ", price: " " },{ label: "Toko Bunga Batam", category: "Collection", url: "/collections/toko-bunga-batam", images: " ", price: " " },{ label: "Toko Bunga Baubau", category: "Collection", url: "/collections/toko-bunga-baubau", images: " ", price: " " },{ label: "Toko Bunga Bekasi", category: "Collection", url: "/collections/toko-bunga-bekasi", images: " ", price: " " },{ label: "Toko Bunga Bengkalis", category: "Collection", url: "/collections/toko-bunga-bengkalis", images: " ", price: " " },{ label: "Toko Bunga Bengkayang", category: "Collection", url: "/collections/toko-bunga-bengkayang", images: " ", price: " " },{ label: "Toko Bunga Binjai", category: "Collection", url: "/collections/toko-bunga-binjai", images: " ", price: " " },{ label: "Toko Bunga Bintaro", category: "Collection", url: "/collections/toko-bunga-bintaro", images: " ", price: " " },{ label: "Toko Bunga Blitar", category: "Collection", url: "/collections/toko-bunga-blitar", images: " ", price: " " },{ label: "Toko Bunga Blora", category: "Collection", url: "/collections/toko-bunga-blora", images: " ", price: " " },{ label: "Toko Bunga Bogor", category: "Collection", url: "/collections/toko-bunga-bogor", images: " ", price: " " },{ label: "Toko Bunga Bojonegoro", category: "Collection", url: "/collections/toko-bunga-bojonegoro", images: " ", price: " " },{ label: "Toko Bunga Boyolali", category: "Collection", url: "/collections/toko-bunga-boyolali", images: " ", price: " " },{ label: "Toko Bunga Brebes", category: "Collection", url: "/collections/toko-bunga-brebes", images: " ", price: " " },{ label: "Toko Bunga Bukittinggi", category: "Collection", url: "/collections/toko-bunga-bukittinggi", images: " ", price: " " },{ label: "Toko Bunga Buleleng", category: "Collection", url: "/collections/toko-bunga-buleleng", images: " ", price: " " },{ label: "Toko Bunga Cakung", category: "Collection", url: "/collections/toko-bunga-cakung", images: " ", price: " " },{ label: "Toko Bunga Cawang", category: "Collection", url: "/collections/toko-bunga-cawang", images: " ", price: " " },{ label: "Toko Bunga Cempaka Putih", category: "Collection", url: "/collections/toko-bunga-cempaka-putih", images: " ", price: " " },{ label: "Toko Bunga Cengkareng", category: "Collection", url: "/collections/toko-bunga-cengkareng", images: " ", price: " " },{ label: "Toko Bunga Ciamis", category: "Collection", url: "/collections/toko-bunga-ciamis", images: " ", price: " " },{ label: "Toko Bunga Cianjur", category: "Collection", url: "/collections/toko-bunga-cianjur", images: " ", price: " " },{ label: "Toko Bunga Cibinong", category: "Collection", url: "/collections/toko-bunga-cibinong", images: " ", price: " " },{ label: "Toko Bunga Cibubur", category: "Collection", url: "/collections/toko-bunga-cibubur", images: " ", price: " " },{ label: "Toko Bunga Cijantung", category: "Collection", url: "/collections/toko-bunga-cijantung", images: " ", price: " " },{ label: "Toko Bunga Cikarang", category: "Collection", url: "/collections/toko-bunga-cikarang", images: " ", price: " " },{ label: "Toko Bunga Cikini", category: "Collection", url: "/collections/toko-bunga-cikini", images: " ", price: " " },{ label: "Toko Bunga Cilacap", category: "Collection", url: "/collections/toko-bunga-cilacap", images: " ", price: " " },{ label: "Toko Bunga Cilandak", category: "Collection", url: "/collections/toko-bunga-cilandak", images: " ", price: " " },{ label: "Toko Bunga Cileunyi", category: "Collection", url: "/collections/toko-bunga-cileunyi", images: " ", price: " " },{ label: "Toko Bunga Ciracas", category: "Collection", url: "/collections/toko-bunga-ciracas", images: " ", price: " " },{ label: "Toko Bunga Cirebon", category: "Collection", url: "/collections/toko-bunga-cirebon", images: " ", price: " " }
7634,{ label: "Toko Bunga Ciwidey", category: "Collection", url: "/collections/toko-bunga-ciwidey", images: " ", price: " " },{ label: "Toko Bunga Danau Toba", category: "Collection", url: "/collections/toko-bunga-danau-toba", images: " ", price: " " },{ label: "Toko Bunga Demak", category: "Collection", url: "/collections/toko-bunga-demak", images: " ", price: " " },{ label: "Toko Bunga Denpasar", category: "Collection", url: "/collections/toko-bunga-denpasar", images: " ", price: " " },{ label: "Toko Bunga Depok", category: "Collection", url: "/collections/toko-bunga-depok", images: " ", price: " " },{ label: "Toko Bunga Duren Sawit", category: "Collection", url: "/collections/toko-bunga-duren-sawit", images: " ", price: " " },{ label: "Toko Bunga Garut", category: "Collection", url: "/collections/toko-bunga-garut", images: " ", price: " " },{ label: "Toko Bunga Gianyar", category: "Collection", url: "/collections/toko-bunga-gianyar", images: " ", price: " " },{ label: "Toko Bunga Gowa", category: "Collection", url: "/collections/toko-bunga-gowa", images: " ", price: " " },{ label: "Toko Bunga Gresik", category: "Collection", url: "/collections/toko-bunga-gresik", images: " ", price: " " },{ label: "Toko Bunga Grobogan", category: "Collection", url: "/collections/toko-bunga-grobogan", images: " ", price: " " },{ label: "Toko Bunga Grogol", category: "Collection", url: "/collections/toko-bunga-grogol", images: " ", price: " " },{ label: "Toko Bunga Gunungkidul", category: "Collection", url: "/collections/toko-bunga-gunungkidul", images: " ", price: " " },{ label: "Toko Bunga Indramayu", category: "Collection", url: "/collections/toko-bunga-indramayu", images: " ", price: " " },{ label: "Toko Bunga Jakarta", category: "Collection", url: "/collections/toko-bunga-jakarta", images: " ", price: " " },{ label: "Toko Bunga Jakarta Barat", category: "Collection", url: "/collections/toko-bunga-jakarta-barat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Pusat", category: "Collection", url: "/collections/toko-bunga-jakarta-pusat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Selatan", category: "Collection", url: "/collections/toko-bunga-jakarta-selatan", images: " ", price: " " },{ label: "Toko Bunga Jakarta Timur", category: "Collection", url: "/collections/toko-bunga-jakarta-timur", images: " ", price: " " },{ label: "Toko Bunga Jakarta Utara", category: "Collection", url: "/collections/toko-bunga-jakarta-utara", images: " ", price: " " },{ label: "Toko Bunga Jambi", category: "Collection", url: "/collections/toko-bunga-jambi", images: " ", price: " " },{ label: "Toko Bunga Jatinegara", category: "Collection", url: "/collections/toko-bunga-jatinegara", images: " ", price: " " },{ label: "Toko Bunga Jawa & Bali", category: "Collection", url: "/collections/toko-bunga-jawa-bali", images: " ", price: " " },{ label: "Toko Bunga Jayapura", category: "Collection", url: "/collections/toko-bunga-jayapura", images: " ", price: " " },{ label: "Toko Bunga Jelambar - Florist Onine 24 Jam", category: "Collection", url: "/collections/toko-bunga-jelambar", images: " ", price: " " },{ label: "Toko Bunga Jember", category: "Collection", url: "/collections/toko-bunga-jember", images: " ", price: " " },{ label: "Toko Bunga Jembrana", category: "Collection", url: "/collections/toko-bunga-jembrana", images: " ", price: " " },{ label: "Toko Bunga Jepara", category: "Collection", url: "/collections/toko-bunga-jepara", images: " ", price: " " },{ label: "Toko Bunga Joglo", category: "Collection", url: "/collections/toko-bunga-joglo", images: " ", price: " " },{ label: "Toko Bunga Jombang", category: "Collection", url: "/collections/toko-bunga-jombang", images: " ", price: " " },{ label: "Toko Bunga Kalibata", category: "Collection", url: "/collections/toko-bunga-kalibata", images: " ", price: " " },{ label: "Toko Bunga Kalimantan", category: "Collection", url: "/collections/toko-bunga-kalimantan", images: " ", price: " " },{ label: "Toko Bunga Kalisari Semarang", category: "Collection", url: "/collections/toko-bunga-kalisari-semarang", images: " ", price: " " },{ label: "Toko Bunga Kampung Baru", category: "Collection", url: "/collections/toko-bunga-kampung-baru", images: " ", price: " " },{ label: "Toko Bunga Kapuas", category: "Collection", url: "/collections/toko-bunga-kapuas", images: " ", price: " " },{ label: "Toko Bunga Karanganyar", category: "Collection", url: "/collections/toko-bunga-karanganyar", images: " ", price: " " },{ label: "Toko Bunga Karangasem", category: "Collection", url: "/collections/toko-bunga-karangasem", images: " ", price: " " },{ label: "Toko Bunga Karawang", category: "Collection", url: "/collections/toko-bunga-karawang", images: " ", price: " " },{ label: "Toko Bunga Kartosuro", category: "Collection", url: "/collections/toko-bunga-kartosuro", images: " ", price: " " },{ label: "Toko Bunga Kayoon Surabaya", category: "Collection", url: "/collections/toko-bunga-kayoon-surabaya", images: " ", price: " " },{ label: "Toko Bunga Kebayoran Baru", category: "Collection", url: "/collections/toko-bunga-kebayoran-baru", images: " ", price: " " },{ label: "Toko Bunga Kebon Jeruk", category: "Collection", url: "/collections/toko-bunga-kebon-jeruk", images: " ", price: " " },{ label: "Toko Bunga Kebumen", category: "Collection", url: "/collections/toko-bunga-kebumen", images: " ", price: " " },{ label: "Toko Bunga Kediri", category: "Collection", url: "/collections/toko-bunga-kediri", images: " ", price: " " },{ label: "Toko Bunga Kelapa Gading", category: "Collection", url: "/collections/toko-bunga-kelapa-gading", images: " ", price: " " },{ label: "Toko Bunga Kemayoran", category: "Collection", url: "/collections/toko-bunga-kemayoran", images: " ", price: " " },{ label: "Toko Bunga Kendal", category: "Collection", url: "/collections/toko-bunga-ken
7634dal", images: " ", price: " " },{ label: "Toko Bunga Kendari", category: "Collection", url: "/collections/toko-bunga-kendari", images: " ", price: " " },{ label: "Toko Bunga Ketapang", category: "Collection", url: "/collections/toko-bunga-ketapang", images: " ", price: " " },{ label: "Toko Bunga Klaten", category: "Collection", url: "/collections/toko-bunga-klaten", images: " ", price: " " },{ label: "Toko Bunga Klender", category: "Collection", url: "/collections/toko-bunga-klender", images: " ", price: " " },{ label: "Toko Bunga Kota Baru Yogyakarta", category: "Collection", url: "/collections/toko-bunga-kota-baru-yogyakarta", images: " ", price: " " },{ label: "Toko Bunga Kota Batu", category: "Collection", url: "/collections/toko-bunga-kota-batu", images: " ", price: " " },{ label: "Toko Bunga Kramat Jati", category: "Collection", url: "/collections/toko-bunga-kramat-jati", images: " ", price: " " },{ label: "Toko Bunga Kudus", category: "Collection", url: "/collections/toko-bunga-kudus", images: " ", price: " " },{ label: "Toko Bunga Kupang", category: "Collection", url: "/collections/toko-bunga-kupang", images: " ", price: " " },{ label: "Toko Bunga Lamongan", category: "Collection", url: "/collections/toko-bunga-lamongan", images: " ", price: " " },{ label: "Toko Bunga Langkat", category: "Collection", url: "/collections/toko-bunga-langkat", images: " ", price: " " },{ label: "Toko Bunga Lebak Bulus", category: "Collection", url: "/collections/toko-bunga-lebak-bulus", images: " ", price: " " },{ label: "Toko Bunga Lembang", category: "Collection", url: "/collections/toko-bunga-lembang", images: " ", price: " " },{ label: "Toko Bunga Lenteng Agung", category: "Collection", url: "/collections/toko-bunga-lenteng-agung", images: " ", price: " " },{ label: "Toko Bunga Lombok", category: "Collection", url: "/collections/toko-bunga-lombok", images: " ", price: " " },{ label: "Toko Bunga Lubuk Pakam", category: "Collection", url: "/collections/toko-bunga-lubuk-pakam", images: " ", price: " " },{ label: "Toko Bunga Lumajang", category: "Collection", url: "/collections/toko-bunga-lumajang", images: " ", price: " " },{ label: "Toko Bunga Madiun", category: "Collection", url: "/collections/toko-bunga-madiun", images: " ", price: " " },{ label: "Toko Bunga Magelang", category: "Collection", url: "/collections/toko-bunga-magelang", images: " ", price: " " },{ label: "Toko Bunga Majalengka", category: "Collection", url: "/collections/toko-bunga-majalengka", images: " ", price: " " },{ label: "Toko Bunga Makassar", category: "Collection", url: "/collections/toko-bunga-makassar", images: " ", price: " " },{ label: "Toko Bunga Malang", category: "Collection", url: "/collections/toko-bunga-malang", images: " ", price: " " },{ label: "Toko Bunga Manado", category: "Collection", url: "/collections/toko-bunga-manado", images: " ", price: " " },{ label: "Toko Bunga Mangga Besar", category: "Collection", url: "/collections/toko-bunga-mangga-besar", images: " ", price: " " },{ label: "Toko Bunga Manokwari", category: "Collection", url: "/collections/toko-bunga-manokwari", images: " ", price: " " },{ label: "Toko Bunga Maros", category: "Collection", url: "/collections/toko-bunga-maros", images: " ", price: " " },{ label: "Toko Bunga Mataram", category: "Collection", url: "/collections/toko-bunga-mataram", images: " ", price: " " },{ label: "Toko Bunga Medan", category: "Collection", url: "/collections/toko-bunga-medan", images: " ", price: " " },{ label: "Toko Bunga Mojokerto", category: "Collection", url: "/collections/toko-bunga-mojokerto", images: " ", price: " " },{ label: "Toko Bunga Nganjuk", category: "Collection", url: "/collections/toko-bunga-nganjuk", images: " ", price: " " },{ label: "Toko Bunga Ngawi", category: "Collection", url: "/collections/toko-bunga-ngawi", images: " ", price: " " },{ label: "Toko Bunga Nias", category: "Collection", url: "/collections/toko-bunga-nias", images: " ", price: " " },{ label: "Toko Bunga Nusa Tenggara", category: "Collection", url: "/collections/toko-bunga-nusa-tenggara", images: " ", price: " " },{ label: "Toko Bunga Padang", category: "Collection", url: "/collections/toko-bunga-padang", images: " ", price: " " },{ label: "Toko Bunga Palembang", category: "Collection", url: "/collections/toko-bunga-palembang", images: " ", price: " " },{ label: "Toko Bunga Palu", category: "Collection", url: "/collections/toko-bunga-palu", images: " ", price: " " },{ label: "Toko Bunga Pangkal Pinang", category: "Collection", url: "/collections/toko-bunga-pangkal-pinang", images: " ", price: " " },{ label: "Toko Bunga Papua", category: "Collection", url: "/collections/toko-bunga-papua", images: " ", price: " " },{ label: "Toko Bunga Parepare", category: "Collection", url: "/collections/toko-bunga-parepare", images: " ", price: " " },{ label: "Toko Bunga Pasar Baru", category: "Collection", url: "/collections/toko-bunga-pasar-baru", images: " ", price: " " },{ label: "Toko Bunga Pasar Minggu", category: "Collection", url: "/collections/toko-bunga-pasar-minggu", images: " ", price: " " },{ label: "Toko Bunga Pasar Rebo", category: "Collection", url: "/collections/toko-bunga-pasar-rebo", images: " ", price: " " },{ label: "Toko Bunga Pasuruan", category: "Collection", url: "/collections/toko-bunga-pasuruan", images: " ", price: " " },{ label: "Toko Bunga Pati", category: "Collection", url: "/collections/toko-bunga-pati", images: " ", price: " " },{ label: "Toko Bunga Pekalongan", category: "Collection", url: "/collections/toko-bunga-pekalongan", images: " ", price: " " },{ label: "Toko Bunga Pekanbaru", category: "Collection", url: "/collections/toko-bunga-pekanbaru", images: " ", price: " " },{ label: "Toko Bunga Pemalang", category: "Collection", url: "/collections/toko-bunga-pemalang", images: " ", price: " " },
7635       { label: "grand salutation jabodetabek", category: "Produk", url: "/products/grand-salutation", images: "//outerbloom.com/cdn/shop/files/JKTCON1005_Grand-Salutation-Jabodetabek-WM_thumb.jpg?v=1703241523", price: "Rp 435.000" },{ label: "consolantibus jabodetabek", category: "Produk", url: "/products/consolantibus", images: "//outerbloom.com/cdn/shop/files/JKTDUK1011_Consolantibus-Jabodetabek-WM_thumb.jpg?v=1703239823", price: "Rp 435.000" },{ label: "classic midnight hand bouquet fiery red", category: "Produk", url: "/products/the-classic-midnight-hand-bouquet-fiery-red", images: "//outerbloom.com/cdn/shop/files/OBVBUN1422_Classic-Midnight-Hand-Bouquet---Fiery-Red-large_thumb.jpg?v=1757302521", price: "Rp 385.000" },{ label: "enchanted dome passionate red", category: "Produk", url: "/products/enchanted-dome-passionate-red", images: "//outerbloom.com/cdn/shop/files/Enchanted-dome-red-new-box_3_2_26c081bf-f2a5-42b4-9ce4-3c0304c498e5_thumb.jpg?v=1712639476", price: "Rp 1.435.000" },{ label: "endearing ruby", category: "Produk", url: "/products/endearing-ruby", images: "//outerbloom.com/cdn/shop/products/OUTSTF1003_Endearing-Ruby_thumb.jpg?v=1631296611", price: "Rp 585.000" },{ label: "gentle soul jabodetabek", category: "Produk", url: "/products/gentle-soul-jabodetabek", images: "//outerbloom.com/cdn/shop/files/JKTDUK1030_Gentle-Soul-Jabodetabek-WM_thumb.jpg?v=1703239894", price: "Rp 435.000" },{ label: "belleza jabodetabek", category: "Produk", url: "/products/belleza", images: "//outerbloom.com/cdn/shop/files/Belleza-Jabodetabek-LED_aecb756a-0737-45cc-8bfb-008515ca0a37_thumb.gif?v=1759229680", price: "Rp 435.000" }
7635,{ label: "majestic pink roses with baby breath bouquet", category: "Produk", url: "/products/majestic-pink-roses-with-baby-breath-bouquet", images: "//outerbloom.com/cdn/shop/products/ef4a3be9-c938-4c70-98ac-4873e7da82bf_90820a66-923a-463d-a464-81bcbe6e6644_thumb.jpg?v=1581413440", price: "Rp 485.000" },{ label: "sentiments jabodetabek", category: "Produk", url: "/products/sentiments", images: "//outerbloom.com/cdn/shop/files/Sentiments-Jabodetabek-WM_thumb.jpg?v=1759224099", price: "Rp 485.000" },{ label: "rose poetry bouquet", category: "Produk", url: "/products/rose-poetry-bouquet", images: "//outerbloom.com/cdn/shop/products/Rose-Poetry-Bouquet-20-tangkai_thumb.jpg?v=1675151039", price: "Rp 385.000" },{ label: "genuine feeling", category: "Produk", url: "/products/genuine-feeling", images: "//outerbloom.com/cdn/shop/products/OUTSTF1004Genuine-Feeling_981ade89-af27-433e-81aa-8d76175a0e4d_thumb.jpg?v=1612352389", price: "Rp 585.000" },{ label: "eternal fidelity jabodetabek", category: "Produk", url: "/products/eternal-fidelity-jabodetabek", images: "//outerbloom.com/cdn/shop/products/0b89df45-dcc1-4876-820e-61b2243a1945_964e211d-2972-46c9-8593-976210929089_thumb.jpg?v=1590491458", price: "Rp 435.000" },{ label: "rosabelle hand bouquet", category: "Produk", url: "/products/rosabelle-hand-bouquet", images: "//outerbloom.com/cdn/shop/files/OBVBUN1429_Rosabelle-Hand-Bouquet-Medium_thumb.jpg?v=1756971848", price: "Rp 385.000" },{ label: "dreaming in pink luxury in vase", category: "Produk", url: "/products/dreaming-in-pink-luxury-in-vase", images: "//outerbloom.com/cdn/shop/products/OBVBUN1051_Dreaming-In-Pink-Luxury-In-Vase_3_thumb.jpg?v=1614594504", price: "Rp 735.000" },{ label: "excito jabodetabek", category: "Produk", url: "/products/excito", images: "//outerbloom.com/cdn/shop/files/JKTCON1010_Excito-Jabodetabek-2023_thumb.gif?v=1717494677", price: "Rp 485.000" },{ label: "golden toast jabodetabek", category: "Produk", url: "/products/golden-toast", images: "//outerbloom.com/cdn/shop/products/LED-GoldenToast_thumb.gif?v=1579249585", price: "Rp 485.000" },{ label: "spirit of eminance jabodetabek", category: "Produk", url: "/products/spirit-of-eminance-jabodetabek", images: "//outerbloom.com/cdn/shop/files/JKTCON1026_Spirit-of-Eminance-Jabodetabek-newest-WM_thumb.jpg?v=1693297526", price: "Rp 485.000" },{ label: "white elysian bloom box", category: "Produk", url: "/products/white-elysian-bloom-box", images: "//outerbloom.com/cdn/shop/files/OBVBUN1704_White-Elysian-Bloom-Box_thumb.jpg?v=1757328247", price: "Rp 685.000" },{ label: "charming forevermore jabodetabek", category: "Produk", url: "/products/charming-forevermore-jabodetabek", images: "//outerbloom.com/cdn/shop/files/JKTWED1036_Charming-Forevermore-Jabodetabek-WM_thumb.jpg?v=1703239534", price: "Rp 485.000" },{ label: "moment of glory jabodetabek", category: "Produk", url: "/products/moment-of-glory-jabodetabek", images: "//outerbloom.com/cdn/shop/products/JKTCON1051_Moment-of-Glory-Jabodetabek_2_thumb.jpg?v=1596614663", price: "Rp 385.000" },{ label: "sweet romance jabodetabek", category: "Produk", url: "/products/sweet-romance", images: "//outerbloom.com/cdn/shop/products/JKTWED1005_Sweet-Romance-Jabodetabek_thumb.gif?v=1677134791", price: "Rp 635.000" },{ label: "with love bouquet", category: "Produk", url: "/products/with-love-bouquet", images: "//outerbloom.com/cdn/shop/products/c5d6fed6-8ada-4c38-ae0f-36d395aacb19_613f78f0-d52c-443b-9e13-63a151cd8ec5_thumb.jpg?v=1590748429", price: "Rp 535.000" },{ label: "sunflower yellow and with white daisies in vase", category: "Produk", url: "/products/sunflower-yellow-roses-with-white-and-yellow-daisies-in-a-glass-vase", images: "//outerbloom.com/cdn/shop/files/OBVBUN1132_Sunflower-Yellow-And-With-White-Daisies-in-Vase_thumb.jpg?v=1757930628", price: "Rp 435.000" },{ label: "everlasting peace jabodetabek", category: "Produk", url: "/products/everlasting-peace-jabodetabek", images: "//outerbloom.com/cdn/shop/products/JKTDUK1034_Everlasting-Peace-Jabodetabek_2_thumb.jpg?v=1596614613", price: "Rp 385.000" },{ label: "astoria passionate red", category: "Produk", url: "/products/astoria-passionate-red", images: "//outerbloom.com/cdn/shop/products/Astoria-passionate-red_b59b26f6-c39d-46d3-adcb-262c675bb16f_thumb.jpg?v=1633502742", price: "Rp 685.000" },{ label: "classic purple orchid majesty in vase", category: "Produk", url: "/products/classic-purple-orchid-majesty-in-vase", images: "//outerbloom.com/cdn/shop/products/Classic-Purple-Orchid-Majesty-in-Vase---White---4-Tangkai_40a5e337-283f-40f5-911c-5df9b506b9da_thumb.jpg?v=1639981404", price: "Rp 435.000" },{ label: "passion rouge bloom box", category: "Produk", url: "/products/passion-rouge-bloom-box", images: "//outerbloom.com/cdn/shop/files/OBVBUN1725_Passion-Rouge-Bloom-Box_thumb.jpg?v=1756972410", price: "Rp 385.000" },{ label: "classic white orchid majesty in vase", category: "Produk", url: "/products/classic-white-orchid-majesty-in-vase", images: "//outerbloom.com/cdn/shop/products/Classic-white-Orchid-Majesty-in-Vase---white---4-Tangkai_thumb.jpg?v=1644205542", price: "Rp 435.000" }
7635,{ label: "majestic blue romance bouquet", category: "Produk", url: "/products/majestic-blue-romance-bouquet", images: "//outerbloom.com/cdn/shop/files/OBVBUN1357_Majestic-Blue-Romance-Bouquet_99b8ba96-0e67-4eef-a00e-b2daedcddb6a_thumb.jpg?v=1757390540", price: "Rp 435.000" },{ label: "sincerely", category: "Produk", url: "/products/sincerely", images: "//outerbloom.com/cdn/shop/files/Sincerely-WM_thumb.jpg?v=1688354677", price: "Rp 585.000" },{ label: "happy days jabodetabek", category: "Produk", url: "/products/happy-days-jabodetabek", images: "//outerbloom.com/cdn/shop/files/Happy-Days-Jabodetabek_WM_thumb.jpg?v=1759224026", price: "Rp 485.000" },{ label: "solemn comfort jabodetabek", category: "Produk", url: "/products/solemn-comfort-jabodetabek", images: "//outerbloom.com/cdn/shop/products/7fe123d8-6bb2-4c0d-bd4c-f8c3032823f2_6b9c33b6-4a23-41cb-8709-fc9223fe096a_thumb.png?v=1590662086", price: "Rp 635.000" },{ label: "big dreams jabodetabek", category: "Produk", url: "/products/big-dreams", images: "//outerbloom.com/cdn/shop/files/JKTCON1002_Big-Dreams-Jabodetabek_thumb.gif?v=1717494603", price: "Rp 485.000" },{ label: "signature ramadan deluxe hampers", category: "Produk", url: "/products/outerbloom-signature-ramadhan-deluxe-hampers", images: "//outerbloom.com/cdn/shop/files/Signature-Deluxe-Hampers_thumb.jpg?v=1739242254", price: "Rp 985.000" },{ label: "amorous amos jabodetabek", category: "Produk", url: "/products/amorous-amos-jabodetabek", images: "//outerbloom.com/cdn/shop/files/Amorous-Amos-Jabodetabek-WM_thumb.jpg?v=1759224071", price: "Rp 485.000" },{ label: "pink darling bouquet", category: "Produk", url: "/products/pink-darling-bouquet", images: "//outerbloom.com/cdn/shop/products/Pink-Darling-Bouquet_thumb.jpg?v=1669969725", price: "Rp 485.000" },{ label: "black pink bouquet", category: "Produk", url: "/products/black-pink-bouquet", images: "//outerbloom.com/cdn/shop/files/Black-Pink-Bouquet_thumb.jpg?v=1756434063", price: "Rp 485.000" },{ label: "profound happiness jabodetabek", category: "Produk", url: "/products/profound-happiness-jabodetabek", images: "//outerbloom.com/cdn/shop/files/profound-happiness_thumb.gif?v=1689940309", price: "Rp 635.000" },{ label: "healing trove", category: "Produk", url: "/products/healing-trove", images: "//outerbloom.com/cdn/shop/products/2ef5379f-27a6-41ba-85c7-c65cf3ec3f08_thumb.jpg?v=1571471845", price: "Rp 485.000" },{ label: "sincerity solace", category: "Produk", url: "/products/sincerity-solace", images: "//outerbloom.com/cdn/shop/products/OUTSTF1038_sincerity-solace-WM_thumb.jpg?v=1612352477", price: "Rp 485.000" },{ label: "bellarosa bloom box", category: "Produk", url: "/products/bellarosa-bloom-box", images: "//outerbloom.com/cdn/shop/files/OBVBUN1783_Bellarosa-Bloom-Box_c0000424-411c-48ed-abf4-0de7d925ea53_thumb.jpg?v=1757316757", price: "Rp 785.000" }
7636   ];
7637 
7638              
7639         $( ".header-input-search" ).catcomplete({
7640          appendTo: ".searchResult",source: function(request, response) {
7641             var results = $.ui.autocomplete.filter(data, request.term);
7642             var predicate = function () {
7643                 var counter = { Collection: 0, Produk: 0 };
7644             var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);}
7645             return fn
7646             }();
7647             response(results.filter(predicate));
7648           },
7649           minLength:1,
7650            //results are clickable
7651           select: function( event, ui ) {window.location = ui.item.url;}
7652 });
7653 $( ".header-input-search2" ).catcomplete({
7654         appendTo: ".searchResult2",
7655                    source: function(request, response) {
7656                     var results = $.ui.autocomplete.filter(data, request.term);
7657                     var predicate = function () {
7658                         var counter = { Collection: 0, Produk: 0 };
7659               var fn = function(item) {
7660               counter[item.category] += 1;
7661   return (counter[item.category] <= 5);
7662 }
7663                return fn
7664                }();
7665 response(results.filter(predicate));
7666 },
7667   minLength:1,
7668         //results are clickable
7669         select: function( event, ui ) {
7670           window.location = ui.item.url;
7671         }
7672 });
7673 });
7674 </script>
7674
7675 
7676     
7676<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7676
7677 
7677<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7677
7678 
7679 
7679<script>
7680   ( function() {
7681     var youtube = document.querySelectorAll( ".youtube" );
7682     for (var i = 0; i < youtube.length; i++) {
7683       var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg";
7684       var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg";
7685       var image = new Image();
7686       image.src = source;
7687       image.setAttribute("data-src", datasource);
7688       image.classList.add("swiper-lazy");
7689       image.addEventListener( "load", function() {
7690         youtube[ i ].appendChild( image );
7691       }( i ) );
7692       youtube[i].addEventListener( "click", function() {
7693         var iframe = document.createElement( "iframe" );
7694         iframe.setAttribute( "width", "480" );
7695         iframe.setAttribute( "height", "480" );
7696         iframe.setAttribute( "frameborder", "0" );
7697         iframe.setAttribute( "allowfullscreen", "" );
7698         iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" );
7699         this.innerHTML = "";
7700         this.appendChild( iframe );
7701       } );
7702     };
7703 
7704   } )();
7705 
7706   /* Lazy Load */
7707   const mainLazyLoad = new LazyLoad({threshold:400});
7708   $(document).ready(function(){
7709 
7710     $("selectxxx").addClass("needsclick");
7711     FastClick.attach(document.body);
7712     
7713     var $customSelects = $('.select-search');
7714     $customSelects.select2({
7715       templateResult: function(result, container) {
7716         if (!result.id) {
7717           return result.text;
7718         }
7719         container.className += ' needsclick';
7720         return result.text;
7721       }
7722     });
7723     $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');});
7724     $(document).on('select2:open', () => {
7725       document.querySelector('.select2-search__field').focus();
7726     });
7727     
7728 
7729     $(".overlay").click(function(){
7730       $(".js-drawer-close").click();
7731     });
7732     $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){
7733       $("html").toggleClass("nav_open");
7734     });
7735     
7736     $('.swatch-element label').on('click', function(){
7737       var srcImg = $(this).data('src');
7738       $('#thumb-image-product .product-single__thumbnail').each(function(){
7739         if ($(this).attr("href") == srcImg) {
7740           $(this).trigger('click');
7741         }
7742       });
7743     });
7744     var defaultValue = $(".swatch input:checked").val()
7745     
7746     $('#purchaseProduct .swatch [type=radio]').change(function() {
7747       var optionIndex = $(this).closest('.swatch').attr('data-option-index');
7748       var optionValue = $(this).val();
7749       console.log(optionIndex, optionValue)
7750       var value = parseInt(optionValue.split(' ')[0])
7751       $(this)
7752       .closest('#purchaseProduct')
7753       .find('.single-option-selector')
7754       .eq(optionIndex)
7755       .val(optionValue)
7756       .trigger('change');
7757       
7758     });
7759     
7760   });
7761   $(document).ready(function(){
7762     $(".nav-search a").click(function(e){
7763       e.preventDefault();
7764       $(".icon-navsearch").toggle();
7765       $(".icon-navclose").toggle();
7766       $(".site-nav__item > .site-nav__link").toggle();
7767       $(".open-search").toggle();
7768       $(".open-search input").focus();
7769     });
7770     $(".best-price-guarantee").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/logo-best-price-guarantee-grid_75x.png?v=72489032173169839651752652420' alt='Logo Best Price Guarantee'>");
7771     if ($(window).width() < 768) {
7772       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7773       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7774       $(".bg-products .label-tag.free-valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/free-valentine_150x.png?v=171641187769238175351752652421' alt='Icon Free Valentine'>");
7775     } else {
7776       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7777       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7778       $(".bg-products .label-tag.free-valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/free-valentine_200x.png?v=171641187769238175351752652421' alt='Icon Free Valentine'>");
7779     }
7780     $(".bg-products .label-tag.free-cookies").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/free-cookies_80x.png?51468' alt='Icon Free Cookies'>");
7781     $(".bg-products .label-tag.mothersday").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/mothers-day_70x.png?v=171373711354766377891752652419' alt='Icon Mothers day'>");
7782   });
7783 </script>
7783
7784 
7785 
7786     
7787 
7788     
7788<script type="text/javascript">
7789       var wishlistpage = 0;
7790        
7791        var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>";
7792     </script>
7792
7793     
7794       <!-- Remove duplicate wishlist.js reference -->
7795       <style>
7796   .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.fade.in{opacity:1}.modal-open .modal{overflow-x:hidden;overflow-y:auto;z-index:999999;background-color:rgba(0,0,0,.3)}.modal-dialog{position:relative;width:auto;margin:10px}.wishlist-model .modal-dialog{width:700px}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.wishlist-model .modal-content{}.wishlist-model .modal-header{min-height:0;padding:0;border-bottom:0}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #121212;filter:alpha(opacity=20);opacity:.2}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-header .close{margin-top:-2px}.wishlist-model .close{position:absolute;top:-10px;right:-10px;background:#fff;opacity:1;width:30px;height:30px;font-size:15px;border-radius:50%;z-index:10;box-shadow:0 1px 4px 0 #121212}.wishlist-model .close .icon-close{width:25px;height:25px}.modal-body{position:relative;padding:15px}.wishlist-model .modal-body{padding:0 30px;display:flex}.wishlist-model .wishlist-left{width:66.67%;border-right:1px solid #ccc;padding:30px 0}.wishlist-model .wishlist-note{position:relative;display:inline-block;margin-bottom:20px;margin-left:35px;border-bottom:1px solid #121212;color:#121212}.wishlist-model .wishlist-note a{color: #ffffff;}.wishlist-model .wishlist-note .cirle{position:absolute;top:-4px;left:-35px;width:25px;height:25px;color:#fff;background:#121212;line-height:25px;border-radius:50%;text-align:center}.wishlist-model .wishlist-note svg{fill:#fff}.wishlist-model .wishlist-note .cirle .icon-check{vertical-align:middle}.wishlist-model .product-left{width:33.33%;float:left;margin-right:30px}.wishlist-model .wishlist-image{overflow:hidden}.wishlist-model .wishlist-image img{transition:all .3s linear}.wishlist-model .wishlist-name{padding:0;margin-bottom:10px}.wishlist-model .wishlist-name a{color: #ffffff;}.wishlist-model .wishlist-price{margin-bottom:10px}.wishlist-model .wishlist-price .price{font-weight:700;margin-right:10px;font-size:15px}.wishlist-model .wishlist-price .price_compare{color:#ccc}.wishlist-model .wishlist-right{width:33.33%;padding:30px 0;padding-left:30px}.wishlist-model .btn-quick-shop{width:100%;border-color:#121212;background:#fff;color:#121212;padding:0 30px;transition:all .2s linear;height:36px;margin-bottom:10px;text-transform:uppercase}.wishlist-model .btn-cta{width:100%;font-size:1em;border-color:#ffffff;background:#ffffff;color:#fff;padding:0;transition:all .2s linear;height:36px;line-height:36px;margin-bottom:10px}.wishlist-model .quantity-content{text-align:center}.wishlist-model .quantity-content input{outline:none;text-align:center;font-weight:600;border:1px solid #121212}.wishlist-model .quantity-content button{border-color:#121212}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}
7797 </style>
7798 
7799 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog">
7800   <div class="modal-dialog" role="document">
7801     <div class="modal-content">        
7802       <div class="modal-body">Your Wishlist is empty!</div>
7803       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>          
7804     </div>
7805   </div>
7806 </div> 
7807 
7808 <div class="wishlist-model">
7809   <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true">
7810     <div class="modal-dialog white-modal">
7811       <div class="modal-content">
7812         <div class="modal-header">
7813           <button type="button" class="close" data-dismiss="modal" aria-label="Close">
7814             <svg class="icon icon-close" version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="32" height="32" viewBox="0 0 32 32">
7815 <title>icon-close</title>
7816 <path d="M16.943 16l8.862 8.862c0.26 0.26 0.26 0.682 0 0.943s-0.682 0.26-0.943 0l-8.862-8.862-8.862 8.862c-0.26 0.26-0.682 0.26-0.943 0s-0.26-0.682 0-0.943l8.862-8.862-8.862-8.862c-0.26-0.26-0.26-0.682 0-0.943s0.682-0.26 0.943 0l8.862 8.862 8.862-8.862c0.26-0.26 0.682-0.26 0.943 0s0.26 0.682 0 0.943l-8.862 8.862z"></path>
7817 </svg>
7818           </button>
7819         </div>
7820         <div class="modal-body">
7821           <div class="wishlist-left">
7822             <div class="wishlist-note">
7823               <span class="cirle"><svg version="1.1" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="32" height="32" viewBox="0 0 32 32">
7824 <title>icon-check</title>
7825 <path d="M12 21.766l14.218-12.926c0.272-0.248 0.694-0.228 0.942 0.045s0.228 0.694-0.045 0.942l-14.667 13.333c-0.254 0.231-0.643 0.231-0.897 0l-6.667-6.061c-0.272-0.248-0.293-0.669-0.045-0.942s0.669-0.293 0.942-0.045l6.218 5.653z"></path>
7826 </svg></span>
7827               Product added to <a href="/pages/wish-list">Wishlist</a>
7828             </div>
7829             <div class="wishlist-product">
7830               <div class="product-left">
7831                 <div class="wishlist-image"></div>
7832               </div>
7833               <div class="product-right">
7834                 <div class="wishlist-name"></div>
7835                 <div class="wishlist-price"></div>
7836               </div>
7837             </div>
7838           </div>
7839           <div class="wishlist-right">
7840             <div class="wishlist-cart">
7841               <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data">                  
7842                 <div class="others-bottom">
7843                   <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a>
7844                   <button type="submit" name="add" id="AddToCart" class="btn btn-cta">
7845                     <span id="AddToCartText" class="">Beli Sekarang</span>
7846                   </button>
7847                 </div>
7848                 <div id="wishlist-variants-container" class="variants-wrapper"></div> 
7849                 <div class="quantity-content">
7850                   <label>QTY</label>
7851                   <input type="number" size="5" class="" name="quantity" value="1" />
7852                 </div>
7853               </form> 
7854             </div>
7855           </div>
7856         </div>
7857       </div>
7858     </div>
7859   </div>
7860 </div>
7861 
7862     
7863     <style>
7864        .stamped-badge[data-rating="0.0"]{display: none !Important;}
7865        
7866         div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a {
7867           border-radius: 0px;
7868       }
7869           .stamped-review-body {
7870           padding-left: 0px !important;
7871       }
7872           #product-reviews .stamped-header:after {
7873             display:none !Important;
7874           }
7875       #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget {
7876           font-family:inherit !important;
7877       }
7878     </style>
7879 
7880     
7881 
7882 <div id='stamped-rewards-init' class='stamped-rewards-init'
7883   data-key-public=''
7884 
7885 ></div>
7886 
7887     
7887<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
7887
7888     <!-- Remove duplicate jQuery reference and load wishlist script properly -->
7889     
7889<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
7889
7890 
7891     
7891<script>
7892       function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); }
7893     </script>
7893
7894     
7894<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
7894<style>
7895   .jss59 {
7896     background-color: rgba(0, 0, 0, 0.6);
7897   }
7898   .MuiBackdrop-root {
7899     top: 0;
7900     left: 0;
7901     right: 0;
7902     bottom: 0;
7903     display: flex;
7904     z-index: -1;
7905     position: fixed;
7906     align-items: center;
7907     justify-content: center;
7908     background-color: rgba(0, 0, 0, 0.5);
7909     -webkit-tap-highlight-color: transparent;
7910   }
7911   .MuiDialog-scrollPaper {
7912     display: flex;
7913     align-items: center;
7914     justify-content: center;
7915   }
7916   .MuiDialog-container {
7917     height: 100%;
7918     outline: 0;
7919   }
7920   .MuiPaper-elevation24 {
7921     box-shadow: 0px 11px 15px -7px rgba(0,0,0,0.2), 0px 24px 38px 3px rgba(0,0,0,0.14), 0px 9px 46px 8px rgba(0,0,0,0.12);
7922   }
7923   .MuiDialog-paper {
7924     margin: 32px;
7925     position: relative;
7926     overflow-y: auto;
7927   }
7928   .MuiDialog-paperScrollPaper {
7929     display: flex;
7930     max-height: calc(100% - 64px);
7931     flex-direction: column;
7932   }
7933   .MuiDialog-paperWidthSm {
7934     max-width: 600px;
7935   }
7936   #location-lock-dialog {
7937     top: 20%;
7938     left: 0;
7939     right: 0;
7940     width: 30%;
7941     margin: 0px auto;
7942     display: block;
7943     padding: 30px;
7944     z-index: 99999;
7945     position: fixed;
7946     font-size: 14px;
7947     background: rgb(0, 0, 0);
7948     box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px;
7949     text-align: center;
7950     font-family: Roboto, Arial, sans-serif;
7951     line-height: 1;
7952     border-radius: 8px;
7953     -webkit-font-smoothing: subpixel-antialiased;
7954   }
7955   .MuiButtonBase-root {
7956     color: inherit;
7957     border: 0;
7958     cursor: pointer;
7959     margin: 0;
7960     display: inline-flex;
7961     outline: 0;
7962     padding: 0;
7963     position: relative;
7964     align-items: center;
7965     user-select: none;
7966     border-radius: 0;
7967     vertical-align: middle;
7968     -moz-appearance: none;
7969     justify-content: center;
7970     text-decoration: none;
7971     background-color: transparent;
7972     -webkit-appearance: none;
7973     -webkit-tap-highlight-color: transparent;
7974   }
7975   .MuiIconButton-root {
7976     flex: 0 0 auto;
7977     color: rgba(0, 0, 0, 0.54);
7978     padding: 12px;
7979     overflow: visible;
7980     font-size: 1.5rem;
7981     text-align: center;
7982     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
7983     border-radius: 50%;
7984   }
7985   .MuiIconButton-label {
7986     width: 100%;
7987     display: flex;
7988     align-items: inherit;
7989     justify-content: inherit;
7990   }
7991   .MuiSvgIcon-root {
7992     fill: currentColor;
7993     width: 1em;
7994     height: 1em;
7995     display: inline-block;
7996     font-size: 1.5rem;
7997     transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
7998     flex-shrink: 0;
7999     user-select: none;
8000   }
8001   .MuiTouchRipple-root {
8002     top: 0;
8003     left: 0;
8004     right: 0;
8005     bottom: 0;
8006     z-index: 0;
8007     overflow: hidden;
8008     position: absolute;
8009     border-radius: inherit;
8010     pointer-events: none;
8011   }
8012   .jss36 {
8013     color: #222222;
8014     font-size: 24px;
8015     font-family: Roboto, Arial, sans-serif;
8016     font-weight: 500;
8017   }
8018   .jss37 {
8019     color: #555555;
8020     padding: 10px 0px 0px;
8021     font-size: 14px;
8022   }
8023   .MuiFormGroup-root {
8024     display: flex;
8025     flex-wrap: wrap;
8026     flex-direction: column;
8027   }
8028   .MuiFormGroup-row {
8029     flex-direction: row;
8030   }
8031   .jss63 {
8032     width: 85%;
8033     margin: 15px auto;
8034     display: flex;
8035     padding: 11px 0px 0px;
8036     justify-content: space-evenly;
8037   }
8038   .MuiFormControlLabel-root {
8039     cursor: pointer;
8040     display: inline-flex;
8041     align-items: center;
8042     margin-left: -11px;
8043     margin-right: 16px;
8044     vertical-align: middle;
8045     -webkit-tap-highlight-color: transparent;
8046   }
8047   .jss70 {
8048     margin: 0;
8049   }
8050   .MuiButtonBase-root {
8051     color: inherit;
8052     border: 0;
8053     cursor: pointer;
8054     margin: 0;
8055     display: inline-flex;
8056     outline: 0;
8057     padding: 0;
8058     position: relative;
8059     align-items: center;
8060     user-select: none;
8061     border-radius: 0;
8062     vertical-align: middle;
8063     -moz-appearance: none;
8064     justify-content: center;
8065     text-decoration: none;
8066     background-color: transparent;
8067     -webkit-appearance: none;
8068     -webkit-tap-highlight-color: transparent;
8069   }
8070   .MuiIconButton-root {
8071     flex: 0 0 auto;
8072     color: rgba(0, 0, 0, 0.54);
8073     padding: 12px;
8074     overflow: visible;
8075     font-size: 1.5rem;
8076     text-align: center;
8077     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8078     border-radius: 50%;
8079   }
8080   .MuiIconButton-colorSecondary {
8081     color: #f50057;
8082   }
8083   .jss71 {
8084     padding: 9px;
8085   }
8086   .MuiRadio-root {
8087     color: rgba(0, 0, 0, 0.54);
8088   }
8089   .jss64 {
8090     padding: 2px;
8091   }
8092   .MuiRadio-colorSecondary.Mui-checked {
8093     color: #f50057;
8094   }
8095   .MuiIconButton-label {
8096     width: 100%;
8097     display: flex;
8098     align-items: inherit;
8099     justify-content: inherit;
8100   }
8101   .MuiTypography-root {
8102     margin: 0;
8103   }
8104   .MuiTypography-body1 {
8105     font-size: 18px;
8106     font-family: Roboto,sans-serif;
8107     font-weight: 400;
8108     line-height: 1.5;
8109   }
8110   .location-popup_area-block__sp9Ws {
8111     display: -moz-box;
8112     display: flex;
8113     -moz-box-orient: vertical;
8114     -moz-box-direction: normal;
8115     flex-direction: column;
8116     -moz-box-pack: center;
8117     justify-content: center;
8118     position: relative;
8119     margin: 10px 10% 0;
8120   }
8121   .location-popup_pin-search-box__3l5mJ {
8122     width: 100%;
8123     display: -moz-box;
8124     display: flex;
8125     -moz-box-align: center;
8126     align-items: center;
8127   }
8128   .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q {
8129     position: absolute;
8130     z-index: 999;
8131   }
8132   .location-popup_place-icon__jSG0Q {
8133     color: #ffffff;
8134     padding-left: 8px;
8135   }
8136   .location-popup_place-icon__jSG0Q svg {
8137     width: 18px;
8138     height: 18px;
8139   }
8140   .location-popup_cancel-icon__FHujU {
8141     color: #fff;
8142     right: 10px;
8143     width: 16px;
8144     cursor: pointer;
8145     height: 16px;
8146     display: none;
8147     padding: 5px;
8148     position: absolute;
8149     background: #999;
8150     text-align: center;
8151     border-radius: 50%;
8152   }
8153   .location-popup_pin-search-box__3l5mJ>div>select {
8154 /*     -webkit-box-shadow: 0 0 10px #ffffff;
8155     box-shadow: 0 0 10px #ffffff; */
8156     text-transform: capitalize;
8157     border: 1px solid #ffffff;
8158     color: #ffffff;
8159     width: 100%;
8160     margin: 0;
8161     display: -moz-box;
8162     display: flex;
8163     padding: 0 30px;
8164     -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8165     -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8166     animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8167     font-size: 16px;
8168     border-radius: 4px;
8169     height: 44px;
8170     moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8171     webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8172   }
8173   .MuiButtonBase-root {
8174     color: inherit;
8175     border: 0;
8176     cursor: pointer;
8177     margin: 0;
8178     display: inline-flex;
8179     outline: 0;
8180     padding: 0;
8181     position: relative;
8182     align-items: center;
8183     user-select: none;
8184     border-radius: 0;
8185     vertical-align: middle;
8186     -moz-appearance: none;
8187     justify-content: center;
8188     text-decoration: none;
8189     background-color: transparent;
8190     -webkit-appearance: none;
8191     -webkit-tap-highlight-color: transparent;
8192   }
8193   .MuiButton-root {
8194     color: rgba(0, 0, 0, 0.87);
8195     padding: 6px 16px;
8196     font-size: 0.875rem;
8197     min-width: 64px;
8198     box-sizing: border-box;
8199     transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8200     font-family: Roboto,sans-serif;
8201     font-weight: 500;
8202     line-height: 1.75;
8203     border-radius: 4px;
8204     text-transform: uppercase;
8205   }
8206   .MuiButton-contained {
8207     color: rgba(0, 0, 0, 0.87);
8208     box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2), 0px 2px 2px 0px rgba(0,0,0,0.14), 0px 1px 5px 0px rgba(0,0,0,0.12);
8209     background-color: #e0e0e0;
8210   }
8211   .MuiButtonBase-root.Mui-disabled {
8212     cursor: default;
8213     pointer-events: none;
8214   }
8215   .MuiButton-label {
8216     width: 100%;
8217     display: inherit;
8218     align-items: inherit;
8219     justify-content: inherit;
8220   }
8221   .cartButton_login_content__2j1f7 {
8222     display: -moz-box;
8223     display: flex;
8224     text-align: center;
8225     z-index: 9;
8226     font-size: 18px;
8227     font-weight: 500;
8228     color: #fff;
8229   }
8230   
8231   .jss35 {
8232     top: 5px;
8233     right: 5px;
8234     padding: 4px;
8235     position: absolute;
8236     border-radius: 50%;
8237   }
8238   .jss67 {
8239     cursor: pointer;
8240     font-size: 15px;
8241     line-height: 1.3;
8242     padding-left: 5px;
8243   }
8244   .jss69 {
8245     color: #222222;
8246   }
8247   .jss80 {
8248     color: #fff;
8249     width: 100%;
8250     height: 52px;
8251     padding: 11px 16px;
8252     font-size: 18px;
8253     min-width: 88px;
8254     min-height: 36px;
8255     transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8256     font-weight: 500;
8257     line-weight: 1em;
8258     border-radius: 4px;
8259     text-transform: uppercase;
8260     background-color: #ff6600;
8261   }
8262   @media (min-width: 991px){
8263     .cartButton_login_content__2j1f7 {
8264         font-weight: 500;
8265     }
8266   }
8267 
8268   @media (max-width: 992px) {
8269     #location-lock-dialog {
8270       width: 100%;
8271       top: auto;
8272       bottom: 0;
8273       padding-left: 0;
8274       padding-right: 0;
8275     }
8276     .MuiFormGroup-row {
8277       display: block
8278     }
8279     .MuiIconButton-label input {
8280       margin: 0;
8281     }
8282   }
8283 </style>
8284 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;">
8285   <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div>
8286   <div tabindex="0" data-test="sentinelStart"></div>
8287   <div class="MuiDialog-container MuiDialog-scrollPaper" role="none presentation" tabindex="-1" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;">
8288     <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog">
8289       <div class="jss31 undefined" id="location-lock-dialog">
8290         <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8291           <span class="MuiIconButton-label">
8292             <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
8293               <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path>
8294             </svg>
8295           </span>
8296           <span class="MuiTouchRipple-root"></span>
8297         </button>
8298         <div>
8299           <div class="jss36">Select Delivery Location</div>
8300           <div class="jss37">Select a delivery location to see product availability</div>
8301         </div>
8302         <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup">
8303           <label for="jabodetabek" class="MuiFormControlLabel-root jss45">
8304             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false">
8305               <span class="MuiIconButton-label">
8306                 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location">
8307                 <span class="jss41"></span>
8308               </span>
8309               <span class="MuiTouchRipple-root"></span>
8310             </span>
8311             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8312               <span class="jss67 jss69">Jabodetabek</span>
8313             </span>
8314           </label>
8315           <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45">
8316             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false">
8317               <span class="MuiIconButton-label">
8318                 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location">
8319                 <span class="jss40"></span>
8320               </span>
8321               <span class="MuiTouchRipple-root"></span>
8322             </span>
8323             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8324               <span class="jss67 jss68">Outside Jabodetabek</span>
8325             </span>
8326           </label>
8327         </div>
8328         <div>
8329           <div class="MuiGrid-root location-popup_area-block__sp9Ws">
8330             <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false">
8331               <div class="MuiGrid-root location-popup_place-icon__jSG0Q">
8332                 <svg class="MuiSvgIcon-root jss6" focusable="false" viewBox="0 0 24 24" aria-hidden="true" style="font-size:16px"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path></svg>
8333               </div>
8334               <div class="MuiGrid-root location-popup_cancel-icon__FHujU false">
8335                 <i class="material-icons location-popup_clear-pin__s1dRc">close</i>
8336               </div>
8337               <div style="width: 100%;">
8338                 <select id="choose-location" class="form-control">
8339                   <option value="">Choose Location</option>
8340                   <option value="jakarta">Jakarta</option>
8341                   <option value="bogor">Bogor</option>
8342                   <option value="depok">Depok</option>
8343                   <option value="tangerang">Tangerang</option>
8344                   <option value="bekasi">Bekasi</option>
8345                 </select>
8346               </div>
8347             </div>
8348           </div>
8349         </div>
8350         <button class="MuiButtonBase-root MuiButton-root MuiButton-contained jss55" tabindex="-1" type="button" title="" id="location-lock-submit" data-idforcdp="actionBtn-cdp" data-testid="location-lock-submit" style="background-color: #ffffff; width: 80%; padding: 14px 0px 12px; margin: 20px 0px; font-size: 18px; font-weight: 500; box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 4px 0px; border-radius: 4px; color: rgb(0, 0, 0); height: 44px;" data-content="">
8351           <span class="MuiButton-label">
8352             <span class=""></span>
8353             <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span>
8354           </span>
8355         </button>
8356       </div>
8357     </div>
8358   </div>
8359   <div tabindex="0" data-test="sentinelEnd"></div>
8360 </div>
8361 
8362 
8362<script>
8363   const jabodetabek = [
8364     {
8365       "code": "jakarta",
8366       "city": "jakarta",
8367       "zip": []
8368     },
8369     {
8370       "code": "bogor",
8371       "city": "bogor",
8372       "zip": []
8373     },
8374     {
8375       "code": "depok",
8376       "city": "depok",
8377       "zip": []
8378     },
8379     {
8380       "code": "tangerang",
8381       "city": "tangerang",
8382       "zip": []
8383     },
8384     {
8385       "code": "bekasi",
8386       "city": "bekasi",
8387       "zip": []
8388     }
8389   ]
8390   let cityNonJabodetabek = [
8391     
8392
8393     
8394     
8395     "pengiriman_aceh",
8396     
8397     
8398     
8399     
8400     
8401     "pengiriman_ambon",
8402     
8403     
8404     
8405     
8406     
8407     "pengiriman_atambua",
8408     
8409     
8410     
8411     
8412     
8413     "pengiriman_badung",
8414     
8415     
8416     
8417     
8418     
8419     "pengiriman_bali",
8420     
8421     
8422     
8423     
8424     
8425     "pengiriman_balikpapan",
8426     
8427     
8428     
8429     
8430     
8431     "pengiriman_bandar lampung",
8432     
8433     
8434     
8435     
8436     
8437     "pengiriman_bandung",
8438     
8439     
8440     
8441     
8442     
8443     "pengiriman_bandung barat",
8444     
8445     
8446     
8447     
8448     
8449     "pengiriman_banjarmasin",
8450     
8451     
8452     
8453     
8454     
8455     "pengiriman_banyumas",
8456     
8457     
8458     
8459     
8460     
8461     "pengiriman_banyuwangi",
8462     
8463     
8464     
8465     
8466     
8467     "pengiriman_batam",
8468     
8469     
8470     
8471     
8472     
8473     
8474     
8475     
8476     
8477     "pengiriman_biak",
8478     
8479     
8480     
8481     
8482     
8483     "pengiriman_binjai",
8484     
8485     
8486     
8487     
8488     
8489     "pengiriman_blitar",
8490     
8491     
8492     
8493     
8494     
8495     "pengiriman_blora",
8496     
8497     
8498     
8499     
8500     
8501     
8502     
8503     
8504     
8505     "pengiriman_bojonegoro",
8506     
8507     
8508     
8509     
8510     
8511     "pengiriman_boyolali",
8512     
8513     
8514     
8515     
8516     
8517     "pengiriman_bukittinggi",
8518     
8519     
8520     
8521     
8522     
8523     "pengiriman_buleleng",
8524     
8525     
8526     
8527     
8528     
8529     "pengiriman_ciamis",
8530     
8531     
8532     
8533     
8534     
8535     "pengiriman_cianjur",
8536     
8537     
8538     
8539     
8540     
8541     "pengiriman_cibinong",
8542     
8543     
8544     
8545     
8546     
8547     "pengiriman_cikarang",
8548     
8549     
8550     
8551     
8552     
8553     "pengiriman_cikupa",
8554     
8555     
8556     
8557     
8558     
8559     "pengiriman_cilacap",
8560     
8561     
8562     
8563     
8564     
8565     "pengiriman_cileunyi",
8566     
8567     
8568     
8569     
8570     
8571     "pengiriman_cimahi",
8572     
8573     
8574     
8575     
8576     
8577     "pengiriman_cirebon",
8578     
8579     
8580     
8581     
8582     
8583     "pengiriman_ciwidey",
8584     
8585     
8586     
8587     
8588     
8589     "pengiriman_deli serdang",
8590     
8591     
8592     
8593     
8594     
8595     "pengiriman_demak",
8596     
8597     
8598     
8599     
8600     
8601     "pengiriman_denpasar",
8602     
8603     
8604     
8605
8606     
8607     
8608     "pengiriman_garut",
8609     
8610     
8611     
8612     
8613     
8614     "pengiriman_gianyar",
8615     
8616     
8617     
8618     
8619     
8620     "pengiriman_gresik",
8621     
8622     
8623     
8624     
8625     
8626     "pengiriman_gunung kidul",
8627     
8628     
8629     
8630
8631     
8632     
8633     "pengiriman_jambi",
8634     
8635     
8636     
8637     
8638     
8639     "pengiriman_jayapura",
8640     
8641     
8642     
8643     
8644     
8645     "pengiriman_jember",
8646     
8647     
8648     
8649     
8650     
8651     "pengiriman_jepara",
8652     
8653     
8654     
8655     
8656     
8657     "pengiriman_jombang",
8658     
8659     
8660     
8661     
8662     
8663     "pengiriman_karanganyar",
8664     
8665     
8666     
8667     
8668     
8669     "pengiriman_karawang",
8670     
8671     
8672     
8673     
8674     
8675     "pengiriman_karo",
8676     
8677     
8678     
8679     
8680     
8681     "pengiriman_kebumen",
8682     
8683     
8684     
8685     
8686     
8687     "pengiriman_kediri",
8688     
8689     
8690     
8691     
8692     
8693     "pengiriman_keerom",
8694     
8695     
8696     
8697     
8698     
8699     "pengiriman_kendal",
8700     
8701     
8702     
8703     
8704     
8705     "pengiriman_klaten",
8706     
8707     
8708     
8709     
8710     
8711     "pengiriman_kudus",
8712     
8713     
8714     
8715     
8716     
8717     "pengiriman_kupang",
8718     
8719     
8720     
8721     
8722     
8723     "pengiriman_lainnya",
8724     
8725     
8726     
8727     
8728     
8729     "pengiriman_lamongan",
8730     
8731     
8732     
8733     
8734     
8735     "pengiriman_lampung",
8736     
8737     
8738     
8739     
8740     
8741     "pengiriman_lampung barat",
8742     
8743     
8744     
8745     
8746     
8747     "pengiriman_lembang",
8748     
8749     
8750     
8751     
8752     
8753     "pengiriman_lombok",
8754     
8755     
8756     
8757     
8758     
8759     "pengiriman_lumajang",
8760     
8761     
8762     
8763     
8764     
8765     "pengiriman_madiun",
8766     
8767     
8768     
8769     
8770     
8771     "pengiriman_magelang",
8772     
8773     
8774     
8775     
8776     
8777     "pengiriman_majalengka",
8778     
8779     
8780     
8781     
8782     
8783     "pengiriman_makassar",
8784     
8785     
8786     
8787     
8788     
8789     "pengiriman_malang",
8790     
8791     
8792     
8793     
8794     
8795     "pengiriman_manado",
8796     
8797     
8798     
8799     
8800     
8801     "pengiriman_medan",
8802     
8803     
8804     
8805     
8806     
8807     "pengiriman_mengwi",
8808     
8809     
8810     
8811     
8812     
8813     "pengiriman_mojokerto",
8814     
8815     
8816     
8817     
8818     
8819     "pengiriman_nganjuk",
8820     
8821     
8822     
8823     
8824     
8825     "pengiriman_ngawi",
8826     
8827     
8828     
8829     
8830     
8831     "pengiriman_padang",
8832     
8833     
8834     
8835     
8836     
8837     "pengiriman_palembang",
8838     
8839     
8840     
8841     
8842     
8843     "pengiriman_pasuruan",
8844     
8845     
8846     
8847     
8848     
8849     "pengiriman_pati",
8850     
8851     
8852     
8853     
8854     
8855     "pengiriman_pekalongan",
8856     
8857     
8858     
8859     
8860     
8861     "pengiriman_pekanbaru",
8862     
8863     
8864     
8865     
8866     
8867     "pengiriman_pemalang",
8868     
8869     
8870     
8871     
8872     
8873     "pengiriman_ponorogo",
8874     
8875     
8876     
8877     
8878     
8879     "pengiriman_pontianak",
8880     
8881     
8882     
8883     
8884     
8885     "pengiriman_probolinggo",
8886     
8887     
8888     
8889     
8890     
8891     "pengiriman_purbalingga",
8892     
8893     
8894     
8895     
8896     
8897     "pengiriman_purwakarta",
8898     
8899     
8900     
8901     
8902     
8903     "pengiriman_purwokerto",
8904     
8905     
8906     
8907     
8908     
8909     "pengiriman_rembang",
8910     
8911     
8912     
8913     
8914     
8915     "pengiriman_riau",
8916     
8917     
8918     
8919     
8920     
8921     "pengiriman_salatiga",
8922     
8923     
8924     
8925     
8926     
8927     "pengiriman_samarinda",
8928     
8929     
8930     
8931     
8932     
8933     "pengiriman_semarang",
8934     
8935     
8936     
8937     
8938     
8939     "pengiriman_sentani",
8940     
8941     
8942     
8943     
8944     
8945     "pengiriman_serang",
8946     
8947     
8948     
8949     
8950     
8951     "pengiriman_sidoarjo",
8952     
8953     
8954     
8955     
8956     
8957     "pengiriman_singkawang",
8958     
8959     
8960     
8961     
8962     
8963     "pengiriman_sragen",
8964     
8965     
8966     
8967     
8968     
8969     "pengiriman_subang",
8970     
8971     
8972     
8973     
8974     
8975     "pengiriman_sukabumi",
8976     
8977     
8978     
8979     
8980     
8981     "pengiriman_sumbawa",
8982     
8983     
8984     
8985     
8986     
8987     "pengiriman_surabaya",
8988     
8989     
8990     
8991     
8992     
8993     "pengiriman_surakarta solo",
8994     
8995     
8996
8997     
8998     "pengiriman_tasikmalaya",
8999     
9000     
9001     
9002     
9003     
9004     "pengiriman_tegal",
9005     
9006     
9007     
9008     
9009     
9010     "pengiriman_timika",
9011     
9012     
9013     
9014     
9015     
9016     "pengiriman_wamena",
9017     
9018     
9019     
9020     
9021     
9022     "pengiriman_wiyung",
9023     
9024     
9025     
9026     
9027     
9028     "pengiriman_wonokromo",
9029     
9030     
9031     
9032     
9033     
9034     "pengiriman_yogyakarta",
9035 
9036   ]
9037   console.log(cityNonJabodetabek)
9038   let non_jabodetabek = []
9039   for(var i=0;i<cityNonJabodetabek.length;i++) {
9040     const obj = {
9041       "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'),
9042       "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'),
9043       "zip": []
9044     }
9045     non_jabodetabek.push(obj)
9046   }
9047   let current_location = getCookie("location_delivery")
9048   $("[name=location]").change(function(){
9049     let v = $(this).val()
9050     let option = []
9051     if(v == 'Jabodetabek') {
9052       for(var i=0;i<jabodetabek.length;i++) {
9053         const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>`
9054         option.push(jabodetabekHtml)
9055       }
9056       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9057     } else {
9058       for(var i=0;i<non_jabodetabek.length;i++) {
9059         const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>`
9060         option.push(nonjabodetabekHtml)
9061       }
9062       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9063     }
9064   })
9065 
9066   $("#location-lock-submit").click(function(e){
9067     let select = $("#choose-location")
9068     let value = select.val().toLowerCase()
9069     console.log(value)
9070     if(select.val() == "") {
9071       return alert("Choose Your Location")
9072       e.preventDefault()
9073     }
9074     setCookie("location_delivery",value,1000000);
9075     
9076     location.reload();
9077     
9078   })
9079 
9080   $("#close-popup-delivery").click(function(){
9081     $(".MuiDialog-root").hide()
9082     if(!current_location){
9083       setCookie("location_delivery","jakarta",1000000);
9084       $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta")
9085     }
9086   })
9087   $("#loc_delivery, #loc_delivery_mobile").click(function(){
9088     $(".MuiDialog-root").show()
9089   })
9090 
9091   
9092   if(!current_location){
9093     
9094   } else {
9095     $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location)
9096     console.log(current_location)
9097     $("#choose-location").each(function(){
9098       if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){
9099         $("#jabodetabek").trigger("click")
9100       } else {
9101         $("#non-jabodetabek").trigger("click")
9102       }
9103       $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected")
9104     })
9105   }
9106 
9107   // if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi' || current_location == 'bandung' || current_location == 'semarang' || current_location == 'yogyakarta' || current_location == 'surabaya'){
9108   //   $("#timeMalam").attr("disabled", false)
9109   // } else {
9110   //   $("#timeMalam").attr("disabled", true)
9111   // }
9112 
9113   if(current_location && current_location != 'jakarta') {
9114     $("#self-pickup").attr("disabled", true)
9115   }
9116 
9117   function setCookie(name,value,days) {
9118     var expires = "";
9119     if (days) {
9120       var date = new Date();
9121       date.setTime(date.getTime() + (days*24*60*60*1000));
9122       expires = "; expires=" + date.toUTCString();
9123     }
9124     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
9125   }
9126   function getCookie(name) {
9127     var nameEQ = name + "=";
9128     var ca = document.cookie.split(';');
9129     for(var i=0;i < ca.length;i++) {
9130       var c = ca[i];
9131       while (c.charAt(0)==' ') c = c.substring(1,c.length);
9132       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
9133     }
9134     return null;
9135   }
9136 </script>
9136
9137 <!-- One Tap -->
9138     
9138<script>
9139       console.log("Outerbloom...");
9140     </script>
9140
9141   <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block">
9142 
9143 
9144 
9145 
9146 
9147 
9148 
9149 
9150 
9151 
9152 
9153 
9154 
9155 
9156 
9157 
9158 
9159 
9160 
9161 
9162 
9163 
9164 
9165 
9166 
9167 
9168 
9169 
9170 
9171 
9172 
9173 
9174 
9175 
9176 
9177 
9178 
9179 
9180 
9181 
9182 
9183 
9184 
9185 
9186 
9187 
9188 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
9189 
9189<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
9189
9190 
9190<script>
9191   const widgetConfig = {
9192     id: "clz7897za002cz7otleaz0d3d",
9193     showQuickResponse: false,
9194     quickResponsesData: [],
9195     themeColor: "#ffffff",
9196     widgetText: "",
9197     radiusType: "circle",
9198     widgetIconType: "whatsapp",
9199     position: "right",
9200     storeLogo: "",
9201     storeName: "Outerbloom",
9202     storeDescription: "",
9203     size: "small",
9204     showCard: false,
9205     widgetColorType: "solid",
9206     widgetColor1: "#008069",
9207     widgetColor2: "#008069",
9208     social: {
9209       socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"],
9210       values: {
9211         instagram: {
9212           enabled: false,
9213           value: "",
9214         },
9215         facebook: {
9216           enabled: false,
9217           value: "",
9218         },
9219         email: {
9220           enabled: false,
9221           value: "",
9222         },
9223         x: {
9224           enabled: false,
9225           value: "",
9226         },
9227         tiktok: {
9228           enabled: false,
9229           value: "",
9230         },
9231         linkedin: {
9232           enabled: false,
9233           value: "",
9234         },
9235         youtube: {
9236           enabled: false,
9237           value: "",
9238         },
9239       },
9240     },
9241   };
9242 
9243   function initializeWidget() {
9244     if (typeof BBBWidget !== 'undefined') {
9245       BBBWidget.init(widgetConfig);
9246     } else {
9247       setTimeout(initializeWidget, 100);
9248     }
9249   }
9250 
9251   initializeWidget();</script>
9251
9252 
9253 
9254 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
9255 
9256 
9257 <div style="position: fixed; bottom: 0; right: 0"></div>
9258 
9259 
9259<script>
9260 console.info("bitlogin extension version: v2.5.7");
9261 
9262 const googleScript = document.createElement("script");
9263 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
9264 document.head.append(googleScript);
9265 
9266 const bitLoginBaseUrl = "https://api.bitbybit.studio";
9267 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
9268 
9269 const appearance = {"style":"square","hasShadow":true,"domain":"outerbloom1.myshopify.com","colorScheme":"match","backgroundColor":"#ffffff","outlineColor":"#ffe100","textColor":"#700000","position":"top","hideDivider":false,"dividerText":"","size":"small","format":"contentFlex","language":"en","buttonText":"Continue With","redirectLink":"\/account","googleOneTap":true,"googleOneTapBanner":true,"captureAdditionalData":true,"customerTag":"bitLogin","redirectOneTapDesktop":"[{\"label\":\"Account\",\"label2\":\"Desktop: Account\",\"value\":\"account\",\"parentValue\":\"Desktop\"}]","redirectOneTapMobile":"[{\"label\":\"Thank you page\",\"label2\":\"Mobile: Thank you page\",\"value\":\"thank_you\",\"parentValue\":\"Mobile\"}]","watermark":true,"buttonList":{"google":"Continue with Google","facebook":"Continue with Facebook","apple":"Continue with Apple","whatsapp":"Continue with WhatsApp","microsoft":"Continue with Microsoft","twitter":"Continue with X","amazon":"Continue with Amazon","instagram":"Continue with Instagram","magic_link":"Continue with Magic Link","mobile_app":"Continue with Mobile App","linkedin":"Continue with LinkedIn"}};
9270 const config = [{"domain":"outerbloom1.myshopify.com","provider":"FACEBOOK","enabledMobile":false,"enabledWeb":true,"clientId":"922184709213757","clientSecret":"e3c874c8bce6da4211538ebda706d1cb","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"GOOGLE","enabledMobile":true,"enabledWeb":true,"clientId":"933600373534-vk6hiu9lqrtbblj0357q0gsoo7mqvsd0.apps.googleusercontent.com","clientSecret":"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","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":true,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"APPLE","enabledMobile":true,"enabledWeb":true,"clientId":"com.bitlogin.outerbloom","clientSecret":"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","appleTeamId":"1A","applePrivateKey":"1A","usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"WHATSAPP","enabledMobile":false,"enabledWeb":true,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"MICROSOFT","enabledMobile":false,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"TWITTER","enabledMobile":false,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"AMAZON","enabledMobile":false,"enabledWeb":false,"clientId":"amzn1.application-oa2-client.5b560a5e3e2943d6b25c50cd6dca5532","clientSecret":"amz
9270n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}];
9271 const redirectUrl = appearance.redirectLink;
9272 
9273 let locationCacheSet = false;
9274 let errorLocation = false;
9275 let oneTapSet = false;
9276 
9277 let bitloginCache = {
9278   appearance: appearance,
9279   config: config
9280 };
9281 
9282 let isInitializing = false;
9283 const queue = [];
9284 
9285 // Add CSS for the popup
9286 const popupStyles = document.createElement('style');
9287 popupStyles.textContent = `
9288   /* Styles for login popup */
9289   .bitlogin-popup-overlay {
9290     position: fixed;
9291     top: 0;
9292     left: 0;
9293     width: 100%;
9294     height: 100%;
9295     background: rgba(0, 0, 0, 0.45);
9296     backdrop-filter: blur(4px);
9297     display: flex;
9298     align-items: center;
9299     justify-content: center;
9300     opacity: 0;
9301     transition: opacity 0.3s ease-in-out;
9302     z-index: 999999;
9303   }
9304   
9305   .bitlogin-popup-overlay.visible {
9306     opacity: 1;
9307   }
9308   
9309   .bitlogin-popup {
9310     background: #FFFFFF;
9311     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
9312     border-radius: 16px;
9313     width: 100%;
9314     max-width: 560px;
9315     display: flex;
9316     overflow: hidden;
9317     position: relative;
9318     opacity: 0;
9319     transform: translateY(20px) scale(0.98);
9320     transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
9321   }
9322   
9323   .bitlogin-popup.visible {
9324     opacity: 1;
9325     transform: translateY(0) scale(1);
9326   }
9327   
9328   .bitlogin-popup-with-image {
9329     max-width: 640px;
9330   }
9331   
9332   .bitlogin-popup-right-image {
9333     flex-direction: row-reverse;
9334   }
9335   
9336   .bitlogin-popup-image {
9337     object-fit: cover;
9338     width: 50%;
9339     height: auto;
9340   }
9341   
9342   .bitlogin-popup-content {
9343     padding: 32px;
9344     position: relative;
9345     width: 50%;
9346   }
9347   
9348   .bitlogin-popup-close {
9349     position: absolute;
9350     top: 16px;
9351     right: 16px;
9352     background: white;
9353     border: none;
9354     width: 30px;
9355     height: 30px;
9356     display: flex;
9357     align-items: center;
9358     justify-content: center;
9359     cursor: pointer;
9360     transition: background-color 0.2s;
9361     color: inherit;
9362     padding: 0;
9363   }
9364   
9365   .bitlogin-popup-close:hover {
9366     background-color: #e5e5e5;
9367   }
9368   
9369   .bitlogin-popup-buttons {
9370     display: flex;
9371     flex-direction: column;
9372     gap: 12px;
9373     margin-top: 24px;
9374   }
9375   
9376   /* Button styles within popup - override width for popup buttons */
9377   .bitlogin-popup-buttons #google-login,
9378   .bitlogin-popup-buttons #facebook-login,
9379   .bitlogin-popup-buttons #apple-login,
9380   .bitlogin-popup-buttons #whatsapp-login,
9381   .bitlogin-popup-buttons #microsoft-login,
9382   .bitlogin-popup-buttons #twitter-login,
9383   .bitlogin-popup-buttons #amazon-login,
9384   .bitlogin-popup-buttons #instagram-login,
9385   .bitlogin-popup-buttons #magic-link-login,
9386   .bitlogin-popup-buttons #mobile-app-login {
9387     width: 100% !important;
9388     font-family: inherit !important;
9389   }
9390   
9391   .bitlogin-popup-footer {
9392     margin-top: 32px;
9393     text-align: center;
9394     font-size: 14px;
9395     opacity: 0.6;
9396   }
9397   
9398   /* Modern Typography */
9399   .bitlogin-popup h2 {
9400     margin-top: 12px;
9401     font-size: 21px !important;
9402     line-height: 1.2 !important;
9403     font-weight: 700 !important;
9404     letter-spacing: -0.02em !important;
9405     margin-bottom: 16px !important;
9406   }
9407   
9408   .bitlogin-popup-header {
9409     position: relative;
9410     margin-bottom: 24px;
9411   }
9412   
9413   /* Modern gradient accent */
9414   .bitlogin-popup-content > div {
9415     font-size: 16px !important;
9416     line-height: 1.2 !important;
9417     opacity: 0.85 !important;
9418   }
9419   
9420   /* Enhanced button interactions */
9421   .bitlogin-popup-buttons button {
9422     position: relative;
9423     overflow: hidden;
9424   }
9425   
9426   @keyframes ripple {
9427     0% {
9428       transform: scale(0, 0);
9429       opacity: 0.5;
9430     }
9431     100% {
9432       transform: scale(100, 100);
9433       opacity: 0;
9434     }
9435   }
9436   
9437   /* Responsive adjustments */
9438   @media (max-width: 640px) {
9439     .bitlogin-popup {
9440       max-width: 90%;
9441       width: 90%;
9442       margin: 0 16px;
9443     }
9444     
9445     .bitlogin-popup-with-image {
9446       flex-direction: column !important;
9447     }
9448     
9449     .bitlogin-popup-image {
9450       width: 100%;
9451       height: 180px;
9452     }
9453     
9454     .bitlogin-popup-content {
9455       padding: 24px;
9456     }
9457     
9458     .bitlogin-popup h2 {
9459       font-size: 24px !important;
9460     }
9461   }
9462 `;
9463 
9464 document.head.appendChild(popupStyles);
9465 
9466 // Add fonts link for different font options
9467 const fontsLink = document.createElement('link');
9468 fontsLink.rel = 'stylesheet';
9469 fontsLink.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';
9470 document.head.appendChild(fontsLink);
9471 
9472 (async () => {
9473   try {
9474     let host = window.location.host;
9475     if (host === "admin.shopify.com") {
9476       host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
9477     }
9478 
9479     const urlSearchParams = new URLSearchParams(window.location.search);
9480     const checkoutUrl = urlSearchParams.get("checkout_url");
9481 
9482     async function init({ inputRef, index }) {
9483       if (isInitializing) {
9484         queue.push(() => init({ inputRef, index }));
9485         return;
9486       }
9487 
9488       isInitializing = true;
9489 
9490       try {
9491         let bitLoginSectionRoot = document.querySelector(
9492           `.bitlogin-root[data-index="${index}"]`
9493         );
9494 
9495         const formRef = inputRef?.closest(
9496           "form:not([action='/account/recover'])"
9497         );
9498 
9499         if (formRef && !bitLoginSectionRoot) {
9500           await getLocation();
9501 
9502           bitLoginSectionRoot = document.createElement(`div`);
9503 
9504           bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
9505           bitLoginSectionRoot.setAttribute("data-index", `${index}`);
9506 
9507           updateAppearance({
9508             formRef,
9509             rootRef: bitLoginSectionRoot,
9510             host,
9511           });
9512         }
9513       } catch (err) {
9514         console.error(`error while initiating bitlogin extensions`, err);
9515       } finally {
9516         // Release the lock
9517         isInitializing = false;
9518 
9519         // Check if there are pending items in the queue
9520         if (queue.length > 0) {
9521           // Process the next function in the queue
9522           const nextFunction = queue.shift();
9523           nextFunction();
9524         }
9525       }
9526     }
9527 
9528     function initAll() {
9529       return new Promise((resolve, reject) => {
9530         setTimeout(async () => {
9531           const inputRefs = document.querySelectorAll(
9532             'input[name="customer[email]"]'
9533           );
9534 
9535           for (let i = 0; i < inputRefs.length; i++) {
9536             const currentInputRef = inputRefs[i];
9537             const isVisible = isElementVisible(currentInputRef);
9538 
9539             if (isVisible) {
9540               await init({ inputRef: currentInputRef, index: i });
9541             }
9542           }
9543 
9544           resolve("ok");
9545         }, 100);
9546       });
9547     }
9548 
9549     const observer = new MutationObserver((mutationsList) => {
9550       for (let mutation of mutationsList) {
9551         initAll();
9552       }
9553     });
9554 
9555     observer.observe(document.body, {
9556       childList: true,
9557       subtree: true,
9558       attributes: true,
9559     });
9560 
9561     initAll();
9562 
9563     if (appearance.googleOneTap) {
9564       setupOneTap({ host, checkoutUrl });
9565     }
9566 
9567     // Initialize popup
9568     await initPopup(host);
9569   } catch (error) {
9570     console.error("Error initializing BitLogin:", error);
9571   }
9572 })();
9573 
9574 async function initPopup(host) {
9575   // Check if user is already logged in using Liquid checks properly
9576   const isLoggedIn = false || 
9577                     document.querySelector('.customer-logout-link') || 
9578                     document.querySelector('.account-link') || 
9579                     window.location.pathname.includes('/account');
9580   
9581   if (isLoggedIn) {
9582     return; // User is logged in, don't show popup
9583   }
9584 
9585   try {
9586     // Fetch the popup configuration
9587     const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
9588       .then(res => res.json())
9589       .catch(err => {
9590         console.error('Error fetching popup configuration:', err);
9591         return null;
9592       });
9593 
9594     if (!popupConfig || !popupConfig.enabled) {
9595       return;
9595 // Don't show popup if disabled or config not found
9596     }
9597 
9598     // Create popup after 10 seconds
9599     setTimeout(() => {
9600       // Check if user is still on the page and still not logged in
9601       if (document.visibilityState === 'visible') {
9602         // Additional check in case user logged in during the 10 second wait
9603         const currentlyLoggedIn = false || 
9604                               document.querySelector('.customer-logout-link') || 
9605                               document.querySelector('.account-link');
9606         
9607         if (!currentlyLoggedIn) {
9608           createLoginPopup(popupConfig, host);
9609         }
9610       }
9611     }, 10000);
9612   } catch (error) {
9613     console.error('Error initializing popup:', error);
9614   }
9615 }
9616 
9617 function createLoginPopup(popupConfig, host) {
9618   // Font mapping
9619   const fontFamilyMap = {
9620     system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
9621     montserrat: 'Montserrat, sans-serif',
9622     roboto: 'Roboto, sans-serif',
9623     open_sans: 'Open Sans, sans-serif',
9624     noto_sans: 'Noto Sans, sans-serif',
9625     lato: 'Lato, sans-serif',
9626     poppins: 'Poppins, sans-serif',
9627     quicksand: 'Quicksand, sans-serif',
9628     raleway: 'Raleway, sans-serif',
9629     pt_sans: 'PT Sans, sans-serif',
9630     oswald: 'Oswald, sans-serif',
9631   };
9632 
9633   // Create overlay
9634   const overlay = document.createElement('div');
9635   overlay.className = 'bitlogin-popup-overlay';
9636   
9637   // Create popup container with appropriate styling
9638   const popup = document.createElement('div');
9639   popup.className = 'bitlogin-popup';
9640 
9641   if (popupConfig.layout === 'default') {
9642     popup.style.maxWidth = '400px';
9643   }
9644   
9645   // Function to close the popup
9646   const closePopup = () => {
9647     overlay.classList.remove('visible');
9648     popup.classList.remove('visible');
9649     setTimeout(() => {
9650       if (document.body.contains(overlay)) {
9651         document.body.removeChild(overlay);
9652       }
9653     }, 300);
9654   };
9655   
9656   // Add click handler to the overlay to close when clicking outside
9657   overlay.addEventListener('click', (event) => {
9658     // Close only if clicking directly on the overlay, not its children
9659     if (event.target === overlay) {
9660       closePopup();
9661     }
9662   });
9663   
9664   // Add escape key handler to close popup
9665   document.addEventListener('keydown', (event) => {
9666     if (event.key === 'Escape' && document.body.contains(overlay)) {
9667       closePopup();
9668     }
9669   });
9670 
9671   // Create layout with image if specified
9672   let contentWrapper;
9673   if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
9674     popup.classList.add('bitlogin-popup-with-image');
9675     
9676     if (popupConfig.layout === 'right') {
9677       popup.classList.add('bitlogin-popup-right-image');
9678     }
9679     
9680     // Add image
9681     const image = document.createElement('img');
9682     image.className = 'bitlogin-popup-image';
9683     image.src = popupConfig.popupImage;
9684     image.alt = 'Login';
9685     image.loading = 'lazy';
9686     popup.appendChild(image);
9687     
9688     // Create content container
9689     contentWrapper = document.createElement('div');
9690     contentWrapper.className = 'bitlogin-popup-content';
9691 
9692     if (popupConfig.layout === 'right') {
9693       const closeButton = document.createElement('button');
9694       closeButton.className = 'bitlogin-popup-close';
9695       closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672">
9696         <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9697       </svg>`;
9698       closeButton.setAttribute('aria-label', 'Close');
9699       closeButton.onclick = closePopup;
9700   
9701       popup.appendChild(closeButton);
9702     }
9703   } else {
9704     contentWrapper = document.createElement('div');
9705     contentWrapper.className = 'bitlogin-popup-content';
9706     contentWrapper.style.width = '100%';
9707   }
9708 
9709   // Set background style
9710   if (popupConfig.backgroundTheme === 'gradient') {
9711     contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
9712   } else {
9713     contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
9714   }
9715 
9716   // Apply font family
9717   contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
9718 
9719   if (popupConfig.layout !== 'right') {
9720     const closeButton = document.createElement('button');
9721     closeButton.className = 'bitlogin-popup-close';
9722     closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672">
9723       <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9724     </svg>`;
9725     closeButton.setAttribute('aria-label', 'Close');
9726     closeButton.onclick = closePopup;
9727   
9728     contentWrapper.appendChild(closeButton);
9729   }
9730 
9731   // Add heading with subtle animation effect
9732   const header = document.createElement('div');
9733   header.className = 'bitlogin-popup-header';
9734   
9735   const heading = document.createElement('h2');
9736   heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
9736its';
9737   heading.style.color = popupConfig.fontColor;
9738   header.appendChild(heading);
9739 
9740   // Add body text with improved formatting
9741   const bodyText = document.createElement('div');
9742   bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
9743   bodyText.style.color = popupConfig.fontColor;
9744   header.appendChild(bodyText);
9745   
9746   contentWrapper.appendChild(header);
9747 
9748   // Create buttons container with modern styling
9749   const buttonsContainer = document.createElement('div');
9750   buttonsContainer.className = 'bitlogin-popup-buttons';
9751   
9752   // Add social buttons
9753   const providerLabels = {
9754     'GOOGLE': 'Continue with Google',
9755     'FACEBOOK': 'Continue with Facebook',
9756     'APPLE': 'Continue with Apple',
9757     'WHATSAPP': 'Continue with WhatsApp',
9758     'MAGIC_LINK': 'Continue with Email',
9759   };
9760 
9761   // Add first login provider button
9762   if (popupConfig.loginProvider1 !== 'NONE') {
9763     const buttonConfig = {
9764       theme: popupConfig.colorScheme || 'match',
9765       customColor: popupConfig.textColor,
9766       format: 'contentFlex',
9767       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
9768       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9769       style: popupConfig.style || 'rounded',
9770       size: popupConfig.size || 'medium',
9771       colorScheme: popupConfig.colorScheme || 'match',
9772       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9773       textColor: popupConfig.textColor || '#FFFFFF',
9774       outlineColor: popupConfig.outlineColor || '#3B82F6',
9775       host: host
9776     };
9777     
9778     const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
9779     
9780     // Handle click event - this overrides the default click handler in createSocialLoginButton
9781     button1.onclick = () => {
9782       onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
9783       closePopup();
9784     };
9785     
9786     buttonsContainer.appendChild(button1);
9787   }
9788 
9789   // Add second login provider button if enabled
9790   if (popupConfig.loginProvider2 !== 'NONE') {
9791     const buttonConfig = {
9792       theme: popupConfig.colorScheme || 'match',
9793       customColor: popupConfig.textColor,
9794       format: 'contentFlex',
9795       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
9796       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9797       style: popupConfig.style || 'rounded',
9798       size: popupConfig.size || 'medium',
9799       colorScheme: popupConfig.colorScheme || 'match',
9800       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9801       textColor: popupConfig.textColor || '#FFFFFF',
9802       outlineColor: popupConfig.outlineColor || '#3B82F6',
9803       host: host
9804     };
9805     
9806     const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
9807     
9808     // Handle click event - this overrides the default click handler in createSocialLoginButton
9809     button2.onclick = () => {
9810       onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
9811       closePopup();
9812     };
9813     
9814     buttonsContainer.appendChild(button2);
9815   }
9816 
9817   contentWrapper.appendChild(buttonsContainer);
9818 
9819   // Append content to popup
9820   popup.appendChild(contentWrapper);
9821   
9822   // Append popup to overlay
9823   overlay.appendChild(popup);
9824   
9825   // Append overlay to body
9826   document.body.appendChild(overlay);
9827   
9828   // Trigger animation with slight delay for better perceived performance
9829   setTimeout(() => {
9830     overlay.classList.add('visible');
9831     setTimeout(() => {
9832       popup.classList.add('visible');
9833     }, 50);
9834   }, 10);
9835 }
9836 
9837 window.addEventListener("load", () => {
9838   window.addEventListener("message", (event) => {
9839     const receivedData = event.data;
9840 
9841     if (receivedData.type === "authorize") {
9842       post(
9843         JSON.parse(
9844           JSON.stringify({
9845             "customer[email]": receivedData.email,
9846             "customer[password]": receivedData.password,
9847             form_type: "customer_login",
9848             utf8: "✓",
9849             return_url: redirectUrl,
9850           })
9851         )
9852       );
9853     } else if (receivedData.type === "rejected") {
9854       if (receivedData.reason === "customer_account_disabled") {
9855         showAlert(
9856           "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
9857         );
9858       } else if (receivedData.reason === "customer_entry_created_email_not_set") {
9859         showAlert(
9860           "A new account was created but requires an email address. Please update your account with a valid email address to continue."
9861         );
9862       } else if (receivedData.reason === "customer_exist_email_not_set") {
9863         showAlert(
9864           "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
9865         );
9866       }
9867     }
9868 
9869     if (receivedData.type === "customer_authenticated") {
9870       // Dispatch a custom event that merchants can listen for to implement their custom logic
9871       const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
9872         detail: {
9873           provider: receivedData.provider,
9874           customer: receivedData.customer,
9875           shopifyCustomerCreated: receivedData.shopifyCustomerCreated
9876         }
9877       });
9878       
9879       // Dispatch the event on the window object so merchants can listen for it
9880       window.dispatchEvent(customerAuthEvent);
9881       
9882     }
9883   });
9884 });
9885 
9886 // Reusable functions for social login buttons
9887 function createSocialLoginButton(provider, config = {}) {
9888   const {
9889     theme = 'match',
9890     customColor = null,
9891     format = 'contentFlex',
9892     buttonText = null,
9893     hasShadow = true,
9894     style = 'rounded',
9895     size = 'medium',
9896     colorScheme = 'match',
9897     backgroundColor = '#3B82F6',
9898     textColor = '#FFFFFF',
9899     outlineColor = '#3B82F6',
9900     rootRef = null,
9901     host = null
9902   } = config;
9903   
9904   // Create button element with appropriate ID and attributes
9905   const button = document.createElement('button');
9906   button.id = `${provider.toLowerCase()}-login`;
9907   button.type = 'button';
9908   
9909   // Set the inner SVG based on provider
9910   switch (provider.toUpperCase()) {
9911     case 'GOOGLE':
9912       button.innerHTML = googleLoginIcon(theme, customColor);
9913       break;
9914     case 'FACEBOOK':
9915       button.innerHTML = facebookLoginIcon(theme, customColor);
9916       break;
9917     case 'APPLE':
9918       button.innerHTML = appleLoginIcon(theme, customColor);
9919       break;
9920     case 'WHATSAPP':
9921       button.innerHTML = whatsappLoginIcon(theme, customColor);
9922       break;
9923     case 'MICROSOFT':
9924       button.innerHTML = microsoftLoginIcon(theme, customColor);
9925       break;
9926     case 'TWITTER':
9927       button.innerHTML = twitterLoginIcon(theme, customColor);
9928       break;
9929     case 'AMAZON':
9930       button.innerHTML = amazonLoginIcon(theme, customColor);
9931       break;
9932     case 'INSTAGRAM':
9933       button.innerHTML = instagramLoginIcon(theme, customColor);
9934       break;
9935     case 'MAGIC_LINK':
9936       button.innerHTML = magicLinkLoginIcon(theme, customColor);
9937       break;
9938     case 'MOBILE_APP':
9939       button.innerHTML = mobileAppLoginIcon(theme, customColor);
9940       break;
9941     case 'LINKEDIN':
9942       button.innerHTML = linkedinLoginIcon(theme, customColor);
9943       break;
9944   }
9945   
9946   // Add text if format isn't icon-only and buttonText is provided
9947   if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
9948     button.innerHTML += `<p>${buttonText}</p>`;
9949   }
9950   
9951   // Apply styling
9952   // Shadow
9953   if (hasShadow) {
9954     const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
9955     button.style["box-shadow"] = shadowProperties;
9956   }
9957   
9958   // Border radius
9959   const radiusProperties =
9960     style === "rounded"
9961       ? "8px"
9962       : style === "square"
9963       ? "0px"
9964       : style === "fullRounded"
9965       ? format === "wrapperFlexContainerOnlyLogo"
9966         ? "50%"
9967         : "50px"
9968       : undefined;
9969   button.style["border-radius"] = radiusProperties;
9970   
9971   // Size
9972   const sizeProperties =
9973     size === "medium"
9974       ? "12px"
9975       : size === "small"
9976       ? "8px"
9977       : size === "large"
9978       ? "16px"
9979       : "8px";
9980 
9981   button.style["padding-block"] = sizeProperties;
9982 
9983   // Format styling
9984   if (format) {
9985     if (
9986       format === "contentFlexReverse" ||
9987       format === "contentFlexCenterReverse"
9988     ) {
9989       const flexDir = `row-reverse`;
9990       button.style["flex-direction"] = flexDir;
9991     }
9992     
9993     if (
9994       format === "contentFlexCenter" ||
9995       format === "contentFlexCenterReverse"
9996     ) {
9997       const justifyContent = `center`;
9998       button.style["justify-content"] = justifyContent;
9999     } else if (
10000       format === "contentFlex" ||
10001       format === "contentFlexReverse"
10002     ) {
10003       const buttonTextElement = button.querySelector("p");
10004       if (buttonTextElement) {
10005         buttonTextElement.style["flex-grow"] = 1;
10006         buttonTextElement.style["text-align"] = "center";
10007       }
10008     }
10009 
10010     if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
10011       rootRef.style["flex-direction"] = "row";
10012       rootRef.style["gap"] = "8px";
10013       rootRef.style["display"] = "flex";
10014       rootRef.style["flex-wrap"] = "wrap";
10015 
10016       const sizeMapping = {
10017         small: "52px",
10018         medium: "62px",
10019         large: "72px",
10020       };
10021       const buttonSize = sizeMapping[size] || "52px";
10022 
10023       button.style["margin"] = 0;
10024       button.style["width"] = buttonSize;
10025       button.style["height"] = buttonSize;
10026       button.style["display"] = "flex";
10027       button.style["align-items"] = "center";
10028       button.style["justify-content"] = "center";
10029 
10030       const svgElement = button.querySelector("svg");
10031       if (svgElement) {
10032         svgElement.style["flex"] = "none";
10033       }
10034     }
10035   }
10036 
10037   // Color scheme styling
10038   if (colorScheme === "black") {
10039     button.classList.add("scheme-black");
10040   } else if (colorScheme === "white") {
10041     button.classList.add("scheme-white");
10042   } else if (colorScheme === "custom") {
10043     button.style["background-color"] = backgroundColor;
10044     button.style["color"] = textColor;
10045     button.style["border-color"] = outlineColor;
10046 
10047     const darkenColor = (color, percentage) => {
10048       const value = parseInt(color.slice(1), 16);
10049       const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
10050       const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
10051       const b = Math.max(0, (value & 0xff) - (0xff * percentage));
10052       return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
10053     };
10054 
10055     button.addEventListener("mouseover", () => {
10056       button.style["background-color"] = darkenColor(backgroundColor, 0.2);
10057     });
10058     button.addEventListener("mouseout", () => {
10059       button.style["background-color"] = backgroundColor;
10060     });
10061   } else if (colorScheme === "match") {
10062     button.classList.add("scheme-match");
10063   } else if (colorScheme === "matchOutline") {
10064     button.classList.add("scheme-match-outline");
10065   }
10066   
10067   // Add click event listener if host is provided
10068   if (host) {
10069     button.addEventListener("click", () => 
10070       onClickSocialLogin({ provider: provider.toLowerCase(), host })
10071     );
10072   }
10073   
10074   return button;
10075 }
10076 
10077 function setupSocialLoginButtons(config, rootRef, data, host) {
10078   // Clear any existing content
10079   rootRef.innerHTML = '';
10080 
10081   const sortedEnabledProviders = config
10082     .filter(c => c.enabledWeb)
10083     .sort((a, b) => a.position - b.position);
10084 
10085   sortedEnabledProviders.forEach(provider => {
10086     const key = provider.provider;
10087     const lowerKey = key.toLowerCase();
10088 
10089     const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
10090       ? (lowerKey === 'twitter'
10091           ? data.buttonList.twitter.replace('Twitter', 'X')
10092           : data.buttonList[lowerKey])
10093       : null;
10094 
10095     const button = createSocialLoginButton(key, {
10096       theme: data.colorScheme || 'match',
10097       customColor: data.textColor,
10098       format: data.format,
10099       buttonText: buttonText,
10100       hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
10101       style: data.style,
10102       size: data.size,
10103       colorScheme: data.colorScheme,
10104       backgroundColor: data.backgroundColor,
10105       textColor: data.textColor,
10106       outlineColor: data.outlineColor,
10107       rootRef: rootRef,
10108       host: host
10109     });
10110 
10111     rootRef.appendChild(button);
10112   });
10113 
10114   return rootRef;
10115 }
10116 
10117 function updateAppearance({ formRef, rootRef, host }) {
10118   if (!formRef) return;
10119 
10120   const data = bitloginCache.appearance || {
10121     style: "square",
10122     hasShadow: false,
10123     colorScheme: "match",
10124     backgroundColor: "#FFFFFF",
10125     outlineColor: "#000000",
10126     textColor: "#000000",
10127     position: "bottom",
10128     hideDivider: "false",
10129     dividerText: "OR",
10130     size: "small",
10131     format: "contentFlex",
10132     language: "en",
10133     buttonText: "Continue with",
10134     redirectLink: "/account",
10135     googleOneTap: true,
10136     googleOneTapBanner: true,
10137     customerTag: "bitLogin",
10138     redirectOneTapDesktop: null,
10139     redirectOneTapMobile: null,
10140     buttonList: {
10141       google: "Continue with Google",
10142       facebook: "Continue with Facebook",
10143       apple: "Continue with Apple",
10144       whatsapp: "Continue with WhatsApp",
10145       microsoft: "Continue with Microsoft",
10146       twitter: "Continue with X",
10147       amazon: "Continue with Amazon",
10148       instagram: "Continue with Instagram",
10149       magic_link: "Continue with Magic Link",
10150       mobile_app: "Continue with Mobile App",
10151       linkedin: "Continue with LinkedIn",
10152     },
10153   };
10154 
10155   // Use the new setupSocialLoginButtons function to create and configure all buttons
10156   setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
10157 
10158   let divider;
10159 
10160   if (!data.hideDivider) {
10161     divider = document.createElement("div");
10162     const dividerStyle = "text-align:center;margin-block:16px";
10163     divider.setAttribute("style", dividerStyle);
10164     divider.innerHTML = data.dividerText;
10165   }
10166 
10167   if (data.position === "bottom") {
10168     if (divider) {
10169       formRef.appendChild(divider);
10170     }
10171     formRef.appendChild(rootRef);
10172   } else if (data.position === "top") {
10173     if (divider) {
10174       formRef.prepend(divider);
10175     }
10176     formRef.prepend(rootRef);
10177   }
10178 }
10179 
10180 
10181 async function onClickSocialLogin({ provider, host }) {
10182   const rand = Math.random().toString();
10183 
10184   const locationQueryString = bitloginCache.location
10185     ? `&${objectToQueryString(bitloginCache.location)}`
10186     : "";
10187 
10188   const width = 800;
10189   const height = 600;
10190   const left = (window.screen.width / 2) - (width / 2);
10191   const top = (window.screen.height / 2) - (height / 2) - 50;
10192 
10193   if(provider === 'whatsapp') {
10194     window.open(
10195       `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
10196       "mywindow",
10197       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10198     );
10199   } else {
10200     window.open(
10201       `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
10202       "mywindow",
10203       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10204     );
10205   }
10206 }
10207 
10208 function objectToQueryString(obj) {
10209   return Object.keys(obj)
10210     .map((key) => {
10211       return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
10212     })
10213     .join("&");
10214 }
10215 
10216 async function getLocation() {
10217   if (locationCacheSet) return;
10218 
10219   try {
10220     const response = await fetch("https://ipapi.co/json/");
10221 
10222     if (!response.ok) {
10223       console.error(`error retrieving location...`, response.status);
10224       errorLocation = true;
10225     } else {
10226       const data = await response.json();
10227 
10228       const { city, region, country_name, country_code } = data;
10229 
10230       const formattedLocationData = {
10231         city,
10232         region,
10233         country_name,
10234         country_code,
10235       };
10236 
10237       bitloginCache.location = formattedLocationData;
10238       locationCacheSet = true;
10239       errorLocation = false;
10240     }
10241   } catch (err) {
10242     console.error(`error fetching location`, err);
10243     errorLocation = true;
10244   }
10245 }
10246 
10247 function post(params) {
10248   // The rest of this code assumes you are not using a library.
10249   // It can be made less verbose if you use one.
10250   const form = document.createElement("form");
10251   form.method = "post";
10252   form.action = `/account/login`;
10253   form.acceptCharset = "UTF-8";
10254   form.setAttribute("data-login-with-shop-sign-in", "true");
10255   form.setAttribute("novalidate", "novalidate");
10256 
10257   for (const key in params) {
10258     if (params.hasOwnProperty(key)) {
10259       const hiddenField = document.createElement("input");
10260       hiddenField.type = "hidden";
10261       hiddenField.name = key;
10262       hiddenField.value = params[key];
10263 
10264       form.appendChild(hiddenField);
10265     }
10266   }
10267 
10268   document.body.appendChild(form);
10269   form.submit();
10270 }
10271 
10272 async function setupOneTap({ host, checkoutUrl }) {
10273   if (oneTapSet) return;
10274 
10275   const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
10276   const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
10277 
10278   const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
10279   const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
10280 
10281   const currentPath = window.location.pathname.toLowerCase();
10282   const currentUrl = window.location.href.toLowerCase();
10283 
10284   const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
10285     switch (value) {
10286       case 'home':
10287         return currentPath === '/';
10288       case 'product':
10289         return currentPath.startsWith('/products/');
10290       case 'collections':
10291         return currentPath.startsWith('/collections');
10292       case 'cart':
10293         return currentPath === '/cart';
10294       case 'checkout':
10295         return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
10296       case 'thank_you':
10297         return currentPath.includes('/thank_you');
10298       case 'account':
10299         return currentPath.startsWith('/account');
10300       case 'pages':
10301         return currentPath.startsWith('/pages');
10302       case 'blogs':
10303         return currentPath === '/blogs' || currentPath === '/blogs/news';
10304       case 'blog_post':
10305         return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
10306       default:
10307         return false;
10308     }
10309   });
10310 
10311   if (shouldHideGoogleOneTap) return;
10312 
10313   const oneTapClientId = bitloginCache.config.find(
10314     (config) => config.provider === "GOOGLE"
10315   )?.clientId;
10316 
10317   const isLoggedIn = false;
10318 
10319   if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
10320     const googleOneTapButton = document.createElement("div");
10321     googleOneTapButton.setAttribute("id", "g_id_onload");
10322     googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
10323     googleOneTapButton.setAttribute("data-context", "signin");
10324     googleOneTapButton.setAttribute(
10325       "data-callback",
10326       "handleGoogleOneTapResponse"
10327     );
10328     googleOneTapButton.setAttribute("data-itp_support", "true");
10329 
10330     const googleOneTapScript = document.createElement("script");
10331 
10332     googleOneTapScript.innerHTML += `
10333           function handleGoogleOneTapResponse(response) {
10334               if (response.credential) {
10335                   const idToken = response.credential;
10336                   fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
10337                       method: 'POST',
10338                       headers: { 'Content-Type': 'application/json' },
10339                       body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
10340                   }).then(response => {
10341                       response.json().then((data) => {
10342                         post(
10343                           JSON.parse(
10344                             JSON.stringify({
10345                               "customer[email]": data.email,
10346                               "customer[password]": data.password,
10347                               form_type: "customer_login",
10348                               utf8: "✓",
10349                               return_url: redirectUrl,
10350                             })
10351                           )
10352                         );
10353                       });  
10354                   }).catch(error => {
10355                       console.error('Error occurred:', error);
10356                   });
10357               } else {
10358                   console.error('No credential available');
10359               }
10360           }
10361        `;
10362 
10363     document.body.append(googleOneTapButton);
10364     document.body.append(googleOneTapScript);
10365   }
10366 
10367   oneTapSet = true;
10368 }
10369 
10370 const googleLoginIcon = (
10371   theme,
10372   customColor
10373 ) => `
10374 ${
10375   theme === "match" || theme === "matchOutline" || theme === "custom"
10376     ? `<svg
10377     xmlns='https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672'
10378     xmlns:v='https://vecta.io/nano'
10379     width='24'
10380     height='24'
10381     viewBox='0 0 186.69 190.5'
10382   >
10383     <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="${
10384       theme === "custom" ? customColor : "#4285f4"
10385     }"/><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="${
10386         theme === "custom" ? customColor : "#34a853"
10387       }"/><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="${
10388         theme === "custom" ? customColor : "#fbbc05"
10389       }"/><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="${
10390         theme === "custom" ? customColor : "#ea4335"
10391       }" clip-path="none" mask="none"/></g>
10392   </svg>`
10393     : `<svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="25" height="25" viewBox="0 0 25 25" fill="none">
10394 <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="${
10395         theme !== "black" ? "black" : "white"
10396       }"/>
10397 <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="${
10398         theme !== "black" ? "black" : "white"
10399       }"/>
10400 <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="${
10401         theme !== "black" ? "black" : "white"
10402       }"/>
10403 <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="${
10404         theme !== "black" ? "black" : "white"
10405       }"/>
10406 </svg>`
10407 }`;
10408 
10409 const appleLoginIcon = (
10410   theme,
10411   customColor
10412 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672">
10413 <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="${
10414   theme === "custom"
10415     ? customColor
10416     : theme === "match" || theme === "black"
10417     ? "white"
10418     : "black"
10419 }"/>
10420 </svg>`;
10421 
10422 const facebookLoginIcon = (
10423   theme,
10424   customColor
10425 ) => `
10426 ${
10427   theme === "match" || theme === "matchOutline" || theme === "custom"
10428     ? `<svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="25" viewB
10428ox="0 0 24 25" fill="none">
10429     <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="${
10430       theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3"
10431     }"/>
10432     <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="${
10433       theme === "match" ? "#1778f2" : "transparent"
10434     }"/>
10435     </svg>`
10436     : `<svg xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672" width="24" height="25" viewBox="0 0 24 25" fill="none">
10437 <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="${
10438         theme === "black" ? "white" : "black"
10439       }"/>
10440 <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="${
10441         theme === "black" ? "black" : "white"
10442       }"/>
10443 </svg>`
10444 }`;
10445 
10446 const whatsappLoginIcon = (
10447   theme,
10448   customColor
10449 ) => `<svg
10450   viewBox="0 0 24 24"
10451   fill="none"
10452   width="24"
10453   height="25"
10454   xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672"
10455 >
10456   <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
10457   <g
10458     id="SVGRepo_tracerCarrier"
10459     stroke-linecap="round"
10460     stroke-linejoin="round"
10461   ></g>
10462   <g id="SVGRepo_iconCarrier">
10463     <path
10464       fill-rule="evenodd"
10465       clip-rule="evenodd"
10466       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"
10467       fill="${
10468         theme === "match" || theme === "black"
10469           ? "#ffffff"
10470           : theme === "white"
10471           ? "#000000"
10472           : theme === "matchOutline"
10473           ? "#25d366"
10474           : customColor
10475       }"
10476     ></path>
10477   </g>
10478 </svg>`;
10479 
10480 const microsoftLoginIcon = (
10481   theme,
10482   customColor
10483 ) => `<svg
10484 xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672"
10485 width="25"
10486 height="25"
10487 viewBox="0 0 48 48">
10488 <path fill="${
10489   theme === "match" || theme == "matchOutline"
10490     ? "#ff5722"
10491     : theme === "black"
10492     ? "#ffffff"
10493     : theme === "white"
10494     ? "#000000"
10495     : customColor
10496 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
10497 <path
10498   fill="${
10499     theme === "match" || theme == "matchOutline"
10500       ? "#4caf50"
10501       : theme === "black"
10502       ? "#ffffff"
10503       : theme === "white"
10504       ? "#000000"
10505       : customColor
10506   }"
10507   d="M26 6H42V22H26z"
10508   transform="rotate(-180 34 14)"></path>
10509 <path
10510   fill="${
10511     theme === "match" || theme == "matchOutline"
10512       ? "#ffc107"
10513       : theme === "black"
10514       ? "#ffffff"
10515       : theme === "white"
10516       ? "#000000"
10517       : customColor
10518   }"
10519   d="M26 26H42V42H26z"
10520   transform="rotate(-180 34 34)"></path>
10521 <path fill="${
10522   theme === "match" || theme == "matchOutline"
10523     ? "#03a9f4"
10524     : theme === "black"
10525     ? "#ffffff"
10526     : theme === "white"
10527     ? "#000000"
10528     : customColor
10529 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
10530 </svg>`;
10531 
10532 const twitterLoginIcon = (
10533   theme,
10534   customColor
10535 ) => `<svg
10536 xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672"
10537 width="25"
10538 height="25"
10539 viewBox="0 0 48 48">
10540 <polygon fill="${
10541   theme === "match" || theme === "black"
10542     ? "#ffffff"
10543     : theme === "matchOutline" || theme === "white"
10544     ? "#000000"
10545     : customColor
10546 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
10547 <polygon
10548   fill="${
10549     theme === "match" || theme === "black"
10550       ? "#000000"
10551       : theme === "matchOutline" || theme === "white"
10552       ? "#ffffff"
10553       : customColor
10554   }"
10555   fill-rule="evenodd"
10556   points="31.143,41 7.82,7 16.777,7 40.1,41"
10557   clip-rule="evenodd"></polygon>
10558 <path
10559   fill="${
10560     theme === "match" || theme === "black"
10561       ? "#ffffff"
10562       : theme === "matchOutline" || theme === "white"
10563       ? "#000000"
10564       : customColor
10565   }"
10566   d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
10567 </svg>`;
10568 
10569 const amazonLoginIcon = (theme, customColor) => `
10570  <svg
10571       xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672"
10572       x="0px"
10573       y="0px"
10574       width="25"
10575       height="25"
10576       viewBox="0 0 50 50"
10577     >
10578       <path
10579         fill="${
10580           theme === "black"
10581             ? "#ffffff"
10582             : theme === "matchOutline"
10583             ? "#FF9900"
10584             : theme === "white" || theme === "match"
10585             ? "#000000"
10586             : customColor
10587         }"
10588         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"
10589       ></path>
10590     </svg>`;
10591 
10592 const instagramLoginIcon= (theme, customColor) => `
10593     <svg
10594       width="25"
10595       height="25"
10596       viewBox="0 0 25 24"
10597       fill="none"
10598       xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672">
10599       <path
10600         fill-rule="evenodd"
10601         clip-rule="evenodd"
10602         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.
1060264321C8.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"
10603         fill="url(#paint0_radial_378_3535)" />
10604       <path
10605         fill-rule="evenodd"
10606         clip-rule="evenodd"
10607         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"
10608         fill="url(#paint0_radial_378_3535)" />
10609       <path
10610         fill-rule="evenodd"
10611         clip-rule="evenodd"
10612         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.
1061264321C8.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"
10613         fill="url(#paint0_radial_378_3535)" />
10614       <path
10615         fill-rule="evenodd"
10616         clip-rule="evenodd"
10617         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"
10618         fill="url(#paint1_radial_378_3535)" />
10619       <defs>
10620         <radialGradient
10621           id="paint0_radial_378_3535"
10622           cx="0"
10623           cy="0"
10624           r="1"
10625           gradientUnits="userSpaceOnUse"
10626           gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
10627           <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
10628           <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
10629           <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
10630           <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
10631           <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
10632         </radialGradient>
10633         <radialGradient
10634           id="paint1_radial_378_3535"
10635           cx="0"
10636           cy="0"
10637           r="1"
10638           gradientUnits="userSpaceOnUse"
10639           gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
10640           <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
10641           <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
10642           <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
10643           <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
10644         </radialGradient>
10645       </defs>
10646     </svg>`;
10647 
10648 const magicLinkLoginIcon = (theme, customColor) => `
10649   <svg
10650     xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672"
10651     width="25"
10652     height="25"
10653     fill="none"
10654     viewBox="0 0 25 25"
10655   >
10656     <path
10657       fill="${
10658         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
10659       }"
10660       fillRule="evenodd"
10661       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"
10662       clipRule="evenodd"
10663     ></path>
10664   </svg>`;
10665 
10666 const mobileAppLoginIcon = (theme, customColor) => `
10667   <svg
10668     width="20"
10669     height="24"
10670     viewBox="0 0 12 16"
10671     fill="none"
10672     xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672"
10673   >
10674     <path
10675       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"
10676       fill=${
10677         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
10678       }
10679     />
10680   </svg>
10681 `;
10682 
10683 const linkedinLoginIcon = (theme, customColor) => `
10684   <svg
10685     xmlns="https://ik.imagekit.io/9ng7ozhvc/logokaskus.webp?updatedAt=1783585841672"
10686     width="25"
10687     height="24"
10688     viewBox="0 0 25 24"
10689     fill="none"
10690   >
10691     <path
10692       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"
10693       fill=${
10694         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
10695       }
10696     />
10697   </svg>
10698 `;
10699 
10700 function isElementVisible(element) {
10701   return (
10702     document.body.contains(element) &&
10703     getComputedStyle(element).display !== "none" &&
10704     getComputedStyle(element).visibility !== "hidden" &&
10705     getComputedStyle(element).opacity !== "0" &&
10706     !element.hasAttribute("hidden") &&
10707     !isAncestorHidden(element)
10708   );
10709 }
10710 
10711 function isAncestorHidden(element) {
10712   let parent = element.parentElement;
10713   while (parent) {
10714     if (
10715       getComputedStyle(parent).display === "none" ||
10716       getComputedStyle(parent).visibility === "hidden" ||
10717       getComputedStyle(parent).opacity === "0" ||
10718       parent.hasAttribute("hidden")
10719     ) {
10720       return true;
10721     }
10722     parent = parent.parentElement;
10723   }
10724   return false;
10725 }
10726 
10727 function showAlert(message) {
10728   const alertBox = document.createElement("div");
10729   alertBox.textContent = message;
10730   alertBox.style.position = "fixed";
10731   alertBox.style.top = "20px";
10732   alertBox.style.right = "-300px"; // Start off-screen
10733   alertBox.style.backgroundColor = "#000000"; // Black background
10734   alertBox.style.color = "#ffffff"; // White text
10735   alertBox.style.padding = "15px";
10736   alertBox.style.borderRadius = "8px";
10737   alertBox.style.zIndex = "1000";
10738   alertBox.style.transition =
10739     "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading
10740   alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth
10741 
10742   document.body.appendChild(alertBox);
10743 
10744   // Slide in
10745   requestAnimationFrame(() => {
10746     alertBox.style.right = "20px"; // Move into view
10747     alertBox.style.opacity = "1"; // Ensure opacity is set to 1
10748   });
10749 
10750   // Slide out and remove the alert after a few seconds
10751   setTimeout(() => {
10752     alertBox.style.opacity = "0"; // Fade out
10753     alertBox.style.right = "-300px"; // Move out of view
10754 
10755     // Wait for the transition to finish before removing the element
10756     setTimeout(() => {
10757       document.body.removeChild(alertBox);
10758     }, 500); // Match this duration with the exit transition duration
10759   }, 3000);
10760 }
10761 </script>
10761
10762 
10763 <style>
10764     .daftarku-fixed-footer {
10765             display: flex;
10766             justify-content: space-around;
10767             position: fixed;
10768             background: linear-gradient(to bottom, #000000 0%, #3d3d3d, #000000 100%);
10769             box-shadow: 0 0 12px #00ffff;
10770             outline: none;
10771             padding: 5px 0;
10772             box-shadow: 0 0 0 0 2px 2px #198f01;
10773             left: 0;
10774             right: 0;
10775             bottom: 0;
10776             z-index: 99;
10777             border-radius: 40px 40px 0px 0px;
10778             border-style:dashed;
10779             
10780         }
10781 
10782         .daftarku-fixed-footer a {
10783             flex-basis: calc((100% - 15px*6)/ 5);
10784             text-decoration: none;
10785             display: flex;
10786             flex-direction: column;
10787             justify-content: center;
10788             align-items: center;
10789             color: #fff;
10790             max-width: 75px;
10791             font-size: 12px;
10792             font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
10793         }
10794 
10795         .daftarku-fixed-footer a:hover {
10796             font-weight: bold;
10797         }
10798 
10799         .daftarku-fixed-footer .center {
10800             transform: scale(1.5) translateY(-5px);
10801             background: center no-repeat;
10802             background-size: contain;
10803             background-color: inherit;
10804             border-radius: 50%;
10805         }
10806 
10807         .daftarku-fixed-footer img {
10808             max-width: 20px;
10809             margin-bottom: 0;
10810             max-height: 20px;
10811         }
10812 </style>
10813     
10814     <div class="daftarku-fixed-footer">
10815     <a href="https://amp13-2.vercel.app/" rel="nofollow noopener" target="_blank">
10816         <img layout="intrinsic" height="20px" width="20px" src="https://ik.imagekit.io/9ng7ozhvc/FAVKASKUS.webp?updatedAt=1783584698948" alt="PROMOSI">
10817         PROMO
10818     </a>
10819     <a href="https://amp13-2.vercel.app/" rel="nofollow noopener" target="_blank">
10820         <img layout="intrinsic" height="20px" width="20px" src="https://ik.imagekit.io/9ng7ozhvc/FAVKASKUS.webp?updatedAt=1783584698948" alt="LOGIN">
10821         LOGIN
10822     </a>
10823     <a href="https://amp13-2.vercel.app/" rel="nofollow noopener" target="_blank" class="tada">
10824         <img layout="intrinsic" height="20px" width="20px" src="https://ik.imagekit.io/9ng7ozhvc/FAVKASKUS.webp?updatedAt=1783584698948" alt="DAFTAR">
10825         DAFTAR
10826     </a>
10827     <a href="https://amp13-2.vercel.app/" rel="nofollow noopener" target="_blank">
10828         <img layout="intrinsic" height="20px" width="20px" src="https://ik.imagekit.io/9ng7ozhvc/FAVKASKUS.webp?updatedAt=1783584698948" alt="TELEGRAM">
10829         TELEGRAM
10830     </a>
10831     <a href="https://amp13-2.vercel.app/" rel="nofollow noopener" target="_blank"
10832         class="js_live_chat_link live-chat-link">
10833         <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px" src="https://ik.imagekit.io/9ng7ozhvc/FAVKASKUS.webp?updatedAt=1783584698948" alt="Live Chat">
10834         Live Chat
10835     </a>
10836 </div>
10837 </div>
10838<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"5abaec601c63442d979cb0cee0e1cbca","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
10838
10839</body>
10840 </html>

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