PageSourceSearch

https://updatedatatogel.com/

html updatedatatogel.com collected 2026-10-09 22:40:57 UTC 672,018 bytes, 11,234 lines download raw bytes

1
2<!doctype html>
3 <!--ENTAH APA APA LAH KAU INI-->
4   <html class="no-js" lang="id-ID">
5     <head>
6     <meta charset="utf-8">
7     <meta http-equiv="X-UA-Compatible" content="IE=edge">
8     <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
9     <meta name="apple-itunes-app" content="app-id=1576832504">
10     <link rel="icon" type="image/x-icon" href="https://updatedatatogel.com/image/favicon_tikusweb.webp">
11      <!-- Title and description -->
12     <title>TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor</title>
13     <meta name="description" content="TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.">
14     <link rel="canonical" href="https://updatedatatogel.com/">
15     <link rel="amphtml" href="https://update-data-togel.pages.dev/"/>
16     <link rel="alternate" hreflang="id-id" href="https://updatedatatogel.com/amp-tikus/"/>
17     <link rel="alternate" href="https://updatedatatogel.com/amp-tikus/"/>
18     <link rel="alternate" hreflang="id" href="https://updatedatatogel.com/amp-tikus/"/>
19     <link rel="alternate" hreflang="en" href="https://updatedatatogel.com/amp-tikus/"/>
20     <link rel="alternate" hreflang="x-default" href="https://updatedatatogel.com/amp-tikus/"/>
21     <!-- /snippets/social-meta-tags.liquid -->
22     <meta property="og:type" content="TIKUS4D">
23     <meta property="og:title" content="TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor">
24     <meta property="og:image" content="https://updatedatatogel.com/image/banner_tikus4d.webp">
25     <meta property="og:image:secure_url" content="https://updatedatatogel.com/image/banner_tikus4d.webp">
26     <meta property="og:image" content="https://updatedatatogel.com/image/banner_tikus4d.webp">
27     <meta property="og:image:secure_url" content="https://updatedatatogel.com/image/banner_tikus4d.webp">
28     <meta property="og:image" content="https://updatedatatogel.com/image/banner_tikus4d.webp">
29     <meta property="og:image:secure_url" content="https://updatedatatogel.com/image/banner_tikus4d.webp">
30     <meta property="og:description" content="TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.">
31     <meta property="og:price:amount" content="5,000-,">
32     <meta property="og:price:currency" content="IDR">
33     <meta property="og:url" content="https://updatedatatogel.com/">
34     <meta property="og:site_name" content="TIKUS4D">
35     <meta name="google-site-verification" content="8qD7oxIT73V1pAxL9roTSKrNVlpn23FxxOcALkLlH-g" />
36     <meta name="twitter:site" content="@TIKUS4D">
37     <meta name="twitter:card" content="summary">
38     <meta name="twitter:title" content="TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor">
39     <meta name="twitter:description" content="TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.">
40     <meta name="twitter:image" content="https://updatedatatogel.com/image/banner_tikus4d.webp">
41     <meta name="twitter:image:width" content="600">
42     <meta name="twitter:image:height" content="600">
43     <link rel="shortcut icon" href="https://updatedatatogel.com/image/favicon_tikusweb.webp" 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>
vendor: 471 bytes, lines 55-64
55
56       !function(f,b,e,v,n,t,s)
57       {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
58       n.callMethod.apply(n,arguments):n.queue.push(arguments)};
59       if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
60       n.queue=[];t=b.createElement(e);t.async=!0;
61       t.src=v;s=b.getElementsByTagName(e)[0];
62       s.parentNode.insertBefore(t,s)}(window, document,'script',
63       'https://connect.facebook.net/en_US/fbevents.js');
64       fbq('init', '
64165971065669324
vendor: 44 bytes, lines 64-66
64');
65       fbq('track', 'PageView');
66     
66</script>
66
67     <noscript
68       ><img
69         height="1"
70         width="1"
71         style="display:none"
72         src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1"
73     ></noscript>
74     <!-- End Facebook Pixel Code -->
75 
76     <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking -->
77     <!--
78      Global site tag (gtag.js) - Google Analytics -->
vendor: 76 bytes, lines 78-79
78
79           <script async src="https://www.googletagmanager.com/gtag/js?id=
79G-X26HYP4083
vendor: 24 bytes, lines 79-80
79"></script>
80           
80<script>
81             
vendor: 174 bytes, lines 81-85
81window.dataLayer = window.dataLayer || [];
82             function gtag(){dataLayer.push(arguments);}
83             gtag('js', new Date());
84   
85             gtag('config', '
85G-X26HYP4083
vendor: 16 bytes, lines 85-86
85');
86           
86</script>
86
87       <!-- Global site tag (gtag.js) - Google Analytics -->
88     
89     <div class="button-login-daftar">
90                     <a class="login" href="https://updatedatatogel.com/amp-tikus/" rel="nofollow noreferrer">
91                         LOGIN
92                     </a>
93                     <a class="register" href="https://updatedatatogel.com/amp-tikus/" rel="nofollow noreferrer">
94                         DAFTAR
95                     </a>
96                 </div>
97   
98     
98<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
98
99   
100     <!-- Bing UET -->
101     
101<script>
102       (function(w,d,t,r,u)
103       {
104           var f,n,i;
105           w[u]=w[u]||[],f=function()
106           {
107               var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true};
108               o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
109           },
110           n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function()
111           {
112               var s=this.readyState;
113               s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
114           },
115           i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
116       })
117       (window,document,"script","//bat.bing.com/bat.js","uetq");
118     </script>
118
119     
119<script>
120       window.uetq = window.uetq || [];
121       window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"});
122     </script>
122
123     <!-- End Bing UET -->
124   
125     <!-- Microsoft Clarity -->
126     
126<script type="text/javascript">
127       (function(c,l,a,r,i,t,y){
128           c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
129           t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
130           y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
131       })(window, document, "clarity", "script", "h7rbxqry9k");
132     </script>
132
133     <!-- End Microsoft Clarity -->
134 
135 
136 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" />
137 
138 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" />
139 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css">
140 
141 
141<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
141
142 
142<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
142
143 
143<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
143
144     
144<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
144
145 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog">
146 <link rel="alternate" type="application/json+oembed" href="https://datatellers.info.oembed">
147 
147<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
147
148 
148<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
148
149 
149<script>var Shopify = Shopify || {};
150 Shopify.shop = "outerbloom1.myshopify.com";
151 Shopify.locale = "en";
152 Shopify.currency = {"active":"IDR","rate":"1.0"};
153 Shopify.country = "ID";
154 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"};
155 Shopify.theme.handle = "null";
156 Shopify.theme.style = {"id":null,"handle":null};
157 Shopify.cdnHost = "outerbloom.com/cdn";
158 Shopify.routes = Shopify.routes || {};
159 Shopify.routes.root = "/";</script>
159
160 
160<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
160
161 
161<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>
161
162 
162<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
162
163 
163<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});
164 "></script>
164
165 
165<script>(function() {
166   var isLoaded = false;
167   function asyncLoad() {
168     if (isLoaded) return;
169     isLoaded = true;
170     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"];
171     for (var i = 0; i < urls.length; i++) {
172       var s = document.createElement('script');
173       s.type = 'text/javascript';
174       s.async = true;
175       s.src = urls[i];
176       var x = document.getElementsByTagName('script')[0];
177       x.parentNode.insertBefore(s, x);
178     }
179   };
180   if(window.attachEvent) {
181     window.attachEvent('onload', asyncLoad);
182   } else {
183     window.addEventListener('load', asyncLoad, false);
184   }
185 })();</script>
185
186 
186<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>
186
187 
187<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
187
188 
188<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>
188
189 
189<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>
189
190 
190<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)}};
191 </script>
191
192 
192<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
193   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);
194 </script>
194
195 
195<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})}}));
196 </script>
196
197 
198 
198<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
198
199     <!-- /snippets/oldIE-js.liquid -->
200 
201 
202 <!--[if lt IE 9]>
203 
203<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
203
204 
204<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
204
205 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
206 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
207 
207<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
207
208 <![endif]-->
209 
210 
211 
212   
213     
214   <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">
215 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
216 
216<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>
216
217 
217<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":"TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor","url":"\/products\/blossom-shine","type":"TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform."},"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\":\"TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor\",\"url\":\"\/products\/blossom-shine\",\"type\":\"TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
217<script>
218   window.ShopifyAnalytics = window.ShopifyAnalytics || {};
219   window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
220   window.ShopifyAnalytics.meta.currency = 'IDR';
221   var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.","variants":[{"id":44083045826775,"price":1000000
222   ,"name":"TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}};
223   for (var attr in meta) {
224     window.ShopifyAnalytics.meta[attr] = meta[attr];
225   }
226 </script>
226
227 
227<script class="analytics">
228   (function () {
229     var customDocumentWrite = function(content) {
230       var jquery = null;
231 
232       if (window.jQuery) {
233         jquery = window.jQuery;
234       } else if (window.Checkout && window.Checkout.$) {
235         jquery = window.Checkout.$;
236       }
237 
238       if (jquery) {
239         jquery('body').append(content);
240       }
241     };
242 
243     var hasLoggedConversion = function(token) {
244       if (token) {
245         return document.cookie.indexOf('loggedConversion=' + token) !== -1;
246       }
247       return false;
248     }
249 
250     var setCookieIfConversion = function(token) {
251       if (token) {
252         var twoMonthsFromNow = new Date(Date.now());
253         twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
254 
255         document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
256       }
257     }
258 
259     var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
260     if (trekkie.integrations) {
261       return;
262     }
263     trekkie.methods = [
264       'identify',
265       'page',
266       'ready',
267       'track',
268       'trackForm',
269       'trackLink'
270     ];
271     trekkie.factory = function(method) {
272       return function() {
273         var args = Array.prototype.slice.call(arguments);
274         args.unshift(method);
275         trekkie.push(args);
276         return trekkie;
277       };
278     };
279     for (var i = 0; i < trekkie.methods.length; i++) {
280       var key = trekkie.methods[i];
281       trekkie[key] = trekkie.factory(key);
282     }
283     trekkie.load = function(config) {
284       trekkie.config = config || {};
285       trekkie.config.initialDocumentCookie = document.cookie;
286       var first = document.getElementsByTagName('script')[0];
287       var script = document.createElement('script');
288       script.type = 'text/javascript';
289       script.onerror = function(e) {
290         var scriptFallback = document.createElement('script');
291         scriptFallback.type = 'text/javascript';
292         scriptFallback.onerror = function(error) {
293                 var Monorail = {
294       produce: function produce(monorailDomain, schemaId, payload) {
295         var currentMs = new Date().getTime();
296         var event = {
297           schema_id: schemaId,
298           payload: payload,
299           metadata: {
300             event_created_at_ms: currentMs,
301             event_sent_at_ms: currentMs
302           }
303         };
304         return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
305       },
306       sendRequest: function sendRequest(endpointUrl, payload) {
307         // Try the sendBeacon API
308         if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
309           var blobData = new window.Blob([payload], {
310             type: 'text/plain'
311           });
312 
313           if (window.navigator.sendBeacon(endpointUrl, blobData)) {
314             return true;
315           } // sendBeacon was not successful
316 
317         } // XHR beacon
318 
319         var xhr = new XMLHttpRequest();
320 
321         try {
322           xhr.open('POST', endpointUrl);
323           xhr.setRequestHeader('Content-Type', 'text/plain');
324           xhr.send(payload);
325         } catch (e) {
326           console.log(e);
327         }
328 
329         return false;
330       },
331       isIos12: function isIos12() {
332         return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
333       }
334     };
335     Monorail.produce('monorail-edge.shopifysvc.com',
336       'trekkie_storefront_load_errors/1.1',
337       {shop_id: 15896833,
338       theme_id: 153139282135,
339       app_name: "storefront",
340       context_url: window.location.href,
341       source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"});
342 
343         };
344         scriptFallback.async = true;
345         scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
346         first.parentNode.insertBefore(scriptFallback, first);
347       };
348       script.async = true;
349       script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
350       first.parentNode.insertBefore(script, first);
351     };
352     trekkie.load(
353       {"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}}
354     );
355 
356     var loaded = false;
357     trekkie.ready(function() {
358       if (loaded) return;
359       loaded = true;
360 
361       window.ShopifyAnalytics.lib = window.trekkie;
362 
363       var originalDocumentWrite = document.write;
364       document.write = customDocumentWrite;
365       try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
366       document.write = originalDocumentWrite;
367 
368       window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true});
369 
370       var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
371       var token = match? match[1]: undefined;
372       if (!hasLoggedConversion(token)) {
373         setCookieIfConversion(token);
374         window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true});
375       window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"});
376       }
377     });
378 
379 
380         var eventsListenerScript = document.createElement('script');
381         eventsListenerScript.async = true;
382         eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js";
383         document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
384 
385 })();</script>
385
386   
386<script>
387   if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
388     window.ga = function ga() {
389       (window.ga.q = window.ga.q || []).push(arguments);
390       if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
391         window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
392       }
393       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.");
394     };
395     if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
396       window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
397     }
398   }
399 </script>
399
400 
400<script
401   defer
402   src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js"
403   data-application="storefront-renderer"
404   data-shop-id="15896833"
405   data-render-region="gcp-asia-southeast1"
406   data-page-type="product"
407   data-theme-instance-id="153139282135"
408   data-theme-name=""
409   data-theme-version=""
410   data-monorail-region="shop_domain"
411   data-resource-timing-sampling-rate="10"
412   data-shs="true"
413   data-shs-beacon="true"
414   data-shs-export-with-fetch="true"
415   data-shs-logs-sample-rate="1"
416 ></script>
416
417 </head><body
418     data-template="product"
419     id="blossom-shine"
420     class="template-product template-product"
421   >
422     <!-- Google Tag Manager (noscript) -->
vendor: 93 bytes, lines 422-425
422
423     <noscript
424       ><iframe
425         src="https://www.googletagmanager.com/ns.html?id=
425GTM-MF9VVZX
vendor: 135 bytes, lines 425-431
425"
426         height="0"
427         width="0"
428         style="display:none;visibility:hidden"
429       ></iframe
430     ></noscript>
431     
431<!-- End Google Tag Manager (noscript) -->
432 
433     
434 
435     <div class="header-wrapper">
436       
437       <div id="shopify-section-NotifBar" class="shopify-section m-0">
438 
439 <style>
440   #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;}
441   #notification.promo-up {top: -48px!important;}
442   .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;}
443   .notification__message p {margin: 0;color: #000000;font-size: 14px!important;}
444   .notification__message p a {text-decoration: underline;color: #fff000;}
445   @media (max-width: 991px){
446     .notification__message p {font-size: 14px!important;}
447   }
448 </style>
449 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" />
450 <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">
451   <div class="page-width notification__inner ">
452     
453     
454     <div class="notification__message text-center">
455       <p><a href="https://updatedatatogel.com/" title="TIKUS4D">TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor</a></p>
456     </div>
457   </div>
458 </div>
459 
460 
461 
462 
463 </div>
464       <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"/>
465 
466 
467 <header style="background-image: url(https://i.ibb.co/FLvWP2DY/Untitled-design.png); background-attachment: fixed;">
468   <div class="container">
469     <div class="header-container row justify-content-between pl-lg-0 pr-lg-0">
470         <a href="https://updatedatatogel.com/">
471         <img src="https://updatedatatogel.com/image/logo.webp" alt="logo-TIKUS4D" style="width: 190px;"></a>
472       <link href="https://updatedatatogel.com/image/favicon_tikusweb.webp" rel="shortcut icon" type="image/x-icon" />
473         <div id="menu-hamburger" class="d-lg-none">
474           <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="16" height="10" viewBox="0 0 16 10" fill="none">
475   <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"/>
476 </svg>
477 
478         <a href="/"><svg xmlns="https://updatedatatogel.com/image/logo.webp" viewBox="0 0 854 78.29">
479   <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>
480 </svg>
481 </a>
482       </div>
483 
484       <div class="header-icon-right header-icons col-3">
485         <div class="icon icon-account-header d-none d-lg-block">
486           <a href="https://updatedatatogel.com/">
487             <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="20" height="21" viewBox="0 0 20 21" fill="none">
488   <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"/>
489   <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"/>
490 </svg>
491 
492           </a>
493         </div>
494         <div class="icon icon-wishlist-header">
495           <a href="https://updatedatatogel.com/">
496             <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
497   <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.
49711233C11.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"/>
498 </svg>
499 
500             <span class="wishlist-count d-none">0</span>
501           </a>
502         </div>
503         <div class="icon icon-cart-header">
504           <a href="https://updatedatatogel.com/">
505             <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="22" height="21" viewBox="0 0 22 21" fill="none">
506   <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"/>
507   <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"/>
508 </svg>
509 
510           </a>
511         </div>
512       </div>
513     </div>
514   </div>
515 </header>
516 
517 <nav class="nav-header" style="background-color: #242424;">
518   <div class="nav-account-mobile row m-0 d-lg-none">
519     <div class="col-6 welcome-cust p-0">
520       
521         <h1 class="logo">
522     <a href="https://updatedatatogel.com/">
523         <img src="https://updatedatatogel.com/image/logo.webp" alt="TIKUS4D" style="max-height:60px;">
524     </a>
525 </h1>
526 
527       
528     </div>
529     
530       <div class="col-6 login-register text-right p-0">
531         <a href="https://updatedatatogel.com/amp-tikus/">Log In</a> | <a href="https://updatedatatogel.com/amp-tikus/">Sign Up</a>
532       </div>
533   </div>
534   <ul class="nav-menu container">
535     
536       <li class="nav-menu container">
537         <a href="https://updatedatatogel.com/">
538           <span style="color: #fff000;">TIKUS4D</span>
539         
540     
541       <li class=" nav-menu container">
542         <a href="https://updatedatatogel.com/">
543           <span style="color: #fff000;">SITUS TIKUS4D</span>
544           
545     
546       <li class=" nav-menu container">
547         <a href="https://updatedatatogel.com/">
548           <span style="color: #fff000;">TIKUS4D GAME</span>
549     
550       <li class=" nav-menu container">
551         <a href="https://updatedatatogel.com/">
552           <span style="color: #fff000;">TIKUS4D DAFTAR</span>
553 
554       <li class=" nav-menu container">
555         <a href="https://updatedatatogel.com/">
556           <span style="color: #fff000;">TIKUS4D TERPERCAYA</span>
557 
558       <li class=" nav-menu container">
559         <a href="https://updatedatatogel.com/">
560           <span style="color: #fff000;">SERVER GAME INDONESIA</span>
561       
562 <div class="overlay-nav">
563   <!-- Mobile Close Button in Overlay -->
564   <button id="nav-close" class="nav-close-btn d-lg-none">
565     <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://updatedatatogel.com/image/logo.webp">
566       <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
567     </svg>
568   </button>
569 </div>
570 
571 
571<script>
572   if ($(window).width() < 992) {
573     // Level 1 menu accordion (main menu items)
574     $(".nav-menu .nav-menu container > a").click(function(e){
575       e.preventDefault()
576       const parentLi = $(this).parent()
577       const isCurrentlyOpen = parentLi.hasClass("menu-open")
578       
579       // Close all other open menus (accordion behavior)
580       $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open")
581       $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp()
582       
583       // Toggle current menu
584       if (isCurrentlyOpen) {
585         parentLi.removeClass("menu-open")
586         $(this).next(".megamenu").slideUp()
587       } else {
588         parentLi.addClass("menu-open")
589         $(this).next(".megamenu").slideDown()
590       }
591     })
592 
593     // Level 2 menu accordion (submenu items with grandchildren)
594     $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){
595       e.preventDefault()
596       const parentLi = $(this).parent()
597       const isCurrentlyOpen = parentLi.hasClass("submenu-open")
598       const grandchild = $(this).next(".grandchild")
599       
600       // Close all other open submenus in the same dropdown (accordion behavior)
601       parentLi.siblings('.has-submenu').removeClass("submenu-open")
602       parentLi.siblings('.has-submenu').find('.grandchild').slideUp()
603       parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)')
604       
605       // Toggle current submenu
606       if (isCurrentlyOpen) {
607         parentLi.removeClass("submenu-open")
608         grandchild.slideUp()
609         $(this).find('.chevron-right').css('transform', 'rotate(0deg)')
610       } else {
611         parentLi.addClass("submenu-open")
612         grandchild.slideDown()
613         $(this).find('.chevron-right').css('transform', 'rotate(90deg)')
614       }
615     })
616 
617     $("#menu-hamburger").click(function(e){
618       e.preventDefault()
619       $("body").toggleClass("nav_open")
620     })
621     
622     // Handle close button click
623     $("#nav-close").click(function(e){
624       e.preventDefault()
625       $("body").removeClass("nav_open")
626       // Close all open menus when close button is clicked
627       $(".nav-menu .nav-menu container").removeClass("menu-open")
628       $(".nav-menu .megamenu").slideUp()
629       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
630       $(".dropdown-menu .grandchild").slideUp()
631       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
632     })
633   }
634 
635   $(".overlay-nav").click(function(e){
636       e.preventDefault()
637       $("body").removeClass("nav_open")
638       // Close all open menus when overlay is clicked
639       $(".nav-menu .nav-menu container").removeClass("menu-open")
640       $(".nav-menu .megamenu").slideUp()
641       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
642       $(".dropdown-menu .grandchild").slideUp()
643       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
644   })
645 </script>
645
646 
647 
648 </div>
649 
650       <div id="shopify-section-search-popup" class="shopify-section m-0"><style>
651   #search-trigger {
652     cursor: pointer;
653   }
654   #search-popup {
655     display: none;
656     position: fixed;
657     left: 0;
658     width: 100%;
659     top: 0;
660     height: 100%;
661     justify-content: center;
662     z-index: 9999;
663     background: rgb(196 196 196 / 30%);
664   }
665   #search-input {
666     align-self: center;
667     width: 100%;
668     height: 80px;
669     position: absolute;
670     top: 0;
671     border-bottom: 0.5px solid #A3A3A3;
672     background-color: #fff;
673   }
674   #search-input * {
675     align-self: center;
676   }
677   #search-type {
678     width: 100%;
679     border: none;
680     padding-right: 20px;
681     padding-left: 20px;
682     font-size: 16px;
683     color: #757575;
684   }
685   #search-btn {
686     font-size: 16px;
687     font-weight: 500;
688   }
689   #search-result {
690     min-height: 490px;
691     width: 100%;
692     padding-top: 80px;
693   }
694   #search-result .container {
695     background-color: #fff;
696     padding: 20px 40px;
697   }
698   body.search-popup-open {
699   /* .search-popup-open */
700     overflow: hidden;
701   }
702   .search-popup-open #loc_delivery {
703     display: none
704   }
705   .search-header svg {
706     display: none;
707     cursor: pointer;
708   }
709   .wrapper-search-popup {
710     max-height: calc(100vh - 150px);
711     overflow-y: auto;
712     overflow-x: hidden;
713   }
714 
715   .group-recommend {
716     padding: 20px 40px;
717   }
718 
719   .resultsearch {
720     display: none;
721   }
722   .results { padding: 20px 40px }
723   .resultsearch label {
724     font-weight: 600;
725     padding-bottom: 20px;
726     display: block;
727     margin-bottom: 20px;
728     border-bottom: 1px solid #AAAAAA;
729   }
730 
731   ul.result_product {
732     max-height: 300px;
733     overflow: auto;
734   }
735 
736   .group-promotion ul {
737     margin: 0;
738   }
739   .group-promotion li {
740     list-style: none;
741     margin-bottom: 12px;
742   }
743   .group-promotion li a {
744     color: inherit;
745   }
746 
747   .group-recent {
748     position: relative;
749     padding: 20px 40px;
750   }
751   .group-recent ul {
752     margin: 0;
753   }
754   .group-recent li {
755     list-style: none;
756     display: inline-block;
757     margin-right: 60px;
758   }
759   .group-recent li a {
760     color: inherit;
761   }
762 
763   .last-search svg {
764     width: 20px;
765     vertical-align: middle;
766   }
767   ul.last-search a {
768     vertical-align: middle;
769     padding: 0 10px;
770   }
771   ul.last-search li span {
772     cursor: pointer;
773   }
774   .delete-all-history {
775     position: absolute;
776     top: 25px;
777     right: 40px;
778     text-decoration: underline;
779     color: #e11d1d;
780     cursor: pointer;
781     font-size: 12px;
782   }
783 
784   form.search.search-modal__form {
785     position: relative;
786   }
787 
788   button.search__button svg {
789     width: 25px;
790     color: #495057;
791     fill: #757582;
792   }
793 
794   button.search__button.field__button {
795     position: absolute;
796     top: 50%;
797     margin-top: -12px;
798   }
799 
800   .close-search {
801     display: none;
802     position: absolute;
803     right: 65px;
804     top: 10px;
805     cursor: pointer;
806   }
807 
808   .site-overlay {
809     position: fixed;
810     top: 0;
811     width: 100vw;
812     height: 100vh;
813     z-index: 1000;
814     background: #0000005c;
815     visibility: hidden;
816     opacity: 0;
817     pointer-events: none;
818     transition: all .3s linear;
819     display: block !important;
820   }
821 
822   .search-popup-open .site-overlay {
823     opacity: 1;
824     visibility: visible;
825     pointer-events: all;
826     z-index: -1;
827     cursor: pointer;
828   }
829 
830   @media (min-width: 991px) {
831     .group-recent ul {
832       column-count: 3;
833     }
834     .group-promotion li a {
835       font-size: 12px;
836       font-weight: 400;
837     }
838     .group-recent li a {
839       font-size: 12px;
840       font-weight: 400;
841     }
842   }
843 
844   .moreresult {
845     padding: 10px 40px;
846     border-top: 1px solid #AAAAAA;
847   }
848   .moreresult * {
849     align-self: center;
850   }
851   .moreresult p {
852     margin: 0;
853     font-size: 12px !important;
854   }
855   .moreresult svg {
856     width: 13px;
857   }
858 
859   @media (max-width: 992px) {
860     .icon-key-mobile {
861         height: auto!important;
862         width: 10px!important;
863     }
864     body.grid-view.search-popup-open .products {
865       -ms-flex: 0 0 100%!important;
866       flex: 0 0 100%!important;
867       max-width: 100%!important;
868     }
869     button.search__button svg {
870       width: 20px;
871     }
872     #search-result {
873       padding-left: 0;
874       padding-right: 0;
875     }
876     #search-result {
877       padding-top: 55px;
878     }
879     #search-input {
880       height: 55px;
881     }
882     .group-recommend {
883       padding: 20px;
884     }
885     #search-input .container {
886       padding: 0 20px;
887     }
888     #search-type {
889       font-size: 14px;
890     }
891     #search-btn {
892       font-size: 12px;
893       text-decoration: underline;
894     }
895     .results {
896       padding: 20px;
897     }
898     .group-recommend h3 {
899       font-size: 16px;
900     }
901     .products .card-body {
902       padding: 8px 0px 10px;
903     }
904     .moreresult {
905       padding: 10px 20px;
906     }
907   }
908 </style>
909  <style type="text/css">
910         div.advertisement-placeholder {
911             text-align: center;
912             padding-bottom: 20px;
913             display: flex;
914             flex-direction: column;
915             justify-content: center;
916         }
917         div.advertisement-text p {
918             margin: 0;
919             font-family: Open Sans;
920             font-style: normal;
921             font-weight: normal;
922             font-size: 10px;
923             line-height: 20px;
924             color: #999999;
925         }
926         div.advertisement-banner {
927             margin: 0px auto;
928         }
929         div#div-gpt-ad-billboard-placeholder {
930             width: 996px;
931             margin: 0 auto;
932             background: #F5F5F5;
933             padding-bottom: unset !important;
934             min-height: 200px;
935         }
936         div#div-gpt-ad-lb-placeholder {
937             background: #F5F5F5;
938             padding-bottom: unset !important;
939             min-height: 280px;
940         }
941         .faq-section{
942             max-width:1200px;
943             margin:50px auto;
944             padding:40px 20px;
945             position:relative;
946             background-color: rgba(0, 0, 0, 0.1);
947             backdrop-filter: blur(25px);
948             border-radius: 20px;
949             }
950         
951         .faq-section::before{
952             content:"";
953             position:absolute;
954             top:0;left:50%;
955             transform:translateX(-50%);
956             width:80%;
957             height:2px;
958             background:linear-gradient(90deg,transparent,#fff000,transparent)
959             }
960             
961         .faq-section h2{
962             text-align:center;
963             font-size:34px;font-weight:700;
964             margin-bottom:50px;
965             background: linear-gradient(135deg, #fff000, #fff000, #fff000);
966             -webkit-background-clip:text;
967             -webkit-text-fill-color:transparent;
968             background-clip:text;
969             font-family:"Poppins",sans-serif;letter-spacing:1px
970         }
971         
972         .faq-container{
973             display:flex;
974             flex-direction:column;
975             gap:25px
976         }
977         
978         .faq-item{
979             background:linear-gradient(145deg,#0a0a0a,#1a1a1a);
980             border:2px solid #fff000;
981             border-radius:20px;overflow:hidden;
982             transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5)
983         }
984         
985         .faq-item:hover{
986             border-color:#fff000;
987             transform:translateX(10px);
988             box-shadow:0 12px 35px rgba(0, 255, 255, 0.25)
989         }
990 
991         .faq-question{width:100%;
992             padding:28px 35px;background:transparent;
993             color:#ffffff;
994             font-size:18px;
995             font-weight:600;
996             text-align:left;
997             border:none;cursor:pointer;
998             display:flex;
999             justify-content:space-between;
1000             align-items:center;
1001             font-family:"Poppins",sans-serif;
1002             transition:all .3s ease
1003         }
1004         
1005         .faq-question:hover{
1006             color:#fff000
1007         }
1008         
1009         .faq-question::after{
1010             content:'+';
1011             font-size:32px;
1012             font-weight:300;
1013             transition:all .4s ease;
1014             color:#fff000;
1015             width:40px;
1016             height:40px;
1017             display:flex;
1018             align-items:center;
1019             justify-content:center;
1020             border:2px solid #fff000;border-radius:50%;
1021             background:rgba(0, 0, 0, 0.1)
1022         }
1023         
1024         .faq-item.active .faq-question::after{
1025             transform:rotate(135deg);
1026             background:linear-gradient(135deg,#fff000,#fff000);
1027             color:#000;border-color:transparent
1028         }
1029         
1030         .faq-answer{
1031             max-height:0;
1032             overflow:hidden;
1033             transition:max-height .5s ease,padding .5s ease;
1034             background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent);
1035             padding:0 35px
1036         }
1037         
1038         .faq-item.active .faq-answer{
1039             max-height:800px;padding:30px 35px;
1040             border-top:1px solid rgba(0, 255, 255, 0.3)
1041         }
1042         
1043         .faq-answer p{
1044             color:#e0e0e0;
1045             font-size:16px;
1046             line-height:2;
1047             margin:0;
1048             font-family:"Poppins",sans-serif
1049         }
1050 
1051         @media
1052             (max-width:768px)
1053         {
1054         
1055         .faq-section
1056             {padding:30px 15px}
1057         
1058         .faq-section h2
1059             {font-size:26px}
1060         
1061         .faq-question
1062             {font-size:16px;
1063             padding:22px 25px}
1064         
1065         .faq-question::after
1066             {width:35px;
1067             height:35px;
1068             font-size:28px}
1069         
1070         .faq-answer
1071             {padding:0 25px}
1072         
1073         .faq-item.active .faq-answer
1074             {padding:25px}
1075         
1076         .faq-item:hover
1077             {transform:translateX(5px)}
1078             }
1079     </style>
1080 <div id="search-popup">
1081   <div id="search-input" class="row">
1082     <div class="container w-100">
1083       <form
1084         action="/search"
1085         method="get"
1086         role="search"
1087         class="search search-modal__form d-flex justify-content-between"
1088       >
1089         <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="20" height="20" viewBox="0 0 20 20" fill="none">
1090   <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"/>
1091 </svg>
1092 
1093         <input type="hidden" name="type" value="product">
1094         <input
1095           type="text"
1096           id="search-type"
1097           name="q"
1098           class="search-popup"
1099           placeholder="Gifts that linger: Uncover treasures for cherished moments."
1100         >
1101         <div class="close-search"><svg xmlns="https://updatedatatogel.com/image/logo.webp" width="18" height="18" viewBox="0 0 18 18" fill="none">
1102   <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"/>
1103 </svg>
1104 </div>
1105         <button id="search-btn">Search</button>
1106       </form>
1107     </div>
1108   </div>
1109   <div id="search-result" class="container m-auto">
1110     <div class="container p-0">
1111       <div class="group-promotion">
1112         <div class="resultsearch">
1113           <div class="row results">
1114             <div class="col-12 col-lg-6 mb-3 mb-lg-0">
1115               <label>SUGGESTIONS</label>
1116               <ul class="result_collection"></ul>
1117             </div>
1118             <div class="col-12 col-lg-6">
1119               <label>PRODUCTS</label>
1120               <ul class="result_product"></ul>
1121             </div>
1122           </div>
1123           <div class="d-flex justify-content-between moreresult m-0">
1124             <p>Search for<span></span></p>
1125             <svg version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" width="32" height="32" viewBox="0 0 32 32">
1126 <title>icon-arrow-right</title>
1127 <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>
1128 </svg>
1129           </div>
1130         </div>
1131       </div>
1132       <div class="group-recent hide">
1133         <h3>RECENT SEARCH</h3>
1134         <span class="delete-all-history">Hapus riwayat</span>
1135         <ul class="last-search"></ul>
1136       </div>
1137       <div class="group-recommend">
1138         <h3>YOU MAY ALSO LIKE</h3>
1139         
1140         
1141           <div class="row popup-recommend c-products-grid infinite-case product-multi-">
1142             <div class="swiper-wrapper justify-content-between" style="margin-left:1px;">
1143               
1144                 
1145                   <div class="swiper-slide card">
1146                     
1147 
1148 
1149 
1150 <div class="products" data-lazy="false">
1151   <div class="bg-products">
1152     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake">
1153       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1154   <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
11546 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"/>
1155 </svg>
1156 
1157     </div>
1158     <a href="/products/mid-autumn-of-love-mooncake">
1159       
1160       <div class="product-card-img-container p-0 position-relative">
1161         
1162         <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">
1163       </div>
1164       <div class="card-body product-card-info">
1165         <h5 class="h5 mb-0">
1166           Mid Autumn of Love Mooncake
1167         </h5>
1168         <div class="product-card-price">
1169           
1170           <div class="product-price-sale">
1171             <s class="product-card-price-before card-money">Rp 588.000</s>
1172             <span class="product-card-discount small">	
1173               (-40%)
1174             </span> 	
1175           </div>
1176           
1177           
1178           
1179           <div class="price-discount">
1180             <h4 class="product-card-price-after card-money">Rp 348.000</h4>
1181           </div>
1182           
1183           
1184           
1185           
1186           
1187         </div>
1188         
1189       </div>
1190     </a>
1191   </div>
1192   
1193 </div>
1194 
1195                   </div>
1196                 
1197               
1198                 
1199                   <div class="swiper-slide card">
1200                     
1201 
1202 
1203 
1204 <div class="products" data-lazy="false">
1205   <div class="bg-products">
1206     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake">
1207       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1208   <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.
120811233C11.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"/>
1209 </svg>
1210 
1211     </div>
1212     <a href="/products/mid-autumn-of-joy-mooncake">
1213       
1214       <div class="product-card-img-container p-0 position-relative">
1215         
1216         <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">
1217       </div>
1218       <div class="card-body product-card-info">
1219         <h5 class="h5 mb-0">
1220           Mid Autumn of Joy Mooncake
1221         </h5>
1222         <div class="product-card-price">
1223           
1224           <div class="product-price-sale">
1225             <s class="product-card-price-before card-money">Rp 888.000</s>
1226             <span class="product-card-discount small">	
1227               (-33%)
1228             </span> 	
1229           </div>
1230           
1231           
1232           
1233           <div class="price-discount">
1234             <h4 class="product-card-price-after card-money">Rp 588.000</h4>
1235           </div>
1236           
1237           
1238           
1239           
1240           
1241         </div>
1242         
1243       </div>
1244     </a>
1245   </div>
1246   
1247 </div>
1248 
1249                   </div>
1250                 
1251               
1252                 
1253                   <div class="swiper-slide card">
1254                     
1255 
1256 
1257 
1258 <div class="products" data-lazy="false">
1259   <div class="bg-products">
1260     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake">
1261       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1262   <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.
126211233C11.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"/>
1263 </svg>
1264 
1265     </div>
1266     <a href="/products/mid-autumn-of-fortune-mooncake">
1267       
1268       <div class="product-card-img-container p-0 position-relative">
1269         
1270         <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">
1271       </div>
1272       <div class="card-body product-card-info">
1273         <h5 class="h5 mb-0">
1274           Mid Autumn of Fortune Mooncake
1275         </h5>
1276         <div class="product-card-price">
1277           
1278           <div class="product-price-sale">
1279             <s class="product-card-price-before card-money">Rp 1.188.000</s>
1280             <span class="product-card-discount small">	
1281               (-33%)
1282             </span> 	
1283           </div>
1284           
1285           
1286           
1287           <div class="price-discount">
1288             <h4 class="product-card-price-after card-money">Rp 788.000</h4>
1289           </div>
1290           
1291           
1292           
1293           
1294           
1295         </div>
1296         
1297       </div>
1298     </a>
1299   </div>
1300   
1301 </div>
1302 
1303                   </div>
1304                 
1305               
1306                 
1307                   <div class="swiper-slide card">
1308                     
1309 
1310 
1311 
1312 <div class="products" data-lazy="false">
1313   <div class="bg-products">
1314     <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake">
1315       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1316   <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.
131611233C11.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"/>
1317 </svg>
1318 
1319     </div>
1320     <a href="/products/mid-autumn-festival-mooncake">
1321       
1322       <div class="product-card-img-container p-0 position-relative">
1323         
1324         <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">
1325       </div>
1326       <div class="card-body product-card-info">
1327         <h5 class="h5 mb-0">
1328           Mid Autumn Festival Mooncake
1329         </h5>
1330         <div class="product-card-price">
1331           
1332           <div class="product-price-sale">
1333             <s class="product-card-price-before card-money">Rp 1.288.000</s>
1334             <span class="product-card-discount small">	
1335               (-23%)
1336             </span> 	
1337           </div>
1338           
1339           
1340           
1341           <div class="price-discount">
1342             <h4 class="product-card-price-after card-money">Rp 988.000</h4>
1343           </div>
1344           
1345           
1346           
1347           
1348           
1349         </div>
1350         
1351       </div>
1352     </a>
1353   </div>
1354   
1355 </div>
1356 
1357                   </div>
1358                 
1359               
1360                 
1361                   <div class="swiper-slide card">
1362                     
1363 
1364 
1365 
1366 <div class="products" data-lazy="false">
1367   <div class="bg-products">
1368     <div class="wishlist-toggle" data-product-handle="the-jade-bouquet">
1369       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1370   <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.
137011233C11.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"/>
1371 </svg>
1372 
1373     </div>
1374     <a href="/products/the-jade-bouquet">
1375       
1376       <div class="product-card-img-container p-0 position-relative">
1377         
1378         <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">
1379       </div>
1380       <div class="card-body product-card-info">
1381         <h5 class="h5 mb-0">
1382           The Jade Bouquet
1383         </h5>
1384         <div class="product-card-price">
1385           
1386           <div class="product-price-sale">
1387             <s class="product-card-price-before card-money">Rp 435.000</s>
1388             <span class="product-card-discount small">	
1389               (-34%)
1390             </span> 	
1391           </div>
1392           
1393           
1394           
1395           <div class="price-discount">
1396             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1397           </div>
1398           
1399           
1400           
1401           
1402           
1403         </div>
1404         
1405       </div>
1406     </a>
1407   </div>
1408   
1409 </div>
1410 
1411                   </div>
1412                 
1413               
1414                 
1415                   <div class="swiper-slide card">
1416                     
1417 
1418 
1419 
1420 <div class="products" data-lazy="false">
1421   <div class="bg-products">
1422     <div class="wishlist-toggle" data-product-handle="the-selena-bouquet">
1423       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1424   <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.
142411233C11.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"/>
1425 </svg>
1426 
1427     </div>
1428     <a href="/products/the-selena-bouquet">
1429       
1430       <div class="product-card-img-container p-0 position-relative">
1431         
1432         <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">
1433       </div>
1434       <div class="card-body product-card-info">
1435         <h5 class="h5 mb-0">
1436           The Selena Bouquet
1437         </h5>
1438         <div class="product-card-price">
1439           
1440           <div class="product-price-sale">
1441             <s class="product-card-price-before card-money">Rp 335.000</s>
1442             <span class="product-card-discount small">	
1443               (-29%)
1444             </span> 	
1445           </div>
1446           
1447           
1448           
1449           <div class="price-discount">
1450             <h4 class="product-card-price-after card-money">Rp 235.000</h4>
1451           </div>
1452           
1453           
1454           
1455           
1456           
1457         </div>
1458         
1459       </div>
1460     </a>
1461   </div>
1462   
1463 </div>
1464 
1465                   </div>
1466                 
1467               
1468                 
1469                   <div class="swiper-slide card">
1470                     
1471 
1472 
1473 
1474 <div class="products" data-lazy="false">
1475   <div class="bg-products">
1476     <div class="wishlist-toggle" data-product-handle="the-viola-bouquet">
1477       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1478   <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.
147811233C11.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"/>
1479 </svg>
1480 
1481     </div>
1482     <a href="/products/the-viola-bouquet">
1483       
1484       <div class="product-card-img-container p-0 position-relative">
1485         
1486         <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">
1487       </div>
1488       <div class="card-body product-card-info">
1489         <h5 class="h5 mb-0">
1490           The Viola Bouquet
1491         </h5>
1492         <div class="product-card-price">
1493           
1494           <div class="product-price-sale">
1495             <s class="product-card-price-before card-money">Rp 385.000</s>
1496             <span class="product-card-discount small">	
1497               (-25%)
1498             </span> 	
1499           </div>
1500           
1501           
1502           
1503           <div class="price-discount">
1504             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1505           </div>
1506           
1507           
1508           
1509           
1510           
1511         </div>
1512         
1513       </div>
1514     </a>
1515   </div>
1516   
1517 </div>
1518 
1519                   </div>
1520                 
1521               
1522                 
1523                   <div class="swiper-slide card">
1524                     
1525 
1526 
1527 
1528 <div class="products" data-lazy="false">
1529   <div class="bg-products">
1530     <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet">
1531       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1532   <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.
153211233C11.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"/>
1533 </svg>
1534 
1535     </div>
1536     <a href="/products/the-minerva-bouquet">
1537       
1538       <div class="product-card-img-container p-0 position-relative">
1539         
1540         <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">
1541       </div>
1542       <div class="card-body product-card-info">
1543         <h5 class="h5 mb-0">
1544           The Minerva Bouquet
1545         </h5>
1546         <div class="product-card-price">
1547           
1548           <div class="product-price-sale">
1549             <s class="product-card-price-before card-money">Rp 385.000</s>
1550             <span class="product-card-discount small">	
1551               (-25%)
1552             </span> 	
1553           </div>
1554           
1555           
1556           
1557           <div class="price-discount">
1558             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1559           </div>
1560           
1561           
1562           
1563           
1564           
1565         </div>
1566         
1567       </div>
1568     </a>
1569   </div>
1570   
1571 </div>
1572 
1573                   </div>
1574                 
1575               
1576                 
1577                   <div class="swiper-slide card">
1578                     
1579 
1580 
1581 
1582 <div class="products" data-lazy="false">
1583   <div class="bg-products">
1584     <div class="wishlist-toggle" data-product-handle="congraduations-bouquet">
1585       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1586   <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.
158611233C11.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"/>
1587 </svg>
1588 
1589     </div>
1590     <a href="/products/congraduations-bouquet">
1591       
1592       <div class="product-card-img-container p-0 position-relative">
1593         
1594         <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">
1595       </div>
1596       <div class="card-body product-card-info">
1597         <h5 class="h5 mb-0">
1598           Congraduations Bouquet
1599         </h5>
1600         <div class="product-card-price">
1601           
1602           <div class="product-price-sale">
1603             <s class="product-card-price-before card-money">Rp 380.000</s>
1604             <span class="product-card-discount small">	
1605               (-25%)
1606             </span> 	
1607           </div>
1608           
1609           
1610           
1611           <div class="price-discount">
1612             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1613           </div>
1614           
1615           
1616           
1617           
1618           
1619         </div>
1620         
1621       </div>
1622     </a>
1623   </div>
1624   
1625 </div>
1626 
1627                   </div>
1628                 
1629               
1630                 
1631                   <div class="swiper-slide card">
1632                     
1633 
1634 
1635 
1636 <div class="products" data-lazy="false">
1637   <div class="bg-products">
1638     <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet">
1639       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1640   <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.
164011233C11.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"/>
1641 </svg>
1642 
1643     </div>
1644     <a href="/products/grad-gorgeous-bouquet">
1645       
1646       <div class="product-card-img-container p-0 position-relative">
1647         
1648         <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">
1649       </div>
1650       <div class="card-body product-card-info">
1651         <h5 class="h5 mb-0">
1652           Grad & Gorgeous Bouquet
1653         </h5>
1654         <div class="product-card-price">
1655           
1656           <div class="product-price-sale">
1657             <s class="product-card-price-before card-money">Rp 380.000</s>
1658             <span class="product-card-discount small">	
1659               (-25%)
1660             </span> 	
1661           </div>
1662           
1663           
1664           
1665           <div class="price-discount">
1666             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1667           </div>
1668           
1669           
1670           
1671           
1672           
1673         </div>
1674         
1675       </div>
1676     </a>
1677   </div>
1678   
1679 </div>
1680 
1681                   </div>
1682                 
1683               
1684             </div>
1685           </div>
1686         
1687       </div>
1688     </div>
1689   </div>
1690 
1691   <div class="site-overlay" style="display: none"></div>
1692 </div>
1693 
1693<script>
1694   
1695   var swiper = new Swiper('.popup-recommend', {
1696       slidesPerView : 4, 
1697       spaceBetween: 30,
1698       lazy: true ,                            
1699       speed: 300,
1700       breakpoints: {
1701         // when window width is <= 576px
1702         576: {
1703             slidesPerView: 2,
1704               spaceBetween: 10,
1705             freeMode: true,
1706             resistance : true,
1707             resistanceRatio : 0,
1708             freeModeMomentumRatio : 0.45,
1709             freeModeMomentumVelocityRatio : 1.5
1710         },
1711         768: {
1712               slidesPerView: 2,
1713               spaceBetween: 10
1714             },
1715         992: {
1716               slidesPerView: 3,
1717               spaceBetween: 20
1718         }
1719       }
1720   });
1721 
1722   const searchContainer = $("#search-popup")
1723   const searchInput = $(".search-popup")
1724   const result_collection = $('.result_collection')
1725   const result_product = $('.result_product')
1726   const resultsearch = $('.resultsearch')
1727   const resultrecommend = $(".group-recommend")
1728   const moreresult = $(".moreresult")
1729 
1730   searchInput.keyup(function(){
1731     const input = $(this).val()
1732     moreresult.find("p span").text(` “${input}”`)
1733     if(input.length > 2) {
1734       $(".close-search").show()
1735       const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}`
1736       $.ajax({
1737         type: 'GET',
1738         url,
1739         beforeSend: function() {
1740             // setting a timeout
1741             // $(placeholder).addClass('loading');
1742         },
1743         success: function(response) {
1744             resultsearch.show()
1745             resultrecommend.hide()
1746             result_collection.html("")
1747             result_product.html("")
1748             const collections = response.resources.results.collections
1749             const products = response.resources.results.products
1750             let collection_length = collections.length
1751             let product_length = products.length
1752             // if(collections.length > 5) {
1753             //   collection_length = 5
1754             // }
1755             // if(products.length > 5) {
1756             //   product_length = 5
1757             // }
1758             for(let i=0;i<collection_length;i++){
1759               const title = collections[i].title
1760               const url = collections[i].url
1761               let html_collection
1762               if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) {
1763                 html_collection = `
1764                 <li class="item" data-title="${title}">
1765                   <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a>
1766                 </li>
1767                 `
1768               }
1769               result_collection.append(html_collection)
1770             }
1771             for(let i=0;i<product_length;i++){
1772               const title = products[i].title
1773               const url = products[i].url
1774               const image = products[i].featured_image.url
1775               const vendor = products[i].vendor
1776               let html_product
1777               if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){
1778                 html_product = `
1779                 <li class="item" data-vendor="${vendor}">
1780                   <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}">
1781                     <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span>
1782                   </a>
1783                 </li>
1784                 `
1785               }
1786               result_product.append(html_product)
1787             }
1788         },
1789         error: function(xhr) { // if error occured
1790             alert("Error occured.please try again");
1791         },
1792         complete: function(response) {
1793             // $(placeholder).removeClass('loading');
1794         },
1795         dataType: 'JSON'
1796       });
1797     } else {
1798       result_collection.html("")
1799       result_product.html("")
1800       
1801       resultsearch.hide()
1802       resultrecommend.show()
1803     }
1804   })
1805 
1806   moreresult.click(function(){
1807     $("#search-btn").trigger("click");
1808   })
1809 
1810   $(".close-search").click(function(){
1811     $(this).hide()
1812     searchInput.val("")
1813     searchInput.focus()
1814     resultsearch.hide()
1815     resultrecommend.show()
1816   })
1817 
1818   function setCookie(name,value,days) {
1819     var expires = "";
1820     if (days) {
1821       var date = new Date();
1822       date.setTime(date.getTime() + (days*24*60*60*1000));
1823       expires = "; expires=" + date.toUTCString();
1824     }
1825     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
1826   }
1827   function getCookie(name) {
1828     var nameEQ = name + "=";
1829     var ca = document.cookie.split(';');
1830     for(var i=0;i < ca.length;i++) {
1831       var c = ca[i];
1832       while (c.charAt(0)==' ') c = c.substring(1,c.length);
1833       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
1834     }
1835     return null;
1836   }
1837   let last_search_name = []
1838   let last_search_url = []
1839   $(".group-recent").hide()
1840   if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){
1841     if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){
1842       $(".group-recent").show()
1843       last_search_name = getCookie("last_search_name");
1844       last_search_url = getCookie("last_search_url");
1845       const arrName = last_search_name.substring(1).split(',').reverse()
1846       const arrUrl = last_search_url.substring(1).split(',').reverse()
1847       console.log(arrName, 'Array Name')
1848       console.log(arrUrl, 'Array Url')
1849       let length = arrName.length
1850       if(arrName.length > 5) {
1851         length = 5
1852       }
1853       for(let n=0;n<length;n++){
1854         let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://updatedatatogel.com/image/logo.webp"><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]}">
1854${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>`
1855         $(".group-recent ul").append(html2)
1856       }
1857     }
1858   }
1859   console.log(last_search_name, 'Name')
1860   console.log(last_search_url, 'url')
1861   
1862   resultsearch.delegate(".item a", "click", function(){
1863     let name = [last_search_name]
1864     let url = [last_search_url]
1865     name.push($(this).attr('data-title'))
1866     url.push($(this).attr('data-url'))
1867     setCookie("last_search_name",name,7);
1868     setCookie("last_search_url",url,7);
1869   })
1870   
1871   $(".delete-all-history").click(function() {
1872     setCookie("last_search_name",null,0);
1873     setCookie("last_search_url",null,0);
1874     $(".last-search").hide();
1875     setTimeout(function(){
1876       location.reload();
1877     }, 500);
1878   })
1879   
1880   $("#search-trigger").click(function(){
1881     search_open()
1882   })
1883   $(".icon-search-mobile").click(function(){
1884     search_open()
1885   })
1886   $(".search-header svg").click(function(){
1887     search_close()
1888   })
1889   $(".icon-key-mobile").click(function(){
1890     search_close()
1891   })
1892 
1893   function search_open() {
1894     $("body").addClass("search-popup-open")
1895     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide()
1896     $("#search-popup, .search-header svg, .icon-key-mobile").show()
1897     $(".search-popup").focus()
1898     $('.popup-recommend')[0].swiper.update();
1899   }
1900   function search_close() {
1901     $("body").removeClass("search-popup-open")
1902     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show()
1903     $("#search-popup, .search-header svg, .icon-key-mobile").hide()
1904     searchInput.val("")
1905     resultsearch.hide()
1906     resultrecommend.show()
1907   }
1908 
1909   $(".site-overlay").click(function(){
1910     search_close()
1911   })
1912 </script>
1912
1913 
1914 </div>
1915     </div>
1916 
1917     <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;">
1918       <main class="main-content pt-0" role="main">
1919         
1920           <div id="breadcrumbProduct" class="d-none d-lg-block">
1921             <style>
1922   #breadcrumbProduct {
1923     padding: 20px 0;
1924   }
1925   #breadcrumbProduct ul {
1926       display: flex;
1927       padding: 0;
1928       list-style: none;
1929       margin: 0;
1930       gap: 12px;
1931   }
1932   #breadcrumbProduct ul li {
1933     text-transform: uppercase;
1934     margin: 0;
1935     font-size: 12px;
1936 }
1937   #breadcrumbProduct ul li a {
1938     color: #757575;
1939   }
1940 
1941   #breadcrumbProduct ul li svg {
1942     width: 10px;
1943     height: 10px;
1944     padding: 0;
1945     color: #757575;
1946     vertical-align: middle;
1947   }
1948 </style>
1949 <div class="container" style="color: #fff000;">
1950   <ul role="navigation" aria-label="breadcrumbs">
1951     <li><a href="https://updatedatatogel.com/" style="color: #fff000;">TIKUS4D</a></li>
1952     <li><svg xmlns="https://updatedatatogel.com/image/logo.webp" width="7" height="10" viewBox="0 0 7 10" fill="none">
1953     <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"/>
1954 </svg></li>
1955       <li>SITUS TIKUS4D</li>
1956       <li>TIKUS4D GAME</li>
1957       <li>TIKUS4D DAFTAR</li>
1958       <li>TIKUS4D TERPERCAYA</li>
1959     
1960   </ul>
1961 </div>
1962 
1963           </div>
1964         
1965 
1965<script type="application/ld+json">
1966 {
1967   "@context": "https://schema.org",
1968   "@type": "Product",
1969   "name": "TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor",
1970   "image": "https://updatedatatogel.com/image/banner_tikus4d.webp",
1971   "description": "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.",
1972   "brand": {
1973     "@type": "Brand",
1974     "name": "TIKUS4D"
1975   },
1976   "sku": "TIKUS4D",
1977   "mpn": "TIKUS4D",
1978   "url": "https://updatedatatogel.com/",
1979   "offers": {
1980     "@type": "Offer",
1981     "url": "https://updatedatatogel.com/",
1982     "priceCurrency": "USD",
1983     "price": "10.00",
1984     "priceValidUntil": "2025-12-25",
1985     "itemCondition": "https://schema.org/NewCondition",
1986     "availability": "https://schema.org/InStock",
1987     "seller": {
1988       "@type": "Organization",
1989       "name": "TIKUS4D"
1990     }
1991   },
1992   "aggregateRating": {
1993     "@type": "AggregateRating",
1994     "ratingValue": "5.0",
1995     "reviewCount": 858
1996   },
1997   "review": [
1998     {
1999       "@type": "Review",
2000       "reviewRating": {
2001         "@type": "Rating",
2002         "ratingValue": "5",
2003         "bestRating": "5"
2004       },
2005       "author": {
2006         "@type": "Person",
2007         "name": "Hanabi"
2008       }
2009     },
2010     {
2011       "@type": "Review",
2012       "reviewRating": {
2013         "@type": "Rating",
2014         "ratingValue": "5",
2015         "bestRating": "5"
2016       },
2017       "author": {
2018         "@type": "Person",
2019         "name": "Hayabusa"
2020       }
2021     }
2022   ]
2023 }
2024 </script>
2024<script type="application/ld+json">
2025 {
2026   "@context": "https://schema.org",
2027   "@type": "BreadcrumbList",
2028   "itemListElement": [
2029     {
2030       "@type": "ListItem",
2031       "position": 1,
2032       "name": "TIKUS4D",
2033       "item": "https://updatedatatogel.com/"
2034     },
2035     {
2036       "@type": "ListItem",
2037       "position": 2,
2038       "name": "SITUS TIKUS4D",
2039       "item": "https://updatedatatogel.com/"
2040     },
2041     {
2042       "@type": "ListItem",
2043       "position": 3,
2044       "name": "TIKUS4D GAME",
2045       "item": "https://updatedatatogel.com/"
2046     },
2047     {
2048       "@type": "ListItem",
2049       "position": 4,
2050       "name": "TIKUS4D DAFTAR",
2051       "item": "https://updatedatatogel.com/"
2052     },
2053     {
2054       "@type": "ListItem",
2055       "position": 5,
2056       "name": "TIKUS4D TERPERCAYA",
2057       "item": "https://updatedatatogel.com/"
2058     },
2059     {
2060       "@type": "ListItem",
2061       "position": 6,
2062       "name": "SERVER GAME INDONESIA",
2063       "item": "https://updatedatatogel.com/"
2064     },
2065     {
2066       "@type": "ListItem",
2067       "position": 7,
2068       "name": "TIKUS4D LINK",
2069       "item": "https://updatedatatogel.com/"
2070     },
2071     {
2072       "@type": "ListItem",
2073       "position": 8,
2074       "name": "TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor",
2075       "item": "https://updatedatatogel.com/"
2076     }
2077   ]
2078 }
2079 </script>
2079
2080
2081<!-- FAQ -->
2082
2083<script type="application/ld+json" id="faq-schema">
2084{
2085  "@context": "https://schema.org",
2086  "@type": "FAQPage",
2087  "mainEntity": [
2088    {
2089      "@type": "Question",
2090      "name": "Mengapa banyak pengguna mencari informasi tentang TIKUS4D?",
2091      "acceptedAnswer": {
2092        "@type": "Answer",
2093        "text": "TIKUS4D menarik perhatian karena menyediakan berbagai koleksi game online dalam satu platform, lengkap dengan informasi permainan, update terbaru, dan panduan yang mudah diakses oleh pengguna."
2094      }
2095    },
2096    {
2097      "@type": "Question",
2098      "name": "Apa yang membuat koleksi game di TIKUS4D menarik untuk dijelajahi?",
2099      "acceptedAnswer": {
2100        "@type": "Answer",
2101        "text": "Koleksi game di TIKUS4D mencakup beragam pilihan permainan dengan informasi yang dapat membantu pengguna mengenali fitur, kategori, dan karakteristik masing-masing game sebelum memainkannya."
2102      }
2103    },
2104    {
2105      "@type": "Question",
2106      "name": "Apakah TIKUS4D menyediakan update game terbaru?",
2107      "acceptedAnswer": {
2108        "@type": "Answer",
2109        "text": "TIKUS4D menyediakan pembaruan informasi terkait game secara berkala, sehingga pengguna dapat mengikuti perkembangan permainan, fitur terbaru, dan informasi lainnya yang tersedia di platform."
2110      }
2111    },
2112    {
2113      "@type": "Question",
2114      "name": "Di mana pengguna dapat menemukan tips dan informasi permainan TIKUS4D?",
2115      "acceptedAnswer": {
2116        "@type": "Answer",
2117        "text": "Berbagai tips, panduan, dan informasi permainan TIKUS4D dapat ditemukan melalui halaman atau bagian informasi yang tersedia di platform, sehingga pengguna dapat mempelajarinya sebelum menentukan pilihan game."
2118      }
2119    },
2120    {
2121      "@type": "Question",
2122      "name": "Apakah TIKUS4D nyaman digunakan melalui perangkat mobile?",
2123      "acceptedAnswer": {
2124        "@type": "Answer",
2125        "text": "TIKUS4D dirancang agar mudah diakses melalui perangkat mobile maupun desktop. Pengguna dapat membuka platform menggunakan smartphone, tablet, laptop, atau komputer selama memiliki koneksi internet."
2126      }
2127    },
2128    {
2129      "@type": "Question",
2130      "name": "Bagaimana cara memilih game yang sesuai di TIKUS4D?",
2131      "acceptedAnswer": {
2132        "@type": "Answer",
2133        "text": "Pengguna dapat melihat kategori, fitur, dan informasi setiap permainan di TIKUS4D terlebih dahulu. Dengan mengenali karakteristik game, pengguna dapat menentukan pilihan yang sesuai dengan preferensi masing-masing."
2134      }
2135    }
2136  ]
2137}
2138</script>
2138
2139 
2139<script type="application/ld+json">
2140 {
2141   "@context": "https://schema.org",
2142   "@type": "Organization",
2143   "name": "TIKUS4D",
2144   "url": "https://updatedatatogel.com/",
2145   "logo": "https://updatedatatogel.com/image/logo.webp",
2146   "sameAs": [
2147     "https://www.facebook.com/tikus4d",
2148     "https://twitter.com/tikus4d",
2149     "https://www.instagram.com/tikus4d"
2150   ],
2151   "contactPoint": {
2152     "@type": "ContactPoint",
2153     "telephone": "+62-8946-113-4615",
2154     "contactType": "customer support",
2155     "areaServed": "ID",
2156     "availableLanguage": ["Indonesian", "English"]
2157   }
2158 }
2159 </script>
2159
2160 
2161 
2161<script type="application/ld+json">
2162 {
2163   "@context": "https://schema.org",
2164   "@type": "VideoObject",
2165   "name": "TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor",
2166   "description": "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.",
2167   "thumbnailUrl": [
2168     "https://updatedatatogel.com/image/banner_tikus4d.webp",
2169     "https://updatedatatogel.com/image/banner_tikus4d.webp"
2170   ],
2171   "uploadDate": "2025-09-28T04:19:10-04:00",
2172   "duration": "PT168",
2173   "contentUrl": "https://updatedatatogel.com/"
2174 }
2175 </script>
2175
2176 
2177 
2177<script type="application/ld+json">
2178 {
2179   "@context": "https://schema.org",
2180   "@type": "BreadcrumbList",
2181   "itemListElement": [
2182     {
2183       "@type": "ListItem",
2184       "position": 1,
2185       "name": "Home",
2186       "item": "https://updatedatatogel.com/"
2187     }
2188   ]
2189 }
2190 </script>
2190
2191 
2192 
2192<script type="application/ld+json">
2193 {
2194   "@context": "https://schema.org",
2195   "@graph": [
2196     {
2197       "@type": "Organization",
2198       "@id": "https://updatedatatogel.com/#org",
2199       "name": "TIKUS4D",
2200       "url": "https://updatedatatogel.com/",
2201       "logo": "https://updatedatatogel.com/image/banner_tikus4d.webp"
2202     },
2203     {
2204       "@type": "WebSite",
2205       "@id": "https://updatedatatogel.com/#website",
2206       "url": "https://updatedatatogel.com/",
2207       "name": "TIKUS4D",
2208       "publisher": { "@id": "https://updatedatatogel.com/#org" },
2209       "inLanguage": "id-ID",
2210       "potentialAction": {
2211         "@type": "SearchAction",
2212         "target": "https://updatedatatogel.com/?s={search_term_string}",
2213         "query-input": "required name=search_term_string"
2214       }
2215     },
2216     {
2217       "@type": "SoftwareApplication",
2218       "@id": "https://updatedatatogel.com/#app",
2219       "name": "TIKUS4D",
2220       "applicationCategory": "GameApplication",
2221       "operatingSystem": "Android, iOS, Windows",
2222       "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" },
2223       "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 }
2224     }
2225   ]
2226 }
2227 </script>
2227
2228         
2229 <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" />
2230 
2231 
2232 <style>
2233     .bg-card {
2234     background-color: #000000;
2235 }
2236     </style>
2237 
2238 <!-- /templates/product.liquid -->
2239 
2240 
2241 <!-- <div itemscope itemtype="http://schema.org/Product"> -->
2242 
2243 
2244 <div class="product-standing-flower" data-product-type="flowerBoard">
2245   <meta itemprop="url" content="https://updatedatatogel.com/">
2246   <meta itemprop="image" content="https://updatedatatogel.com/image/banner_tikus4d.webp">
2247 
2248   
2249   
2250   <input id="data-sku" type="hidden" value="OBVSTF1086">
2251   <div class="product-single" style="background-image: url(https://image.banker88.live/uploads/688366a5f33400a778ad05b5.webp); background-attachment: fixed;">
2252     <div id="product-top" class="container">
2253       <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;">
2254         <div id="product-image" class="col-lg-7 text-center">
2255           <div class="product-image">
2256             <div class="row no-gutters">
2257   
2258   <div id="product-featured-image" class="row w-100">
2259     
2260       <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block">
2261         
2262         <div class="swiper-container gallery-thumbs" style="min-height: 500px">
2263           <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx">
2264 
2265                   <li class="swiper-slide" data-type="image">
2266                     <a
2267                       href="files/Blossom-Shine-WM.jpg"
2268                       data-standard="https://updatedatatogel.com/image/banner_tikus4d.webp"
2269                       data-image="files/Blossom-Shine-WM.jpg"
2270                       data-position="1"
2271                       class="product-single__thumbnail"
2272                     >
2273                       <img
2274                         class="lazyload w-100"
2275                         src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2276                         alt="TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor"
2277                         width=""
2278                         height=""
2279                       >
2280                     </a>
2281                   </li>
2282                 
2283               
2284             
2285 
2286                   <li class="swiper-slide" data-type="image">
2287                     <a
2288                       href="https://updatedatatogel.com/image/banner_tikus4d.webp"
2289                       data-standard="https://updatedatatogel.com/image/banner_tikus4d.webp"
2290                       data-image="https://updatedatatogel.com/image/banner_tikus4d.webp"
2291                       data-position="2"
2292                       class="product-single__thumbnail"
2293                     >
2294                       <img
2295                         class="lazyload w-100"
2296                         src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2297                         alt="TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor"
2298                         width=""
2299                         height=""
2300                       >
2301                     </a>
2302                   </li>
2303                 
2304               
2305             
2306 
2307                   <li class="swiper-slide" data-type="image">
2308                     <a
2309                       href="files/Blossom-Shine_3-WM.jpg"
2310                       data-standard="https://updatedatatogel.com/image/banner_tikus4d.webp"
2311                       data-image="files/Blossom-Shine_3-WM.jpg"
2312                       data-position="3"
2313                       class="product-single__thumbnail"
2314                     >
2315                       <img
2316                         class="lazyload w-100"
2317                         src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2318                         alt="TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor"
2319                         width=""
2320                         height=""
2321                       >
2322                     </a>
2323                   </li>
2324                 
2325               
2326             
2327 
2328                   <li class="swiper-slide" data-type="image">
2329                     <a
2330                       href="files/Blossom-Shine_4.jpg"
2331                       data-standard="https://updatedatatogel.com/image/banner_tikus4d.webp"
2332                       data-image="files/Blossom-Shine_4.jpg"
2333                       data-position="4"
2334                       class="product-single__thumbnail"
2335                     >
2336                       <img
2337                         class="lazyload w-100"
2338                         src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2339                         alt="TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor"
2340                         width=""
2341                         height=""
2342                       >
2343                     </a>
2344                   </li>
2345                 
2346               
2347             
2348           </ul>
2349         </div>
2350         
2351       </div>
2352     
2353     <div
2354       id="featured-image-product"
2355       class="col-lg-10 col-12 d-none d-lg-block"
2356     >
2357       <div class="swiper-container gallery-top">
2358         <div class="swiper-slide product-single__image">
2359           
2360 <div class="product-single__photos slider slider-for" id="ProductPhoto">
2361   
2362 
2363   <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails">
2364     <a href="https://updatedatatogel.com/image/banner_tikus4d.webp">
2365       <img
2366         src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2367         alt="TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor"
2368         id="ProductPhotoImg"
2369         class="lazyload"
2370       >
2371       
2372     </a>
2373   </div>
2374 </div>
2375 
2376         </div>
2377         <div class="swiper-slide product-single__video" style="display: none">
2378           <video
2379             src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4"
2380             playsinline
2381             loop
2382             muted
2383           ></video>
2384         </div>
2385       </div>
2386     </div>
2387   </div>
2388 
2389   <div id="featured-image-product2" class="col-12 d-lg-none">
2390     <div class="swiper-container gallery-mobile">
2391       <ul class="swiper-wrapper">
2392 <li class="swiper-slide img">
2393               
2394                 <img
2395                   class="swiper-lazy"
2396                   src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2397                   data-src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2398                   alt="TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor"
2399                   width=""
2400                   height=""
2401                 >
2402               
2403             </li>
2404           
2405         
2406 <li class="swiper-slide img">
2407               
2408                 <img
2409                   class="swiper-lazy"
2410                   src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2411                   data-src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2412                   alt="TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor"
2413                   width=""
2414                   height=""
2415                 >
2416               
2417             </li>
2418           
2419         
2420 <li class="swiper-slide img">
2421               
2422                 <img
2423                   class="swiper-lazy"
2424                   src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2425                   data-src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2426                   alt="TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor"
2427                   width=""
2428                   height=""
2429                 >
2430               
2431             </li>
2432           
2433         
2434 <li class="swiper-slide img">
2435               
2436                 <img
2437                   class="swiper-lazy"
2438                   src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2439                   data-src="https://updatedatatogel.com/image/banner_tikus4d.webp"
2440                   alt="TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor"
2441                   width=""
2442                   height=""
2443                 >
2444               
2445             </li>
2446           
2447         
2448       </ul>
2449       
2450         <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://updatedatatogel.com/image/logo.webp" 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>
2451         <div class="swiper-button-next"><svg xmlns="https://updatedatatogel.com/image/logo.webp" width="7" height="10" viewB
2451ox="0 0 7 10" fill="none">
2452     <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"/>
2453 </svg></div>
2454 
2455         <!-- Add Pagination -->
2456         <div class="swiper-pagination"></div>
2457       
2458     </div>
2459   </div>
2460 
2461   <div class="product-m-pageleb-video col-12 text-center d-lg-none">
2462     <!-- product video -->
2463     <style>
2464       .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;}
2465       .view-video .icon-play{fill:#ffffff;vertical-align: middle;}
2466       .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;}
2467       .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;}
2468       .close-video .icon{width:30px;height:30px;}
2469       /*responsive iframe */
2470       .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);}
2471       .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;}
2472 
2473       .youtube {
2474         background-color: #000;
2475         margin-bottom: 30px;
2476         position: relative;
2477         padding-top: 56.25%;
2478         overflow: hidden;
2479         cursor: pointer;
2480         width: 100%;
2481       }
2482       .swiper-slide .youtube {
2483         max-width: 480px;
2484       }
2485       .youtube img {
2486         width: 100%;
2487         top: -16.82%;
2488         left: 0;
2489         opacity: 0.7;
2490       }
2491       .youtube .play-button {
2492         width: 90px;
2493         height: 60px;
2494         background-color: #333;
2495         box-shadow: 0 0 30px rgba( 0,0,0,0.6 );
2496         z-index: 1;
2497         opacity: 0.8;
2498         border-radius: 6px;
2499       }
2500       .youtube .play-button:before {
2501         content: "";
2502         border-style: solid;
2503         border-width: 15px 0 15px 26.0px;
2504         border-color: transparent transparent transparent #fff;
2505       }
2506       .youtube img,
2507       .youtube .play-button {
2508         cursor: pointer;
2509       }
2510       .youtube img,
2511       .youtube iframe,
2512       .youtube .play-button,
2513       .youtube .play-button:before {
2514         position: absolute;
2515       }
2516       .youtube .play-button,
2517       .youtube .play-button:before {
2518         top: 50%;
2519         left: 50%;
2520         transform: translate3d( -50%, -50%, 0 );
2521       }
2522       .youtube iframe {
2523         height: 100%;
2524         width: 100%;
2525         top: 0;
2526         left: 0;
2527       }
2528     </style>
2529 
2530     
2531   </div>
2532 </div>
2533 
2534 <div class="product-desc-add position-relative d-none d-lg-block m-0">
2535 
2536 </div>
2537 
2538 
2538<script>
2539   if ($(window).width() < 991) {
2540     var direction = 'horizontal'
2541   } else {
2542     var direction = 'vertical'
2543     $(".gallery-thumbs").height($("#ProductPhotoImg").height())
2544   }
2545   var swiper = new Swiper('.gallery-thumbs', {
2546     
2547     direction,
2548     slidesPerView: 4.5,
2549     spaceBetween: 12,
2550     navigation: {
2551       nextEl: '.swiper-button-next',
2552       prevEl: '.swiper-button-prev',
2553     }
2554   });
2555   
2556   var swiper = new Swiper('.gallery-mobile', {
2557     //loop: true,
2558     lazy: true,
2559     speed: 300,
2560     resistance : true,
2561     resistanceRatio : 0,
2562     freeModeMomentumRatio : 0.45,
2563     freeModeMomentumVelocityRatio : 1.5,
2564     navigation: {
2565       nextEl: '.swiper-button-next',
2566       prevEl: '.swiper-button-prev',
2567     },
2568     pagination: {
2569       el: '.swiper-pagination'
2570     },
2571     useCSS3Transforms: false,
2572     loop: false,
2573     on: {
2574       init: function () {
2575         console.log('swiper initialized');
2576         var currentVideo =  $("[data-swiper-slide-index=" + this.realIndex + "]").find("video");
2577         currentVideo.trigger('play');
2578       },
2579     },
2580   });
2581 
2582   /* GET ALL VIDEOS */
2583   var sliderVideos = $(".swiper-slide video");
2584   
2585   /* SWIPER API - Event will be fired after animation to other slide (next or previous) */
2586   swiper.on('slideChange', function () {
2587     console.log('slide changed');
2588     /* stop all videos  */
2589     sliderVideos.each(function( index ) {
2590       this.currentTime = 0;
2591     });
2592   
2593     /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */
2594     var prevVideo =  $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video");
2595     var currentVideo =  $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video");
2596     prevVideo.trigger('stop');
2597     currentVideo.trigger('play');
2598   });
2599   
2600 
2601   $("[data-video]").click(function(){
2602     const file = $(this).data("video")
2603     $(".product-single__video").show()
2604     $(".product-single__image").hide()
2605     $(".product-single__video").find("video").attr("src", file)
2606     $(".product-single__video").find("video")[0].play();
2607   })
2608   $("[data-image]").click(function(){
2609     $(".product-single__video").hide()
2610     $(".product-single__image").show()
2611     $(".product-single__video").find("video")[0].pause();
2612   })
2613 
2614   $("#product-image .swiper-slide").each(function(){
2615     let width = $(this).width()
2616     $(this).height(width)
2617   })
2618 
2619   $(window).resize(function() {
2620     $("#product-image .swiper-slide").each(function(){
2621       let width = $(this).width()
2622       $(this).height(width)
2623     })
2624   })
2625 </script>
2625
2626 
2627           </div>
2628 
2629   
2630     <div class="grid__item_product-info mb-3">
2631       <div class="c-pdp-product-info">
2632         <ul class="c-pdp-product-info__service c-pdp-product-info__service--active">
2633<!-- artikel -->
2634<li>
2635    <strong>TIKUS4D</strong> merupakan platform game online yang menghadirkan beragam pilihan permainan dalam satu tempat. Dengan akses yang mudah melalui HP maupun komputer, pengguna dapat menemukan berbagai koleksi game sekaligus mengikuti informasi terbaru seputar permainan yang tersedia. Tampilan yang praktis dan navigasi yang sederhana membuat TIKUS4D mudah digunakan untuk mencari game sesuai kebutuhan.
2636</li>
2637
2638<br>
2639
2640<li>
2641    Salah satu informasi yang tersedia di <strong>TIKUS4D</strong> adalah update permainan, panduan bermain, serta informasi RTP dari berbagai game yang dapat menjadi bahan pertimbangan sebelum bermain. Pembaruan dilakukan secara berkala sehingga pengguna dapat mengetahui perkembangan informasi terbaru dan menemukan pilihan game online dengan lebih mudah dalam satu platform.
2642</li>
2643
2644<br>
2645
2646<li>
2647    Selain menyediakan koleksi game online, <strong>TIKUS4D</strong> juga mengutamakan kemudahan akses dan kenyamanan pengguna. Platform ini dapat diakses melalui berbagai perangkat dengan sistem yang responsif serta navigasi yang sederhana. Dengan menghadirkan koleksi game, informasi terbaru, dan akses yang praktis, TIKUS4D menjadi pilihan bagi pengguna yang ingin mengenal beragam game online dalam satu platform.
2648</li>
2649         </ul>
2650       </div>
2651     </div>
2652   
2653 
2654 
2655 
2656 
2657 <style>
2658   .c-pdp-product-info__service--active {
2659     font-size: 12px;
2660     padding-left: 10px;
2661     text-align: left;
2662     max-width: 550px;
2663     margin: auto;
2664     color: #fff;
2665   }
2666   .c-pdp-product-info__service--active li {
2667     list-style: disc;
2668   }
2669   .c-pdp-product-info {
2670     background-color: #000000;
2671     padding: 12px;
2672     margin: 0;
2673   }
2674   .freeship em {
2675     font-style: italic;
2676     font-size: 12px !important;
2677   }
2678 
2679 
2680 </style>
2681 
2682 
2682<script>
2683   $(document).ready(function(){
2684     if ( $(".c-pdp-product-info__service li").length == 1 ) {
2685       $(".c-pdp-product-info__service").addClass("no-bullet");
2686       $(".c-pdp-product-info__service li").addClass("no-bullets");
2687     }
2688   });
2689 </script>
2689
2690 
2691   
2692 
2693 
2694 
2695   
2696 
2697   
2698 
2699 
2700             
2701           
2702         </div>
2703         <div id="product-meta" class="col-lg-5 p-0">
2704           <div class="product-meta">
2705             <style>
2706   .product-meta--review {margin-top:10px}
2707   .freeship * {font-size: 14px !important;font-style: normal;}
2708 </style>
2709 <h1 itemprop="name" class="mb-2" style="color: rgb(255, 251, 0); font-weight: bold;">TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor</h1>
2710 
2711 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
2712   <meta itemprop="priceCurrency" content="IDR">
2713 
2714   <link itemprop="availability" href="https://schema.org/InStock">
2715   
2715<script
2716     type="text/javascript"
2717     src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons"
2718     async="async"
2719   ></script>
2719
2720   
2721 
2722   
2723 
2724   <span class="visually-hidden">Translation missing: en.products.general.regular_price</span>
2725   
2726     <span class="visually-hidden">Translation missing: en.products.general.sale_price</span>
2727   
2728   <div class="row no-gutters mb-3">
2729     <span
2730       id="ProductPrice"
2731       class="h2 ProductPrice"
2732       itemprop="price"
2733       content="835000" style="color: #ffffff;"
2734     >
2735       Rp 5.000
2736     </span>
2737     <div class="discount-product-detail">
2738       <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0">
2739         Rp 10.000
2740       </p>
2741       <span class=" tag-discount">
2742         
2743           
2744           <span id="newDiscount" class="product-tag persentase-discount hide"> 
2745       (90%)
2746       </span><br>
2747         
2748       </span>
2749     </div>
2750   </div>
2751 
2752   <div class="row no-gutters meta-sds">
2753     <div class="col-12 mb-2 mb-lg-0 stock-info">
2754       
2755       
2756       <span
2757         id="ProductStock-Product"
2758         class="product-single__stock mb-2 hide"
2759       >
2760         
2761           
2762             
2763               
2764               Barang dikirim pada 
2765             
2766           
2767         
2768       </span>
2769 
2770       <style>
2771     .short-desc-desktop {
2772         margin-bottom: 2rem;
2773         color: white;
2774     }
2775     .short-desc ul li:nth-child(n + 4) {
2776         display: none;
2777     }
2778     .short-desc ul li.showList:nth-child(n + 4) {
2779         display: list-item;
2780     }
2781     label.more {
2782         display: none;
2783     }
2784     label.more.showMe {
2785         display: block;
2786         font-size: 12px;
2787         text-transform: uppercase;
2788         font-weight: 700;
2789         cursor: pointer;
2790     }
2791 </style>
2792 
2793     <div class="short-desc-desktop d-none d-lg-block">
2794         <div class="short-desc">
2795            
2796 <p>TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.</p>
2797         </div>
2798         <label class="more">Show More →</label>
2799     </div><br>
2800 
2801 
2802 
2802<script>
2803     var liCount;
2804     $(document).ready(function () {
2805         $(".short-desc ul").each(function() {
2806             liCount = $(this).children("li").length;
2807             if (liCount > 3) {
2808                 $(this).parent(".short-desc").next(".more").addClass("showMe");
2809             }
2810         });
2811 
2812         $(".more").click(function () {
2813             //$(".short-desc").find("li").addClass("showList");
2814             // $(this).hide();
2815             $("#product-desc").find("ul").show()
2816             $('html, body').animate({
2817                 scrollTop: $("#product-desc").offset().top - 250
2818             }, 2000);
2819             $("#product-desc").css("height","auto");
2820             $("#more_content").remove();
2821             $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>")
2822         });
2823     });
2824 </script>
2824
2825 
2826       
2827     </div>
2828   </div>
2829 
2830   <div id="purchaseProduct">
2831   
2832   
2833 
2834 
2835 <style>
2836   .variant-metafield {
2837     display: block!important;
2838     width: 1px;
2839     padding: 0;
2840     border-color: #fff;
2841   }
2842   .select2-results__option[aria-disabled] {
2843     display: none;
2844   }
2845 
2846   .towel-bordir {
2847     width: 100%;
2848     display: flex;
2849     align-items: center;
2850     justify-content: space-around;
2851   }
2852 </style>
2853 
2854 
2855 
2856 
2857 
2857<script>
2858   
2859   
2860 </script>
2860
2861 
2862 
2863 
2864 
2865 
2866 
2867 <select
2868   name="id[]"
2869   id="productSelect"
2870   class="product-single__variants ignore hide hide"
2871 >
2872   
2873     
2874       
2875       <option
2876         
2877           selected="selected"
2878         
2879         data-sku="OBVSTF1086"
2880         value="44083045826775"
2881       >
2882         Default Title
2883       </option>
2884 
2885     
2886   
2887 </select>
2888 
2889 
2889<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2889
2890 
2891 
2891<script>
2892   $('.size-chart-open-popup').magnificPopup({
2893     type:'inline',
2894     midClick: true
2895   });
2896 </script>
2896
2897 
2898   
2899   
2900   
2901   <div class="upload-image-preview">
2902     
2903     
2904     
2905     
2906     
2907     <style>
2908   .file-dnd * {
2909     margin: 0;
2910     padding: 0;
2911     box-sizing: border-box;
2912   }
2913   .file-dnd {
2914     width: 100%;
2915     height: 250px;
2916     border: 1px solid #ddd;
2917     border-radius: 10px;
2918     padding: 15px;
2919     display: flex;
2920     flex-direction: column;
2921     gap: 10px;
2922     /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */
2923     margin: auto;
2924   }
2925   .file-dnd input {
2926     display: none;
2927   }
2928   .file-dnd .before-upload {
2929     border: 1px dashed #888;
2930     flex: 1;
2931     border-radius: 5px;
2932     display: flex;
2933     justify-content: center;
2934     align-items: center;
2935     text-align: center;
2936     cursor: pointer;
2937   }
2938   .file-dnd .before-upload > div {
2939     display: flex;
2940     flex-direction: column;
2941     align-items: center;
2942     gap: 8px;
2943   }
2944   .file-dnd .before-upload > div h4 {
2945     width: 150px;
2946   }
2947   .file-dnd .before-upload > div p {
2948     font-size: 12px !important;
2949     color: #555;
2950   }
2951   .file-dnd.active .before-upload {
2952     border: 1px solid #5750d9;
2953     background-color: #f5f5ff;
2954   }
2955   .file-dnd .after-upload {
2956     position: relative;
2957     display: none;
2958   }
2959   .file-dnd .after-upload img {
2960     width: 100%;
2961     border-radius: 5px;
2962     max-height: 180px;
2963     object-fit: contain;
2964     display: block;
2965   }
2966   .file-dnd .after-upload .clear-btn {
2967     position: absolute;
2968     top: 10px;
2969     right: 10px;
2970     background: rgba(255, 255, 255, 0.5);
2971     width: 15px;
2972     height: 15px;
2973     text-align: center;
2974     line-height: 15px;
2975     border-radius: 50%;
2976     color: #fff;
2977     cursor: pointer;
2978     font-size: 14px;
2979   }
2980 </style>
2981 
2982 <div
2983   class="file-dnd mb-3"
2984   
2985     style="display: none"
2986   
2987 >
2988   <label for="upload-photo">Upload your Photo:</label>
2989   <input type="file" id="upload-photo" accept="image/*">
2990   <input type="hidden" data-properties="Photo">
2991   <div class="before-upload">
2992     <div>
2993       <svg id="surface1" xmlns="https://updatedatatogel.com/image/logo.webp" width="33.053" height="41.719" viewBox="0 0 33.053 41.719">
2994   <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>
2995   <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>
2996   <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>
2997 </svg>
2998 
2999       <h4>Drag & Drop Photo file or Browse</h4>
3000       <p>Supports: JPEG, PNG, GIF, TIFF</p>
3001     </div>
3002   </div>
3003   <div class="after-upload">
3004     <div class="clear-btn">&times;</div>
3005     <img src="" width="" height="">
3006   </div>
3007 </div>
3008 
3008<script>
3009   function applyDndFile(el) {
3010     const parent = document.querySelector(".file-dnd")
3011     const beforeUploadEl = el.querySelector(".before-upload")
3012     const afterUploadEl = el.querySelector(".after-upload")
3013     const inputFile = el.querySelector("input[type=file]")
3014     const imagePreview = el.querySelector(".after-upload img")
3015     const clearBtn = el.querySelector(".after-upload .clear-btn")
3016     const inputProps = parent.querySelector("[data-properties]");
3017 
3018     async function upload(name, uri, type) {
3019       try {
3020         const filename = name.split('.')[0]
3021         let formData = new FormData(); 
3022         formData.append("file", uri);
3023         const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, {
3024           method: "POST", 
3025           body: formData
3026         })
3027         if(response) {
3028           const res = await response.json()
3029           return res
3030         }
3031       } catch(err){
3032         console.log(err)
3033       }
3034     }
3035 
3036     function showImagePreview(img) {
3037       if(img){
3038         const blobUrl = URL.createObjectURL(img)
3039         imagePreview.src = blobUrl
3040         afterUploadEl.style.display = "block"
3041         beforeUploadEl.style.display = "none"
3042       }
3043     }
3044 
3045     beforeUploadEl.addEventListener("click", (e) => {
3046       e.preventDefault()
3047       inputFile.click()
3048     })
3049 
3050     inputFile.addEventListener("change", async (e) => {
3051       e.preventDefault()
3052       showImagePreview(e.target.files[0])
3053       var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type)
3054       inputProps.value = uploadData?.url
3055     })
3056 
3057     clearBtn.addEventListener("click", (e) => {
3058       afterUploadEl.style.display = "none"
3059       beforeUploadEl.style.display = "flex"
3060       inputProps.value = ""
3061     })
3062 
3063     beforeUploadEl.addEventListener("dragover", (e) => {
3064       e.preventDefault()
3065       el.classList.add("active")
3066     })
3067 
3068     beforeUploadEl.addEventListener("dragleave", (e) => {
3069       e.preventDefault()
3070       el.classList.remove("active")
3071     })
3072 
3073     beforeUploadEl.addEventListener("drop", async (e) => {
3074       e.preventDefault()
3075       el.classList.remove("active")
3076       showImagePreview(e.dataTransfer.files[0])
3077       var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type)
3078       console.log(uploadData)
3079       inputProps.value = uploadData?.url
3080     })
3081   }
3082 
3083   applyDndFile(document.querySelector(".file-dnd"))
3084 
3085   $(document).ready(function(){
3086     $(".variant-swatch").change(function(){
3087       const v = $(this).val().toLowerCase()
3088       const list = ["photo", "custom one side", "custom two side", "small", "big"]
3089       if(list.some(item => v.includes(item))) return $(".file-dnd").show()
3090       $(".file-dnd").hide()
3091       $(".file-dnd").find("[data-properties]").val("")
3092       $(".after-upload").hide()
3093       $(".before-upload").css("display", "flex")
3094     })
3095   })
3096 </script>
3096
3097 
3098   </div>
3099   
3100     
3101     <div class="delivery-city mb-4">
3102         <a href="https://updatedatatogel.com/amp-tikus/">
3103        <center><img src="https://image.banker88.live/uploads/5772c0a9f53b9ce0e06cf39d.webp" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br>
3104   <h4 class="fw-600 text-uppercase mb-15" style="color: rgba(255, 238, 0, 0.959);">AKSES Bandar Togel Online Terpercaya</h4>
3105   <div class="row justify-content-between m-0">
3106     <select id="cities" class="form-control select-search" required>
3107       <option value="">Temukan Link TIKUS4D sebagai Bandar Togel Online Terpercaya</option>
3108     </select>
3109   </div>
3110 </div>
3111 
3112 <style>
3113   @media (max-width: 768px) {
3114     .select2-search__field {
3115       pointer-events: none !important;
3116     }
3117     
3118     .select2-search {
3119       display: none !important;
3120     }
3121   }
3122 </style>
3123 
3124 
3124<script>
3125   $(document).ready(function() {
3126     // Check if mobile
3127     if (window.innerWidth <= 768) {
3128       // When cities select2 opens on mobile, remove focus from search
3129       $('#cities').on('select2:open', function() {
3130         setTimeout(function() {
3131           $('.select2-search__field').blur();
3132           $('.select2-search__field').prop('readonly', true);
3133         }, 100);
3134       });
3135     }
3136   });
3137 </script>
3137
3138 
3139  <style>
3140 .icon-img-footer {
3141     width: 80px; 
3142     padding: 0px 5px;
3143 }
3144 @media (min-width: 768px) {
3145     .icon-img-footer {
3146         width: 120px; 
3147     }
3148 }
3149 @media (min-width: 992px) {
3150     .icon-img-footer {
3151         width: 120px; 
3152     }
3153 }
3154 
3155 
3156 </style>
3157   <div id="row-delivery-date" class="row m-0 mb-3">
3158     <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="color: rgb(255, 238, 0);">Nikmati akses nyaman di Toto Togel Online bersama TIKUS4D</h4>
3159     <div id="deliveryDate" class="m-0"></div>
3160     <div id="deliveryDateFull">
3161       <div class="">
3162         <input
3163           type="text"
3164           id="full-date"
3165           class="date-full calendarbutton btn steps-btn btn-date-time mb-0"
3166           value="Full Calendar"
3167         >
3168         <label for="full-date"><svg version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" width="32" height="32" viewBox="0 0 32 32">
3169 <title>icon-arrow-right</title>
3170 <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>
3171 </svg></label>
3172       </div>
3173       <button class="btnChangeDeliveryDate hide">Change Delivery Date</button>
3174     </div>
3175     <div class="form-group p-0">
3176       <input type="text" id="propDeliveryDate" required class="hide">
3177     </div>
3178   </div>
3179   
3180   
3181     <div id="row-delivery-time" class="row m-0 mb-3">
3182       <h4 class="text-center fw-600 text-uppercase col-12 mb-15">
3183     SEO PHYZIA 
3184 </h4>
3185       <div id="deliveryTime" class="d-flex w-100 m-0"></div>
3186       <div class="form-group p-0">
3187         <input type="text" id="propDeliveryTime" class="hide" required>
3188       </div>
3189     </div>
3190   
3191 
3192 
3193   
3194   
3195   <div id="personalizeBtn">
3196     
3197     
3198     
3199     
3200     <button
3201       class="btn text-uppercase w-100 fw-400"
3202       
3203       
3204       
3205     >
3206       
3207         customize your flower board
3208       
3209     </button>
3210     <div class="button-share-wishlist d-flex justify-content-around mt-3">
3211       <div class="button-share text-center">
3212         <p id="shareButton" class="d-flex gap-2"><span>TIKUS4D</span><svg xmlns="https://updatedatatogel.com/image/logo.webp" width="15" height="13" viewBox="0 0 15 13" fill="none">
3213   <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"/>
3214 </svg>
3215 </p>
3216       </div>
3217       <div class="button-wishlist text-center">
3218         <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://updatedatatogel.com/image/logo.webp" width="16" height="15" viewBox="0 0 16 15" fill="none">
3219   <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"/>
3220 </svg>
3221 <!--
3222   <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="34" height="30" viewBox="0 0 34 30" fill="none">
3223   <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158 
322318.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"/>
3224   </svg>
3225 -->
3226 </p>
3227       </div>
3228     </div>
3229   </div>
3230 </div>
3231 <div class="purchasePopup purchasePopupSpotify" style="display: none;">
3232   <div class="purchaseArea">
3233     <div class="sectionPurchase sectionPurchaseSpotify">
3234       <div class="wrapperPurchase">
3235         <div class="headerPurchase">
3236           <h3>personalize spotify photo print</h3>
3237           <a class="close-purchase-popup">
3238             <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="18" height="18" viewBox="0 0 18 18" fill="none">
3239               <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>
3240             </svg>
3241           </a>
3242         </div>
3243         <div class="contentPurchase">
3244           <div class="spotifyAddons"></div>
3245         </div>
3246 
3247         <div class="purchase-button btn-addon row m-0" style="display: none;">
3248           <div class="col-12 col-lg-2 text-left mb-2 p-0">
3249             <button class="back-purchase-button back-addon text-uppercase">
3250               <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://updatedatatogel.com/image/logo.webp">
3251                 <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>
3252               </svg>
3253               <span>Back</span>
3254             </button>
3255           </div>
3256           <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;">
3257             <button class="btn next-purchase-button next-addon text-uppercase">
3258               <span>continue without add-ons</span>
3259             </button>
3260           </div>
3261         </div>
3262       </div>
3263     </div>
3264   </div>
3265 </div>
3266 
3267 <style>
3268   #PBarNextFrameWrapper {
3269     display: none;
3270   }
3271   #backgroundPopup {
3272     display: none;
3273     position: fixed;
3274     _position: absolute;
3275     height: 100%;
3276     width: 100%;
3277     top: 0;
3278     left: 0;
3279     background: rgb(117 117 117 / 24%);
3280     z-index: 1;
3281   }
3282   .sectionPurchase {
3283     height: 100%;
3284     position: relative;
3285     max-width: 1344px;
3286     background-color: #fff;
3287     padding: 0;
3288     overflow: hidden; /* Changed from auto to hidden */
3289     display: flex;
3290     flex-direction: column;
3291   }
3292   .sectionPurchase.purchaseAddonSpotify {
3293     max-width: 1070px!important;
3294     max-height: 765px!important;
3295   }
3296   .sectionPurchaseBoard {
3297     max-width: 872px!important;
3298     max-height: 821px!important;
3299   }
3300   .purchaseAddonSpotify .btn-action {
3301     position: absolute;
3302     bottom: 0;
3303     left: 0;
3304     width: 100%;
3305     display: flex;
3306     gap: 10px;
3307   }
3308   .wrapperPurchase {
3309     position: relative;
3310     height: 100%;
3311     display: flex;
3312     flex-direction: column;
3313   }
3314   
3315   /* New styles for scrollable content and sticky button */
3316   .purchase-content {
3317     flex: 1;
3318     overflow-y: auto;
3319     overflow-x: hidden;
3320     padding: 20px;
3321   }
3322   
3323   .purchase-button-wrapper {
3324     position: sticky;
3325     bottom: 0;
3326     background-color: #fff;
3327     border-top: 1px solid #e0e0e0;
3328     padding: 15px 0;
3329     margin-top: auto;
3330     z-index: 10;
3331   }
3332   
3333   .purchasePopup {
3334     display: none;
3335     position: fixed;
3336     background: rgb(117 117 117 / 24%);
3337     z-index: 999;
3338     padding: 40px;
3339     font-size: 13px;
3340     top: 0;
3341     left: 0;
3342     width: 100%;
3343     height: 100%;
3344   }
3345   .popupPurchaseClose{
3346     font-size:14px;
3347     line-height:14px;
3348     right:45px;
3349     top:45px;
3350     position:absolute;
3351     color:#6fa5fd;
3352     font-weight:700;
3353     display:block;
3354     cursor: pointer;
3355   }
3356 
3357   .headerPurchase {
3358     margin-bottom: 30px;
3359     display: flex;
3360     justify-content: space-between;
3361   }
3362 
3363   .headerPurchase h3 {
3364     font-size: 16px;
3365     text-transform: uppercase;
3366   }
3367 
3368   .sectionPurchaseBoard .headerPurchase {
3369     margin-bottom: 15px;
3370   }
3371 
3372   .sectionPurchaseBoard .formAddressPurchase {
3373     padding-top: 0;
3374   }
3375 
3376   .purchaseArea {
3377     position: relative;
3378     height: 100%;
3379   }
3380 
3381   .purchaseArea h4 {
3382     width: 100%;
3383     font-size: 12px;
3384     font-weight: 600;
3385     margin-bottom: 10px;
3386     text-transform: uppercase;
3387   }
3388 
3389   .menuPurchase {
3390     margin-bottom: 30px;
3391   }
3392 
3393   .menuPurchase ul {
3394     list-style-type: none;
3395     margin: 0;
3396   }
3397 
3398   .menuPurchase ul li {
3399     display: inline-block;
3400     border: 1px solid #ffffff;
3401     padding: 5px 20px;
3402     margin-right: 5px;
3403     margin-bottom: 10px;
3404     font-size: 12px;
3405     font-weight: 400;
3406   }
3407 
3408   .menuPurchase ul li:hover, .menuPurchase ul li.selected {
3409     background-color: #ffffff;
3410     color: #ffffff;
3411   }
3412 
3413   .contentPurchase h5 {
3414       font-size: 12px;
3415       margin-bottom: 10px;
3416       font-weight: 400;
3417       overflow: hidden;
3418   }
3419 
3420   /* Card */
3421 
3422   #itemCards {
3423     max-height: 430px;
3424     overflow: auto;
3425   }
3426 
3427   .item-cards {
3428       width: 100%;
3429   }
3430   .item-card.selected {
3431       border: 1px solid #ffffff;
3432   }
3433   .item-card:hover {
3434       border: 1px solid #C4C4C4;
3435   }
3436   .item-cards .item-card {
3437     position: relative;
3438     width: calc(33% - 10px);
3439     max-width: calc(33% - 10px);
3440     flex: 0 0 calc(33% - 10px);
3441     margin-bottom: 20px;
3442   }
3443   .item-cards .item-card label,
3444   .item-addons .item-addon label {
3445       position: absolute;
3446       left: 0;
3447       width: 100%;
3448       height: 100%;
3449   }
3450   .item-cards .item-card .card-image img,
3451   .item-addons .item-addon .card-image img {
3452       display: block;
3453       width: 100%;
3454   }
3455   .item-card .card-meta,
3456   .item-addon .card-meta {
3457       padding: 10px 5px 5px;
3458   }
3459   .item-card.selected .card-meta,
3460   .item-addon.selected .card-meta,
3461   .item-card.selected .card-qty {
3462       background-color: #ffffff;
3463       color: #fff;
3464       visibility: visible!important;
3465   }
3466   .item-card:hover .card-meta,
3467   .item-addon:hover .card-meta,
3468   .item-card:hover .card-qty {
3469       background-color: #C4C4C4;
3470       color: #fff;
3471       visibility: visible!important;
3472   }
3473   .item-cards .item-card p,
3474   .item-addons .item-addon p {
3475     font-size: 12px !important;
3476     margin: 0;
3477     font-weight: 600;
3478   }
3479   .item-card .card-meta input,
3480   .item-addon .card-meta input {
3481       display: none;
3482   }
3483   .item-cards .item-card h5,
3484   .item-addons .item-addon h5 {
3485     text-transform: uppercase;
3486     max-height: 35px;
3487   }
3488 
3489   @media (max-width: 768px) {
3490     .item-cards .item-card {
3491         width: calc(50% - 10px);
3492         max-width: calc(50% - 10px);
3493         flex: 0 0 calc(50% - 10px);
3494         margin-bottom: 0;
3495     }
3496   }
3497 
3498   .card-qty {
3499     display: flex;
3500     padding: 5px;
3501     visibility: hidden;
3502     background-color: #fff !important;
3503     z-index: 999;
3504   }
3505   .card-qty a {
3506     border-width: 1px;
3507     width: 30%;
3508     cursor: pointer;
3509     text-align: center;
3510     align-self: center;
3511     height: 28px;
3512     display: block;
3513     position: relative;
3514   }
3515   .card-qty a svg {
3516     position: absolute;
3517     top: 50%;
3518     left: 50%;
3519     transform: translate(-50%, -50%);
3520     text-align: center;
3521   }
3522   input.btn-qty {
3523     border-width: 0px;
3524     border-radius: 0;
3525     background-color: #fff;
3526     -webkit-appearance: none;
3527     box-shadow: none !important;
3528     -webkit-box-shadow: none !important;
3529     -moz-box-shadow: none!important;
3530     width: 40%;
3531     border-left: 1px solid #c4c4c4;
3532     border-right: 1px solid #c4c4c4;
3533     padding: 0;
3534   }
3535 
3536   .sectionPurchaseBoard #itemAddons .item-card {
3537     width: calc(20% - 15px);
3538     max-width: calc(20% - 15px);
3539     flex: 0 0 calc(20% - 15px);
3540   }
3541 
3542   .purchase-button {
3543     width: 100%;
3544     padding: 0; /* Reset padding as it's now handled by wrapper */
3545     margin: 0;
3546   }
3547 
3548   .sectionPurchaseBoard .purchase-button {
3549     margin-top: 0 !important; /* Reset margin */
3550   }
3551 
3552   .back-purchase-button, .back-spotify {
3553       width: 139px;
3554       border: 1px solid;
3555       height: 43px;
3556   }
3557   .purchase-button .btn {
3558     width: 297px;
3559     height: 43px;
3560     background-color: #ffffff;
3561     color: #ffffff;
3562   }
3563   .purchase-button .btn[disabled] {
3564     background-color: #EEEEEE;
3565   }
3566   .back-purchase-button svg, .back-spotify svg {
3567     align-self: center;
3568     vertical-align: middle;
3569     margin-right: 10px;
3570   }
3571 
3572   #purchaseProduct .row .error {
3573     font-size: 12px !important;
3574     color: orange;
3575     margin-top: 5px;
3576   }
3577 
3578   .reviewCardPurchase {
3579     max-width: 448px;
3580     float: right;
3581   }
3582 
3583   .addonsPurchase .addon-item {display: flex;justify-content: space-between;}
3584   .addon-item * {align-self: center;font-size: 12px;}
3585   .addon-itm-title {width: 360px;}
3586   .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;}
3587 
3588   .propsAddonSpotify p {
3589     margin: 0;
3590     display: flex;
3591     font-size: 12px !important;
3592     margin-bottom: 5px;
3593   }
3594   .propsAddonSpotify p span:first-child {
3595     text-transform: uppercase;
3596     font-weight: 600;
3597     -ms-flex: 0 0 150px;
3598     flex: 0 0 150px;
3599     max-width: 150px;
3600   }
3601 
3602   .addonsPurchase .addons {
3603     max-height: 250px;
3604     overflow: auto;
3605   }
3606 
3607   .btn .loading:after {
3608     content: "";
3609     display: inline-block;
3610     width: 20px;
3611     height: 20px;
3612     padding: 3px;
3613     aspect-ratio: 1;
3614     border-radius: 50%;
3615     background: #FFFFFF;
3616     --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box;
3617     -webkit-mask: var(--_m);
3618     mask: var(--_m);
3619     -webkit-mask-composite: source-out;
3620     mask-composite: subtract;
3621     animation: l3 1s infinite linear;
3622     margin: auto;
3623     vertical-align: middle;
3624     margin-left: 10px;
3625   }
3626 
3627   #qrcode img, #qrcode canvas {
3628     width: 50px;
3629     position: absolute;
3630     top: 12px;
3631     left: 16px;
3632   }
3633 
3634   .t-preview {
3635     position: absolute;
3636     top: 17px;
3637     left: 75px;
3638   }
3639   .t-preview p {
3640     margin: 0;
3641     font-size: 12px !important;
3642   }
3643   .t-preview .h3 {
3644     font-size: 16px !important;
3645     margin-bottom: 5px;
3646     font-weight: 600;
3647   }
3648   .scanCard {
3649     width: 100%;
3650     border: 1px solid;
3651     height: 76px;
3652     background-color: #fff;
3653   }
3654   .scanCard > div > img {
3655     position: absolute;
3656     right: 0;
3657     width: 55px;
3658   }
3659 
3660   @keyframes l3 {
3661     100% {
3662       transform: rotate(1turn);
3663     }
3664   }
3665 
3666   @media (min-width: 991px) {
3667     .sectionPurchase {
3668       height: 100%;
3669       position: relative;
3670       max-width: 1344px;
3671       background-color: #fff;
3672       top: 50%;
3673       left: 50%;
3674       transform: translate(-50%, -50%);
3675     }
3676     .headerPurchase h3 {
3677       font-size: 20px;
3678     }
3679     .purchaseArea h4 {
3680       font-size: 16px;
3681     }
3682 
3683     .menuPurchase ul li {
3684         font-size: 16px;
3685     }
3686     
3687     .contentPurchase {
3688       margin-bottom: 30px;
3689     }
3690     .contentPurchase h5 {
3691       font-size: 16px;
3692     }
3693 
3694     .item-cards .item-card p,
3695     .item-addons .item-addon p {
3696       font-size: 16px !important;
3697     }
3698 
3699     .cards {
3700       float: right;
3701       width: 400px;
3702     }
3703 
3704     .item-cards .item-card {
3705       width: calc(25% - 30px);
3706       max-width: calc(25% - 30px);
3707       flex: 0 0 calc(25% - 30px);
3708     }
3709 
3710       #itemAddons .item-card {
3711         position: relative;
3712         width: calc(16% - 40px);
3713         max-width: calc(16% - 40px);
3714         flex: 0 0 calc(16% - 40px);
3715       }
3716       
3717     .purchase-button-wrapper {
3718         padding: 10px 20px;
3719     }
3720   }
3721 
3722   @media (max-width: 1200px) {
3723     .item-cards .item-card {
3724       width: calc(33% - 30px);
3725       max-width: calc(33% - 30px);
3726       flex: 0 0 calc(33% - 30px);
3727     }
3728   }
3729 
3730   @media (max-width: 992px) {
3731     .purchasePopup {
3732       padding: 0;
3733     }
3734     .item-cards .item-card h5,
3735     .item-addons .item-addon h5 {
3736       max-height: 30px;
3737     }
3738 
3739     .back-purchase-button, .back-spotify, .next-purchase-button {
3740         width: 100%;
3741     }
3742     .addon-itm-title {
3743       width: 300px;
3744     }
3745     .addon-itm-line-price {
3746       margin-right: 10px;
3747     }
3748     .t-preview {
3749       top: 10px;
3750     }
3751 
3752     .card-qty a {
3753       height: 15px;
3754     }
3755     
3756     .purchase-button-wrapper {
3757       padding: 15px;
3758     }
3759   }
3760 
3761   @media (max-width: 576px) {
3762     .purchase-button .btn {
3763         width: 100%!important;
3764     }
3765     .purchase-button > .col-12 {
3766       padding-left: 0;
3767       padding-right: 0;
3768     }
3769   }
3770 </style>
3771 
3772 
3773 <div class="purchasePopup">
3774   <div class="purchaseArea">
3775     
3776       <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard">
3777         <div class="wrapperPurchase">
3778           <div class="purchase-content">
3779             <div class="headerPurchase">
3780   <h3 class="text-uppercase">
3781     
3782       customize your flower board
3783     
3784   </h3>
3785   <a class="close-purchase-popup">
3786   <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="18" height="18" viewBox="0 0 18 18" fill="none">
3787     <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"/>
3788   </svg>
3789 </a>
3790 
3791 </div>
3792 <div class="contentPurchase">
3793   <div class="row">
3794     
3795       <div class="col-12">
3796         
3797 
3798 <style>
3799   
3800   
3801   .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;}
3802   .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;}
3803   
3804   .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;}
3805   .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;}
3806   .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;}
3807   .svgLogoPapan p {color: #8E8E93; margin: 0;}
3808   .svgLogoPapan p span {font-size: 12px;color: #FF0E00;}
3809   .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;}
3810   #suggest-messages {position: absolute;bottom: 5px;left: 5px;}
3811   #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;}
3812   .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;}
3813   .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;}
3814   .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;}
3815 
3816   @media (min-width: 991px) {
3817     .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);}
3818     .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);}
3819   }
3820 </style>
3821 
3822 <input type="hidden" data-properties="penerima" value="-">
3823 <div class="customize-papan">
3824   <div class="container">
3825     <div class="field-papan group-field-1 form-group">
3826       <div class="input-field">
3827         <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.
3828 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea>
3829         <p class="limit">0/100</p>
3830         <div id="suggest-messages">
3831           <a id="show_note_papan1" href="#">
3832             <div class="suggest-message" id="note_btn_div1">
3833               <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span>
3834             </div>
3835           </a>
3836           <a id="show_note_papan2" href="#">
3837             <div class="suggest-message" id="note_btn_div2">
3838               <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span>
3839             </div>
3840           </a>
3841           <a id="show_note_papan3" href="#">
3842             <div class="suggest-message" id="note_btn_div3">
3843               <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span>
3844             </div>
3845           </a>
3846         </div>
3847       </div>
3848     </div>
3849     <div class="hide">
3850       <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;">
3851       <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1">
3852     </div>
3853     <div class="hide">
3854       <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;">
3855       <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2">
3856     </div>
3857     <div class="hide">
3858       <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;">
3859       <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3">
3860     </div>
3861     <div class="field-papan group-field-2 form-group">
3862       
3863       <label for="logoPapan" onclick="" class="input-field field-logo">
3864         
3865         
3866         
3867         <div class="btn-upload-papan w-100">
3868           <?xml version="1.0" encoding="UTF-8"?>
3869           <img src="" style="display:none">
3870           <div class="svgLogoPapan">
3871             <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="22" height="26" viewBox="0 0 22 26" fill="none">
3872               <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/>
3873             </svg>
3874             <p>Upload Logo <span>*optional</span></p>
3875           </div>
3876         </div>
3877         
3878       </label>
3879       
3880       <input
3881         type="hidden"
3882         data-properties="papan-logo"
3883         value=""
3884       >
3885       <input
3886         type="file"
3887         id="logoPapan"
3888         accept="image/*"
3889         style="position: absolute;width: 1px;height: 1px;padding: 0"
3890       >
3891       
3892       <div class="input-field">
3893         <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/>
3894         <p class="limit">0/35</p>
3895       </div>
3896       
3897     </div>
3898     
3899   </div>
3900 </div>
3901       </div>
3902     
3903   </div>
3904 </div>
3905 
3906           </div>
3907           <div class="purchase-button-wrapper">
3908             <div class="purchase-button btn-card row m-0">
3909   <div class="col-12 col-lg-2 text-left mb-2 p-0">
3910     
3911   </div>
3912   <div class="btn-next-card col-12 col-lg-10 text-right">
3913     
3914     
3915     <button
3916       
3917         
3918       
3919       class="btn next-purchase-button text-uppercase"
3920       
3921         disabled
3922       
3923     >
3924       <span>save your flower board</span>
3925     </button>
3926   </div>
3927 </div>
3928 
3929           </div>
3930         </div>
3931       </div>
3932     
3933     
3934     
3935       <div
3936         class="sectionPurchase sectionPurchaseBoard hide"
3937         data-section="address"
3938       >
3939         <div class="wrapperPurchase">
3940           <div class="purchase-content">
3941             <div class="headerPurchase">
3942   <h3>
3943     Complete Your Order
3944   </h3>
3945   <a class="close-purchase-popup">
3946   <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="18" height="18" viewBox="0 0 18 18" fill="none">
3947     <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"/>
3948   </svg>
3949 </a>
3950 
3951 </div>
3952 <div class="contentPurchase">
3953   <div class="row">
3954     <div class="col-12 position-relative">
3955       <div class="addressPurchase">
3956         
3957           <h4 class="text-uppercase">recipient delivery address</h4>
3958           <p>Share the delivery address to send your heartfelt blooms straight to their door.</p>
3959         
3960         <div class="formAddressPurchase row">
3961           <div class="col-12">
3962             <form>
3963               <div class="form-group row mb-2 mb-lg-4">
3964                 <div class="col-6 position-relative">
3965                   <input id="first_name" type="text" class="form-control input__field" placeholder="" required>
3966                   <label for="first_name" class="input__label">First Name<span>*</span></label>
3967                 </div>
3968                 <div class="col-6 position-relative">
3969                   <input id="last_name" type="text" class="form-control input__field" placeholder="" required>
3970                   <label for="last_name" class="input__label">Last Name<span>*</span></label>
3971                 </div>
3972                 <input type="hidden" data-properties="nama-penerima">
3973               </div>
3974               
3975                 <h4 class="text-uppercase">how you want to input your address</h4>
3976                 <div class="form-group row mb-2 mb-lg-4 form-address-upload">
3977                   <div class="col-6 position-relative">
3978                     <label class="address-manualy">
3979                       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="18" height="17" viewBox="0 0 18 17" fill="none">
3980   <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
39801216 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
39805 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"/>
3981 </svg>
3982 <span>Input Address Manually</span>
3983                     </label>
3984                   </div>
3985                   <div class="col-6 position-relative">
3986                     <label for="address-upload" class="address-upload">
3987                       <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="12" height="13" viewBox="0 0 12 13" fill="none">
3988   <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"/>
3989 </svg>
3990 <span>Upload Address Picture</span>
3991                     </label>
3992                     <input
3993                       id="address-upload"
3994                       type="file"
3995                       accept="image/png, image/jpeg"
3996                       style="position: absolute; padding: 0;width: 1px;height: 1px"
3997                     >
3998                     <input type="hidden" class="props-address-upload" data-properties="foto-alamat">
3999                   </div>
4000                 </div>
4001                 <img width="150" height="" src="" class="photo-address" style="display: none;">
4002               
4003               <div class="form-group row position-relative mb-2 mb-lg-4 form-address">
4004                 <div class="col-12">
4005                   <textarea
4006                     id="delivery_address"
4007                     data-properties="alamat-penerima"
4008                     class="form-control input__field col-12"
4009                     placeholder=""
4010                     required
4011                   ></textarea>
4012                   <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label>
4013                   
4014                 </div>
4015               </div>
4016               <div class="form-group row mb-2 mb-lg-4 form-address">
4017                 <div class="col-6 position-relative">
4018                   <input
4019                     id="recipient_number"
4020                     type="text"
4021                     data-properties="telepon-penerima"
4022                     class="form-control input__field"
4023                     placeholder=""
4024                     required
4025                   >
4026                   <label for="recipient_number" class="input__label">Recipient number<span>*</span></label>
4027                 </div>
4028                 <div class="col-6 position-relative">
4029                   <input
4030                     id="company"
4031                     type="text"
4032                     data-properties="company"
4033                     class="form-control input__field"
4034                     placeholder=""
4035                   >
4036                   <label for="company" class="input__label">Company (Optional)</label>
4037                 </div>
4038               </div>
4039               <div class="form-group row mb-2 mb-lg-4 form-address">
4040                 <div class="col-6 position-relative">
4041                   <input
4042                     id="province"
4043                     type="text"
4044                     class="form-control input__field"
4045                     placeholder=""
4046                     value="Jakarta"
4047                     data-properties="province"
4048                   >
4049                   <label for="province" class="input__label">Province</label>
4050                 </div>
4051                 <div class="col-6 position-relative">
4052                   <select id="zip" class="form-control select-search" required></select>
4053                 </div>
4054               </div>
4055             </form>
4056           </div>
4057         </div>
4058       </div>
4059       <div class="addonsPurchase">
4060         <h4 class="text-uppercase">add-ons</h4>
4061         <div class="addons">
4062           <p>No Add-Ons</p>
4063           <!--
4064             <button class="add-addon">
4065               <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="12" height="12" viewBox="0 0 12 12" fill="none">
4066                 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/>
4067               </svg>
4068               <span>Enhance my moment with Add-ons</span>
4069             </button>
4070           -->
4071         </div>
4072       </div>
4073     </div>
4074     
4075   </div>
4076 </div>
4077 
4078 
4078<script>
4079 document.addEventListener('DOMContentLoaded', function() {
4080   // Detect iOS
4081   var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
4082   
4083   if (isIOS) {
4084     document.querySelector('.formAddressPurchase').classList.add('ios');
4085     
4086     // iOS specific fixes
4087     var inputs = document.querySelectorAll('.formAddressPurchase .input__field');
4088     
4089     inputs.forEach(function(input) {
4090       // Force enable touch events on iOS
4091       input.style.webkitUserSelect = 'text';
4092       input.style.webkitTouchCallout = 'default';
4093       input.style.pointerEvents = 'auto';
4094       input.style.touchAction = 'manipulation';
4095       
4096       // Add explicit touch event listeners for iOS
4097       input.addEventListener('touchstart', function(e) {
4098         e.stopPropagation();
4099         this.focus();
4100       }, { passive: false });
4101       
4102       input.addEventListener('touchend', function(e) {
4103         e.preventDefault();
4104         e.stopPropagation();
4105         this.focus();
4106         this.click();
4107       }, { passive: false });
4108       
4109       // Force focus on tap for iOS
4110       input.addEventListener('click', function(e) {
4111         e.stopPropagation();
4112         if (document.activeElement !== this) {
4113           this.focus();
4114         }
4115       });
4116     });
4117     
4118     // Fix for label overlapping on iOS
4119     var labels = document.querySelectorAll('.formAddressPurchase .input__label');
4120     labels.forEach(function(label) {
4121       label.style.pointerEvents = 'none';
4122       label.addEventListener('touchstart', function(e) {
4123         e.preventDefault();
4124         var input = this.parentNode.querySelector('.input__field');
4125         if (input) {
4126           input.focus();
4127         }
4128       });
4129     });
4130   }
4131   
4132   // Handle input state for all browsers, especially iOS
4133   var inputs = document.querySelectorAll('.input__field');
4134   
4135   inputs.forEach(function(input) {
4136     // Handle input events
4137     input.addEventListener('input', function() {
4138       if (this.value.trim() !== '') {
4139         this.classList.add('has-value');
4140       } else {
4141         this.classList.remove('has-value');
4142       }
4143     });
4144     
4145     // Handle focus
4146     input.addEventListener('focus', function() {
4147       this.classList.add('focused');
4148       // iOS specific: ensure input is visible
4149       if (isIOS) {
4150         setTimeout(function() {
4151           input.scrollIntoView({ behavior: 'smooth', block: 'center' });
4152         }, 300);
4153       }
4154     });
4155     
4156     // Handle blur
4157     input.addEventListener('blur', function() {
4158       this.classList.remove('focused');
4159       if (this.value.trim() !== '') {
4160         this.classList.add('has-value');
4161       } else {
4162         this.classList.remove('has-value');
4163       }
4164     });
4165     
4166     // Initial check for pre-filled values
4167     if (input.value.trim() !== '') {
4168       input.classList.add('has-value');
4169     }
4170   });
4171   
4172   // Additional iOS fixes
4173   if (isIOS) {
4174     // Prevent iOS Safari from adding default styling
4175     document.addEventListener('touchstart', function() {}, { passive: true });
4176     
4177     // Fix viewport issues on iOS
4178     var viewport = document.querySelector('meta[name=viewport]');
4179     if (viewport) {
4180       viewport.setAttribute('content', 
4181         'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
4182       );
4183     }
4184   }
4185 });
4186 </script>
4186
4187           </div>
4188           <div class="purchase-button-wrapper">
4189             <div class="purchase-button btn-address row m-0">
4190   <div class="col-12 col-lg-2 text-left mb-2 p-0">
4191     
4192       <button class="back-purchase-button back-address text-uppercase">
4193         <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://updatedatatogel.com/image/logo.webp">
4194           <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"/>
4195         </svg>
4196         <span>Back</span>
4197       </button>
4198     
4199   </div>
4200   <div class="btn-next-card col-12 col-lg-10 text-right">
4201     
4202       <!--
4203         <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0">
4204           <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://updatedatatogel.com/image/logo.webp">
4205             <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"/>
4206           </svg>
4207           <span>Back</span>
4208         </button>
4209       -->
4210     
4211     
4212     <button
4213       
4214         id="addtocart-card"
4215       
4216       class="btn  next-address text-uppercase"
4217       
4218     >
4219       <span>add to cart</span>
4220     </button>
4221   </div>
4222 </div>
4223 
4224           </div>
4225         </div>
4226       </div>
4227     
4228   </div>
4229 </div>
4230 <div id="backgroundPopup"></div>
4231 
4232 
4233 
4234 <input
4235   data-index="1"
4236   type="hidden"
4237   id="properties-delivery-date"
4238   name="properties[Delivery Date]"
4239   value="-"
4240 >
4241 <input
4242   data-index="2"
4243   type="hidden"
4244   id="properties-delivery-time"
4245   name="properties[Delivery Time]"
4246   value="-"
4247 >
4248 <input
4249   data-index="4"
4250   type="hidden"
4251   id="properties-nama-penerima"
4252   name="properties[Nama Penerima]"
4253   value="-"
4254 >
4255 <input
4256   data-index="5"
4257   type="hidden"
4258   id="properties-alamat-penerima"
4259   name="properties[Alamat Penerima]"
4260   value="-"
4261 >
4262 <input
4263   data-index="6"
4264   type="hidden"
4265   id="properties-kodepos"
4266   name="properties[Kodepos]"
4267   value="-"
4268 >
4269 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]">
4270 
4271   
4272     <input
4273       data-index="8"
4274       type="hidden"
4275       id="properties-kartu-nama-penerima"
4276       name="properties[Kartu Nama Penerima]"
4277       value="-"
4278     >
4279   
4280   <textarea
4281     data-index="9"
4282     type="hidden"
4283     id="properties-kartu-pesan"
4284     name="properties[Kartu Pesan]"
4285     style="display: none"
4286   >-</textarea>
4287 
4288 
4289 
4290   <input
4291     data-index="10"
4292     type="hidden"
4293     id="properties-kartu-nama-pengirim"
4294     name="properties[Kartu Nama Pengirim]"
4295     value="-"
4296   >
4297
4298 <!-- Additional Shipping -->
4299 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]">
4300 <input
4301   type="hidden"
4302   id="properties-kota-pengiriman-country"
4303   name="properties[Country]"
4304   value="Indonesia"
4305 >
4306 <input type="hidden" id="properties-shipping" name="properties[Shipping]">
4307 
4308 <input type="hidden" id="properties-time" name="properties[Time]">
4309 <input type="hidden" id="properties-card" name="properties[Card]">
4310 <input type="hidden" id="properties-addons" name="properties[Addons]">
4311 
4312 <input
4313   type="hidden"
4314   id="properties-company"
4315   name="properties[Company]"
4316   value=""
4317 >
4318 
4318<script>
4319   
4320   $(document).ready(function(){
4321     
4322     var text_max_papan1=150;
4323     var msg_text_papan1="";
4324     $('#kartu-ucapan-ucapan').keyup(function(){
4325       var text_length_papan1=$('#kartu-ucapan-ucapan').val().length;
4326       var msg_text_papan1=$('#kartu-ucapan-ucapan').val();
4327     });
4328 
4329     var notes_papan1 = [
4330       
4331       [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."]
4332       
4333     ];
4334     $('#show_note_papan1').click(function(event){
4335       event.preventDefault();
4336       var idx_papan1=parseInt($('#note_id_papan1').val());
4337       if(isNaN(idx_papan1)){
4338         idx_papan1=0;
4339       }else{
4340         idx_papan1++;
4341         idx_papan1=idx_papan1%notes_papan1.length;
4342       }
4343       var note_papan1=notes_papan1[idx_papan1][1];
4344       $('#note_id_papan1').val(idx_papan1);
4345       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1);
4346       $('#msgDelivery').val(note_papan1);
4347 
4348       var text_length_papan1=$('#kartu-ucapan-papan').val().length;
4349       var idx_2_papan1=parseInt($('#note_btn_id_papan1').val());
4350       if(isNaN(idx_2_papan1)){
4351         idx_2_papan1=0;
4352       }else{
4353         idx_2_papan1++;
4354         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4355       }
4356       $('#note_btn_id_papan1').val(idx_2_papan1);
4357       //var note_btn=note_btn_text[idx_2][1];
4358       //$('#note_btn').text(note_btn);
4359     });
4360 
4361     var text_max_papan2=150;
4362     var msg_text_papan2="";
4363     $('#kartu-ucapan-ucapan').keyup(function(){
4364       var text_length_papan2=$('#kartu-ucapan-ucapan').val().length;
4365       var msg_text_papan2=$('#kartu-ucapan-ucapan').val();
4366     });
4367 
4368     var notes_papan2 = [
4369       
4370       [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)."]
4371       
4372     ];
4373     $('#show_note_papan2').click(function(event){
4374       event.preventDefault();
4375       var idx_papan2=parseInt($('#note_id_papan2').val());
4376       if(isNaN(idx_papan2)){
4377         idx_papan2=0;
4378       }else{
4379         idx_papan2++;
4380         idx_papan2=idx_papan2%notes_papan2.length;
4381       }
4382       var note_papan2=notes_papan2[idx_papan2][1];
4383       $('#note_id_papan2').val(idx_papan2);
4384       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2);
4385       $('#msgDelivery').val(note_papan2);
4386       var text_length_papan2=$('#kartu-ucapan-papan').val().length;
4387       var idx_2_papan2=parseInt($('#note_btn_id_papan2').val());
4388       if(isNaN(idx_2_papan2)){
4389         idx_2_papan2=0;
4390       }else{
4391         idx_2_papan2++;
4392         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4393       }
4394       $('#note_btn_id_papan2').val(idx_2_papan2);
4395       //var note_btn=note_btn_text[idx_2][1];
4396       //$('#note_btn').text(note_btn);
4397     });
4398 
4399     var text_max_papan3=150;
4400     var msg_text_papan3="";
4401     $('#kartu-ucapan-ucapan').keyup(function(){
4402       var text_length_papan3=$('#kartu-ucapan-ucapan').val().length;
4403       var msg_text_papan3=$('#kartu-ucapan-ucapan').val();
4404     });
4405 
4406     var notes_papan3 = [
4407       
4408       [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)."]
4409       
4410     ];
4411     $('#show_note_papan3').click(function(event){
4412       event.preventDefault();
4413       var idx_papan3=parseInt($('#note_id_papan3').val());
4414       if(isNaN(idx_papan3)){
4415         idx_papan3=0;
4416       }else{
4417         idx_papan3++;
4418         idx_papan3=idx_papan3%notes_papan3.length;
4419       }
4420       var note_papan3=notes_papan3[idx_papan3][1];
4421       $('#note_id_papan3').val(idx_papan3);
4422       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3);
4423       $('#msgDelivery').val(note_papan3);
4424       var text_length_papan3=$('#kartu-ucapan-papan').val().length;
4425       var idx_2_papan3=parseInt($('#note_btn_id_papan3').val());
4426       if(isNaN(idx_2_papan3)){
4427         idx_2_papan3=0;
4428       }else{
4429         idx_2_papan3++;
4430         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4431       }
4432       $('#note_btn_id_papan3').val(idx_2_papan3);
4433       //var note_btn=note_btn_text[idx_2][1];
4434       //$('#note_btn').text(note_btn);
4435     });
4436 
4437     var text_max_papan4=150;
4438     var msg_text_papan4="";
4439     $('#kartu-ucapan-ucapan').keyup(function(){
4440       var text_length_papan4=$('#kartu-ucapan-ucapan').val().length;
4441       var msg_text_papan4=$('#kartu-ucapan-ucapan').val();
4442     });
4443 
4444     $('#show_note_papan4').click(function(event){
4445       var notes_papan4 = [
4446         [0,"Here’s to you—steadier, stronger and better every day."],
4447         [1,"Warmest wishes for a speedy recovery!"],
4448         [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."],
4449         [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."]
4450       ];
4451       event.preventDefault();
4452       var idx_papan4=parseInt($('#note_id_papan4').val());
4453       console.log(idx_papan4, 'idx_papan4')
4454       if(isNaN(idx_papan4)){
4455         idx_papan4=0;
4456       }else{
4457         idx_papan4++;
4458         idx_papan4=idx_papan4%notes_papan4.length;
4459       }
4460       var note_papan4=notes_papan4[idx_papan4][1];
4461       $('#note_id_papan4').val(idx_papan4);
4462       $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4);
4463       console.log(note_papan4, 'note_papan4')
4464       var text_length_papan4=$('#kartu-ucapan-papan').val().length;
4465       var idx_2_papan4=parseInt($('#note_btn_id_papan4').val());
4466       if(isNaN(idx_2_papan4)){
4467         idx_2_papan4=0;
4468       }else{
4469         idx_2_papan4++;
4470         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4471       }
4472       $('#note_btn_id_papan4').val(idx_2_papan4);
4473     });
4474 
4475     /*
4476     $("#jenisPapan").change(function(){
4477       $( "select option:selected").each(function(){
4478         if($(this).attr("value")=="Happy Wedding"){
4479           $("#suggest-messages a").hide();
4480           $("#show_note_papan1").show();
4481           $("#kartu-ucapan-papan").val("");
4482         }
4483         if($(this).attr("value")=="Congratulations"){
4484           $("#suggest-messages a").hide();
4485           $("#show_note_papan2").show();
4486           $("#kartu-ucapan-papan").val("");
4487         }
4488         if($(this).attr("value")=="Duka Cita"){
4489           $("#suggest-messages a").hide();
4490           $("#show_note_papan3").show();
4491           $("#kartu-ucapan-papan").val("");
4492         }
4493       });
4494     }).change();
4495     */
4496 
4497     
4498 
4499     
4500 
4501     $(".variant-metafield").each(function(){
4502       const t = $(this)
4503       const id = t.attr("id")
4504       const target = $(`[data-select=${id}]`)
4505       t.on('select2:selecting', function(e) {
4506         const data = e.params.args.data
4507         target.val(data.text)
4508       });
4509     })
4510   })
4511 </script>
4511
4512 
4513 <div id="popupCart">
4514   <div class="container">
4515     <div class="wrapperPopupCart">
4516       <div class="headerPopupCart">
4517         <div class="d-flex pl-5 pr-5 p-4">
4518           <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="16" height="12" viewBox="0 0 16 12" fill="none">
4519             <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"/>
4520           </svg>
4521           <span>item added to your cart</span>
4522         </div>
4523         <a class="close-purchase-popup">
4524   <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="18" height="18" viewBox="0 0 18 18" fill="none">
4525     <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"/>
4526   </svg>
4527 </a>
4528 
4529       </div>
4530       <div class="contentPopupCart">
4531         <div class="pl-5 pr-5 p-4">
4532           <div class="itemContent row m-0 justify-content-between">
4533             <div class="col-2 align-self-center">
4534               
4535               <img
4536                 class="d-block"
4537                 width="80"
4538                 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426"
4539               >
4540             </div>
4541             <div class="col-10 align-self-center">
4542               <div class="row pl-3">
4543                 <div class="col-12 col-lg-7">
4544                   <span class="titleCartPopup text-uppercase">TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor</span>
4545                 </div>
4546                 <div class="d-flex justify-content-end col-12 col-lg-5">
4547                   <span class="deleteCartPopup hide">Delete</span>
4548                   <span class="lineCartPrice align-self-center">Rp 5.000</span>
4549                 </div>
4550               </div>
4551             </div>
4552           </div>
4553           <div class="itemProperties">
4554             
4555               <div class="propDeliver">
4556                 <h4>delivery option detail</h4>
4557                 <p>
4558                   <span>delivery city</span>
4559                   <span class="propDeliveryCity">jakarta</span>
4560                 </p>
4561                 <p>
4562                   <span>delivery date</span>
4563                   <span class="propDeliveryDate">24/03/2025</span>
4564                 </p>
4565                 <p>
4566                   <span>delivery time</span>
4567                   <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span>
4568                 </p>
4569               </div>
4570               <div class="propAddress">
4571                 <h4>delivery option detail</h4>
4572                 <p>
4573                   <span>RECIPIENT NAME</span>
4574                   <span class="propDeliveryName">jane doe</span>
4575                 </p>
4576                 <p>
4577                   <span>delivery address</span>
4578                   <span class="propDeliveryAddress"
4579                     >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta
4580                     Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span
4581                   >
4582                 </p>
4583                 <p>
4584                   <span>recipient phone number</span>
4585                   <span class="propDeliveryPhone">(+62) 812-3456-7890</span>
4586                 </p>
4587                 <p>
4588                   <span>PROVINCE</span>
4589                   <span class="propDeliveryProv">Jakarta</span>
4590                 </p>
4591                 <p>
4592                   <span>postal code</span>
4593                   <span class="propDeliveryZip">12710</span>
4594                 </p>
4595                 
4596                 
4597               </div>
4598             
4599           </div>
4600           <div class="itemAddonCart">
4601             <div class="toggleAddonCart d-flex justify-content-between">
4602               <h4>add-ons (0)</h4>
4603               <svg xmlns="https://updatedatatogel.com/image/logo.webp" width="5" height="9" viewBox="0 0 5 9" fill="none">
4604                 <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"/>
4605               </svg>
4606             </div>
4607             <div class="wrapperItemAddonCart"></div>
4608           </div>
4609           
4610         </div>
4611       </div>
4612       <div class="footerPopupCart">
4613         <div class="row m-0 pl-5 pr-5 p-4">
4614           <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a>
4615           <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a>
4616           <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a>
4617         </div>
4618       </div>
4619     </div>
4620   </div>
4621 </div>
4622 
4623 
4624 
4624<script>
4625   const shareButton = document.getElementById('shareButton');
4626 
4627   shareButton.addEventListener('click', () => {
4628     if (navigator.share) {
4629       navigator.share({
4630         title: "TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor",
4631         url: "/products/blossom-shine",
4632         text: 'Check out this page!'
4633       })
4634       .then(() => console.log('Successful share'))
4635       .catch((error) => console.log('Error sharing', error));
4636     } else {
4637       alert('Web Share API is not supported in this browser.');
4638     }
4639   });
4640 
4641   // Inventory validation function
4642   function checkInventoryStatus() {
4643     const productSelect = document.getElementById('productSelect');
4644     const purchaseButton = document.querySelector('#personalizeBtn button');
4645     
4646     if (!productSelect || !purchaseButton) return;
4647 
4648     const selectedVariantId = productSelect.value;
4649     
4650     // Get variant data from Shopify
4651     fetch(`/products/blossom-shine.js`)
4652       .then(response => response.json())
4653       .then(product => {
4654         const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId);
4655         
4656         if (selectedVariant) {
4657           const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 
4658                                selectedVariant.inventory_management === 'shopify' && 
4659                                selectedVariant.inventory_policy !== 'continue';
4660           
4661           if (isOutOfStock) {
4662             purchaseButton.disabled = true;
4663             purchaseButton.textContent = 'Out of Stock';
4664             purchaseButton.setAttribute('data-out-of-stock', 'true');
4665             purchaseButton.style.backgroundColor = '#cccccc';
4666             purchaseButton.style.cursor = 'not-allowed';
4667           } else {
4668             // Check if button was disabled due to other conditions
4669             
4670             
4671             
4672             
4673             
4674             
4675             
4676             
4677             const isOtherDisabled = false || true || false;
4678             
4679             if (!isOtherDisabled) {
4680               purchaseButton.disabled = false;
4681               purchaseButton.textContent = 'customize your flower board';
4682               purchaseButton.removeAttribute('data-out-of-stock');
4683               purchaseButton.style.backgroundColor = '';
4684               purchaseButton.style.cursor = '';
4685             }
4686           }
4687         }
4688       })
4689       .catch(error => {
4690         console.error('Error checking inventory:', error);
4691       });
4692   }
4693 
4694   // Check inventory on page load
4695   document.addEventListener('DOMContentLoaded', function() {
4696     checkInventoryStatus();
4697     
4698     // Listen for variant changes
4699     const productSelect = document.getElementById('productSelect');
4700     if (productSelect) {
4701       productSelect.addEventListener('change', checkInventoryStatus);
4702     }
4703   });
4704 
4705   // Prevent form submission if out of stock
4706   document.addEventListener('click', function(e) {
4707     if (e.target.matches('button[data-out-of-stock="true"]')) {
4708       e.preventDefault();
4709       e.stopPropagation();
4710       alert('This product is currently out of stock and cannot be purchased.');
4711       return false;
4712     }
4713   });
4714 </script>
4714
4715 
4716 
4717   
4718 </div>
4719 
4720           </div>
4721         </div>
4722       </div>
4723     </div>
4724     <div id="product-bottom">
4725       
4726         <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description">
4727           <div class="container">
4728             
4729 
4730 
4731 
4732 
4733     <div class="short-desc-mobile d-block d-lg-none mb-3">
4734         <div class="short-desc">
4735             <ul>
4736 <li><strong>TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.</strong></li>
4737         </div>
4738         <label class="more-mobile">Show More →</label>
4739     </div>
4740 
4741 <style>
4742 .animated-title {
4743     text-align: center;
4744     font-weight: bold;
4745     color: #079c02;
4746     font-size: 28px;
4747     position: relative;
4748     animation: glow 2s infinite alternate, moveUpDown 3s infinite;
4749 }
4750 
4751 /* Efek glow / bercahaya hijau */
4752 @keyframes glow {
4753     0% { text-shadow: 0 0 5px #079c02; color: #079c02; }
4754     50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; }
4755     100% { text-shadow: 0 0 10px #1bff00; color: #079c02; }
4756 }
4757 
4758 /* Efek gerakan naik turun */
4759 @keyframes moveUpDown {
4760     0% { transform: translateY(0px); }
4761     50% { transform: translateY(-5px); }
4762     100% { transform: translateY(0px); }
4763 }
4764 </style>
4765 
4766 
4766<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4766
4767 
4767<script>
4768   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});
4769 
4770   const productType = $("[data-product-type]").data("product-type")
4771   const productDate = Date.parse(new Date())
4772   
4773   const shop = 'outerbloom1.myshopify.com'
4774   const host = 'https://app.asmaraku.com'
4775   // const host = 'http://localhost:5001'
4776 
4777   const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec"
4778   
4779   const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ')
4780 
4781   $("#properties-time").val(new Date().getTime())
4782 
4783   const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
4784 
4785   if(!isIOS) {
4786     $("#full-date").attr("type", "button")
4787   }
4788 
4789   let dateTime = new Date();
4790   let today = dateTime.getDate();
4791   let day = dateTime.getDay();
4792   let hour = dateTime.getHours();
4793   let min = dateTime.getMinutes();
4794   let timeOfDay = hour + (min / 100);
4795 
4796   async function getFetch(url) {
4797     const response = await fetch(url);
4798     let status = false
4799     let result
4800     if(response.ok) {
4801       status = true
4802       result = await response.json();
4803     }
4804     return {
4805       status,
4806       data: result
4807     }
4808   }
4809 
4810   
4811 
4812   function setCookie(cname, cvalue, exMins) {
4813     var d = new Date();
4814     d.setTime(d.getTime() + (exMins*60*1000));
4815     var expires = "expires="+d.toUTCString();  
4816     document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
4817   }
4818 
4819   function getCookie(cname) {
4820     let name = cname + "=";
4821     let decodedCookie = decodeURIComponent(document.cookie);
4822     let ca = decodedCookie.split(';');
4823     for(let i = 0; i <ca.length; i++) {
4824       let c = ca[i];
4825       while (c.charAt(0) == ' ') {
4826         c = c.substring(1);
4827       }
4828       if (c.indexOf(name) == 0) {
4829         return c.substring(name.length, c.length);
4830       }
4831     }
4832     return "";
4833   }
4834 
4835   async function renderDate() {
4836     let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`);
4837     console.log(dataDate, 'renderDate')
4838     const data = dataDate?.data
4839     const date = data.date
4840     const time = data.time
4841 
4842     console.log(date, 'DATE')
4843 
4844     const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
4845     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
4846     const htmlDate = []
4847     for(let i = 0;i < date.length;i++) {
4848       const full = date[i].date
4849       const d = new Date(date[i].date);
4850       const day = weekday[d.getDay()];
4851       const dt = d.getDate();
4852       const mt = monthly[d.getMonth()];
4853       const yr = d.getFullYear();
4854       const isDate = Boolean(date[i].isEnabled)
4855       const cutoffpagi = date[i].cutoff?.pagi
4856       const cutoffsiang = date[i].cutoff?.siang
4857       const cutoffMalam = date[i].cutoff?.Malam
4858       var html = `
4859         <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'}>
4860           ${dt === today ?
4861             `Today<span>${dt < 10 ? '0' + dt : dt}</span>` :
4862             `${day}<span>${dt < 10 ? '0' + dt : dt}</span>`
4863           }
4864         </button>
4865       `
4866       htmlDate.push(html)
4867     }
4868     const htmlTime = []
4869     for(var i = 0;i < time.length;i++) {
4870       const timeText = time[i].text
4871       const timeTime = time[i].time
4872       const timeEnabled = time[i].isEnabled
4873       var html = `
4874           <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button>
4875         `
4876       htmlTime.push(html)
4877     }
4878     const deliveryDate = document.getElementById("deliveryDate");
4879     if(deliveryDate) {
4880       deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join(''))
4881       $("#deliveryTime").html(htmlTime)
4882       if(productType !== '') {
4883         console.log("clarity event " + productType + ' calendaring')
4884         window.clarity("event", `${productType} calendaringSchedule`)
4885         // window.clarity("set", productType, `calendaringSchedule - ${productDate}`)
4886       }
4887     }
4888   }
4889 
4890   async function getProvince(city) {
4891     let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`);
4892     console.log(province, 'province')
4893     $("#province").val(province)
4894   }
4895 
4896   async function renderAddress() {
4897     let current
4898     if(getCookie("location_delivery")){
4899       current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1)
4900     }
4901     let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`);
4902     console.log(address)
4903     const data = address?.data?.city
4904     const htmlAddress = []
4905     const grouping = []
4906     for(let i = 0;i < data?.length;i++) {
4907       if(data[i]){
4908         if(data[i]?.group) {
4909           grouping.push(data[i].group)
4910         }
4911         const price = rupiah.format(data[i]?.rate)
4912         let promo = '(Promo Free Delivery)'
4913         if(data[i]?.name === 'Jakarta - PickUp ASHTA'){
4914           promo = '(at SCBD, Ashta)'
4915         } else if(data[i]?.name === 'Jakarta - PickUp ITC'){
4916           promo = '(at Kuningan, ITC Kuningan)'
4917         } else if(data[i]?.name === 'BSD - PickUp'){
4918           promo = '(at Goldfinch Gading Serpong)'
4919         } else if(data[i]?.name === 'Kota Lainnya'){
4920           promo = ''
4921         }
4922         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>`)
4923       }
4924     }
4925     
4926     const deliveryCity = document.getElementById("cities");
4927     if(deliveryCity) {
4928       deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join(''))
4929       if(!isIOS) {
4930         $(deliveryCity).select2();
4931       }
4932     }
4933   }
4934 
4935   async function renderZip(v, v2, v3) {
4936     const deliveryZip = document.getElementById("zip");
4937     if(v === '') {
4938       return
4939     }
4940     let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`);
4941     let zip = dataZip?.data?.zip
4942     console.log(zip)
4943     let htmlZip = []
4944     for(let i = 0; i < zip?.length;i++) {
4945       htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`)
4946     }
4947     deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join(''))
4948   }
4949 
4950   renderDate()
4951   renderAddress()
4952 
4953   let rupiah = new Intl.NumberFormat('id-ID', {
4954     style: 'currency',
4955     currency: 'IDR',
4956     maximumFractionDigits: 0, 
4957     minimumFractionDigits: 0
4958   });
4959 
4960   async function insertCard(data) {
4961     const response = await fetch(`${host}/api/card/new`, {
4962         method: "POST",
4963         headers: {
4964           'Content-Type': 'application/json',
4965         },
4966         body: data
4967     })
4968     const result = await response.json()
4969     let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1]
4970     $("#greetingCard").attr("data-index", rowIndex)
4971     return result
4972   }
4973     
4974   async function updateCard(data){
4975     const rowIndex = $("#greetingCard").data("index")
4976     const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, {
4977         method: "PUT",
4978         headers: {
4979           'Content-Type': 'application/json',
4980         },
4981         body: data
4982     })
4983     return response
4984   }
4985     
4986   function bytesToSize(bytes) {
4987     var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p'];
4988     for (var i = 0; i < sizes.length; i++) {
4989       if (bytes <= 1024) {
4990         return bytes + ' ' + sizes[i];
4991       } else {
4992         bytes = parseFloat(bytes / 1024).toFixed(2)
4993       }
4994     }
4995     return bytes + ' P';
4996   }
4997 
4998   async function uploadMedia(uri, type) {
4999     nameq = $("#properties-nama-penerima").val()
5000     dear = $("#properties-kartu-nama-penerima").val()
5001     card = $("[data-properties=ucapan]").val()
5002     sender = $("#properties-kartu-nama-pengirim").val()
5003     photo = $("#properties-photo").val()
5004     video = $("#properties-video").val()
5005     status = "Product"
5006         
5007     const name = qrID
5008     let formData = new FormData(); 
5009     formData.append("file", uri);
5010     const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5011       method: "POST", 
5012       body: formData
5013     })
5014     const result = await response.json();
5015     if(result) {
5016       const url = result.url
5017       if(type === 'image/jpeg') {
5018         $("#properties-photo").val(url)
5019         $(".preview-image").show()
5020         $(".remove-image").show()
5021         photo = url
5022       } else {
5023         $("#properties-video").val(url)
5024         $("#label-input-video span").text("Change File")
5025         $(".case-qrcode-preview p").text("Scan here for a secret message")
5026         $(".remove-media").show()
5027         $("#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>`)
5028         $("[for=input-video]").hide()
5029         video = url
5030       }
5031       $(".case-video-preview").show()
5032       $(".steps-card-preview").removeClass("loading")
5033       // updateCard(nameq, dear, card, sender, photo, video, status)
5034 
5035       $(".nextBtn").attr("disabled", false)
5036     }
5037   }
5038 
5039   function randomString(length, chars) {
5040     var result = '';
5041     for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
5042     return result;
5043   }
5044 
5045   function getNoteCity(fulldate) {
5046     const h_1 = new Date(new Date().setDate(new Date().getDate() + 1))
5047     const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"];
5048     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
5049     const d = new Date(h_1);
5050     const day = weekday[d.getDay()];
5051     const dt = d.getDate();
5052     const mt = monthly[d.getMonth()];
5053     const yr = d.getFullYear();
5054     const p = $("#cities").parent(".form-group")
5055   }
5056 
5057   function disabledSameDay() {
5058     let btnFirst = $("#deliveryDate").find("button:first-child")
5059     let getDay = new Date().getDay();
5060 
5061     
5062       
5063       if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){
5064         if(hour >= 14.00){
5065           btnFirst.attr("disabled", true)
5066         }
5067       } else if(getDay == 6){
5068         if(hour >= 16.00){
5069           btnFirst.attr("disabled", true)
5070         }
5071       } else if(getDay == 0){
5072         if(hour >= 16.00){
5073           btnFirst.attr("disabled", true)
5074         }
5075       }
5076       
5077     
5078   }
5079 
5080   function disabledays(date) {
5081     let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
5082     //if u have to disable a list of day
5083     let removeDays
5084     
5085     
5086     
5087         removeDays = ["2025-2-13", "2025-2-14"];
5088     
5089     if ($.inArray(ymd, removeDays) >= 0) {
5090       return [false];
5091     } else {
5092       let day = date.getDay();
5093       if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){
5094           return [(day == 0),  ''];
5095       }
5096       
5097       if(day == 0){
5098         return [(day == 0),  ''];
5099       }
5100       
5101       
5102       return [(day != 0),  ''];
5103     }
5104   }
5105 
5106   /* Indonesian initialisation for the jQuery UI date picker plugin. */
5107   /* Written by Deden Fathurahman ([email protected]). */
5108   ( function( factory ) {
5109     if ( typeof define === "function" && define.amd ) {
5110 
5111       // AMD. Register as an anonymous module.
5112       define( [ "../widgets/datepicker" ], factory );
5113     } else {
5114 
5115       // Browser globals
5116       factory( jQuery.datepicker );
5117     }
5118   }( function( datepicker ) {
5119 
5120   datepicker.regional.id = {
5121     closeText: "Tutup",
5122     prevText: "&#x3C;mundur",
5123     nextText: "maju&#x3E;",
5124     currentText: "Today",
5125     monthNames: [ "January","February","March","April","May","Juny",
5126                   "July","August","September","October","November","December" ],
5127     monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun",
5128                       "Jul","Agu","Sep","Oct","Nov","Dec" ],
5129     dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ],
5130     dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ],
5131     dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ],
5132     weekHeader: "Mg",
5133     dateFormat: "D, dd M",
5134     firstDay: 0,
5135     isRTL: false,
5136     showMonthAfterYear: false,
5137     yearSuffix: "" };
5138   datepicker.setDefaults( datepicker.regional.id );
5139 
5140   return datepicker.regional.id;
5141 
5142 } ) );
5143 
5144   function loadPopup() {
5145     $("#backgroundPopup").fadeIn("slow");
5146     $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow");
5147     const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first()
5148     if(firstSection.hasClass("purchasePersonalize")) {
5149       if(productType !== '') {
5150         console.log("clarity event " + productType + ' personalize')
5151         window.clarity("event", `${productType} cardPersonalization`)
5152         // window.clarity("set", productType, `cardPersonalization - ${productDate}`)
5153       }
5154     } else if (firstSection.hasClass("sectionPurchaseBoard")) {
5155         console.log("clarity event " + productType + ' personalizeBoard')
5156         window.clarity("event", `${productType} personalizeBoard`)
5157         // window.clarity("set", productType, `personalizeBoard - ${productDate}`)
5158     }
5159     firstSection.removeClass("hide")
5160     
5161     // Auto-trigger addon loading when addon section becomes visible
5162     setTimeout(function() {
5163       const addonSection = $(".purchaseAddon")
5164       if(addonSection.length > 0 && !addonSection.hasClass("hide")) {
5165         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
5166           $("[data-addon=upsell-all]").trigger("click")
5167         }
5168       }
5169     }, 200)
5170   }
5171 
5172   function disablePopup() {
5173     $("#backgroundPopup").fadeOut("slow");
5174     $(".purchasePopup").fadeOut("slow");
5175     $("#popupCart").fadeOut("slow");
5176   }
5177 
5178     function scrollTo(parent, div, dur) {
5179       $(parent).animate({
5180         scrollTop: $(div).offset().top
5181       }, dur);
5182     }
5183 
5184   function loadPopupPersonalize() {
5185     const div = "#purchaseProduct"
5186     const p = "html, body, .product-meta"
5187     $("p.error").remove()
5188     loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all")
5189     const isCity = $("#cities[required]")
5190     const isDate = $("#propDeliveryDate[required]")
5191     const isTime = $("#propDeliveryTime[required]")
5192     // loadPopup()
5193     if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') {
5194       loadPopup()
5195     }
5196     if(isCity.val() == '') {
5197       isCity.parent(".row").append("<p class='error'>Choose delivery city</p>")
5198       scrollTo(p, div, 500)
5199     }
5200     if(isDate.val() == '') {
5201       isDate.parents(".row").append("<p class='error'>Choose delivery date</p>")
5202       scrollTo(p, div, 500)
5203     }
5204     if(isTime.val() == '') {
5205       isTime.parents(".row").append("<p class='error'>Choose delivery time</p>")
5206       scrollTo(p, div, 500)
5207     }
5208   }
5209 
5210   function quantityCounter() {
5211     $(document).on("click", ".item-card.selected .q_up", function () {
5212       var C = $(this).attr("data-id"),
5213           S =
5214               parseInt(
5215                   $(this)
5216                       .siblings(".quantity-cart-" + C)
5217                       .val()
5218               ) + 1;
5219       $(this).attr("data-quantity", S),
5220           $(this)
5221               .siblings(".quantity-cart-" + C)
5222               .val(S);
5223     }),
5224     $(document).on("click", ".item-card.selected .q_down", function () {
5225         var C = $(this).attr("data-id"),
5226             S = parseInt(
5227                 $(this)
5228                     .siblings(".quantity-cart-" + C)
5229                     .val()
5230             );
5231         0 < S && $(this).attr("data-quantity", S - 1),
5232             0 < S &&
5233                 $(this)
5234                     .siblings(".quantity-cart-" + C)
5235                     .val(S - 1);
5236     });
5237   }
5238 
5239   quantityCounter()
5240 
5241   const itemAddon = $(".item-card").length
5242   const nofree = $(".nofree").length
5243 
5244   const upsell = ''
5245   
5246   if(nofree === itemAddon) {
5247       // $("#itemAddons").html("<p>No Items available</p>")
5248   }
5249 
5250   $("#itemAddons .item-card").each(function(e){
5251       $("#itemAddons").attr("data-length", e)
5252   })
5253 
5254   $("[data-addon]").click(function(){
5255       
5256       
5257       
5258       const t = $(this)
5259       
5260       const data = t.data("addon")
5261       
5262       $("[data-addon]").removeClass("selected")
5263       t.addClass("selected")
5264       $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){
5265           const products = data.products
5266           const html = []
5267           for(let i = 0; i < products.length; i++) {
5268               const id = products[i].id
5269               const variantId = products[i].variants[0].id
5270               const img = products[i].images[0].src
5271               let img2 = img.split('.jpg')[0]
5272               const title = products[i].title
5273               const price = products[i].variants[0].price
5274               const tags = products[i].tags
5275               const qty = products[i].variants[0].available
5276               let type_upsell = ''
5277               if(tags.includes('upsell-item-standing')) {
5278                   type_upsell = 'standing'
5279               }
5280               console.log(type_upsell)
5281               if(type_upsell !== '') {
5282                   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}">
5283                       
5284                           <div class="card-image">
5285                               <img src="${img2}_150x.jpg" alt="${title}" width="" height="" />
5286                           </div>
5287                           <div class="card-meta">
5288                               <h5>${title}</h5>
5289                               <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
5290                               <input id="card-${variantId}" type="hidden" name="" value="${variantId}">
5291                           </div>
5292                           <div class="card-qty">
5293                               <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://updatedatatogel.com/image/logo.webp" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a>  
5294                               <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5294" value="0" data-price=${price} name="quantity">
5295                               <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://updatedatatogel.com/image/logo.webp" width="12" height="13" viewBox="0 0 12 13" fill="none">
5296 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/>
5297 </svg></a>   
5298                           </div>
5299                       </div>`
5300                   html.push(body)
5301               }
5302           }
5303           $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html)
5304           $("#itemAddons").attr("data-length", products.length)
5305           // $('#itemAddons')[0].swiper.update();
5306       });
5307   })
5308 
5309   async function isAddon(){
5310     let ids = []
5311     $("#itemAddons .item-card.selected").each(function(i, e){
5312       const id = $(this).data("id")
5313       ids.push(id)
5314     })
5315     console.log(ids)
5316     return ids
5317   }
5318   
5319   $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){
5320     const t = $(this).parent()
5321     const id = t.data("id")
5322     const btn =  t.parents(".purchaseAddon").find(".next-purchase-button")
5323     t.toggleClass("selected");
5324     //$(this).next("input").toggleAttr('name', 'id[]');
5325     if (t.hasClass('selected')) {
5326         t.find("input").val(1)
5327         t.find("input").attr('name', 'id[]');
5328     } else {
5329         t.find("input").val(0)
5330         t.find("input").removeAttr('name');
5331     }
5332     $("#properties-addons").val(addons)
5333     const is = await isAddon()
5334     if(is.length === 0) {
5335       btn.text("continue without add-ons")
5336       return
5337     }
5338     if(is.includes(8835692069079)) {
5339       btn.text("personalize acrylic frame")
5340     } else {
5341       btn.text("Continue")
5342     }
5343       
5344   })
5345 
5346   async function myAddon(data) {
5347     const c = $(".addonsPurchase .addons")
5348     let items = []
5349     
5350     const spotifyAddons = $(".spotifyAddons").find("[data-index]")
5351     // if(spotifyAddons.length > 0) {
5352     //   $(spotifyAddons).each(function(i, e){
5353     //     const spotifyLink = $(this).find(".spotifyLink").val()
5354     //     const spotifySong = $(this).find(".spotifySong").val()
5355     //     const spotifyArtist = $(this).find(".spotifyArtist").val()
5356     //     const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val()
5357     //     if(spotifyLink !== '') {
5358     //       spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1">
5359     //         <div class="addon-itm-img">
5360     //           <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"/>
5361     //         </div>
5362     //         <div class="addon-itm-title">
5363     //           <span>[US] Outerbloom Acrylic Frame 4R</span>
5364     //         </div>
5365     //         <div class="addon-itm-line-total">
5366     //           <span>Rp 99.000</span>
5367     //         </div>
5368     //       </div>
5369     //       <div class="propsAddonSpotify row m-0">
5370     //         <div class="col-12 col-lg-2"></div>
5371     //           <div class="col-12 col-lg-10">
5372     //             <p>
5373     //               <span>spotify link</span>
5374     //               <span class="spotifyLinkAddon">${spotifyLink}</span>
5375     //             </p>
5376     //             <p>
5377     //               <span>uploaded photo</span>
5378     //               <span class="spotifyFotoAddon">${spotifyFotoAddon}</span>
5379     //             </p>
5380     //             <p>
5381     //               <span>song / playlist name</span>
5382     //               <span class="spotifySongAddon">${spotifySong}</span>
5383     //             </p>
5384     //             <p>
5385     //               <span>artist name</span>
5386     //               <span class="spotifyArtistAddon">${spotifyArtist}</span>
5387     //             </p>
5388     //           </div>
5389     //       </div>`
5390     //       items.push(spotifyAddon)
5391     //     }
5392     //   })
5393     // }
5394     for(let i = 0; i < data.length; i++) {
5395       if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) {
5396         const img = data[i].image
5397         const title = data[i].title
5398         const qty = data[i].qty
5399         const price = data[i].price
5400         const total = Number(qty) * Number(price)
5401         let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}">
5402               <div class="addon-itm-img">
5403                 <img src="${img}" alt="" width="70"/>
5404               </div>
5405               <div class="addon-itm-title">
5406                 <span>${title}</span>
5407               </div>
5408               <div class="addon-itm-line-price">
5409                 <span>${rupiah.format(price)}</span>
5410                 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`}
5411               </div>
5412               <div class="addon-itm-line-total">
5413                 <span>${rupiah.format(total)}</span>
5414               </div>
5415             </div>`
5416           items.push(addons)
5417       }
5418     }
5419     c.html(items)
5420     const parent = $(".purchaseAddon")
5421     const next = parent.next(".sectionPurchase")
5422     parent.addClass("hide")
5423     next.removeClass("hide")
5424     // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart")
5425     // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`)
5426   }
5427 
5428   async function listAddon() {
5429     const data = $("#itemAddons").find(".selected")
5430     let ids = []
5431     $(data).each(function(){
5432       const id = $(this).data("variant")
5433       const image = $(this).find(".card-image img").attr("src")
5434       const title = $(this).find(".card-meta h5").text()
5435       const qty = $(this).find(".card-qty input").val()
5436       const price = $(this).find(".card-qty input").data("price")
5437       ids.push({
5438         id: Number(id),
5439         image,
5440         title,
5441         qty,
5442         price
5443       })
5444     })
5445     myAddon(ids)
5446   }
5447 
5448   async function customSpotify(idx, length, type){
5449     let isCard = false
5450     
5451     let p = $(".purchasePopupSpotify")
5452     const preLink = $(".spotifyLinkFirst").val()
5453     $("[data-index]").hide()
5454     p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`)
5455     p.find(".regulerAddons, .purchase-button").hide()
5456     p.find(".spotifyAddons").show()
5457     
5458     const data = await trackUrl(preLink)
5459     
5460     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://updatedatatogel.com/image/logo.webp" width="13" height="11" viewB
5460ox="0 0 13 11" fill="none">
5461 <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"/>
5462 </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://updatedatatogel.com/image/logo.webp><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://updatedatatogel.com/image/logo.webp" width="13" height="11" viewB
5462ox="0 0 13 11" fill="none">
5463 <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"/>
5464 </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>`
5465     // console.log(html)
5466     
5467     $(".spotifyAddons").append(html)
5468     
5469     $(`[data-index=${idx}]`).show()
5470     
5471     if (preLink !== '') {
5472       $(".btn-action .btn").attr("disabled", false)
5473     } else {
5474       $(".btn-action .btn").attr("disabled", true)
5475     }
5476 
5477     return html
5478     
5479   }
5480 
5481   $(".spotifyLinkFirst").keyup(async function(){
5482     const v = $(this).val()
5483     if(v.includes('spotify:user:spotify')) {
5484       const correct = v.split('user:spotify:')[1]
5485       console.log(correct, 'BNER')
5486       $(this).val(correct)
5487       return
5488     }
5489     if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){
5490       const data = await trackUrl(v)
5491       if(!data || !data.status) {
5492         $(this).parent().addClass("error")
5493         // $(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>`)
5494         $("#personalizeBtnSpotify .btn").attr("disabled", true)
5495         return
5496       }
5497       $(this).parent().removeClass("error")
5498       // $(this).parent().remove("txt-error")
5499       $("#personalizeBtnSpotify .btn").attr("disabled", false)
5500     } else {
5501       $("#personalizeBtnSpotify .btn").attr("disabled", true)
5502     }
5503   })
5504 
5505   $(".purchaseAddon").delegate(".next-addon", "click", function(){
5506     const parent = $(this).parents(".purchaseAddon")
5507     const next = parent.next(".sectionPurchase")
5508     if(next.hasClass("purchaseAddress")) {
5509       if(productType !== '') {
5510         console.log("clarity event " + productType + ' purchaseDelivery')
5511         window.clarity("event", `${productType} purchaseDelivery`)
5512         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5513       }
5514     }
5515     const data = $("#itemAddons").find(".selected")
5516     const length = $(".quantity-cart-46067682607319").val()
5517     const checked = data.length;
5518     if(checked > 0) {
5519       if(length > 0) {
5520         $(".purchaseAddon").addClass("purchaseAddonSpotify")
5521         customSpotify(1, length, 'addon')
5522       } else {
5523         listAddon()
5524       }
5525     } else {
5526       parent.addClass("hide")
5527       next.removeClass("hide")
5528     }
5529   })
5530 
5531   $("#personalizeBtnSpotify .btn").click(async function(){
5532     const isCity = $("#cities[required]")
5533     const isDate = $("#propDeliveryDate[required]")
5534     if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) {
5535       alert('Please choose Delivery City & Delivery Date')
5536       return
5537     }
5538     const data = await customSpotify(1, 1, 'product')
5539     if(data) {
5540       $("#backgroundPopup").fadeIn("slow");
5541       $(".purchasePopupSpotify").fadeIn("slow");
5542 
5543       if(productType !== '') {
5544         console.log("clarity event " + productType + ' spotify')
5545         window.clarity("event", `${productType} spotify`)
5546         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5547       }
5548     }
5549   })
5550 
5551   function formatBytes(bytes, decimals = 2) {
5552     if (!+bytes) return '0 Bytes'
5553 
5554     const k = 1024
5555     const dm = decimals < 0 ? 0 : decimals
5556     const sizes = ['B', 'KB', 'MB']
5557 
5558     const i = Math.floor(Math.log(bytes) / Math.log(k))
5559 
5560     return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
5561   }
5562 
5563   async function trackUrl(link){
5564     try {
5565       let trackId = link.split('/').pop().split('?')[0];
5566       let type = ''
5567       if(link.includes("spotify:")) {
5568         const uri = link.split('spotify:')[1]
5569         trackId = uri.split(':')[1]
5570         type = uri.split(':')[0] + 's'
5571       } else {
5572         if(link.match('track')){
5573           type = 'tracks'
5574         } else if(link.match('playlist')) {
5575           type = 'playlists'
5576         } else if(link.match('artist')) {
5577           type = 'artists'
5578         } else if(link.match('album')) {
5579           type = 'albums'
5580         }
5581       }
5582       console.log(`${host}/api/spotify/${type}/${trackId}`)
5583       const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`)
5584       console.log(data, 'DATA')
5585       const song = data?.data?.name
5586       const artist = data?.data?.artist
5587       return {
5588         song, artist, type, trackId, status: data.status
5589       }
5590     } catch(err) {
5591       console.log(err)
5592     }
5593   }
5594 
5595   $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){
5596     const parent = $(this).parents("[data-index]")
5597     const preview = parent.find(".previewImage")
5598     const file = $(this)[0].files[0];
5599     if (file) {
5600         const reader = new FileReader();
5601         reader.onload = async function(e) {
5602           parent.find(".uploadResult label").hide()
5603           parent.find(".uploadedResult").remove()
5604           parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between">
5605           <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>
5606           <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;">
5606<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://updatedatatogel.com/image/logo.webp">
5607   <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 />
5608 </svg>
5609 </span></div></div>`)
5610           parent.find(".frameImageUploaded svg").hide()
5611           parent.find(".frameImage").addClass("uploaded")
5612           preview.attr("src", e.target.result);
5613           preview.show();
5614           let formData = new FormData(); 
5615           formData.append("file", file);
5616           const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, {
5617             method: "POST", 
5618             body: formData
5619           })
5620           const result = await response.json();
5621           if(result){
5622             parent.find(".resultPhotoSpotify").val(result.url)
5623           }
5624         }
5625         
5626         reader.readAsDataURL(file);
5627     } else {
5628         preview.hide();
5629     }
5630   });
5631 
5632   $(".spotifyAddons").delegate(".uploadResult", "click", function(){
5633     $(this).next("input[type=file]").trigger("click")
5634   })
5635 
5636   $(".spotifyAddons").delegate(".changeUpload", "click", function(){
5637     $(this).parents("input[type=file]").trigger("click")
5638   })
5639 
5640   $(".spotifyAddons").delegate(".removeUpload", "click", function(){
5641     const parent = $(this).parents("[data-index]")
5642     parent.find(".uploadPhotoSpotify").val("")
5643     parent.find(".uploadResult label").show()
5644     parent.find(".uploadedResult").remove()
5645     parent.find(".frameImageUploaded svg").show()
5646     parent.find(".previewImage").hide()
5647     parent.find(".frameImage").removeClass("uploaded")
5648   })
5649 
5650   $(".spotifyAddons").delegate("label.checkbox", "click", function(){
5651     const parent = $(this).parents("[data-index]")
5652     parent.toggleClass("checked")
5653   })
5654 
5655   $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){
5656     const parent = $(this).parents("[data-index]")
5657     const link = $(this).val()
5658     const data = await trackUrl(link)
5659 
5660     console.log(data)
5661 
5662     if(data.song) {
5663       parent.find(".spotifySong").val(data.song)
5664       parent.find(".spotifyData").find("h3").text(data.song)
5665     }
5666     if(data.artist) {
5667       parent.find(".spotifyArtist").val(data.artist)
5668       parent.find(".spotifyData").find("p").text(data.artist)
5669     }
5670     parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`)
5671     // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M
5672     if (data.status === true) {
5673       parent.find(".btn-action .btn").attr("disabled", false)
5674     } else {
5675       parent.find(".btn-action .btn").attr("disabled", true)
5676     }
5677   })
5678   
5679   $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){
5680     const parent = $(this).parents("[data-index]")
5681     const v = $(this).val()
5682     parent.find(".spotifyData h3").text(v)
5683   })
5684 
5685   $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){
5686     const parent = $(this).parents("[data-index]")
5687     const v = $(this).val()
5688     parent.find(".spotifyData p").text(v)
5689   })
5690 
5691   $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){
5692     const parent = $(this).parents("[data-index]")
5693     const length = parent.data("length")
5694     const index = parent.data("index")
5695     const indexNext = Number(index) + 1
5696     customSpotify(indexNext, length, 'addon')
5697   })
5698 
5699   
5700   $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){
5701     const parent = $(this).parents(".purchaseAddon")
5702     const next = parent.next(".sectionPurchase")
5703     parent.addClass("hide")
5704     next.removeClass("hide")
5705     next.find(".purchase-button").show()
5706     listAddon()
5707   })
5708 
5709   $(".spotifyAddons").delegate(".back-spotify", "click", async function(){
5710     const t = $(this).parents("[data-index]")
5711     const parent = $(this).parents(".sectionPurchase")
5712     const current = t.data("index")
5713     const prevCurrent = Number(current) - 1
5714     if(current == 1) {
5715       parent.removeClass("purchaseAddonSpotify")
5716       parent.find(".purchase-button").show()
5717       parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!")
5718       $(".spotifyAddons").empty()
5719       $(".regulerAddons").show()
5720       return
5721     }
5722     t.hide()
5723     t.prev("[data-index]").show()
5724     t.remove()
5725     parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`)
5726   })
5727 
5728   $("#personalizeBtn .btn").click(async function() {
5729     loadPopupPersonalize()
5730   });
5731 
5732   $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){
5733     $(".sectionPurchaseSpotify").hide()
5734     loadPopupPersonalize()
5735   })
5736 
5737   $(".close-purchase-popup").click(function() {
5738       disablePopup();
5739   });
5740   $("#backgroundPopup").click(function() {
5741       // disablePopup();
5742   });
5743 
5744   $("#popupCart .close-purchase-popup").click(function() {
5745       location.reload()
5746   });
5747 
5748   $('#popupCart').on('hide.bs.modal', function (e) {
5749     location.reload()
5750   })
5751 
5752   $(".next-card").click(function(){
5753     const parent = $(this).parents(".sectionPurchase")
5754     const next = parent.next(".sectionPurchase")
5755     parent.addClass("hide")
5756     next.removeClass("hide")
5757   })
5758 
5759   $(".back-purchase-button").click(function(){
5760     const parent = $(this).parents(".sectionPurchase")
5761     const prev = parent.prev(".sectionPurchase")
5762     parent.addClass("hide")
5763     prev.removeClass("hide")
5764   })
5765   
5766   $(document).keypress(function(e) {
5767       if (e.keyCode == 27 && popupStatus == 1) {
5768           disablePopup();
5769       }
5770   });
5771   
5772   const parentImg = $(".case-img-preview")
5773   const parentVid = $(".case-video-preview")
5774   
5775   function readURL(input) {
5776     if (input.files && input.files[0]) {
5777       let reader = new FileReader();
5778 
5779       let type = 'image/jpeg'
5780       const size = input.files[0].size
5781       if(input.files[0].type.match('video/')){
5782         type = 'video/mp4'
5783         if(size > 15728640) {
5784           alert('File size exceeds maximum limit 15 MB')
5785           return
5786         }
5787       } else {
5788         if(size > 5242880) {
5789           alert('File size exceeds maximum limit 5 MB')
5790           return
5791         }
5792       }
5793 
5794       reader.onload = function (e) {
5795         $(".nextBtn").attr("disabled", true)
5796         if(type === 'image/jpeg') {
5797           
5798             $('.placeholder-image').hide();
5799             $('.preview-image').show()
5800             $('.preview-image').attr('src', e.target.result);
5801           
5802         } else {
5803           // parentVid.find(".ajax-loader").show();
5804           $(".steps-card-preview").addClass("loading")
5805         }
5806       }
5807 
5808       
5809 
5810       reader.readAsDataURL(input.files[0]);
5811     }
5812   }
5813 
5814   async function readURLPapan(input) {
5815     if (input.files && input.files[0]) {
5816       let reader = new FileReader();
5817 
5818       reader.onload = function (e) {
5819         $('.btn-upload-papan').siblings('label').hide();
5820         $('.btn-upload-papan img').attr('src', e.target.result);
5821         $('.btn-upload-papan img').show();
5822         $('.svgLogoPapan').hide();
5823       }
5824       
5825       const type = 'image/jpeg'
5826       const name = `logo-8144957800663-${Date.parse(new Date())}`
5827 
5828       let formData = new FormData(); 
5829       formData.append("file", input.files[0]);
5830       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5831         method: "POST", 
5832         body: formData
5833       })
5834       const result = await response.json();
5835       if(result) {
5836         const url = result.url
5837         $("[data-properties=papan-logo]").val(url)
5838       }
5839 
5840       reader.readAsDataURL(input.files[0]);
5841     }
5842   }
5843 
5844   async function readURLAddress(input) {
5845     console.log(input, 'readURLAddress')
5846     if (input.files && input.files[0]) {
5847       let reader = new FileReader();
5848 
5849       reader.onload = function (e) {
5850         $('.photo-address').attr('src', e.target.result);
5851         $('.photo-address').show();
5852       }
5853       
5854       const type = 'image/jpeg'
5855       const name = input.files[0].name?.split('.')[0]
5856 
5857       let formData = new FormData(); 
5858       formData.append("file", input.files[0]);
5859       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5860         method: "POST", 
5861         body: formData
5862       })
5863       const result = await response.json();
5864 
5865       reader.readAsDataURL(input.files[0]);
5866 
5867       return result
5868     }
5869   }
5870 
5871   
5872 
5873   
5874   async function addToCartUang() {
5875     var productAddOnId1 = 42122101162199;
5876     var productAddOnId2 = 42122101194967;
5877     var product_id = 8144957800663
5878     const data = {
5879       items: [
5880           {
5881               quantity: $("#Quantity-" + productAddOnId1).val(),
5882               id: productAddOnId1,
5883               "properties": { "Time": $("#properties-time").val() }
5884           },
5885           {
5886               quantity: $("#Quantity-" + productAddOnId2).val(),
5887               id: productAddOnId2,
5888               "properties": { "Time": $("#properties-time").val() }
5889           }
5890       ]
5891     }
5892     await fetch(window.Shopify.routes.root + 'cart/add.js', {
5893       method: 'POST',
5894       headers: {
5895         'Content-Type': 'application/json'
5896       },
5897       body: JSON.stringify(data)
5898     })
5899     .then(response => {
5900       console.error('Sukses Buket Uang:', response);
5901       $(".form-flower").submit()
5902     })
5903     .catch((error) => {
5904       console.error('Error Buket Uang:', error);
5905       $(".form-flower").submit()
5906     });
5907   }
5908   
5909   async function saveCard(){
5910     let isCard = true
5911     const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : ''
5912     const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : ''
5913     const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : ''
5914     const foto = $("#properties-photo").val()
5915     const video = $("#properties-video").val()
5916     const data = JSON.stringify({
5917       "id": qrID, 
5918       "penerima": $("#properties-nama-penerima").val(), 
5919       "kartu_penerima": kartu_penerima, 
5920       "kartu_ucapan": kartu_ucapan, 
5921       "kartu_pengirim": kartu_pengirim, 
5922       "foto": foto,
5923       "video": video, 
5924       "productId": "8144957800663", 
5925       "order_name": "", 
5926       "status": "Cart"
5927     })
5928 
5929     
5930   }
5931 
5932   async function additem(items){
5933     try {
5934       let formData = items
5935       if(items?.length) {
5936         formData = {
5937            'items': items
5938         };
5939       }
5940   
5941       const add = await fetch(window.Shopify.routes.root + 'cart/add.js', {
5942         method: 'POST',
5943         headers: {
5944           'Content-Type': 'application/json',
5945           'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */
5946         },
5947         body: JSON.stringify(formData)
5948       })
5949   
5950       const data = await add.json();
5951       return data
5952     } catch(err){
5953       console.log('Error additem', err)
5954     }
5955   }
5956 
5957   async function addons(){
5958     let items = []
5959     $(".addon-item").each(function(){
5960       const p = $(this)
5961       const props = p.next(".propsAddonSpotify")
5962       const id = $(this).data("id")
5963       const quantity = $(this).data("qty")
5964       const propId = $("#properties-time").val()
5965       let properties = {}
5966       if(id === 46067682607319) {
5967         const link = props.find(".spotifyLinkAddon").text()
5968         const photo = props.find(".spotifyFotoAddon").text()
5969         const song = props.find(".spotifySongAddon").text()
5970         const artist = props.find(".spotifyArtistAddon").text()
5971         properties = {
5972           id: propId,
5973           "Spotify Link": link !== '' ? link : '-',
5974           "Spotify Photo": photo !== '' ? photo : '-',
5975           "Spotify Song": song !== '' ? song : '-',
5976           "Spotify Artist": artist !== '' ? artist : '-',
5977           type: 'addon'
5978         }
5979       } else {
5980         properties = { 
5981           "id": propId, 
5982           "type": "addon"
5983         }
5984       }
5985       items.push({
5986         id, 
5987         quantity, 
5988         properties
5989       })
5990     })
5991     return items
5992   }
5993 
5994   async function propItems() {
5995     let props = {}
5996     $("[data-properties]").each(function(e){
5997       let elementType = this.tagName;
5998       const k = $(this).data("properties")
5999       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') {
6000         const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val();
6001         if(v !== '') {
6002           props[k] = v?.replace(/[\s\n]/g, '');
6003         }
6004       }
6005     })
6006     return props
6007   }
6008 
6009   async function showPopupCart(items){
6010     if(productType !== '') {
6011       console.log("clarity event " + productType + ' completeOrder')
6012       window.clarity("event", `${productType} completeOrder`)
6013       // window.clarity("set", productType, `completeOrder - ${productDate}`)
6014     }
6015     $("#popupCart").show()
6016     
6017       $(".propDeliveryCity").text($("#cities").val())
6018       $(".propDeliveryDate").text($("#propDeliveryDate").val())
6019       $(".propDeliveryTime").text($("#propDeliveryTime").val())
6020       $(".propDeliveryName").text($("[data-properties=nama-penerima]").val())
6021       $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val())
6022       $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val())
6023       $(".propDeliveryProv").text($("#province").val())
6024       $(".propDeliveryZip").text($("#zip").val())
6025       
6026     
6027 
6028     const addons = []
6029     if(items && items.length > 0) {
6030       for(let i = 1; i < items.length; i++) {
6031         const spotifyLink = items[i].properties['Spotify Link']
6032         const spotifyPhoto = items[i].properties['Spotify Photo']
6033         const spotifySong = items[i].properties['Spotify Song']
6034         const spotifyArtist = items[i].properties['Spotify Artist']
6035         const price = items[i].price / 100
6036         const props = spotifyLink ? `<div class="propsAddonCart row m-0">
6037                   <div class="col-12 col-lg-2"></div>
6038                   <div class="col-12 col-lg-10">
6039                     <p>
6040                       <span>spotify link</span>
6041                       <span>${spotifyLink}</span>
6042                     </p>
6043                     <p>
6044                       <span>Upload Photo</span>
6045                       <span>${spotifyPhoto}</span>
6046                     </p>
6047                     <p>
6048                       <span>song / playlist name</span>
6049                       <span>${spotifySong}</span>
6050                     </p>
6051                     <p>
6052                       <span>artist name</span>
6053                       <span>${spotifyArtist}</span>
6054                     </p>
6055                   </div>
6056                 </div>` : '';
6057         addons.push(`<div class="row m-0">
6058                   <div class="imgAddonCart col-2">
6059                     <img
6060                       width="43"
6061                       src="${items[i].image}"
6062                       alt=""
6063                     >
6064                   </div>
6065                   <div class="imgAddonTitlePrice col-10 align-self-center">
6066                     <div class="row justify-content-between m-0">
6067                       <div class="col-12 col-lg-8">
6068                         <h5>${items[i].title}</h5>
6069                       </div>
6070                       <div class="col-12 col-lg-4 text-lg-right">
6071                         <span>${rupiah.format(price)}</span>
6072                       </div>
6073                     </div>
6074                   </div>
6075                 </div>${props}`)
6076       }
6077     }
6078     // console.log(addons)
6079     if(addons.length === 0) {
6080       $(".itemAddonCart").hide()
6081       return
6082     }
6083     $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`)
6084     $(".wrapperItemAddonCart").html(addons)
6085   }
6086 
6087   const money = (money) => {
6088       return new Intl.NumberFormat('id-ID',
6089           { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
6090       ).format(money);
6091   }
6092 
6093   async function showNoteMoney() {
6094     let qty50k = $("[data-properties='Uang 50k']").val()
6095     let qty100k = $("[data-properties='Uang 100k']").val()
6096     const total50k = Number(qty50k) * 50000
6097     const total100k = Number(qty100k) * 100000
6098     const total_all = total50k + total100k
6099     $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`)
6100     $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`)
6101     $(".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://updatedatatogel.com/amp-tikus/" target="_blank" style="text-decoration: underline;
6101 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`)
6102   }
6103 
6104   async function removeImage() {
6105     const data = JSON.stringify({
6106       "ID": $("#properties-properties-qrId").val(), 
6107       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6108       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6109       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6110       "Nama Penerima": $("#properties-nama-penerima").val(), 
6111       "Order Number":"",
6112       "Status":"Product", 
6113       "Foto": "", 
6114       "Media": $("#properties-video").val(), 
6115       "Image": "8144957800663"
6116     })
6117     const remove = updateCard(data)
6118     if(remove) {
6119       $(this).hide()
6120       $("#properties-photo").val("-")
6121       $(".placeholder-image").show()
6122       $(".preview-image").attr("src", "")
6123     }
6124   }
6125 
6126   async function removeVideo() {
6127     const data = JSON.stringify({
6128       "ID": $("#properties-properties-qrId").val(), 
6129       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6130       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6131       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6132       "Nama Penerima": $("#properties-nama-penerima").val(), 
6133       "Order Number":"",
6134       "Status":"Product", 
6135       "Foto": $("#properties-photo").val(), 
6136       "Media": "", 
6137       "Image": "8144957800663"
6138     })
6139     const remove = updateCard(data)
6140     if(remove) {
6141       $("#properties-video").val("-")
6142       $(this).find("img").hide()
6143       $(this).hide()
6144       $(this).prev("p").text("Add video to make it more special (optional)")
6145       $("#label-input-video").show()
6146       $("#label-input-video span").text("Upload Video")
6147       $(".case-video-preview p span").remove()
6148     }
6149   }
6150 
6151   async function loadItemOccasion(t, occasion) {
6152     const name = occasion?.replace('greeting-card-', '')
6153     $("#kartu-ucapan").val("")
6154     $("[data-occassion]").removeClass("selected")
6155     $("[data-properties=ucapan]").val("")
6156     $("#save-card").attr("disabled", true)
6157     t.addClass("selected")
6158     $("#show_note").attr("data-card-occassion", name)
6159     $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){
6160         const products = data.products
6161         const html = []
6162         for(let i = 0; i < products.length; i++) {
6163             const id = products[i].id
6164             const variantId = products[i].variants[0].id
6165             const img = products[i].images[0].src
6166             const title = products[i].title
6167             const price = products[i].variants[0].price
6168             const qty = products[i].variants[0].inventory_quantity
6169             const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}>
6170                 <label for="card-${variantId}"></label>
6171                     <div class="card-image">
6172                         <img src="${img}" alt="${title}" width="" height="" />
6173                     </div>
6174                     <div class="card-meta text-center">
6175                         <h5>${title}</h5>
6176                         <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
6177                         <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}">
6178                     </div>
6179                 </div>`
6180             html.push(body)
6181         }
6182         const withoutCard = `<div class="item-card item-without-card">
6183                 <label for="card-0"></label>
6184                     <div class="card-image">
6185                         <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" />
6186                     </div>
6187                     <div class="card-meta text-center">
6188                         <h5>
6188Send without a greeting card</h5>
6189                         <input id="card-0" type="radio" name="id" value="" data-price="">
6190                     </div>
6191                 </div>`
6192         $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join(""))
6193     });
6194   }
6195         
6196   $(document).ready(function(){
6197 
6198     // Observer to auto-trigger addon loading when addon section becomes visible
6199     const addonObserver = new MutationObserver(function(mutations) {
6200       mutations.forEach(function(mutation) {
6201         const target = $(mutation.target)
6202         if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') {
6203           if(!target.hasClass('hide')) {
6204             // Addon section just became visible, ensure items are loaded
6205             setTimeout(function() {
6206               if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6207                 console.log("Auto-triggering addon load...")
6208                 $("[data-addon=upsell-all]").trigger("click")
6209               }
6210             }, 150)
6211           }
6212         }
6213       })
6214     })
6215     
6216     // Start observing addon section
6217     const addonSection = document.querySelector('.purchaseAddon')
6218     if(addonSection) {
6219       addonObserver.observe(addonSection, { 
6220         attributes: true, 
6221         attributeFilter: ['class'] 
6222       })
6223     }
6224 
6225     $(".purchasePopup").delegate("#addtocart-card", "click", async function(){
6226     
6227     $(this).find("span").addClass("loading")
6228     let isValid = true
6229     $(".formAddressPurchase [required]").each(function(){
6230       const t = $(this)
6231       const input = t.val()
6232       const p = t.parent()
6233       if(input === '') {
6234         p.addClass("error")
6235         isValid = false
6236       }
6237     })
6238 
6239     if(!isValid) {
6240       $(this).find("span").removeClass("loading")
6241       return
6242     }
6243     
6244     let items = []
6245     const mainProps = {
6246       
6247         "Delivery Date": $("#propDeliveryDate").val(),
6248         "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' ,
6249         "Kota Pengiriman": $("#cities").val(),
6250         "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' ,
6251         "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' ,
6252         "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' ,
6253         "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' ,
6254       
6255       
6256         "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' ,
6257         "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' ,
6258         "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' ,
6259         "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' ,
6260         "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' ,
6261       
6262       
6263       "Province": $("#province").val() !== '' ? $("#province").val() : '-' ,
6264       "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' ,
6265       "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' ,
6266       "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' ,
6267       "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
6268       "type": 'product'
6269     }
6270     const props = await propItems()
6271     properties = {...mainProps, ...props };
6272     const id = $("#productSelect").find('option:selected').val()
6273     console.log(id, 'main ID')
6274     const mainItem = {
6275       id: Number(id),
6276       quantity: 1,
6277       properties
6278     }
6279     items.push(mainItem)
6280     const cardId = $("#itemCards").find(".selected input").val()
6281     const cardItem = {
6282       id: Number(cardId),
6283       quantity: 1,
6284       properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' }
6285     }
6286     console.log(cardId, 'cardId')
6287     if(cardId) {
6288       items.push(cardItem)
6289     }
6290     const addon = await addons()
6291     if(addon) {
6292       for(let i = 0;
6292 i < addon.length; i++){
6293         items.push({
6294           id: addon[i].id,
6295           quantity: addon[i].quantity,
6296           properties: addon[i].properties
6297         })
6298       }
6299     }
6300     const addItems = await additem(items)
6301     console.log(addItems.items, 'add items')
6302     if(addItems) {
6303       $(this).find("span").removeClass("loading")
6304       disablePopup()
6305       showPopupCart(addItems.items)
6306       
6307       localStorage.setItem("items", JSON.stringify(addItems.items))
6308     }
6309   })
6310   
6311   $("#addtocart-cart .btn").click(async function(){
6312     const id = $("#productSelect").find('option:selected').val()
6313     const mainProps = {
6314       id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 
6315       type: 'product'
6316     }
6317     const props = await propItems()
6318     const properties = { ...mainProps, ...props };
6319     const items = {
6320       id: Number(id),
6321       quantity: 1,
6322       properties
6323     }
6324     const addItems = await additem(items)
6325     if(addItems) {
6326       showPopupCart(addItems.items)
6327       localStorage.setItem("items", JSON.stringify(addItems))
6328     }
6329   })
6330 
6331   $(".formAddressPurchase [required]").change(function(){
6332     const t = $(this)
6333     const p = t.parent()
6334     const v = t.val()
6335     if(v !== '') {
6336       p.removeClass("error")
6337     }
6338   })
6339 
6340   $("#save-card").click(async function(){
6341     const parent = $(this).parents(".sectionPurchase")
6342     const next = parent.next(".sectionPurchase")
6343     $(this).find("span").addClass("loading")
6344     const card = await saveCard()
6345     console.log(card, 'ssaveCCC')
6346     if(card?.status === 200 || card?.status === 201) {
6347       $(".scanCard").removeClass("hide")
6348       $(this).find("span").removeClass("loading")
6349       parent.addClass("hide")
6350       next.removeClass("hide")
6351       if(next.hasClass("purchaseAddon")) {
6352         $("[data-addon=upsell-all]").click()
6353         console.log("clarity event addons")
6354         window.clarity("event", `${productType} add-ons`)
6355         // Ensure addon items are loaded when entering addon popup
6356         setTimeout(function() {
6357           if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6358             $("[data-addon=upsell-all]").trigger("click")
6359           }
6360         }, 100)
6361       }
6362       if(next.hasClass("purchaseAddress")) {
6363         $("#zip").select2()
6364       }
6365     }
6366   })
6367 
6368   $("#skip-card").click(async function(){
6369     $("#greetingCard [data-properties]").val("")
6370     $("#properties-photo").val("")
6371     $("#properties-video").val("")
6372     const parent = $(this).parents(".sectionPurchase")
6373     const next = parent.next(".sectionPurchase")
6374     parent.addClass("hide")
6375     next.removeClass("hide")
6376     // $("#itemCards").html("")
6377     removeImage()
6378     removeVideo()
6379     if(next.hasClass("purchaseAddon")) {
6380       $("[data-addon='upsell-all']").click()
6381       console.log("clarity event addons")
6382       window.clarity("event", `${productType} add-ons`)
6383       // Ensure addon items are loaded when entering addon popup
6384       setTimeout(function() {
6385         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6386           $("[data-addon='upsell-all']").trigger("click")
6387         }
6388       }, 100)
6389     }
6390     if(next.hasClass("purchaseAddress")) {
6391       $("#zip").select2()
6392     }
6393   })
6394 
6395   $("#msgCard").click(async function(){
6396       $(this).parent().addClass("loading")
6397       let occasion = $(".selected[data-occassion]").data("occassion")
6398       occasion = occasion?.replace("greeting-card-", "")
6399       const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`);
6400       const d = data?.data
6401       for(let i = 0; i < d.length; i++) {
6402         const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1);
6403         const greeting = d[num]?.Greeting
6404         $(".greetingCard textarea").val(greeting)
6405         $(this).parent().removeClass("loading")
6406       }
6407       $("#save-card").attr("disabled", false)
6408     })
6409 
6410   $(".sectionPurchaseBoard .next-purchase-button").click(function(){
6411     const parent = $(this).parents(".sectionPurchase")
6412     const next = parent.next(".sectionPurchase")
6413     parent.addClass("hide")
6414     next.removeClass("hide")
6415   })
6416 
6417   $("#editCard").click(function(){
6418     $(".custom-card").show()
6419     $(".preview-card").hide()
6420   })
6421 
6422   $("#first_name, #last_name").change(function(){
6423     const v = $(this).val()
6424     const first_name = $("#first_name").val()
6425     const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : ''
6426     $("[data-properties=nama-penerima]").val(first_name+last_name)
6427   })
6428 
6429   $("[data-occassion]").click(function(){
6430       const t = $(this)
6431       const p = t.parents(".sectionPurchase")
6432       // $(".greetingCard").addClass("disabled")
6433       const occasion = t.data("occassion")
6434       loadItemOccasion(t, occasion)
6435   })
6436 
6437   $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){
6438       const id = $(this).parent(".item-card").data("id")
6439       const t = $(this).parent(".item-card")
6440       const target = t.find("input")
6441       const v = $('.item-card input[type="radio"]:checked').val();
6442       $("#itemCards .item-card").removeClass("selected")
6443       t.addClass("selected")
6444       $("#itemCards .item-card").find("input").attr("name", "")
6445       if(target.length > 0) {
6446           target.attr("name", "id[]")
6447           $("#properties-card").val(id)
6448           $(".greetingCard").removeClass("disabled")
6449           $("#skip-card").attr("disabled", false)
6450       } else {
6451           $("#properties-card").val("")
6452       }
6453   })
6454 
6455   $("#itemCards").delegate(".item-without-card label", "click", function(){
6456     const parent = $(this).parents(".sectionPurchase")
6457     const next = parent.next(".sectionPurchase")
6458     $(".greetingCard").addClass("disabled")
6459     parent.addClass("hide")
6460     next.removeClass("hide")
6461     $("[data-addon=upsell-all]").click()
6462     $("#zip").select2()
6463   })
6464 
6465   $("[data-properties=ucapan]").keyup(function(){
6466     const v = $(this).val()
6467     const p = $(this).parents(".sectionPurchase")
6468     $(".purchaseAddress").find(".greetingCard textarea").val(v)
6469     if(v.length > 3) {
6470       p.find(".next-purchase-button").attr("disabled", false)
6471     } else {
6472       p.find(".next-purchase-button").attr("disabled", true)
6473     }
6474   })
6475 
6476   $("[data-properties=penerima]").keyup(function(){
6477     const v = $(this).val()
6478     $(".purchaseAddress").find("[data-properties=penerima]").val(v)
6479   })
6480 
6481   $("[data-properties=pengirim]").keyup(function(){
6482     const v = $(this).val()
6483     $(".purchaseAddress").find("[data-properties=pengirim]").val(v)
6484   })
6485 
6486   $(document).click(function(e){
6487 
6488      if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6489      // $('#popupCart').fadeOut('slow');
6490     // location.reload()
6491   });
6492 
6493   $(".toggleAddonCart").click(function(){
6494     const p = $(this).parent(".itemAddonCart")
6495     p.toggleClass("open")
6496   })
6497 
6498   $(".btnViewCart").click(function(){
6499     window.location.href = "https://outerbloom.com/cart";
6500   })
6501 
6502   $(".btnViewCheckout").click(async function(){
6503     $(this).find("span").addClass("loading")
6504     let zip = $("#zip").val()
6505     const first_name = $("#first_name").val()
6506     const last_name = $("#last_name").val()
6507     const company = $("#company").val() !== '' ? $("#company").val() : ''
6508     const address1 = $("#delivery_address").val()
6509     const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : ''
6510     zip = zip && zip !== '' ? zip?.split(' - ')[0] : ''
6511     const phone = $("#recipient_number").val()
6512     const city = $("#cities").val()
6513     const province = $("#province").val()
6514     const country = 'Indonesia'
6515     const ver = Date.parse(new Date())
6516     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}`
6517 
6518     const clear = await fetch(`/cart/clear.js`, {method: 'POST'})
6519     if(clear.status === 200) {
6520       const savedItem = window.localStorage.getItem("items");
6521       const items = JSON.parse(savedItem)
6522       const addItems = await additem(items)
6523       console.log(addItems, 'new addItems')
6524       if(addItems) {
6525         window.location.href = `https://outerbloom.com/checkout?${params}`;
6526       }
6527     }
6528   })
6529 
6530   $(".btnContinueShopping").click(function(){
6531     window.location.href = "https://outerbloom.com/";
6532   })
6533 
6534     if (isIOS) {
6535       $(".empty-state-card").click(function(){
6536         $("#input-foto").trigger("click")
6537       })
6538       $(".btn-upload-image").click(function(){
6539         $("#input-foto").trigger("click")
6540       })
6541       $("[for=input-video]").click(function(){
6542         $("#input-video").trigger("click")
6543       })
6544       $(".btn-upload-papan").click(function(){
6545         $("#logoPapan").trigger("click")
6546       })
6547     }
6548   
6549     $("[data-properties]").each(function(){
6550       const select = $(this).parents(".form-group").find("select")
6551       $(this).change(function(){
6552         const name = $(this).data("properties")
6553         const v = $(this).val()
6554         if (name == 'telepon-penerima') {
6555           let phone = v.replace(/[^0-9]/g, '')
6556           $(this).val(phone);
6557           $("#properties-telepon-penerima").val(phone)
6558           $('.iti__search-input').val('-') 
6559         } else {
6560           $("#properties-" + name).val(v)
6561         }
6562       })
6563       select.on("change", function(){
6564         const name = $(this).data("properties")
6565         const v = $(this).val()
6566         $("#properties-" + name).val(v)
6567       })
6568     })
6569 
6570     $("#show_note").click(function(){
6571       nameq = $("#properties-nama-penerima").val()
6572       dear = $("#properties-kartu-nama-penerima").val()
6573       card = $("[data-properties=ucapan]").val()
6574       sender = $("#properties-kartu-nama-pengirim").val()
6575       photo = $("#properties-photo").val()
6576       video = $("#properties-video").val()
6577       updateCard(nameq, dear, card, sender, photo, video, status)
6578     })
6579 
6580     $(".remove-image").click(function(e){
6581       e.preventDefault()
6582       $(this).find("img").show()
6583       removeImage()
6584     })
6585 
6586     $(".remove-media").click(function(e){
6587       e.preventDefault()
6588       $(this).find("img").show()
6589       removeVideo()
6590     })
6591 
6592     
6593 
6594     $("[data-delivery_method]").click(function(e){
6595       e.preventDefault()
6596       const t = $(this)
6597       const data = t.data("delivery_method")
6598       $("[data-delivery_method]").removeClass("selected")
6599       t.addClass("selected")
6600       $("#cities").val("")
6601       $("#properties-delivery-date").val("-")
6602       $("#deliveryDate button").removeClass("selected")
6603       $("#full-date").val("Full Calendar →")
6604       $("#propDeliveryDate").val("")
6605       const step3 = $("#step-3")
6606       if(data.match('PickUp')) {
6607         $(".selfpickup-point").show()
6608         step3.find("[data-finished=false]").hide()
6609         $("#panel-4").hide()
6610         step3.find("[data-finished=true]").show()
6611         $("#cities").attr("required", false)
6612         $("#form-group-city").hide()
6613         $("#row-delivery-time").hide()
6614         $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-")
6615         $("#propDeliveryTime").attr("required", false)
6616         // $("#deliveryDate").find("button:first-child").addClass("stop")
6617         $(".form-selfpickup").show()
6618         $(".form-delivery").hide()
6619         $(".form-delivery").find("input, textarea, select").val("")
6620         $(".form-delivery").find("input, textarea, select").attr("required", false)
6621         $("#properties-shipping").val("0")
6622         $("#noteDeliveryDate").hide()
6623         $(".form-delivery .form-control").attr("required", false)
6624         $("#stepNav4").hide()
6625         
6626         $("#deliveryDate").find("button:nth-child(1)").addClass("stop")
6627         
6628         
6629         
6630         if(timeOfDay >= 16.01){
6631           $("#deliveryDate").find("button:nth-child(2)").addClass("stop")
6632         }
6633       } else {
6634         
6635         
6636         $("#deliveryDate").find("button:nth-child(1)").removeClass("stop")
6637         step3.find("[data-finished=false]").show()
6638         $("#panel-4").show()
6639         step3.find("[data-finished=true]").hide()
6640         $("#cities").attr("required", true)
6641         $(".selfpickup-point").hide()
6642         $("#form-group-city").show()
6643         $("#cities").val('').trigger('change');
6644         $("#properties-kota-pengiriman").val("-")
6645         
6646         $("#row-delivery-date, #row-delivery-time").show()
6647         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6648         $("#deliveryDate").find("button").removeClass("stop")
6649         $(".form-selfpickup").hide()
6650         $(".form-delivery").show()
6651         $(".form-delivery").find("input, textarea, select").attr("required", true)
6652         $(".form-delivery [data-properties]").attr("readonly", false)
6653         $("#properties-kodepos").val("-")
6654         $("#properties-alamat-penerima").val("-")
6655         $(".form-delivery .form-control").attr("required", true)
6656         $(this).parents(".setup-content").attr("id", "step-1")
6657         
6658         $("#stepNav4").show()
6659       }
6660     })
6661 
6662     $("[name=selfpickup]").click(function(){
6663         const p = $(this).parents(".row-pickup")
6664         const pickupCity = $("input[name='selfpickup']:checked").val();
6665         const pickupAddress = $("input[name='selfpickup']:checked").data("address");
6666         const pickupZip = $("input[name='selfpickup']:checked").data("zip");
6667 
6668         $(".row-pickup").removeClass("selected")
6669         p.addClass("selected")
6670         
6671         $("#properties-kota-pengiriman").val(pickupCity)
6672         $("#province").val("Jakarta")
6673         $("#properties-alamat-penerima").val(pickupAddress)
6674         $("#properties-kodepos").val(pickupZip)
6675     })
6676 
6677     $("#cities").change(function(e){
6678       e.preventDefault()
6679       $(this).parent(".row").find("p.error").remove()
6680       $("#full-date").val("Full Calendar")
6681       $("#deliveryDate, #deliveryDateFull label ").show()
6682       $("#deliveryDateFull").removeClass("filled")
6683       $(".btnChangeDeliveryDate").addClass("hide")
6684       $("#full-date").prop('disabled', false);
6685       $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success")
6686       $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true)
6687       const step3 = $("#step-3")
6688       $("#cityNote").remove()
6689       $("#noteDeliveryDate").hide()
6690       $("#noteDeliveryDate").empty()
6691       let v = $(this).val()
6692       let v2 = $('option:selected', this).attr('data-city');
6693       let v3 = $('option:selected', this).attr('data-province');
6694       let price = $('option:selected', this).attr('data-price');
6695       $("#country").val(v)
6696       $("#properties-kota-pengiriman").val(v)
6697       $("#properties-shipping").val(price)
6698       $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected")
6699       $("#properties-delivery-date, #properties-delivery-time").val("-")
6700       $("#propDeliveryDate, #propDeliveryTime").val("")
6701       let note = $('option:selected', this).attr('data-note');
6702       if(v === 'Kota Lainnya') {
6703         $("#noteDeliveryDate").show()
6704         $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.")
6705         $("#zip").attr("required", false)
6706         $("#zip").hide()
6707         $("#propDeliveryDate, #propDeliveryTime").attr("required", false)
6708         $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-")
6709         $("#row-delivery-date, #row-delivery-time").hide()
6710         $("#properties-shipping").val("")
6711         // $(this).parents(".setup-content").attr("id", "step-2")
6712         
6713       } else {
6714         $("#noteDeliveryDate").hide()
6715         $("#zip").attr("required", true)
6716         $("#zip").show()
6717         $("#row-delivery-date, #row-delivery-time").show()
6718         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6719         $("#deliveryDate").find("button").removeClass("stop")
6720         // $(this).parents(".setup-content").attr("id", "step-1")
6721         
6722       }
6723       
6724       
6725       
6726       // if(v !== 'Jakarta') {
6727       //   $("[data-type=upsell]").hide()
6728       // } else {
6729       //   $("[data-type=upsell]").show()
6730       // }
6731       // $('.collection-addons')[0].swiper.update();
6732       
6733       
6734       getProvince(v)
6735       $("#zip").html(`<option value="">Choose Postal Code</option>`)
6736       renderZip(v, v2, v3)
6737       
6738       disabledSameDay()
6739       
6740 
6741       if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') {
6742         
6743         $("#cardOccasion, #navAddon, .collection-addons").hide()
6744         
6745         $("[data-addon=giftcard]").show()
6746         $("[data-addon=giftcard]").click()
6747         $("#itemAddons").show()
6748         $("#flower-step").addClass("nonjadetabek")
6749       } else {
6750         $("#cardOccasion, #navAddon, .collection-addons").show()
6751         $("[data-addon=all]").click()
6752         $("#flower-step").removeClass("nonjadetabek")
6753       }
6754       
6755         if(v !== '') {
6756           $("#personalizeBtn .btn").attr("disabled", false)
6757         } else {
6758           $("#personalizeBtn .btn").attr("disabled", true)
6759         }
6760       
6761     })
6762 
6763     $("#zip").change(function(e){
6764       let v = $(this).val()
6765       var city = $("#cities").find('option:selected');
6766       $("#properties-kodepos").val(v)
6767       if(city === 'Kota Lainnya') {
6768         $(this).attr("required", true)
6769         $("#recipient-address").val("")
6770       }
6771     })
6772 
6773     
6774       var minDate = +7
6775       
6776     
6777 
6778     $("#full-date").datepicker({
6779       minDate,
6780       dateFormat: 'Mdd_yy', //Nop22_2021,
6781       
6782       beforeShowDay: disabledays,
6783       
6784       onSelect: function (date) {
6785         $("#deliveryDate, #deliveryDateFull label ").hide()
6786         $("#deliveryDateFull").addClass("filled")
6787         $(".btnChangeDeliveryDate").removeClass("hide")
6788         $("#full-date").prop('disabled', true);
6789         $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date);
6790         $(".date-full").addClass("selected")
6791         $(".date-single, .calendar-group").removeClass("selected")
6792         $("#propDeliveryTime").val('')
6793         $("#properties-delivery-time").val('-')
6794         $(".time-single").removeClass("selected")
6795         
6796         
6797       }
6798     });
6799 
6800     $(".btnChangeDeliveryDate").click(function(){
6801         $("#deliveryDate, #deliveryDateFull label ").show()
6802         $("#deliveryDateFull").removeClass("filled")
6803         $(".btnChangeDeliveryDate").addClass("hide")
6804         $("#full-date").prop('disabled', false);
6805     })
6806   
6807     $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){
6808       e.preventDefault()
6809       $(this).parents("#row-delivery-date").find("p.error").remove()
6810       const fulldate = $(this).data("fulldate")
6811       const day = $(this).data("day")
6812       const date = $(this).data("date")
6813       const month = $(this).data("month")
6814       const year = $(this).data("year")
6815       const off_pagi = $(this).data("offpagi")
6816       const off_siang = $(this).data("offsiang")
6817       const off_Malam = $(this).data("offMalam")
6818       $(".calendarbutton").removeClass("selected")
6819       $(this).addClass("selected")
6820       $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`)
6821       $("#propDeliveryTime").val('')
6822       $("#properties-delivery-time").val('-')
6823       $(".calendarbutton2").removeClass("selected")
6824       $("#full-date").val("Full Calendar")
6825 
6826       
6827       if(off_pagi && timeOfDay > off_pagi) {
6828         $("[data-time=Morning]").attr("disabled", true)
6829       } else {
6830         $("[data-time=Morning]").attr("disabled", false)
6831       }
6832       if(off_siang && timeOfDay > off_siang) {
6833         $("[data-time=Afternoon]").attr("disabled", true)
6834       } else {
6835         $("[data-time=Afternoon]").attr("disabled", false)
6836       }
6837       
6838 
6839       
6840     })
6841     
6842     if(today === 14 && timeOfDay > 17.00) {
6843       $("#deliveryDate button:first-child").attr("disabled", true)
6844     }
6845   
6846     $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){
6847       e.preventDefault()
6848       const time = $(this).data("time")
6849       const date = $("#propDeliveryDate").val()
6850       if(date == '') {
6851         return alert('Silakan pilih tanggal terlebih dahulu')
6852       }
6853       $(".calendarbutton2").removeClass("selected")
6854       $(this).addClass("selected")
6855       $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`)
6856     })
6857       
6858     $('textarea.has-limit, input.has-limit').keyup(function () {
6859       max = this.getAttribute("maxlength");
6860       let len = $(this).val().length;
6861       let limit = $(this).siblings(".limit");
6862       if (len > max) {
6863         alert('you have reached the limit');
6864       } else {
6865         limit.text(`${len}/${max}`);
6866       }
6867     });
6868     
6869     $("#button-action-step .btn").click(function(){
6870       $(this).find("span").text("Processing...");
6871     });
6872 
6873     $(".finishBtn").on('click', function() {
6874       $(this).addClass("is-adding");
6875       // $(this).click();
6876     });
6877 
6878     $('.setup-panel .nav-item a.btn-success').trigger('click');
6879 
6880     $("#button-action .btn").click(function(){
6881       $("#flower-step").addClass("block");
6882       $("#button-action").hide();
6883     });
6884         
6885     $(".close-how-order").click(function(){
6886       $("#flower-step").removeClass("block");
6887       $("#button-action").show();
6888     });
6889 
6890     $("#input-foto, #input-video").change(function(e){
6891       readURL(this);
6892     });
6893 
6894     $("#logoPapan").change(function(){
6895       readURLPapan(this);
6896     });
6897 
6898     $("#address-upload").change(async function(){
6899       const upload_address = await readURLAddress(this)
6900       if(upload_address) {
6901         const url = upload_address.url
6902         $(".props-address-upload").val(url)
6903         $(".form-address").addClass("address-uploaded")
6904         $(".form-address-upload").addClass("uploaded")
6905 
6906         $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false)
6907       }
6908     })
6909 
6910     $(".address-manualy").click(function(){
6911       $(".form-address-upload").removeClass("uploaded");
6912       $(".photo-address").hide();
6913       $(".form-address").removeClass("address-uploaded")
6914       $("#formAddressPurchase").find(".form-control").attr("required", true)
6915     });
6916 
6917     $(".case-video-preview").delegate(".replace-video", "click", function(){
6918       $("#input-video").trigger("click")
6919     })
6920 
6921     $('.date-single').click(function(e) {
6922       e.preventDefault();
6923       $('.date-single').removeClass('selected');
6924       $('#full-date').removeClass('selected');
6925       $(this).addClass('selected');
6926       $('#full-date').html('Full' + '<br/>' + 'Calendar');
6927     });
6928     $('#full-date').click(function(e){
6929       e.preventDefault();
6930       $('.date-single').removeClass('selected');
6931       $(this).addClass('selected');
6932     });
6933     
6934     // $("tr").each(function(){
6935     //   if($(this).text().match('SKU')) {
6936     //     $(".sku-product").html($(this).parents("table").html())
6937     //   }
6938     // })
6939     
6940     $("#product-image").scroll(function(){
6941       $(".desc-add").each(function(){
6942         const img = $(this).find("img")
6943         const src = img.data("src")
6944         img.attr("src", src)
6945       })
6946     })
6947 
6948     $(".product-fixed").hide()
6949     
6950     let target = $("#personalizeBtn")
6951     
6952 
6953     $(".product-meta").scroll(function() {
6954         if ($(window).scrollTop() >= target.offset().top ) {
6955             $(".product-fixed").addClass("show")
6956         } else {
6957           $(".product-fixed").removeClass("show")
6958         }
6959     });
6960 
6961     $(window).scroll(function() {
6962         if ($(window).scrollTop() >= target.offset().top ) {
6963             $(".product-fixed").addClass("show")
6964         } else {
6965           $(".product-fixed").removeClass("show")
6966         }
6967     });
6968   });
6969 </script>
6969
6970 
6971   
6971<script>
6972     //
6973   </script>
6973
6974 
6975 
6975<script>
6976   $(document).ready(function(){
6977     $('table tr td').each(function(){
6978       var texto = $(this).text();
6979       var nextto = $(this).next("td");
6980       var sku = $("#data-sku").val()
6981       if(texto == 'SKU'){
6982         nextto.text(sku)
6983       }
6984     });
6985     
6986     $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan");
6987     $(".stamped-summary-actions-newreview").text("Tulis Review");
6988     $("#tab-questions").text("Pertanyaan");
6989     
6990     $(".freeship .icon").click(function(){
6991       $(".fs-content").slideToggle();
6992       $(this).parents(".freeship").toggleClass("expand");
6993     });
6994     
6995     var $easyzoom = $('.easyzoom').easyZoom();
6996     // Setup thumbnails example
6997     var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom');
6998     $('.thumbnails').on('click', 'a', function(e) {
6999       var $this = $(this);
7000       e.preventDefault();
7001       // Use EasyZoom's `swap` method
7002       api1.swap($this.data('standard'), $this.attr('href'));
7003     });
7004 
7005     $('#playerID').click(function(){
7006       var videoURL = $('#VdoID').attr('src'),
7007           dataplay = $('#VdoID').attr('data-play');
7008 
7009       //for check autoplay
7010       //if not set autoplay=1
7011       if(dataplay == 0 ){
7012         $('#VdoID').attr('src',videoURL+'?autoplay=1');
7013         $('#VdoID').attr('data-play',1);
7014       }
7015       else{
7016         var videoURL = $('#VdoID').attr('src');
7017         videoURL = videoURL.replace("?autoplay=1", "");
7018         $('#VdoID').prop('src','');
7019         $('#VdoID').prop('src',videoURL);
7020 
7021         $('#VdoID').attr('data-play',0);
7022       }
7023 
7024     });
7025     
7026     $(".product-photo-thumb-video").click(function(e){
7027       e.preventDefault();
7028 
7029       var newEmbed = $(this).attr('href');
7030       $("#featured-image-product").addClass("img-video");
7031       $("#ProductPhotoImg").hide();
7032       $("#featured-image-product .video").show();
7033       $("#featured-image-product iframe").attr('src', newEmbed);
7034       $("#VdoID")[0].src += "&autoplay=1";
7035     });
7036     $(".product-single__thumbnail").click(function(evt){
7037       evt.preventDefault();
7038       $("#featured-image-product").removeClass("img-video");
7039       $("#ProductPhotoImg").show();
7040       $("#featured-image-product .video").hide();
7041       $("#featured-image-product iframe").attr('src', '');
7042     });
7043     
7044     if($('#product-meta .short-desc > div').length >= 1){
7045       //console.log('div detected')
7046       var replacer = $('#product-meta .short-desc > div').contents();
7047       $('#product-meta .short-desc > div').replaceWith(replacer);
7048 
7049       var cAssured =  $('.c-assured').detach();
7050       cAssured.insertAfter('.meta-sds .stock-info');
7051     }
7052 
7053     
7054     
7055     $(".heading-toggle").click(function(){
7056       $(this).parent().toggleClass("open")
7057       
7058     });
7059   });
7060 </script>
7060
7061 
7062 
7063   
7063<script type="application/json" id="ProductJson-Product">
7064         
7065         {"id":8144957800663,"title":"TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform."}
7066   </script>
7066
7067   
7068     
7068<script type="application/json" id="VariantJson-Product">
7069       [
7070         
7071           {
7072              "incoming": false,
7073              "next_incoming_date": null
7074           }
7075         
7076       ]
7077     </script>
7077
7078   
7079 
7080 
7081 
7082 </div>
7083 
7084 
7085 
7085<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7085
7086 <style>
7087     .stamped-review-header-title,
7088     .stamped-review-header .author,
7089     .stamped-review-content-body,
7090     .stamped-sort-select,
7091     .stamped-review-header .verified-badge[data-type=buyer]:after,
7092     .stamped-review-header-byline,
7093     .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;}
7094     .stamped-review {margin-bottom: 0;}
7095     .stamped-review-body {padding-left: 65px;}
7096     .stamped-review:first-child {padding-top: 25px;}
7097     .stamped-review-content {clear: none;}
7098     .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;}
7099     .stamped-review-reply-body {padding-left: 65px;}
7100     .stamped-review-header .author {text-transform: capitalize;}
7101     .stamped-questions .stamped-review-content {padding-left: 65px;}
7102 
7103     .stamped-pagination {margin: 20px 0 0;}
7104     .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;}
7105     .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;}
7106     .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;}
7107     .stamped-pagination li:hover a {background: #ddd;}
7108     .stamped-pagination .next {border-right: 1px solid #ccc;}
7109     .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;}
7110     .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;}
7111 
7112     #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;}
7113     #stamped-pagination-question span {font-size: 14px;}
7114     #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;}
7115     #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;}
7116     .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;}
7117     .stamped-pagination-prev, .stamped-pagination-next {position: inherit;}
7118     .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;}
7119 
7120     @media (max-width: 480px){
7121       .stamped-review-reply {margin-left: 0!important;}
7122       select.stamped-sort-select {font-size: 13px!important;}
7123     }
7124 
7125   #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content {
7126       display: block !important;
7127   }
7128 </style>
7129 
7129<script>
7130     var selectCallback = function(variant, selector) {
7131       timber.productPage({
7132         money_format: "Rp {{amount_no_decimals}}",
7133         variant: variant,
7134         selector: selector
7135       });
7136     };
7137 
7138     jQuery(function($) {
7139       new Shopify.OptionSelectors('productSelect', {
7140         product:
7141 
7142 
7143 
7144 
7145 
7146 {"id":8144957800663,"title":"TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eTIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform."},
7147         onVariantSelected: selectCallback,
7148         enableHistoryState: true
7149       });
7150 
7151       // Add label if only one product option and it isn't 'Title'. Could be 'Size'.
7152       
7153 
7154       // Hide selectors if we only have 1 variant and its title contains 'Default'.
7155       
7156         $('.selector-wrapper').hide();
7157       
7158     });
7159 </script>
7159
7160 
7161 
7162 
7163   
7163<script type="application/ld+json">
7164     {
7165     "@context": "http://schema.org",
7166     "@type": "Product",
7167 "offers": {
7168 "@type": "Offer",
7169 "availability":"https://schema.org/InStock",
7170 "price": 835000,
7171 "priceValidUntil": "05-10-2025",
7172 "priceCurrency": "IDR",
7173 "url": "https://updatedatatogel.com/"
7174 },
7175 "brand": {
7176 "@type": "Brand",
7177 "name": "Outerbloom Florist"
7178 },
7179 "sku": "8144957800663",
7180 "gtin13": "Jawa",
7181 "name": "TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor",
7182 "description": "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.",
7183 "category": "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.",
7184 "url": "https://updatedatatogel.com/",
7185 "image": {
7186 "@type": "ImageObject",
7187 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7188 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7189 "name": "TIKUS4D: Situs dengan Koleksi Game Online Pilihan, Update Terbaru dan Tips Gacor",
7190 "width": 1024,
7191 "height": 1024
7192 }
7193     }
7194   </script>
7194
7195 
7196 
7197 
7198 
7199         
7200 
7200<script id="bss-ltap-hide-price" type="text/javascript" >
7201 !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)}))}
7201)),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)}
7201)),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()}
7201if("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)}
7201if(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");
7201c&&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
7201-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");
7201i&&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
7201--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
7201opify.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");
7201e.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=
7201o.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");
7201if(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();
7201let 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()}]);
7202 </script>
7202
7203 
7204       </main>
7205       
7206       <div id="shopify-section-newsletter" class="shopify-section"><br>
7207   <style>
7208     #shopify-section-newsletter {
7209       background: url('https://image.banker88.live/uploads/688366a5f33400a778ad05b5.webp');
7210       background-attachment: fixed;
7211       margin-bottom: 0;
7212     }
7213     input:-webkit-autofill,
7214     input:-webkit-autofill:hover,
7215     input:-webkit-autofill:active,
7216     input:-webkit-autofill:focus {
7217       -webkit-box-shadow:0 0 0 50px white inset;
7218       -webkit-text-fill-color: #ffffff;
7219     }
7220     .section-newsletter {
7221       max-width: 800px;
7222       margin: auto;
7223       padding: 50px 0;
7224     }
7225     .section-newsletter h2 {
7226       font-weight: 700;
7227       font-size: 24px;
7228     }
7229     .section-newsletter input[type="email"] {
7230       width: 100%;
7231       text-align: center;
7232       border: none;
7233       border-bottom: 1px solid #ffffff;
7234       font-size: 16px;
7235       color: #757575;
7236       background-color: #eeeeee;
7237     }
7238     .section-newsletter .row label {
7239       font-size: 14px;
7240       cursor: pointer;
7241     }
7242     .section-newsletter .radio-inline input {
7243       width: auto;
7244     }
7245     .section-newsletter .btn {
7246       width: 130px;
7247       border: 1px solid #ffffff;
7248       box-shadow: none;
7249       font-size: 16px;
7250       font-weight: 500;
7251       text-transform: uppercase;
7252     }
7253     .section-newsletter form {
7254       margin: 30px 0 60px;
7255     }
7256     .section-newsletter input[type="radio"] {
7257       position: absolute;
7258       width: 1px;
7259       height: 1px;
7260     }
7261     .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label {
7262       position: relative;
7263       padding-left: 28px;
7264       cursor: pointer;
7265       line-height: 20px;
7266       display: inline-block;
7267       color: #666;
7268     }
7269     .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before {
7270       content: '';
7271       position: absolute;
7272       left: 0;
7273       top: 0;
7274       width: 18px;
7275       height: 18px;
7276       border: 1px solid #ddd;
7277       border-radius: 100%;
7278       background: #fff;
7279     }
7280     .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after {
7281       content: '';
7282       width: 12px;
7283       height: 12px;
7284       background: #ffffff;
7285       position: absolute;
7286       top: 3px;
7287       left: 3px;
7288       border-radius: 100%;
7289       -webkit-transition: all 0.2s ease;
7290       transition: all 0.2s ease;
7291     }
7292     .section-newsletter [type="radio"]:not(:checked) + label:after {
7293       opacity: 0;
7294       -webkit-transform: scale(0);
7295       transform: scale(0);
7296     }
7297     .opt-newsletter {display:none;}
7298     .footer-newsletter p, .footer-newsletter p a {
7299       color: #757575;
7300     }
7301     @media (max-width:991px){
7302       .section-newsletter h2 {
7303         font-size: 32px;
7304       }
7305       .section-newsletter input {
7306         width: 300px;
7307         font-size: 14px;
7308       }
7309       .section-newsletter {
7310         padding: 50px 20px;
7311       }
7312     }
7313     @media (max-width: 480px){
7314       .section-newsletter input[type="email"] {font-size: 16px;}
7315     }
7316   </style>
7317  <style>
7318 .icon-img-footer {
7319     width: 80px; 
7320     padding: 0px 5px;
7321 }
7322 @media (min-width: 768px) {
7323     .icon-img-footer {
7324         width: 120px; 
7325     }
7326 }
7327 @media (min-width: 992px) {
7328     .icon-img-footer {
7329         width: 120px; 
7330     }
7331 }
7332 
7333   .button-login-daftar {
7334                         display: grid;
7335                         grid-template-columns: repeat(2, 1fr);
7336                         font-weight: 700;
7337                     }
7338                     .button-login-daftar a {
7339                         text-align: center;
7340                     }
7341                     .login,
7342                     .register {
7343                         color: #fff000;
7344                         padding: 15px 10px;
7345                         font-size: 23px;
7346                     }
7347                     .login,
7348                     .login-button {
7349                         background: linear-gradient(to bottom,#000000 0,#000000 100%);
7350                         border: 2px solid #fff000;
7351                     }
7352                     .register,
7353                     .register-button {
7354                         background: linear-gradient(to bottom,#000000 0,#000000 100%);
7355                         border: 2px solid #fff000;
7356                     }
7357 
7358 
7359 
7360 </style>
7361 
7362 <!-- wp:html -->
7363  
7363<script>
7364         document.addEventListener('DOMContentLoaded',
7365             function(){const faqItems=document.querySelectorAll('.faq-item');
7366             faqItems.forEach(item=>{const question=item.querySelector('.faq-question');
7367             question.addEventListener('click',
7368             ()=>{const isActive=item.classList.contains('active');
7369             faqItems.forEach(otherItem=>{otherItem.classList.remove('active')});
7370             if(!isActive){item.classList.add('active')}})})});
7371         </script>
7371
7372 
7373 
7374             <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1">
7375             </div>
7376 <div class="faq-section">
7377<h2>FAQ</h2>
7378<div class="faq-container">
7379    <div class="faq-item">
7380        <button class="faq-question">1. Mengapa banyak pengguna mencari informasi tentang TIKUS4D?<span></span></button>
7381        <div class="faq-answer">
7382            <p>TIKUS4D menarik perhatian karena menyediakan berbagai koleksi game online dalam satu platform, lengkap dengan informasi permainan, update terbaru, dan panduan yang mudah diakses oleh pengguna.</p>
7383        </div>
7384    </div>
7385
7386    <div class="faq-item">
7387        <button class="faq-question">2. Apa yang membuat koleksi game di TIKUS4D menarik untuk dijelajahi?<span></span></button>
7388        <div class="faq-answer">
7389            <p>Koleksi game di TIKUS4D menghadirkan beragam pilihan permainan dengan informasi yang membantu pengguna mengenali kategori, fitur, dan karakteristik masing-masing game sebelum menentukan pilihan.</p>
7390        </div>
7391    </div>
7392
7393    <div class="faq-item">
7394        <button class="faq-question">3. Apakah TIKUS4D menyediakan update game terbaru?<span></span></button>
7395        <div class="faq-answer">
7396            <p>TIKUS4D menyediakan pembaruan informasi game secara berkala, sehingga pengguna dapat mengikuti perkembangan permainan, fitur terbaru, serta informasi lain yang tersedia di dalam platform.</p>
7397        </div>
7398    </div>
7399
7400    <div class="faq-item">
7401        <button class="faq-question">4. Di mana pengguna dapat menemukan tips dan informasi permainan TIKUS4D?<span></span></button>
7402        <div class="faq-answer">
7403            <p>Berbagai tips, panduan, dan informasi permainan TIKUS4D dapat ditemukan pada bagian informasi yang tersedia di platform. Pengguna dapat membacanya terlebih dahulu untuk mengenal permainan sebelum menentukan pilihan.</p>
7404        </div>
7405    </div>
7406
7407    <div class="faq-item">
7408        <button class="faq-question">5. Apakah TIKUS4D nyaman digunakan melalui perangkat mobile?<span></span></button>
7409        <div class="faq-answer">
7410            <p>TIKUS4D dapat diakses melalui berbagai perangkat seperti smartphone, tablet, laptop, dan komputer desktop. Selama terhubung ke internet, pengguna dapat membuka platform dengan mudah dari perangkat yang digunakan.</p>
7411        </div>
7412    </div>
7413
7414    <div class="faq-item">
7415        <button class="faq-question">6. Bagaimana cara memilih game yang sesuai di TIKUS4D?<span></span></button>
7416        <div class="faq-answer">
7417            <p>Pengguna dapat melihat kategori, fitur, serta informasi setiap permainan di TIKUS4D terlebih dahulu. Dengan memahami karakteristik masing-masing game, pengguna dapat menentukan pilihan berdasarkan preferensi pribadi.</p>
7418        </div>
7419    </div>
7420</div>
7421 
7422             </div>
7423 
7424         </div>
7425 
7426     </div>
7427 
7428 
7429 <div class="overlay overlay-cart"></div>
7430 <div id="CartDrawer" class="drawer drawer--right">
7431   <div class="drawer__header pl-2 pr-2">
7432     <div class="drawer__icon-cart display-table-cell">
7433       <a href="/cart" class="">
7434         <svg class="icon icon-cart" version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" 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.
7434005-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>
7435       </a>
7436     </div>
7437     <div class="drawer__title h4">Keranjang Belanja</div>
7438     <div class="drawer__close js-drawer-close">
7439       <button type="button">
7440         <svg class="icon icon-close" version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" width="32" height="32" viewBox="0 0 32 32">
7441 <title>icon-close</title>
7442 <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>
7443 </svg>
7444       </button>
7445     </div>
7446   </div>
7447   <div id="CartContainer" class="p-2"></div>
7448 </div>
7449 
7450 
7450<script>
7451       
7452     </script>
7452
7453       
7453<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7453
7454       <!-- /snippets/ajax-cart-template.liquid -->
7455 
7456   
7456<script id="CartTemplate" type="text/template">
7457   
7458     <form action="/cart" method="post" novalidate class="cart ajaxcart">
7459       <div class="ajaxcart__inner" {{ cart.item_count }}>
7460         {{#items}}
7461         <div class="ajaxcart__product">
7462           <div class="ajaxcart__row" data-line="{{line}}">
7463             <div class="grid">
7464               <div class="grid__item one-quarter">
7465                 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
7466               </div>
7467               <div class="grid__item three-quarters">
7468                 <p class="d-block mb-3">
7469                   <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a>
7470                   {{#if variation}}
7471                     <span class="ajaxcart__product-meta p">{{variation}}</span>
7472                   {{/if}}
7473                   {{#properties}}
7474                     {{#each this}}
7475                       {{#if this}}
7476                         <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span>
7477                       {{/if}}
7478                     {{/each}}
7479                   {{/properties}}
7480                   
7481                 </p>
7482                 <div class="grid--full display-table">
7483                   <div class="grid__item display-table-cell one-half">
7484                     <div class="ajaxcart__qty">
7485                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
7486                         <svg version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" 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>
7487                         <span class="visually-hidden">Kurangi jumlah barang</span>
7488                       </button>
7489                       <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]*">
7490                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
7491                         <svg version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" 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>
7492                         <span class="visually-hidden">Tambahkan jumlah barang</span>
7493                       </button>
7494                     </div>
7495                   </div>
7496                   <div class="grid__item display-table-cell one-half text-right">
7497                     {{#if discountsApplied}}
7498                       <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small>
7499                       <br><span class="h4">{{{linePrice}}}</span>
7500                     {{else}}
7501                       <span class="h4">{{{linePrice}}}</span>
7502                     {{/if}}
7503                     </div>
7504                   </div>
7505                   {{#if discountsApplied}}
7506                     <div class="grid--full display-table">
7507                       <div class="grid__item text-right">
7508                         {{#each discounts}}
7509                           <small class="ajaxcart-item__discount">{{ this.title }}</small><br>
7510                         {{/each}}
7511                       </div>
7512                     </div>
7513                   {{/if}}
7514                   </div>
7515                 </div>
7516               </div>
7517             </div>
7518           </div>
7519         </div>
7520         {{/items}}
7521       </div>
7522       <div class="ajaxcart__footer">
7523         <div class="grid--full cart-subtotal py-2">
7524             <p>Subtotal</p>
7525             <h3 class="primary">{{{totalPrice}}}</h3>
7526           {{#if totalCartDiscount}}
7527             <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p>
7528           {{/if}}
7529         </div>
7530         
7531         <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a>
7532         
7533         <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.10.000 <a href="/pages/pengiriman">detail</a></p>
7534       </div>
7535     </form>
7536   
7537   </script>
7537
7538   
7538<script id="AjaxQty" type="text/template">
7539   
7540     <div class="ajaxcart__qty">
7541       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7542         <svg version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="24" viewBox="0 0 32 32">
7543             <title>icon-minus</title>
7544             <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>
7545         </svg>
7546         <span class="visually-hidden">Kurangi jumlah barang</span>
7547           </button>
7548               <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
7549           <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7550         <svg version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" 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>
7551         <span class="visually-hidden">Tambahkan jumlah barang</span>
7552       </button>
7553     </div>
7554   
7555   </script>
7555
7556   
7556<script id="JsQty" type="text/template">
7557   
7558     <div class="js-qty mx-auto mt-2">
7559       <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7560         <svg version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" 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>
7561         <span class="visually-hidden">Kurangi jumlah barang</span>
7562       </button>
7563       <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
7564       <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7565         <svg version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" 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>
7566         <span class="visually-hidden">Tambahkan jumlah barang</span>
7567       </button>
7568     </div>
7569   
7570   </script>
7570
7571 
7572 <style>
7573   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button,
7574   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button,
7575   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;}
7576   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7577   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7578   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;}
7579   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7580   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7581   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;}
7582 </style>
7583       
7583<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7583
7584       
7584<script>
7585         jQuery(function($) {
7586           ajaxCart.init({
7587             formSelector: '#AddToCartForm',
7588             cartContainer: '#CartContainer',
7589             addToCartSelector: '#AddToCartXX',
7590             cartCountSelector: '#CartCount, #CartCount2',
7591             cartCostSelector: '#CartCost',
7592             moneyFormat: "Rp {{amount_no_decimals}}"
7593           });
7594           });
7595 
7596           jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) {
7597             // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM
7598             timber.RightDrawer.open();
7599           });
7600       </script>
7600
7601     
7602 
7603 
7604 
7605 <style>
7606   /** Search AutoComplete **/
7607   .resultsearch .ui-menu-item[data-cat="Collection"],
7608   .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;}
7609   .resultsearch .ui-widget.ui-widget-content {
7610     width: 100%;
7611     top: 48px;
7612     border: none;
7613     box-shadow: 0 4px 8px rgba(255, 255, 255, 0.3);
7614   }
7615   .resultsearch .ui-menu-item {text-align: left;}
7616   .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;}
7617   .ui-state-active {
7618     border: none!important;
7619     background-color: #fafafa!important;
7620     color: #000!important;
7621   }
7622   .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;}
7623   .ui-menu .ui-menu-item {line-height: normal;}
7624 </style>
7625 
7625<script>
7626 $(window).load(function(){
7627 
7628   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;}
7629 
7630   $.widget("custom.catcomplete", $.ui.autocomplete, {
7631     _renderMenu: function (ul, items) {
7632       // have search reults split up in categories
7633       var that = this,
7634           currentCategory = "";
7635       $.each(items, function (index, item) {
7636         if (item.category != currentCategory) {
7637           ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>");
7638           currentCategory = item.category;
7639         }
7640         that._renderItemData(ul, item);
7641       });
7642     }
7643   });
7644 
7645   // higlight searched for term
7646   $.ui.autocomplete.prototype._renderItem = function( ul, item ) {
7647     var term = this.element.val(),
7648         html = item.label.replace( term, "<b>$&</b>" );
7649     return $( "<li>" )
7650     .append(format(item))
7651     .appendTo( ul );
7652   };
7653 
7654 
7655   var data = [
7656       { 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
7656weetbox 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: " " }
7656,{ 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: " " }
7656,{ 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: " " }
7656,{ 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
7656dal", 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-
7656hampers", 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
7656o-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: " " }
7656,{ 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: " " }
7656,{ 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: " " }
7656,{ 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: " " }
7656,{ 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: " " }
7656,{ 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: " " }
7656,{ 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: " " }
7656,{ 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: "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "TIKUS4D hadir dengan koleksi game online pilihan, update informasi terbaru, serta tips gacor yang bisa menjadi referensi untuk mengenal berbagai pilihan game dalam satu platform. 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", c
7656ategory: "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-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: " " }
7656,{ 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
7656dal", 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: " " },
7657       { 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" }
7657,{ 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" }
7657,{ 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" }
7658   ];
7659 
7660              
7661         $( ".header-input-search" ).catcomplete({
7662          appendTo: ".searchResult",source: function(request, response) {
7663             var results = $.ui.autocomplete.filter(data, request.term);
7664             var predicate = function () {
7665                 var counter = { Collection: 0, Produk: 0 };
7666             var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);}
7667             return fn
7668             }();
7669             response(results.filter(predicate));
7670           },
7671           minLength:1,
7672            //results are clickable
7673           select: function( event, ui ) {window.location = ui.item.url;}
7674 });
7675 $( ".header-input-search2" ).catcomplete({
7676         appendTo: ".searchResult2",
7677                    source: function(request, response) {
7678                     var results = $.ui.autocomplete.filter(data, request.term);
7679                     var predicate = function () {
7680                         var counter = { Collection: 0, Produk: 0 };
7681               var fn = function(item) {
7682               counter[item.category] += 1;
7683   return (counter[item.category] <= 5);
7684 }
7685                return fn
7686                }();
7687 response(results.filter(predicate));
7688 },
7689   minLength:1,
7690         //results are clickable
7691         select: function( event, ui ) {
7692           window.location = ui.item.url;
7693         }
7694 });
7695 });
7696 </script>
7696
7697 
7698     
7698<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7698
7699 
7699<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7699
7700 
7701 
7701<script>
7702   ( function() {
7703     var youtube = document.querySelectorAll( ".youtube" );
7704     for (var i = 0; i < youtube.length; i++) {
7705       var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg";
7706       var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg";
7707       var image = new Image();
7708       image.src = source;
7709       image.setAttribute("data-src", datasource);
7710       image.classList.add("swiper-lazy");
7711       image.addEventListener( "load", function() {
7712         youtube[ i ].appendChild( image );
7713       }( i ) );
7714       youtube[i].addEventListener( "click", function() {
7715         var iframe = document.createElement( "iframe" );
7716         iframe.setAttribute( "width", "480" );
7717         iframe.setAttribute( "height", "480" );
7718         iframe.setAttribute( "frameborder", "0" );
7719         iframe.setAttribute( "allowfullscreen", "" );
7720         iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" );
7721         this.innerHTML = "";
7722         this.appendChild( iframe );
7723       } );
7724     };
7725 
7726   } )();
7727 
7728   /* Lazy Load */
7729   const mainLazyLoad = new LazyLoad({threshold:400});
7730   $(document).ready(function(){
7731 
7732     $("selectxxx").addClass("needsclick");
7733     FastClick.attach(document.body);
7734     
7735     var $customSelects = $('.select-search');
7736     $customSelects.select2({
7737       templateResult: function(result, container) {
7738         if (!result.id) {
7739           return result.text;
7740         }
7741         container.className += ' needsclick';
7742         return result.text;
7743       }
7744     });
7745     $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');});
7746     $(document).on('select2:open', () => {
7747       document.querySelector('.select2-search__field').focus();
7748     });
7749     
7750 
7751     $(".overlay").click(function(){
7752       $(".js-drawer-close").click();
7753     });
7754     $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){
7755       $("html").toggleClass("nav_open");
7756     });
7757     
7758     $('.swatch-element label').on('click', function(){
7759       var srcImg = $(this).data('src');
7760       $('#thumb-image-product .product-single__thumbnail').each(function(){
7761         if ($(this).attr("href") == srcImg) {
7762           $(this).trigger('click');
7763         }
7764       });
7765     });
7766     var defaultValue = $(".swatch input:checked").val()
7767     
7768     $('#purchaseProduct .swatch [type=radio]').change(function() {
7769       var optionIndex = $(this).closest('.swatch').attr('data-option-index');
7770       var optionValue = $(this).val();
7771       console.log(optionIndex, optionValue)
7772       var value = parseInt(optionValue.split(' ')[0])
7773       $(this)
7774       .closest('#purchaseProduct')
7775       .find('.single-option-selector')
7776       .eq(optionIndex)
7777       .val(optionValue)
7778       .trigger('change');
7779       
7780     });
7781     
7782   });
7783   $(document).ready(function(){
7784     $(".nav-search a").click(function(e){
7785       e.preventDefault();
7786       $(".icon-navsearch").toggle();
7787       $(".icon-navclose").toggle();
7788       $(".site-nav__item > .site-nav__link").toggle();
7789       $(".open-search").toggle();
7790       $(".open-search input").focus();
7791     });
7792     $(".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'>");
7793     if ($(window).width() < 768) {
7794       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7795       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7796       $(".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'>");
7797     } else {
7798       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7799       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7800       $(".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'>");
7801     }
7802     $(".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'>");
7803     $(".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'>");
7804   });
7805 </script>
7805
7806 
7807 
7808     
7809 
7810     
7810<script type="text/javascript">
7811       var wishlistpage = 0;
7812        
7813        var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>";
7814     </script>
7814
7815     
7816       <!-- Remove duplicate wishlist.js reference -->
7817       <style>
7818   .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)}}
7819 </style>
7820 
7821 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog">
7822   <div class="modal-dialog" role="document">
7823     <div class="modal-content">        
7824       <div class="modal-body">Your Wishlist is empty!</div>
7825       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>          
7826     </div>
7827   </div>
7828 </div> 
7829 
7830 <div class="wishlist-model">
7831   <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true">
7832     <div class="modal-dialog white-modal">
7833       <div class="modal-content">
7834         <div class="modal-header">
7835           <button type="button" class="close" data-dismiss="modal" aria-label="Close">
7836             <svg class="icon icon-close" version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" width="32" height="32" viewBox="0 0 32 32">
7837 <title>icon-close</title>
7838 <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>
7839 </svg>
7840           </button>
7841         </div>
7842         <div class="modal-body">
7843           <div class="wishlist-left">
7844             <div class="wishlist-note">
7845               <span class="cirle"><svg version="1.1" xmlns="https://updatedatatogel.com/image/logo.webp" width="32" height="32" viewBox="0 0 32 32">
7846 <title>icon-check</title>
7847 <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>
7848 </svg></span>
7849               Product added to <a href="/pages/wish-list">Wishlist</a>
7850             </div>
7851             <div class="wishlist-product">
7852               <div class="product-left">
7853                 <div class="wishlist-image"></div>
7854               </div>
7855               <div class="product-right">
7856                 <div class="wishlist-name"></div>
7857                 <div class="wishlist-price"></div>
7858               </div>
7859             </div>
7860           </div>
7861           <div class="wishlist-right">
7862             <div class="wishlist-cart">
7863               <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data">                  
7864                 <div class="others-bottom">
7865                   <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a>
7866                   <button type="submit" name="add" id="AddToCart" class="btn btn-cta">
7867                     <span id="AddToCartText" class="">Beli Sekarang</span>
7868                   </button>
7869                 </div>
7870                 <div id="wishlist-variants-container" class="variants-wrapper"></div> 
7871                 <div class="quantity-content">
7872                   <label>QTY</label>
7873                   <input type="number" size="5" class="" name="quantity" value="1" />
7874                 </div>
7875               </form> 
7876             </div>
7877           </div>
7878         </div>
7879       </div>
7880     </div>
7881   </div>
7882 </div>
7883 
7884     
7885     <style>
7886        .stamped-badge[data-rating="0.0"]{display: none !Important;}
7887        
7888         div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a {
7889           border-radius: 0px;
7890       }
7891           .stamped-review-body {
7892           padding-left: 0px !important;
7893       }
7894           #product-reviews .stamped-header:after {
7895             display:none !Important;
7896           }
7897       #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget {
7898           font-family:inherit !important;
7899       }
7900     </style>
7901 
7902     
7903 
7904 <div id='stamped-rewards-init' class='stamped-rewards-init'
7905   data-key-public=''
7906 
7907 ></div>
7908 
7909     
7909<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
7909
7910     <!-- Remove duplicate jQuery reference and load wishlist script properly -->
7911     
7911<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
7911
7912 
7913     
7913<script>
7914       function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); }
7915     </script>
7915
7916     
7916<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
7916<style>
7917   .jss59 {
7918     background-color: rgba(0, 0, 0, 0.6);
7919   }
7920   .MuiBackdrop-root {
7921     top: 0;
7922     left: 0;
7923     right: 0;
7924     bottom: 0;
7925     display: flex;
7926     z-index: -1;
7927     position: fixed;
7928     align-items: center;
7929     justify-content: center;
7930     background-color: rgba(0, 0, 0, 0.5);
7931     -webkit-tap-highlight-color: transparent;
7932   }
7933   .MuiDialog-scrollPaper {
7934     display: flex;
7935     align-items: center;
7936     justify-content: center;
7937   }
7938   .MuiDialog-container {
7939     height: 100%;
7940     outline: 0;
7941   }
7942   .MuiPaper-elevation24 {
7943     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);
7944   }
7945   .MuiDialog-paper {
7946     margin: 32px;
7947     position: relative;
7948     overflow-y: auto;
7949   }
7950   .MuiDialog-paperScrollPaper {
7951     display: flex;
7952     max-height: calc(100% - 64px);
7953     flex-direction: column;
7954   }
7955   .MuiDialog-paperWidthSm {
7956     max-width: 600px;
7957   }
7958   #location-lock-dialog {
7959     top: 20%;
7960     left: 0;
7961     right: 0;
7962     width: 30%;
7963     margin: 0px auto;
7964     display: block;
7965     padding: 30px;
7966     z-index: 99999;
7967     position: fixed;
7968     font-size: 14px;
7969     background: rgb(0, 0, 0);
7970     box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px;
7971     text-align: center;
7972     font-family: Roboto, Arial, sans-serif;
7973     line-height: 1;
7974     border-radius: 8px;
7975     -webkit-font-smoothing: subpixel-antialiased;
7976   }
7977   .MuiButtonBase-root {
7978     color: inherit;
7979     border: 0;
7980     cursor: pointer;
7981     margin: 0;
7982     display: inline-flex;
7983     outline: 0;
7984     padding: 0;
7985     position: relative;
7986     align-items: center;
7987     user-select: none;
7988     border-radius: 0;
7989     vertical-align: middle;
7990     -moz-appearance: none;
7991     justify-content: center;
7992     text-decoration: none;
7993     background-color: transparent;
7994     -webkit-appearance: none;
7995     -webkit-tap-highlight-color: transparent;
7996   }
7997   .MuiIconButton-root {
7998     flex: 0 0 auto;
7999     color: rgba(0, 0, 0, 0.54);
8000     padding: 12px;
8001     overflow: visible;
8002     font-size: 1.5rem;
8003     text-align: center;
8004     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8005     border-radius: 50%;
8006   }
8007   .MuiIconButton-label {
8008     width: 100%;
8009     display: flex;
8010     align-items: inherit;
8011     justify-content: inherit;
8012   }
8013   .MuiSvgIcon-root {
8014     fill: currentColor;
8015     width: 1em;
8016     height: 1em;
8017     display: inline-block;
8018     font-size: 1.5rem;
8019     transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8020     flex-shrink: 0;
8021     user-select: none;
8022   }
8023   .MuiTouchRipple-root {
8024     top: 0;
8025     left: 0;
8026     right: 0;
8027     bottom: 0;
8028     z-index: 0;
8029     overflow: hidden;
8030     position: absolute;
8031     border-radius: inherit;
8032     pointer-events: none;
8033   }
8034   .jss36 {
8035     color: #222222;
8036     font-size: 24px;
8037     font-family: Roboto, Arial, sans-serif;
8038     font-weight: 500;
8039   }
8040   .jss37 {
8041     color: #555555;
8042     padding: 10px 0px 0px;
8043     font-size: 14px;
8044   }
8045   .MuiFormGroup-root {
8046     display: flex;
8047     flex-wrap: wrap;
8048     flex-direction: column;
8049   }
8050   .MuiFormGroup-row {
8051     flex-direction: row;
8052   }
8053   .jss63 {
8054     width: 85%;
8055     margin: 15px auto;
8056     display: flex;
8057     padding: 11px 0px 0px;
8058     justify-content: space-evenly;
8059   }
8060   .MuiFormControlLabel-root {
8061     cursor: pointer;
8062     display: inline-flex;
8063     align-items: center;
8064     margin-left: -11px;
8065     margin-right: 16px;
8066     vertical-align: middle;
8067     -webkit-tap-highlight-color: transparent;
8068   }
8069   .jss70 {
8070     margin: 0;
8071   }
8072   .MuiButtonBase-root {
8073     color: inherit;
8074     border: 0;
8075     cursor: pointer;
8076     margin: 0;
8077     display: inline-flex;
8078     outline: 0;
8079     padding: 0;
8080     position: relative;
8081     align-items: center;
8082     user-select: none;
8083     border-radius: 0;
8084     vertical-align: middle;
8085     -moz-appearance: none;
8086     justify-content: center;
8087     text-decoration: none;
8088     background-color: transparent;
8089     -webkit-appearance: none;
8090     -webkit-tap-highlight-color: transparent;
8091   }
8092   .MuiIconButton-root {
8093     flex: 0 0 auto;
8094     color: rgba(0, 0, 0, 0.54);
8095     padding: 12px;
8096     overflow: visible;
8097     font-size: 1.5rem;
8098     text-align: center;
8099     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8100     border-radius: 50%;
8101   }
8102   .MuiIconButton-colorSecondary {
8103     color: #f50057;
8104   }
8105   .jss71 {
8106     padding: 9px;
8107   }
8108   .MuiRadio-root {
8109     color: rgba(0, 0, 0, 0.54);
8110   }
8111   .jss64 {
8112     padding: 2px;
8113   }
8114   .MuiRadio-colorSecondary.Mui-checked {
8115     color: #f50057;
8116   }
8117   .MuiIconButton-label {
8118     width: 100%;
8119     display: flex;
8120     align-items: inherit;
8121     justify-content: inherit;
8122   }
8123   .MuiTypography-root {
8124     margin: 0;
8125   }
8126   .MuiTypography-body1 {
8127     font-size: 18px;
8128     font-family: Roboto,sans-serif;
8129     font-weight: 400;
8130     line-height: 1.5;
8131   }
8132   .location-popup_area-block__sp9Ws {
8133     display: -moz-box;
8134     display: flex;
8135     -moz-box-orient: vertical;
8136     -moz-box-direction: normal;
8137     flex-direction: column;
8138     -moz-box-pack: center;
8139     justify-content: center;
8140     position: relative;
8141     margin: 10px 10% 0;
8142   }
8143   .location-popup_pin-search-box__3l5mJ {
8144     width: 100%;
8145     display: -moz-box;
8146     display: flex;
8147     -moz-box-align: center;
8148     align-items: center;
8149   }
8150   .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q {
8151     position: absolute;
8152     z-index: 999;
8153   }
8154   .location-popup_place-icon__jSG0Q {
8155     color: #ffffff;
8156     padding-left: 8px;
8157   }
8158   .location-popup_place-icon__jSG0Q svg {
8159     width: 18px;
8160     height: 18px;
8161   }
8162   .location-popup_cancel-icon__FHujU {
8163     color: #fff;
8164     right: 10px;
8165     width: 16px;
8166     cursor: pointer;
8167     height: 16px;
8168     display: none;
8169     padding: 5px;
8170     position: absolute;
8171     background: #999;
8172     text-align: center;
8173     border-radius: 50%;
8174   }
8175   .location-popup_pin-search-box__3l5mJ>div>select {
8176 /*     -webkit-box-shadow: 0 0 10px #ffffff;
8177     box-shadow: 0 0 10px #ffffff; */
8178     text-transform: capitalize;
8179     border: 1px solid #ffffff;
8180     color: #ffffff;
8181     width: 100%;
8182     margin: 0;
8183     display: -moz-box;
8184     display: flex;
8185     padding: 0 30px;
8186     -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8187     -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8188     animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8189     font-size: 16px;
8190     border-radius: 4px;
8191     height: 44px;
8192     moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8193     webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8194   }
8195   .MuiButtonBase-root {
8196     color: inherit;
8197     border: 0;
8198     cursor: pointer;
8199     margin: 0;
8200     display: inline-flex;
8201     outline: 0;
8202     padding: 0;
8203     position: relative;
8204     align-items: center;
8205     user-select: none;
8206     border-radius: 0;
8207     vertical-align: middle;
8208     -moz-appearance: none;
8209     justify-content: center;
8210     text-decoration: none;
8211     background-color: transparent;
8212     -webkit-appearance: none;
8213     -webkit-tap-highlight-color: transparent;
8214   }
8215   .MuiButton-root {
8216     color: rgba(0, 0, 0, 0.87);
8217     padding: 6px 16px;
8218     font-size: 0.875rem;
8219     min-width: 64px;
8220     box-sizing: border-box;
8221     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;
8222     font-family: Roboto,sans-serif;
8223     font-weight: 500;
8224     line-height: 1.75;
8225     border-radius: 4px;
8226     text-transform: uppercase;
8227   }
8228   .MuiButton-contained {
8229     color: rgba(0, 0, 0, 0.87);
8230     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);
8231     background-color: #e0e0e0;
8232   }
8233   .MuiButtonBase-root.Mui-disabled {
8234     cursor: default;
8235     pointer-events: none;
8236   }
8237   .MuiButton-label {
8238     width: 100%;
8239     display: inherit;
8240     align-items: inherit;
8241     justify-content: inherit;
8242   }
8243   .cartButton_login_content__2j1f7 {
8244     display: -moz-box;
8245     display: flex;
8246     text-align: center;
8247     z-index: 9;
8248     font-size: 18px;
8249     font-weight: 500;
8250     color: #fff;
8251   }
8252   
8253   .jss35 {
8254     top: 5px;
8255     right: 5px;
8256     padding: 4px;
8257     position: absolute;
8258     border-radius: 50%;
8259   }
8260   .jss67 {
8261     cursor: pointer;
8262     font-size: 15px;
8263     line-height: 1.3;
8264     padding-left: 5px;
8265   }
8266   .jss69 {
8267     color: #222222;
8268   }
8269   .jss80 {
8270     color: #fff;
8271     width: 100%;
8272     height: 52px;
8273     padding: 11px 16px;
8274     font-size: 18px;
8275     min-width: 88px;
8276     min-height: 36px;
8277     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;
8278     font-weight: 500;
8279     line-weight: 1em;
8280     border-radius: 4px;
8281     text-transform: uppercase;
8282     background-color: #ff6600;
8283   }
8284   @media (min-width: 991px){
8285     .cartButton_login_content__2j1f7 {
8286         font-weight: 500;
8287     }
8288   }
8289 
8290   @media (max-width: 992px) {
8291     #location-lock-dialog {
8292       width: 100%;
8293       top: auto;
8294       bottom: 0;
8295       padding-left: 0;
8296       padding-right: 0;
8297     }
8298     .MuiFormGroup-row {
8299       display: block
8300     }
8301     .MuiIconButton-label input {
8302       margin: 0;
8303     }
8304   }
8305 </style>
8306 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;">
8307   <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div>
8308   <div tabindex="0" data-test="sentinelStart"></div>
8309   <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;">
8310     <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog">
8311       <div class="jss31 undefined" id="location-lock-dialog">
8312         <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8313           <span class="MuiIconButton-label">
8314             <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
8315               <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>
8316             </svg>
8317           </span>
8318           <span class="MuiTouchRipple-root"></span>
8319         </button>
8320         <div>
8321           <div class="jss36">Select Delivery Location</div>
8322           <div class="jss37">Select a delivery location to see product availability</div>
8323         </div>
8324         <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup">
8325           <label for="jabodetabek" class="MuiFormControlLabel-root jss45">
8326             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false">
8327               <span class="MuiIconButton-label">
8328                 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location">
8329                 <span class="jss41"></span>
8330               </span>
8331               <span class="MuiTouchRipple-root"></span>
8332             </span>
8333             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8334               <span class="jss67 jss69">Jabodetabek</span>
8335             </span>
8336           </label>
8337           <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45">
8338             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false">
8339               <span class="MuiIconButton-label">
8340                 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location">
8341                 <span class="jss40"></span>
8342               </span>
8343               <span class="MuiTouchRipple-root"></span>
8344             </span>
8345             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8346               <span class="jss67 jss68">Outside Jabodetabek</span>
8347             </span>
8348           </label>
8349         </div>
8350         <div>
8351           <div class="MuiGrid-root location-popup_area-block__sp9Ws">
8352             <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false">
8353               <div class="MuiGrid-root location-popup_place-icon__jSG0Q">
8354                 <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>
8355               </div>
8356               <div class="MuiGrid-root location-popup_cancel-icon__FHujU false">
8357                 <i class="material-icons location-popup_clear-pin__s1dRc">close</i>
8358               </div>
8359               <div style="width: 100%;">
8360                 <select id="choose-location" class="form-control">
8361                   <option value="">Choose Location</option>
8362                   <option value="jakarta">Jakarta</option>
8363                   <option value="bogor">Bogor</option>
8364                   <option value="depok">Depok</option>
8365                   <option value="tangerang">Tangerang</option>
8366                   <option value="bekasi">Bekasi</option>
8367                 </select>
8368               </div>
8369             </div>
8370           </div>
8371         </div>
8372         <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="">
8373           <span class="MuiButton-label">
8374             <span class=""></span>
8375             <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span>
8376           </span>
8377         </button>
8378       </div>
8379     </div>
8380   </div>
8381   <div tabindex="0" data-test="sentinelEnd"></div>
8382 </div>
8383 
8384 
8384<script>
8385   const jabodetabek = [
8386     {
8387       "code": "jakarta",
8388       "city": "jakarta",
8389       "zip": []
8390     },
8391     {
8392       "code": "bogor",
8393       "city": "bogor",
8394       "zip": []
8395     },
8396     {
8397       "code": "depok",
8398       "city": "depok",
8399       "zip": []
8400     },
8401     {
8402       "code": "tangerang",
8403       "city": "tangerang",
8404       "zip": []
8405     },
8406     {
8407       "code": "bekasi",
8408       "city": "bekasi",
8409       "zip": []
8410     }
8411   ]
8412   let cityNonJabodetabek = [
8413     
8414
8415     
8416     
8417     "pengiriman_aceh",
8418     
8419     
8420     
8421     
8422     
8423     "pengiriman_ambon",
8424     
8425     
8426     
8427     
8428     
8429     "pengiriman_atambua",
8430     
8431     
8432     
8433     
8434     
8435     "pengiriman_badung",
8436     
8437     
8438     
8439     
8440     
8441     "pengiriman_bali",
8442     
8443     
8444     
8445     
8446     
8447     "pengiriman_balikpapan",
8448     
8449     
8450     
8451     
8452     
8453     "pengiriman_bandar lampung",
8454     
8455     
8456     
8457     
8458     
8459     "pengiriman_bandung",
8460     
8461     
8462     
8463     
8464     
8465     "pengiriman_bandung barat",
8466     
8467     
8468     
8469     
8470     
8471     "pengiriman_banjarmasin",
8472     
8473     
8474     
8475     
8476     
8477     "pengiriman_banyumas",
8478     
8479     
8480     
8481     
8482     
8483     "pengiriman_banyuwangi",
8484     
8485     
8486     
8487     
8488     
8489     "pengiriman_batam",
8490     
8491     
8492     
8493     
8494     
8495     
8496     
8497     
8498     
8499     "pengiriman_biak",
8500     
8501     
8502     
8503     
8504     
8505     "pengiriman_binjai",
8506     
8507     
8508     
8509     
8510     
8511     "pengiriman_blitar",
8512     
8513     
8514     
8515     
8516     
8517     "pengiriman_blora",
8518     
8519     
8520     
8521     
8522     
8523     
8524     
8525     
8526     
8527     "pengiriman_bojonegoro",
8528     
8529     
8530     
8531     
8532     
8533     "pengiriman_boyolali",
8534     
8535     
8536     
8537     
8538     
8539     "pengiriman_bukittinggi",
8540     
8541     
8542     
8543     
8544     
8545     "pengiriman_buleleng",
8546     
8547     
8548     
8549     
8550     
8551     "pengiriman_ciamis",
8552     
8553     
8554     
8555     
8556     
8557     "pengiriman_cianjur",
8558     
8559     
8560     
8561     
8562     
8563     "pengiriman_cibinong",
8564     
8565     
8566     
8567     
8568     
8569     "pengiriman_cikarang",
8570     
8571     
8572     
8573     
8574     
8575     "pengiriman_cikupa",
8576     
8577     
8578     
8579     
8580     
8581     "pengiriman_cilacap",
8582     
8583     
8584     
8585     
8586     
8587     "pengiriman_cileunyi",
8588     
8589     
8590     
8591     
8592     
8593     "pengiriman_cimahi",
8594     
8595     
8596     
8597     
8598     
8599     "pengiriman_cirebon",
8600     
8601     
8602     
8603     
8604     
8605     "pengiriman_ciwidey",
8606     
8607     
8608     
8609     
8610     
8611     "pengiriman_deli serdang",
8612     
8613     
8614     
8615     
8616     
8617     "pengiriman_demak",
8618     
8619     
8620     
8621     
8622     
8623     "pengiriman_denpasar",
8624     
8625     
8626     
8627
8628     
8629     
8630     "pengiriman_garut",
8631     
8632     
8633     
8634     
8635     
8636     "pengiriman_gianyar",
8637     
8638     
8639     
8640     
8641     
8642     "pengiriman_gresik",
8643     
8644     
8645     
8646     
8647     
8648     "pengiriman_gunung kidul",
8649     
8650     
8651     
8652
8653     
8654     
8655     "pengiriman_jambi",
8656     
8657     
8658     
8659     
8660     
8661     "pengiriman_jayapura",
8662     
8663     
8664     
8665     
8666     
8667     "pengiriman_jember",
8668     
8669     
8670     
8671     
8672     
8673     "pengiriman_jepara",
8674     
8675     
8676     
8677     
8678     
8679     "pengiriman_jombang",
8680     
8681     
8682     
8683     
8684     
8685     "pengiriman_karanganyar",
8686     
8687     
8688     
8689     
8690     
8691     "pengiriman_karawang",
8692     
8693     
8694     
8695     
8696     
8697     "pengiriman_karo",
8698     
8699     
8700     
8701     
8702     
8703     "pengiriman_kebumen",
8704     
8705     
8706     
8707     
8708     
8709     "pengiriman_kediri",
8710     
8711     
8712     
8713     
8714     
8715     "pengiriman_keerom",
8716     
8717     
8718     
8719     
8720     
8721     "pengiriman_kendal",
8722     
8723     
8724     
8725     
8726     
8727     "pengiriman_klaten",
8728     
8729     
8730     
8731     
8732     
8733     "pengiriman_kudus",
8734     
8735     
8736     
8737     
8738     
8739     "pengiriman_kupang",
8740     
8741     
8742     
8743     
8744     
8745     "pengiriman_lainnya",
8746     
8747     
8748     
8749     
8750     
8751     "pengiriman_lamongan",
8752     
8753     
8754     
8755     
8756     
8757     "pengiriman_lampung",
8758     
8759     
8760     
8761     
8762     
8763     "pengiriman_lampung barat",
8764     
8765     
8766     
8767     
8768     
8769     "pengiriman_lembang",
8770     
8771     
8772     
8773     
8774     
8775     "pengiriman_lombok",
8776     
8777     
8778     
8779     
8780     
8781     "pengiriman_lumajang",
8782     
8783     
8784     
8785     
8786     
8787     "pengiriman_madiun",
8788     
8789     
8790     
8791     
8792     
8793     "pengiriman_magelang",
8794     
8795     
8796     
8797     
8798     
8799     "pengiriman_majalengka",
8800     
8801     
8802     
8803     
8804     
8805     "pengiriman_makassar",
8806     
8807     
8808     
8809     
8810     
8811     "pengiriman_malang",
8812     
8813     
8814     
8815     
8816     
8817     "pengiriman_manado",
8818     
8819     
8820     
8821     
8822     
8823     "pengiriman_medan",
8824     
8825     
8826     
8827     
8828     
8829     "pengiriman_mengwi",
8830     
8831     
8832     
8833     
8834     
8835     "pengiriman_mojokerto",
8836     
8837     
8838     
8839     
8840     
8841     "pengiriman_nganjuk",
8842     
8843     
8844     
8845     
8846     
8847     "pengiriman_ngawi",
8848     
8849     
8850     
8851     
8852     
8853     "pengiriman_padang",
8854     
8855     
8856     
8857     
8858     
8859     "pengiriman_palembang",
8860     
8861     
8862     
8863     
8864     
8865     "pengiriman_pasuruan",
8866     
8867     
8868     
8869     
8870     
8871     "pengiriman_pati",
8872     
8873     
8874     
8875     
8876     
8877     "pengiriman_pekalongan",
8878     
8879     
8880     
8881     
8882     
8883     "pengiriman_pekanbaru",
8884     
8885     
8886     
8887     
8888     
8889     "pengiriman_pemalang",
8890     
8891     
8892     
8893     
8894     
8895     "pengiriman_ponorogo",
8896     
8897     
8898     
8899     
8900     
8901     "pengiriman_pontianak",
8902     
8903     
8904     
8905     
8906     
8907     "pengiriman_probolinggo",
8908     
8909     
8910     
8911     
8912     
8913     "pengiriman_purbalingga",
8914     
8915     
8916     
8917     
8918     
8919     "pengiriman_purwakarta",
8920     
8921     
8922     
8923     
8924     
8925     "pengiriman_purwokerto",
8926     
8927     
8928     
8929     
8930     
8931     "pengiriman_rembang",
8932     
8933     
8934     
8935     
8936     
8937     "pengiriman_riau",
8938     
8939     
8940     
8941     
8942     
8943     "pengiriman_salatiga",
8944     
8945     
8946     
8947     
8948     
8949     "pengiriman_samarinda",
8950     
8951     
8952     
8953     
8954     
8955     "pengiriman_semarang",
8956     
8957     
8958     
8959     
8960     
8961     "pengiriman_sentani",
8962     
8963     
8964     
8965     
8966     
8967     "pengiriman_serang",
8968     
8969     
8970     
8971     
8972     
8973     "pengiriman_sidoarjo",
8974     
8975     
8976     
8977     
8978     
8979     "pengiriman_singkawang",
8980     
8981     
8982     
8983     
8984     
8985     "pengiriman_sragen",
8986     
8987     
8988     
8989     
8990     
8991     "pengiriman_subang",
8992     
8993     
8994     
8995     
8996     
8997     "pengiriman_sukabumi",
8998     
8999     
9000     
9001     
9002     
9003     "pengiriman_sumbawa",
9004     
9005     
9006     
9007     
9008     
9009     "pengiriman_surabaya",
9010     
9011     
9012     
9013     
9014     
9015     "pengiriman_surakarta solo",
9016     
9017     
9018
9019     
9020     "pengiriman_tasikmalaya",
9021     
9022     
9023     
9024     
9025     
9026     "pengiriman_tegal",
9027     
9028     
9029     
9030     
9031     
9032     "pengiriman_timika",
9033     
9034     
9035     
9036     
9037     
9038     "pengiriman_wamena",
9039     
9040     
9041     
9042     
9043     
9044     "pengiriman_wiyung",
9045     
9046     
9047     
9048     
9049     
9050     "pengiriman_wonokromo",
9051     
9052     
9053     
9054     
9055     
9056     "pengiriman_yogyakarta",
9057 
9058   ]
9059   console.log(cityNonJabodetabek)
9060   let non_jabodetabek = []
9061   for(var i=0;i<cityNonJabodetabek.length;i++) {
9062     const obj = {
9063       "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'),
9064       "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'),
9065       "zip": []
9066     }
9067     non_jabodetabek.push(obj)
9068   }
9069   let current_location = getCookie("location_delivery")
9070   $("[name=location]").change(function(){
9071     let v = $(this).val()
9072     let option = []
9073     if(v == 'Jabodetabek') {
9074       for(var i=0;i<jabodetabek.length;i++) {
9075         const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>`
9076         option.push(jabodetabekHtml)
9077       }
9078       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9079     } else {
9080       for(var i=0;i<non_jabodetabek.length;i++) {
9081         const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>`
9082         option.push(nonjabodetabekHtml)
9083       }
9084       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9085     }
9086   })
9087 
9088   $("#location-lock-submit").click(function(e){
9089     let select = $("#choose-location")
9090     let value = select.val().toLowerCase()
9091     console.log(value)
9092     if(select.val() == "") {
9093       return alert("Choose Your Location")
9094       e.preventDefault()
9095     }
9096     setCookie("location_delivery",value,1000000);
9097     
9098     location.reload();
9099     
9100   })
9101 
9102   $("#close-popup-delivery").click(function(){
9103     $(".MuiDialog-root").hide()
9104     if(!current_location){
9105       setCookie("location_delivery","jakarta",1000000);
9106       $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta")
9107     }
9108   })
9109   $("#loc_delivery, #loc_delivery_mobile").click(function(){
9110     $(".MuiDialog-root").show()
9111   })
9112 
9113   
9114   if(!current_location){
9115     
9116   } else {
9117     $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location)
9118     console.log(current_location)
9119     $("#choose-location").each(function(){
9120       if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){
9121         $("#jabodetabek").trigger("click")
9122       } else {
9123         $("#non-jabodetabek").trigger("click")
9124       }
9125       $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected")
9126     })
9127   }
9128 
9129   // 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'){
9130   //   $("#timeMalam").attr("disabled", false)
9131   // } else {
9132   //   $("#timeMalam").attr("disabled", true)
9133   // }
9134 
9135   if(current_location && current_location != 'jakarta') {
9136     $("#self-pickup").attr("disabled", true)
9137   }
9138 
9139   function setCookie(name,value,days) {
9140     var expires = "";
9141     if (days) {
9142       var date = new Date();
9143       date.setTime(date.getTime() + (days*24*60*60*1000));
9144       expires = "; expires=" + date.toUTCString();
9145     }
9146     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
9147   }
9148   function getCookie(name) {
9149     var nameEQ = name + "=";
9150     var ca = document.cookie.split(';');
9151     for(var i=0;i < ca.length;i++) {
9152       var c = ca[i];
9153       while (c.charAt(0)==' ') c = c.substring(1,c.length);
9154       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
9155     }
9156     return null;
9157   }
9158 </script>
9158
9159 <!-- One Tap -->
9160     
9160<script>
9161       console.log("Outerbloom...");
9162     </script>
9162
9163   <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block">
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 
9189 
9190 
9191 
9192 
9193 
9194 
9195 
9196 
9197 
9198 
9199 
9200 
9201 
9202 
9203 
9204 
9205 
9206 
9207 
9208 
9209 
9210 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
9211 
9211<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
9211
9212 
9212<script>
9213   const widgetConfig = {
9214     id: "clz7897za002cz7otleaz0d3d",
9215     showQuickResponse: false,
9216     quickResponsesData: [],
9217     themeColor: "#ffffff",
9218     widgetText: "",
9219     radiusType: "circle",
9220     widgetIconType: "whatsapp",
9221     position: "right",
9222     storeLogo: "",
9223     storeName: "Outerbloom",
9224     storeDescription: "",
9225     size: "small",
9226     showCard: false,
9227     widgetColorType: "solid",
9228     widgetColor1: "#008069",
9229     widgetColor2: "#008069",
9230     social: {
9231       socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"],
9232       values: {
9233         instagram: {
9234           enabled: false,
9235           value: "",
9236         },
9237         facebook: {
9238           enabled: false,
9239           value: "",
9240         },
9241         email: {
9242           enabled: false,
9243           value: "",
9244         },
9245         x: {
9246           enabled: false,
9247           value: "",
9248         },
9249         tiktok: {
9250           enabled: false,
9251           value: "",
9252         },
9253         linkedin: {
9254           enabled: false,
9255           value: "",
9256         },
9257         youtube: {
9258           enabled: false,
9259           value: "",
9260         },
9261       },
9262     },
9263   };
9264 
9265   function initializeWidget() {
9266     if (typeof BBBWidget !== 'undefined') {
9267       BBBWidget.init(widgetConfig);
9268     } else {
9269       setTimeout(initializeWidget, 100);
9270     }
9271   }
9272 
9273   initializeWidget();</script>
9273
9274 
9275 
9276 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
9277 
9278 
9279 <div style="position: fixed; bottom: 0; right: 0"></div>
9280 
9281 
9281<script>
9282 console.info("bitlogin extension version: v2.5.7");
9283 
9284 const googleScript = document.createElement("script");
9285 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
9286 document.head.append(googleScript);
9287 
9288 const bitLoginBaseUrl = "https://api.bitbybit.studio";
9289 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
9290 
9291 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"}};
9292 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
9292n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}];
9293 const redirectUrl = appearance.redirectLink;
9294 
9295 let locationCacheSet = false;
9296 let errorLocation = false;
9297 let oneTapSet = false;
9298 
9299 let bitloginCache = {
9300   appearance: appearance,
9301   config: config
9302 };
9303 
9304 let isInitializing = false;
9305 const queue = [];
9306 
9307 // Add CSS for the popup
9308 const popupStyles = document.createElement('style');
9309 popupStyles.textContent = `
9310   /* Styles for login popup */
9311   .bitlogin-popup-overlay {
9312     position: fixed;
9313     top: 0;
9314     left: 0;
9315     width: 100%;
9316     height: 100%;
9317     background: rgba(0, 0, 0, 0.45);
9318     backdrop-filter: blur(4px);
9319     display: flex;
9320     align-items: center;
9321     justify-content: center;
9322     opacity: 0;
9323     transition: opacity 0.3s ease-in-out;
9324     z-index: 999999;
9325   }
9326   
9327   .bitlogin-popup-overlay.visible {
9328     opacity: 1;
9329   }
9330   
9331   .bitlogin-popup {
9332     background: #FFFFFF;
9333     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
9334     border-radius: 16px;
9335     width: 100%;
9336     max-width: 560px;
9337     display: flex;
9338     overflow: hidden;
9339     position: relative;
9340     opacity: 0;
9341     transform: translateY(20px) scale(0.98);
9342     transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
9343   }
9344   
9345   .bitlogin-popup.visible {
9346     opacity: 1;
9347     transform: translateY(0) scale(1);
9348   }
9349   
9350   .bitlogin-popup-with-image {
9351     max-width: 640px;
9352   }
9353   
9354   .bitlogin-popup-right-image {
9355     flex-direction: row-reverse;
9356   }
9357   
9358   .bitlogin-popup-image {
9359     object-fit: cover;
9360     width: 50%;
9361     height: auto;
9362   }
9363   
9364   .bitlogin-popup-content {
9365     padding: 32px;
9366     position: relative;
9367     width: 50%;
9368   }
9369   
9370   .bitlogin-popup-close {
9371     position: absolute;
9372     top: 16px;
9373     right: 16px;
9374     background: white;
9375     border: none;
9376     width: 30px;
9377     height: 30px;
9378     display: flex;
9379     align-items: center;
9380     justify-content: center;
9381     cursor: pointer;
9382     transition: background-color 0.2s;
9383     color: inherit;
9384     padding: 0;
9385   }
9386   
9387   .bitlogin-popup-close:hover {
9388     background-color: #e5e5e5;
9389   }
9390   
9391   .bitlogin-popup-buttons {
9392     display: flex;
9393     flex-direction: column;
9394     gap: 12px;
9395     margin-top: 24px;
9396   }
9397   
9398   /* Button styles within popup - override width for popup buttons */
9399   .bitlogin-popup-buttons #google-login,
9400   .bitlogin-popup-buttons #facebook-login,
9401   .bitlogin-popup-buttons #apple-login,
9402   .bitlogin-popup-buttons #whatsapp-login,
9403   .bitlogin-popup-buttons #microsoft-login,
9404   .bitlogin-popup-buttons #twitter-login,
9405   .bitlogin-popup-buttons #amazon-login,
9406   .bitlogin-popup-buttons #instagram-login,
9407   .bitlogin-popup-buttons #magic-link-login,
9408   .bitlogin-popup-buttons #mobile-app-login {
9409     width: 100% !important;
9410     font-family: inherit !important;
9411   }
9412   
9413   .bitlogin-popup-footer {
9414     margin-top: 32px;
9415     text-align: center;
9416     font-size: 14px;
9417     opacity: 0.6;
9418   }
9419   
9420   /* Modern Typography */
9421   .bitlogin-popup h2 {
9422     margin-top: 12px;
9423     font-size: 21px !important;
9424     line-height: 1.2 !important;
9425     font-weight: 700 !important;
9426     letter-spacing: -0.02em !important;
9427     margin-bottom: 16px !important;
9428   }
9429   
9430   .bitlogin-popup-header {
9431     position: relative;
9432     margin-bottom: 24px;
9433   }
9434   
9435   /* Modern gradient accent */
9436   .bitlogin-popup-content > div {
9437     font-size: 16px !important;
9438     line-height: 1.2 !important;
9439     opacity: 0.85 !important;
9440   }
9441   
9442   /* Enhanced button interactions */
9443   .bitlogin-popup-buttons button {
9444     position: relative;
9445     overflow: hidden;
9446   }
9447   
9448   @keyframes ripple {
9449     0% {
9450       transform: scale(0, 0);
9451       opacity: 0.5;
9452     }
9453     100% {
9454       transform: scale(100, 100);
9455       opacity: 0;
9456     }
9457   }
9458   
9459   /* Responsive adjustments */
9460   @media (max-width: 640px) {
9461     .bitlogin-popup {
9462       max-width: 90%;
9463       width: 90%;
9464       margin: 0 16px;
9465     }
9466     
9467     .bitlogin-popup-with-image {
9468       flex-direction: column !important;
9469     }
9470     
9471     .bitlogin-popup-image {
9472       width: 100%;
9473       height: 180px;
9474     }
9475     
9476     .bitlogin-popup-content {
9477       padding: 24px;
9478     }
9479     
9480     .bitlogin-popup h2 {
9481       font-size: 24px !important;
9482     }
9483   }
9484 `;
9485 
9486 document.head.appendChild(popupStyles);
9487 
9488 // Add fonts link for different font options
9489 const fontsLink = document.createElement('link');
9490 fontsLink.rel = 'stylesheet';
9491 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';
9492 document.head.appendChild(fontsLink);
9493 
9494 (async () => {
9495   try {
9496     let host = window.location.host;
9497     if (host === "admin.shopify.com") {
9498       host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
9499     }
9500 
9501     const urlSearchParams = new URLSearchParams(window.location.search);
9502     const checkoutUrl = urlSearchParams.get("checkout_url");
9503 
9504     async function init({ inputRef, index }) {
9505       if (isInitializing) {
9506         queue.push(() => init({ inputRef, index }));
9507         return;
9508       }
9509 
9510       isInitializing = true;
9511 
9512       try {
9513         let bitLoginSectionRoot = document.querySelector(
9514           `.bitlogin-root[data-index="${index}"]`
9515         );
9516 
9517         const formRef = inputRef?.closest(
9518           "form:not([action='/account/recover'])"
9519         );
9520 
9521         if (formRef && !bitLoginSectionRoot) {
9522           await getLocation();
9523 
9524           bitLoginSectionRoot = document.createElement(`div`);
9525 
9526           bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
9527           bitLoginSectionRoot.setAttribute("data-index", `${index}`);
9528 
9529           updateAppearance({
9530             formRef,
9531             rootRef: bitLoginSectionRoot,
9532             host,
9533           });
9534         }
9535       } catch (err) {
9536         console.error(`error while initiating bitlogin extensions`, err);
9537       } finally {
9538         // Release the lock
9539         isInitializing = false;
9540 
9541         // Check if there are pending items in the queue
9542         if (queue.length > 0) {
9543           // Process the next function in the queue
9544           const nextFunction = queue.shift();
9545           nextFunction();
9546         }
9547       }
9548     }
9549 
9550     function initAll() {
9551       return new Promise((resolve, reject) => {
9552         setTimeout(async () => {
9553           const inputRefs = document.querySelectorAll(
9554             'input[name="customer[email]"]'
9555           );
9556 
9557           for (let i = 0; i < inputRefs.length; i++) {
9558             const currentInputRef = inputRefs[i];
9559             const isVisible = isElementVisible(currentInputRef);
9560 
9561             if (isVisible) {
9562               await init({ inputRef: currentInputRef, index: i });
9563             }
9564           }
9565 
9566           resolve("ok");
9567         }, 100);
9568       });
9569     }
9570 
9571     const observer = new MutationObserver((mutationsList) => {
9572       for (let mutation of mutationsList) {
9573         initAll();
9574       }
9575     });
9576 
9577     observer.observe(document.body, {
9578       childList: true,
9579       subtree: true,
9580       attributes: true,
9581     });
9582 
9583     initAll();
9584 
9585     if (appearance.googleOneTap) {
9586       setupOneTap({ host, checkoutUrl });
9587     }
9588 
9589     // Initialize popup
9590     await initPopup(host);
9591   } catch (error) {
9592     console.error("Error initializing BitLogin:", error);
9593   }
9594 })();
9595 
9596 async function initPopup(host) {
9597   // Check if user is already logged in using Liquid checks properly
9598   const isLoggedIn = false || 
9599                     document.querySelector('.customer-logout-link') || 
9600                     document.querySelector('.account-link') || 
9601                     window.location.pathname.includes('/account');
9602   
9603   if (isLoggedIn) {
9604     return; // User is logged in, don't show popup
9605   }
9606 
9607   try {
9608     // Fetch the popup configuration
9609     const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
9610       .then(res => res.json())
9611       .catch(err => {
9612         console.error('Error fetching popup configuration:', err);
9613         return null;
9614       });
9615 
9616     if (!popupConfig || !popupConfig.enabled) {
9617       return;
9617 // Don't show popup if disabled or config not found
9618     }
9619 
9620     // Create popup after 10 seconds
9621     setTimeout(() => {
9622       // Check if user is still on the page and still not logged in
9623       if (document.visibilityState === 'visible') {
9624         // Additional check in case user logged in during the 10 second wait
9625         const currentlyLoggedIn = false || 
9626                               document.querySelector('.customer-logout-link') || 
9627                               document.querySelector('.account-link');
9628         
9629         if (!currentlyLoggedIn) {
9630           createLoginPopup(popupConfig, host);
9631         }
9632       }
9633     }, 10000);
9634   } catch (error) {
9635     console.error('Error initializing popup:', error);
9636   }
9637 }
9638 
9639 function createLoginPopup(popupConfig, host) {
9640   // Font mapping
9641   const fontFamilyMap = {
9642     system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
9643     montserrat: 'Montserrat, sans-serif',
9644     roboto: 'Roboto, sans-serif',
9645     open_sans: 'Open Sans, sans-serif',
9646     noto_sans: 'Noto Sans, sans-serif',
9647     lato: 'Lato, sans-serif',
9648     poppins: 'Poppins, sans-serif',
9649     quicksand: 'Quicksand, sans-serif',
9650     raleway: 'Raleway, sans-serif',
9651     pt_sans: 'PT Sans, sans-serif',
9652     oswald: 'Oswald, sans-serif',
9653   };
9654 
9655   // Create overlay
9656   const overlay = document.createElement('div');
9657   overlay.className = 'bitlogin-popup-overlay';
9658   
9659   // Create popup container with appropriate styling
9660   const popup = document.createElement('div');
9661   popup.className = 'bitlogin-popup';
9662 
9663   if (popupConfig.layout === 'default') {
9664     popup.style.maxWidth = '400px';
9665   }
9666   
9667   // Function to close the popup
9668   const closePopup = () => {
9669     overlay.classList.remove('visible');
9670     popup.classList.remove('visible');
9671     setTimeout(() => {
9672       if (document.body.contains(overlay)) {
9673         document.body.removeChild(overlay);
9674       }
9675     }, 300);
9676   };
9677   
9678   // Add click handler to the overlay to close when clicking outside
9679   overlay.addEventListener('click', (event) => {
9680     // Close only if clicking directly on the overlay, not its children
9681     if (event.target === overlay) {
9682       closePopup();
9683     }
9684   });
9685   
9686   // Add escape key handler to close popup
9687   document.addEventListener('keydown', (event) => {
9688     if (event.key === 'Escape' && document.body.contains(overlay)) {
9689       closePopup();
9690     }
9691   });
9692 
9693   // Create layout with image if specified
9694   let contentWrapper;
9695   if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
9696     popup.classList.add('bitlogin-popup-with-image');
9697     
9698     if (popupConfig.layout === 'right') {
9699       popup.classList.add('bitlogin-popup-right-image');
9700     }
9701     
9702     // Add image
9703     const image = document.createElement('img');
9704     image.className = 'bitlogin-popup-image';
9705     image.src = popupConfig.popupImage;
9706     image.alt = 'Login';
9707     image.loading = 'lazy';
9708     popup.appendChild(image);
9709     
9710     // Create content container
9711     contentWrapper = document.createElement('div');
9712     contentWrapper.className = 'bitlogin-popup-content';
9713 
9714     if (popupConfig.layout === 'right') {
9715       const closeButton = document.createElement('button');
9716       closeButton.className = 'bitlogin-popup-close';
9717       closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://updatedatatogel.com/image/logo.webp">
9718         <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9719       </svg>`;
9720       closeButton.setAttribute('aria-label', 'Close');
9721       closeButton.onclick = closePopup;
9722   
9723       popup.appendChild(closeButton);
9724     }
9725   } else {
9726     contentWrapper = document.createElement('div');
9727     contentWrapper.className = 'bitlogin-popup-content';
9728     contentWrapper.style.width = '100%';
9729   }
9730 
9731   // Set background style
9732   if (popupConfig.backgroundTheme === 'gradient') {
9733     contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
9734   } else {
9735     contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
9736   }
9737 
9738   // Apply font family
9739   contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
9740 
9741   if (popupConfig.layout !== 'right') {
9742     const closeButton = document.createElement('button');
9743     closeButton.className = 'bitlogin-popup-close';
9744     closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://updatedatatogel.com/image/logo.webp">
9745       <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9746     </svg>`;
9747     closeButton.setAttribute('aria-label', 'Close');
9748     closeButton.onclick = closePopup;
9749   
9750     contentWrapper.appendChild(closeButton);
9751   }
9752 
9753   // Add heading with subtle animation effect
9754   const header = document.createElement('div');
9755   header.className = 'bitlogin-popup-header';
9756   
9757   const heading = document.createElement('h2');
9758   heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
9758its';
9759   heading.style.color = popupConfig.fontColor;
9760   header.appendChild(heading);
9761 
9762   // Add body text with improved formatting
9763   const bodyText = document.createElement('div');
9764   bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
9765   bodyText.style.color = popupConfig.fontColor;
9766   header.appendChild(bodyText);
9767   
9768   contentWrapper.appendChild(header);
9769 
9770   // Create buttons container with modern styling
9771   const buttonsContainer = document.createElement('div');
9772   buttonsContainer.className = 'bitlogin-popup-buttons';
9773   
9774   // Add social buttons
9775   const providerLabels = {
9776     'GOOGLE': 'Continue with Google',
9777     'FACEBOOK': 'Continue with Facebook',
9778     'APPLE': 'Continue with Apple',
9779     'WHATSAPP': 'Continue with WhatsApp',
9780     'MAGIC_LINK': 'Continue with Email',
9781   };
9782 
9783   // Add first login provider button
9784   if (popupConfig.loginProvider1 !== 'NONE') {
9785     const buttonConfig = {
9786       theme: popupConfig.colorScheme || 'match',
9787       customColor: popupConfig.textColor,
9788       format: 'contentFlex',
9789       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
9790       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9791       style: popupConfig.style || 'rounded',
9792       size: popupConfig.size || 'medium',
9793       colorScheme: popupConfig.colorScheme || 'match',
9794       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9795       textColor: popupConfig.textColor || '#FFFFFF',
9796       outlineColor: popupConfig.outlineColor || '#3B82F6',
9797       host: host
9798     };
9799     
9800     const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
9801     
9802     // Handle click event - this overrides the default click handler in createSocialLoginButton
9803     button1.onclick = () => {
9804       onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
9805       closePopup();
9806     };
9807     
9808     buttonsContainer.appendChild(button1);
9809   }
9810 
9811   // Add second login provider button if enabled
9812   if (popupConfig.loginProvider2 !== 'NONE') {
9813     const buttonConfig = {
9814       theme: popupConfig.colorScheme || 'match',
9815       customColor: popupConfig.textColor,
9816       format: 'contentFlex',
9817       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
9818       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9819       style: popupConfig.style || 'rounded',
9820       size: popupConfig.size || 'medium',
9821       colorScheme: popupConfig.colorScheme || 'match',
9822       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9823       textColor: popupConfig.textColor || '#FFFFFF',
9824       outlineColor: popupConfig.outlineColor || '#3B82F6',
9825       host: host
9826     };
9827     
9828     const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
9829     
9830     // Handle click event - this overrides the default click handler in createSocialLoginButton
9831     button2.onclick = () => {
9832       onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
9833       closePopup();
9834     };
9835     
9836     buttonsContainer.appendChild(button2);
9837   }
9838 
9839   contentWrapper.appendChild(buttonsContainer);
9840 
9841   // Append content to popup
9842   popup.appendChild(contentWrapper);
9843   
9844   // Append popup to overlay
9845   overlay.appendChild(popup);
9846   
9847   // Append overlay to body
9848   document.body.appendChild(overlay);
9849   
9850   // Trigger animation with slight delay for better perceived performance
9851   setTimeout(() => {
9852     overlay.classList.add('visible');
9853     setTimeout(() => {
9854       popup.classList.add('visible');
9855     }, 50);
9856   }, 10);
9857 }
9858 
9859 window.addEventListener("load", () => {
9860   window.addEventListener("message", (event) => {
9861     const receivedData = event.data;
9862 
9863     if (receivedData.type === "authorize") {
9864       post(
9865         JSON.parse(
9866           JSON.stringify({
9867             "customer[email]": receivedData.email,
9868             "customer[password]": receivedData.password,
9869             form_type: "customer_login",
9870             utf8: "✓",
9871             return_url: redirectUrl,
9872           })
9873         )
9874       );
9875     } else if (receivedData.type === "rejected") {
9876       if (receivedData.reason === "customer_account_disabled") {
9877         showAlert(
9878           "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
9879         );
9880       } else if (receivedData.reason === "customer_entry_created_email_not_set") {
9881         showAlert(
9882           "A new account was created but requires an email address. Please update your account with a valid email address to continue."
9883         );
9884       } else if (receivedData.reason === "customer_exist_email_not_set") {
9885         showAlert(
9886           "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
9887         );
9888       }
9889     }
9890 
9891     if (receivedData.type === "customer_authenticated") {
9892       // Dispatch a custom event that merchants can listen for to implement their custom logic
9893       const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
9894         detail: {
9895           provider: receivedData.provider,
9896           customer: receivedData.customer,
9897           shopifyCustomerCreated: receivedData.shopifyCustomerCreated
9898         }
9899       });
9900       
9901       // Dispatch the event on the window object so merchants can listen for it
9902       window.dispatchEvent(customerAuthEvent);
9903       
9904     }
9905   });
9906 });
9907 
9908 // Reusable functions for social login buttons
9909 function createSocialLoginButton(provider, config = {}) {
9910   const {
9911     theme = 'match',
9912     customColor = null,
9913     format = 'contentFlex',
9914     buttonText = null,
9915     hasShadow = true,
9916     style = 'rounded',
9917     size = 'medium',
9918     colorScheme = 'match',
9919     backgroundColor = '#3B82F6',
9920     textColor = '#FFFFFF',
9921     outlineColor = '#3B82F6',
9922     rootRef = null,
9923     host = null
9924   } = config;
9925   
9926   // Create button element with appropriate ID and attributes
9927   const button = document.createElement('button');
9928   button.id = `${provider.toLowerCase()}-login`;
9929   button.type = 'button';
9930   
9931   // Set the inner SVG based on provider
9932   switch (provider.toUpperCase()) {
9933     case 'GOOGLE':
9934       button.innerHTML = googleLoginIcon(theme, customColor);
9935       break;
9936     case 'FACEBOOK':
9937       button.innerHTML = facebookLoginIcon(theme, customColor);
9938       break;
9939     case 'APPLE':
9940       button.innerHTML = appleLoginIcon(theme, customColor);
9941       break;
9942     case 'WHATSAPP':
9943       button.innerHTML = whatsappLoginIcon(theme, customColor);
9944       break;
9945     case 'MICROSOFT':
9946       button.innerHTML = microsoftLoginIcon(theme, customColor);
9947       break;
9948     case 'TWITTER':
9949       button.innerHTML = twitterLoginIcon(theme, customColor);
9950       break;
9951     case 'AMAZON':
9952       button.innerHTML = amazonLoginIcon(theme, customColor);
9953       break;
9954     case 'INSTAGRAM':
9955       button.innerHTML = instagramLoginIcon(theme, customColor);
9956       break;
9957     case 'MAGIC_LINK':
9958       button.innerHTML = magicLinkLoginIcon(theme, customColor);
9959       break;
9960     case 'MOBILE_APP':
9961       button.innerHTML = mobileAppLoginIcon(theme, customColor);
9962       break;
9963     case 'LINKEDIN':
9964       button.innerHTML = linkedinLoginIcon(theme, customColor);
9965       break;
9966   }
9967   
9968   // Add text if format isn't icon-only and buttonText is provided
9969   if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
9970     button.innerHTML += `<p>${buttonText}</p>`;
9971   }
9972   
9973   // Apply styling
9974   // Shadow
9975   if (hasShadow) {
9976     const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
9977     button.style["box-shadow"] = shadowProperties;
9978   }
9979   
9980   // Border radius
9981   const radiusProperties =
9982     style === "rounded"
9983       ? "8px"
9984       : style === "square"
9985       ? "0px"
9986       : style === "fullRounded"
9987       ? format === "wrapperFlexContainerOnlyLogo"
9988         ? "50%"
9989         : "50px"
9990       : undefined;
9991   button.style["border-radius"] = radiusProperties;
9992   
9993   // Size
9994   const sizeProperties =
9995     size === "medium"
9996       ? "12px"
9997       : size === "small"
9998       ? "8px"
9999       : size === "large"
10000       ? "16px"
10001       : "8px";
10002 
10003   button.style["padding-block"] = sizeProperties;
10004 
10005   // Format styling
10006   if (format) {
10007     if (
10008       format === "contentFlexReverse" ||
10009       format === "contentFlexCenterReverse"
10010     ) {
10011       const flexDir = `row-reverse`;
10012       button.style["flex-direction"] = flexDir;
10013     }
10014     
10015     if (
10016       format === "contentFlexCenter" ||
10017       format === "contentFlexCenterReverse"
10018     ) {
10019       const justifyContent = `center`;
10020       button.style["justify-content"] = justifyContent;
10021     } else if (
10022       format === "contentFlex" ||
10023       format === "contentFlexReverse"
10024     ) {
10025       const buttonTextElement = button.querySelector("p");
10026       if (buttonTextElement) {
10027         buttonTextElement.style["flex-grow"] = 1;
10028         buttonTextElement.style["text-align"] = "center";
10029       }
10030     }
10031 
10032     if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
10033       rootRef.style["flex-direction"] = "row";
10034       rootRef.style["gap"] = "8px";
10035       rootRef.style["display"] = "flex";
10036       rootRef.style["flex-wrap"] = "wrap";
10037 
10038       const sizeMapping = {
10039         small: "52px",
10040         medium: "62px",
10041         large: "72px",
10042       };
10043       const buttonSize = sizeMapping[size] || "52px";
10044 
10045       button.style["margin"] = 0;
10046       button.style["width"] = buttonSize;
10047       button.style["height"] = buttonSize;
10048       button.style["display"] = "flex";
10049       button.style["align-items"] = "center";
10050       button.style["justify-content"] = "center";
10051 
10052       const svgElement = button.querySelector("svg");
10053       if (svgElement) {
10054         svgElement.style["flex"] = "none";
10055       }
10056     }
10057   }
10058 
10059   // Color scheme styling
10060   if (colorScheme === "black") {
10061     button.classList.add("scheme-black");
10062   } else if (colorScheme === "white") {
10063     button.classList.add("scheme-white");
10064   } else if (colorScheme === "custom") {
10065     button.style["background-color"] = backgroundColor;
10066     button.style["color"] = textColor;
10067     button.style["border-color"] = outlineColor;
10068 
10069     const darkenColor = (color, percentage) => {
10070       const value = parseInt(color.slice(1), 16);
10071       const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
10072       const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
10073       const b = Math.max(0, (value & 0xff) - (0xff * percentage));
10074       return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
10075     };
10076 
10077     button.addEventListener("mouseover", () => {
10078       button.style["background-color"] = darkenColor(backgroundColor, 0.2);
10079     });
10080     button.addEventListener("mouseout", () => {
10081       button.style["background-color"] = backgroundColor;
10082     });
10083   } else if (colorScheme === "match") {
10084     button.classList.add("scheme-match");
10085   } else if (colorScheme === "matchOutline") {
10086     button.classList.add("scheme-match-outline");
10087   }
10088   
10089   // Add click event listener if host is provided
10090   if (host) {
10091     button.addEventListener("click", () => 
10092       onClickSocialLogin({ provider: provider.toLowerCase(), host })
10093     );
10094   }
10095   
10096   return button;
10097 }
10098 
10099 function setupSocialLoginButtons(config, rootRef, data, host) {
10100   // Clear any existing content
10101   rootRef.innerHTML = '';
10102 
10103   const sortedEnabledProviders = config
10104     .filter(c => c.enabledWeb)
10105     .sort((a, b) => a.position - b.position);
10106 
10107   sortedEnabledProviders.forEach(provider => {
10108     const key = provider.provider;
10109     const lowerKey = key.toLowerCase();
10110 
10111     const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
10112       ? (lowerKey === 'twitter'
10113           ? data.buttonList.twitter.replace('Twitter', 'X')
10114           : data.buttonList[lowerKey])
10115       : null;
10116 
10117     const button = createSocialLoginButton(key, {
10118       theme: data.colorScheme || 'match',
10119       customColor: data.textColor,
10120       format: data.format,
10121       buttonText: buttonText,
10122       hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
10123       style: data.style,
10124       size: data.size,
10125       colorScheme: data.colorScheme,
10126       backgroundColor: data.backgroundColor,
10127       textColor: data.textColor,
10128       outlineColor: data.outlineColor,
10129       rootRef: rootRef,
10130       host: host
10131     });
10132 
10133     rootRef.appendChild(button);
10134   });
10135 
10136   return rootRef;
10137 }
10138 
10139 function updateAppearance({ formRef, rootRef, host }) {
10140   if (!formRef) return;
10141 
10142   const data = bitloginCache.appearance || {
10143     style: "square",
10144     hasShadow: false,
10145     colorScheme: "match",
10146     backgroundColor: "#FFFFFF",
10147     outlineColor: "#000000",
10148     textColor: "#000000",
10149     position: "bottom",
10150     hideDivider: "false",
10151     dividerText: "OR",
10152     size: "small",
10153     format: "contentFlex",
10154     language: "en",
10155     buttonText: "Continue with",
10156     redirectLink: "/account",
10157     googleOneTap: true,
10158     googleOneTapBanner: true,
10159     customerTag: "bitLogin",
10160     redirectOneTapDesktop: null,
10161     redirectOneTapMobile: null,
10162     buttonList: {
10163       google: "Continue with Google",
10164       facebook: "Continue with Facebook",
10165       apple: "Continue with Apple",
10166       whatsapp: "Continue with WhatsApp",
10167       microsoft: "Continue with Microsoft",
10168       twitter: "Continue with X",
10169       amazon: "Continue with Amazon",
10170       instagram: "Continue with Instagram",
10171       magic_link: "Continue with Magic Link",
10172       mobile_app: "Continue with Mobile App",
10173       linkedin: "Continue with LinkedIn",
10174     },
10175   };
10176 
10177   // Use the new setupSocialLoginButtons function to create and configure all buttons
10178   setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
10179 
10180   let divider;
10181 
10182   if (!data.hideDivider) {
10183     divider = document.createElement("div");
10184     const dividerStyle = "text-align:center;margin-block:16px";
10185     divider.setAttribute("style", dividerStyle);
10186     divider.innerHTML = data.dividerText;
10187   }
10188 
10189   if (data.position === "bottom") {
10190     if (divider) {
10191       formRef.appendChild(divider);
10192     }
10193     formRef.appendChild(rootRef);
10194   } else if (data.position === "top") {
10195     if (divider) {
10196       formRef.prepend(divider);
10197     }
10198     formRef.prepend(rootRef);
10199   }
10200 }
10201 
10202 
10203 async function onClickSocialLogin({ provider, host }) {
10204   const rand = Math.random().toString();
10205 
10206   const locationQueryString = bitloginCache.location
10207     ? `&${objectToQueryString(bitloginCache.location)}`
10208     : "";
10209 
10210   const width = 800;
10211   const height = 600;
10212   const left = (window.screen.width / 2) - (width / 2);
10213   const top = (window.screen.height / 2) - (height / 2) - 50;
10214 
10215   if(provider === 'whatsapp') {
10216     window.open(
10217       `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
10218       "mywindow",
10219       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10220     );
10221   } else {
10222     window.open(
10223       `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
10224       "mywindow",
10225       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10226     );
10227   }
10228 }
10229 
10230 function objectToQueryString(obj) {
10231   return Object.keys(obj)
10232     .map((key) => {
10233       return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
10234     })
10235     .join("&");
10236 }
10237 
10238 async function getLocation() {
10239   if (locationCacheSet) return;
10240 
10241   try {
10242     const response = await fetch("https://ipapi.co/json/");
10243 
10244     if (!response.ok) {
10245       console.error(`error retrieving location...`, response.status);
10246       errorLocation = true;
10247     } else {
10248       const data = await response.json();
10249 
10250       const { city, region, country_name, country_code } = data;
10251 
10252       const formattedLocationData = {
10253         city,
10254         region,
10255         country_name,
10256         country_code,
10257       };
10258 
10259       bitloginCache.location = formattedLocationData;
10260       locationCacheSet = true;
10261       errorLocation = false;
10262     }
10263   } catch (err) {
10264     console.error(`error fetching location`, err);
10265     errorLocation = true;
10266   }
10267 }
10268 
10269 function post(params) {
10270   // The rest of this code assumes you are not using a library.
10271   // It can be made less verbose if you use one.
10272   const form = document.createElement("form");
10273   form.method = "post";
10274   form.action = `/account/login`;
10275   form.acceptCharset = "UTF-8";
10276   form.setAttribute("data-login-with-shop-sign-in", "true");
10277   form.setAttribute("novalidate", "novalidate");
10278 
10279   for (const key in params) {
10280     if (params.hasOwnProperty(key)) {
10281       const hiddenField = document.createElement("input");
10282       hiddenField.type = "hidden";
10283       hiddenField.name = key;
10284       hiddenField.value = params[key];
10285 
10286       form.appendChild(hiddenField);
10287     }
10288   }
10289 
10290   document.body.appendChild(form);
10291   form.submit();
10292 }
10293 
10294 async function setupOneTap({ host, checkoutUrl }) {
10295   if (oneTapSet) return;
10296 
10297   const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
10298   const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
10299 
10300   const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
10301   const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
10302 
10303   const currentPath = window.location.pathname.toLowerCase();
10304   const currentUrl = window.location.href.toLowerCase();
10305 
10306   const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
10307     switch (value) {
10308       case 'home':
10309         return currentPath === '/';
10310       case 'product':
10311         return currentPath.startsWith('/products/');
10312       case 'collections':
10313         return currentPath.startsWith('/collections');
10314       case 'cart':
10315         return currentPath === '/cart';
10316       case 'checkout':
10317         return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
10318       case 'thank_you':
10319         return currentPath.includes('/thank_you');
10320       case 'account':
10321         return currentPath.startsWith('/account');
10322       case 'pages':
10323         return currentPath.startsWith('/pages');
10324       case 'blogs':
10325         return currentPath === '/blogs' || currentPath === '/blogs/news';
10326       case 'blog_post':
10327         return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
10328       default:
10329         return false;
10330     }
10331   });
10332 
10333   if (shouldHideGoogleOneTap) return;
10334 
10335   const oneTapClientId = bitloginCache.config.find(
10336     (config) => config.provider === "GOOGLE"
10337   )?.clientId;
10338 
10339   const isLoggedIn = false;
10340 
10341   if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
10342     const googleOneTapButton = document.createElement("div");
10343     googleOneTapButton.setAttribute("id", "g_id_onload");
10344     googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
10345     googleOneTapButton.setAttribute("data-context", "signin");
10346     googleOneTapButton.setAttribute(
10347       "data-callback",
10348       "handleGoogleOneTapResponse"
10349     );
10350     googleOneTapButton.setAttribute("data-itp_support", "true");
10351 
10352     const googleOneTapScript = document.createElement("script");
10353 
10354     googleOneTapScript.innerHTML += `
10355           function handleGoogleOneTapResponse(response) {
10356               if (response.credential) {
10357                   const idToken = response.credential;
10358                   fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
10359                       method: 'POST',
10360                       headers: { 'Content-Type': 'application/json' },
10361                       body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
10362                   }).then(response => {
10363                       response.json().then((data) => {
10364                         post(
10365                           JSON.parse(
10366                             JSON.stringify({
10367                               "customer[email]": data.email,
10368                               "customer[password]": data.password,
10369                               form_type: "customer_login",
10370                               utf8: "✓",
10371                               return_url: redirectUrl,
10372                             })
10373                           )
10374                         );
10375                       });  
10376                   }).catch(error => {
10377                       console.error('Error occurred:', error);
10378                   });
10379               } else {
10380                   console.error('No credential available');
10381               }
10382           }
10383        `;
10384 
10385     document.body.append(googleOneTapButton);
10386     document.body.append(googleOneTapScript);
10387   }
10388 
10389   oneTapSet = true;
10390 }
10391 
10392 const googleLoginIcon = (
10393   theme,
10394   customColor
10395 ) => `
10396 ${
10397   theme === "match" || theme === "matchOutline" || theme === "custom"
10398     ? `<svg
10399     xmlns='https://updatedatatogel.com/image/logo.webp'
10400     xmlns:v='https://vecta.io/nano'
10401     width='24'
10402     height='24'
10403     viewBox='0 0 186.69 190.5'
10404   >
10405     <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="${
10406       theme === "custom" ? customColor : "#4285f4"
10407     }"/><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="${
10408         theme === "custom" ? customColor : "#34a853"
10409       }"/><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="${
10410         theme === "custom" ? customColor : "#fbbc05"
10411       }"/><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="${
10412         theme === "custom" ? customColor : "#ea4335"
10413       }" clip-path="none" mask="none"/></g>
10414   </svg>`
10415     : `<svg xmlns="https://updatedatatogel.com/image/logo.webp" width="25" height="25" viewBox="0 0 25 25" fill="none">
10416 <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="${
10417         theme !== "black" ? "black" : "white"
10418       }"/>
10419 <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="${
10420         theme !== "black" ? "black" : "white"
10421       }"/>
10422 <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="${
10423         theme !== "black" ? "black" : "white"
10424       }"/>
10425 <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="${
10426         theme !== "black" ? "black" : "white"
10427       }"/>
10428 </svg>`
10429 }`;
10430 
10431 const appleLoginIcon = (
10432   theme,
10433   customColor
10434 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://updatedatatogel.com/image/logo.webp">
10435 <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="${
10436   theme === "custom"
10437     ? customColor
10438     : theme === "match" || theme === "black"
10439     ? "white"
10440     : "black"
10441 }"/>
10442 </svg>`;
10443 
10444 const facebookLoginIcon = (
10445   theme,
10446   customColor
10447 ) => `
10448 ${
10449   theme === "match" || theme === "matchOutline" || theme === "custom"
10450     ? `<svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="25" viewBox="0 0 24 25" fill="none">
10451     <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="${
10452       theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3"
10453     }"/>
10454     <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="${
10455       theme === "match" ? "#1778f2" : "transparent"
10456     }"/>
10457     </svg>`
10458     : `<svg xmlns="https://updatedatatogel.com/image/logo.webp" width="24" height="25" viewB
10458ox="0 0 24 25" fill="none">
10459 <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="${
10460         theme === "black" ? "white" : "black"
10461       }"/>
10462 <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="${
10463         theme === "black" ? "black" : "white"
10464       }"/>
10465 </svg>`
10466 }`;
10467 
10468 const whatsappLoginIcon = (
10469   theme,
10470   customColor
10471 ) => `<svg
10472   viewBox="0 0 24 24"
10473   fill="none"
10474   width="24"
10475   height="25"
10476   xmlns="https://updatedatatogel.com/image/logo.webp"
10477 >
10478   <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
10479   <g
10480     id="SVGRepo_tracerCarrier"
10481     stroke-linecap="round"
10482     stroke-linejoin="round"
10483   ></g>
10484   <g id="SVGRepo_iconCarrier">
10485     <path
10486       fill-rule="evenodd"
10487       clip-rule="evenodd"
10488       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"
10489       fill="${
10490         theme === "match" || theme === "black"
10491           ? "#ffffff"
10492           : theme === "white"
10493           ? "#000000"
10494           : theme === "matchOutline"
10495           ? "#25d366"
10496           : customColor
10497       }"
10498     ></path>
10499   </g>
10500 </svg>`;
10501 
10502 const microsoftLoginIcon = (
10503   theme,
10504   customColor
10505 ) => `<svg
10506 xmlns="https://updatedatatogel.com/image/logo.webp"
10507 width="25"
10508 height="25"
10509 viewBox="0 0 48 48">
10510 <path fill="${
10511   theme === "match" || theme == "matchOutline"
10512     ? "#ff5722"
10513     : theme === "black"
10514     ? "#ffffff"
10515     : theme === "white"
10516     ? "#000000"
10517     : customColor
10518 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
10519 <path
10520   fill="${
10521     theme === "match" || theme == "matchOutline"
10522       ? "#4caf50"
10523       : theme === "black"
10524       ? "#ffffff"
10525       : theme === "white"
10526       ? "#000000"
10527       : customColor
10528   }"
10529   d="M26 6H42V22H26z"
10530   transform="rotate(-180 34 14)"></path>
10531 <path
10532   fill="${
10533     theme === "match" || theme == "matchOutline"
10534       ? "#ffc107"
10535       : theme === "black"
10536       ? "#ffffff"
10537       : theme === "white"
10538       ? "#000000"
10539       : customColor
10540   }"
10541   d="M26 26H42V42H26z"
10542   transform="rotate(-180 34 34)"></path>
10543 <path fill="${
10544   theme === "match" || theme == "matchOutline"
10545     ? "#03a9f4"
10546     : theme === "black"
10547     ? "#ffffff"
10548     : theme === "white"
10549     ? "#000000"
10550     : customColor
10551 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
10552 </svg>`;
10553 
10554 const twitterLoginIcon = (
10555   theme,
10556   customColor
10557 ) => `<svg
10558 xmlns="https://updatedatatogel.com/image/logo.webp"
10559 width="25"
10560 height="25"
10561 viewBox="0 0 48 48">
10562 <polygon fill="${
10563   theme === "match" || theme === "black"
10564     ? "#ffffff"
10565     : theme === "matchOutline" || theme === "white"
10566     ? "#000000"
10567     : customColor
10568 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
10569 <polygon
10570   fill="${
10571     theme === "match" || theme === "black"
10572       ? "#000000"
10573       : theme === "matchOutline" || theme === "white"
10574       ? "#ffffff"
10575       : customColor
10576   }"
10577   fill-rule="evenodd"
10578   points="31.143,41 7.82,7 16.777,7 40.1,41"
10579   clip-rule="evenodd"></polygon>
10580 <path
10581   fill="${
10582     theme === "match" || theme === "black"
10583       ? "#ffffff"
10584       : theme === "matchOutline" || theme === "white"
10585       ? "#000000"
10586       : customColor
10587   }"
10588   d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
10589 </svg>`;
10590 
10591 const amazonLoginIcon = (theme, customColor) => `
10592  <svg
10593       xmlns="https://updatedatatogel.com/image/logo.webp"
10594       x="0px"
10595       y="0px"
10596       width="25"
10597       height="25"
10598       viewBox="0 0 50 50"
10599     >
10600       <path
10601         fill="${
10602           theme === "black"
10603             ? "#ffffff"
10604             : theme === "matchOutline"
10605             ? "#FF9900"
10606             : theme === "white" || theme === "match"
10607             ? "#000000"
10608             : customColor
10609         }"
10610         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"
10611       ></path>
10612     </svg>`;
10613 
10614 const instagramLoginIcon= (theme, customColor) => `
10615     <svg
10616       width="25"
10617       height="25"
10618       viewBox="0 0 25 24"
10619       fill="none"
10620       xmlns="https://updatedatatogel.com/image/logo.webp">
10621       <path
10622         fill-rule="evenodd"
10623         clip-rule="evenodd"
10624         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.
1062464321C8.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"
10625         fill="url(#paint0_radial_378_3535)" />
10626       <path
10627         fill-rule="evenodd"
10628         clip-rule="evenodd"
10629         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"
10630         fill="url(#paint0_radial_378_3535)" />
10631       <path
10632         fill-rule="evenodd"
10633         clip-rule="evenodd"
10634         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.
1063464321C8.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"
10635         fill="url(#paint0_radial_378_3535)" />
10636       <path
10637         fill-rule="evenodd"
10638         clip-rule="evenodd"
10639         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"
10640         fill="url(#paint1_radial_378_3535)" />
10641       <defs>
10642         <radialGradient
10643           id="paint0_radial_378_3535"
10644           cx="0"
10645           cy="0"
10646           r="1"
10647           gradientUnits="userSpaceOnUse"
10648           gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
10649           <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
10650           <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
10651           <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
10652           <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
10653           <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
10654         </radialGradient>
10655         <radialGradient
10656           id="paint1_radial_378_3535"
10657           cx="0"
10658           cy="0"
10659           r="1"
10660           gradientUnits="userSpaceOnUse"
10661           gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
10662           <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
10663           <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
10664           <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
10665           <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
10666         </radialGradient>
10667       </defs>
10668     </svg>`;
10669 
10670 const magicLinkLoginIcon = (theme, customColor) => `
10671   <svg
10672     xmlns="https://updatedatatogel.com/image/logo.webp"
10673     width="25"
10674     height="25"
10675     fill="none"
10676     viewBox="0 0 25 25"
10677   >
10678     <path
10679       fill="${
10680         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
10681       }"
10682       fillRule="evenodd"
10683       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"
10684       clipRule="evenodd"
10685     ></path>
10686   </svg>`;
10687 
10688 const mobileAppLoginIcon = (theme, customColor) => `
10689   <svg
10690     width="20"
10691     height="24"
10692     viewBox="0 0 12 16"
10693     fill="none"
10694     xmlns="https://updatedatatogel.com/image/logo.webp"
10695   >
10696     <path
10697       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"
10698       fill=${
10699         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
10700       }
10701     />
10702   </svg>
10703 `;
10704 
10705 const linkedinLoginIcon = (theme, customColor) => `
10706   <svg
10707     xmlns="https://updatedatatogel.com/image/logo.webp"
10708     width="25"
10709     height="24"
10710     viewBox="0 0 25 24"
10711     fill="none"
10712   >
10713     <path
10714       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"
10715       fill=${
10716         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
10717       }
10718     />
10719   </svg>
10720 `;
10721 
10722 function isElementVisible(element) {
10723   return (
10724     document.body.contains(element) &&
10725     getComputedStyle(element).display !== "none" &&
10726     getComputedStyle(element).visibility !== "hidden" &&
10727     getComputedStyle(element).opacity !== "0" &&
10728     !element.hasAttribute("hidden") &&
10729     !isAncestorHidden(element)
10730   );
10731 }
10732 
10733 function isAncestorHidden(element) {
10734   let parent = element.parentElement;
10735   while (parent) {
10736     if (
10737       getComputedStyle(parent).display === "none" ||
10738       getComputedStyle(parent).visibility === "hidden" ||
10739       getComputedStyle(parent).opacity === "0" ||
10740       parent.hasAttribute("hidden")
10741     ) {
10742       return true;
10743     }
10744     parent = parent.parentElement;
10745   }
10746   return false;
10747 }
10748 
10749 function showAlert(message) {
10750   const alertBox = document.createElement("div");
10751   alertBox.textContent = message;
10752   alertBox.style.position = "fixed";
10753   alertBox.style.top = "20px";
10754   alertBox.style.right = "-300px"; // Start off-screen
10755   alertBox.style.backgroundColor = "#000000"; // Black background
10756   alertBox.style.color = "#ffffff"; // White text
10757   alertBox.style.padding = "15px";
10758   alertBox.style.borderRadius = "8px";
10759   alertBox.style.zIndex = "1000";
10760   alertBox.style.transition =
10761     "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading
10762   alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth
10763 
10764   document.body.appendChild(alertBox);
10765 
10766   // Slide in
10767   requestAnimationFrame(() => {
10768     alertBox.style.right = "20px"; // Move into view
10769     alertBox.style.opacity = "1"; // Ensure opacity is set to 1
10770   });
10771 
10772   // Slide out and remove the alert after a few seconds
10773   setTimeout(() => {
10774     alertBox.style.opacity = "0"; // Fade out
10775     alertBox.style.right = "-300px"; // Move out of view
10776 
10777     // Wait for the transition to finish before removing the element
10778     setTimeout(() => {
10779       document.body.removeChild(alertBox);
10780     }, 500); // Match this duration with the exit transition duration
10781   }, 3000);
10782 }
10783 </script>
10783
10784 
10785 <style>
10786     .daftarku-fixed-footer {
10787             display: flex;
10788             justify-content: space-around;
10789             position: fixed;
10790             background: linear-gradient(to bottom, #000000 0%, #3d3d3d, #000000 100%);
10791             box-shadow: 0 0 12px #fff000;
10792             outline: none;
10793             padding: 5px 0;
10794             box-shadow: 0 0 0 0 2px 2px #fff000;
10795             left: 0;
10796             right: 0;
10797             bottom: 0;
10798             z-index: 99;
10799             border-radius: 40px 40px 0px 0px;
10800             border-style:dashed;
10801             
10802         }
10803 
10804         .daftarku-fixed-footer a {
10805             flex-basis: calc((100% - 15px*6)/ 5);
10806             text-decoration: none;
10807             display: flex;
10808             flex-direction: column;
10809             justify-content: center;
10810             align-items: center;
10811             color: #fff;
10812             max-width: 75px;
10813             font-size: 12px;
10814             font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
10815         }
10816 
10817         .daftarku-fixed-footer a:hover {
10818             font-weight: bold;
10819         }
10820 
10821         .daftarku-fixed-footer .center {
10822             transform: scale(1.5) translateY(-5px);
10823             background: center no-repeat;
10824             background-size: contain;
10825             background-color: inherit;
10826             border-radius: 50%;
10827         }
10828 
10829         .daftarku-fixed-footer img {
10830             max-width: 20px;
10831             margin-bottom: 0;
10832             max-height: 20px;
10833         }
10834 </style>
10835     
10836     <div class="daftarku-fixed-footer">
10837     <a href="https://updatedatatogel.com/amp-tikus/" rel="nofollow noopener" target="_blank">
10838         <img layout="intrinsic" height="20px" width="20px" src="https://updatedatatogel.com/image/favicon_tikusweb.webp" alt="PROMOSI">
10839         PROMO
10840     </a>
10841     <a href="https://updatedatatogel.com/amp-tikus/" rel="nofollow noopener" target="_blank">
10842         <img layout="intrinsic" height="20px" width="20px" src="https://updatedatatogel.com/image/favicon_tikusweb.webp" alt="LOGIN">
10843         LOGIN
10844     </a>
10845     <a href="https://updatedatatogel.com/amp-tikus/" rel="nofollow noopener" target="_blank" class="tada">
10846         <img layout="intrinsic" height="20px" width="20px" src="https://updatedatatogel.com/image/favicon_tikusweb.webp" alt="DAFTAR">
10847         DAFTAR
10848     </a>
10849     <a href="https://updatedatatogel.com/amp-tikus/" rel="nofollow noopener" target="_blank">
10850         <img layout="intrinsic" height="20px" width="20px" src="https://updatedatatogel.com/image/favicon_tikusweb.webp" alt="TELEGRAM">
10851         TELEGRAM
10852     </a>
10853     <a href="https://updatedatatogel.com/amp-tikus/" rel="nofollow noopener" target="_blank"
10854         class="js_live_chat_link live-chat-link">
10855         <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px" src="https://updatedatatogel.com/image/favicon_tikusweb.webp" alt="Live Chat">
10856         Live Chat
10857     </a>
10858 </div>
10859 </div>
10860 
10860<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"d1f6ecb0d44247bca15f2f6072300f64","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10860
10860
10861<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"d1f6ecb0d44247bca15f2f6072300f64","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10861
10861
10862<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"cd0f3277d3b2448e87d273f5620611e4","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10862
10862
10863<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"94b78679d8294526ae4a8f861bac2b36","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10863
10863
10864<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"a59feaa08bed4e829a0a5d2be6491c08","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10864
10864
10865<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10865
10865
10866<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10866
10866
10867<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10867
10867
10868<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10868
10868
10869<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10869
10869
10870<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10870
10870
10871<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10871
10871
10872<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10872
10872
10873<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10873
10873
10874<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10874
10874
10875<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10875
10875
10876<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10876
10876
10877<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10877
10877
10878<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10878
10878
10879<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10879
10879
10880<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f84d17a3241447bb2ecb159e5e94fe2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10880
10880
10881<script>
10882(function(){
10883
10884const style=document.createElement("style");
10885
10886style.textContent=`
10887
10888#sakura-container{
10889position:fixed;
10890left:0;
10891top:0;
10892width:100%;
10893height:100%;
10894overflow:hidden;
10895pointer-events:none;
10896z-index:999999;
10897}
10898
10899.sakura{
10900position:absolute;
10901top:-80px;
10902width:22px;
10903height:30px;
10904
10905background:
10906radial-gradient(circle at 35% 20%,#fff8fb 0%,#ffdce9 18%,transparent 22%),
10907linear-gradient(140deg,#ffeef7 0%,#ffc4df 35%,#ff8ec0 70%,#ff5fa5 100%);
10908
10909border-radius:
1091070% 30% 70% 30% /
1091160% 30% 70% 40%;
10912
10913box-shadow:
10914inset -2px -2px 3px rgba(255,255,255,.6),
10915inset 2px 2px 4px rgba(255,130,190,.4),
109160 2px 5px rgba(255,80,160,.35);
10917
10918filter:drop-shadow(0 0 3px rgba(255,170,210,.4));
10919
10920transform-origin:center center;
10921
10922animation-name:sakuraFall;
10923animation-timing-function:linear;
10924animation-fill-mode:forwards;
10925}
10926
10927.sakura:after{
10928content:"";
10929position:absolute;
10930left:50%;
10931top:4px;
10932width:1px;
10933height:18px;
10934background:rgba(255,255,255,.5);
10935border-radius:2px;
10936transform:translateX(-50%) rotate(-8deg);
10937}
10938
10939@keyframes sakuraFall{
10940
109410%{
10942opacity:0;
10943transform:
10944translate3d(0,-100px,0)
10945rotate(0deg)
10946scale(.7);
10947}
10948
109498%{
10950opacity:1;
10951}
10952
1095320%{
10954transform:
10955translate3d(35px,20vh,0)
10956rotate(90deg)
10957scale(1);
10958}
10959
1096040%{
10961transform:
10962translate3d(-50px,40vh,0)
10963rotate(180deg)
10964scale(.95);
10965}
10966
1096760%{
10968transform:
10969translate3d(40px,60vh,0)
10970rotate(260deg)
10971scale(1);
10972}
10973
1097480%{
10975transform:
10976translate3d(-35px,80vh,0)
10977rotate(340deg)
10978scale(.9);
10979}
10980
10981100%{
10982opacity:0;
10983transform:
10984translate3d(25px,115vh,0)
10985rotate(480deg)
10986scale(.8);
10987}
10988
10989}
10990
10991`;
10992
10993document.head.appendChild(style);
10994
10995const container=document.createElement("div");
10996
10997container.id="sakura-container";
10998
10999document.body.appendChild(container);
11000
11001function createPetal(){
11002
11003const petal=document.createElement("div");
11004
11005petal.className="sakura";
11006
11007const size=12+Math.random()*22;
11008
11009petal.style.width=size+"px";
11010petal.style.height=(size*1.35)+"px";
11011
11012petal.style.left=Math.random()*100+"vw";
11013
11014petal.style.opacity=.55+Math.random()*.45;
11015
11016petal.style.animationDuration=(6+Math.random()*7)+"s";
11017
11018petal.style.filter=
11019`hue-rotate(${Math.random()*12-6}deg)
11020brightness(${0.9+Math.random()*0.3})
11021drop-shadow(0 0 4px rgba(255,170,210,.4))`;
11022
11023container.appendChild(petal);
11024
11025petal.addEventListener("animationend",function(){
11026
11027petal.remove();
11028
11029});
11030
11031}
11032
11033for(let i=0;i<30;i++){
11034
11035setTimeout(createPetal,i*180);
11036
11037}
11038
11039setInterval(createPetal,220);
11040
11041})();
11042</script>
11042
11043<section id="tikusPopupContainer" style="all: initial !important;">
11044  <style type="text/css">
11045    #tikusPopupContainer * {
11046      box-sizing: border-box !important;
11047      font-family: Arial, Helvetica, sans-serif !important;
11048    }
11049    
11050    #tikusGlobalOverlay {
11051      position: fixed !important;
11052      top: 0 !important;
11053      left: 0 !important;
11054      right: 0 !important;
11055      bottom: 0 !important;
11056      width: 100vw !important;
11057      height: 100vh !important;
11058      background-color: rgba(0, 0, 0, 0.9) !important;
11059      backdrop-filter: blur(8px) !important;
11060      -webkit-backdrop-filter: blur(8px) !important;
11061      z-index: 2147483647 !important;
11062      display: flex !important;
11063      justify-content: center !important;
11064      align-items: center !important;
11065      padding: 15px !important;
11066      margin: 0 !important;
11067    }
11068
11069    .tikus-box-card {
11070      position: relative !important;
11071      width: 100% !important;
11072      max-width: 420px !important;
11073      background: #0d0d0d !important;
11074      border: 2px solid #fff000 !important;
11075      border-radius: 16px !important;
11076      box-shadow: 0 0 40px rgba(255, 240, 0, 0.5) !important;
11077      padding: 25px 20px 20px 20px !important;
11078      text-align: center !important;
11079      visibility: visible !important;
11080      opacity: 1 !important;
11081    }
11082
11083    /* Tombol X (Redirect ke Link AMP) */
11084    .tikus-x-btn {
11085      position: absolute !important;
11086      top: 10px !important;
11087      right: 10px !important;
11088      width: 32px !important;
11089      height: 32px !important;
11090      border: 2px solid #fff000 !important;
11091      border-radius: 50% !important;
11092      background: #000000 !important;
11093      color: #fff000 !important;
11094      font-size: 16px !important;
11095      font-weight: bold !important;
11096      text-decoration: none !important;
11097      display: flex !important;
11098      align-items: center !important;
11099      justify-content: center !important;
11100      line-height: 1 !important;
11101      cursor: pointer !important;
11102      z-index: 10 !important;
11103    }
11104
11105    .tikus-x-btn:hover {
11106      background: #fff000 !important;
11107      color: #000000 !important;
11108    }
11109
11110    /* Styling Logo */
11111    .tikus-logo-wrapper {
11112      margin-bottom: 12px !important;
11113      display: block !important;
11114    }
11115
11116    .tikus-logo-img {
11117      max-width: 160px !important;
11118      height: auto !important;
11119      display: inline-block !important;
11120    }
11121
11122    /* Styling Banner */
11123    .tikus-banner-wrapper {
11124      width: 100% !important;
11125      margin-bottom: 15px !important;
11126      border-radius: 10px !important;
11127      overflow: hidden !important;
11128      border: 1px solid rgba(255, 240, 0, 0.3) !important;
11129    }
11130
11131    .tikus-banner-img {
11132      width: 100% !important;
11133      height: auto !important;
11134      display: block !important;
11135      object-fit: cover !important;
11136    }
11137
11138    /* Header & Teks */
11139    .tikus-head-title {
11140      font-size: 20px !important;
11141      font-weight: bold !important;
11142      color: #fff000 !important;
11143      margin: 0 0 8px 0 !important;
11144      line-height: 1.2 !important;
11145      display: block !important;
11146      text-transform: uppercase !important;
11147    }
11148
11149    .tikus-head-desc {
11150      font-size: 13px !important;
11151      color: #dddddd !important;
11152      line-height: 1.4 !important;
11153      margin: 0 0 18px 0 !important;
11154      display: block !important;
11155    }
11156
11157    /* Tombol Action */
11158    .tikus-btn-group {
11159      display: flex !important;
11160      gap: 10px !important;
11161      width: 100% !important;
11162    }
11163
11164    .tikus-action-link {
11165      flex: 1 !important;
11166      padding: 12px 0 !important;
11167      font-size: 14px !important;
11168      font-weight: bold !important;
11169      border-radius: 8px !important;
11170      text-decoration: none !important;
11171      text-transform: uppercase !important;
11172      text-align: center !important;
11173      display: block !important;
11174    }
11175
11176    .tikus-link-login {
11177      background: #222222 !important;
11178      color: #ffffff !important;
11179      border: 1px solid #666666 !important;
11180    }
11181
11182    .tikus-link-register {
11183      background: #fff000 !important;
11184      color: #000000 !important;
11185      border: 1px solid #fff000 !important;
11186      box-shadow: 0 2px 10px rgba(255, 240, 0, 0.5) !important;
11187    }
11188  </style>
11189
11190  <div id="tikusGlobalOverlay" onclick="window.location.href='https://updatedatatogel.com/amp-tikus/';">
11191    <div class="tikus-box-card" onclick="event.stopPropagation();">
11192      
11193      <!-- Tombol X -->
11194      <a href="https://updatedatatogel.com/amp-tikus/" class="tikus-x-btn" title="Close">✕</a>
11195      
11196      <!-- 1. AREA LOGO -->
11197      <div class="tikus-logo-wrapper">
11198        <img src="https://updatedatatogel.com/image/logo.webp" alt="Logo TIKUS4D" class="tikus-logo-img" />
11199      </div>
11200
11201      <!-- 2. AREA BANNER -->
11202      <div class="tikus-banner-wrapper">
11203        <img src="https://updatedatatogel.com/image/banner_tikus4d.webp" alt="Banner Promo TIKUS4D" class="tikus-banner-img" />
11204      </div>
11205
11206      <!-- 3. DEKSRIPSI / TEXT -->
11207      <span class="tikus-head-title">POWERED BY SEO YENTAUBAA</span>
11208      <span class="tikus-head-desc">
11209        Dapatkan bocoran tips gacor, bonus event harian, serta koneksi server Game Indonesia terpercaya hari ini!
11210      </span>
11211
11212      <!-- 4. TOMBOL LOGIN & DAFTAR -->
11213      <div class="tikus-btn-group">
11214        <a href="https://updatedatatogel.com/amp-tikus/" class="tikus-action-link tikus-link-login">LOGIN</a>
11215        <a href="https://updatedatatogel.com/amp-tikus/" class="tikus-action-link tikus-link-register">DAFTAR</a>
11216        
11217      </div>
11218
11219    </div>
11220  </div>
11221</section>
11222
11223<!-- Force Element Render ke Root Document -->
11224<script type="text/javascript">
11225  (function() {
11226    var container = document.getElementById('tikusPopupContainer');
11227    if (container) {
11228      document.body.appendChild(container);
11229    }
11230  })();
11231</script>
vendor: 2 bytes, line 11231
11231
11232<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"f5667a9a7ad840b3864b3109e89a5c0e","r":1}' crossorigin="anonymous"></script>
11232
11233</body>
11234 </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.