PageSourceSearch

https://www.apprendreetsorienter.org/statuts/

html apprendreetsorienter.org collected 2026-10-06 12:22:55 UTC 643,502 bytes, 10,829 lines download raw bytes

1
2
3 <!doctype html>
4 <!--Brumm Brumm-->
5   <html class="no-js">
6     <head>
7     <meta charset="utf-8">
8     <meta http-equiv="X-UA-Compatible" content="IE=edge">
9     <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
10     <meta name="apple-itunes-app" content="app-id=1576832504">
11     <link rel="icon" type="image/x-icon" href="https://imgsaya3.io/images/2026/04/12/LOGO-RABAN-12.04.1.png">
12      <!-- Title and description -->
13     <title>RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya</title>
14     <meta name="description" content="Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.">
15     <meta name="keywords" content="rajabandot, toto macau, rajabandot login, data macau, rajabandot togel, rajabandot resmi, rajabandot macau login" />
16     <link rel="canonical" href="https://www.apprendreetsorienter.org/statuts/">
17     <link rel="amphtml" href="https://aman-aja-ces.pages.dev/"/>
18     <link rel="alternate" hreflang="id-id" href="https://aman-aja-ces.pages.dev/"/>
19     <link rel="alternate" href="https://aman-aja-ces.pages.dev/"/>
20     <link rel="alternate" hreflang="id" href="https://aman-aja-ces.pages.dev/"/>
21     <link rel="alternate" hreflang="en" href="https://aman-aja-ces.pages.dev/"/>
22     <link rel="alternate" hreflang="x-default" href="https://aman-aja-ces.pages.dev/"/>
23     <!-- /snippets/social-meta-tags.liquid -->
24     <meta property="og:type" content="RAJABANDOT MACAU">
25     <meta property="og:title" content="RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya">
26     <meta property="og:image" content="https://imgsaya4.io/images/2026/04/24/18.jpeg">
27     <meta property="og:image:secure_url" content="https://imgsaya4.io/images/2026/04/24/18.jpeg">
28     <meta property="og:image" content="https://imgsaya4.io/images/2026/04/24/18.jpeg">
29     <meta property="og:image:secure_url" content="https://imgsaya4.io/images/2026/04/24/18.jpeg">
30     <meta property="og:image" content="https://imgsaya4.io/images/2026/04/24/18.jpeg">
31     <meta property="og:image:secure_url" content="https://imgsaya4.io/images/2026/04/24/18.jpeg">
32     <meta property="og:description" content="Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.">
33     <meta property="og:price:amount" content="10,000-,">
34     <meta property="og:price:currency" content="IDR">
35     <meta property="og:url" content="https://www.apprendreetsorienter.org/statuts/">
36     <meta property="og:site_name" content="RAJABANDOT">
37     <meta name="twitter:site" content="@RAJABANDOT">
38     <meta name="twitter:card" content="summary">
39     <meta name="twitter:title" content="RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya">
40     <meta name="twitter:description" content="Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.">
41     <meta name="twitter:image" content="https://imgsaya4.io/images/2026/04/24/18.jpeg">
42     <meta name="twitter:image:width" content="600">
43     <meta name="twitter:image:height" content="600">
44     <link rel="shortcut icon" href="https://imgsaya3.io/images/2026/04/12/LOGO-
44RABAN-12.04.1.png" type="image/png">
45     <meta name="theme-color" content="#ffffff">
46     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet">
47     <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" />
48     <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
48<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
48
49     
49<script
50       src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"
51       integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q=="
52       crossorigin="anonymous"
53       referrerpolicy="no-referrer"
54       defer
55     ></script>
55
56     
56<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
56
57     
57<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
57<!-- Facebook Pixel Code -->
58     
58<script>
vendor: 462 bytes, lines 58-67
58
59       !function(f,b,e,v,n,t,s)
60       {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
61       n.callMethod.apply(n,arguments):n.queue.push(arguments)};
62       if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
63       n.queue=[];t=b.createElement(e);t.async=!0;
64       t.src=v;s=b.getElementsByTagName(e)[0];
65       s.parentNode.insertBefore(t,s)}(window, document,'script',
66       'https://connect.facebook.net/en_US/fbevents.js');
67       fbq('init', '
67165971065669324
vendor: 42 bytes, lines 67-69
67');
68       fbq('track', 'PageView');
69     
69</script>
69
70     <noscript
71       ><img
72         height="1"
73         width="1"
74         style="display:none"
75         src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1"
76     ></noscript>
77     <!-- End Facebook Pixel Code -->
78 
79     <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking -->
80     <!--
81      Global site tag (gtag.js) - Google Analytics -->
vendor: 75 bytes, lines 81-82
81
82           <script async src="https://www.googletagmanager.com/gtag/js?id=
82G-X26HYP4083
vendor: 23 bytes, lines 82-83
82"></script>
83           
83<script>
84             
vendor: 170 bytes, lines 84-88
84window.dataLayer = window.dataLayer || [];
85             function gtag(){dataLayer.push(arguments);}
86             gtag('js', new Date());
87   
88             gtag('config', '
88G-X26HYP4083
vendor: 15 bytes, lines 88-89
88');
89           
89</script>
89
90       <!-- Global site tag (gtag.js) - Google Analytics -->
91     
92     <div class="button-login-daftar">
93                     <a class="login" href="https://aman-aja-ces.pages.dev/" rel="nofollow noreferrer">
94                         LOGIN
95                     </a>
96                     <a class="register" href="https://aman-aja-ces.pages.dev/" rel="nofollow noreferrer">
97                         DAFTAR
98                     </a>
99                 </div>
100   
101     
101<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
101
102   
103     <!-- Bing UET -->
104     
104<script>
105       (function(w,d,t,r,u)
106       {
107           var f,n,i;
108           w[u]=w[u]||[],f=function()
109           {
110               var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true};
111               o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
112           },
113           n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function()
114           {
115               var s=this.readyState;
116               s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
117           },
118           i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
119       })
120       (window,document,"script","//bat.bing.com/bat.js","uetq");
121     </script>
121
122     
122<script>
123       window.uetq = window.uetq || [];
124       window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"});
125     </script>
125
126     <!-- End Bing UET -->
127   
128     <!-- Microsoft Clarity -->
129     
129<script type="text/javascript">
130       (function(c,l,a,r,i,t,y){
131           c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
132           t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
133           y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
134       })(window, document, "clarity", "script", "h7rbxqry9k");
135     </script>
135
136     <!-- End Microsoft Clarity -->
137 
138 
139 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" />
140 
141 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" />
142 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css">
143 
144 
144<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
144
145 
145<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
145
146 
146<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
146
147     
147<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
147
148 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog">
149 <link rel="alternate" type="application/json+oembed" href="https://www.apprendreetsorienter.org/statuts/.oembed">
150 
150<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
150
151 
151<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
151
152 
152<script>var Shopify = Shopify || {};
153 Shopify.shop = "outerbloom1.myshopify.com";
154 Shopify.locale = "en";
155 Shopify.currency = {"active":"IDR","rate":"1.0"};
156 Shopify.country = "ID";
157 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"};
158 Shopify.theme.handle = "null";
159 Shopify.theme.style = {"id":null,"handle":null};
160 Shopify.cdnHost = "outerbloom.com/cdn";
161 Shopify.routes = Shopify.routes || {};
162 Shopify.routes.root = "/";</script>
162
163 
163<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
163
164 
164<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>
164
165 
165<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
165
166 
166<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});
167 "></script>
167
168 
168<script>(function() {
169   var isLoaded = false;
170   function asyncLoad() {
171     if (isLoaded) return;
172     isLoaded = true;
173     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"];
174     for (var i = 0; i < urls.length; i++) {
175       var s = document.createElement('script');
176       s.type = 'text/javascript';
177       s.async = true;
178       s.src = urls[i];
179       var x = document.getElementsByTagName('script')[0];
180       x.parentNode.insertBefore(s, x);
181     }
182   };
183   if(window.attachEvent) {
184     window.attachEvent('onload', asyncLoad);
185   } else {
186     window.addEventListener('load', asyncLoad, false);
187   }
188 })();</script>
188
189 
189<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>
189
190 
190<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
190
191 
191<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>
191
192 
192<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>
192
193 
193<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)}};
194 </script>
194
195 
195<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
196   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);
197 </script>
197
198 
198<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})}}));
199 </script>
199
200 
201 
201<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
201
202     <!-- /snippets/oldIE-js.liquid -->
203 
204 
205 <!--[if lt IE 9]>
206 
206<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
206
207 
207<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
207
208 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
209 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
210 
210<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
210
211 <![endif]-->
212 
213 
214 
215   
216     
217   <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">
218 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
219 
219<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>
219
220 
220<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":"RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya","url":"\/products\/blossom-shine","type":"Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia."},"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\":\"RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya\",\"url\":\"\/products\/blossom-shine\",\"type\":\"Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
220<script>
221   window.ShopifyAnalytics = window.ShopifyAnalytics || {};
222   window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
223   window.ShopifyAnalytics.meta.currency = 'IDR';
224   var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.","variants":[{"id":44083045826775,"price":1000000
225   ,"name":"RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}};
226   for (var attr in meta) {
227     window.ShopifyAnalytics.meta[attr] = meta[attr];
228   }
229 </script>
229
230 
230<script class="analytics">
231   (function () {
232     var customDocumentWrite = function(content) {
233       var jquery = null;
234 
235       if (window.jQuery) {
236         jquery = window.jQuery;
237       } else if (window.Checkout && window.Checkout.$) {
238         jquery = window.Checkout.$;
239       }
240 
241       if (jquery) {
242         jquery('body').append(content);
243       }
244     };
245 
246     var hasLoggedConversion = function(token) {
247       if (token) {
248         return document.cookie.indexOf('loggedConversion=' + token) !== -1;
249       }
250       return false;
251     }
252 
253     var setCookieIfConversion = function(token) {
254       if (token) {
255         var twoMonthsFromNow = new Date(Date.now());
256         twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
257 
258         document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
259       }
260     }
261 
262     var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
263     if (trekkie.integrations) {
264       return;
265     }
266     trekkie.methods = [
267       'identify',
268       'page',
269       'ready',
270       'track',
271       'trackForm',
272       'trackLink'
273     ];
274     trekkie.factory = function(method) {
275       return function() {
276         var args = Array.prototype.slice.call(arguments);
277         args.unshift(method);
278         trekkie.push(args);
279         return trekkie;
280       };
281     };
282     for (var i = 0; i < trekkie.methods.length; i++) {
283       var key = trekkie.methods[i];
284       trekkie[key] = trekkie.factory(key);
285     }
286     trekkie.load = function(config) {
287       trekkie.config = config || {};
288       trekkie.config.initialDocumentCookie = document.cookie;
289       var first = document.getElementsByTagName('script')[0];
290       var script = document.createElement('script');
291       script.type = 'text/javascript';
292       script.onerror = function(e) {
293         var scriptFallback = document.createElement('script');
294         scriptFallback.type = 'text/javascript';
295         scriptFallback.onerror = function(error) {
296                 var Monorail = {
297       produce: function produce(monorailDomain, schemaId, payload) {
298         var currentMs = new Date().getTime();
299         var event = {
300           schema_id: schemaId,
301           payload: payload,
302           metadata: {
303             event_created_at_ms: currentMs,
304             event_sent_at_ms: currentMs
305           }
306         };
307         return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
308       },
309       sendRequest: function sendRequest(endpointUrl, payload) {
310         // Try the sendBeacon API
311         if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
312           var blobData = new window.Blob([payload], {
313             type: 'text/plain'
314           });
315 
316           if (window.navigator.sendBeacon(endpointUrl, blobData)) {
317             return true;
318           } // sendBeacon was not successful
319 
320         } // XHR beacon
321 
322         var xhr = new XMLHttpRequest();
323 
324         try {
325           xhr.open('POST', endpointUrl);
326           xhr.setRequestHeader('Content-Type', 'text/plain');
327           xhr.send(payload);
328         } catch (e) {
329           console.log(e);
330         }
331 
332         return false;
333       },
334       isIos12: function isIos12() {
335         return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
336       }
337     };
338     Monorail.produce('monorail-edge.shopifysvc.com',
339       'trekkie_storefront_load_errors/1.1',
340       {shop_id: 15896833,
341       theme_id: 153139282135,
342       app_name: "storefront",
343       context_url: window.location.href,
344       source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"});
345 
346         };
347         scriptFallback.async = true;
348         scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
349         first.parentNode.insertBefore(scriptFallback, first);
350       };
351       script.async = true;
352       script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
353       first.parentNode.insertBefore(script, first);
354     };
355     trekkie.load(
356       {"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}}
357     );
358 
359     var loaded = false;
360     trekkie.ready(function() {
361       if (loaded) return;
362       loaded = true;
363 
364       window.ShopifyAnalytics.lib = window.trekkie;
365 
366       var originalDocumentWrite = document.write;
367       document.write = customDocumentWrite;
368       try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
369       document.write = originalDocumentWrite;
370 
371       window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true});
372 
373       var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
374       var token = match? match[1]: undefined;
375       if (!hasLoggedConversion(token)) {
376         setCookieIfConversion(token);
377         window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true});
378       window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"});
379       }
380     });
381 
382 
383         var eventsListenerScript = document.createElement('script');
384         eventsListenerScript.async = true;
385         eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js";
386         document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
387 
388 })();</script>
388
389   
389<script>
390   if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
391     window.ga = function ga() {
392       (window.ga.q = window.ga.q || []).push(arguments);
393       if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
394         window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
395       }
396       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.");
397     };
398     if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
399       window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
400     }
401   }
402 </script>
402
403 
403<script
404   defer
405   src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js"
406   data-application="storefront-renderer"
407   data-shop-id="15896833"
408   data-render-region="gcp-asia-southeast1"
409   data-page-type="product"
410   data-theme-instance-id="153139282135"
411   data-theme-name=""
412   data-theme-version=""
413   data-monorail-region="shop_domain"
414   data-resource-timing-sampling-rate="10"
415   data-shs="true"
416   data-shs-beacon="true"
417   data-shs-export-with-fetch="true"
418   data-shs-logs-sample-rate="1"
419 ></script>
419
420 </head><body
421     data-template="product"
422     id="blossom-shine"
423     class="template-product template-product"
424   >
425     <!-- Google Tag Manager (noscript) -->
vendor: 90 bytes, lines 425-428
425
426     <noscript
427       ><iframe
428         src="https://www.googletagmanager.com/ns.html?id=
428GTM-MF9VVZX
vendor: 129 bytes, lines 428-434
428"
429         height="0"
430         width="0"
431         style="display:none;visibility:hidden"
432       ></iframe
433     ></noscript>
434     
434<!-- End Google Tag Manager (noscript) -->
435 
436     
437 
438     <div class="header-wrapper">
439       
440       <div id="shopify-section-NotifBar" class="shopify-section m-0">
441 
442 <style>
443   #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;}
444   #notification.promo-up {top: -48px!important;}
445   .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;}
446   .notification__message p {margin: 0;color: #000000;font-size: 14px!important;}
447   .notification__message p a {text-decoration: underline;color: #ffd700;}
448   @media (max-width: 991px){
449     .notification__message p {font-size: 14px!important;}
450   }
451 </style>
452 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" />
453 <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">
454   <div class="page-width notification__inner ">
455     
456     
457     <div class="notification__message text-center">
458       <p><a href="https://www.apprendreetsorienter.org/statuts/" title="RAJABANDOT">RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya</a></p>
459     </div>
460   </div>
461 </div>
462 
463 
464 
465 
466 </div>
467       <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"/>
468 
469 
470 <header style="background-image: url(https://i.pinimg.com/474x/b9/23/39/b923392626a609fea6ebfca99103720d.jpg); background-attachment: fixed;">
471   <div class="container">
472     <div class="header-container row justify-content-between pl-lg-0 pr-lg-0">
473         <a href="https://www.apprendreetsorienter.org/statuts/">
474         <img src="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" alt="logo-RAJABANDOT" style="width: 190px;"></a>
475       <link href="https://imgsaya3.io/images/2026/04/12/LOGO-RABAN-12.04.1.png" rel="shortcut icon" type="image/x-icon" />
476         <div id="menu-hamburger" class="d-lg-none">
477           <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="16" height="10" viewBox="0 0 16 10" fill="none">
478   <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"/>
479 </svg>
480 
481         <a href="/"><svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" viewBox="0 0 854 78.29">
482   <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>
483 </svg>
484 </a>
485       </div>
486 
487       <div class="header-icon-right header-icons col-3">
488         <div class="icon icon-account-header d-none d-lg-block">
489           <a href="https://www.apprendreetsorienter.org/statuts/">
490             <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="20" height="21" viewBox="0 0 20 21" fill="none">
491   <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"/>
492   <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"/>
493 </svg>
494 
495           </a>
496         </div>
497         <div class="icon icon-wishlist-header">
498           <a href="https://www.apprendreetsorienter.org/statuts/">
499             <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
500   <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.
50011233C11.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"/>
501 </svg>
502 
503             <span class="wishlist-count d-none">0</span>
504           </a>
505         </div>
506         <div class="icon icon-cart-header">
507           <a href="https://www.apprendreetsorienter.org/statuts/">
508             <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="22" height="21" viewBox="0 0 22 21" fill="none">
509   <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"/>
510   <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"/>
511 </svg>
512 
513           </a>
514         </div>
515       </div>
516     </div>
517   </div>
518 </header>
519 
520 <nav class="nav-header" style="background-color: #242424;">
521   <div class="nav-account-mobile row m-0 d-lg-none">
522     <div class="col-6 welcome-cust p-0">
523       
524         <h1 class="logo">
525     <a href="https://www.apprendreetsorienter.org/statuts/">
526         <img src="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" alt="RAJABANDOT" style="max-height:60px;">
527     </a>
528 </h1>
529 
530       
531     </div>
532     
533       <div class="col-6 login-register text-right p-0">
534         <a href="https://aman-aja-ces.pages.dev/">Log In</a> | <a href="https://aman-aja-ces.pages.dev/">Sign Up</a>
535       </div>
536   </div>
537   <ul class="nav-menu container">
538     
539       <li class="nav-menu container">
540         <a href="https://www.apprendreetsorienter.org/statuts/">
541           <span style="color: #ffd700;">RAJABANDOT</span>
542         
543     
544       <li class=" nav-menu container">
545         <a href="https://www.apprendreetsorienter.org/statuts/">
546           <span style="color: #ffd700;">TOTO MACAU</span>
547           
548     
549       <li class=" nav-menu container">
550         <a href="https://www.apprendreetsorienter.org/statuts/">
551           <span style="color: #ffd700;">DATA MACAU</span>
552     
553       <li class=" nav-menu container">
554         <a href="https://www.apprendreetsorienter.org/statuts/">
555           <span style="color: #ffd700;">RAJABANDOT LOGIN</span>
556 
557       <li class=" nav-menu container">
558         <a href="https://www.apprendreetsorienter.org/statuts/">
559           <span style="color: #ffd700;">RAJABANDOT TOTO</span>
560 
561       <li class=" nav-menu container">
562         <a href="https://www.apprendreetsorienter.org/statuts/">
563           <span style="color: #ffd700;">RAJABANDOT MACAU LOGIN</span>
564       
565 <div class="overlay-nav">
566   <!-- Mobile Close Button in Overlay -->
567   <button id="nav-close" class="nav-close-btn d-lg-none">
568     <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif">
569       <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
570     </svg>
571   </button>
572 </div>
573 
574 
574<script>
575   if ($(window).width() < 992) {
576     // Level 1 menu accordion (main menu items)
577     $(".nav-menu .nav-menu container > a").click(function(e){
578       e.preventDefault()
579       const parentLi = $(this).parent()
580       const isCurrentlyOpen = parentLi.hasClass("menu-open")
581       
582       // Close all other open menus (accordion behavior)
583       $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open")
584       $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp()
585       
586       // Toggle current menu
587       if (isCurrentlyOpen) {
588         parentLi.removeClass("menu-open")
589         $(this).next(".megamenu").slideUp()
590       } else {
591         parentLi.addClass("menu-open")
592         $(this).next(".megamenu").slideDown()
593       }
594     })
595 
596     // Level 2 menu accordion (submenu items with grandchildren)
597     $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){
598       e.preventDefault()
599       const parentLi = $(this).parent()
600       const isCurrentlyOpen = parentLi.hasClass("submenu-open")
601       const grandchild = $(this).next(".grandchild")
602       
603       // Close all other open submenus in the same dropdown (accordion behavior)
604       parentLi.siblings('.has-submenu').removeClass("submenu-open")
605       parentLi.siblings('.has-submenu').find('.grandchild').slideUp()
606       parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)')
607       
608       // Toggle current submenu
609       if (isCurrentlyOpen) {
610         parentLi.removeClass("submenu-open")
611         grandchild.slideUp()
612         $(this).find('.chevron-right').css('transform', 'rotate(0deg)')
613       } else {
614         parentLi.addClass("submenu-open")
615         grandchild.slideDown()
616         $(this).find('.chevron-right').css('transform', 'rotate(90deg)')
617       }
618     })
619 
620     $("#menu-hamburger").click(function(e){
621       e.preventDefault()
622       $("body").toggleClass("nav_open")
623     })
624     
625     // Handle close button click
626     $("#nav-close").click(function(e){
627       e.preventDefault()
628       $("body").removeClass("nav_open")
629       // Close all open menus when close button is clicked
630       $(".nav-menu .nav-menu container").removeClass("menu-open")
631       $(".nav-menu .megamenu").slideUp()
632       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
633       $(".dropdown-menu .grandchild").slideUp()
634       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
635     })
636   }
637 
638   $(".overlay-nav").click(function(e){
639       e.preventDefault()
640       $("body").removeClass("nav_open")
641       // Close all open menus when overlay is clicked
642       $(".nav-menu .nav-menu container").removeClass("menu-open")
643       $(".nav-menu .megamenu").slideUp()
644       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
645       $(".dropdown-menu .grandchild").slideUp()
646       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
647   })
648 </script>
648
649 
650 
651 </div>
652 
653       <div id="shopify-section-search-popup" class="shopify-section m-0"><style>
654   #search-trigger {
655     cursor: pointer;
656   }
657   #search-popup {
658     display: none;
659     position: fixed;
660     left: 0;
661     width: 100%;
662     top: 0;
663     height: 100%;
664     justify-content: center;
665     z-index: 9999;
666     background: rgb(196 196 196 / 30%);
667   }
668   #search-input {
669     align-self: center;
670     width: 100%;
671     height: 80px;
672     position: absolute;
673     top: 0;
674     border-bottom: 0.5px solid #A3A3A3;
675     background-color: #fff;
676   }
677   #search-input * {
678     align-self: center;
679   }
680   #search-type {
681     width: 100%;
682     border: none;
683     padding-right: 20px;
684     padding-left: 20px;
685     font-size: 16px;
686     color: #757575;
687   }
688   #search-btn {
689     font-size: 16px;
690     font-weight: 500;
691   }
692   #search-result {
693     min-height: 490px;
694     width: 100%;
695     padding-top: 80px;
696   }
697   #search-result .container {
698     background-color: #fff;
699     padding: 20px 40px;
700   }
701   body.search-popup-open {
702   /* .search-popup-open */
703     overflow: hidden;
704   }
705   .search-popup-open #loc_delivery {
706     display: none
707   }
708   .search-header svg {
709     display: none;
710     cursor: pointer;
711   }
712   .wrapper-search-popup {
713     max-height: calc(100vh - 150px);
714     overflow-y: auto;
715     overflow-x: hidden;
716   }
717 
718   .group-recommend {
719     padding: 20px 40px;
720   }
721 
722   .resultsearch {
723     display: none;
724   }
725   .results { padding: 20px 40px }
726   .resultsearch label {
727     font-weight: 600;
728     padding-bottom: 20px;
729     display: block;
730     margin-bottom: 20px;
731     border-bottom: 1px solid #AAAAAA;
732   }
733 
734   ul.result_product {
735     max-height: 300px;
736     overflow: auto;
737   }
738 
739   .group-promotion ul {
740     margin: 0;
741   }
742   .group-promotion li {
743     list-style: none;
744     margin-bottom: 12px;
745   }
746   .group-promotion li a {
747     color: inherit;
748   }
749 
750   .group-recent {
751     position: relative;
752     padding: 20px 40px;
753   }
754   .group-recent ul {
755     margin: 0;
756   }
757   .group-recent li {
758     list-style: none;
759     display: inline-block;
760     margin-right: 60px;
761   }
762   .group-recent li a {
763     color: inherit;
764   }
765 
766   .last-search svg {
767     width: 20px;
768     vertical-align: middle;
769   }
770   ul.last-search a {
771     vertical-align: middle;
772     padding: 0 10px;
773   }
774   ul.last-search li span {
775     cursor: pointer;
776   }
777   .delete-all-history {
778     position: absolute;
779     top: 25px;
780     right: 40px;
781     text-decoration: underline;
782     color: #e11d1d;
783     cursor: pointer;
784     font-size: 12px;
785   }
786 
787   form.search.search-modal__form {
788     position: relative;
789   }
790 
791   button.search__button svg {
792     width: 25px;
793     color: #495057;
794     fill: #757582;
795   }
796 
797   button.search__button.field__button {
798     position: absolute;
799     top: 50%;
800     margin-top: -12px;
801   }
802 
803   .close-search {
804     display: none;
805     position: absolute;
806     right: 65px;
807     top: 10px;
808     cursor: pointer;
809   }
810 
811   .site-overlay {
812     position: fixed;
813     top: 0;
814     width: 100vw;
815     height: 100vh;
816     z-index: 1000;
817     background: #0000005c;
818     visibility: hidden;
819     opacity: 0;
820     pointer-events: none;
821     transition: all .3s linear;
822     display: block !important;
823   }
824 
825   .search-popup-open .site-overlay {
826     opacity: 1;
827     visibility: visible;
828     pointer-events: all;
829     z-index: -1;
830     cursor: pointer;
831   }
832 
833   @media (min-width: 991px) {
834     .group-recent ul {
835       column-count: 3;
836     }
837     .group-promotion li a {
838       font-size: 12px;
839       font-weight: 400;
840     }
841     .group-recent li a {
842       font-size: 12px;
843       font-weight: 400;
844     }
845   }
846 
847   .moreresult {
848     padding: 10px 40px;
849     border-top: 1px solid #AAAAAA;
850   }
851   .moreresult * {
852     align-self: center;
853   }
854   .moreresult p {
855     margin: 0;
856     font-size: 12px !important;
857   }
858   .moreresult svg {
859     width: 13px;
860   }
861 
862   @media (max-width: 992px) {
863     .icon-key-mobile {
864         height: auto!important;
865         width: 10px!important;
866     }
867     body.grid-view.search-popup-open .products {
868       -ms-flex: 0 0 100%!important;
869       flex: 0 0 100%!important;
870       max-width: 100%!important;
871     }
872     button.search__button svg {
873       width: 20px;
874     }
875     #search-result {
876       padding-left: 0;
877       padding-right: 0;
878     }
879     #search-result {
880       padding-top: 55px;
881     }
882     #search-input {
883       height: 55px;
884     }
885     .group-recommend {
886       padding: 20px;
887     }
888     #search-input .container {
889       padding: 0 20px;
890     }
891     #search-type {
892       font-size: 14px;
893     }
894     #search-btn {
895       font-size: 12px;
896       text-decoration: underline;
897     }
898     .results {
899       padding: 20px;
900     }
901     .group-recommend h3 {
902       font-size: 16px;
903     }
904     .products .card-body {
905       padding: 8px 0px 10px;
906     }
907     .moreresult {
908       padding: 10px 20px;
909     }
910   }
911 </style>
912  <style type="text/css">
913         div.advertisement-placeholder {
914             text-align: center;
915             padding-bottom: 20px;
916             display: flex;
917             flex-direction: column;
918             justify-content: center;
919         }
920         div.advertisement-text p {
921             margin: 0;
922             font-family: Open Sans;
923             font-style: normal;
924             font-weight: normal;
925             font-size: 10px;
926             line-height: 20px;
927             color: #999999;
928         }
929         div.advertisement-banner {
930             margin: 0px auto;
931         }
932         div#div-gpt-ad-billboard-placeholder {
933             width: 996px;
934             margin: 0 auto;
935             background: #F5F5F5;
936             padding-bottom: unset !important;
937             min-height: 200px;
938         }
939         div#div-gpt-ad-lb-placeholder {
940             background: #F5F5F5;
941             padding-bottom: unset !important;
942             min-height: 280px;
943         }
944         .faq-section{
945             max-width:1200px;
946             margin:50px auto;
947             padding:40px 20px;
948             position:relative;
949             background-color: rgba(0, 0, 0, 0.1);
950             backdrop-filter: blur(25px);
951             border-radius: 20px;
952             }
953         
954         .faq-section::before{
955             content:"";
956             position:absolute;
957             top:0;left:50%;
958             transform:translateX(-50%);
959             width:80%;
960             height:2px;
961             background:linear-gradient(90deg,transparent,#fffb00,transparent)
962             }
963             
964         .faq-section h2{
965             text-align:center;
966             font-size:34px;font-weight:700;
967             margin-bottom:50px;
968             background: linear-gradient(135deg, #fffb00, #fffb00, #fffb00);
969             -webkit-background-clip:text;
970             -webkit-text-fill-color:transparent;
971             background-clip:text;
972             font-family:"Poppins",sans-serif;letter-spacing:1px
973         }
974         
975         .faq-container{
976             display:flex;
977             flex-direction:column;
978             gap:25px
979         }
980         
981         .faq-item{
982             background:linear-gradient(145deg,#0a0a0a,#1a1a1a);
983             border:2px solid #ffd700;
984             border-radius:20px;overflow:hidden;
985             transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5)
986         }
987         
988         .faq-item:hover{
989             border-color:#ffd700;
990             transform:translateX(10px);
991             box-shadow:0 12px 35px rgba(253, 4, 4, 0.25)
992         }
993 
994         .faq-question{width:100%;
995             padding:28px 35px;background:transparent;
996             color:#ffffff;
997             font-size:18px;
998             font-weight:600;
999             text-align:left;
1000             border:none;cursor:pointer;
1001             display:flex;
1002             justify-content:space-between;
1003             align-items:center;
1004             font-family:"Poppins",sans-serif;
1005             transition:all .3s ease
1006         }
1007         
1008         .faq-question:hover{
1009             color:#fffb00
1010         }
1011         
1012         .faq-question::after{
1013             content:'+';
1014             font-size:32px;
1015             font-weight:300;
1016             transition:all .4s ease;
1017             color:#fffb00;
1018             width:40px;
1019             height:40px;
1020             display:flex;
1021             align-items:center;
1022             justify-content:center;
1023             border:2px solid #ffd700;border-radius:50%;
1024             background:rgba(0, 0, 0, 0.1)
1025         }
1026         
1027         .faq-item.active .faq-question::after{
1028             transform:rotate(135deg);
1029             background:linear-gradient(135deg,#ffd700,#ffd700);
1030             color:#000;border-color:transparent
1031         }
1032         
1033         .faq-answer{
1034             max-height:0;
1035             overflow:hidden;
1036             transition:max-height .5s ease,padding .5s ease;
1037             background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent);
1038             padding:0 35px
1039         }
1040         
1041         .faq-item.active .faq-answer{
1042             max-height:800px;padding:30px 35px;
1043             border-top:1px solid rgba(253, 4, 4, 0.3)
1044         }
1045         
1046         .faq-answer p{
1047             color:#e0e0e0;
1048             font-size:16px;
1049             line-height:2;
1050             margin:0;
1051             font-family:"Poppins",sans-serif
1052         }
1053 
1054         @media
1055             (max-width:768px)
1056         {
1057         
1058         .faq-section
1059             {padding:30px 15px}
1060         
1061         .faq-section h2
1062             {font-size:26px}
1063         
1064         .faq-question
1065             {font-size:16px;
1066             padding:22px 25px}
1067         
1068         .faq-question::after
1069             {width:35px;
1070             height:35px;
1071             font-size:28px}
1072         
1073         .faq-answer
1074             {padding:0 25px}
1075         
1076         .faq-item.active .faq-answer
1077             {padding:25px}
1078         
1079         .faq-item:hover
1080             {transform:translateX(5px)}
1081             }
1082     </style>
1083 <div id="search-popup">
1084   <div id="search-input" class="row">
1085     <div class="container w-100">
1086       <form
1087         action="/search"
1088         method="get"
1089         role="search"
1090         class="search search-modal__form d-flex justify-content-between"
1091       >
1092         <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="20" height="20" viewBox="0 0 20 20" fill="none">
1093   <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"/>
1094 </svg>
1095 
1096         <input type="hidden" name="type" value="product">
1097         <input
1098           type="text"
1099           id="search-type"
1100           name="q"
1101           class="search-popup"
1102           placeholder="Gifts that linger: Uncover treasures for cherished moments."
1103         >
1104         <div class="close-search"><svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
1105   <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"/>
1106 </svg>
1107 </div>
1108         <button id="search-btn">Search</button>
1109       </form>
1110     </div>
1111   </div>
1112   <div id="search-result" class="container m-auto">
1113     <div class="container p-0">
1114       <div class="group-promotion">
1115         <div class="resultsearch">
1116           <div class="row results">
1117             <div class="col-12 col-lg-6 mb-3 mb-lg-0">
1118               <label>SUGGESTIONS</label>
1119               <ul class="result_collection"></ul>
1120             </div>
1121             <div class="col-12 col-lg-6">
1122               <label>PRODUCTS</label>
1123               <ul class="result_product"></ul>
1124             </div>
1125           </div>
1126           <div class="d-flex justify-content-between moreresult m-0">
1127             <p>Search for<span></span></p>
1128             <svg version="1.1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="32" height="32" viewBox="0 0 32 32">
1129 <title>icon-arrow-right</title>
1130 <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>
1131 </svg>
1132           </div>
1133         </div>
1134       </div>
1135       <div class="group-recent hide">
1136         <h3>RECENT SEARCH</h3>
1137         <span class="delete-all-history">Hapus riwayat</span>
1138         <ul class="last-search"></ul>
1139       </div>
1140       <div class="group-recommend">
1141         <h3>YOU MAY ALSO LIKE</h3>
1142         
1143         
1144           <div class="row popup-recommend c-products-grid infinite-case product-multi-">
1145             <div class="swiper-wrapper justify-content-between" style="margin-left:1px;">
1146               
1147                 
1148                   <div class="swiper-slide card">
1149                     
1150 
1151 
1152 
1153 <div class="products" data-lazy="false">
1154   <div class="bg-products">
1155     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake">
1156       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1157   <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.
115711233C11.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"/>
1158 </svg>
1159 
1160     </div>
1161     <a href="/products/mid-autumn-of-love-mooncake">
1162       
1163       <div class="product-card-img-container p-0 position-relative">
1164         
1165         <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">
1166       </div>
1167       <div class="card-body product-card-info">
1168         <h5 class="h5 mb-0">
1169           Mid Autumn of Love Mooncake
1170         </h5>
1171         <div class="product-card-price">
1172           
1173           <div class="product-price-sale">
1174             <s class="product-card-price-before card-money">Rp 588.000</s>
1175             <span class="product-card-discount small">	
1176               (-40%)
1177             </span> 	
1178           </div>
1179           
1180           
1181           
1182           <div class="price-discount">
1183             <h4 class="product-card-price-after card-money">Rp 348.000</h4>
1184           </div>
1185           
1186           
1187           
1188           
1189           
1190         </div>
1191         
1192       </div>
1193     </a>
1194   </div>
1195   
1196 </div>
1197 
1198                   </div>
1199                 
1200               
1201                 
1202                   <div class="swiper-slide card">
1203                     
1204 
1205 
1206 
1207 <div class="products" data-lazy="false">
1208   <div class="bg-products">
1209     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake">
1210       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1211   <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.
121111233C11.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"/>
1212 </svg>
1213 
1214     </div>
1215     <a href="/products/mid-autumn-of-joy-mooncake">
1216       
1217       <div class="product-card-img-container p-0 position-relative">
1218         
1219         <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">
1220       </div>
1221       <div class="card-body product-card-info">
1222         <h5 class="h5 mb-0">
1223           Mid Autumn of Joy Mooncake
1224         </h5>
1225         <div class="product-card-price">
1226           
1227           <div class="product-price-sale">
1228             <s class="product-card-price-before card-money">Rp 888.000</s>
1229             <span class="product-card-discount small">	
1230               (-33%)
1231             </span> 	
1232           </div>
1233           
1234           
1235           
1236           <div class="price-discount">
1237             <h4 class="product-card-price-after card-money">Rp 588.000</h4>
1238           </div>
1239           
1240           
1241           
1242           
1243           
1244         </div>
1245         
1246       </div>
1247     </a>
1248   </div>
1249   
1250 </div>
1251 
1252                   </div>
1253                 
1254               
1255                 
1256                   <div class="swiper-slide card">
1257                     
1258 
1259 
1260 
1261 <div class="products" data-lazy="false">
1262   <div class="bg-products">
1263     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake">
1264       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1265   <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.
126511233C11.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"/>
1266 </svg>
1267 
1268     </div>
1269     <a href="/products/mid-autumn-of-fortune-mooncake">
1270       
1271       <div class="product-card-img-container p-0 position-relative">
1272         
1273         <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">
1274       </div>
1275       <div class="card-body product-card-info">
1276         <h5 class="h5 mb-0">
1277           Mid Autumn of Fortune Mooncake
1278         </h5>
1279         <div class="product-card-price">
1280           
1281           <div class="product-price-sale">
1282             <s class="product-card-price-before card-money">Rp 1.188.000</s>
1283             <span class="product-card-discount small">	
1284               (-33%)
1285             </span> 	
1286           </div>
1287           
1288           
1289           
1290           <div class="price-discount">
1291             <h4 class="product-card-price-after card-money">Rp 788.000</h4>
1292           </div>
1293           
1294           
1295           
1296           
1297           
1298         </div>
1299         
1300       </div>
1301     </a>
1302   </div>
1303   
1304 </div>
1305 
1306                   </div>
1307                 
1308               
1309                 
1310                   <div class="swiper-slide card">
1311                     
1312 
1313 
1314 
1315 <div class="products" data-lazy="false">
1316   <div class="bg-products">
1317     <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake">
1318       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1319   <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.
131911233C11.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"/>
1320 </svg>
1321 
1322     </div>
1323     <a href="/products/mid-autumn-festival-mooncake">
1324       
1325       <div class="product-card-img-container p-0 position-relative">
1326         
1327         <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">
1328       </div>
1329       <div class="card-body product-card-info">
1330         <h5 class="h5 mb-0">
1331           Mid Autumn Festival Mooncake
1332         </h5>
1333         <div class="product-card-price">
1334           
1335           <div class="product-price-sale">
1336             <s class="product-card-price-before card-money">Rp 1.288.000</s>
1337             <span class="product-card-discount small">	
1338               (-23%)
1339             </span> 	
1340           </div>
1341           
1342           
1343           
1344           <div class="price-discount">
1345             <h4 class="product-card-price-after card-money">Rp 988.000</h4>
1346           </div>
1347           
1348           
1349           
1350           
1351           
1352         </div>
1353         
1354       </div>
1355     </a>
1356   </div>
1357   
1358 </div>
1359 
1360                   </div>
1361                 
1362               
1363                 
1364                   <div class="swiper-slide card">
1365                     
1366 
1367 
1368 
1369 <div class="products" data-lazy="false">
1370   <div class="bg-products">
1371     <div class="wishlist-toggle" data-product-handle="the-jade-bouquet">
1372       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1373   <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.
137311233C11.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"/>
1374 </svg>
1375 
1376     </div>
1377     <a href="/products/the-jade-bouquet">
1378       
1379       <div class="product-card-img-container p-0 position-relative">
1380         
1381         <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">
1382       </div>
1383       <div class="card-body product-card-info">
1384         <h5 class="h5 mb-0">
1385           The Jade Bouquet
1386         </h5>
1387         <div class="product-card-price">
1388           
1389           <div class="product-price-sale">
1390             <s class="product-card-price-before card-money">Rp 435.000</s>
1391             <span class="product-card-discount small">	
1392               (-34%)
1393             </span> 	
1394           </div>
1395           
1396           
1397           
1398           <div class="price-discount">
1399             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1400           </div>
1401           
1402           
1403           
1404           
1405           
1406         </div>
1407         
1408       </div>
1409     </a>
1410   </div>
1411   
1412 </div>
1413 
1414                   </div>
1415                 
1416               
1417                 
1418                   <div class="swiper-slide card">
1419                     
1420 
1421 
1422 
1423 <div class="products" data-lazy="false">
1424   <div class="bg-products">
1425     <div class="wishlist-toggle" data-product-handle="the-selena-bouquet">
1426       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1427   <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.
142711233C11.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"/>
1428 </svg>
1429 
1430     </div>
1431     <a href="/products/the-selena-bouquet">
1432       
1433       <div class="product-card-img-container p-0 position-relative">
1434         
1435         <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">
1436       </div>
1437       <div class="card-body product-card-info">
1438         <h5 class="h5 mb-0">
1439           The Selena Bouquet
1440         </h5>
1441         <div class="product-card-price">
1442           
1443           <div class="product-price-sale">
1444             <s class="product-card-price-before card-money">Rp 335.000</s>
1445             <span class="product-card-discount small">	
1446               (-29%)
1447             </span> 	
1448           </div>
1449           
1450           
1451           
1452           <div class="price-discount">
1453             <h4 class="product-card-price-after card-money">Rp 235.000</h4>
1454           </div>
1455           
1456           
1457           
1458           
1459           
1460         </div>
1461         
1462       </div>
1463     </a>
1464   </div>
1465   
1466 </div>
1467 
1468                   </div>
1469                 
1470               
1471                 
1472                   <div class="swiper-slide card">
1473                     
1474 
1475 
1476 
1477 <div class="products" data-lazy="false">
1478   <div class="bg-products">
1479     <div class="wishlist-toggle" data-product-handle="the-viola-bouquet">
1480       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1481   <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.
148111233C11.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"/>
1482 </svg>
1483 
1484     </div>
1485     <a href="/products/the-viola-bouquet">
1486       
1487       <div class="product-card-img-container p-0 position-relative">
1488         
1489         <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">
1490       </div>
1491       <div class="card-body product-card-info">
1492         <h5 class="h5 mb-0">
1493           The Viola Bouquet
1494         </h5>
1495         <div class="product-card-price">
1496           
1497           <div class="product-price-sale">
1498             <s class="product-card-price-before card-money">Rp 385.000</s>
1499             <span class="product-card-discount small">	
1500               (-25%)
1501             </span> 	
1502           </div>
1503           
1504           
1505           
1506           <div class="price-discount">
1507             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1508           </div>
1509           
1510           
1511           
1512           
1513           
1514         </div>
1515         
1516       </div>
1517     </a>
1518   </div>
1519   
1520 </div>
1521 
1522                   </div>
1523                 
1524               
1525                 
1526                   <div class="swiper-slide card">
1527                     
1528 
1529 
1530 
1531 <div class="products" data-lazy="false">
1532   <div class="bg-products">
1533     <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet">
1534       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1535   <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.
153511233C11.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"/>
1536 </svg>
1537 
1538     </div>
1539     <a href="/products/the-minerva-bouquet">
1540       
1541       <div class="product-card-img-container p-0 position-relative">
1542         
1543         <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">
1544       </div>
1545       <div class="card-body product-card-info">
1546         <h5 class="h5 mb-0">
1547           The Minerva Bouquet
1548         </h5>
1549         <div class="product-card-price">
1550           
1551           <div class="product-price-sale">
1552             <s class="product-card-price-before card-money">Rp 385.000</s>
1553             <span class="product-card-discount small">	
1554               (-25%)
1555             </span> 	
1556           </div>
1557           
1558           
1559           
1560           <div class="price-discount">
1561             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1562           </div>
1563           
1564           
1565           
1566           
1567           
1568         </div>
1569         
1570       </div>
1571     </a>
1572   </div>
1573   
1574 </div>
1575 
1576                   </div>
1577                 
1578               
1579                 
1580                   <div class="swiper-slide card">
1581                     
1582 
1583 
1584 
1585 <div class="products" data-lazy="false">
1586   <div class="bg-products">
1587     <div class="wishlist-toggle" data-product-handle="congraduations-bouquet">
1588       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1589   <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.
158911233C11.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"/>
1590 </svg>
1591 
1592     </div>
1593     <a href="/products/congraduations-bouquet">
1594       
1595       <div class="product-card-img-container p-0 position-relative">
1596         
1597         <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">
1598       </div>
1599       <div class="card-body product-card-info">
1600         <h5 class="h5 mb-0">
1601           Congraduations Bouquet
1602         </h5>
1603         <div class="product-card-price">
1604           
1605           <div class="product-price-sale">
1606             <s class="product-card-price-before card-money">Rp 380.000</s>
1607             <span class="product-card-discount small">	
1608               (-25%)
1609             </span> 	
1610           </div>
1611           
1612           
1613           
1614           <div class="price-discount">
1615             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1616           </div>
1617           
1618           
1619           
1620           
1621           
1622         </div>
1623         
1624       </div>
1625     </a>
1626   </div>
1627   
1628 </div>
1629 
1630                   </div>
1631                 
1632               
1633                 
1634                   <div class="swiper-slide card">
1635                     
1636 
1637 
1638 
1639 <div class="products" data-lazy="false">
1640   <div class="bg-products">
1641     <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet">
1642       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1643   <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.
164311233C11.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"/>
1644 </svg>
1645 
1646     </div>
1647     <a href="/products/grad-gorgeous-bouquet">
1648       
1649       <div class="product-card-img-container p-0 position-relative">
1650         
1651         <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">
1652       </div>
1653       <div class="card-body product-card-info">
1654         <h5 class="h5 mb-0">
1655           Grad & Gorgeous Bouquet
1656         </h5>
1657         <div class="product-card-price">
1658           
1659           <div class="product-price-sale">
1660             <s class="product-card-price-before card-money">Rp 380.000</s>
1661             <span class="product-card-discount small">	
1662               (-25%)
1663             </span> 	
1664           </div>
1665           
1666           
1667           
1668           <div class="price-discount">
1669             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1670           </div>
1671           
1672           
1673           
1674           
1675           
1676         </div>
1677         
1678       </div>
1679     </a>
1680   </div>
1681   
1682 </div>
1683 
1684                   </div>
1685                 
1686               
1687             </div>
1688           </div>
1689         
1690       </div>
1691     </div>
1692   </div>
1693 
1694   <div class="site-overlay" style="display: none"></div>
1695 </div>
1696 
1696<script>
1697   
1698   var swiper = new Swiper('.popup-recommend', {
1699       slidesPerView : 4, 
1700       spaceBetween: 30,
1701       lazy: true ,                            
1702       speed: 300,
1703       breakpoints: {
1704         // when window width is <= 576px
1705         576: {
1706             slidesPerView: 2,
1707               spaceBetween: 10,
1708             freeMode: true,
1709             resistance : true,
1710             resistanceRatio : 0,
1711             freeModeMomentumRatio : 0.45,
1712             freeModeMomentumVelocityRatio : 1.5
1713         },
1714         768: {
1715               slidesPerView: 2,
1716               spaceBetween: 10
1717             },
1718         992: {
1719               slidesPerView: 3,
1720               spaceBetween: 20
1721         }
1722       }
1723   });
1724 
1725   const searchContainer = $("#search-popup")
1726   const searchInput = $(".search-popup")
1727   const result_collection = $('.result_collection')
1728   const result_product = $('.result_product')
1729   const resultsearch = $('.resultsearch')
1730   const resultrecommend = $(".group-recommend")
1731   const moreresult = $(".moreresult")
1732 
1733   searchInput.keyup(function(){
1734     const input = $(this).val()
1735     moreresult.find("p span").text(` “${input}”`)
1736     if(input.length > 2) {
1737       $(".close-search").show()
1738       const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}`
1739       $.ajax({
1740         type: 'GET',
1741         url,
1742         beforeSend: function() {
1743             // setting a timeout
1744             // $(placeholder).addClass('loading');
1745         },
1746         success: function(response) {
1747             resultsearch.show()
1748             resultrecommend.hide()
1749             result_collection.html("")
1750             result_product.html("")
1751             const collections = response.resources.results.collections
1752             const products = response.resources.results.products
1753             let collection_length = collections.length
1754             let product_length = products.length
1755             // if(collections.length > 5) {
1756             //   collection_length = 5
1757             // }
1758             // if(products.length > 5) {
1759             //   product_length = 5
1760             // }
1761             for(let i=0;i<collection_length;i++){
1762               const title = collections[i].title
1763               const url = collections[i].url
1764               let html_collection
1765               if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) {
1766                 html_collection = `
1767                 <li class="item" data-title="${title}">
1768                   <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a>
1769                 </li>
1770                 `
1771               }
1772               result_collection.append(html_collection)
1773             }
1774             for(let i=0;i<product_length;i++){
1775               const title = products[i].title
1776               const url = products[i].url
1777               const image = products[i].featured_image.url
1778               const vendor = products[i].vendor
1779               let html_product
1780               if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){
1781                 html_product = `
1782                 <li class="item" data-vendor="${vendor}">
1783                   <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}">
1784                     <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span>
1785                   </a>
1786                 </li>
1787                 `
1788               }
1789               result_product.append(html_product)
1790             }
1791         },
1792         error: function(xhr) { // if error occured
1793             alert("Error occured.please try again");
1794         },
1795         complete: function(response) {
1796             // $(placeholder).removeClass('loading');
1797         },
1798         dataType: 'JSON'
1799       });
1800     } else {
1801       result_collection.html("")
1802       result_product.html("")
1803       
1804       resultsearch.hide()
1805       resultrecommend.show()
1806     }
1807   })
1808 
1809   moreresult.click(function(){
1810     $("#search-btn").trigger("click");
1811   })
1812 
1813   $(".close-search").click(function(){
1814     $(this).hide()
1815     searchInput.val("")
1816     searchInput.focus()
1817     resultsearch.hide()
1818     resultrecommend.show()
1819   })
1820 
1821   function setCookie(name,value,days) {
1822     var expires = "";
1823     if (days) {
1824       var date = new Date();
1825       date.setTime(date.getTime() + (days*24*60*60*1000));
1826       expires = "; expires=" + date.toUTCString();
1827     }
1828     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
1829   }
1830   function getCookie(name) {
1831     var nameEQ = name + "=";
1832     var ca = document.cookie.split(';');
1833     for(var i=0;i < ca.length;i++) {
1834       var c = ca[i];
1835       while (c.charAt(0)==' ') c = c.substring(1,c.length);
1836       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
1837     }
1838     return null;
1839   }
1840   let last_search_name = []
1841   let last_search_url = []
1842   $(".group-recent").hide()
1843   if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){
1844     if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){
1845       $(".group-recent").show()
1846       last_search_name = getCookie("last_search_name");
1847       last_search_url = getCookie("last_search_url");
1848       const arrName = last_search_name.substring(1).split(',').reverse()
1849       const arrUrl = last_search_url.substring(1).split(',').reverse()
1850       console.log(arrName, 'Array Name')
1851       console.log(arrUrl, 'Array Url')
1852       let length = arrName.length
1853       if(arrName.length > 5) {
1854         length = 5
1855       }
1856       for(let n=0;n<length;n++){
1857         let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif"><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]}">${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>`
1858         $(".group-recent ul").append(html2)
1859       }
1860     }
1861   }
1862   console.log(last_search_name, 'Name')
1863   console.log(last_search_url, 'url')
1864   
1865   resultsearch.delegate(".item a", "click", function(){
1866     let name = [last_search_name]
1867     let url = [last_search_url]
1868     name.push($(this).attr('data-title'))
1869     url.push($(this).attr('data-url'))
1870     setCookie("last_search_name",name,7);
1871     setCookie("last_search_url",url,7);
1872   })
1873   
1874   $(".delete-all-history").click(function() {
1875     setCookie("last_search_name",null,0);
1876     setCookie("last_search_url",null,0);
1877     $(".last-search").hide();
1878     setTimeout(function(){
1879       location.reload();
1880     }, 500);
1881   })
1882   
1883   $("#search-trigger").click(function(){
1884     search_open()
1885   })
1886   $(".icon-search-mobile").click(function(){
1887     search_open()
1888   })
1889   $(".search-header svg").click(function(){
1890     search_close()
1891   })
1892   $(".icon-key-mobile").click(function(){
1893     search_close()
1894   })
1895 
1896   function search_open() {
1897     $("body").addClass("search-popup-open")
1898     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide()
1899     $("#search-popup, .search-header svg, .icon-key-mobile").show()
1900     $(".search-popup").focus()
1901     $('.popup-recommend')[0].swiper.update();
1902   }
1903   function search_close() {
1904     $("body").removeClass("search-popup-open")
1905     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show()
1906     $("#search-popup, .search-header svg, .icon-key-mobile").hide()
1907     searchInput.val("")
1908     resultsearch.hide()
1909     resultrecommend.show()
1910   }
1911 
1912   $(".site-overlay").click(function(){
1913     search_close()
1914   })
1915 </script>
1915
1916 
1917 </div>
1918     </div>
1919 
1920     <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;">
1921       <main class="main-content pt-0" role="main">
1922         
1923           <div id="breadcrumbProduct" class="d-none d-lg-block">
1924             <style>
1925   #breadcrumbProduct {
1926     padding: 20px 0;
1927   }
1928   #breadcrumbProduct ul {
1929       display: flex;
1930       padding: 0;
1931       list-style: none;
1932       margin: 0;
1933       gap: 12px;
1934   }
1935   #breadcrumbProduct ul li {
1936     text-transform: uppercase;
1937     margin: 0;
1938     font-size: 12px;
1939 }
1940   #breadcrumbProduct ul li a {
1941     color: #757575;
1942   }
1943 
1944   #breadcrumbProduct ul li svg {
1945     width: 10px;
1946     height: 10px;
1947     padding: 0;
1948     color: #757575;
1949     vertical-align: middle;
1950   }
1951 </style>
1952 <div class="container" style="color: #ffd700;">
1953   <ul role="navigation" aria-label="breadcrumbs">
1954     <li><a href="https://www.apprendreetsorienter.org/statuts/" style="color: #ffd700;">RAJABANDOT</a></li>
1955     <li><svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="7" height="10" viewBox="0 0 7 10" fill="none">
1956     <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"/>
1957 </svg></li>
1958       <li>RAJABANDOT LOGIN</li>
1959       <li>RAJABANDOT TOGEL</li>
1960       <li>RAJABANDOT MACAU LOGIN</li>
1961       <li>RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya</li>
1962     
1963   </ul>
1964 </div>
1965 
1966           </div>
1967         
1968 
1968<script type="application/ld+json">
1969 {
1970   "@context": "https://schema.org",
1971   "@type": "Product",
1972   "name": "RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya",
1973   "image": "https://imgsaya4.io/images/2026/04/24/18.jpeg",
1974   "description": "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.",
1975   "brand": {
1976     "@type": "Brand",
1977     "name": "RAJABANDOT"
1978   },
1979   "sku": "RAJABANDOT",
1980   "mpn": "RAJABANDOT",
1981   "url": "https://www.apprendreetsorienter.org/statuts/",
1982   "offers": {
1983     "@type": "Offer",
1984     "url": "https://www.apprendreetsorienter.org/statuts/",
1985     "priceCurrency": "USD",
1986     "price": "10.00",
1987     "priceValidUntil": "2025-12-25",
1988     "itemCondition": "https://schema.org/NewCondition",
1989     "availability": "https://schema.org/InStock",
1990     "seller": {
1991       "@type": "Organization",
1992       "name": "RAJABANDOT"
1993     }
1994   },
1995   "aggregateRating": {
1996     "@type": "AggregateRating",
1997     "ratingValue": "5.0",
1998     "reviewCount": 858
1999   },
2000   "review": [
2001     {
2002       "@type": "Review",
2003       "reviewRating": {
2004         "@type": "Rating",
2005         "ratingValue": "5",
2006         "bestRating": "5"
2007       },
2008       "author": {
2009         "@type": "Person",
2010         "name": "julian"
2011       }
2012     },
2013     {
2014       "@type": "Review",
2015       "reviewRating": {
2016         "@type": "Rating",
2017         "ratingValue": "5",
2018         "bestRating": "5"
2019       },
2020       "author": {
2021         "@type": "Person",
2022         "name": "alice"
2023       }
2024     }
2025   ]
2026 }
2027 </script>
2027<script type="application/ld+json">
2028 {
2029   "@context": "https://schema.org",
2030   "@type": "BreadcrumbList",
2031   "itemListElement": [
2032     {
2033       "@type": "ListItem",
2034       "position": 1,
2035       "name": "RAJABANDOT",
2036       "item": "https://www.apprendreetsorienter.org/statuts/"
2037     },
2038     {
2039       "@type": "ListItem",
2040       "position": 2,
2041       "name": "RAJABANDOT MACAU",
2042       "item": "https://www.apprendreetsorienter.org/statuts/"
2043     },
2044     {
2045       "@type": "ListItem",
2046       "position": 3,
2047       "name": "RAJABANDOT LOGIN",
2048       "item": "https://www.apprendreetsorienter.org/statuts/"
2049     },
2050     {
2051       "@type": "ListItem",
2052       "position": 4,
2053       "name": "TOTO MACAU",
2054       "item": "https://www.apprendreetsorienter.org/statuts/"
2055     },
2056     {
2057       "@type": "ListItem",
2058       "position": 5,
2059       "name": "RAJABANDOT TOGEL",
2060       "item": "https://www.apprendreetsorienter.org/statuts/"
2061     },
2062     {
2063       "@type": "ListItem",
2064       "position": 6,
2065       "name": "RAJABANDOT RESMI",
2066       "item": "https://www.apprendreetsorienter.org/statuts/"
2067     },
2068     {
2069       "@type": "ListItem",
2070       "position": 7,
2071       "name": "RAJABANDOT MACAU LOGIN",
2072       "item": "https://www.apprendreetsorienter.org/statuts/"
2073     },
2074     {
2075       "@type": "ListItem",
2076       "position": 8,
2077       "name": "RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya",
2078       "item": "https://www.apprendreetsorienter.org/statuts/"
2079     }
2080   ]
2081 }
2082 </script>
2082
2083
2084 <!--faq-->
2085
2086 
2086<script type="application/ld+json" id="faq-schema">
2087{
2088  "@context": "https://schema.org",
2089  "@type": "FAQPage",
2090  "mainEntity": [
2091    {
2092      "@type": "Question",
2093      "name": "1. Apa itu Rajabandot dan mengapa menjadi pilihan favorit pemain Toto Macau?",
2094      "acceptedAnswer": {
2095        "@type": "Answer",
2096        "text": "Rajabandot adalah Situs Toto Macau Gacor yang dikenal karena menawarkan minimal bet murah dan prediksi Macau terpercaya. Situs ini menjadi favorit karena memberikan kombinasi antara keamanan tingkat tinggi, peluang kemenangan yang besar, dan aksesibilitas yang mudah bagi semua kalangan pemain di Indonesia."
2097      }
2098    },
2099    {
2100      "@type": "Question",
2101      "name": "2. Bagaimana cara melakukan daftar Toto Macau di situs ini?",
2102      "acceptedAnswer": {
2103        "@type": "Answer",
2104        "text": "Proses pendaftaran di agen toto resmi Rajabandot sangatlah praktis dan cepat. Anda hanya perlu mengunjungi situs resmi, mengisi formulir pendaftaran dengan data yang valid, dan akun Anda akan aktif dalam hitungan menit tanpa prosedur yang berbelit-belit."
2105      }
2106    },
2107    {
2108      "@type": "Question",
2109      "name": "3. Apakah keamanan data saya terjamin di Rajabandot?",
2110      "acceptedAnswer": {
2111        "@type": "Answer",
2112        "text": "Tentu saja. Sebagai bandar togel terpercaya, Rajabandot menggunakan teknologi enkripsi tingkat tinggi untuk melindungi seluruh informasi pribadi dan data transaksi member. Keamanan dan privasi Anda adalah prioritas utama kami dalam menjaga integritas permainan."
2113      }
2114    },
2115    {
2116      "@type": "Question",
2117      "name": "4. Apa yang harus saya lakukan jika situs utama sulit diakses?",
2118      "acceptedAnswer": {
2119        "@type": "Answer",
2120        "text": "Anda tidak perlu khawatir karena kami selalu menyediakan link alternatif Rajabandot yang resmi dan responsif. Link ini memastikan Anda tetap bisa terhubung dengan permainan Toto Macau favorit Anda kapan saja dan di mana saja tanpa hambatan teknis."
2121      }
2122    },
2123    {
2124      "@type": "Question",
2125      "name": "5. Bagaimana cara memanfaatkan prediksi Macau untuk meningkatkan kemenangan?",
2126      "acceptedAnswer": {
2127        "@type": "Answer",
2128        "text": "Rajabandot menyediakan bocoran angka macau yang disusun berdasarkan analisis data statistik historis. Dengan mempelajari pola dan tren angka melalui prediksi yang kami sediakan, Anda dapat membuat keputusan taruhan yang lebih akurat dan terinformasi."
2129      }
2130    }
2131  ]
2132}
2133</script>
2133
2134 
2134<script type="application/ld+json">
2135 {
2136   "@context": "https://schema.org",
2137   "@type": "Organization",
2138   "name": "RAJABANDOT",
2139   "url": "https://www.apprendreetsorienter.org/statuts/",
2140   "logo": "https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif",
2141   "sameAs": [
2142     "https://www.facebook.com/RAJABANDOT",
2143     "https://twitter.com/RAJABANDOT",
2144     "https://www.instagram.com/RAJABANDOT"
2145   ],
2146   "contactPoint": {
2147     "@type": "ContactPoint",
2148     "telephone": "+62-8946-113-4615",
2149     "contactType": "customer support",
2150     "areaServed": "ID",
2151     "availableLanguage": ["Indonesian", "English"]
2152   }
2153 }
2154 </script>
2154
2155 
2156 
2156<script type="application/ld+json">
2157 {
2158   "@context": "https://schema.org",
2159   "@type": "VideoObject",
2160   "name": "RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya",
2161   "description": "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.",
2162   "thumbnailUrl": [
2163     "https://imgsaya4.io/images/2026/04/24/18.jpeg",
2164     "https://imgsaya4.io/images/2026/04/24/18.jpeg"
2165   ],
2166   "uploadDate": "2025-09-28T04:19:10-04:00",
2167   "duration": "PT168",
2168   "contentUrl": "https://www.apprendreetsorienter.org/statuts/"
2169 }
2170 </script>
2170
2171 
2172 
2172<script type="application/ld+json">
2173 {
2174   "@context": "https://schema.org",
2175   "@type": "BreadcrumbList",
2176   "itemListElement": [
2177     {
2178       "@type": "ListItem",
2179       "position": 1,
2180       "name": "Home",
2181       "item": "https://www.apprendreetsorienter.org/statuts/"
2182     }
2183   ]
2184 }
2185 </script>
2185
2186 
2187 
2187<script type="application/ld+json">
2188 {
2189   "@context": "https://schema.org",
2190   "@graph": [
2191     {
2192       "@type": "Organization",
2193       "@id": "https://www.apprendreetsorienter.org/statuts/#org",
2194       "name": "RAJABANDOT",
2195       "url": "https://www.apprendreetsorienter.org/statuts/",
2196       "logo": "https://imgsaya4.io/images/2026/04/24/18.jpeg"
2197     },
2198     {
2199       "@type": "WebSite",
2200       "@id": "https://www.apprendreetsorienter.org/statuts/#website",
2201       "url": "https://www.apprendreetsorienter.org/statuts/",
2202       "name": "RAJABANDOT",
2203       "publisher": { "@id": "https://www.apprendreetsorienter.org/statuts/#org" },
2204       "inLanguage": "id-ID",
2205       "potentialAction": {
2206         "@type": "SearchAction",
2207         "target": "https://www.apprendreetsorienter.org/statuts/?s={search_term_string}",
2208         "query-input": "required name=search_term_string"
2209       }
2210     },
2211     {
2212       "@type": "SoftwareApplication",
2213       "@id": "https://www.apprendreetsorienter.org/statuts/#app",
2214       "name": "RAJABANDOT",
2215       "applicationCategory": "GameApplication",
2216       "operatingSystem": "Android, iOS, Windows",
2217       "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" },
2218       "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 }
2219     }
2220   ]
2221 }
2222 </script>
2222
2223         
2224 <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" />
2225 
2226 
2227 <style>
2228     .bg-card {
2229     background-color: #000000;
2230 }
2231     </style>
2232 
2233 <!-- /templates/product.liquid -->
2234 
2235 
2236 <!-- <div itemscope itemtype="http://schema.org/Product"> -->
2237 
2238 
2239 <div class="product-standing-flower" data-product-type="flowerBoard">
2240   <meta itemprop="url" content="https://www.apprendreetsorienter.org/statuts/">
2241   <meta itemprop="image" content="https://imgsaya4.io/images/2026/04/24/18.jpeg">
2242 
2243   
2244   
2245   <input id="data-sku" type="hidden" value="OBVSTF1086">
2246   <div class="product-single" style="background-image: url(https://i.pinimg.com/474x/b9/23/39/b923392626a609fea6ebfca99103720d.jpg); background-attachment: fixed;">
2247     <div id="product-top" class="container">
2248       <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;">
2249         <div id="product-image" class="col-lg-7 text-center">
2250           <div class="product-image">
2251             <div class="row no-gutters">
2252   
2253   <div id="product-featured-image" class="row w-100">
2254     
2255       <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block">
2256         
2257         <div class="swiper-container gallery-thumbs" style="min-height: 500px">
2258           <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx">
2259 
2260                   <li class="swiper-slide" data-type="image">
2261                     <a
2262                       href="files/Blossom-Shine-WM.jpg"
2263                       data-standard="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2264                       data-image="files/Blossom-Shine-WM.jpg"
2265                       data-position="1"
2266                       class="product-single__thumbnail"
2267                     >
2268                       <img
2269                         class="lazyload w-100"
2270                         src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2271                         alt="RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya"
2272                         width=""
2273                         height=""
2274                       >
2275                     </a>
2276                   </li>
2277                 
2278               
2279             
2280 
2281                   <li class="swiper-slide" data-type="image">
2282                     <a
2283                       href="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2284                       data-standard="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2285                       data-image="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2286                       data-position="2"
2287                       class="product-single__thumbnail"
2288                     >
2289                       <img
2290                         class="lazyload w-100"
2291                         src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2292                         alt="RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya"
2293                         width=""
2294                         height=""
2295                       >
2296                     </a>
2297                   </li>
2298                 
2299               
2300             
2301 
2302                   <li class="swiper-slide" data-type="image">
2303                     <a
2304                       href="files/Blossom-Shine_3-WM.jpg"
2305                       data-standard="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2306                       data-image="files/Blossom-Shine_3-WM.jpg"
2307                       data-position="3"
2308                       class="product-single__thumbnail"
2309                     >
2310                       <img
2311                         class="lazyload w-100"
2312                         src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2313                         alt="RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya"
2314                         width=""
2315                         height=""
2316                       >
2317                     </a>
2318                   </li>
2319                 
2320               
2321             
2322 
2323                   <li class="swiper-slide" data-type="image">
2324                     <a
2325                       href="files/Blossom-Shine_4.jpg"
2326                       data-standard="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2327                       data-image="files/Blossom-Shine_4.jpg"
2328                       data-position="4"
2329                       class="product-single__thumbnail"
2330                     >
2331                       <img
2332                         class="lazyload w-100"
2333                         src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2334                         alt="RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya"
2335                         width=""
2336                         height=""
2337                       >
2338                     </a>
2339                   </li>
2340                 
2341               
2342             
2343           </ul>
2344         </div>
2345         
2346       </div>
2347     
2348     <div
2349       id="featured-image-product"
2350       class="col-lg-10 col-12 d-none d-lg-block"
2351     >
2352       <div class="swiper-container gallery-top">
2353         <div class="swiper-slide product-single__image">
2354           
2355 <div class="product-single__photos slider slider-for" id="ProductPhoto">
2356   
2357 
2358   <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails">
2359     <a href="https://imgsaya4.io/images/2026/04/24/18.jpeg">
2360       <img
2361         src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2362         alt="RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya"
2363         id="ProductPhotoImg"
2364         class="lazyload"
2365       >
2366       
2367     </a>
2368   </div>
2369 </div>
2370 
2371         </div>
2372         <div class="swiper-slide product-single__video" style="display: none">
2373           <video
2374             src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4"
2375             playsinline
2376             loop
2377             muted
2378           ></video>
2379         </div>
2380       </div>
2381     </div>
2382   </div>
2383 
2384   <div id="featured-image-product2" class="col-12 d-lg-none">
2385     <div class="swiper-container gallery-mobile">
2386       <ul class="swiper-wrapper">
2387 <li class="swiper-slide img">
2388               
2389                 <img
2390                   class="swiper-lazy"
2391                   src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2392                   data-src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2393                   alt="RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya"
2394                   width=""
2395                   height=""
2396                 >
2397               
2398             </li>
2399           
2400         
2401 <li class="swiper-slide img">
2402               
2403                 <img
2404                   class="swiper-lazy"
2405                   src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2406                   data-src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2407                   alt="RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya"
2408                   width=""
2409                   height=""
2410                 >
2411               
2412             </li>
2413           
2414         
2415 <li class="swiper-slide img">
2416               
2417                 <img
2418                   class="swiper-lazy"
2419                   src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2420                   data-src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2421                   alt="RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya"
2422                   width=""
2423                   height=""
2424                 >
2425               
2426             </li>
2427           
2428         
2429 <li class="swiper-slide img">
2430               
2431                 <img
2432                   class="swiper-lazy"
2433                   src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2434                   data-src="https://imgsaya4.io/images/2026/04/24/18.jpeg"
2435                   alt="RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya"
2436                   width=""
2437                   height=""
2438                 >
2439               
2440             </li>
2441           
2442         
2443       </ul>
2444       
2445         <div class="swiper-button-prev">
2445<svg class="icon icon-chevron-left" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" 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>
2446         <div class="swiper-button-next"><svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="7" height="10" viewBox="0 0 7 10" fill="none">
2447     <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"/>
2448 </svg></div>
2449 
2450         <!-- Add Pagination -->
2451         <div class="swiper-pagination"></div>
2452       
2453     </div>
2454   </div>
2455 
2456   <div class="product-m-pageleb-video col-12 text-center d-lg-none">
2457     <!-- product video -->
2458     <style>
2459       .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;}
2460       .view-video .icon-play{fill:#ffffff;vertical-align: middle;}
2461       .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;}
2462       .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;}
2463       .close-video .icon{width:30px;height:30px;}
2464       /*responsive iframe */
2465       .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);}
2466       .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;}
2467 
2468       .youtube {
2469         background-color: #000;
2470         margin-bottom: 30px;
2471         position: relative;
2472         padding-top: 56.25%;
2473         overflow: hidden;
2474         cursor: pointer;
2475         width: 100%;
2476       }
2477       .swiper-slide .youtube {
2478         max-width: 480px;
2479       }
2480       .youtube img {
2481         width: 100%;
2482         top: -16.82%;
2483         left: 0;
2484         opacity: 0.7;
2485       }
2486       .youtube .play-button {
2487         width: 90px;
2488         height: 60px;
2489         background-color: #333;
2490         box-shadow: 0 0 30px rgba( 0,0,0,0.6 );
2491         z-index: 1;
2492         opacity: 0.8;
2493         border-radius: 6px;
2494       }
2495       .youtube .play-button:before {
2496         content: "";
2497         border-style: solid;
2498         border-width: 15px 0 15px 26.0px;
2499         border-color: transparent transparent transparent #fff;
2500       }
2501       .youtube img,
2502       .youtube .play-button {
2503         cursor: pointer;
2504       }
2505       .youtube img,
2506       .youtube iframe,
2507       .youtube .play-button,
2508       .youtube .play-button:before {
2509         position: absolute;
2510       }
2511       .youtube .play-button,
2512       .youtube .play-button:before {
2513         top: 50%;
2514         left: 50%;
2515         transform: translate3d( -50%, -50%, 0 );
2516       }
2517       .youtube iframe {
2518         height: 100%;
2519         width: 100%;
2520         top: 0;
2521         left: 0;
2522       }
2523     </style>
2524 
2525     
2526   </div>
2527 </div>
2528 
2529 <div class="product-desc-add position-relative d-none d-lg-block m-0">
2530 
2531 </div>
2532 
2533 
2533<script>
2534   if ($(window).width() < 991) {
2535     var direction = 'horizontal'
2536   } else {
2537     var direction = 'vertical'
2538     $(".gallery-thumbs").height($("#ProductPhotoImg").height())
2539   }
2540   var swiper = new Swiper('.gallery-thumbs', {
2541     
2542     direction,
2543     slidesPerView: 4.5,
2544     spaceBetween: 12,
2545     navigation: {
2546       nextEl: '.swiper-button-next',
2547       prevEl: '.swiper-button-prev',
2548     }
2549   });
2550   
2551   var swiper = new Swiper('.gallery-mobile', {
2552     //loop: true,
2553     lazy: true,
2554     speed: 300,
2555     resistance : true,
2556     resistanceRatio : 0,
2557     freeModeMomentumRatio : 0.45,
2558     freeModeMomentumVelocityRatio : 1.5,
2559     navigation: {
2560       nextEl: '.swiper-button-next',
2561       prevEl: '.swiper-button-prev',
2562     },
2563     pagination: {
2564       el: '.swiper-pagination'
2565     },
2566     useCSS3Transforms: false,
2567     loop: false,
2568     on: {
2569       init: function () {
2570         console.log('swiper initialized');
2571         var currentVideo =  $("[data-swiper-slide-index=" + this.realIndex + "]").find("video");
2572         currentVideo.trigger('play');
2573       },
2574     },
2575   });
2576 
2577   /* GET ALL VIDEOS */
2578   var sliderVideos = $(".swiper-slide video");
2579   
2580   /* SWIPER API - Event will be fired after animation to other slide (next or previous) */
2581   swiper.on('slideChange', function () {
2582     console.log('slide changed');
2583     /* stop all videos  */
2584     sliderVideos.each(function( index ) {
2585       this.currentTime = 0;
2586     });
2587   
2588     /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */
2589     var prevVideo =  $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video");
2590     var currentVideo =  $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video");
2591     prevVideo.trigger('stop');
2592     currentVideo.trigger('play');
2593   });
2594   
2595 
2596   $("[data-video]").click(function(){
2597     const file = $(this).data("video")
2598     $(".product-single__video").show()
2599     $(".product-single__image").hide()
2600     $(".product-single__video").find("video").attr("src", file)
2601     $(".product-single__video").find("video")[0].play();
2602   })
2603   $("[data-image]").click(function(){
2604     $(".product-single__video").hide()
2605     $(".product-single__image").show()
2606     $(".product-single__video").find("video")[0].pause();
2607   })
2608 
2609   $("#product-image .swiper-slide").each(function(){
2610     let width = $(this).width()
2611     $(this).height(width)
2612   })
2613 
2614   $(window).resize(function() {
2615     $("#product-image .swiper-slide").each(function(){
2616       let width = $(this).width()
2617       $(this).height(width)
2618     })
2619   })
2620 </script>
2620
2621 
2622           </div>
2623 
2624   
2625     <div class="grid__item_product-info mb-3">
2626       <div class="c-pdp-product-info">
2627         <ul class="c-pdp-product-info__service c-pdp-product-info__service--active">
2628        <!-- artikel -->
2629             <li>
2630                Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.
2631                </li>
2632           
2633           
2634           
2635           
2636         </ul>
2637       </div>
2638     </div>
2639   
2640 
2641 
2642 
2643 
2644 <style>
2645   .c-pdp-product-info__service--active {
2646     font-size: 12px;
2647     padding-left: 10px;
2648     text-align: left;
2649     max-width: 550px;
2650     margin: auto;
2651     color: #fff;
2652   }
2653   .c-pdp-product-info__service--active li {
2654     list-style: disc;
2655   }
2656   .c-pdp-product-info {
2657     background-color: #000000;
2658     padding: 12px;
2659     margin: 0;
2660   }
2661   .freeship em {
2662     font-style: italic;
2663     font-size: 12px !important;
2664   }
2665 
2666 
2667 </style>
2668 
2669 
2669<script>
2670   $(document).ready(function(){
2671     if ( $(".c-pdp-product-info__service li").length == 1 ) {
2672       $(".c-pdp-product-info__service").addClass("no-bullet");
2673       $(".c-pdp-product-info__service li").addClass("no-bullets");
2674     }
2675   });
2676 </script>
2676
2677 
2678   
2679 
2680 
2681 
2682   
2683 
2684   
2685 
2686 
2687             
2688           
2689         </div>
2690         <div id="product-meta" class="col-lg-5 p-0">
2691           <div class="product-meta">
2692             <style>
2693   .product-meta--review {margin-top:10px}
2694   .freeship * {font-size: 14px !important;font-style: normal;}
2695 </style>
2696 <h1 itemprop="name" class="mb-2" style="color: rgb(255, 230, 0); font-weight: bold;">RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya</h1>
2697 
2698 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
2699   <meta itemprop="priceCurrency" content="IDR">
2700 
2701   <link itemprop="availability" href="https://schema.org/InStock">
2702   
2702<script
2703     type="text/javascript"
2704     src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons"
2705     async="async"
2706   ></script>
2706
2707   
2708 
2709   
2710 
2711   <span class="visually-hidden">Translation missing: en.products.general.regular_price</span>
2712   
2713     <span class="visually-hidden">Translation missing: en.products.general.sale_price</span>
2714   
2715   <div class="row no-gutters mb-3">
2716     <span
2717       id="ProductPrice"
2718       class="h2 ProductPrice"
2719       itemprop="price"
2720       content="835000" style="color: #ffffff;"
2721     >
2722       Rp 10.000
2723     </span>
2724     <div class="discount-product-detail">
2725       <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0">
2726         Rp 100.000
2727       </p>
2728       <span class=" tag-discount">
2729         
2730           
2731           <span id="newDiscount" class="product-tag persentase-discount hide"> 
2732       (90%)
2733       </span><br>
2734         
2735       </span>
2736     </div>
2737   </div>
2738 
2739   <div class="row no-gutters meta-sds">
2740     <div class="col-12 mb-2 mb-lg-0 stock-info">
2741       
2742       
2743       <span
2744         id="ProductStock-Product"
2745         class="product-single__stock mb-2 hide"
2746       >
2747         
2748           
2749             
2750               
2751               Barang dikirim pada 
2752             
2753           
2754         
2755       </span>
2756 
2757       <style>
2758     .short-desc-desktop {
2759         margin-bottom: 2rem;
2760         color: white;
2761     }
2762     .short-desc ul li:nth-child(n + 4) {
2763         display: none;
2764     }
2765     .short-desc ul li.showList:nth-child(n + 4) {
2766         display: list-item;
2767     }
2768     label.more {
2769         display: none;
2770     }
2771     label.more.showMe {
2772         display: block;
2773         font-size: 12px;
2774         text-transform: uppercase;
2775         font-weight: 700;
2776         cursor: pointer;
2777     }
2778 </style>
2779 
2780     <div class="short-desc-desktop d-none d-lg-block">
2781         <div class="short-desc">
2782            
2783 <p>Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.</p>
2784         </div>
2785         <label class="more">Show More →</label>
2786     </div><br>
2787 
2788 
2789 
2789<script>
2790     var liCount;
2791     $(document).ready(function () {
2792         $(".short-desc ul").each(function() {
2793             liCount = $(this).children("li").length;
2794             if (liCount > 3) {
2795                 $(this).parent(".short-desc").next(".more").addClass("showMe");
2796             }
2797         });
2798 
2799         $(".more").click(function () {
2800             //$(".short-desc").find("li").addClass("showList");
2801             // $(this).hide();
2802             $("#product-desc").find("ul").show()
2803             $('html, body').animate({
2804                 scrollTop: $("#product-desc").offset().top - 250
2805             }, 2000);
2806             $("#product-desc").css("height","auto");
2807             $("#more_content").remove();
2808             $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>")
2809         });
2810     });
2811 </script>
2811
2812 
2813       
2814     </div>
2815   </div>
2816 
2817   <div id="purchaseProduct">
2818   
2819   
2820 
2821 
2822 <style>
2823   .variant-metafield {
2824     display: block!important;
2825     width: 1px;
2826     padding: 0;
2827     border-color: #fff;
2828   }
2829   .select2-results__option[aria-disabled] {
2830     display: none;
2831   }
2832 
2833   .towel-bordir {
2834     width: 100%;
2835     display: flex;
2836     align-items: center;
2837     justify-content: space-around;
2838   }
2839 </style>
2840 
2841 
2842 
2843 
2844 
2844<script>
2845   
2846   
2847 </script>
2847
2848 
2849 
2850 
2851 
2852 
2853 
2854 <select
2855   name="id[]"
2856   id="productSelect"
2857   class="product-single__variants ignore hide hide"
2858 >
2859   
2860     
2861       
2862       <option
2863         
2864           selected="selected"
2865         
2866         data-sku="OBVSTF1086"
2867         value="44083045826775"
2868       >
2869         Default Title
2870       </option>
2871 
2872     
2873   
2874 </select>
2875 
2876 
2876<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2876
2877 
2878 
2878<script>
2879   $('.size-chart-open-popup').magnificPopup({
2880     type:'inline',
2881     midClick: true
2882   });
2883 </script>
2883
2884 
2885   
2886   
2887   
2888   <div class="upload-image-preview">
2889     
2890     
2891     
2892     
2893     
2894     <style>
2895   .file-dnd * {
2896     margin: 0;
2897     padding: 0;
2898     box-sizing: border-box;
2899   }
2900   .file-dnd {
2901     width: 100%;
2902     height: 250px;
2903     border: 1px solid #ddd;
2904     border-radius: 10px;
2905     padding: 15px;
2906     display: flex;
2907     flex-direction: column;
2908     gap: 10px;
2909     /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */
2910     margin: auto;
2911   }
2912   .file-dnd input {
2913     display: none;
2914   }
2915   .file-dnd .before-upload {
2916     border: 1px dashed #888;
2917     flex: 1;
2918     border-radius: 5px;
2919     display: flex;
2920     justify-content: center;
2921     align-items: center;
2922     text-align: center;
2923     cursor: pointer;
2924   }
2925   .file-dnd .before-upload > div {
2926     display: flex;
2927     flex-direction: column;
2928     align-items: center;
2929     gap: 8px;
2930   }
2931   .file-dnd .before-upload > div h4 {
2932     width: 150px;
2933   }
2934   .file-dnd .before-upload > div p {
2935     font-size: 12px !important;
2936     color: #555;
2937   }
2938   .file-dnd.active .before-upload {
2939     border: 1px solid #5750d9;
2940     background-color: #f5f5ff;
2941   }
2942   .file-dnd .after-upload {
2943     position: relative;
2944     display: none;
2945   }
2946   .file-dnd .after-upload img {
2947     width: 100%;
2948     border-radius: 5px;
2949     max-height: 180px;
2950     object-fit: contain;
2951     display: block;
2952   }
2953   .file-dnd .after-upload .clear-btn {
2954     position: absolute;
2955     top: 10px;
2956     right: 10px;
2957     background: rgba(0, 0, 0, 0.5);
2958     width: 15px;
2959     height: 15px;
2960     text-align: center;
2961     line-height: 15px;
2962     border-radius: 50%;
2963     color: #fff;
2964     cursor: pointer;
2965     font-size: 14px;
2966   }
2967 </style>
2968 
2969 <div
2970   class="file-dnd mb-3"
2971   
2972     style="display: none"
2973   
2974 >
2975   <label for="upload-photo">Upload your Photo:</label>
2976   <input type="file" id="upload-photo" accept="image/*">
2977   <input type="hidden" data-properties="Photo">
2978   <div class="before-upload">
2979     <div>
2980       <svg id="surface1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="33.053" height="41.719" viewBox="0 0 33.053 41.719">
2981   <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>
2982   <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>
2983   <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>
2984 </svg>
2985 
2986       <h4>Drag & Drop Photo file or Browse</h4>
2987       <p>Supports: JPEG, PNG, GIF, TIFF</p>
2988     </div>
2989   </div>
2990   <div class="after-upload">
2991     <div class="clear-btn">&times;</div>
2992     <img src="" width="" height="">
2993   </div>
2994 </div>
2995 
2995<script>
2996   function applyDndFile(el) {
2997     const parent = document.querySelector(".file-dnd")
2998     const beforeUploadEl = el.querySelector(".before-upload")
2999     const afterUploadEl = el.querySelector(".after-upload")
3000     const inputFile = el.querySelector("input[type=file]")
3001     const imagePreview = el.querySelector(".after-upload img")
3002     const clearBtn = el.querySelector(".after-upload .clear-btn")
3003     const inputProps = parent.querySelector("[data-properties]");
3004 
3005     async function upload(name, uri, type) {
3006       try {
3007         const filename = name.split('.')[0]
3008         let formData = new FormData(); 
3009         formData.append("file", uri);
3010         const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, {
3011           method: "POST", 
3012           body: formData
3013         })
3014         if(response) {
3015           const res = await response.json()
3016           return res
3017         }
3018       } catch(err){
3019         console.log(err)
3020       }
3021     }
3022 
3023     function showImagePreview(img) {
3024       if(img){
3025         const blobUrl = URL.createObjectURL(img)
3026         imagePreview.src = blobUrl
3027         afterUploadEl.style.display = "block"
3028         beforeUploadEl.style.display = "none"
3029       }
3030     }
3031 
3032     beforeUploadEl.addEventListener("click", (e) => {
3033       e.preventDefault()
3034       inputFile.click()
3035     })
3036 
3037     inputFile.addEventListener("change", async (e) => {
3038       e.preventDefault()
3039       showImagePreview(e.target.files[0])
3040       var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type)
3041       inputProps.value = uploadData?.url
3042     })
3043 
3044     clearBtn.addEventListener("click", (e) => {
3045       afterUploadEl.style.display = "none"
3046       beforeUploadEl.style.display = "flex"
3047       inputProps.value = ""
3048     })
3049 
3050     beforeUploadEl.addEventListener("dragover", (e) => {
3051       e.preventDefault()
3052       el.classList.add("active")
3053     })
3054 
3055     beforeUploadEl.addEventListener("dragleave", (e) => {
3056       e.preventDefault()
3057       el.classList.remove("active")
3058     })
3059 
3060     beforeUploadEl.addEventListener("drop", async (e) => {
3061       e.preventDefault()
3062       el.classList.remove("active")
3063       showImagePreview(e.dataTransfer.files[0])
3064       var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type)
3065       console.log(uploadData)
3066       inputProps.value = uploadData?.url
3067     })
3068   }
3069 
3070   applyDndFile(document.querySelector(".file-dnd"))
3071 
3072   $(document).ready(function(){
3073     $(".variant-swatch").change(function(){
3074       const v = $(this).val().toLowerCase()
3075       const list = ["photo", "custom one side", "custom two side", "small", "big"]
3076       if(list.some(item => v.includes(item))) return $(".file-dnd").show()
3077       $(".file-dnd").hide()
3078       $(".file-dnd").find("[data-properties]").val("")
3079       $(".after-upload").hide()
3080       $(".before-upload").css("display", "flex")
3081     })
3082   })
3083 </script>
3083
3084 
3085   </div>
3086   
3087     
3088     <div class="delivery-city mb-4">
3089         <a href="https://aman-aja-ces.pages.dev/">
3090        <center><img src="https://imgsaya3.io/images/2026/03/04/G-GIF-DAFTARDISININEW-2.gif" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br>
3091   <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(236, 236, 67);">SEKARANG WAKTUNYA BERGABUNG BERSAMA KAMI DI RAJABANDOT!</h4>
3092   <div class="row justify-content-between m-0">
3093     <select id="cities" class="form-control select-search" required>
3094       <option value="">Gabung dan dapatkan bonus deposit juga new member hanya di RAJABANDOT</option>
3095     </select>
3096   </div>
3097 </div>
3098 
3099 <style>
3100   @media (max-width: 768px) {
3101     .select2-search__field {
3102       pointer-events: none !important;
3103     }
3104     
3105     .select2-search {
3106       display: none !important;
3107     }
3108   }
3109 </style>
3110 
3111 
3111<script>
3112   $(document).ready(function() {
3113     // Check if mobile
3114     if (window.innerWidth <= 768) {
3115       // When cities select2 opens on mobile, remove focus from search
3116       $('#cities').on('select2:open', function() {
3117         setTimeout(function() {
3118           $('.select2-search__field').blur();
3119           $('.select2-search__field').prop('readonly', true);
3120         }, 100);
3121       });
3122     }
3123   });
3124 </script>
3124
3125 
3126  <style>
3127 .icon-img-footer {
3128     width: 80px; 
3129     padding: 0px 5px;
3130 }
3131 @media (min-width: 768px) {
3132     .icon-img-footer {
3133         width: 120px; 
3134     }
3135 }
3136 @media (min-width: 992px) {
3137     .icon-img-footer {
3138         width: 120px; 
3139     }
3140 }
3141 
3142 
3143 </style>
3144   <div id="row-delivery-date" class="row m-0 mb-3">
3145     <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="color: rgb(236, 236, 67);">Ciptakan Kemenanganmu Dengan Atur Tanggal Bermain Toto Macau</h4>
3146     <div id="deliveryDate" class="m-0"></div>
3147     <div id="deliveryDateFull">
3148       <div class="">
3149         <input
3150           type="text"
3151           id="full-date"
3152           class="date-full calendarbutton btn steps-btn btn-date-time mb-0"
3153           value="Full Calendar"
3154         >
3155         <label for="full-date"><svg version="1.1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="32" height="32" viewBox="0 0 32 32">
3156 <title>icon-arrow-right</title>
3157 <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>
3158 </svg></label>
3159       </div>
3160       <button class="btnChangeDeliveryDate hide">Change Delivery Date</button>
3161     </div>
3162     <div class="form-group p-0">
3163       <input type="text" id="propDeliveryDate" required class="hide">
3164     </div>
3165   </div>
3166   
3167   
3168     <div id="row-delivery-time" class="row m-0 mb-3">
3169       <h4 class="text-center fw-600 text-uppercase col-12 mb-15">
3170     SEO RAJABANDOT
3171 </h4>
3172       <div id="deliveryTime" class="d-flex w-100 m-0"></div>
3173       <div class="form-group p-0">
3174         <input type="text" id="propDeliveryTime" class="hide" required>
3175       </div>
3176     </div>
3177   
3178 
3179 
3180   
3181   
3182   <div id="personalizeBtn">
3183     
3184     
3185     
3186     
3187     <button
3188       class="btn text-uppercase w-100 fw-400"
3189       
3190       
3191       
3192     >
3193       
3194         customize your flower board
3195       
3196     </button>
3197     <div class="button-share-wishlist d-flex justify-content-around mt-3">
3198       <div class="button-share text-center">
3199         <p id="shareButton" class="d-flex gap-2"><span>RAJABANDOT</span><svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="15" height="13" viewBox="0 0 15 13" fill="none">
3200   <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"/>
3201 </svg>
3202 </p>
3203       </div>
3204       <div class="button-wishlist text-center">
3205         <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="16" height="15" viewBox="0 0 16 15" fill="none">
3206   <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"/>
3207 </svg>
3208 <!--
3209   <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="34" height="30" viewBox="0 0 34 30" fill="none">
3210   <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158 18.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"/>
3211   </svg>
3212 -->
3213 </p>
3214       </div>
3215     </div>
3216   </div>
3217 </div>
3218 <div class="purchasePopup purchasePopupSpotify" style="display: none;">
3219   <div class="purchaseArea">
3220     <div class="sectionPurchase sectionPurchaseSpotify">
3221       <div class="wrapperPurchase">
3222         <div class="headerPurchase">
3223           <h3>personalize spotify photo print</h3>
3224           <a class="close-purchase-popup">
3225             <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
3226               <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>
3227             </svg>
3228           </a>
3229         </div>
3230         <div class="contentPurchase">
3231           <div class="spotifyAddons"></div>
3232         </div>
3233 
3234         <div class="purchase-button btn-addon row m-0" style="display: none;">
3235           <div class="col-12 col-lg-2 text-left mb-2 p-0">
3236             <button class="back-purchase-button back-addon text-uppercase">
3237               <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif">
3238                 <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>
3239               </svg>
3240               <span>Back</span>
3241             </button>
3242           </div>
3243           <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;">
3244             <button class="btn next-purchase-button next-addon text-uppercase">
3245               <span>continue without add-ons</span>
3246             </button>
3247           </div>
3248         </div>
3249       </div>
3250     </div>
3251   </div>
3252 </div>
3253 
3254 <style>
3255   #PBarNextFrameWrapper {
3256     display: none;
3257   }
3258   #backgroundPopup {
3259     display: none;
3260     position: fixed;
3261     _position: absolute;
3262     height: 100%;
3263     width: 100%;
3264     top: 0;
3265     left: 0;
3266     background: rgb(117 117 117 / 24%);
3267     z-index: 1;
3268   }
3269   .sectionPurchase {
3270     height: 100%;
3271     position: relative;
3272     max-width: 1344px;
3273     background-color: #fff;
3274     padding: 0;
3275     overflow: hidden; /* Changed from auto to hidden */
3276     display: flex;
3277     flex-direction: column;
3278   }
3279   .sectionPurchase.purchaseAddonSpotify {
3280     max-width: 1070px!important;
3281     max-height: 765px!important;
3282   }
3283   .sectionPurchaseBoard {
3284     max-width: 872px!important;
3285     max-height: 821px!important;
3286   }
3287   .purchaseAddonSpotify .btn-action {
3288     position: absolute;
3289     bottom: 0;
3290     left: 0;
3291     width: 100%;
3292     display: flex;
3293     gap: 10px;
3294   }
3295   .wrapperPurchase {
3296     position: relative;
3297     height: 100%;
3298     display: flex;
3299     flex-direction: column;
3300   }
3301   
3302   /* New styles for scrollable content and sticky button */
3303   .purchase-content {
3304     flex: 1;
3305     overflow-y: auto;
3306     overflow-x: hidden;
3307     padding: 20px;
3308   }
3309   
3310   .purchase-button-wrapper {
3311     position: sticky;
3312     bottom: 0;
3313     background-color: #fff;
3314     border-top: 1px solid #e0e0e0;
3315     padding: 15px 0;
3316     margin-top: auto;
3317     z-index: 10;
3318   }
3319   
3320   .purchasePopup {
3321     display: none;
3322     position: fixed;
3323     background: rgb(117 117 117 / 24%);
3324     z-index: 999;
3325     padding: 40px;
3326     font-size: 13px;
3327     top: 0;
3328     left: 0;
3329     width: 100%;
3330     height: 100%;
3331   }
3332   .popupPurchaseClose{
3333     font-size:14px;
3334     line-height:14px;
3335     right:45px;
3336     top:45px;
3337     position:absolute;
3338     color:#6fa5fd;
3339     font-weight:700;
3340     display:block;
3341     cursor: pointer;
3342   }
3343 
3344   .headerPurchase {
3345     margin-bottom: 30px;
3346     display: flex;
3347     justify-content: space-between;
3348   }
3349 
3350   .headerPurchase h3 {
3351     font-size: 16px;
3352     text-transform: uppercase;
3353   }
3354 
3355   .sectionPurchaseBoard .headerPurchase {
3356     margin-bottom: 15px;
3357   }
3358 
3359   .sectionPurchaseBoard .formAddressPurchase {
3360     padding-top: 0;
3361   }
3362 
3363   .purchaseArea {
3364     position: relative;
3365     height: 100%;
3366   }
3367 
3368   .purchaseArea h4 {
3369     width: 100%;
3370     font-size: 12px;
3371     font-weight: 600;
3372     margin-bottom: 10px;
3373     text-transform: uppercase;
3374   }
3375 
3376   .menuPurchase {
3377     margin-bottom: 30px;
3378   }
3379 
3380   .menuPurchase ul {
3381     list-style-type: none;
3382     margin: 0;
3383   }
3384 
3385   .menuPurchase ul li {
3386     display: inline-block;
3387     border: 1px solid #ffffff;
3388     padding: 5px 20px;
3389     margin-right: 5px;
3390     margin-bottom: 10px;
3391     font-size: 12px;
3392     font-weight: 400;
3393   }
3394 
3395   .menuPurchase ul li:hover, .menuPurchase ul li.selected {
3396     background-color: #ffffff;
3397     color: #ffffff;
3398   }
3399 
3400   .contentPurchase h5 {
3401       font-size: 12px;
3402       margin-bottom: 10px;
3403       font-weight: 400;
3404       overflow: hidden;
3405   }
3406 
3407   /* Card */
3408 
3409   #itemCards {
3410     max-height: 430px;
3411     overflow: auto;
3412   }
3413 
3414   .item-cards {
3415       width: 100%;
3416   }
3417   .item-card.selected {
3418       border: 1px solid #ffffff;
3419   }
3420   .item-card:hover {
3421       border: 1px solid #C4C4C4;
3422   }
3423   .item-cards .item-card {
3424     position: relative;
3425     width: calc(33% - 10px);
3426     max-width: calc(33% - 10px);
3427     flex: 0 0 calc(33% - 10px);
3428     margin-bottom: 20px;
3429   }
3430   .item-cards .item-card label,
3431   .item-addons .item-addon label {
3432       position: absolute;
3433       left: 0;
3434       width: 100%;
3435       height: 100%;
3436   }
3437   .item-cards .item-card .card-image img,
3438   .item-addons .item-addon .card-image img {
3439       display: block;
3440       width: 100%;
3441   }
3442   .item-card .card-meta,
3443   .item-addon .card-meta {
3444       padding: 10px 5px 5px;
3445   }
3446   .item-card.selected .card-meta,
3447   .item-addon.selected .card-meta,
3448   .item-card.selected .card-qty {
3449       background-color: #ffffff;
3450       color: #fff;
3451       visibility: visible!important;
3452   }
3453   .item-card:hover .card-meta,
3454   .item-addon:hover .card-meta,
3455   .item-card:hover .card-qty {
3456       background-color: #C4C4C4;
3457       color: #fff;
3458       visibility: visible!important;
3459   }
3460   .item-cards .item-card p,
3461   .item-addons .item-addon p {
3462     font-size: 12px !important;
3463     margin: 0;
3464     font-weight: 600;
3465   }
3466   .item-card .card-meta input,
3467   .item-addon .card-meta input {
3468       display: none;
3469   }
3470   .item-cards .item-card h5,
3471   .item-addons .item-addon h5 {
3472     text-transform: uppercase;
3473     max-height: 35px;
3474   }
3475 
3476   @media (max-width: 768px) {
3477     .item-cards .item-card {
3478         width: calc(50% - 10px);
3479         max-width: calc(50% - 10px);
3480         flex: 0 0 calc(50% - 10px);
3481         margin-bottom: 0;
3482     }
3483   }
3484 
3485   .card-qty {
3486     display: flex;
3487     padding: 5px;
3488     visibility: hidden;
3489     background-color: #fff !important;
3490     z-index: 999;
3491   }
3492   .card-qty a {
3493     border-width: 1px;
3494     width: 30%;
3495     cursor: pointer;
3496     text-align: center;
3497     align-self: center;
3498     height: 28px;
3499     display: block;
3500     position: relative;
3501   }
3502   .card-qty a svg {
3503     position: absolute;
3504     top: 50%;
3505     left: 50%;
3506     transform: translate(-50%, -50%);
3507     text-align: center;
3508   }
3509   input.btn-qty {
3510     border-width: 0px;
3511     border-radius: 0;
3512     background-color: #fff;
3513     -webkit-appearance: none;
3514     box-shadow: none !important;
3515     -webkit-box-shadow: none !important;
3516     -moz-box-shadow: none!important;
3517     width: 40%;
3518     border-left: 1px solid #c4c4c4;
3519     border-right: 1px solid #c4c4c4;
3520     padding: 0;
3521   }
3522 
3523   .sectionPurchaseBoard #itemAddons .item-card {
3524     width: calc(20% - 15px);
3525     max-width: calc(20% - 15px);
3526     flex: 0 0 calc(20% - 15px);
3527   }
3528 
3529   .purchase-button {
3530     width: 100%;
3531     padding: 0; /* Reset padding as it's now handled by wrapper */
3532     margin: 0;
3533   }
3534 
3535   .sectionPurchaseBoard .purchase-button {
3536     margin-top: 0 !important; /* Reset margin */
3537   }
3538 
3539   .back-purchase-button, .back-spotify {
3540       width: 139px;
3541       border: 1px solid;
3542       height: 43px;
3543   }
3544   .purchase-button .btn {
3545     width: 297px;
3546     height: 43px;
3547     background-color: #ffffff;
3548     color: #ffffff;
3549   }
3550   .purchase-button .btn[disabled] {
3551     background-color: #EEEEEE;
3552   }
3553   .back-purchase-button svg, .back-spotify svg {
3554     align-self: center;
3555     vertical-align: middle;
3556     margin-right: 10px;
3557   }
3558 
3559   #purchaseProduct .row .error {
3560     font-size: 12px !important;
3561     color: orange;
3562     margin-top: 5px;
3563   }
3564 
3565   .reviewCardPurchase {
3566     max-width: 448px;
3567     float: right;
3568   }
3569 
3570   .addonsPurchase .addon-item {display: flex;justify-content: space-between;}
3571   .addon-item * {align-self: center;font-size: 12px;}
3572   .addon-itm-title {width: 360px;}
3573   .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;}
3574 
3575   .propsAddonSpotify p {
3576     margin: 0;
3577     display: flex;
3578     font-size: 12px !important;
3579     margin-bottom: 5px;
3580   }
3581   .propsAddonSpotify p span:first-child {
3582     text-transform: uppercase;
3583     font-weight: 600;
3584     -ms-flex: 0 0 150px;
3585     flex: 0 0 150px;
3586     max-width: 150px;
3587   }
3588 
3589   .addonsPurchase .addons {
3590     max-height: 250px;
3591     overflow: auto;
3592   }
3593 
3594   .btn .loading:after {
3595     content: "";
3596     display: inline-block;
3597     width: 20px;
3598     height: 20px;
3599     padding: 3px;
3600     aspect-ratio: 1;
3601     border-radius: 50%;
3602     background: #FFFFFF;
3603     --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box;
3604     -webkit-mask: var(--_m);
3605     mask: var(--_m);
3606     -webkit-mask-composite: source-out;
3607     mask-composite: subtract;
3608     animation: l3 1s infinite linear;
3609     margin: auto;
3610     vertical-align: middle;
3611     margin-left: 10px;
3612   }
3613 
3614   #qrcode img, #qrcode canvas {
3615     width: 50px;
3616     position: absolute;
3617     top: 12px;
3618     left: 16px;
3619   }
3620 
3621   .t-preview {
3622     position: absolute;
3623     top: 17px;
3624     left: 75px;
3625   }
3626   .t-preview p {
3627     margin: 0;
3628     font-size: 12px !important;
3629   }
3630   .t-preview .h3 {
3631     font-size: 16px !important;
3632     margin-bottom: 5px;
3633     font-weight: 600;
3634   }
3635   .scanCard {
3636     width: 100%;
3637     border: 1px solid;
3638     height: 76px;
3639     background-color: #fff;
3640   }
3641   .scanCard > div > img {
3642     position: absolute;
3643     right: 0;
3644     width: 55px;
3645   }
3646 
3647   @keyframes l3 {
3648     100% {
3649       transform: rotate(1turn);
3650     }
3651   }
3652 
3653   @media (min-width: 991px) {
3654     .sectionPurchase {
3655       height: 100%;
3656       position: relative;
3657       max-width: 1344px;
3658       background-color: #fff;
3659       top: 50%;
3660       left: 50%;
3661       transform: translate(-50%, -50%);
3662     }
3663     .headerPurchase h3 {
3664       font-size: 20px;
3665     }
3666     .purchaseArea h4 {
3667       font-size: 16px;
3668     }
3669 
3670     .menuPurchase ul li {
3671         font-size: 16px;
3672     }
3673     
3674     .contentPurchase {
3675       margin-bottom: 30px;
3676     }
3677     .contentPurchase h5 {
3678       font-size: 16px;
3679     }
3680 
3681     .item-cards .item-card p,
3682     .item-addons .item-addon p {
3683       font-size: 16px !important;
3684     }
3685 
3686     .cards {
3687       float: right;
3688       width: 400px;
3689     }
3690 
3691     .item-cards .item-card {
3692       width: calc(25% - 30px);
3693       max-width: calc(25% - 30px);
3694       flex: 0 0 calc(25% - 30px);
3695     }
3696 
3697       #itemAddons .item-card {
3698         position: relative;
3699         width: calc(16% - 40px);
3700         max-width: calc(16% - 40px);
3701         flex: 0 0 calc(16% - 40px);
3702       }
3703       
3704     .purchase-button-wrapper {
3705         padding: 10px 20px;
3706     }
3707   }
3708 
3709   @media (max-width: 1200px) {
3710     .item-cards .item-card {
3711       width: calc(33% - 30px);
3712       max-width: calc(33% - 30px);
3713       flex: 0 0 calc(33% - 30px);
3714     }
3715   }
3716 
3717   @media (max-width: 992px) {
3718     .purchasePopup {
3719       padding: 0;
3720     }
3721     .item-cards .item-card h5,
3722     .item-addons .item-addon h5 {
3723       max-height: 30px;
3724     }
3725 
3726     .back-purchase-button, .back-spotify, .next-purchase-button {
3727         width: 100%;
3728     }
3729     .addon-itm-title {
3730       width: 300px;
3731     }
3732     .addon-itm-line-price {
3733       margin-right: 10px;
3734     }
3735     .t-preview {
3736       top: 10px;
3737     }
3738 
3739     .card-qty a {
3740       height: 15px;
3741     }
3742     
3743     .purchase-button-wrapper {
3744       padding: 15px;
3745     }
3746   }
3747 
3748   @media (max-width: 576px) {
3749     .purchase-button .btn {
3750         width: 100%!important;
3751     }
3752     .purchase-button > .col-12 {
3753       padding-left: 0;
3754       padding-right: 0;
3755     }
3756   }
3757 </style>
3758 
3759 
3760 <div class="purchasePopup">
3761   <div class="purchaseArea">
3762     
3763       <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard">
3764         <div class="wrapperPurchase">
3765           <div class="purchase-content">
3766             <div class="headerPurchase">
3767   <h3 class="text-uppercase">
3768     
3769       customize your flower board
3770     
3771   </h3>
3772   <a class="close-purchase-popup">
3773   <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
3774     <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"/>
3775   </svg>
3776 </a>
3777 
3778 </div>
3779 <div class="contentPurchase">
3780   <div class="row">
3781     
3782       <div class="col-12">
3783         
3784 
3785 <style>
3786   
3787   
3788   .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;}
3789   .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;}
3790   
3791   .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;}
3792   .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;}
3793   .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;}
3794   .svgLogoPapan p {color: #8E8E93; margin: 0;}
3795   .svgLogoPapan p span {font-size: 12px;color: #FF0E00;}
3796   .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;}
3797   #suggest-messages {position: absolute;bottom: 5px;left: 5px;}
3798   #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;}
3799   .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;}
3800   .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;}
3801   .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;}
3802 
3803   @media (min-width: 991px) {
3804     .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);}
3805     .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);}
3806   }
3807 </style>
3808 
3809 <input type="hidden" data-properties="penerima" value="-">
3810 <div class="customize-papan">
3811   <div class="container">
3812     <div class="field-papan group-field-1 form-group">
3813       <div class="input-field">
3814         <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.
3815 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea>
3816         <p class="limit">0/100</p>
3817         <div id="suggest-messages">
3818           <a id="show_note_papan1" href="#">
3819             <div class="suggest-message" id="note_btn_div1">
3820               <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span>
3821             </div>
3822           </a>
3823           <a id="show_note_papan2" href="#">
3824             <div class="suggest-message" id="note_btn_div2">
3825               <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span>
3826             </div>
3827           </a>
3828           <a id="show_note_papan3" href="#">
3829             <div class="suggest-message" id="note_btn_div3">
3830               <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span>
3831             </div>
3832           </a>
3833         </div>
3834       </div>
3835     </div>
3836     <div class="hide">
3837       <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;">
3838       <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1">
3839     </div>
3840     <div class="hide">
3841       <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;">
3842       <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2">
3843     </div>
3844     <div class="hide">
3845       <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;">
3846       <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3">
3847     </div>
3848     <div class="field-papan group-field-2 form-group">
3849       
3850       <label for="logoPapan" onclick="" class="input-field field-logo">
3851         
3852         
3853         
3854         <div class="btn-upload-papan w-100">
3855           <?xml version="1.0" encoding="UTF-8"?>
3856           <img src="" style="display:none">
3857           <div class="svgLogoPapan">
3858             <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="22" height="26" viewBox="0 0 22 26" fill="none">
3859               <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/>
3860             </svg>
3861             <p>Upload Logo <span>*optional</span></p>
3862           </div>
3863         </div>
3864         
3865       </label>
3866       
3867       <input
3868         type="hidden"
3869         data-properties="papan-logo"
3870         value=""
3871       >
3872       <input
3873         type="file"
3874         id="logoPapan"
3875         accept="image/*"
3876         style="position: absolute;width: 1px;height: 1px;padding: 0"
3877       >
3878       
3879       <div class="input-field">
3880         <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/>
3881         <p class="limit">0/35</p>
3882       </div>
3883       
3884     </div>
3885     
3886   </div>
3887 </div>
3888       </div>
3889     
3890   </div>
3891 </div>
3892 
3893           </div>
3894           <div class="purchase-button-wrapper">
3895             <div class="purchase-button btn-card row m-0">
3896   <div class="col-12 col-lg-2 text-left mb-2 p-0">
3897     
3898   </div>
3899   <div class="btn-next-card col-12 col-lg-10 text-right">
3900     
3901     
3902     <button
3903       
3904         
3905       
3906       class="btn next-purchase-button text-uppercase"
3907       
3908         disabled
3909       
3910     >
3911       <span>save your flower board</span>
3912     </button>
3913   </div>
3914 </div>
3915 
3916           </div>
3917         </div>
3918       </div>
3919     
3920     
3921     
3922       <div
3923         class="sectionPurchase sectionPurchaseBoard hide"
3924         data-section="address"
3925       >
3926         <div class="wrapperPurchase">
3927           <div class="purchase-content">
3928             <div class="headerPurchase">
3929   <h3>
3930     Complete Your Order
3931   </h3>
3932   <a class="close-purchase-popup">
3933   <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
3934     <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"/>
3935   </svg>
3936 </a>
3937 
3938 </div>
3939 <div class="contentPurchase">
3940   <div class="row">
3941     <div class="col-12 position-relative">
3942       <div class="addressPurchase">
3943         
3944           <h4 class="text-uppercase">recipient delivery address</h4>
3945           <p>Share the delivery address to send your heartfelt blooms straight to their door.</p>
3946         
3947         <div class="formAddressPurchase row">
3948           <div class="col-12">
3949             <form>
3950               <div class="form-group row mb-2 mb-lg-4">
3951                 <div class="col-6 position-relative">
3952                   <input id="first_name" type="text" class="form-control input__field" placeholder="" required>
3953                   <label for="first_name" class="input__label">First Name<span>*</span></label>
3954                 </div>
3955                 <div class="col-6 position-relative">
3956                   <input id="last_name" type="text" class="form-control input__field" placeholder="" required>
3957                   <label for="last_name" class="input__label">Last Name<span>*</span></label>
3958                 </div>
3959                 <input type="hidden" data-properties="nama-penerima">
3960               </div>
3961               
3962                 <h4 class="text-uppercase">how you want to input your address</h4>
3963                 <div class="form-group row mb-2 mb-lg-4 form-address-upload">
3964                   <div class="col-6 position-relative">
3965                     <label class="address-manualy">
3966                       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="18" height="17" viewBox="0 0 18 17" fill="none">
3967   <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.91216 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
39675 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"/>
3968 </svg>
3969 <span>Input Address Manually</span>
3970                     </label>
3971                   </div>
3972                   <div class="col-6 position-relative">
3973                     <label for="address-upload" class="address-upload">
3974                       <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="12" height="13" viewBox="0 0 12 13" fill="none">
3975   <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"/>
3976 </svg>
3977 <span>Upload Address Picture</span>
3978                     </label>
3979                     <input
3980                       id="address-upload"
3981                       type="file"
3982                       accept="image/png, image/jpeg"
3983                       style="position: absolute; padding: 0;width: 1px;height: 1px"
3984                     >
3985                     <input type="hidden" class="props-address-upload" data-properties="foto-alamat">
3986                   </div>
3987                 </div>
3988                 <img width="150" height="" src="" class="photo-address" style="display: none;">
3989               
3990               <div class="form-group row position-relative mb-2 mb-lg-4 form-address">
3991                 <div class="col-12">
3992                   <textarea
3993                     id="delivery_address"
3994                     data-properties="alamat-penerima"
3995                     class="form-control input__field col-12"
3996                     placeholder=""
3997                     required
3998                   ></textarea>
3999                   <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label>
4000                   
4001                 </div>
4002               </div>
4003               <div class="form-group row mb-2 mb-lg-4 form-address">
4004                 <div class="col-6 position-relative">
4005                   <input
4006                     id="recipient_number"
4007                     type="text"
4008                     data-properties="telepon-penerima"
4009                     class="form-control input__field"
4010                     placeholder=""
4011                     required
4012                   >
4013                   <label for="recipient_number" class="input__label">Recipient number<span>*</span></label>
4014                 </div>
4015                 <div class="col-6 position-relative">
4016                   <input
4017                     id="company"
4018                     type="text"
4019                     data-properties="company"
4020                     class="form-control input__field"
4021                     placeholder=""
4022                   >
4023                   <label for="company" class="input__label">Company (Optional)</label>
4024                 </div>
4025               </div>
4026               <div class="form-group row mb-2 mb-lg-4 form-address">
4027                 <div class="col-6 position-relative">
4028                   <input
4029                     id="province"
4030                     type="text"
4031                     class="form-control input__field"
4032                     placeholder=""
4033                     value="Jakarta"
4034                     data-properties="province"
4035                   >
4036                   <label for="province" class="input__label">Province</label>
4037                 </div>
4038                 <div class="col-6 position-relative">
4039                   <select id="zip" class="form-control select-search" required></select>
4040                 </div>
4041               </div>
4042             </form>
4043           </div>
4044         </div>
4045       </div>
4046       <div class="addonsPurchase">
4047         <h4 class="text-uppercase">add-ons</h4>
4048         <div class="addons">
4049           <p>No Add-Ons</p>
4050           <!--
4051             <button class="add-addon">
4052               <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="12" height="12" viewBox="0 0 12 12" fill="none">
4053                 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/>
4054               </svg>
4055               <span>Enhance my moment with Add-ons</span>
4056             </button>
4057           -->
4058         </div>
4059       </div>
4060     </div>
4061     
4062   </div>
4063 </div>
4064 
4065 
4065<script>
4066 document.addEventListener('DOMContentLoaded', function() {
4067   // Detect iOS
4068   var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
4069   
4070   if (isIOS) {
4071     document.querySelector('.formAddressPurchase').classList.add('ios');
4072     
4073     // iOS specific fixes
4074     var inputs = document.querySelectorAll('.formAddressPurchase .input__field');
4075     
4076     inputs.forEach(function(input) {
4077       // Force enable touch events on iOS
4078       input.style.webkitUserSelect = 'text';
4079       input.style.webkitTouchCallout = 'default';
4080       input.style.pointerEvents = 'auto';
4081       input.style.touchAction = 'manipulation';
4082       
4083       // Add explicit touch event listeners for iOS
4084       input.addEventListener('touchstart', function(e) {
4085         e.stopPropagation();
4086         this.focus();
4087       }, { passive: false });
4088       
4089       input.addEventListener('touchend', function(e) {
4090         e.preventDefault();
4091         e.stopPropagation();
4092         this.focus();
4093         this.click();
4094       }, { passive: false });
4095       
4096       // Force focus on tap for iOS
4097       input.addEventListener('click', function(e) {
4098         e.stopPropagation();
4099         if (document.activeElement !== this) {
4100           this.focus();
4101         }
4102       });
4103     });
4104     
4105     // Fix for label overlapping on iOS
4106     var labels = document.querySelectorAll('.formAddressPurchase .input__label');
4107     labels.forEach(function(label) {
4108       label.style.pointerEvents = 'none';
4109       label.addEventListener('touchstart', function(e) {
4110         e.preventDefault();
4111         var input = this.parentNode.querySelector('.input__field');
4112         if (input) {
4113           input.focus();
4114         }
4115       });
4116     });
4117   }
4118   
4119   // Handle input state for all browsers, especially iOS
4120   var inputs = document.querySelectorAll('.input__field');
4121   
4122   inputs.forEach(function(input) {
4123     // Handle input events
4124     input.addEventListener('input', function() {
4125       if (this.value.trim() !== '') {
4126         this.classList.add('has-value');
4127       } else {
4128         this.classList.remove('has-value');
4129       }
4130     });
4131     
4132     // Handle focus
4133     input.addEventListener('focus', function() {
4134       this.classList.add('focused');
4135       // iOS specific: ensure input is visible
4136       if (isIOS) {
4137         setTimeout(function() {
4138           input.scrollIntoView({ behavior: 'smooth', block: 'center' });
4139         }, 300);
4140       }
4141     });
4142     
4143     // Handle blur
4144     input.addEventListener('blur', function() {
4145       this.classList.remove('focused');
4146       if (this.value.trim() !== '') {
4147         this.classList.add('has-value');
4148       } else {
4149         this.classList.remove('has-value');
4150       }
4151     });
4152     
4153     // Initial check for pre-filled values
4154     if (input.value.trim() !== '') {
4155       input.classList.add('has-value');
4156     }
4157   });
4158   
4159   // Additional iOS fixes
4160   if (isIOS) {
4161     // Prevent iOS Safari from adding default styling
4162     document.addEventListener('touchstart', function() {}, { passive: true });
4163     
4164     // Fix viewport issues on iOS
4165     var viewport = document.querySelector('meta[name=viewport]');
4166     if (viewport) {
4167       viewport.setAttribute('content', 
4168         'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
4169       );
4170     }
4171   }
4172 });
4173 </script>
4173
4174           </div>
4175           <div class="purchase-button-wrapper">
4176             <div class="purchase-button btn-address row m-0">
4177   <div class="col-12 col-lg-2 text-left mb-2 p-0">
4178     
4179       <button class="back-purchase-button back-address text-uppercase">
4180         <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif">
4181           <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"/>
4182         </svg>
4183         <span>Back</span>
4184       </button>
4185     
4186   </div>
4187   <div class="btn-next-card col-12 col-lg-10 text-right">
4188     
4189       <!--
4190         <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0">
4191           <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif">
4192             <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"/>
4193           </svg>
4194           <span>Back</span>
4195         </button>
4196       -->
4197     
4198     
4199     <button
4200       
4201         id="addtocart-card"
4202       
4203       class="btn  next-address text-uppercase"
4204       
4205     >
4206       <span>add to cart</span>
4207     </button>
4208   </div>
4209 </div>
4210 
4211           </div>
4212         </div>
4213       </div>
4214     
4215   </div>
4216 </div>
4217 <div id="backgroundPopup"></div>
4218 
4219 
4220 
4221 <input
4222   data-index="1"
4223   type="hidden"
4224   id="properties-delivery-date"
4225   name="properties[Delivery Date]"
4226   value="-"
4227 >
4228 <input
4229   data-index="2"
4230   type="hidden"
4231   id="properties-delivery-time"
4232   name="properties[Delivery Time]"
4233   value="-"
4234 >
4235 <input
4236   data-index="4"
4237   type="hidden"
4238   id="properties-nama-penerima"
4239   name="properties[Nama Penerima]"
4240   value="-"
4241 >
4242 <input
4243   data-index="5"
4244   type="hidden"
4245   id="properties-alamat-penerima"
4246   name="properties[Alamat Penerima]"
4247   value="-"
4248 >
4249 <input
4250   data-index="6"
4251   type="hidden"
4252   id="properties-kodepos"
4253   name="properties[Kodepos]"
4254   value="-"
4255 >
4256 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]">
4257 
4258   
4259     <input
4260       data-index="8"
4261       type="hidden"
4262       id="properties-kartu-nama-penerima"
4263       name="properties[Kartu Nama Penerima]"
4264       value="-"
4265     >
4266   
4267   <textarea
4268     data-index="9"
4269     type="hidden"
4270     id="properties-kartu-pesan"
4271     name="properties[Kartu Pesan]"
4272     style="display: none"
4273   >-</textarea>
4274 
4275 
4276 
4277   <input
4278     data-index="10"
4279     type="hidden"
4280     id="properties-kartu-nama-pengirim"
4281     name="properties[Kartu Nama Pengirim]"
4282     value="-"
4283   >
4284
4285 <!-- Additional Shipping -->
4286 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]">
4287 <input
4288   type="hidden"
4289   id="properties-kota-pengiriman-country"
4290   name="properties[Country]"
4291   value="Indonesia"
4292 >
4293 <input type="hidden" id="properties-shipping" name="properties[Shipping]">
4294 
4295 <input type="hidden" id="properties-time" name="properties[Time]">
4296 <input type="hidden" id="properties-card" name="properties[Card]">
4297 <input type="hidden" id="properties-addons" name="properties[Addons]">
4298 
4299 <input
4300   type="hidden"
4301   id="properties-company"
4302   name="properties[Company]"
4303   value=""
4304 >
4305 
4305<script>
4306   
4307   $(document).ready(function(){
4308     
4309     var text_max_papan1=150;
4310     var msg_text_papan1="";
4311     $('#kartu-ucapan-ucapan').keyup(function(){
4312       var text_length_papan1=$('#kartu-ucapan-ucapan').val().length;
4313       var msg_text_papan1=$('#kartu-ucapan-ucapan').val();
4314     });
4315 
4316     var notes_papan1 = [
4317       
4318       [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."]
4319       
4320     ];
4321     $('#show_note_papan1').click(function(event){
4322       event.preventDefault();
4323       var idx_papan1=parseInt($('#note_id_papan1').val());
4324       if(isNaN(idx_papan1)){
4325         idx_papan1=0;
4326       }else{
4327         idx_papan1++;
4328         idx_papan1=idx_papan1%notes_papan1.length;
4329       }
4330       var note_papan1=notes_papan1[idx_papan1][1];
4331       $('#note_id_papan1').val(idx_papan1);
4332       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1);
4333       $('#msgDelivery').val(note_papan1);
4334 
4335       var text_length_papan1=$('#kartu-ucapan-papan').val().length;
4336       var idx_2_papan1=parseInt($('#note_btn_id_papan1').val());
4337       if(isNaN(idx_2_papan1)){
4338         idx_2_papan1=0;
4339       }else{
4340         idx_2_papan1++;
4341         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4342       }
4343       $('#note_btn_id_papan1').val(idx_2_papan1);
4344       //var note_btn=note_btn_text[idx_2][1];
4345       //$('#note_btn').text(note_btn);
4346     });
4347 
4348     var text_max_papan2=150;
4349     var msg_text_papan2="";
4350     $('#kartu-ucapan-ucapan').keyup(function(){
4351       var text_length_papan2=$('#kartu-ucapan-ucapan').val().length;
4352       var msg_text_papan2=$('#kartu-ucapan-ucapan').val();
4353     });
4354 
4355     var notes_papan2 = [
4356       
4357       [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)."]
4358       
4359     ];
4360     $('#show_note_papan2').click(function(event){
4361       event.preventDefault();
4362       var idx_papan2=parseInt($('#note_id_papan2').val());
4363       if(isNaN(idx_papan2)){
4364         idx_papan2=0;
4365       }else{
4366         idx_papan2++;
4367         idx_papan2=idx_papan2%notes_papan2.length;
4368       }
4369       var note_papan2=notes_papan2[idx_papan2][1];
4370       $('#note_id_papan2').val(idx_papan2);
4371       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2);
4372       $('#msgDelivery').val(note_papan2);
4373       var text_length_papan2=$('#kartu-ucapan-papan').val().length;
4374       var idx_2_papan2=parseInt($('#note_btn_id_papan2').val());
4375       if(isNaN(idx_2_papan2)){
4376         idx_2_papan2=0;
4377       }else{
4378         idx_2_papan2++;
4379         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4380       }
4381       $('#note_btn_id_papan2').val(idx_2_papan2);
4382       //var note_btn=note_btn_text[idx_2][1];
4383       //$('#note_btn').text(note_btn);
4384     });
4385 
4386     var text_max_papan3=150;
4387     var msg_text_papan3="";
4388     $('#kartu-ucapan-ucapan').keyup(function(){
4389       var text_length_papan3=$('#kartu-ucapan-ucapan').val().length;
4390       var msg_text_papan3=$('#kartu-ucapan-ucapan').val();
4391     });
4392 
4393     var notes_papan3 = [
4394       
4395       [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)."]
4396       
4397     ];
4398     $('#show_note_papan3').click(function(event){
4399       event.preventDefault();
4400       var idx_papan3=parseInt($('#note_id_papan3').val());
4401       if(isNaN(idx_papan3)){
4402         idx_papan3=0;
4403       }else{
4404         idx_papan3++;
4405         idx_papan3=idx_papan3%notes_papan3.length;
4406       }
4407       var note_papan3=notes_papan3[idx_papan3][1];
4408       $('#note_id_papan3').val(idx_papan3);
4409       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3);
4410       $('#msgDelivery').val(note_papan3);
4411       var text_length_papan3=$('#kartu-ucapan-papan').val().length;
4412       var idx_2_papan3=parseInt($('#note_btn_id_papan3').val());
4413       if(isNaN(idx_2_papan3)){
4414         idx_2_papan3=0;
4415       }else{
4416         idx_2_papan3++;
4417         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4418       }
4419       $('#note_btn_id_papan3').val(idx_2_papan3);
4420       //var note_btn=note_btn_text[idx_2][1];
4421       //$('#note_btn').text(note_btn);
4422     });
4423 
4424     var text_max_papan4=150;
4425     var msg_text_papan4="";
4426     $('#kartu-ucapan-ucapan').keyup(function(){
4427       var text_length_papan4=$('#kartu-ucapan-ucapan').val().length;
4428       var msg_text_papan4=$('#kartu-ucapan-ucapan').val();
4429     });
4430 
4431     $('#show_note_papan4').click(function(event){
4432       var notes_papan4 = [
4433         [0,"Here’s to you—steadier, stronger and better every day."],
4434         [1,"Warmest wishes for a speedy recovery!"],
4435         [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."],
4436         [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."]
4437       ];
4438       event.preventDefault();
4439       var idx_papan4=parseInt($('#note_id_papan4').val());
4440       console.log(idx_papan4, 'idx_papan4')
4441       if(isNaN(idx_papan4)){
4442         idx_papan4=0;
4443       }else{
4444         idx_papan4++;
4445         idx_papan4=idx_papan4%notes_papan4.length;
4446       }
4447       var note_papan4=notes_papan4[idx_papan4][1];
4448       $('#note_id_papan4').val(idx_papan4);
4449       $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4);
4450       console.log(note_papan4, 'note_papan4')
4451       var text_length_papan4=$('#kartu-ucapan-papan').val().length;
4452       var idx_2_papan4=parseInt($('#note_btn_id_papan4').val());
4453       if(isNaN(idx_2_papan4)){
4454         idx_2_papan4=0;
4455       }else{
4456         idx_2_papan4++;
4457         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4458       }
4459       $('#note_btn_id_papan4').val(idx_2_papan4);
4460     });
4461 
4462     /*
4463     $("#jenisPapan").change(function(){
4464       $( "select option:selected").each(function(){
4465         if($(this).attr("value")=="Happy Wedding"){
4466           $("#suggest-messages a").hide();
4467           $("#show_note_papan1").show();
4468           $("#kartu-ucapan-papan").val("");
4469         }
4470         if($(this).attr("value")=="Congratulations"){
4471           $("#suggest-messages a").hide();
4472           $("#show_note_papan2").show();
4473           $("#kartu-ucapan-papan").val("");
4474         }
4475         if($(this).attr("value")=="Duka Cita"){
4476           $("#suggest-messages a").hide();
4477           $("#show_note_papan3").show();
4478           $("#kartu-ucapan-papan").val("");
4479         }
4480       });
4481     }).change();
4482     */
4483 
4484     
4485 
4486     
4487 
4488     $(".variant-metafield").each(function(){
4489       const t = $(this)
4490       const id = t.attr("id")
4491       const target = $(`[data-select=${id}]`)
4492       t.on('select2:selecting', function(e) {
4493         const data = e.params.args.data
4494         target.val(data.text)
4495       });
4496     })
4497   })
4498 </script>
4498
4499 
4500 <div id="popupCart">
4501   <div class="container">
4502     <div class="wrapperPopupCart">
4503       <div class="headerPopupCart">
4504         <div class="d-flex pl-5 pr-5 p-4">
4505           <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="16" height="12" viewBox="0 0 16 12" fill="none">
4506             <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"/>
4507           </svg>
4508           <span>item added to your cart</span>
4509         </div>
4510         <a class="close-purchase-popup">
4511   <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
4512     <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"/>
4513   </svg>
4514 </a>
4515 
4516       </div>
4517       <div class="contentPopupCart">
4518         <div class="pl-5 pr-5 p-4">
4519           <div class="itemContent row m-0 justify-content-between">
4520             <div class="col-2 align-self-center">
4521               
4522               <img
4523                 class="d-block"
4524                 width="80"
4525                 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426"
4526               >
4527             </div>
4528             <div class="col-10 align-self-center">
4529               <div class="row pl-3">
4530                 <div class="col-12 col-lg-7">
4531                   <span class="titleCartPopup text-uppercase">RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya</span>
4532                 </div>
4533                 <div class="d-flex justify-content-end col-12 col-lg-5">
4534                   <span class="deleteCartPopup hide">Delete</span>
4535                   <span class="lineCartPrice align-self-center">Rp 10.000</span>
4536                 </div>
4537               </div>
4538             </div>
4539           </div>
4540           <div class="itemProperties">
4541             
4542               <div class="propDeliver">
4543                 <h4>delivery option detail</h4>
4544                 <p>
4545                   <span>delivery city</span>
4546                   <span class="propDeliveryCity">jakarta</span>
4547                 </p>
4548                 <p>
4549                   <span>delivery date</span>
4550                   <span class="propDeliveryDate">24/03/2025</span>
4551                 </p>
4552                 <p>
4553                   <span>delivery time</span>
4554                   <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span>
4555                 </p>
4556               </div>
4557               <div class="propAddress">
4558                 <h4>delivery option detail</h4>
4559                 <p>
4560                   <span>RECIPIENT NAME</span>
4561                   <span class="propDeliveryName">jane doe</span>
4562                 </p>
4563                 <p>
4564                   <span>delivery address</span>
4565                   <span class="propDeliveryAddress"
4566                     >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta
4567                     Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span
4568                   >
4569                 </p>
4570                 <p>
4571                   <span>recipient phone number</span>
4572                   <span class="propDeliveryPhone">(+62) 812-3456-7890</span>
4573                 </p>
4574                 <p>
4575                   <span>PROVINCE</span>
4576                   <span class="propDeliveryProv">Jakarta</span>
4577                 </p>
4578                 <p>
4579                   <span>postal code</span>
4580                   <span class="propDeliveryZip">12710</span>
4581                 </p>
4582                 
4583                 
4584               </div>
4585             
4586           </div>
4587           <div class="itemAddonCart">
4588             <div class="toggleAddonCart d-flex justify-content-between">
4589               <h4>add-ons (0)</h4>
4590               <svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="5" height="9" viewBox="0 0 5 9" fill="none">
4591                 <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"/>
4592               </svg>
4593             </div>
4594             <div class="wrapperItemAddonCart"></div>
4595           </div>
4596           
4597         </div>
4598       </div>
4599       <div class="footerPopupCart">
4600         <div class="row m-0 pl-5 pr-5 p-4">
4601           <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a>
4602           <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a>
4603           <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a>
4604         </div>
4605       </div>
4606     </div>
4607   </div>
4608 </div>
4609 
4610 
4611 
4611<script>
4612   const shareButton = document.getElementById('shareButton');
4613 
4614   shareButton.addEventListener('click', () => {
4615     if (navigator.share) {
4616       navigator.share({
4617         title: "RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya",
4618         url: "/products/blossom-shine",
4619         text: 'Check out this page!'
4620       })
4621       .then(() => console.log('Successful share'))
4622       .catch((error) => console.log('Error sharing', error));
4623     } else {
4624       alert('Web Share API is not supported in this browser.');
4625     }
4626   });
4627 
4628   // Inventory validation function
4629   function checkInventoryStatus() {
4630     const productSelect = document.getElementById('productSelect');
4631     const purchaseButton = document.querySelector('#personalizeBtn button');
4632     
4633     if (!productSelect || !purchaseButton) return;
4634 
4635     const selectedVariantId = productSelect.value;
4636     
4637     // Get variant data from Shopify
4638     fetch(`/products/blossom-shine.js`)
4639       .then(response => response.json())
4640       .then(product => {
4641         const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId);
4642         
4643         if (selectedVariant) {
4644           const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 
4645                                selectedVariant.inventory_management === 'shopify' && 
4646                                selectedVariant.inventory_policy !== 'continue';
4647           
4648           if (isOutOfStock) {
4649             purchaseButton.disabled = true;
4650             purchaseButton.textContent = 'Out of Stock';
4651             purchaseButton.setAttribute('data-out-of-stock', 'true');
4652             purchaseButton.style.backgroundColor = '#cccccc';
4653             purchaseButton.style.cursor = 'not-allowed';
4654           } else {
4655             // Check if button was disabled due to other conditions
4656             
4657             
4658             
4659             
4660             
4661             
4662             
4663             
4664             const isOtherDisabled = false || true || false;
4665             
4666             if (!isOtherDisabled) {
4667               purchaseButton.disabled = false;
4668               purchaseButton.textContent = 'customize your flower board';
4669               purchaseButton.removeAttribute('data-out-of-stock');
4670               purchaseButton.style.backgroundColor = '';
4671               purchaseButton.style.cursor = '';
4672             }
4673           }
4674         }
4675       })
4676       .catch(error => {
4677         console.error('Error checking inventory:', error);
4678       });
4679   }
4680 
4681   // Check inventory on page load
4682   document.addEventListener('DOMContentLoaded', function() {
4683     checkInventoryStatus();
4684     
4685     // Listen for variant changes
4686     const productSelect = document.getElementById('productSelect');
4687     if (productSelect) {
4688       productSelect.addEventListener('change', checkInventoryStatus);
4689     }
4690   });
4691 
4692   // Prevent form submission if out of stock
4693   document.addEventListener('click', function(e) {
4694     if (e.target.matches('button[data-out-of-stock="true"]')) {
4695       e.preventDefault();
4696       e.stopPropagation();
4697       alert('This product is currently out of stock and cannot be purchased.');
4698       return false;
4699     }
4700   });
4701 </script>
4701
4702 
4703 
4704   
4705 </div>
4706 
4707           </div>
4708         </div>
4709       </div>
4710     </div>
4711     <div id="product-bottom">
4712       
4713         <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description">
4714           <div class="container">
4715             
4716 
4717 
4718 
4719 
4720     <div class="short-desc-mobile d-block d-lg-none mb-3">
4721         <div class="short-desc">
4722             <ul>
4723 <li><strong>Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.</strong></li>
4724         </div>
4725         <label class="more-mobile">Show More →</label>
4726     </div>
4727 
4728 <style>
4729 .animated-title {
4730     text-align: center;
4731     font-weight: bold;
4732     color: #079c02;
4733     font-size: 28px;
4734     position: relative;
4735     animation: glow 2s infinite alternate, moveUpDown 3s infinite;
4736 }
4737 
4738 /* Efek glow / bercahaya hijau */
4739 @keyframes glow {
4740     0% { text-shadow: 0 0 5px #079c02; color: #079c02; }
4741     50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; }
4742     100% { text-shadow: 0 0 10px #1bff00; color: #079c02; }
4743 }
4744 
4745 /* Efek gerakan naik turun */
4746 @keyframes moveUpDown {
4747     0% { transform: translateY(0px); }
4748     50% { transform: translateY(-5px); }
4749     100% { transform: translateY(0px); }
4750 }
4751 </style>
4752 
4753 
4753<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4753
4754 
4754<script>
4755   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});
4756 
4757   const productType = $("[data-product-type]").data("product-type")
4758   const productDate = Date.parse(new Date())
4759   
4760   const shop = 'outerbloom1.myshopify.com'
4761   const host = 'https://app.asmaraku.com'
4762   // const host = 'http://localhost:5001'
4763 
4764   const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec"
4765   
4766   const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ')
4767 
4768   $("#properties-time").val(new Date().getTime())
4769 
4770   const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
4771 
4772   if(!isIOS) {
4773     $("#full-date").attr("type", "button")
4774   }
4775 
4776   let dateTime = new Date();
4777   let today = dateTime.getDate();
4778   let day = dateTime.getDay();
4779   let hour = dateTime.getHours();
4780   let min = dateTime.getMinutes();
4781   let timeOfDay = hour + (min / 100);
4782 
4783   async function getFetch(url) {
4784     const response = await fetch(url);
4785     let status = false
4786     let result
4787     if(response.ok) {
4788       status = true
4789       result = await response.json();
4790     }
4791     return {
4792       status,
4793       data: result
4794     }
4795   }
4796 
4797   
4798 
4799   function setCookie(cname, cvalue, exMins) {
4800     var d = new Date();
4801     d.setTime(d.getTime() + (exMins*60*1000));
4802     var expires = "expires="+d.toUTCString();  
4803     document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
4804   }
4805 
4806   function getCookie(cname) {
4807     let name = cname + "=";
4808     let decodedCookie = decodeURIComponent(document.cookie);
4809     let ca = decodedCookie.split(';');
4810     for(let i = 0; i <ca.length; i++) {
4811       let c = ca[i];
4812       while (c.charAt(0) == ' ') {
4813         c = c.substring(1);
4814       }
4815       if (c.indexOf(name) == 0) {
4816         return c.substring(name.length, c.length);
4817       }
4818     }
4819     return "";
4820   }
4821 
4822   async function renderDate() {
4823     let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`);
4824     console.log(dataDate, 'renderDate')
4825     const data = dataDate?.data
4826     const date = data.date
4827     const time = data.time
4828 
4829     console.log(date, 'DATE')
4830 
4831     const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
4832     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
4833     const htmlDate = []
4834     for(let i = 0;i < date.length;i++) {
4835       const full = date[i].date
4836       const d = new Date(date[i].date);
4837       const day = weekday[d.getDay()];
4838       const dt = d.getDate();
4839       const mt = monthly[d.getMonth()];
4840       const yr = d.getFullYear();
4841       const isDate = Boolean(date[i].isEnabled)
4842       const cutoffpagi = date[i].cutoff?.pagi
4843       const cutoffsiang = date[i].cutoff?.siang
4844       const cutoffMalam = date[i].cutoff?.Malam
4845       var html = `
4846         <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'}>
4847           ${dt === today ?
4848             `Today<span>${dt < 10 ? '0' + dt : dt}</span>` :
4849             `${day}<span>${dt < 10 ? '0' + dt : dt}</span>`
4850           }
4851         </button>
4852       `
4853       htmlDate.push(html)
4854     }
4855     const htmlTime = []
4856     for(var i = 0;i < time.length;i++) {
4857       const timeText = time[i].text
4858       const timeTime = time[i].time
4859       const timeEnabled = time[i].isEnabled
4860       var html = `
4861           <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button>
4862         `
4863       htmlTime.push(html)
4864     }
4865     const deliveryDate = document.getElementById("deliveryDate");
4866     if(deliveryDate) {
4867       deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join(''))
4868       $("#deliveryTime").html(htmlTime)
4869       if(productType !== '') {
4870         console.log("clarity event " + productType + ' calendaring')
4871         window.clarity("event", `${productType} calendaringSchedule`)
4872         // window.clarity("set", productType, `calendaringSchedule - ${productDate}`)
4873       }
4874     }
4875   }
4876 
4877   async function getProvince(city) {
4878     let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`);
4879     console.log(province, 'province')
4880     $("#province").val(province)
4881   }
4882 
4883   async function renderAddress() {
4884     let current
4885     if(getCookie("location_delivery")){
4886       current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1)
4887     }
4888     let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`);
4889     console.log(address)
4890     const data = address?.data?.city
4891     const htmlAddress = []
4892     const grouping = []
4893     for(let i = 0;i < data?.length;i++) {
4894       if(data[i]){
4895         if(data[i]?.group) {
4896           grouping.push(data[i].group)
4897         }
4898         const price = rupiah.format(data[i]?.rate)
4899         let promo = '(Promo Free Delivery)'
4900         if(data[i]?.name === 'Jakarta - PickUp ASHTA'){
4901           promo = '(at SCBD, Ashta)'
4902         } else if(data[i]?.name === 'Jakarta - PickUp ITC'){
4903           promo = '(at Kuningan, ITC Kuningan)'
4904         } else if(data[i]?.name === 'BSD - PickUp'){
4905           promo = '(at Goldfinch Gading Serpong)'
4906         } else if(data[i]?.name === 'Kota Lainnya'){
4907           promo = ''
4908         }
4909         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>`)
4910       }
4911     }
4912     
4913     const deliveryCity = document.getElementById("cities");
4914     if(deliveryCity) {
4915       deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join(''))
4916       if(!isIOS) {
4917         $(deliveryCity).select2();
4918       }
4919     }
4920   }
4921 
4922   async function renderZip(v, v2, v3) {
4923     const deliveryZip = document.getElementById("zip");
4924     if(v === '') {
4925       return
4926     }
4927     let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`);
4928     let zip = dataZip?.data?.zip
4929     console.log(zip)
4930     let htmlZip = []
4931     for(let i = 0; i < zip?.length;i++) {
4932       htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`)
4933     }
4934     deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join(''))
4935   }
4936 
4937   renderDate()
4938   renderAddress()
4939 
4940   let rupiah = new Intl.NumberFormat('id-ID', {
4941     style: 'currency',
4942     currency: 'IDR',
4943     maximumFractionDigits: 0, 
4944     minimumFractionDigits: 0
4945   });
4946 
4947   async function insertCard(data) {
4948     const response = await fetch(`${host}/api/card/new`, {
4949         method: "POST",
4950         headers: {
4951           'Content-Type': 'application/json',
4952         },
4953         body: data
4954     })
4955     const result = await response.json()
4956     let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1]
4957     $("#greetingCard").attr("data-index", rowIndex)
4958     return result
4959   }
4960     
4961   async function updateCard(data){
4962     const rowIndex = $("#greetingCard").data("index")
4963     const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, {
4964         method: "PUT",
4965         headers: {
4966           'Content-Type': 'application/json',
4967         },
4968         body: data
4969     })
4970     return response
4971   }
4972     
4973   function bytesToSize(bytes) {
4974     var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p'];
4975     for (var i = 0; i < sizes.length; i++) {
4976       if (bytes <= 1024) {
4977         return bytes + ' ' + sizes[i];
4978       } else {
4979         bytes = parseFloat(bytes / 1024).toFixed(2)
4980       }
4981     }
4982     return bytes + ' P';
4983   }
4984 
4985   async function uploadMedia(uri, type) {
4986     nameq = $("#properties-nama-penerima").val()
4987     dear = $("#properties-kartu-nama-penerima").val()
4988     card = $("[data-properties=ucapan]").val()
4989     sender = $("#properties-kartu-nama-pengirim").val()
4990     photo = $("#properties-photo").val()
4991     video = $("#properties-video").val()
4992     status = "Product"
4993         
4994     const name = qrID
4995     let formData = new FormData(); 
4996     formData.append("file", uri);
4997     const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
4998       method: "POST", 
4999       body: formData
5000     })
5001     const result = await response.json();
5002     if(result) {
5003       const url = result.url
5004       if(type === 'image/jpeg') {
5005         $("#properties-photo").val(url)
5006         $(".preview-image").show()
5007         $(".remove-image").show()
5008         photo = url
5009       } else {
5010         $("#properties-video").val(url)
5011         $("#label-input-video span").text("Change File")
5012         $(".case-qrcode-preview p").text("Scan here for a secret message")
5013         $(".remove-media").show()
5014         $("#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>`)
5015         $("[for=input-video]").hide()
5016         video = url
5017       }
5018       $(".case-video-preview").show()
5019       $(".steps-card-preview").removeClass("loading")
5020       // updateCard(nameq, dear, card, sender, photo, video, status)
5021 
5022       $(".nextBtn").attr("disabled", false)
5023     }
5024   }
5025 
5026   function randomString(length, chars) {
5027     var result = '';
5028     for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
5029     return result;
5030   }
5031 
5032   function getNoteCity(fulldate) {
5033     const h_1 = new Date(new Date().setDate(new Date().getDate() + 1))
5034     const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"];
5035     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
5036     const d = new Date(h_1);
5037     const day = weekday[d.getDay()];
5038     const dt = d.getDate();
5039     const mt = monthly[d.getMonth()];
5040     const yr = d.getFullYear();
5041     const p = $("#cities").parent(".form-group")
5042   }
5043 
5044   function disabledSameDay() {
5045     let btnFirst = $("#deliveryDate").find("button:first-child")
5046     let getDay = new Date().getDay();
5047 
5048     
5049       
5050       if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){
5051         if(hour >= 14.00){
5052           btnFirst.attr("disabled", true)
5053         }
5054       } else if(getDay == 6){
5055         if(hour >= 16.00){
5056           btnFirst.attr("disabled", true)
5057         }
5058       } else if(getDay == 0){
5059         if(hour >= 16.00){
5060           btnFirst.attr("disabled", true)
5061         }
5062       }
5063       
5064     
5065   }
5066 
5067   function disabledays(date) {
5068     let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
5069     //if u have to disable a list of day
5070     let removeDays
5071     
5072     
5073     
5074         removeDays = ["2025-2-13", "2025-2-14"];
5075     
5076     if ($.inArray(ymd, removeDays) >= 0) {
5077       return [false];
5078     } else {
5079       let day = date.getDay();
5080       if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){
5081           return [(day == 0),  ''];
5082       }
5083       
5084       if(day == 0){
5085         return [(day == 0),  ''];
5086       }
5087       
5088       
5089       return [(day != 0),  ''];
5090     }
5091   }
5092 
5093   /* Indonesian initialisation for the jQuery UI date picker plugin. */
5094   /* Written by Deden Fathurahman ([email protected]). */
5095   ( function( factory ) {
5096     if ( typeof define === "function" && define.amd ) {
5097 
5098       // AMD. Register as an anonymous module.
5099       define( [ "../widgets/datepicker" ], factory );
5100     } else {
5101 
5102       // Browser globals
5103       factory( jQuery.datepicker );
5104     }
5105   }( function( datepicker ) {
5106 
5107   datepicker.regional.id = {
5108     closeText: "Tutup",
5109     prevText: "&#x3C;mundur",
5110     nextText: "maju&#x3E;",
5111     currentText: "Today",
5112     monthNames: [ "January","February","March","April","May","Juny",
5113                   "July","August","September","October","November","December" ],
5114     monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun",
5115                       "Jul","Agu","Sep","Oct","Nov","Dec" ],
5116     dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ],
5117     dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ],
5118     dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ],
5119     weekHeader: "Mg",
5120     dateFormat: "D, dd M",
5121     firstDay: 0,
5122     isRTL: false,
5123     showMonthAfterYear: false,
5124     yearSuffix: "" };
5125   datepicker.setDefaults( datepicker.regional.id );
5126 
5127   return datepicker.regional.id;
5128 
5129 } ) );
5130 
5131   function loadPopup() {
5132     $("#backgroundPopup").fadeIn("slow");
5133     $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow");
5134     const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first()
5135     if(firstSection.hasClass("purchasePersonalize")) {
5136       if(productType !== '') {
5137         console.log("clarity event " + productType + ' personalize')
5138         window.clarity("event", `${productType} cardPersonalization`)
5139         // window.clarity("set", productType, `cardPersonalization - ${productDate}`)
5140       }
5141     } else if (firstSection.hasClass("sectionPurchaseBoard")) {
5142         console.log("clarity event " + productType + ' personalizeBoard')
5143         window.clarity("event", `${productType} personalizeBoard`)
5144         // window.clarity("set", productType, `personalizeBoard - ${productDate}`)
5145     }
5146     firstSection.removeClass("hide")
5147     
5148     // Auto-trigger addon loading when addon section becomes visible
5149     setTimeout(function() {
5150       const addonSection = $(".purchaseAddon")
5151       if(addonSection.length > 0 && !addonSection.hasClass("hide")) {
5152         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
5153           $("[data-addon=upsell-all]").trigger("click")
5154         }
5155       }
5156     }, 200)
5157   }
5158 
5159   function disablePopup() {
5160     $("#backgroundPopup").fadeOut("slow");
5161     $(".purchasePopup").fadeOut("slow");
5162     $("#popupCart").fadeOut("slow");
5163   }
5164 
5165     function scrollTo(parent, div, dur) {
5166       $(parent).animate({
5167         scrollTop: $(div).offset().top
5168       }, dur);
5169     }
5170 
5171   function loadPopupPersonalize() {
5172     const div = "#purchaseProduct"
5173     const p = "html, body, .product-meta"
5174     $("p.error").remove()
5175     loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all")
5176     const isCity = $("#cities[required]")
5177     const isDate = $("#propDeliveryDate[required]")
5178     const isTime = $("#propDeliveryTime[required]")
5179     // loadPopup()
5180     if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') {
5181       loadPopup()
5182     }
5183     if(isCity.val() == '') {
5184       isCity.parent(".row").append("<p class='error'>Choose delivery city</p>")
5185       scrollTo(p, div, 500)
5186     }
5187     if(isDate.val() == '') {
5188       isDate.parents(".row").append("<p class='error'>Choose delivery date</p>")
5189       scrollTo(p, div, 500)
5190     }
5191     if(isTime.val() == '') {
5192       isTime.parents(".row").append("<p class='error'>Choose delivery time</p>")
5193       scrollTo(p, div, 500)
5194     }
5195   }
5196 
5197   function quantityCounter() {
5198     $(document).on("click", ".item-card.selected .q_up", function () {
5199       var C = $(this).attr("data-id"),
5200           S =
5201               parseInt(
5202                   $(this)
5203                       .siblings(".quantity-cart-" + C)
5204                       .val()
5205               ) + 1;
5206       $(this).attr("data-quantity", S),
5207           $(this)
5208               .siblings(".quantity-cart-" + C)
5209               .val(S);
5210     }),
5211     $(document).on("click", ".item-card.selected .q_down", function () {
5212         var C = $(this).attr("data-id"),
5213             S = parseInt(
5214                 $(this)
5215                     .siblings(".quantity-cart-" + C)
5216                     .val()
5217             );
5218         0 < S && $(this).attr("data-quantity", S - 1),
5219             0 < S &&
5220                 $(this)
5221                     .siblings(".quantity-cart-" + C)
5222                     .val(S - 1);
5223     });
5224   }
5225 
5226   quantityCounter()
5227 
5228   const itemAddon = $(".item-card").length
5229   const nofree = $(".nofree").length
5230 
5231   const upsell = ''
5232   
5233   if(nofree === itemAddon) {
5234       // $("#itemAddons").html("<p>No Items available</p>")
5235   }
5236 
5237   $("#itemAddons .item-card").each(function(e){
5238       $("#itemAddons").attr("data-length", e)
5239   })
5240 
5241   $("[data-addon]").click(function(){
5242       
5243       
5244       
5245       const t = $(this)
5246       
5247       const data = t.data("addon")
5248       
5249       $("[data-addon]").removeClass("selected")
5250       t.addClass("selected")
5251       $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){
5252           const products = data.products
5253           const html = []
5254           for(let i = 0; i < products.length; i++) {
5255               const id = products[i].id
5256               const variantId = products[i].variants[0].id
5257               const img = products[i].images[0].src
5258               let img2 = img.split('.jpg')[0]
5259               const title = products[i].title
5260               const price = products[i].variants[0].price
5261               const tags = products[i].tags
5262               const qty = products[i].variants[0].available
5263               let type_upsell = ''
5264               if(tags.includes('upsell-item-standing')) {
5265                   type_upsell = 'standing'
5266               }
5267               console.log(type_upsell)
5268               if(type_upsell !== '') {
5269                   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}">
5270                       
5271                           <div class="card-image">
5272                               <img src="${img2}_150x.jpg" alt="${title}" width="" height="" />
5273                           </div>
5274                           <div class="card-meta">
5275                               <h5>${title}</h5>
5276                               <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
5277                               <input id="card-${variantId}" type="hidden" name="" value="${variantId}">
5278                           </div>
5279                           <div class="card-qty">
5280                               <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}">
5280<svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a>  
5281                               <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}" value="0" data-price=${price} name="quantity">
5282                               <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="12" height="13" viewBox="0 0 12 13" fill="none">
5283 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/>
5284 </svg></a>   
5285                           </div>
5286                       </div>`
5287                   html.push(body)
5288               }
5289           }
5290           $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html)
5291           $("#itemAddons").attr("data-length", products.length)
5292           // $('#itemAddons')[0].swiper.update();
5293       });
5294   })
5295 
5296   async function isAddon(){
5297     let ids = []
5298     $("#itemAddons .item-card.selected").each(function(i, e){
5299       const id = $(this).data("id")
5300       ids.push(id)
5301     })
5302     console.log(ids)
5303     return ids
5304   }
5305   
5306   $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){
5307     const t = $(this).parent()
5308     const id = t.data("id")
5309     const btn =  t.parents(".purchaseAddon").find(".next-purchase-button")
5310     t.toggleClass("selected");
5311     //$(this).next("input").toggleAttr('name', 'id[]');
5312     if (t.hasClass('selected')) {
5313         t.find("input").val(1)
5314         t.find("input").attr('name', 'id[]');
5315     } else {
5316         t.find("input").val(0)
5317         t.find("input").removeAttr('name');
5318     }
5319     $("#properties-addons").val(addons)
5320     const is = await isAddon()
5321     if(is.length === 0) {
5322       btn.text("continue without add-ons")
5323       return
5324     }
5325     if(is.includes(8835692069079)) {
5326       btn.text("personalize acrylic frame")
5327     } else {
5328       btn.text("Continue")
5329     }
5330       
5331   })
5332 
5333   async function myAddon(data) {
5334     const c = $(".addonsPurchase .addons")
5335     let items = []
5336     
5337     const spotifyAddons = $(".spotifyAddons").find("[data-index]")
5338     // if(spotifyAddons.length > 0) {
5339     //   $(spotifyAddons).each(function(i, e){
5340     //     const spotifyLink = $(this).find(".spotifyLink").val()
5341     //     const spotifySong = $(this).find(".spotifySong").val()
5342     //     const spotifyArtist = $(this).find(".spotifyArtist").val()
5343     //     const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val()
5344     //     if(spotifyLink !== '') {
5345     //       spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1">
5346     //         <div class="addon-itm-img">
5347     //           <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"/>
5348     //         </div>
5349     //         <div class="addon-itm-title">
5350     //           <span>[US] Outerbloom Acrylic Frame 4R</span>
5351     //         </div>
5352     //         <div class="addon-itm-line-total">
5353     //           <span>Rp 99.000</span>
5354     //         </div>
5355     //       </div>
5356     //       <div class="propsAddonSpotify row m-0">
5357     //         <div class="col-12 col-lg-2"></div>
5358     //           <div class="col-12 col-lg-10">
5359     //             <p>
5360     //               <span>spotify link</span>
5361     //               <span class="spotifyLinkAddon">${spotifyLink}</span>
5362     //             </p>
5363     //             <p>
5364     //               <span>uploaded photo</span>
5365     //               <span class="spotifyFotoAddon">${spotifyFotoAddon}</span>
5366     //             </p>
5367     //             <p>
5368     //               <span>song / playlist name</span>
5369     //               <span class="spotifySongAddon">${spotifySong}</span>
5370     //             </p>
5371     //             <p>
5372     //               <span>artist name</span>
5373     //               <span class="spotifyArtistAddon">${spotifyArtist}</span>
5374     //             </p>
5375     //           </div>
5376     //       </div>`
5377     //       items.push(spotifyAddon)
5378     //     }
5379     //   })
5380     // }
5381     for(let i = 0; i < data.length; i++) {
5382       if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) {
5383         const img = data[i].image
5384         const title = data[i].title
5385         const qty = data[i].qty
5386         const price = data[i].price
5387         const total = Number(qty) * Number(price)
5388         let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}">
5389               <div class="addon-itm-img">
5390                 <img src="${img}" alt="" width="70"/>
5391               </div>
5392               <div class="addon-itm-title">
5393                 <span>${title}</span>
5394               </div>
5395               <div class="addon-itm-line-price">
5396                 <span>${rupiah.format(price)}</span>
5397                 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`}
5398               </div>
5399               <div class="addon-itm-line-total">
5400                 <span>${rupiah.format(total)}</span>
5401               </div>
5402             </div>`
5403           items.push(addons)
5404       }
5405     }
5406     c.html(items)
5407     const parent = $(".purchaseAddon")
5408     const next = parent.next(".sectionPurchase")
5409     parent.addClass("hide")
5410     next.removeClass("hide")
5411     // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart")
5412     // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`)
5413   }
5414 
5415   async function listAddon() {
5416     const data = $("#itemAddons").find(".selected")
5417     let ids = []
5418     $(data).each(function(){
5419       const id = $(this).data("variant")
5420       const image = $(this).find(".card-image img").attr("src")
5421       const title = $(this).find(".card-meta h5").text()
5422       const qty = $(this).find(".card-qty input").val()
5423       const price = $(this).find(".card-qty input").data("price")
5424       ids.push({
5425         id: Number(id),
5426         image,
5427         title,
5428         qty,
5429         price
5430       })
5431     })
5432     myAddon(ids)
5433   }
5434 
5435   async function customSpotify(idx, length, type){
5436     let isCard = false
5437     
5438     let p = $(".purchasePopupSpotify")
5439     const preLink = $(".spotifyLinkFirst").val()
5440     $("[data-index]").hide()
5441     p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`)
5442     p.find(".regulerAddons, .purchase-button").hide()
5443     p.find(".spotifyAddons").show()
5444     
5445     const data = await trackUrl(preLink)
5446     
5447     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://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="13" height="11" viewB
5447ox="0 0 13 11" fill="none">
5448 <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"/>
5449 </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://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif><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://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="13" height="11" viewB
5449ox="0 0 13 11" fill="none">
5450 <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"/>
5451 </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>`
5452     // console.log(html)
5453     
5454     $(".spotifyAddons").append(html)
5455     
5456     $(`[data-index=${idx}]`).show()
5457     
5458     if (preLink !== '') {
5459       $(".btn-action .btn").attr("disabled", false)
5460     } else {
5461       $(".btn-action .btn").attr("disabled", true)
5462     }
5463 
5464     return html
5465     
5466   }
5467 
5468   $(".spotifyLinkFirst").keyup(async function(){
5469     const v = $(this).val()
5470     if(v.includes('spotify:user:spotify')) {
5471       const correct = v.split('user:spotify:')[1]
5472       console.log(correct, 'BNER')
5473       $(this).val(correct)
5474       return
5475     }
5476     if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){
5477       const data = await trackUrl(v)
5478       if(!data || !data.status) {
5479         $(this).parent().addClass("error")
5480         // $(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>`)
5481         $("#personalizeBtnSpotify .btn").attr("disabled", true)
5482         return
5483       }
5484       $(this).parent().removeClass("error")
5485       // $(this).parent().remove("txt-error")
5486       $("#personalizeBtnSpotify .btn").attr("disabled", false)
5487     } else {
5488       $("#personalizeBtnSpotify .btn").attr("disabled", true)
5489     }
5490   })
5491 
5492   $(".purchaseAddon").delegate(".next-addon", "click", function(){
5493     const parent = $(this).parents(".purchaseAddon")
5494     const next = parent.next(".sectionPurchase")
5495     if(next.hasClass("purchaseAddress")) {
5496       if(productType !== '') {
5497         console.log("clarity event " + productType + ' purchaseDelivery')
5498         window.clarity("event", `${productType} purchaseDelivery`)
5499         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5500       }
5501     }
5502     const data = $("#itemAddons").find(".selected")
5503     const length = $(".quantity-cart-46067682607319").val()
5504     const checked = data.length;
5505     if(checked > 0) {
5506       if(length > 0) {
5507         $(".purchaseAddon").addClass("purchaseAddonSpotify")
5508         customSpotify(1, length, 'addon')
5509       } else {
5510         listAddon()
5511       }
5512     } else {
5513       parent.addClass("hide")
5514       next.removeClass("hide")
5515     }
5516   })
5517 
5518   $("#personalizeBtnSpotify .btn").click(async function(){
5519     const isCity = $("#cities[required]")
5520     const isDate = $("#propDeliveryDate[required]")
5521     if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) {
5522       alert('Please choose Delivery City & Delivery Date')
5523       return
5524     }
5525     const data = await customSpotify(1, 1, 'product')
5526     if(data) {
5527       $("#backgroundPopup").fadeIn("slow");
5528       $(".purchasePopupSpotify").fadeIn("slow");
5529 
5530       if(productType !== '') {
5531         console.log("clarity event " + productType + ' spotify')
5532         window.clarity("event", `${productType} spotify`)
5533         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5534       }
5535     }
5536   })
5537 
5538   function formatBytes(bytes, decimals = 2) {
5539     if (!+bytes) return '0 Bytes'
5540 
5541     const k = 1024
5542     const dm = decimals < 0 ? 0 : decimals
5543     const sizes = ['B', 'KB', 'MB']
5544 
5545     const i = Math.floor(Math.log(bytes) / Math.log(k))
5546 
5547     return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
5548   }
5549 
5550   async function trackUrl(link){
5551     try {
5552       let trackId = link.split('/').pop().split('?')[0];
5553       let type = ''
5554       if(link.includes("spotify:")) {
5555         const uri = link.split('spotify:')[1]
5556         trackId = uri.split(':')[1]
5557         type = uri.split(':')[0] + 's'
5558       } else {
5559         if(link.match('track')){
5560           type = 'tracks'
5561         } else if(link.match('playlist')) {
5562           type = 'playlists'
5563         } else if(link.match('artist')) {
5564           type = 'artists'
5565         } else if(link.match('album')) {
5566           type = 'albums'
5567         }
5568       }
5569       console.log(`${host}/api/spotify/${type}/${trackId}`)
5570       const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`)
5571       console.log(data, 'DATA')
5572       const song = data?.data?.name
5573       const artist = data?.data?.artist
5574       return {
5575         song, artist, type, trackId, status: data.status
5576       }
5577     } catch(err) {
5578       console.log(err)
5579     }
5580   }
5581 
5582   $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){
5583     const parent = $(this).parents("[data-index]")
5584     const preview = parent.find(".previewImage")
5585     const file = $(this)[0].files[0];
5586     if (file) {
5587         const reader = new FileReader();
5588         reader.onload = async function(e) {
5589           parent.find(".uploadResult label").hide()
5590           parent.find(".uploadedResult").remove()
5591           parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between">
5592           <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>
5593           <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;">
5593<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif">
5594   <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 />
5595 </svg>
5596 </span></div></div>`)
5597           parent.find(".frameImageUploaded svg").hide()
5598           parent.find(".frameImage").addClass("uploaded")
5599           preview.attr("src", e.target.result);
5600           preview.show();
5601           let formData = new FormData(); 
5602           formData.append("file", file);
5603           const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, {
5604             method: "POST", 
5605             body: formData
5606           })
5607           const result = await response.json();
5608           if(result){
5609             parent.find(".resultPhotoSpotify").val(result.url)
5610           }
5611         }
5612         
5613         reader.readAsDataURL(file);
5614     } else {
5615         preview.hide();
5616     }
5617   });
5618 
5619   $(".spotifyAddons").delegate(".uploadResult", "click", function(){
5620     $(this).next("input[type=file]").trigger("click")
5621   })
5622 
5623   $(".spotifyAddons").delegate(".changeUpload", "click", function(){
5624     $(this).parents("input[type=file]").trigger("click")
5625   })
5626 
5627   $(".spotifyAddons").delegate(".removeUpload", "click", function(){
5628     const parent = $(this).parents("[data-index]")
5629     parent.find(".uploadPhotoSpotify").val("")
5630     parent.find(".uploadResult label").show()
5631     parent.find(".uploadedResult").remove()
5632     parent.find(".frameImageUploaded svg").show()
5633     parent.find(".previewImage").hide()
5634     parent.find(".frameImage").removeClass("uploaded")
5635   })
5636 
5637   $(".spotifyAddons").delegate("label.checkbox", "click", function(){
5638     const parent = $(this).parents("[data-index]")
5639     parent.toggleClass("checked")
5640   })
5641 
5642   $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){
5643     const parent = $(this).parents("[data-index]")
5644     const link = $(this).val()
5645     const data = await trackUrl(link)
5646 
5647     console.log(data)
5648 
5649     if(data.song) {
5650       parent.find(".spotifySong").val(data.song)
5651       parent.find(".spotifyData").find("h3").text(data.song)
5652     }
5653     if(data.artist) {
5654       parent.find(".spotifyArtist").val(data.artist)
5655       parent.find(".spotifyData").find("p").text(data.artist)
5656     }
5657     parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`)
5658     // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M
5659     if (data.status === true) {
5660       parent.find(".btn-action .btn").attr("disabled", false)
5661     } else {
5662       parent.find(".btn-action .btn").attr("disabled", true)
5663     }
5664   })
5665   
5666   $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){
5667     const parent = $(this).parents("[data-index]")
5668     const v = $(this).val()
5669     parent.find(".spotifyData h3").text(v)
5670   })
5671 
5672   $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){
5673     const parent = $(this).parents("[data-index]")
5674     const v = $(this).val()
5675     parent.find(".spotifyData p").text(v)
5676   })
5677 
5678   $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){
5679     const parent = $(this).parents("[data-index]")
5680     const length = parent.data("length")
5681     const index = parent.data("index")
5682     const indexNext = Number(index) + 1
5683     customSpotify(indexNext, length, 'addon')
5684   })
5685 
5686   
5687   $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){
5688     const parent = $(this).parents(".purchaseAddon")
5689     const next = parent.next(".sectionPurchase")
5690     parent.addClass("hide")
5691     next.removeClass("hide")
5692     next.find(".purchase-button").show()
5693     listAddon()
5694   })
5695 
5696   $(".spotifyAddons").delegate(".back-spotify", "click", async function(){
5697     const t = $(this).parents("[data-index]")
5698     const parent = $(this).parents(".sectionPurchase")
5699     const current = t.data("index")
5700     const prevCurrent = Number(current) - 1
5701     if(current == 1) {
5702       parent.removeClass("purchaseAddonSpotify")
5703       parent.find(".purchase-button").show()
5704       parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!")
5705       $(".spotifyAddons").empty()
5706       $(".regulerAddons").show()
5707       return
5708     }
5709     t.hide()
5710     t.prev("[data-index]").show()
5711     t.remove()
5712     parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`)
5713   })
5714 
5715   $("#personalizeBtn .btn").click(async function() {
5716     loadPopupPersonalize()
5717   });
5718 
5719   $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){
5720     $(".sectionPurchaseSpotify").hide()
5721     loadPopupPersonalize()
5722   })
5723 
5724   $(".close-purchase-popup").click(function() {
5725       disablePopup();
5726   });
5727   $("#backgroundPopup").click(function() {
5728       // disablePopup();
5729   });
5730 
5731   $("#popupCart .close-purchase-popup").click(function() {
5732       location.reload()
5733   });
5734 
5735   $('#popupCart').on('hide.bs.modal', function (e) {
5736     location.reload()
5737   })
5738 
5739   $(".next-card").click(function(){
5740     const parent = $(this).parents(".sectionPurchase")
5741     const next = parent.next(".sectionPurchase")
5742     parent.addClass("hide")
5743     next.removeClass("hide")
5744   })
5745 
5746   $(".back-purchase-button").click(function(){
5747     const parent = $(this).parents(".sectionPurchase")
5748     const prev = parent.prev(".sectionPurchase")
5749     parent.addClass("hide")
5750     prev.removeClass("hide")
5751   })
5752   
5753   $(document).keypress(function(e) {
5754       if (e.keyCode == 27 && popupStatus == 1) {
5755           disablePopup();
5756       }
5757   });
5758   
5759   const parentImg = $(".case-img-preview")
5760   const parentVid = $(".case-video-preview")
5761   
5762   function readURL(input) {
5763     if (input.files && input.files[0]) {
5764       let reader = new FileReader();
5765 
5766       let type = 'image/jpeg'
5767       const size = input.files[0].size
5768       if(input.files[0].type.match('video/')){
5769         type = 'video/mp4'
5770         if(size > 15728640) {
5771           alert('File size exceeds maximum limit 15 MB')
5772           return
5773         }
5774       } else {
5775         if(size > 5242880) {
5776           alert('File size exceeds maximum limit 5 MB')
5777           return
5778         }
5779       }
5780 
5781       reader.onload = function (e) {
5782         $(".nextBtn").attr("disabled", true)
5783         if(type === 'image/jpeg') {
5784           
5785             $('.placeholder-image').hide();
5786             $('.preview-image').show()
5787             $('.preview-image').attr('src', e.target.result);
5788           
5789         } else {
5790           // parentVid.find(".ajax-loader").show();
5791           $(".steps-card-preview").addClass("loading")
5792         }
5793       }
5794 
5795       
5796 
5797       reader.readAsDataURL(input.files[0]);
5798     }
5799   }
5800 
5801   async function readURLPapan(input) {
5802     if (input.files && input.files[0]) {
5803       let reader = new FileReader();
5804 
5805       reader.onload = function (e) {
5806         $('.btn-upload-papan').siblings('label').hide();
5807         $('.btn-upload-papan img').attr('src', e.target.result);
5808         $('.btn-upload-papan img').show();
5809         $('.svgLogoPapan').hide();
5810       }
5811       
5812       const type = 'image/jpeg'
5813       const name = `logo-8144957800663-${Date.parse(new Date())}`
5814 
5815       let formData = new FormData(); 
5816       formData.append("file", input.files[0]);
5817       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5818         method: "POST", 
5819         body: formData
5820       })
5821       const result = await response.json();
5822       if(result) {
5823         const url = result.url
5824         $("[data-properties=papan-logo]").val(url)
5825       }
5826 
5827       reader.readAsDataURL(input.files[0]);
5828     }
5829   }
5830 
5831   async function readURLAddress(input) {
5832     console.log(input, 'readURLAddress')
5833     if (input.files && input.files[0]) {
5834       let reader = new FileReader();
5835 
5836       reader.onload = function (e) {
5837         $('.photo-address').attr('src', e.target.result);
5838         $('.photo-address').show();
5839       }
5840       
5841       const type = 'image/jpeg'
5842       const name = input.files[0].name?.split('.')[0]
5843 
5844       let formData = new FormData(); 
5845       formData.append("file", input.files[0]);
5846       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5847         method: "POST", 
5848         body: formData
5849       })
5850       const result = await response.json();
5851 
5852       reader.readAsDataURL(input.files[0]);
5853 
5854       return result
5855     }
5856   }
5857 
5858   
5859 
5860   
5861   async function addToCartUang() {
5862     var productAddOnId1 = 42122101162199;
5863     var productAddOnId2 = 42122101194967;
5864     var product_id = 8144957800663
5865     const data = {
5866       items: [
5867           {
5868               quantity: $("#Quantity-" + productAddOnId1).val(),
5869               id: productAddOnId1,
5870               "properties": { "Time": $("#properties-time").val() }
5871           },
5872           {
5873               quantity: $("#Quantity-" + productAddOnId2).val(),
5874               id: productAddOnId2,
5875               "properties": { "Time": $("#properties-time").val() }
5876           }
5877       ]
5878     }
5879     await fetch(window.Shopify.routes.root + 'cart/add.js', {
5880       method: 'POST',
5881       headers: {
5882         'Content-Type': 'application/json'
5883       },
5884       body: JSON.stringify(data)
5885     })
5886     .then(response => {
5887       console.error('Sukses Buket Uang:', response);
5888       $(".form-flower").submit()
5889     })
5890     .catch((error) => {
5891       console.error('Error Buket Uang:', error);
5892       $(".form-flower").submit()
5893     });
5894   }
5895   
5896   async function saveCard(){
5897     let isCard = true
5898     const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : ''
5899     const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : ''
5900     const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : ''
5901     const foto = $("#properties-photo").val()
5902     const video = $("#properties-video").val()
5903     const data = JSON.stringify({
5904       "id": qrID, 
5905       "penerima": $("#properties-nama-penerima").val(), 
5906       "kartu_penerima": kartu_penerima, 
5907       "kartu_ucapan": kartu_ucapan, 
5908       "kartu_pengirim": kartu_pengirim, 
5909       "foto": foto,
5910       "video": video, 
5911       "productId": "8144957800663", 
5912       "order_name": "", 
5913       "status": "Cart"
5914     })
5915 
5916     
5917   }
5918 
5919   async function additem(items){
5920     try {
5921       let formData = items
5922       if(items?.length) {
5923         formData = {
5924            'items': items
5925         };
5926       }
5927   
5928       const add = await fetch(window.Shopify.routes.root + 'cart/add.js', {
5929         method: 'POST',
5930         headers: {
5931           'Content-Type': 'application/json',
5932           'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */
5933         },
5934         body: JSON.stringify(formData)
5935       })
5936   
5937       const data = await add.json();
5938       return data
5939     } catch(err){
5940       console.log('Error additem', err)
5941     }
5942   }
5943 
5944   async function addons(){
5945     let items = []
5946     $(".addon-item").each(function(){
5947       const p = $(this)
5948       const props = p.next(".propsAddonSpotify")
5949       const id = $(this).data("id")
5950       const quantity = $(this).data("qty")
5951       const propId = $("#properties-time").val()
5952       let properties = {}
5953       if(id === 46067682607319) {
5954         const link = props.find(".spotifyLinkAddon").text()
5955         const photo = props.find(".spotifyFotoAddon").text()
5956         const song = props.find(".spotifySongAddon").text()
5957         const artist = props.find(".spotifyArtistAddon").text()
5958         properties = {
5959           id: propId,
5960           "Spotify Link": link !== '' ? link : '-',
5961           "Spotify Photo": photo !== '' ? photo : '-',
5962           "Spotify Song": song !== '' ? song : '-',
5963           "Spotify Artist": artist !== '' ? artist : '-',
5964           type: 'addon'
5965         }
5966       } else {
5967         properties = { 
5968           "id": propId, 
5969           "type": "addon"
5970         }
5971       }
5972       items.push({
5973         id, 
5974         quantity, 
5975         properties
5976       })
5977     })
5978     return items
5979   }
5980 
5981   async function propItems() {
5982     let props = {}
5983     $("[data-properties]").each(function(e){
5984       let elementType = this.tagName;
5985       const k = $(this).data("properties")
5986       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') {
5987         const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val();
5988         if(v !== '') {
5989           props[k] = v?.replace(/[\s\n]/g, '');
5990         }
5991       }
5992     })
5993     return props
5994   }
5995 
5996   async function showPopupCart(items){
5997     if(productType !== '') {
5998       console.log("clarity event " + productType + ' completeOrder')
5999       window.clarity("event", `${productType} completeOrder`)
6000       // window.clarity("set", productType, `completeOrder - ${productDate}`)
6001     }
6002     $("#popupCart").show()
6003     
6004       $(".propDeliveryCity").text($("#cities").val())
6005       $(".propDeliveryDate").text($("#propDeliveryDate").val())
6006       $(".propDeliveryTime").text($("#propDeliveryTime").val())
6007       $(".propDeliveryName").text($("[data-properties=nama-penerima]").val())
6008       $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val())
6009       $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val())
6010       $(".propDeliveryProv").text($("#province").val())
6011       $(".propDeliveryZip").text($("#zip").val())
6012       
6013     
6014 
6015     const addons = []
6016     if(items && items.length > 0) {
6017       for(let i = 1; i < items.length; i++) {
6018         const spotifyLink = items[i].properties['Spotify Link']
6019         const spotifyPhoto = items[i].properties['Spotify Photo']
6020         const spotifySong = items[i].properties['Spotify Song']
6021         const spotifyArtist = items[i].properties['Spotify Artist']
6022         const price = items[i].price / 100
6023         const props = spotifyLink ? `<div class="propsAddonCart row m-0">
6024                   <div class="col-12 col-lg-2"></div>
6025                   <div class="col-12 col-lg-10">
6026                     <p>
6027                       <span>spotify link</span>
6028                       <span>${spotifyLink}</span>
6029                     </p>
6030                     <p>
6031                       <span>Upload Photo</span>
6032                       <span>${spotifyPhoto}</span>
6033                     </p>
6034                     <p>
6035                       <span>song / playlist name</span>
6036                       <span>${spotifySong}</span>
6037                     </p>
6038                     <p>
6039                       <span>artist name</span>
6040                       <span>${spotifyArtist}</span>
6041                     </p>
6042                   </div>
6043                 </div>` : '';
6044         addons.push(`<div class="row m-0">
6045                   <div class="imgAddonCart col-2">
6046                     <img
6047                       width="43"
6048                       src="${items[i].image}"
6049                       alt=""
6050                     >
6051                   </div>
6052                   <div class="imgAddonTitlePrice col-10 align-self-center">
6053                     <div class="row justify-content-between m-0">
6054                       <div class="col-12 col-lg-8">
6055                         <h5>${items[i].title}</h5>
6056                       </div>
6057                       <div class="col-12 col-lg-4 text-lg-right">
6058                         <span>${rupiah.format(price)}</span>
6059                       </div>
6060                     </div>
6061                   </div>
6062                 </div>${props}`)
6063       }
6064     }
6065     // console.log(addons)
6066     if(addons.length === 0) {
6067       $(".itemAddonCart").hide()
6068       return
6069     }
6070     $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`)
6071     $(".wrapperItemAddonCart").html(addons)
6072   }
6073 
6074   const money = (money) => {
6075       return new Intl.NumberFormat('id-ID',
6076           { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
6077       ).format(money);
6078   }
6079 
6080   async function showNoteMoney() {
6081     let qty50k = $("[data-properties='Uang 50k']").val()
6082     let qty100k = $("[data-properties='Uang 100k']").val()
6083     const total50k = Number(qty50k) * 50000
6084     const total100k = Number(qty100k) * 100000
6085     const total_all = total50k + total100k
6086     $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`)
6087     $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`)
6088     $(".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://aman-aja-ces.pages.dev/" target="_blank" style="text-decoration: underline;
6088 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`)
6089   }
6090 
6091   async function removeImage() {
6092     const data = JSON.stringify({
6093       "ID": $("#properties-properties-qrId").val(), 
6094       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6095       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6096       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6097       "Nama Penerima": $("#properties-nama-penerima").val(), 
6098       "Order Number":"",
6099       "Status":"Product", 
6100       "Foto": "", 
6101       "Media": $("#properties-video").val(), 
6102       "Image": "8144957800663"
6103     })
6104     const remove = updateCard(data)
6105     if(remove) {
6106       $(this).hide()
6107       $("#properties-photo").val("-")
6108       $(".placeholder-image").show()
6109       $(".preview-image").attr("src", "")
6110     }
6111   }
6112 
6113   async function removeVideo() {
6114     const data = JSON.stringify({
6115       "ID": $("#properties-properties-qrId").val(), 
6116       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6117       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6118       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6119       "Nama Penerima": $("#properties-nama-penerima").val(), 
6120       "Order Number":"",
6121       "Status":"Product", 
6122       "Foto": $("#properties-photo").val(), 
6123       "Media": "", 
6124       "Image": "8144957800663"
6125     })
6126     const remove = updateCard(data)
6127     if(remove) {
6128       $("#properties-video").val("-")
6129       $(this).find("img").hide()
6130       $(this).hide()
6131       $(this).prev("p").text("Add video to make it more special (optional)")
6132       $("#label-input-video").show()
6133       $("#label-input-video span").text("Upload Video")
6134       $(".case-video-preview p span").remove()
6135     }
6136   }
6137 
6138   async function loadItemOccasion(t, occasion) {
6139     const name = occasion?.replace('greeting-card-', '')
6140     $("#kartu-ucapan").val("")
6141     $("[data-occassion]").removeClass("selected")
6142     $("[data-properties=ucapan]").val("")
6143     $("#save-card").attr("disabled", true)
6144     t.addClass("selected")
6145     $("#show_note").attr("data-card-occassion", name)
6146     $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){
6147         const products = data.products
6148         const html = []
6149         for(let i = 0; i < products.length; i++) {
6150             const id = products[i].id
6151             const variantId = products[i].variants[0].id
6152             const img = products[i].images[0].src
6153             const title = products[i].title
6154             const price = products[i].variants[0].price
6155             const qty = products[i].variants[0].inventory_quantity
6156             const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}>
6157                 <label for="card-${variantId}"></label>
6158                     <div class="card-image">
6159                         <img src="${img}" alt="${title}" width="" height="" />
6160                     </div>
6161                     <div class="card-meta text-center">
6162                         <h5>${title}</h5>
6163                         <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
6164                         <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}">
6165                     </div>
6166                 </div>`
6167             html.push(body)
6168         }
6169         const withoutCard = `<div class="item-card item-without-card">
6170                 <label for="card-0"></label>
6171                     <div class="card-image">
6172                         <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" />
6173                     </div>
6174                     <div class="card-meta text-center">
6175                         <h5>
6175Send without a greeting card</h5>
6176                         <input id="card-0" type="radio" name="id" value="" data-price="">
6177                     </div>
6178                 </div>`
6179         $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join(""))
6180     });
6181   }
6182         
6183   $(document).ready(function(){
6184 
6185     // Observer to auto-trigger addon loading when addon section becomes visible
6186     const addonObserver = new MutationObserver(function(mutations) {
6187       mutations.forEach(function(mutation) {
6188         const target = $(mutation.target)
6189         if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') {
6190           if(!target.hasClass('hide')) {
6191             // Addon section just became visible, ensure items are loaded
6192             setTimeout(function() {
6193               if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6194                 console.log("Auto-triggering addon load...")
6195                 $("[data-addon=upsell-all]").trigger("click")
6196               }
6197             }, 150)
6198           }
6199         }
6200       })
6201     })
6202     
6203     // Start observing addon section
6204     const addonSection = document.querySelector('.purchaseAddon')
6205     if(addonSection) {
6206       addonObserver.observe(addonSection, { 
6207         attributes: true, 
6208         attributeFilter: ['class'] 
6209       })
6210     }
6211 
6212     $(".purchasePopup").delegate("#addtocart-card", "click", async function(){
6213     
6214     $(this).find("span").addClass("loading")
6215     let isValid = true
6216     $(".formAddressPurchase [required]").each(function(){
6217       const t = $(this)
6218       const input = t.val()
6219       const p = t.parent()
6220       if(input === '') {
6221         p.addClass("error")
6222         isValid = false
6223       }
6224     })
6225 
6226     if(!isValid) {
6227       $(this).find("span").removeClass("loading")
6228       return
6229     }
6230     
6231     let items = []
6232     const mainProps = {
6233       
6234         "Delivery Date": $("#propDeliveryDate").val(),
6235         "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' ,
6236         "Kota Pengiriman": $("#cities").val(),
6237         "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' ,
6238         "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' ,
6239         "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' ,
6240         "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' ,
6241       
6242       
6243         "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' ,
6244         "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' ,
6245         "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' ,
6246         "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' ,
6247         "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' ,
6248       
6249       
6250       "Province": $("#province").val() !== '' ? $("#province").val() : '-' ,
6251       "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' ,
6252       "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' ,
6253       "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' ,
6254       "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
6255       "type": 'product'
6256     }
6257     const props = await propItems()
6258     properties = {...mainProps, ...props };
6259     const id = $("#productSelect").find('option:selected').val()
6260     console.log(id, 'main ID')
6261     const mainItem = {
6262       id: Number(id),
6263       quantity: 1,
6264       properties
6265     }
6266     items.push(mainItem)
6267     const cardId = $("#itemCards").find(".selected input").val()
6268     const cardItem = {
6269       id: Number(cardId),
6270       quantity: 1,
6271       properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' }
6272     }
6273     console.log(cardId, 'cardId')
6274     if(cardId) {
6275       items.push(cardItem)
6276     }
6277     const addon = await addons()
6278     if(addon) {
6279       for(let i = 0;
6279 i < addon.length; i++){
6280         items.push({
6281           id: addon[i].id,
6282           quantity: addon[i].quantity,
6283           properties: addon[i].properties
6284         })
6285       }
6286     }
6287     const addItems = await additem(items)
6288     console.log(addItems.items, 'add items')
6289     if(addItems) {
6290       $(this).find("span").removeClass("loading")
6291       disablePopup()
6292       showPopupCart(addItems.items)
6293       
6294       localStorage.setItem("items", JSON.stringify(addItems.items))
6295     }
6296   })
6297   
6298   $("#addtocart-cart .btn").click(async function(){
6299     const id = $("#productSelect").find('option:selected').val()
6300     const mainProps = {
6301       id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 
6302       type: 'product'
6303     }
6304     const props = await propItems()
6305     const properties = { ...mainProps, ...props };
6306     const items = {
6307       id: Number(id),
6308       quantity: 1,
6309       properties
6310     }
6311     const addItems = await additem(items)
6312     if(addItems) {
6313       showPopupCart(addItems.items)
6314       localStorage.setItem("items", JSON.stringify(addItems))
6315     }
6316   })
6317 
6318   $(".formAddressPurchase [required]").change(function(){
6319     const t = $(this)
6320     const p = t.parent()
6321     const v = t.val()
6322     if(v !== '') {
6323       p.removeClass("error")
6324     }
6325   })
6326 
6327   $("#save-card").click(async function(){
6328     const parent = $(this).parents(".sectionPurchase")
6329     const next = parent.next(".sectionPurchase")
6330     $(this).find("span").addClass("loading")
6331     const card = await saveCard()
6332     console.log(card, 'ssaveCCC')
6333     if(card?.status === 200 || card?.status === 201) {
6334       $(".scanCard").removeClass("hide")
6335       $(this).find("span").removeClass("loading")
6336       parent.addClass("hide")
6337       next.removeClass("hide")
6338       if(next.hasClass("purchaseAddon")) {
6339         $("[data-addon=upsell-all]").click()
6340         console.log("clarity event addons")
6341         window.clarity("event", `${productType} add-ons`)
6342         // Ensure addon items are loaded when entering addon popup
6343         setTimeout(function() {
6344           if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6345             $("[data-addon=upsell-all]").trigger("click")
6346           }
6347         }, 100)
6348       }
6349       if(next.hasClass("purchaseAddress")) {
6350         $("#zip").select2()
6351       }
6352     }
6353   })
6354 
6355   $("#skip-card").click(async function(){
6356     $("#greetingCard [data-properties]").val("")
6357     $("#properties-photo").val("")
6358     $("#properties-video").val("")
6359     const parent = $(this).parents(".sectionPurchase")
6360     const next = parent.next(".sectionPurchase")
6361     parent.addClass("hide")
6362     next.removeClass("hide")
6363     // $("#itemCards").html("")
6364     removeImage()
6365     removeVideo()
6366     if(next.hasClass("purchaseAddon")) {
6367       $("[data-addon='upsell-all']").click()
6368       console.log("clarity event addons")
6369       window.clarity("event", `${productType} add-ons`)
6370       // Ensure addon items are loaded when entering addon popup
6371       setTimeout(function() {
6372         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6373           $("[data-addon='upsell-all']").trigger("click")
6374         }
6375       }, 100)
6376     }
6377     if(next.hasClass("purchaseAddress")) {
6378       $("#zip").select2()
6379     }
6380   })
6381 
6382   $("#msgCard").click(async function(){
6383       $(this).parent().addClass("loading")
6384       let occasion = $(".selected[data-occassion]").data("occassion")
6385       occasion = occasion?.replace("greeting-card-", "")
6386       const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`);
6387       const d = data?.data
6388       for(let i = 0; i < d.length; i++) {
6389         const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1);
6390         const greeting = d[num]?.Greeting
6391         $(".greetingCard textarea").val(greeting)
6392         $(this).parent().removeClass("loading")
6393       }
6394       $("#save-card").attr("disabled", false)
6395     })
6396 
6397   $(".sectionPurchaseBoard .next-purchase-button").click(function(){
6398     const parent = $(this).parents(".sectionPurchase")
6399     const next = parent.next(".sectionPurchase")
6400     parent.addClass("hide")
6401     next.removeClass("hide")
6402   })
6403 
6404   $("#editCard").click(function(){
6405     $(".custom-card").show()
6406     $(".preview-card").hide()
6407   })
6408 
6409   $("#first_name, #last_name").change(function(){
6410     const v = $(this).val()
6411     const first_name = $("#first_name").val()
6412     const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : ''
6413     $("[data-properties=nama-penerima]").val(first_name+last_name)
6414   })
6415 
6416   $("[data-occassion]").click(function(){
6417       const t = $(this)
6418       const p = t.parents(".sectionPurchase")
6419       // $(".greetingCard").addClass("disabled")
6420       const occasion = t.data("occassion")
6421       loadItemOccasion(t, occasion)
6422   })
6423 
6424   $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){
6425       const id = $(this).parent(".item-card").data("id")
6426       const t = $(this).parent(".item-card")
6427       const target = t.find("input")
6428       const v = $('.item-card input[type="radio"]:checked').val();
6429       $("#itemCards .item-card").removeClass("selected")
6430       t.addClass("selected")
6431       $("#itemCards .item-card").find("input").attr("name", "")
6432       if(target.length > 0) {
6433           target.attr("name", "id[]")
6434           $("#properties-card").val(id)
6435           $(".greetingCard").removeClass("disabled")
6436           $("#skip-card").attr("disabled", false)
6437       } else {
6438           $("#properties-card").val("")
6439       }
6440   })
6441 
6442   $("#itemCards").delegate(".item-without-card label", "click", function(){
6443     const parent = $(this).parents(".sectionPurchase")
6444     const next = parent.next(".sectionPurchase")
6445     $(".greetingCard").addClass("disabled")
6446     parent.addClass("hide")
6447     next.removeClass("hide")
6448     $("[data-addon=upsell-all]").click()
6449     $("#zip").select2()
6450   })
6451 
6452   $("[data-properties=ucapan]").keyup(function(){
6453     const v = $(this).val()
6454     const p = $(this).parents(".sectionPurchase")
6455     $(".purchaseAddress").find(".greetingCard textarea").val(v)
6456     if(v.length > 3) {
6457       p.find(".next-purchase-button").attr("disabled", false)
6458     } else {
6459       p.find(".next-purchase-button").attr("disabled", true)
6460     }
6461   })
6462 
6463   $("[data-properties=penerima]").keyup(function(){
6464     const v = $(this).val()
6465     $(".purchaseAddress").find("[data-properties=penerima]").val(v)
6466   })
6467 
6468   $("[data-properties=pengirim]").keyup(function(){
6469     const v = $(this).val()
6470     $(".purchaseAddress").find("[data-properties=pengirim]").val(v)
6471   })
6472 
6473   $(document).click(function(e){
6474 
6475      if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6476      // $('#popupCart').fadeOut('slow');
6477     // location.reload()
6478   });
6479 
6480   $(".toggleAddonCart").click(function(){
6481     const p = $(this).parent(".itemAddonCart")
6482     p.toggleClass("open")
6483   })
6484 
6485   $(".btnViewCart").click(function(){
6486     window.location.href = "https://outerbloom.com/cart";
6487   })
6488 
6489   $(".btnViewCheckout").click(async function(){
6490     $(this).find("span").addClass("loading")
6491     let zip = $("#zip").val()
6492     const first_name = $("#first_name").val()
6493     const last_name = $("#last_name").val()
6494     const company = $("#company").val() !== '' ? $("#company").val() : ''
6495     const address1 = $("#delivery_address").val()
6496     const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : ''
6497     zip = zip && zip !== '' ? zip?.split(' - ')[0] : ''
6498     const phone = $("#recipient_number").val()
6499     const city = $("#cities").val()
6500     const province = $("#province").val()
6501     const country = 'Indonesia'
6502     const ver = Date.parse(new Date())
6503     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}`
6504 
6505     const clear = await fetch(`/cart/clear.js`, {method: 'POST'})
6506     if(clear.status === 200) {
6507       const savedItem = window.localStorage.getItem("items");
6508       const items = JSON.parse(savedItem)
6509       const addItems = await additem(items)
6510       console.log(addItems, 'new addItems')
6511       if(addItems) {
6512         window.location.href = `https://outerbloom.com/checkout?${params}`;
6513       }
6514     }
6515   })
6516 
6517   $(".btnContinueShopping").click(function(){
6518     window.location.href = "https://outerbloom.com/";
6519   })
6520 
6521     if (isIOS) {
6522       $(".empty-state-card").click(function(){
6523         $("#input-foto").trigger("click")
6524       })
6525       $(".btn-upload-image").click(function(){
6526         $("#input-foto").trigger("click")
6527       })
6528       $("[for=input-video]").click(function(){
6529         $("#input-video").trigger("click")
6530       })
6531       $(".btn-upload-papan").click(function(){
6532         $("#logoPapan").trigger("click")
6533       })
6534     }
6535   
6536     $("[data-properties]").each(function(){
6537       const select = $(this).parents(".form-group").find("select")
6538       $(this).change(function(){
6539         const name = $(this).data("properties")
6540         const v = $(this).val()
6541         if (name == 'telepon-penerima') {
6542           let phone = v.replace(/[^0-9]/g, '')
6543           $(this).val(phone);
6544           $("#properties-telepon-penerima").val(phone)
6545           $('.iti__search-input').val('-') 
6546         } else {
6547           $("#properties-" + name).val(v)
6548         }
6549       })
6550       select.on("change", function(){
6551         const name = $(this).data("properties")
6552         const v = $(this).val()
6553         $("#properties-" + name).val(v)
6554       })
6555     })
6556 
6557     $("#show_note").click(function(){
6558       nameq = $("#properties-nama-penerima").val()
6559       dear = $("#properties-kartu-nama-penerima").val()
6560       card = $("[data-properties=ucapan]").val()
6561       sender = $("#properties-kartu-nama-pengirim").val()
6562       photo = $("#properties-photo").val()
6563       video = $("#properties-video").val()
6564       updateCard(nameq, dear, card, sender, photo, video, status)
6565     })
6566 
6567     $(".remove-image").click(function(e){
6568       e.preventDefault()
6569       $(this).find("img").show()
6570       removeImage()
6571     })
6572 
6573     $(".remove-media").click(function(e){
6574       e.preventDefault()
6575       $(this).find("img").show()
6576       removeVideo()
6577     })
6578 
6579     
6580 
6581     $("[data-delivery_method]").click(function(e){
6582       e.preventDefault()
6583       const t = $(this)
6584       const data = t.data("delivery_method")
6585       $("[data-delivery_method]").removeClass("selected")
6586       t.addClass("selected")
6587       $("#cities").val("")
6588       $("#properties-delivery-date").val("-")
6589       $("#deliveryDate button").removeClass("selected")
6590       $("#full-date").val("Full Calendar →")
6591       $("#propDeliveryDate").val("")
6592       const step3 = $("#step-3")
6593       if(data.match('PickUp')) {
6594         $(".selfpickup-point").show()
6595         step3.find("[data-finished=false]").hide()
6596         $("#panel-4").hide()
6597         step3.find("[data-finished=true]").show()
6598         $("#cities").attr("required", false)
6599         $("#form-group-city").hide()
6600         $("#row-delivery-time").hide()
6601         $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-")
6602         $("#propDeliveryTime").attr("required", false)
6603         // $("#deliveryDate").find("button:first-child").addClass("stop")
6604         $(".form-selfpickup").show()
6605         $(".form-delivery").hide()
6606         $(".form-delivery").find("input, textarea, select").val("")
6607         $(".form-delivery").find("input, textarea, select").attr("required", false)
6608         $("#properties-shipping").val("0")
6609         $("#noteDeliveryDate").hide()
6610         $(".form-delivery .form-control").attr("required", false)
6611         $("#stepNav4").hide()
6612         
6613         $("#deliveryDate").find("button:nth-child(1)").addClass("stop")
6614         
6615         
6616         
6617         if(timeOfDay >= 16.01){
6618           $("#deliveryDate").find("button:nth-child(2)").addClass("stop")
6619         }
6620       } else {
6621         
6622         
6623         $("#deliveryDate").find("button:nth-child(1)").removeClass("stop")
6624         step3.find("[data-finished=false]").show()
6625         $("#panel-4").show()
6626         step3.find("[data-finished=true]").hide()
6627         $("#cities").attr("required", true)
6628         $(".selfpickup-point").hide()
6629         $("#form-group-city").show()
6630         $("#cities").val('').trigger('change');
6631         $("#properties-kota-pengiriman").val("-")
6632         
6633         $("#row-delivery-date, #row-delivery-time").show()
6634         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6635         $("#deliveryDate").find("button").removeClass("stop")
6636         $(".form-selfpickup").hide()
6637         $(".form-delivery").show()
6638         $(".form-delivery").find("input, textarea, select").attr("required", true)
6639         $(".form-delivery [data-properties]").attr("readonly", false)
6640         $("#properties-kodepos").val("-")
6641         $("#properties-alamat-penerima").val("-")
6642         $(".form-delivery .form-control").attr("required", true)
6643         $(this).parents(".setup-content").attr("id", "step-1")
6644         
6645         $("#stepNav4").show()
6646       }
6647     })
6648 
6649     $("[name=selfpickup]").click(function(){
6650         const p = $(this).parents(".row-pickup")
6651         const pickupCity = $("input[name='selfpickup']:checked").val();
6652         const pickupAddress = $("input[name='selfpickup']:checked").data("address");
6653         const pickupZip = $("input[name='selfpickup']:checked").data("zip");
6654 
6655         $(".row-pickup").removeClass("selected")
6656         p.addClass("selected")
6657         
6658         $("#properties-kota-pengiriman").val(pickupCity)
6659         $("#province").val("Jakarta")
6660         $("#properties-alamat-penerima").val(pickupAddress)
6661         $("#properties-kodepos").val(pickupZip)
6662     })
6663 
6664     $("#cities").change(function(e){
6665       e.preventDefault()
6666       $(this).parent(".row").find("p.error").remove()
6667       $("#full-date").val("Full Calendar")
6668       $("#deliveryDate, #deliveryDateFull label ").show()
6669       $("#deliveryDateFull").removeClass("filled")
6670       $(".btnChangeDeliveryDate").addClass("hide")
6671       $("#full-date").prop('disabled', false);
6672       $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success")
6673       $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true)
6674       const step3 = $("#step-3")
6675       $("#cityNote").remove()
6676       $("#noteDeliveryDate").hide()
6677       $("#noteDeliveryDate").empty()
6678       let v = $(this).val()
6679       let v2 = $('option:selected', this).attr('data-city');
6680       let v3 = $('option:selected', this).attr('data-province');
6681       let price = $('option:selected', this).attr('data-price');
6682       $("#country").val(v)
6683       $("#properties-kota-pengiriman").val(v)
6684       $("#properties-shipping").val(price)
6685       $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected")
6686       $("#properties-delivery-date, #properties-delivery-time").val("-")
6687       $("#propDeliveryDate, #propDeliveryTime").val("")
6688       let note = $('option:selected', this).attr('data-note');
6689       if(v === 'Kota Lainnya') {
6690         $("#noteDeliveryDate").show()
6691         $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.")
6692         $("#zip").attr("required", false)
6693         $("#zip").hide()
6694         $("#propDeliveryDate, #propDeliveryTime").attr("required", false)
6695         $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-")
6696         $("#row-delivery-date, #row-delivery-time").hide()
6697         $("#properties-shipping").val("")
6698         // $(this).parents(".setup-content").attr("id", "step-2")
6699         
6700       } else {
6701         $("#noteDeliveryDate").hide()
6702         $("#zip").attr("required", true)
6703         $("#zip").show()
6704         $("#row-delivery-date, #row-delivery-time").show()
6705         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6706         $("#deliveryDate").find("button").removeClass("stop")
6707         // $(this).parents(".setup-content").attr("id", "step-1")
6708         
6709       }
6710       
6711       
6712       
6713       // if(v !== 'Jakarta') {
6714       //   $("[data-type=upsell]").hide()
6715       // } else {
6716       //   $("[data-type=upsell]").show()
6717       // }
6718       // $('.collection-addons')[0].swiper.update();
6719       
6720       
6721       getProvince(v)
6722       $("#zip").html(`<option value="">Choose Postal Code</option>`)
6723       renderZip(v, v2, v3)
6724       
6725       disabledSameDay()
6726       
6727 
6728       if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') {
6729         
6730         $("#cardOccasion, #navAddon, .collection-addons").hide()
6731         
6732         $("[data-addon=giftcard]").show()
6733         $("[data-addon=giftcard]").click()
6734         $("#itemAddons").show()
6735         $("#flower-step").addClass("nonjadetabek")
6736       } else {
6737         $("#cardOccasion, #navAddon, .collection-addons").show()
6738         $("[data-addon=all]").click()
6739         $("#flower-step").removeClass("nonjadetabek")
6740       }
6741       
6742         if(v !== '') {
6743           $("#personalizeBtn .btn").attr("disabled", false)
6744         } else {
6745           $("#personalizeBtn .btn").attr("disabled", true)
6746         }
6747       
6748     })
6749 
6750     $("#zip").change(function(e){
6751       let v = $(this).val()
6752       var city = $("#cities").find('option:selected');
6753       $("#properties-kodepos").val(v)
6754       if(city === 'Kota Lainnya') {
6755         $(this).attr("required", true)
6756         $("#recipient-address").val("")
6757       }
6758     })
6759 
6760     
6761       var minDate = +7
6762       
6763     
6764 
6765     $("#full-date").datepicker({
6766       minDate,
6767       dateFormat: 'Mdd_yy', //Nop22_2021,
6768       
6769       beforeShowDay: disabledays,
6770       
6771       onSelect: function (date) {
6772         $("#deliveryDate, #deliveryDateFull label ").hide()
6773         $("#deliveryDateFull").addClass("filled")
6774         $(".btnChangeDeliveryDate").removeClass("hide")
6775         $("#full-date").prop('disabled', true);
6776         $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date);
6777         $(".date-full").addClass("selected")
6778         $(".date-single, .calendar-group").removeClass("selected")
6779         $("#propDeliveryTime").val('')
6780         $("#properties-delivery-time").val('-')
6781         $(".time-single").removeClass("selected")
6782         
6783         
6784       }
6785     });
6786 
6787     $(".btnChangeDeliveryDate").click(function(){
6788         $("#deliveryDate, #deliveryDateFull label ").show()
6789         $("#deliveryDateFull").removeClass("filled")
6790         $(".btnChangeDeliveryDate").addClass("hide")
6791         $("#full-date").prop('disabled', false);
6792     })
6793   
6794     $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){
6795       e.preventDefault()
6796       $(this).parents("#row-delivery-date").find("p.error").remove()
6797       const fulldate = $(this).data("fulldate")
6798       const day = $(this).data("day")
6799       const date = $(this).data("date")
6800       const month = $(this).data("month")
6801       const year = $(this).data("year")
6802       const off_pagi = $(this).data("offpagi")
6803       const off_siang = $(this).data("offsiang")
6804       const off_Malam = $(this).data("offMalam")
6805       $(".calendarbutton").removeClass("selected")
6806       $(this).addClass("selected")
6807       $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`)
6808       $("#propDeliveryTime").val('')
6809       $("#properties-delivery-time").val('-')
6810       $(".calendarbutton2").removeClass("selected")
6811       $("#full-date").val("Full Calendar")
6812 
6813       
6814       if(off_pagi && timeOfDay > off_pagi) {
6815         $("[data-time=Morning]").attr("disabled", true)
6816       } else {
6817         $("[data-time=Morning]").attr("disabled", false)
6818       }
6819       if(off_siang && timeOfDay > off_siang) {
6820         $("[data-time=Afternoon]").attr("disabled", true)
6821       } else {
6822         $("[data-time=Afternoon]").attr("disabled", false)
6823       }
6824       
6825 
6826       
6827     })
6828     
6829     if(today === 14 && timeOfDay > 17.00) {
6830       $("#deliveryDate button:first-child").attr("disabled", true)
6831     }
6832   
6833     $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){
6834       e.preventDefault()
6835       const time = $(this).data("time")
6836       const date = $("#propDeliveryDate").val()
6837       if(date == '') {
6838         return alert('Silakan pilih tanggal terlebih dahulu')
6839       }
6840       $(".calendarbutton2").removeClass("selected")
6841       $(this).addClass("selected")
6842       $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`)
6843     })
6844       
6845     $('textarea.has-limit, input.has-limit').keyup(function () {
6846       max = this.getAttribute("maxlength");
6847       let len = $(this).val().length;
6848       let limit = $(this).siblings(".limit");
6849       if (len > max) {
6850         alert('you have reached the limit');
6851       } else {
6852         limit.text(`${len}/${max}`);
6853       }
6854     });
6855     
6856     $("#button-action-step .btn").click(function(){
6857       $(this).find("span").text("Processing...");
6858     });
6859 
6860     $(".finishBtn").on('click', function() {
6861       $(this).addClass("is-adding");
6862       // $(this).click();
6863     });
6864 
6865     $('.setup-panel .nav-item a.btn-success').trigger('click');
6866 
6867     $("#button-action .btn").click(function(){
6868       $("#flower-step").addClass("block");
6869       $("#button-action").hide();
6870     });
6871         
6872     $(".close-how-order").click(function(){
6873       $("#flower-step").removeClass("block");
6874       $("#button-action").show();
6875     });
6876 
6877     $("#input-foto, #input-video").change(function(e){
6878       readURL(this);
6879     });
6880 
6881     $("#logoPapan").change(function(){
6882       readURLPapan(this);
6883     });
6884 
6885     $("#address-upload").change(async function(){
6886       const upload_address = await readURLAddress(this)
6887       if(upload_address) {
6888         const url = upload_address.url
6889         $(".props-address-upload").val(url)
6890         $(".form-address").addClass("address-uploaded")
6891         $(".form-address-upload").addClass("uploaded")
6892 
6893         $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false)
6894       }
6895     })
6896 
6897     $(".address-manualy").click(function(){
6898       $(".form-address-upload").removeClass("uploaded");
6899       $(".photo-address").hide();
6900       $(".form-address").removeClass("address-uploaded")
6901       $("#formAddressPurchase").find(".form-control").attr("required", true)
6902     });
6903 
6904     $(".case-video-preview").delegate(".replace-video", "click", function(){
6905       $("#input-video").trigger("click")
6906     })
6907 
6908     $('.date-single').click(function(e) {
6909       e.preventDefault();
6910       $('.date-single').removeClass('selected');
6911       $('#full-date').removeClass('selected');
6912       $(this).addClass('selected');
6913       $('#full-date').html('Full' + '<br/>' + 'Calendar');
6914     });
6915     $('#full-date').click(function(e){
6916       e.preventDefault();
6917       $('.date-single').removeClass('selected');
6918       $(this).addClass('selected');
6919     });
6920     
6921     // $("tr").each(function(){
6922     //   if($(this).text().match('SKU')) {
6923     //     $(".sku-product").html($(this).parents("table").html())
6924     //   }
6925     // })
6926     
6927     $("#product-image").scroll(function(){
6928       $(".desc-add").each(function(){
6929         const img = $(this).find("img")
6930         const src = img.data("src")
6931         img.attr("src", src)
6932       })
6933     })
6934 
6935     $(".product-fixed").hide()
6936     
6937     let target = $("#personalizeBtn")
6938     
6939 
6940     $(".product-meta").scroll(function() {
6941         if ($(window).scrollTop() >= target.offset().top ) {
6942             $(".product-fixed").addClass("show")
6943         } else {
6944           $(".product-fixed").removeClass("show")
6945         }
6946     });
6947 
6948     $(window).scroll(function() {
6949         if ($(window).scrollTop() >= target.offset().top ) {
6950             $(".product-fixed").addClass("show")
6951         } else {
6952           $(".product-fixed").removeClass("show")
6953         }
6954     });
6955   });
6956 </script>
6956
6957 
6958   
6958<script>
6959     //
6960   </script>
6960
6961 
6962 
6962<script>
6963   $(document).ready(function(){
6964     $('table tr td').each(function(){
6965       var texto = $(this).text();
6966       var nextto = $(this).next("td");
6967       var sku = $("#data-sku").val()
6968       if(texto == 'SKU'){
6969         nextto.text(sku)
6970       }
6971     });
6972     
6973     $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan");
6974     $(".stamped-summary-actions-newreview").text("Tulis Review");
6975     $("#tab-questions").text("Pertanyaan");
6976     
6977     $(".freeship .icon").click(function(){
6978       $(".fs-content").slideToggle();
6979       $(this).parents(".freeship").toggleClass("expand");
6980     });
6981     
6982     var $easyzoom = $('.easyzoom').easyZoom();
6983     // Setup thumbnails example
6984     var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom');
6985     $('.thumbnails').on('click', 'a', function(e) {
6986       var $this = $(this);
6987       e.preventDefault();
6988       // Use EasyZoom's `swap` method
6989       api1.swap($this.data('standard'), $this.attr('href'));
6990     });
6991 
6992     $('#playerID').click(function(){
6993       var videoURL = $('#VdoID').attr('src'),
6994           dataplay = $('#VdoID').attr('data-play');
6995 
6996       //for check autoplay
6997       //if not set autoplay=1
6998       if(dataplay == 0 ){
6999         $('#VdoID').attr('src',videoURL+'?autoplay=1');
7000         $('#VdoID').attr('data-play',1);
7001       }
7002       else{
7003         var videoURL = $('#VdoID').attr('src');
7004         videoURL = videoURL.replace("?autoplay=1", "");
7005         $('#VdoID').prop('src','');
7006         $('#VdoID').prop('src',videoURL);
7007 
7008         $('#VdoID').attr('data-play',0);
7009       }
7010 
7011     });
7012     
7013     $(".product-photo-thumb-video").click(function(e){
7014       e.preventDefault();
7015 
7016       var newEmbed = $(this).attr('href');
7017       $("#featured-image-product").addClass("img-video");
7018       $("#ProductPhotoImg").hide();
7019       $("#featured-image-product .video").show();
7020       $("#featured-image-product iframe").attr('src', newEmbed);
7021       $("#VdoID")[0].src += "&autoplay=1";
7022     });
7023     $(".product-single__thumbnail").click(function(evt){
7024       evt.preventDefault();
7025       $("#featured-image-product").removeClass("img-video");
7026       $("#ProductPhotoImg").show();
7027       $("#featured-image-product .video").hide();
7028       $("#featured-image-product iframe").attr('src', '');
7029     });
7030     
7031     if($('#product-meta .short-desc > div').length >= 1){
7032       //console.log('div detected')
7033       var replacer = $('#product-meta .short-desc > div').contents();
7034       $('#product-meta .short-desc > div').replaceWith(replacer);
7035 
7036       var cAssured =  $('.c-assured').detach();
7037       cAssured.insertAfter('.meta-sds .stock-info');
7038     }
7039 
7040     
7041     
7042     $(".heading-toggle").click(function(){
7043       $(this).parent().toggleClass("open")
7044       
7045     });
7046   });
7047 </script>
7047
7048 
7049 
7050   
7050<script type="application/json" id="ProductJson-Product">
7051         
7052         {"id":8144957800663,"title":"RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia."}
7053   </script>
7053
7054   
7055     
7055<script type="application/json" id="VariantJson-Product">
7056       [
7057         
7058           {
7059              "incoming": false,
7060              "next_incoming_date": null
7061           }
7062         
7063       ]
7064     </script>
7064
7065   
7066 
7067 
7068 
7069 </div>
7070 
7071 
7072 
7072<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7072
7073 <style>
7074     .stamped-review-header-title,
7075     .stamped-review-header .author,
7076     .stamped-review-content-body,
7077     .stamped-sort-select,
7078     .stamped-review-header .verified-badge[data-type=buyer]:after,
7079     .stamped-review-header-byline,
7080     .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;}
7081     .stamped-review {margin-bottom: 0;}
7082     .stamped-review-body {padding-left: 65px;}
7083     .stamped-review:first-child {padding-top: 25px;}
7084     .stamped-review-content {clear: none;}
7085     .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;}
7086     .stamped-review-reply-body {padding-left: 65px;}
7087     .stamped-review-header .author {text-transform: capitalize;}
7088     .stamped-questions .stamped-review-content {padding-left: 65px;}
7089 
7090     .stamped-pagination {margin: 20px 0 0;}
7091     .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;}
7092     .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;}
7093     .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;}
7094     .stamped-pagination li:hover a {background: #ddd;}
7095     .stamped-pagination .next {border-right: 1px solid #ccc;}
7096     .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;}
7097     .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;}
7098 
7099     #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;}
7100     #stamped-pagination-question span {font-size: 14px;}
7101     #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;}
7102     #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;}
7103     .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;}
7104     .stamped-pagination-prev, .stamped-pagination-next {position: inherit;}
7105     .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;}
7106 
7107     @media (max-width: 480px){
7108       .stamped-review-reply {margin-left: 0!important;}
7109       select.stamped-sort-select {font-size: 13px!important;}
7110     }
7111 
7112   #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content {
7113       display: block !important;
7114   }
7115 </style>
7116 
7116<script>
7117     var selectCallback = function(variant, selector) {
7118       timber.productPage({
7119         money_format: "Rp {{amount_no_decimals}}",
7120         variant: variant,
7121         selector: selector
7122       });
7123     };
7124 
7125     jQuery(function($) {
7126       new Shopify.OptionSelectors('productSelect', {
7127         product:
7128 
7129 
7130 
7131 
7132 
7133 {"id":8144957800663,"title":"RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia."},
7134         onVariantSelected: selectCallback,
7135         enableHistoryState: true
7136       });
7137 
7138       // Add label if only one product option and it isn't 'Title'. Could be 'Size'.
7139       
7140 
7141       // Hide selectors if we only have 1 variant and its title contains 'Default'.
7142       
7143         $('.selector-wrapper').hide();
7144       
7145     });
7146 </script>
7146
7147 
7148 
7149 
7150   
7150<script type="application/ld+json">
7151     {
7152     "@context": "http://schema.org",
7153     "@type": "Product",
7154 "offers": {
7155 "@type": "Offer",
7156 "availability":"https://schema.org/InStock",
7157 "price": 835000,
7158 "priceValidUntil": "05-10-2025",
7159 "priceCurrency": "IDR",
7160 "url": "https://www.apprendreetsorienter.org/statuts/"
7161 },
7162 "brand": {
7163 "@type": "Brand",
7164 "name": "Outerbloom Florist"
7165 },
7166 "sku": "8144957800663",
7167 "gtin13": "Jawa",
7168 "name": "RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya",
7169 "description": "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.",
7170 "category": "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.",
7171 "url": "https://www.apprendreetsorienter.org/statuts/",
7172 "image": {
7173 "@type": "ImageObject",
7174 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7175 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7176 "name": "RAGU? GABUNG DI RAJABANDOT 〽️ Situs Toto Macau Gacor Minimal Bet Murah & Prediksi Macau Ter-Percaya",
7177 "width": 1024,
7178 "height": 1024
7179 }
7180     }
7181   </script>
7181
7182 
7183 
7184 
7185 
7186         
7187 
7187<script id="bss-ltap-hide-price" type="text/javascript" >
7188 !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)}))}
7188)),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)}
7188)),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()}
7188if("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)}
7188if(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");
7188c&&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
7188-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");
7188i&&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
7188--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
7188opify.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");
7188e.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=
7188o.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");
7188if(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();
7188let 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()}]);
7189 </script>
7189
7190 
7191       </main>
7192       
7193       <div id="shopify-section-newsletter" class="shopify-section"><br>
7194   <style>
7195     #shopify-section-newsletter {
7196       background: url('https://i.pinimg.com/474x/b9/23/39/b923392626a609fea6ebfca99103720d.jpg');
7197       background-attachment: fixed;
7198       margin-bottom: 0;
7199     }
7200     input:-webkit-autofill,
7201     input:-webkit-autofill:hover,
7202     input:-webkit-autofill:active,
7203     input:-webkit-autofill:focus {
7204       -webkit-box-shadow:0 0 0 50px white inset;
7205       -webkit-text-fill-color: #ffffff;
7206     }
7207     .section-newsletter {
7208       max-width: 800px;
7209       margin: auto;
7210       padding: 50px 0;
7211     }
7212     .section-newsletter h2 {
7213       font-weight: 700;
7214       font-size: 24px;
7215     }
7216     .section-newsletter input[type="email"] {
7217       width: 100%;
7218       text-align: center;
7219       border: none;
7220       border-bottom: 1px solid #ffffff;
7221       font-size: 16px;
7222       color: #757575;
7223       background-color: #eeeeee;
7224     }
7225     .section-newsletter .row label {
7226       font-size: 14px;
7227       cursor: pointer;
7228     }
7229     .section-newsletter .radio-inline input {
7230       width: auto;
7231     }
7232     .section-newsletter .btn {
7233       width: 130px;
7234       border: 1px solid #ffffff;
7235       box-shadow: none;
7236       font-size: 16px;
7237       font-weight: 500;
7238       text-transform: uppercase;
7239     }
7240     .section-newsletter form {
7241       margin: 30px 0 60px;
7242     }
7243     .section-newsletter input[type="radio"] {
7244       position: absolute;
7245       width: 1px;
7246       height: 1px;
7247     }
7248     .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label {
7249       position: relative;
7250       padding-left: 28px;
7251       cursor: pointer;
7252       line-height: 20px;
7253       display: inline-block;
7254       color: #666;
7255     }
7256     .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before {
7257       content: '';
7258       position: absolute;
7259       left: 0;
7260       top: 0;
7261       width: 18px;
7262       height: 18px;
7263       border: 1px solid #ddd;
7264       border-radius: 100%;
7265       background: #fff;
7266     }
7267     .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after {
7268       content: '';
7269       width: 12px;
7270       height: 12px;
7271       background: #ffffff;
7272       position: absolute;
7273       top: 3px;
7274       left: 3px;
7275       border-radius: 100%;
7276       -webkit-transition: all 0.2s ease;
7277       transition: all 0.2s ease;
7278     }
7279     .section-newsletter [type="radio"]:not(:checked) + label:after {
7280       opacity: 0;
7281       -webkit-transform: scale(0);
7282       transform: scale(0);
7283     }
7284     .opt-newsletter {display:none;}
7285     .footer-newsletter p, .footer-newsletter p a {
7286       color: #757575;
7287     }
7288     @media (max-width:991px){
7289       .section-newsletter h2 {
7290         font-size: 32px;
7291       }
7292       .section-newsletter input {
7293         width: 300px;
7294         font-size: 14px;
7295       }
7296       .section-newsletter {
7297         padding: 50px 20px;
7298       }
7299     }
7300     @media (max-width: 480px){
7301       .section-newsletter input[type="email"] {font-size: 16px;}
7302     }
7303   </style>
7304  <style>
7305 .icon-img-footer {
7306     width: 80px; 
7307     padding: 0px 5px;
7308 }
7309 @media (min-width: 768px) {
7310     .icon-img-footer {
7311         width: 120px; 
7312     }
7313 }
7314 @media (min-width: 992px) {
7315     .icon-img-footer {
7316         width: 120px; 
7317     }
7318 }
7319 
7320   .button-login-daftar {
7321                         display: grid;
7322                         grid-template-columns: repeat(2, 1fr);
7323                         font-weight: 700;
7324                     }
7325                     .button-login-daftar a {
7326                         text-align: center;
7327                     }
7328                     .login,
7329                     .register {
7330                         color: #ffd700;
7331                         padding: 15px 10px;
7332                         font-size: 23px;
7333                     }
7334                     .login,
7335                     .login-button {
7336                         background: linear-gradient(to bottom,#000000 0,#000000 100%);
7337                         border: 2px solid #ffd700;
7338                     }
7339                     .register,
7340                     .register-button {
7341                         background: linear-gradient(to bottom,#000000 0,#000000 100%);
7342                         border: 2px solid #ffd700;
7343                     }
7344 
7345 
7346 
7347 </style>
7348 
7349 <!-- wp:html -->
7350  
7350<script>
7351         document.addEventListener('DOMContentLoaded',
7352             function(){const faqItems=document.querySelectorAll('.faq-item');
7353             faqItems.forEach(item=>{const question=item.querySelector('.faq-question');
7354             question.addEventListener('click',
7355             ()=>{const isActive=item.classList.contains('active');
7356             faqItems.forEach(otherItem=>{otherItem.classList.remove('active')});
7357             if(!isActive){item.classList.add('active')}})})});
7358         </script>
7358
7359 
7360 
7361             <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1">
7362             </div>
7363 <div class="faq-section">
7364         <h2>FAQ</h2>
7365             <div class="faq-container">
7366                 <div class="faq-item">
7367                     <button class="faq-question">1. Apa itu Rajabandot dan mengapa menjadi pilihan favorit pemain Toto Macau?<span></span></button>
7368                     <div class="faq-answer"><p>Rajabandot adalah Situs Toto Macau Gacor yang dikenal karena menawarkan minimal bet murah dan prediksi Macau terpercaya. Situs ini menjadi favorit karena memberikan kombinasi antara keamanan tingkat tinggi, peluang kemenangan yang besar, dan aksesibilitas yang mudah bagi semua kalangan pemain di Indonesia.</p></div>
7369                 </div>
7370                 <div class="faq-item">
7371                     <button class="faq-question">2. Bagaimana cara melakukan daftar Toto Macau di situs ini?<span></span></button>
7372                     <div class="faq-answer"><p>Proses pendaftaran di agen toto resmi Rajabandot sangatlah praktis dan cepat. Anda hanya perlu mengunjungi situs resmi, mengisi formulir pendaftaran dengan data yang valid, dan akun Anda akan aktif dalam hitungan menit tanpa prosedur yang berbelit-belit.</p></div>
7373                 </div>
7374                 <div class="faq-item">
7375                     <button class="faq-question">3. Apakah keamanan data saya terjamin di Rajabandot?<span></span></button>
7376                     <div class="faq-answer"><p>Tentu saja. Sebagai bandar togel terpercaya, Rajabandot menggunakan teknologi enkripsi tingkat tinggi untuk melindungi seluruh informasi pribadi dan data transaksi member. Keamanan dan privasi Anda adalah prioritas utama kami dalam menjaga integritas permainan.</p></div>
7377                 </div>
7378                  <div class="faq-item">
7379                     <button class="faq-question">4. Apa yang harus saya lakukan jika situs utama sulit diakses?<span></span></button>
7380                     <div class="faq-answer"><p>Anda tidak perlu khawatir karena kami selalu menyediakan link alternatif Rajabandot yang resmi dan responsif. Link ini memastikan Anda tetap bisa terhubung dengan permainan Toto Macau favorit Anda kapan saja dan di mana saja tanpa hambatan teknis.</p></div>
7381                 </div>
7382                  <div class="faq-item">
7383                     <button class="faq-question">5. Bagaimana cara memanfaatkan prediksi Macau untuk meningkatkan kemenangan?<span></span></button>
7384                     <div class="faq-answer"><p>Rajabandot menyediakan bocoran angka macau yang disusun berdasarkan analisis data statistik historis. Dengan mempelajari pola dan tren angka melalui prediksi yang kami sediakan, Anda dapat membuat keputusan taruhan yang lebih akurat dan terinformasi.</p></div>
7385                 </div>
7386 
7387             </div>
7388 
7389         </div>
7390 
7391     </div>
7392 
7393 
7394 <div class="overlay overlay-cart"></div>
7395 <div id="CartDrawer" class="drawer drawer--right">
7396   <div class="drawer__header pl-2 pr-2">
7397     <div class="drawer__icon-cart display-table-cell">
7398       <a href="/cart" class="">
7399         <svg class="icon icon-cart" version="1.1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" 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.
7399005-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>
7400       </a>
7401     </div>
7402     <div class="drawer__title h4">Keranjang Belanja</div>
7403     <div class="drawer__close js-drawer-close">
7404       <button type="button">
7405         <svg class="icon icon-close" version="1.1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="32" height="32" viewBox="0 0 32 32">
7406 <title>icon-close</title>
7407 <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>
7408 </svg>
7409       </button>
7410     </div>
7411   </div>
7412   <div id="CartContainer" class="p-2"></div>
7413 </div>
7414 
7415 
7415<script>
7416       
7417     </script>
7417
7418       
7418<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7418
7419       <!-- /snippets/ajax-cart-template.liquid -->
7420 
7421   
7421<script id="CartTemplate" type="text/template">
7422   
7423     <form action="/cart" method="post" novalidate class="cart ajaxcart">
7424       <div class="ajaxcart__inner" {{ cart.item_count }}>
7425         {{#items}}
7426         <div class="ajaxcart__product">
7427           <div class="ajaxcart__row" data-line="{{line}}">
7428             <div class="grid">
7429               <div class="grid__item one-quarter">
7430                 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
7431               </div>
7432               <div class="grid__item three-quarters">
7433                 <p class="d-block mb-3">
7434                   <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a>
7435                   {{#if variation}}
7436                     <span class="ajaxcart__product-meta p">{{variation}}</span>
7437                   {{/if}}
7438                   {{#properties}}
7439                     {{#each this}}
7440                       {{#if this}}
7441                         <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span>
7442                       {{/if}}
7443                     {{/each}}
7444                   {{/properties}}
7445                   
7446                 </p>
7447                 <div class="grid--full display-table">
7448                   <div class="grid__item display-table-cell one-half">
7449                     <div class="ajaxcart__qty">
7450                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
7451                         <svg version="1.1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" 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>
7452                         <span class="visually-hidden">Kurangi jumlah barang</span>
7453                       </button>
7454                       <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]*">
7455                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
7456                         <svg version="1.1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" 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>
7457                         <span class="visually-hidden">Tambahkan jumlah barang</span>
7458                       </button>
7459                     </div>
7460                   </div>
7461                   <div class="grid__item display-table-cell one-half text-right">
7462                     {{#if discountsApplied}}
7463                       <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small>
7464                       <br><span class="h4">{{{linePrice}}}</span>
7465                     {{else}}
7466                       <span class="h4">{{{linePrice}}}</span>
7467                     {{/if}}
7468                     </div>
7469                   </div>
7470                   {{#if discountsApplied}}
7471                     <div class="grid--full display-table">
7472                       <div class="grid__item text-right">
7473                         {{#each discounts}}
7474                           <small class="ajaxcart-item__discount">{{ this.title }}</small><br>
7475                         {{/each}}
7476                       </div>
7477                     </div>
7478                   {{/if}}
7479                   </div>
7480                 </div>
7481               </div>
7482             </div>
7483           </div>
7484         </div>
7485         {{/items}}
7486       </div>
7487       <div class="ajaxcart__footer">
7488         <div class="grid--full cart-subtotal py-2">
7489             <p>Subtotal</p>
7490             <h3 class="primary">{{{totalPrice}}}</h3>
7491           {{#if totalCartDiscount}}
7492             <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p>
7493           {{/if}}
7494         </div>
7495         
7496         <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a>
7497         
7498         <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p>
7499       </div>
7500     </form>
7501   
7502   </script>
7502
7503   
7503<script id="AjaxQty" type="text/template">
7504   
7505     <div class="ajaxcart__qty">
7506       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7507         <svg version="1.1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="24" viewBox="0 0 32 32">
7508             <title>icon-minus</title>
7509             <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>
7510         </svg>
7511         <span class="visually-hidden">Kurangi jumlah barang</span>
7512           </button>
7513               <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
7514           <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7515         <svg version="1.1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" 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>
7516         <span class="visually-hidden">Tambahkan jumlah barang</span>
7517       </button>
7518     </div>
7519   
7520   </script>
7520
7521   
7521<script id="JsQty" type="text/template">
7522   
7523     <div class="js-qty mx-auto mt-2">
7524       <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7525         <svg version="1.1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" 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>
7526         <span class="visually-hidden">Kurangi jumlah barang</span>
7527       </button>
7528       <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
7529       <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7530         <svg version="1.1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" 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>
7531         <span class="visually-hidden">Tambahkan jumlah barang</span>
7532       </button>
7533     </div>
7534   
7535   </script>
7535
7536 
7537 <style>
7538   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button,
7539   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button,
7540   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;}
7541   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7542   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7543   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;}
7544   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7545   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7546   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;}
7547 </style>
7548       
7548<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7548
7549       
7549<script>
7550         jQuery(function($) {
7551           ajaxCart.init({
7552             formSelector: '#AddToCartForm',
7553             cartContainer: '#CartContainer',
7554             addToCartSelector: '#AddToCartXX',
7555             cartCountSelector: '#CartCount, #CartCount2',
7556             cartCostSelector: '#CartCost',
7557             moneyFormat: "Rp {{amount_no_decimals}}"
7558           });
7559           });
7560 
7561           jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) {
7562             // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM
7563             timber.RightDrawer.open();
7564           });
7565       </script>
7565
7566     
7567 
7568 
7569 
7570 <style>
7571   /** Search AutoComplete **/
7572   .resultsearch .ui-menu-item[data-cat="Collection"],
7573   .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;}
7574   .resultsearch .ui-widget.ui-widget-content {
7575     width: 100%;
7576     top: 48px;
7577     border: none;
7578     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
7579   }
7580   .resultsearch .ui-menu-item {text-align: left;}
7581   .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;}
7582   .ui-state-active {
7583     border: none!important;
7584     background-color: #fafafa!important;
7585     color: #000!important;
7586   }
7587   .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;}
7588   .ui-menu .ui-menu-item {line-height: normal;}
7589 </style>
7590 
7590<script>
7591 $(window).load(function(){
7592 
7593   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;}
7594 
7595   $.widget("custom.catcomplete", $.ui.autocomplete, {
7596     _renderMenu: function (ul, items) {
7597       // have search reults split up in categories
7598       var that = this,
7599           currentCategory = "";
7600       $.each(items, function (index, item) {
7601         if (item.category != currentCategory) {
7602           ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>");
7603           currentCategory = item.category;
7604         }
7605         that._renderItemData(ul, item);
7606       });
7607     }
7608   });
7609 
7610   // higlight searched for term
7611   $.ui.autocomplete.prototype._renderItem = function( ul, item ) {
7612     var term = this.element.val(),
7613         html = item.label.replace( term, "<b>$&</b>" );
7614     return $( "<li>" )
7615     .append(format(item))
7616     .appendTo( ul );
7617   };
7618 
7619 
7620   var data = [
7621       { 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 Sweetbox Newborn", category: "Co
7621llection", 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: " " }
7621,{ 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: " " }
7621,{ 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: " " }
7621,{ 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
7621dal", 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-
7621hampers", 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
7621o-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: " " }
7621,{ 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: " " }
7621,{ 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: " " }
7621,{ 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: " " }
7621,{ 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: " " }
7621,{ 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: " " }
7621,{ 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: " " }
7621,{ 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: "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "Rajabandot hadir sebagai solusi utama bagi para penggemar yang menginginkan pengalaman bermain terbaik di Indonesia. Yogyakarta", category: "Collection", url: "/collections/standing-flower-yogyakarta", images: " ", price: " " },{ label: "Standing Giant Flower", category: "Collection", url: "/collections/standing-giant-flower", images: " ", price: " " },{ label: "Stationery", category: "Collection", url: "/collections/stationery", images: " ", price: " " },{ label: "Steekwerk", category: "Collection", url: "/collections/steekwerk", images: " ", price: " " },{ label: "Stylish Hampers", category: "Collection", url: "/collections/stylish-hampers", images: " ", price: " " },{ label: "Stylish Hampers Luar Jadetabek", category: "Collection", url: "/collections/stylish-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Succulent", category: "Collection", url: "/collections/succulent", images: " ", price: " " },{ label: "Sunflower", category: "Collection", url: "/collections/bunga-matahari", images: " ", price: " " },{ label: "Sweet & Savoury Hampers", category: "Collection", url: "/collections/sweet-savoury-hampers", images: " ", price: " " },{ label: "Sweet Gracie", category: "Collection", url: "/collections/sweet-gracie", images: " ", price: " " },{ label: "Sweet Pastel Love", category: "Collection", url: "/collections/pastel-love", images: " ", price: " " },{ label: "Sweet Pastel Love Nusantara", category: "Collection", url: "/collections/sweet-pastel-love-nusantara", images: " ", price: " " },{ label: "Sweet Treats", category: "Collection", url: "/collections/sweet-treats", images: " ", price: " " },{ label: "Sweetooth", category: "Collection", url: "/collections/sweetooth", images: " ", price: " " },{ label: "Taurus ♉️ 20April - 20May", category: "Collection", url: "/collections/kado-untuk-zodiak-taurus", images: " ", price: " " },{ label: "Teddy Bear", category: "Collection", url: "/collections/boneka-teddy-bear", images: " ", price: " " },{ label: "Teh", category: "Collection", url: "/collections/teh", images: " ", price: " " },{ label: "Test Error", category: "Collection", url: "/collections/test-error", images: " ", price: " " },{ label: "Testing", category: "Collection", url: "/collections/testing", images: " ", price: " " },{ label: "Thank You", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-terima-kasih", images: " ", price: " " },{ label: "The Classic Astoria", category: "Collection", url: "/collections/astoria", images: " ", price: " " },{ label: "The Classic Enchanted Dome", category: "Collection", url: "/collections/enchanted-dome", images: " ", price: " " },{ label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " },{ label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " },{ label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " },{ label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " },{ label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " },{ label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " },{ label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " },{ label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " },{ label: "Toko Bunga Balikpapan", category: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " }
7621,{ 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: " " }
7621,{ 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
7621dal", 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: " " },
7622       { 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" }
7622,{ 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" }
7622,{ 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" }
7623   ];
7624 
7625              
7626         $( ".header-input-search" ).catcomplete({
7627          appendTo: ".searchResult",source: function(request, response) {
7628             var results = $.ui.autocomplete.filter(data, request.term);
7629             var predicate = function () {
7630                 var counter = { Collection: 0, Produk: 0 };
7631             var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);}
7632             return fn
7633             }();
7634             response(results.filter(predicate));
7635           },
7636           minLength:1,
7637            //results are clickable
7638           select: function( event, ui ) {window.location = ui.item.url;}
7639 });
7640 $( ".header-input-search2" ).catcomplete({
7641         appendTo: ".searchResult2",
7642                    source: function(request, response) {
7643                     var results = $.ui.autocomplete.filter(data, request.term);
7644                     var predicate = function () {
7645                         var counter = { Collection: 0, Produk: 0 };
7646               var fn = function(item) {
7647               counter[item.category] += 1;
7648   return (counter[item.category] <= 5);
7649 }
7650                return fn
7651                }();
7652 response(results.filter(predicate));
7653 },
7654   minLength:1,
7655         //results are clickable
7656         select: function( event, ui ) {
7657           window.location = ui.item.url;
7658         }
7659 });
7660 });
7661 </script>
7661
7662 
7663     
7663<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7663
7664 
7664<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7664
7665 
7666 
7666<script>
7667   ( function() {
7668     var youtube = document.querySelectorAll( ".youtube" );
7669     for (var i = 0; i < youtube.length; i++) {
7670       var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg";
7671       var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg";
7672       var image = new Image();
7673       image.src = source;
7674       image.setAttribute("data-src", datasource);
7675       image.classList.add("swiper-lazy");
7676       image.addEventListener( "load", function() {
7677         youtube[ i ].appendChild( image );
7678       }( i ) );
7679       youtube[i].addEventListener( "click", function() {
7680         var iframe = document.createElement( "iframe" );
7681         iframe.setAttribute( "width", "480" );
7682         iframe.setAttribute( "height", "480" );
7683         iframe.setAttribute( "frameborder", "0" );
7684         iframe.setAttribute( "allowfullscreen", "" );
7685         iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" );
7686         this.innerHTML = "";
7687         this.appendChild( iframe );
7688       } );
7689     };
7690 
7691   } )();
7692 
7693   /* Lazy Load */
7694   const mainLazyLoad = new LazyLoad({threshold:400});
7695   $(document).ready(function(){
7696 
7697     $("selectxxx").addClass("needsclick");
7698     FastClick.attach(document.body);
7699     
7700     var $customSelects = $('.select-search');
7701     $customSelects.select2({
7702       templateResult: function(result, container) {
7703         if (!result.id) {
7704           return result.text;
7705         }
7706         container.className += ' needsclick';
7707         return result.text;
7708       }
7709     });
7710     $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');});
7711     $(document).on('select2:open', () => {
7712       document.querySelector('.select2-search__field').focus();
7713     });
7714     
7715 
7716     $(".overlay").click(function(){
7717       $(".js-drawer-close").click();
7718     });
7719     $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){
7720       $("html").toggleClass("nav_open");
7721     });
7722     
7723     $('.swatch-element label').on('click', function(){
7724       var srcImg = $(this).data('src');
7725       $('#thumb-image-product .product-single__thumbnail').each(function(){
7726         if ($(this).attr("href") == srcImg) {
7727           $(this).trigger('click');
7728         }
7729       });
7730     });
7731     var defaultValue = $(".swatch input:checked").val()
7732     
7733     $('#purchaseProduct .swatch [type=radio]').change(function() {
7734       var optionIndex = $(this).closest('.swatch').attr('data-option-index');
7735       var optionValue = $(this).val();
7736       console.log(optionIndex, optionValue)
7737       var value = parseInt(optionValue.split(' ')[0])
7738       $(this)
7739       .closest('#purchaseProduct')
7740       .find('.single-option-selector')
7741       .eq(optionIndex)
7742       .val(optionValue)
7743       .trigger('change');
7744       
7745     });
7746     
7747   });
7748   $(document).ready(function(){
7749     $(".nav-search a").click(function(e){
7750       e.preventDefault();
7751       $(".icon-navsearch").toggle();
7752       $(".icon-navclose").toggle();
7753       $(".site-nav__item > .site-nav__link").toggle();
7754       $(".open-search").toggle();
7755       $(".open-search input").focus();
7756     });
7757     $(".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'>");
7758     if ($(window).width() < 768) {
7759       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7760       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7761       $(".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'>");
7762     } else {
7763       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7764       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7765       $(".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'>");
7766     }
7767     $(".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'>");
7768     $(".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'>");
7769   });
7770 </script>
7770
7771 
7772 
7773     
7774 
7775     
7775<script type="text/javascript">
7776       var wishlistpage = 0;
7777        
7778        var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>";
7779     </script>
7779
7780     
7781       <!-- Remove duplicate wishlist.js reference -->
7782       <style>
7783   .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)}}
7784 </style>
7785 
7786 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog">
7787   <div class="modal-dialog" role="document">
7788     <div class="modal-content">        
7789       <div class="modal-body">Your Wishlist is empty!</div>
7790       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>          
7791     </div>
7792   </div>
7793 </div> 
7794 
7795 <div class="wishlist-model">
7796   <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true">
7797     <div class="modal-dialog white-modal">
7798       <div class="modal-content">
7799         <div class="modal-header">
7800           <button type="button" class="close" data-dismiss="modal" aria-label="Close">
7801             <svg class="icon icon-close" version="1.1" xmlns="https://img
7801saya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="32" height="32" viewBox="0 0 32 32">
7802 <title>icon-close</title>
7803 <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>
7804 </svg>
7805           </button>
7806         </div>
7807         <div class="modal-body">
7808           <div class="wishlist-left">
7809             <div class="wishlist-note">
7810               <span class="cirle"><svg version="1.1" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="32" height="32" viewBox="0 0 32 32">
7811 <title>icon-check</title>
7812 <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>
7813 </svg></span>
7814               Product added to <a href="/pages/wish-list">Wishlist</a>
7815             </div>
7816             <div class="wishlist-product">
7817               <div class="product-left">
7818                 <div class="wishlist-image"></div>
7819               </div>
7820               <div class="product-right">
7821                 <div class="wishlist-name"></div>
7822                 <div class="wishlist-price"></div>
7823               </div>
7824             </div>
7825           </div>
7826           <div class="wishlist-right">
7827             <div class="wishlist-cart">
7828               <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data">                  
7829                 <div class="others-bottom">
7830                   <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a>
7831                   <button type="submit" name="add" id="AddToCart" class="btn btn-cta">
7832                     <span id="AddToCartText" class="">Beli Sekarang</span>
7833                   </button>
7834                 </div>
7835                 <div id="wishlist-variants-container" class="variants-wrapper"></div> 
7836                 <div class="quantity-content">
7837                   <label>QTY</label>
7838                   <input type="number" size="5" class="" name="quantity" value="1" />
7839                 </div>
7840               </form> 
7841             </div>
7842           </div>
7843         </div>
7844       </div>
7845     </div>
7846   </div>
7847 </div>
7848 
7849     
7850     <style>
7851        .stamped-badge[data-rating="0.0"]{display: none !Important;}
7852        
7853         div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a {
7854           border-radius: 0px;
7855       }
7856           .stamped-review-body {
7857           padding-left: 0px !important;
7858       }
7859           #product-reviews .stamped-header:after {
7860             display:none !Important;
7861           }
7862       #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget {
7863           font-family:inherit !important;
7864       }
7865     </style>
7866 
7867     
7868 
7869 <div id='stamped-rewards-init' class='stamped-rewards-init'
7870   data-key-public=''
7871 
7872 ></div>
7873 
7874     
7874<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
7874
7875     <!-- Remove duplicate jQuery reference and load wishlist script properly -->
7876     
7876<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
7876
7877 
7878     
7878<script>
7879       function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); }
7880     </script>
7880
7881     
7881<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
7881<style>
7882   .jss59 {
7883     background-color: rgba(0, 0, 0, 0.6);
7884   }
7885   .MuiBackdrop-root {
7886     top: 0;
7887     left: 0;
7888     right: 0;
7889     bottom: 0;
7890     display: flex;
7891     z-index: -1;
7892     position: fixed;
7893     align-items: center;
7894     justify-content: center;
7895     background-color: rgba(0, 0, 0, 0.5);
7896     -webkit-tap-highlight-color: transparent;
7897   }
7898   .MuiDialog-scrollPaper {
7899     display: flex;
7900     align-items: center;
7901     justify-content: center;
7902   }
7903   .MuiDialog-container {
7904     height: 100%;
7905     outline: 0;
7906   }
7907   .MuiPaper-elevation24 {
7908     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);
7909   }
7910   .MuiDialog-paper {
7911     margin: 32px;
7912     position: relative;
7913     overflow-y: auto;
7914   }
7915   .MuiDialog-paperScrollPaper {
7916     display: flex;
7917     max-height: calc(100% - 64px);
7918     flex-direction: column;
7919   }
7920   .MuiDialog-paperWidthSm {
7921     max-width: 600px;
7922   }
7923   #location-lock-dialog {
7924     top: 20%;
7925     left: 0;
7926     right: 0;
7927     width: 30%;
7928     margin: 0px auto;
7929     display: block;
7930     padding: 30px;
7931     z-index: 99999;
7932     position: fixed;
7933     font-size: 14px;
7934     background: rgb(0, 0, 0);
7935     box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px;
7936     text-align: center;
7937     font-family: Roboto, Arial, sans-serif;
7938     line-height: 1;
7939     border-radius: 8px;
7940     -webkit-font-smoothing: subpixel-antialiased;
7941   }
7942   .MuiButtonBase-root {
7943     color: inherit;
7944     border: 0;
7945     cursor: pointer;
7946     margin: 0;
7947     display: inline-flex;
7948     outline: 0;
7949     padding: 0;
7950     position: relative;
7951     align-items: center;
7952     user-select: none;
7953     border-radius: 0;
7954     vertical-align: middle;
7955     -moz-appearance: none;
7956     justify-content: center;
7957     text-decoration: none;
7958     background-color: transparent;
7959     -webkit-appearance: none;
7960     -webkit-tap-highlight-color: transparent;
7961   }
7962   .MuiIconButton-root {
7963     flex: 0 0 auto;
7964     color: rgba(0, 0, 0, 0.54);
7965     padding: 12px;
7966     overflow: visible;
7967     font-size: 1.5rem;
7968     text-align: center;
7969     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
7970     border-radius: 50%;
7971   }
7972   .MuiIconButton-label {
7973     width: 100%;
7974     display: flex;
7975     align-items: inherit;
7976     justify-content: inherit;
7977   }
7978   .MuiSvgIcon-root {
7979     fill: currentColor;
7980     width: 1em;
7981     height: 1em;
7982     display: inline-block;
7983     font-size: 1.5rem;
7984     transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
7985     flex-shrink: 0;
7986     user-select: none;
7987   }
7988   .MuiTouchRipple-root {
7989     top: 0;
7990     left: 0;
7991     right: 0;
7992     bottom: 0;
7993     z-index: 0;
7994     overflow: hidden;
7995     position: absolute;
7996     border-radius: inherit;
7997     pointer-events: none;
7998   }
7999   .jss36 {
8000     color: #222222;
8001     font-size: 24px;
8002     font-family: Roboto, Arial, sans-serif;
8003     font-weight: 500;
8004   }
8005   .jss37 {
8006     color: #555555;
8007     padding: 10px 0px 0px;
8008     font-size: 14px;
8009   }
8010   .MuiFormGroup-root {
8011     display: flex;
8012     flex-wrap: wrap;
8013     flex-direction: column;
8014   }
8015   .MuiFormGroup-row {
8016     flex-direction: row;
8017   }
8018   .jss63 {
8019     width: 85%;
8020     margin: 15px auto;
8021     display: flex;
8022     padding: 11px 0px 0px;
8023     justify-content: space-evenly;
8024   }
8025   .MuiFormControlLabel-root {
8026     cursor: pointer;
8027     display: inline-flex;
8028     align-items: center;
8029     margin-left: -11px;
8030     margin-right: 16px;
8031     vertical-align: middle;
8032     -webkit-tap-highlight-color: transparent;
8033   }
8034   .jss70 {
8035     margin: 0;
8036   }
8037   .MuiButtonBase-root {
8038     color: inherit;
8039     border: 0;
8040     cursor: pointer;
8041     margin: 0;
8042     display: inline-flex;
8043     outline: 0;
8044     padding: 0;
8045     position: relative;
8046     align-items: center;
8047     user-select: none;
8048     border-radius: 0;
8049     vertical-align: middle;
8050     -moz-appearance: none;
8051     justify-content: center;
8052     text-decoration: none;
8053     background-color: transparent;
8054     -webkit-appearance: none;
8055     -webkit-tap-highlight-color: transparent;
8056   }
8057   .MuiIconButton-root {
8058     flex: 0 0 auto;
8059     color: rgba(0, 0, 0, 0.54);
8060     padding: 12px;
8061     overflow: visible;
8062     font-size: 1.5rem;
8063     text-align: center;
8064     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8065     border-radius: 50%;
8066   }
8067   .MuiIconButton-colorSecondary {
8068     color: #f50057;
8069   }
8070   .jss71 {
8071     padding: 9px;
8072   }
8073   .MuiRadio-root {
8074     color: rgba(0, 0, 0, 0.54);
8075   }
8076   .jss64 {
8077     padding: 2px;
8078   }
8079   .MuiRadio-colorSecondary.Mui-checked {
8080     color: #f50057;
8081   }
8082   .MuiIconButton-label {
8083     width: 100%;
8084     display: flex;
8085     align-items: inherit;
8086     justify-content: inherit;
8087   }
8088   .MuiTypography-root {
8089     margin: 0;
8090   }
8091   .MuiTypography-body1 {
8092     font-size: 18px;
8093     font-family: Roboto,sans-serif;
8094     font-weight: 400;
8095     line-height: 1.5;
8096   }
8097   .location-popup_area-block__sp9Ws {
8098     display: -moz-box;
8099     display: flex;
8100     -moz-box-orient: vertical;
8101     -moz-box-direction: normal;
8102     flex-direction: column;
8103     -moz-box-pack: center;
8104     justify-content: center;
8105     position: relative;
8106     margin: 10px 10% 0;
8107   }
8108   .location-popup_pin-search-box__3l5mJ {
8109     width: 100%;
8110     display: -moz-box;
8111     display: flex;
8112     -moz-box-align: center;
8113     align-items: center;
8114   }
8115   .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q {
8116     position: absolute;
8117     z-index: 999;
8118   }
8119   .location-popup_place-icon__jSG0Q {
8120     color: #ffffff;
8121     padding-left: 8px;
8122   }
8123   .location-popup_place-icon__jSG0Q svg {
8124     width: 18px;
8125     height: 18px;
8126   }
8127   .location-popup_cancel-icon__FHujU {
8128     color: #fff;
8129     right: 10px;
8130     width: 16px;
8131     cursor: pointer;
8132     height: 16px;
8133     display: none;
8134     padding: 5px;
8135     position: absolute;
8136     background: #999;
8137     text-align: center;
8138     border-radius: 50%;
8139   }
8140   .location-popup_pin-search-box__3l5mJ>div>select {
8141 /*     -webkit-box-shadow: 0 0 10px #ffffff;
8142     box-shadow: 0 0 10px #ffffff; */
8143     text-transform: capitalize;
8144     border: 1px solid #ffffff;
8145     color: #ffffff;
8146     width: 100%;
8147     margin: 0;
8148     display: -moz-box;
8149     display: flex;
8150     padding: 0 30px;
8151     -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8152     -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8153     animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8154     font-size: 16px;
8155     border-radius: 4px;
8156     height: 44px;
8157     moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8158     webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8159   }
8160   .MuiButtonBase-root {
8161     color: inherit;
8162     border: 0;
8163     cursor: pointer;
8164     margin: 0;
8165     display: inline-flex;
8166     outline: 0;
8167     padding: 0;
8168     position: relative;
8169     align-items: center;
8170     user-select: none;
8171     border-radius: 0;
8172     vertical-align: middle;
8173     -moz-appearance: none;
8174     justify-content: center;
8175     text-decoration: none;
8176     background-color: transparent;
8177     -webkit-appearance: none;
8178     -webkit-tap-highlight-color: transparent;
8179   }
8180   .MuiButton-root {
8181     color: rgba(0, 0, 0, 0.87);
8182     padding: 6px 16px;
8183     font-size: 0.875rem;
8184     min-width: 64px;
8185     box-sizing: border-box;
8186     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;
8187     font-family: Roboto,sans-serif;
8188     font-weight: 500;
8189     line-height: 1.75;
8190     border-radius: 4px;
8191     text-transform: uppercase;
8192   }
8193   .MuiButton-contained {
8194     color: rgba(0, 0, 0, 0.87);
8195     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);
8196     background-color: #e0e0e0;
8197   }
8198   .MuiButtonBase-root.Mui-disabled {
8199     cursor: default;
8200     pointer-events: none;
8201   }
8202   .MuiButton-label {
8203     width: 100%;
8204     display: inherit;
8205     align-items: inherit;
8206     justify-content: inherit;
8207   }
8208   .cartButton_login_content__2j1f7 {
8209     display: -moz-box;
8210     display: flex;
8211     text-align: center;
8212     z-index: 9;
8213     font-size: 18px;
8214     font-weight: 500;
8215     color: #fff;
8216   }
8217   
8218   .jss35 {
8219     top: 5px;
8220     right: 5px;
8221     padding: 4px;
8222     position: absolute;
8223     border-radius: 50%;
8224   }
8225   .jss67 {
8226     cursor: pointer;
8227     font-size: 15px;
8228     line-height: 1.3;
8229     padding-left: 5px;
8230   }
8231   .jss69 {
8232     color: #222222;
8233   }
8234   .jss80 {
8235     color: #fff;
8236     width: 100%;
8237     height: 52px;
8238     padding: 11px 16px;
8239     font-size: 18px;
8240     min-width: 88px;
8241     min-height: 36px;
8242     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;
8243     font-weight: 500;
8244     line-weight: 1em;
8245     border-radius: 4px;
8246     text-transform: uppercase;
8247     background-color: #E87325;
8248   }
8249   @media (min-width: 991px){
8250     .cartButton_login_content__2j1f7 {
8251         font-weight: 500;
8252     }
8253   }
8254 
8255   @media (max-width: 992px) {
8256     #location-lock-dialog {
8257       width: 100%;
8258       top: auto;
8259       bottom: 0;
8260       padding-left: 0;
8261       padding-right: 0;
8262     }
8263     .MuiFormGroup-row {
8264       display: block
8265     }
8266     .MuiIconButton-label input {
8267       margin: 0;
8268     }
8269   }
8270 </style>
8271 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;">
8272   <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div>
8273   <div tabindex="0" data-test="sentinelStart"></div>
8274   <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;">
8275     <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog">
8276       <div class="jss31 undefined" id="location-lock-dialog">
8277         <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8278           <span class="MuiIconButton-label">
8279             <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
8280               <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>
8281             </svg>
8282           </span>
8283           <span class="MuiTouchRipple-root"></span>
8284         </button>
8285         <div>
8286           <div class="jss36">Select Delivery Location</div>
8287           <div class="jss37">Select a delivery location to see product availability</div>
8288         </div>
8289         <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup">
8290           <label for="jabodetabek" class="MuiFormControlLabel-root jss45">
8291             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false">
8292               <span class="MuiIconButton-label">
8293                 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location">
8294                 <span class="jss41"></span>
8295               </span>
8296               <span class="MuiTouchRipple-root"></span>
8297             </span>
8298             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8299               <span class="jss67 jss69">Jabodetabek</span>
8300             </span>
8301           </label>
8302           <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45">
8303             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false">
8304               <span class="MuiIconButton-label">
8305                 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location">
8306                 <span class="jss40"></span>
8307               </span>
8308               <span class="MuiTouchRipple-root"></span>
8309             </span>
8310             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8311               <span class="jss67 jss68">Outside Jabodetabek</span>
8312             </span>
8313           </label>
8314         </div>
8315         <div>
8316           <div class="MuiGrid-root location-popup_area-block__sp9Ws">
8317             <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false">
8318               <div class="MuiGrid-root location-popup_place-icon__jSG0Q">
8319                 <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>
8320               </div>
8321               <div class="MuiGrid-root location-popup_cancel-icon__FHujU false">
8322                 <i class="material-icons location-popup_clear-pin__s1dRc">close</i>
8323               </div>
8324               <div style="width: 100%;">
8325                 <select id="choose-location" class="form-control">
8326                   <option value="">Choose Location</option>
8327                   <option value="jakarta">Jakarta</option>
8328                   <option value="bogor">Bogor</option>
8329                   <option value="depok">Depok</option>
8330                   <option value="tangerang">Tangerang</option>
8331                   <option value="bekasi">Bekasi</option>
8332                 </select>
8333               </div>
8334             </div>
8335           </div>
8336         </div>
8337         <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="">
8338           <span class="MuiButton-label">
8339             <span class=""></span>
8340             <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span>
8341           </span>
8342         </button>
8343       </div>
8344     </div>
8345   </div>
8346   <div tabindex="0" data-test="sentinelEnd"></div>
8347 </div>
8348 
8349 
8349<script>
8350   const jabodetabek = [
8351     {
8352       "code": "jakarta",
8353       "city": "jakarta",
8354       "zip": []
8355     },
8356     {
8357       "code": "bogor",
8358       "city": "bogor",
8359       "zip": []
8360     },
8361     {
8362       "code": "depok",
8363       "city": "depok",
8364       "zip": []
8365     },
8366     {
8367       "code": "tangerang",
8368       "city": "tangerang",
8369       "zip": []
8370     },
8371     {
8372       "code": "bekasi",
8373       "city": "bekasi",
8374       "zip": []
8375     }
8376   ]
8377   let cityNonJabodetabek = [
8378     
8379
8380     
8381     
8382     "pengiriman_aceh",
8383     
8384     
8385     
8386     
8387     
8388     "pengiriman_ambon",
8389     
8390     
8391     
8392     
8393     
8394     "pengiriman_atambua",
8395     
8396     
8397     
8398     
8399     
8400     "pengiriman_badung",
8401     
8402     
8403     
8404     
8405     
8406     "pengiriman_bali",
8407     
8408     
8409     
8410     
8411     
8412     "pengiriman_balikpapan",
8413     
8414     
8415     
8416     
8417     
8418     "pengiriman_bandar lampung",
8419     
8420     
8421     
8422     
8423     
8424     "pengiriman_bandung",
8425     
8426     
8427     
8428     
8429     
8430     "pengiriman_bandung barat",
8431     
8432     
8433     
8434     
8435     
8436     "pengiriman_banjarmasin",
8437     
8438     
8439     
8440     
8441     
8442     "pengiriman_banyumas",
8443     
8444     
8445     
8446     
8447     
8448     "pengiriman_banyuwangi",
8449     
8450     
8451     
8452     
8453     
8454     "pengiriman_batam",
8455     
8456     
8457     
8458     
8459     
8460     
8461     
8462     
8463     
8464     "pengiriman_biak",
8465     
8466     
8467     
8468     
8469     
8470     "pengiriman_binjai",
8471     
8472     
8473     
8474     
8475     
8476     "pengiriman_blitar",
8477     
8478     
8479     
8480     
8481     
8482     "pengiriman_blora",
8483     
8484     
8485     
8486     
8487     
8488     
8489     
8490     
8491     
8492     "pengiriman_bojonegoro",
8493     
8494     
8495     
8496     
8497     
8498     "pengiriman_boyolali",
8499     
8500     
8501     
8502     
8503     
8504     "pengiriman_bukittinggi",
8505     
8506     
8507     
8508     
8509     
8510     "pengiriman_buleleng",
8511     
8512     
8513     
8514     
8515     
8516     "pengiriman_ciamis",
8517     
8518     
8519     
8520     
8521     
8522     "pengiriman_cianjur",
8523     
8524     
8525     
8526     
8527     
8528     "pengiriman_cibinong",
8529     
8530     
8531     
8532     
8533     
8534     "pengiriman_cikarang",
8535     
8536     
8537     
8538     
8539     
8540     "pengiriman_cikupa",
8541     
8542     
8543     
8544     
8545     
8546     "pengiriman_cilacap",
8547     
8548     
8549     
8550     
8551     
8552     "pengiriman_cileunyi",
8553     
8554     
8555     
8556     
8557     
8558     "pengiriman_cimahi",
8559     
8560     
8561     
8562     
8563     
8564     "pengiriman_cirebon",
8565     
8566     
8567     
8568     
8569     
8570     "pengiriman_ciwidey",
8571     
8572     
8573     
8574     
8575     
8576     "pengiriman_deli serdang",
8577     
8578     
8579     
8580     
8581     
8582     "pengiriman_demak",
8583     
8584     
8585     
8586     
8587     
8588     "pengiriman_denpasar",
8589     
8590     
8591     
8592
8593     
8594     
8595     "pengiriman_garut",
8596     
8597     
8598     
8599     
8600     
8601     "pengiriman_gianyar",
8602     
8603     
8604     
8605     
8606     
8607     "pengiriman_gresik",
8608     
8609     
8610     
8611     
8612     
8613     "pengiriman_gunung kidul",
8614     
8615     
8616     
8617
8618     
8619     
8620     "pengiriman_jambi",
8621     
8622     
8623     
8624     
8625     
8626     "pengiriman_jayapura",
8627     
8628     
8629     
8630     
8631     
8632     "pengiriman_jember",
8633     
8634     
8635     
8636     
8637     
8638     "pengiriman_jepara",
8639     
8640     
8641     
8642     
8643     
8644     "pengiriman_jombang",
8645     
8646     
8647     
8648     
8649     
8650     "pengiriman_karanganyar",
8651     
8652     
8653     
8654     
8655     
8656     "pengiriman_karawang",
8657     
8658     
8659     
8660     
8661     
8662     "pengiriman_karo",
8663     
8664     
8665     
8666     
8667     
8668     "pengiriman_kebumen",
8669     
8670     
8671     
8672     
8673     
8674     "pengiriman_kediri",
8675     
8676     
8677     
8678     
8679     
8680     "pengiriman_keerom",
8681     
8682     
8683     
8684     
8685     
8686     "pengiriman_kendal",
8687     
8688     
8689     
8690     
8691     
8692     "pengiriman_klaten",
8693     
8694     
8695     
8696     
8697     
8698     "pengiriman_kudus",
8699     
8700     
8701     
8702     
8703     
8704     "pengiriman_kupang",
8705     
8706     
8707     
8708     
8709     
8710     "pengiriman_lainnya",
8711     
8712     
8713     
8714     
8715     
8716     "pengiriman_lamongan",
8717     
8718     
8719     
8720     
8721     
8722     "pengiriman_lampung",
8723     
8724     
8725     
8726     
8727     
8728     "pengiriman_lampung barat",
8729     
8730     
8731     
8732     
8733     
8734     "pengiriman_lembang",
8735     
8736     
8737     
8738     
8739     
8740     "pengiriman_lombok",
8741     
8742     
8743     
8744     
8745     
8746     "pengiriman_lumajang",
8747     
8748     
8749     
8750     
8751     
8752     "pengiriman_madiun",
8753     
8754     
8755     
8756     
8757     
8758     "pengiriman_magelang",
8759     
8760     
8761     
8762     
8763     
8764     "pengiriman_majalengka",
8765     
8766     
8767     
8768     
8769     
8770     "pengiriman_makassar",
8771     
8772     
8773     
8774     
8775     
8776     "pengiriman_malang",
8777     
8778     
8779     
8780     
8781     
8782     "pengiriman_manado",
8783     
8784     
8785     
8786     
8787     
8788     "pengiriman_medan",
8789     
8790     
8791     
8792     
8793     
8794     "pengiriman_mengwi",
8795     
8796     
8797     
8798     
8799     
8800     "pengiriman_mojokerto",
8801     
8802     
8803     
8804     
8805     
8806     "pengiriman_nganjuk",
8807     
8808     
8809     
8810     
8811     
8812     "pengiriman_ngawi",
8813     
8814     
8815     
8816     
8817     
8818     "pengiriman_padang",
8819     
8820     
8821     
8822     
8823     
8824     "pengiriman_palembang",
8825     
8826     
8827     
8828     
8829     
8830     "pengiriman_pasuruan",
8831     
8832     
8833     
8834     
8835     
8836     "pengiriman_pati",
8837     
8838     
8839     
8840     
8841     
8842     "pengiriman_pekalongan",
8843     
8844     
8845     
8846     
8847     
8848     "pengiriman_pekanbaru",
8849     
8850     
8851     
8852     
8853     
8854     "pengiriman_pemalang",
8855     
8856     
8857     
8858     
8859     
8860     "pengiriman_ponorogo",
8861     
8862     
8863     
8864     
8865     
8866     "pengiriman_pontianak",
8867     
8868     
8869     
8870     
8871     
8872     "pengiriman_probolinggo",
8873     
8874     
8875     
8876     
8877     
8878     "pengiriman_purbalingga",
8879     
8880     
8881     
8882     
8883     
8884     "pengiriman_purwakarta",
8885     
8886     
8887     
8888     
8889     
8890     "pengiriman_purwokerto",
8891     
8892     
8893     
8894     
8895     
8896     "pengiriman_rembang",
8897     
8898     
8899     
8900     
8901     
8902     "pengiriman_riau",
8903     
8904     
8905     
8906     
8907     
8908     "pengiriman_salatiga",
8909     
8910     
8911     
8912     
8913     
8914     "pengiriman_samarinda",
8915     
8916     
8917     
8918     
8919     
8920     "pengiriman_semarang",
8921     
8922     
8923     
8924     
8925     
8926     "pengiriman_sentani",
8927     
8928     
8929     
8930     
8931     
8932     "pengiriman_serang",
8933     
8934     
8935     
8936     
8937     
8938     "pengiriman_sidoarjo",
8939     
8940     
8941     
8942     
8943     
8944     "pengiriman_singkawang",
8945     
8946     
8947     
8948     
8949     
8950     "pengiriman_sragen",
8951     
8952     
8953     
8954     
8955     
8956     "pengiriman_subang",
8957     
8958     
8959     
8960     
8961     
8962     "pengiriman_sukabumi",
8963     
8964     
8965     
8966     
8967     
8968     "pengiriman_sumbawa",
8969     
8970     
8971     
8972     
8973     
8974     "pengiriman_surabaya",
8975     
8976     
8977     
8978     
8979     
8980     "pengiriman_surakarta solo",
8981     
8982     
8983
8984     
8985     "pengiriman_tasikmalaya",
8986     
8987     
8988     
8989     
8990     
8991     "pengiriman_tegal",
8992     
8993     
8994     
8995     
8996     
8997     "pengiriman_timika",
8998     
8999     
9000     
9001     
9002     
9003     "pengiriman_wamena",
9004     
9005     
9006     
9007     
9008     
9009     "pengiriman_wiyung",
9010     
9011     
9012     
9013     
9014     
9015     "pengiriman_wonokromo",
9016     
9017     
9018     
9019     
9020     
9021     "pengiriman_yogyakarta",
9022 
9023   ]
9024   console.log(cityNonJabodetabek)
9025   let non_jabodetabek = []
9026   for(var i=0;i<cityNonJabodetabek.length;i++) {
9027     const obj = {
9028       "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'),
9029       "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'),
9030       "zip": []
9031     }
9032     non_jabodetabek.push(obj)
9033   }
9034   let current_location = getCookie("location_delivery")
9035   $("[name=location]").change(function(){
9036     let v = $(this).val()
9037     let option = []
9038     if(v == 'Jabodetabek') {
9039       for(var i=0;i<jabodetabek.length;i++) {
9040         const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>`
9041         option.push(jabodetabekHtml)
9042       }
9043       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9044     } else {
9045       for(var i=0;i<non_jabodetabek.length;i++) {
9046         const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>`
9047         option.push(nonjabodetabekHtml)
9048       }
9049       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9050     }
9051   })
9052 
9053   $("#location-lock-submit").click(function(e){
9054     let select = $("#choose-location")
9055     let value = select.val().toLowerCase()
9056     console.log(value)
9057     if(select.val() == "") {
9058       return alert("Choose Your Location")
9059       e.preventDefault()
9060     }
9061     setCookie("location_delivery",value,1000000);
9062     
9063     location.reload();
9064     
9065   })
9066 
9067   $("#close-popup-delivery").click(function(){
9068     $(".MuiDialog-root").hide()
9069     if(!current_location){
9070       setCookie("location_delivery","jakarta",1000000);
9071       $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta")
9072     }
9073   })
9074   $("#loc_delivery, #loc_delivery_mobile").click(function(){
9075     $(".MuiDialog-root").show()
9076   })
9077 
9078   
9079   if(!current_location){
9080     
9081   } else {
9082     $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location)
9083     console.log(current_location)
9084     $("#choose-location").each(function(){
9085       if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){
9086         $("#jabodetabek").trigger("click")
9087       } else {
9088         $("#non-jabodetabek").trigger("click")
9089       }
9090       $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected")
9091     })
9092   }
9093 
9094   // 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'){
9095   //   $("#timeMalam").attr("disabled", false)
9096   // } else {
9097   //   $("#timeMalam").attr("disabled", true)
9098   // }
9099 
9100   if(current_location && current_location != 'jakarta') {
9101     $("#self-pickup").attr("disabled", true)
9102   }
9103 
9104   function setCookie(name,value,days) {
9105     var expires = "";
9106     if (days) {
9107       var date = new Date();
9108       date.setTime(date.getTime() + (days*24*60*60*1000));
9109       expires = "; expires=" + date.toUTCString();
9110     }
9111     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
9112   }
9113   function getCookie(name) {
9114     var nameEQ = name + "=";
9115     var ca = document.cookie.split(';');
9116     for(var i=0;i < ca.length;i++) {
9117       var c = ca[i];
9118       while (c.charAt(0)==' ') c = c.substring(1,c.length);
9119       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
9120     }
9121     return null;
9122   }
9123 </script>
9123
9124 <!-- One Tap -->
9125     
9125<script>
9126       console.log("Outerbloom...");
9127     </script>
9127
9128   <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block">
9129 
9130 
9131 
9132 
9133 
9134 
9135 
9136 
9137 
9138 
9139 
9140 
9141 
9142 
9143 
9144 
9145 
9146 
9147 
9148 
9149 
9150 
9151 
9152 
9153 
9154 
9155 
9156 
9157 
9158 
9159 
9160 
9161 
9162 
9163 
9164 
9165 
9166 
9167 
9168 
9169 
9170 
9171 
9172 
9173 
9174 
9175 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
9176 
9176<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
9176
9177 
9177<script>
9178   const widgetConfig = {
9179     id: "clz7897za002cz7otleaz0d3d",
9180     showQuickResponse: false,
9181     quickResponsesData: [],
9182     themeColor: "#ffffff",
9183     widgetText: "",
9184     radiusType: "circle",
9185     widgetIconType: "whatsapp",
9186     position: "right",
9187     storeLogo: "",
9188     storeName: "Outerbloom",
9189     storeDescription: "",
9190     size: "small",
9191     showCard: false,
9192     widgetColorType: "solid",
9193     widgetColor1: "#008069",
9194     widgetColor2: "#008069",
9195     social: {
9196       socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"],
9197       values: {
9198         instagram: {
9199           enabled: false,
9200           value: "",
9201         },
9202         facebook: {
9203           enabled: false,
9204           value: "",
9205         },
9206         email: {
9207           enabled: false,
9208           value: "",
9209         },
9210         x: {
9211           enabled: false,
9212           value: "",
9213         },
9214         tiktok: {
9215           enabled: false,
9216           value: "",
9217         },
9218         linkedin: {
9219           enabled: false,
9220           value: "",
9221         },
9222         youtube: {
9223           enabled: false,
9224           value: "",
9225         },
9226       },
9227     },
9228   };
9229 
9230   function initializeWidget() {
9231     if (typeof BBBWidget !== 'undefined') {
9232       BBBWidget.init(widgetConfig);
9233     } else {
9234       setTimeout(initializeWidget, 100);
9235     }
9236   }
9237 
9238   initializeWidget();</script>
9238
9239 
9240 
9241 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
9242 
9243 
9244 <div style="position: fixed; bottom: 0; right: 0"></div>
9245 
9246 
9246<script>
9247 console.info("bitlogin extension version: v2.5.7");
9248 
9249 const googleScript = document.createElement("script");
9250 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
9251 document.head.append(googleScript);
9252 
9253 const bitLoginBaseUrl = "https://api.bitbybit.studio";
9254 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
9255 
9256 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"}};
9257 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
9257n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}];
9258 const redirectUrl = appearance.redirectLink;
9259 
9260 let locationCacheSet = false;
9261 let errorLocation = false;
9262 let oneTapSet = false;
9263 
9264 let bitloginCache = {
9265   appearance: appearance,
9266   config: config
9267 };
9268 
9269 let isInitializing = false;
9270 const queue = [];
9271 
9272 // Add CSS for the popup
9273 const popupStyles = document.createElement('style');
9274 popupStyles.textContent = `
9275   /* Styles for login popup */
9276   .bitlogin-popup-overlay {
9277     position: fixed;
9278     top: 0;
9279     left: 0;
9280     width: 100%;
9281     height: 100%;
9282     background: rgba(0, 0, 0, 0.45);
9283     backdrop-filter: blur(4px);
9284     display: flex;
9285     align-items: center;
9286     justify-content: center;
9287     opacity: 0;
9288     transition: opacity 0.3s ease-in-out;
9289     z-index: 999999;
9290   }
9291   
9292   .bitlogin-popup-overlay.visible {
9293     opacity: 1;
9294   }
9295   
9296   .bitlogin-popup {
9297     background: #FFFFFF;
9298     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
9299     border-radius: 16px;
9300     width: 100%;
9301     max-width: 560px;
9302     display: flex;
9303     overflow: hidden;
9304     position: relative;
9305     opacity: 0;
9306     transform: translateY(20px) scale(0.98);
9307     transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
9308   }
9309   
9310   .bitlogin-popup.visible {
9311     opacity: 1;
9312     transform: translateY(0) scale(1);
9313   }
9314   
9315   .bitlogin-popup-with-image {
9316     max-width: 640px;
9317   }
9318   
9319   .bitlogin-popup-right-image {
9320     flex-direction: row-reverse;
9321   }
9322   
9323   .bitlogin-popup-image {
9324     object-fit: cover;
9325     width: 50%;
9326     height: auto;
9327   }
9328   
9329   .bitlogin-popup-content {
9330     padding: 32px;
9331     position: relative;
9332     width: 50%;
9333   }
9334   
9335   .bitlogin-popup-close {
9336     position: absolute;
9337     top: 16px;
9338     right: 16px;
9339     background: white;
9340     border: none;
9341     width: 30px;
9342     height: 30px;
9343     display: flex;
9344     align-items: center;
9345     justify-content: center;
9346     cursor: pointer;
9347     transition: background-color 0.2s;
9348     color: inherit;
9349     padding: 0;
9350   }
9351   
9352   .bitlogin-popup-close:hover {
9353     background-color: #e5e5e5;
9354   }
9355   
9356   .bitlogin-popup-buttons {
9357     display: flex;
9358     flex-direction: column;
9359     gap: 12px;
9360     margin-top: 24px;
9361   }
9362   
9363   /* Button styles within popup - override width for popup buttons */
9364   .bitlogin-popup-buttons #google-login,
9365   .bitlogin-popup-buttons #facebook-login,
9366   .bitlogin-popup-buttons #apple-login,
9367   .bitlogin-popup-buttons #whatsapp-login,
9368   .bitlogin-popup-buttons #microsoft-login,
9369   .bitlogin-popup-buttons #twitter-login,
9370   .bitlogin-popup-buttons #amazon-login,
9371   .bitlogin-popup-buttons #instagram-login,
9372   .bitlogin-popup-buttons #magic-link-login,
9373   .bitlogin-popup-buttons #mobile-app-login {
9374     width: 100% !important;
9375     font-family: inherit !important;
9376   }
9377   
9378   .bitlogin-popup-footer {
9379     margin-top: 32px;
9380     text-align: center;
9381     font-size: 14px;
9382     opacity: 0.6;
9383   }
9384   
9385   /* Modern Typography */
9386   .bitlogin-popup h2 {
9387     margin-top: 12px;
9388     font-size: 21px !important;
9389     line-height: 1.2 !important;
9390     font-weight: 700 !important;
9391     letter-spacing: -0.02em !important;
9392     margin-bottom: 16px !important;
9393   }
9394   
9395   .bitlogin-popup-header {
9396     position: relative;
9397     margin-bottom: 24px;
9398   }
9399   
9400   /* Modern gradient accent */
9401   .bitlogin-popup-content > div {
9402     font-size: 16px !important;
9403     line-height: 1.2 !important;
9404     opacity: 0.85 !important;
9405   }
9406   
9407   /* Enhanced button interactions */
9408   .bitlogin-popup-buttons button {
9409     position: relative;
9410     overflow: hidden;
9411   }
9412   
9413   @keyframes ripple {
9414     0% {
9415       transform: scale(0, 0);
9416       opacity: 0.5;
9417     }
9418     100% {
9419       transform: scale(100, 100);
9420       opacity: 0;
9421     }
9422   }
9423   
9424   /* Responsive adjustments */
9425   @media (max-width: 640px) {
9426     .bitlogin-popup {
9427       max-width: 90%;
9428       width: 90%;
9429       margin: 0 16px;
9430     }
9431     
9432     .bitlogin-popup-with-image {
9433       flex-direction: column !important;
9434     }
9435     
9436     .bitlogin-popup-image {
9437       width: 100%;
9438       height: 180px;
9439     }
9440     
9441     .bitlogin-popup-content {
9442       padding: 24px;
9443     }
9444     
9445     .bitlogin-popup h2 {
9446       font-size: 24px !important;
9447     }
9448   }
9449 `;
9450 
9451 document.head.appendChild(popupStyles);
9452 
9453 // Add fonts link for different font options
9454 const fontsLink = document.createElement('link');
9455 fontsLink.rel = 'stylesheet';
9456 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';
9457 document.head.appendChild(fontsLink);
9458 
9459 (async () => {
9460   try {
9461     let host = window.location.host;
9462     if (host === "admin.shopify.com") {
9463       host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
9464     }
9465 
9466     const urlSearchParams = new URLSearchParams(window.location.search);
9467     const checkoutUrl = urlSearchParams.get("checkout_url");
9468 
9469     async function init({ inputRef, index }) {
9470       if (isInitializing) {
9471         queue.push(() => init({ inputRef, index }));
9472         return;
9473       }
9474 
9475       isInitializing = true;
9476 
9477       try {
9478         let bitLoginSectionRoot = document.querySelector(
9479           `.bitlogin-root[data-index="${index}"]`
9480         );
9481 
9482         const formRef = inputRef?.closest(
9483           "form:not([action='/account/recover'])"
9484         );
9485 
9486         if (formRef && !bitLoginSectionRoot) {
9487           await getLocation();
9488 
9489           bitLoginSectionRoot = document.createElement(`div`);
9490 
9491           bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
9492           bitLoginSectionRoot.setAttribute("data-index", `${index}`);
9493 
9494           updateAppearance({
9495             formRef,
9496             rootRef: bitLoginSectionRoot,
9497             host,
9498           });
9499         }
9500       } catch (err) {
9501         console.error(`error while initiating bitlogin extensions`, err);
9502       } finally {
9503         // Release the lock
9504         isInitializing = false;
9505 
9506         // Check if there are pending items in the queue
9507         if (queue.length > 0) {
9508           // Process the next function in the queue
9509           const nextFunction = queue.shift();
9510           nextFunction();
9511         }
9512       }
9513     }
9514 
9515     function initAll() {
9516       return new Promise((resolve, reject) => {
9517         setTimeout(async () => {
9518           const inputRefs = document.querySelectorAll(
9519             'input[name="customer[email]"]'
9520           );
9521 
9522           for (let i = 0; i < inputRefs.length; i++) {
9523             const currentInputRef = inputRefs[i];
9524             const isVisible = isElementVisible(currentInputRef);
9525 
9526             if (isVisible) {
9527               await init({ inputRef: currentInputRef, index: i });
9528             }
9529           }
9530 
9531           resolve("ok");
9532         }, 100);
9533       });
9534     }
9535 
9536     const observer = new MutationObserver((mutationsList) => {
9537       for (let mutation of mutationsList) {
9538         initAll();
9539       }
9540     });
9541 
9542     observer.observe(document.body, {
9543       childList: true,
9544       subtree: true,
9545       attributes: true,
9546     });
9547 
9548     initAll();
9549 
9550     if (appearance.googleOneTap) {
9551       setupOneTap({ host, checkoutUrl });
9552     }
9553 
9554     // Initialize popup
9555     await initPopup(host);
9556   } catch (error) {
9557     console.error("Error initializing BitLogin:", error);
9558   }
9559 })();
9560 
9561 async function initPopup(host) {
9562   // Check if user is already logged in using Liquid checks properly
9563   const isLoggedIn = false || 
9564                     document.querySelector('.customer-logout-link') || 
9565                     document.querySelector('.account-link') || 
9566                     window.location.pathname.includes('/account');
9567   
9568   if (isLoggedIn) {
9569     return; // User is logged in, don't show popup
9570   }
9571 
9572   try {
9573     // Fetch the popup configuration
9574     const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
9575       .then(res => res.json())
9576       .catch(err => {
9577         console.error('Error fetching popup configuration:', err);
9578         return null;
9579       });
9580 
9581     if (!popupConfig || !popupConfig.enabled) {
9582       return;
9582 // Don't show popup if disabled or config not found
9583     }
9584 
9585     // Create popup after 10 seconds
9586     setTimeout(() => {
9587       // Check if user is still on the page and still not logged in
9588       if (document.visibilityState === 'visible') {
9589         // Additional check in case user logged in during the 10 second wait
9590         const currentlyLoggedIn = false || 
9591                               document.querySelector('.customer-logout-link') || 
9592                               document.querySelector('.account-link');
9593         
9594         if (!currentlyLoggedIn) {
9595           createLoginPopup(popupConfig, host);
9596         }
9597       }
9598     }, 10000);
9599   } catch (error) {
9600     console.error('Error initializing popup:', error);
9601   }
9602 }
9603 
9604 function createLoginPopup(popupConfig, host) {
9605   // Font mapping
9606   const fontFamilyMap = {
9607     system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
9608     montserrat: 'Montserrat, sans-serif',
9609     roboto: 'Roboto, sans-serif',
9610     open_sans: 'Open Sans, sans-serif',
9611     noto_sans: 'Noto Sans, sans-serif',
9612     lato: 'Lato, sans-serif',
9613     poppins: 'Poppins, sans-serif',
9614     quicksand: 'Quicksand, sans-serif',
9615     raleway: 'Raleway, sans-serif',
9616     pt_sans: 'PT Sans, sans-serif',
9617     oswald: 'Oswald, sans-serif',
9618   };
9619 
9620   // Create overlay
9621   const overlay = document.createElement('div');
9622   overlay.className = 'bitlogin-popup-overlay';
9623   
9624   // Create popup container with appropriate styling
9625   const popup = document.createElement('div');
9626   popup.className = 'bitlogin-popup';
9627 
9628   if (popupConfig.layout === 'default') {
9629     popup.style.maxWidth = '400px';
9630   }
9631   
9632   // Function to close the popup
9633   const closePopup = () => {
9634     overlay.classList.remove('visible');
9635     popup.classList.remove('visible');
9636     setTimeout(() => {
9637       if (document.body.contains(overlay)) {
9638         document.body.removeChild(overlay);
9639       }
9640     }, 300);
9641   };
9642   
9643   // Add click handler to the overlay to close when clicking outside
9644   overlay.addEventListener('click', (event) => {
9645     // Close only if clicking directly on the overlay, not its children
9646     if (event.target === overlay) {
9647       closePopup();
9648     }
9649   });
9650   
9651   // Add escape key handler to close popup
9652   document.addEventListener('keydown', (event) => {
9653     if (event.key === 'Escape' && document.body.contains(overlay)) {
9654       closePopup();
9655     }
9656   });
9657 
9658   // Create layout with image if specified
9659   let contentWrapper;
9660   if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
9661     popup.classList.add('bitlogin-popup-with-image');
9662     
9663     if (popupConfig.layout === 'right') {
9664       popup.classList.add('bitlogin-popup-right-image');
9665     }
9666     
9667     // Add image
9668     const image = document.createElement('img');
9669     image.className = 'bitlogin-popup-image';
9670     image.src = popupConfig.popupImage;
9671     image.alt = 'Login';
9672     image.loading = 'lazy';
9673     popup.appendChild(image);
9674     
9675     // Create content container
9676     contentWrapper = document.createElement('div');
9677     contentWrapper.className = 'bitlogin-popup-content';
9678 
9679     if (popupConfig.layout === 'right') {
9680       const closeButton = document.createElement('button');
9681       closeButton.className = 'bitlogin-popup-close';
9682       closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif">
9683         <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9684       </svg>`;
9685       closeButton.setAttribute('aria-label', 'Close');
9686       closeButton.onclick = closePopup;
9687   
9688       popup.appendChild(closeButton);
9689     }
9690   } else {
9691     contentWrapper = document.createElement('div');
9692     contentWrapper.className = 'bitlogin-popup-content';
9693     contentWrapper.style.width = '100%';
9694   }
9695 
9696   // Set background style
9697   if (popupConfig.backgroundTheme === 'gradient') {
9698     contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
9699   } else {
9700     contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
9701   }
9702 
9703   // Apply font family
9704   contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
9705 
9706   if (popupConfig.layout !== 'right') {
9707     const closeButton = document.createElement('button');
9708     closeButton.className = 'bitlogin-popup-close';
9709     closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://img
9709saya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif">
9710       <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9711     </svg>`;
9712     closeButton.setAttribute('aria-label', 'Close');
9713     closeButton.onclick = closePopup;
9714   
9715     contentWrapper.appendChild(closeButton);
9716   }
9717 
9718   // Add heading with subtle animation effect
9719   const header = document.createElement('div');
9720   header.className = 'bitlogin-popup-header';
9721   
9722   const heading = document.createElement('h2');
9723   heading.textContent = popupConfig.headingText || 'Sign in for exclusive benefits';
9724   heading.style.color = popupConfig.fontColor;
9725   header.appendChild(heading);
9726 
9727   // Add body text with improved formatting
9728   const bodyText = document.createElement('div');
9729   bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
9730   bodyText.style.color = popupConfig.fontColor;
9731   header.appendChild(bodyText);
9732   
9733   contentWrapper.appendChild(header);
9734 
9735   // Create buttons container with modern styling
9736   const buttonsContainer = document.createElement('div');
9737   buttonsContainer.className = 'bitlogin-popup-buttons';
9738   
9739   // Add social buttons
9740   const providerLabels = {
9741     'GOOGLE': 'Continue with Google',
9742     'FACEBOOK': 'Continue with Facebook',
9743     'APPLE': 'Continue with Apple',
9744     'WHATSAPP': 'Continue with WhatsApp',
9745     'MAGIC_LINK': 'Continue with Email',
9746   };
9747 
9748   // Add first login provider button
9749   if (popupConfig.loginProvider1 !== 'NONE') {
9750     const buttonConfig = {
9751       theme: popupConfig.colorScheme || 'match',
9752       customColor: popupConfig.textColor,
9753       format: 'contentFlex',
9754       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
9755       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9756       style: popupConfig.style || 'rounded',
9757       size: popupConfig.size || 'medium',
9758       colorScheme: popupConfig.colorScheme || 'match',
9759       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9760       textColor: popupConfig.textColor || '#FFFFFF',
9761       outlineColor: popupConfig.outlineColor || '#3B82F6',
9762       host: host
9763     };
9764     
9765     const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
9766     
9767     // Handle click event - this overrides the default click handler in createSocialLoginButton
9768     button1.onclick = () => {
9769       onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
9770       closePopup();
9771     };
9772     
9773     buttonsContainer.appendChild(button1);
9774   }
9775 
9776   // Add second login provider button if enabled
9777   if (popupConfig.loginProvider2 !== 'NONE') {
9778     const buttonConfig = {
9779       theme: popupConfig.colorScheme || 'match',
9780       customColor: popupConfig.textColor,
9781       format: 'contentFlex',
9782       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
9783       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9784       style: popupConfig.style || 'rounded',
9785       size: popupConfig.size || 'medium',
9786       colorScheme: popupConfig.colorScheme || 'match',
9787       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9788       textColor: popupConfig.textColor || '#FFFFFF',
9789       outlineColor: popupConfig.outlineColor || '#3B82F6',
9790       host: host
9791     };
9792     
9793     const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
9794     
9795     // Handle click event - this overrides the default click handler in createSocialLoginButton
9796     button2.onclick = () => {
9797       onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
9798       closePopup();
9799     };
9800     
9801     buttonsContainer.appendChild(button2);
9802   }
9803 
9804   contentWrapper.appendChild(buttonsContainer);
9805 
9806   // Append content to popup
9807   popup.appendChild(contentWrapper);
9808   
9809   // Append popup to overlay
9810   overlay.appendChild(popup);
9811   
9812   // Append overlay to body
9813   document.body.appendChild(overlay);
9814   
9815   // Trigger animation with slight delay for better perceived performance
9816   setTimeout(() => {
9817     overlay.classList.add('visible');
9818     setTimeout(() => {
9819       popup.classList.add('visible');
9820     }, 50);
9821   }, 10);
9822 }
9823 
9824 window.addEventListener("load", () => {
9825   window.addEventListener("message", (event) => {
9826     const receivedData = event.data;
9827 
9828     if (receivedData.type === "authorize") {
9829       post(
9830         JSON.parse(
9831           JSON.stringify({
9832             "customer[email]": receivedData.email,
9833             "customer[password]": receivedData.password,
9834             form_type: "customer_login",
9835             utf8: "✓",
9836             return_url: redirectUrl,
9837           })
9838         )
9839       );
9840     } else if (receivedData.type === "rejected") {
9841       if (receivedData.reason === "customer_account_disabled") {
9842         showAlert(
9843           "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
9844         );
9845       } else if (receivedData.reason === "customer_entry_created_email_not_set") {
9846         showAlert(
9847           "A new account was created but requires an email address. Please update your account with a valid email address to continue."
9848         );
9849       } else if (receivedData.reason === "customer_exist_email_not_set") {
9850         showAlert(
9851           "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
9852         );
9853       }
9854     }
9855 
9856     if (receivedData.type === "customer_authenticated") {
9857       // Dispatch a custom event that merchants can listen for to implement their custom logic
9858       const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
9859         detail: {
9860           provider: receivedData.provider,
9861           customer: receivedData.customer,
9862           shopifyCustomerCreated: receivedData.shopifyCustomerCreated
9863         }
9864       });
9865       
9866       // Dispatch the event on the window object so merchants can listen for it
9867       window.dispatchEvent(customerAuthEvent);
9868       
9869     }
9870   });
9871 });
9872 
9873 // Reusable functions for social login buttons
9874 function createSocialLoginButton(provider, config = {}) {
9875   const {
9876     theme = 'match',
9877     customColor = null,
9878     format = 'contentFlex',
9879     buttonText = null,
9880     hasShadow = true,
9881     style = 'rounded',
9882     size = 'medium',
9883     colorScheme = 'match',
9884     backgroundColor = '#3B82F6',
9885     textColor = '#FFFFFF',
9886     outlineColor = '#3B82F6',
9887     rootRef = null,
9888     host = null
9889   } = config;
9890   
9891   // Create button element with appropriate ID and attributes
9892   const button = document.createElement('button');
9893   button.id = `${provider.toLowerCase()}-login`;
9894   button.type = 'button';
9895   
9896   // Set the inner SVG based on provider
9897   switch (provider.toUpperCase()) {
9898     case 'GOOGLE':
9899       button.innerHTML = googleLoginIcon(theme, customColor);
9900       break;
9901     case 'FACEBOOK':
9902       button.innerHTML = facebookLoginIcon(theme, customColor);
9903       break;
9904     case 'APPLE':
9905       button.innerHTML = appleLoginIcon(theme, customColor);
9906       break;
9907     case 'WHATSAPP':
9908       button.innerHTML = whatsappLoginIcon(theme, customColor);
9909       break;
9910     case 'MICROSOFT':
9911       button.innerHTML = microsoftLoginIcon(theme, customColor);
9912       break;
9913     case 'TWITTER':
9914       button.innerHTML = twitterLoginIcon(theme, customColor);
9915       break;
9916     case 'AMAZON':
9917       button.innerHTML = amazonLoginIcon(theme, customColor);
9918       break;
9919     case 'INSTAGRAM':
9920       button.innerHTML = instagramLoginIcon(theme, customColor);
9921       break;
9922     case 'MAGIC_LINK':
9923       button.innerHTML = magicLinkLoginIcon(theme, customColor);
9924       break;
9925     case 'MOBILE_APP':
9926       button.innerHTML = mobileAppLoginIcon(theme, customColor);
9927       break;
9928     case 'LINKEDIN':
9929       button.innerHTML = linkedinLoginIcon(theme, customColor);
9930       break;
9931   }
9932   
9933   // Add text if format isn't icon-only and buttonText is provided
9934   if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
9935     button.innerHTML += `<p>${buttonText}</p>`;
9936   }
9937   
9938   // Apply styling
9939   // Shadow
9940   if (hasShadow) {
9941     const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
9942     button.style["box-shadow"] = shadowProperties;
9943   }
9944   
9945   // Border radius
9946   const radiusProperties =
9947     style === "rounded"
9948       ? "8px"
9949       : style === "square"
9950       ? "0px"
9951       : style === "fullRounded"
9952       ? format === "wrapperFlexContainerOnlyLogo"
9953         ? "50%"
9954         : "50px"
9955       : undefined;
9956   button.style["border-radius"] = radiusProperties;
9957   
9958   // Size
9959   const sizeProperties =
9960     size === "medium"
9961       ? "12px"
9962       : size === "small"
9963       ? "8px"
9964       : size === "large"
9965       ? "16px"
9966       : "8px";
9967 
9968   button.style["padding-block"] = sizeProperties;
9969 
9970   // Format styling
9971   if (format) {
9972     if (
9973       format === "contentFlexReverse" ||
9974       format === "contentFlexCenterReverse"
9975     ) {
9976       const flexDir = `row-reverse`;
9977       button.style["flex-direction"] = flexDir;
9978     }
9979     
9980     if (
9981       format === "contentFlexCenter" ||
9982       format === "contentFlexCenterReverse"
9983     ) {
9984       const justifyContent = `center`;
9985       button.style["justify-content"] = justifyContent;
9986     } else if (
9987       format === "contentFlex" ||
9988       format === "contentFlexReverse"
9989     ) {
9990       const buttonTextElement = button.querySelector("p");
9991       if (buttonTextElement) {
9992         buttonTextElement.style["flex-grow"] = 1;
9993         buttonTextElement.style["text-align"] = "center";
9994       }
9995     }
9996 
9997     if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
9998       rootRef.style["flex-direction"] = "row";
9999       rootRef.style["gap"] = "8px";
10000       rootRef.style["display"] = "flex";
10001       rootRef.style["flex-wrap"] = "wrap";
10002 
10003       const sizeMapping = {
10004         small: "52px",
10005         medium: "62px",
10006         large: "72px",
10007       };
10008       const buttonSize = sizeMapping[size] || "52px";
10009 
10010       button.style["margin"] = 0;
10011       button.style["width"] = buttonSize;
10012       button.style["height"] = buttonSize;
10013       button.style["display"] = "flex";
10014       button.style["align-items"] = "center";
10015       button.style["justify-content"] = "center";
10016 
10017       const svgElement = button.querySelector("svg");
10018       if (svgElement) {
10019         svgElement.style["flex"] = "none";
10020       }
10021     }
10022   }
10023 
10024   // Color scheme styling
10025   if (colorScheme === "black") {
10026     button.classList.add("scheme-black");
10027   } else if (colorScheme === "white") {
10028     button.classList.add("scheme-white");
10029   } else if (colorScheme === "custom") {
10030     button.style["background-color"] = backgroundColor;
10031     button.style["color"] = textColor;
10032     button.style["border-color"] = outlineColor;
10033 
10034     const darkenColor = (color, percentage) => {
10035       const value = parseInt(color.slice(1), 16);
10036       const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
10037       const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
10038       const b = Math.max(0, (value & 0xff) - (0xff * percentage));
10039       return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
10040     };
10041 
10042     button.addEventListener("mouseover", () => {
10043       button.style["background-color"] = darkenColor(backgroundColor, 0.2);
10044     });
10045     button.addEventListener("mouseout", () => {
10046       button.style["background-color"] = backgroundColor;
10047     });
10048   } else if (colorScheme === "match") {
10049     button.classList.add("scheme-match");
10050   } else if (colorScheme === "matchOutline") {
10051     button.classList.add("scheme-match-outline");
10052   }
10053   
10054   // Add click event listener if host is provided
10055   if (host) {
10056     button.addEventListener("click", () => 
10057       onClickSocialLogin({ provider: provider.toLowerCase(), host })
10058     );
10059   }
10060   
10061   return button;
10062 }
10063 
10064 function setupSocialLoginButtons(config, rootRef, data, host) {
10065   // Clear any existing content
10066   rootRef.innerHTML = '';
10067 
10068   const sortedEnabledProviders = config
10069     .filter(c => c.enabledWeb)
10070     .sort((a, b) => a.position - b.position);
10071 
10072   sortedEnabledProviders.forEach(provider => {
10073     const key = provider.provider;
10074     const lowerKey = key.toLowerCase();
10075 
10076     const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
10077       ? (lowerKey === 'twitter'
10078           ? data.buttonList.twitter.replace('Twitter', 'X')
10079           : data.buttonList[lowerKey])
10080       : null;
10081 
10082     const button = createSocialLoginButton(key, {
10083       theme: data.colorScheme || 'match',
10084       customColor: data.textColor,
10085       format: data.format,
10086       buttonText: buttonText,
10087       hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
10088       style: data.style,
10089       size: data.size,
10090       colorScheme: data.colorScheme,
10091       backgroundColor: data.backgroundColor,
10092       textColor: data.textColor,
10093       outlineColor: data.outlineColor,
10094       rootRef: rootRef,
10095       host: host
10096     });
10097 
10098     rootRef.appendChild(button);
10099   });
10100 
10101   return rootRef;
10102 }
10103 
10104 function updateAppearance({ formRef, rootRef, host }) {
10105   if (!formRef) return;
10106 
10107   const data = bitloginCache.appearance || {
10108     style: "square",
10109     hasShadow: false,
10110     colorScheme: "match",
10111     backgroundColor: "#FFFFFF",
10112     outlineColor: "#000000",
10113     textColor: "#000000",
10114     position: "bottom",
10115     hideDivider: "false",
10116     dividerText: "OR",
10117     size: "small",
10118     format: "contentFlex",
10119     language: "en",
10120     buttonText: "Continue with",
10121     redirectLink: "/account",
10122     googleOneTap: true,
10123     googleOneTapBanner: true,
10124     customerTag: "bitLogin",
10125     redirectOneTapDesktop: null,
10126     redirectOneTapMobile: null,
10127     buttonList: {
10128       google: "Continue with Google",
10129       facebook: "Continue with Facebook",
10130       apple: "Continue with Apple",
10131       whatsapp: "Continue with WhatsApp",
10132       microsoft: "Continue with Microsoft",
10133       twitter: "Continue with X",
10134       amazon: "Continue with Amazon",
10135       instagram: "Continue with Instagram",
10136       magic_link: "Continue with Magic Link",
10137       mobile_app: "Continue with Mobile App",
10138       linkedin: "Continue with LinkedIn",
10139     },
10140   };
10141 
10142   // Use the new setupSocialLoginButtons function to create and configure all buttons
10143   setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
10144 
10145   let divider;
10146 
10147   if (!data.hideDivider) {
10148     divider = document.createElement("div");
10149     const dividerStyle = "text-align:center;margin-block:16px";
10150     divider.setAttribute("style", dividerStyle);
10151     divider.innerHTML = data.dividerText;
10152   }
10153 
10154   if (data.position === "bottom") {
10155     if (divider) {
10156       formRef.appendChild(divider);
10157     }
10158     formRef.appendChild(rootRef);
10159   } else if (data.position === "top") {
10160     if (divider) {
10161       formRef.prepend(divider);
10162     }
10163     formRef.prepend(rootRef);
10164   }
10165 }
10166 
10167 
10168 async function onClickSocialLogin({ provider, host }) {
10169   const rand = Math.random().toString();
10170 
10171   const locationQueryString = bitloginCache.location
10172     ? `&${objectToQueryString(bitloginCache.location)}`
10173     : "";
10174 
10175   const width = 800;
10176   const height = 600;
10177   const left = (window.screen.width / 2) - (width / 2);
10178   const top = (window.screen.height / 2) - (height / 2) - 50;
10179 
10180   if(provider === 'whatsapp') {
10181     window.open(
10182       `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
10183       "mywindow",
10184       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10185     );
10186   } else {
10187     window.open(
10188       `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
10189       "mywindow",
10190       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10191     );
10192   }
10193 }
10194 
10195 function objectToQueryString(obj) {
10196   return Object.keys(obj)
10197     .map((key) => {
10198       return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
10199     })
10200     .join("&");
10201 }
10202 
10203 async function getLocation() {
10204   if (locationCacheSet) return;
10205 
10206   try {
10207     const response = await fetch("https://ipapi.co/json/");
10208 
10209     if (!response.ok) {
10210       console.error(`error retrieving location...`, response.status);
10211       errorLocation = true;
10212     } else {
10213       const data = await response.json();
10214 
10215       const { city, region, country_name, country_code } = data;
10216 
10217       const formattedLocationData = {
10218         city,
10219         region,
10220         country_name,
10221         country_code,
10222       };
10223 
10224       bitloginCache.location = formattedLocationData;
10225       locationCacheSet = true;
10226       errorLocation = false;
10227     }
10228   } catch (err) {
10229     console.error(`error fetching location`, err);
10230     errorLocation = true;
10231   }
10232 }
10233 
10234 function post(params) {
10235   // The rest of this code assumes you are not using a library.
10236   // It can be made less verbose if you use one.
10237   const form = document.createElement("form");
10238   form.method = "post";
10239   form.action = `/account/login`;
10240   form.acceptCharset = "UTF-8";
10241   form.setAttribute("data-login-with-shop-sign-in", "true");
10242   form.setAttribute("novalidate", "novalidate");
10243 
10244   for (const key in params) {
10245     if (params.hasOwnProperty(key)) {
10246       const hiddenField = document.createElement("input");
10247       hiddenField.type = "hidden";
10248       hiddenField.name = key;
10249       hiddenField.value = params[key];
10250 
10251       form.appendChild(hiddenField);
10252     }
10253   }
10254 
10255   document.body.appendChild(form);
10256   form.submit();
10257 }
10258 
10259 async function setupOneTap({ host, checkoutUrl }) {
10260   if (oneTapSet) return;
10261 
10262   const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
10263   const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
10264 
10265   const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
10266   const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
10267 
10268   const currentPath = window.location.pathname.toLowerCase();
10269   const currentUrl = window.location.href.toLowerCase();
10270 
10271   const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
10272     switch (value) {
10273       case 'home':
10274         return currentPath === '/';
10275       case 'product':
10276         return currentPath.startsWith('/products/');
10277       case 'collections':
10278         return currentPath.startsWith('/collections');
10279       case 'cart':
10280         return currentPath === '/cart';
10281       case 'checkout':
10282         return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
10283       case 'thank_you':
10284         return currentPath.includes('/thank_you');
10285       case 'account':
10286         return currentPath.startsWith('/account');
10287       case 'pages':
10288         return currentPath.startsWith('/pages');
10289       case 'blogs':
10290         return currentPath === '/blogs' || currentPath === '/blogs/news';
10291       case 'blog_post':
10292         return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
10293       default:
10294         return false;
10295     }
10296   });
10297 
10298   if (shouldHideGoogleOneTap) return;
10299 
10300   const oneTapClientId = bitloginCache.config.find(
10301     (config) => config.provider === "GOOGLE"
10302   )?.clientId;
10303 
10304   const isLoggedIn = false;
10305 
10306   if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
10307     const googleOneTapButton = document.createElement("div");
10308     googleOneTapButton.setAttribute("id", "g_id_onload");
10309     googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
10310     googleOneTapButton.setAttribute("data-context", "signin");
10311     googleOneTapButton.setAttribute(
10312       "data-callback",
10313       "handleGoogleOneTapResponse"
10314     );
10315     googleOneTapButton.setAttribute("data-itp_support", "true");
10316 
10317     const googleOneTapScript = document.createElement("script");
10318 
10319     googleOneTapScript.innerHTML += `
10320           function handleGoogleOneTapResponse(response) {
10321               if (response.credential) {
10322                   const idToken = response.credential;
10323                   fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
10324                       method: 'POST',
10325                       headers: { 'Content-Type': 'application/json' },
10326                       body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
10327                   }).then(response => {
10328                       response.json().then((data) => {
10329                         post(
10330                           JSON.parse(
10331                             JSON.stringify({
10332                               "customer[email]": data.email,
10333                               "customer[password]": data.password,
10334                               form_type: "customer_login",
10335                               utf8: "✓",
10336                               return_url: redirectUrl,
10337                             })
10338                           )
10339                         );
10340                       });  
10341                   }).catch(error => {
10342                       console.error('Error occurred:', error);
10343                   });
10344               } else {
10345                   console.error('No credential available');
10346               }
10347           }
10348        `;
10349 
10350     document.body.append(googleOneTapButton);
10351     document.body.append(googleOneTapScript);
10352   }
10353 
10354   oneTapSet = true;
10355 }
10356 
10357 const googleLoginIcon = (
10358   theme,
10359   customColor
10360 ) => `
10361 ${
10362   theme === "match" || theme === "matchOutline" || theme === "custom"
10363     ? `<svg
10364     xmlns='https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif'
10365     xmlns:v='https://vecta.io/nano'
10366     width='24'
10367     height='24'
10368     viewBox='0 0 186.69 190.5'
10369   >
10370     <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="${
10371       theme === "custom" ? customColor : "#4285f4"
10372     }"/><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="${
10373         theme === "custom" ? customColor : "#34a853"
10374       }"/><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="${
10375         theme === "custom" ? customColor : "#fbbc05"
10376       }"/><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="${
10377         theme === "custom" ? customColor : "#ea4335"
10378       }" clip-path="none" mask="none"/></g>
10379   </svg>`
10380     : `<svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="25" height="25" viewBox="0 0 25 25" fill="none">
10381 <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="${
10382         theme !== "black" ? "black" : "white"
10383       }"/>
10384 <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="${
10385         theme !== "black" ? "black" : "white"
10386       }"/>
10387 <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="${
10388         theme !== "black" ? "black" : "white"
10389       }"/>
10390 <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="${
10391         theme !== "black" ? "black" : "white"
10392       }"/>
10393 </svg>`
10394 }`;
10395 
10396 const appleLoginIcon = (
10397   theme,
10398   customColor
10399 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif">
10400 <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="${
10401   theme === "custom"
10402     ? customColor
10403     : theme === "match" || theme === "black"
10404     ? "white"
10405     : "black"
10406 }"/>
10407 </svg>`;
10408 
10409 const facebookLoginIcon = (
10410   theme,
10411   customColor
10412 ) => `
10413 ${
10414   theme === "match" || theme === "matchOutline" || theme === "custom"
10415     ? `<svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="25" viewBox="0 0 24 25" fill="none">
10416     <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="${
10417       theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3"
10418     }"/>
10419     <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="${
10420       theme === "match" ? "#1778f2" : "transparent"
10421     }"/>
10422     </svg>`
10423     : `<svg xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif" width="24" height="25" viewBox="0 0 24 25" fill="none">
10424 <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="${
10425         theme === "black" ? "white" : "black"
10426       }"/>
10427 <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="${
10428         theme === "black" ? "black" : "white"
10429       }"/>
10430 </svg>`
10431 }`;
10432 
10433 const whatsappLoginIcon = (
10434   theme,
10435   customColor
10436 ) => `<svg
10437   viewBox="0 0 24 24"
10438   fill="none"
10439   width="24"
10440   height="25"
10441   xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif"
10442 >
10443   <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
10444   <g
10445     id="SVGRepo_tracerCarrier"
10446     stroke-linecap="round"
10447     stroke-linejoin="round"
10448   ></g>
10449   <g id="SVGRepo_iconCarrier">
10450     <path
10451       fill-rule="evenodd"
10452       clip-rule="evenodd"
10453       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"
10454       fill="${
10455         theme === "match" || theme === "black"
10456           ? "#ffffff"
10457           : theme === "white"
10458           ? "#000000"
10459           : theme === "matchOutline"
10460           ? "#25d366"
10461           : customColor
10462       }"
10463     ></path>
10464   </g>
10465 </svg>`;
10466 
10467 const microsoftLoginIcon = (
10468   theme,
10469   customColor
10470 ) => `<svg
10471 xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif"
10472 width="25"
10473 height="25"
10474 viewBox="0 0 48 48">
10475 <path fill="${
10476   theme === "match" || theme == "matchOutline"
10477     ? "#ff5722"
10478     : theme === "black"
10479     ? "#ffffff"
10480     : theme === "white"
10481     ? "#000000"
10482     : customColor
10483 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
10484 <path
10485   fill="${
10486     theme === "match" || theme == "matchOutline"
10487       ? "#4caf50"
10488       : theme === "black"
10489       ? "#ffffff"
10490       : theme === "white"
10491       ? "#000000"
10492       : customColor
10493   }"
10494   d="M26 6H42V22H26z"
10495   transform="rotate(-180 34 14)"></path>
10496 <path
10497   fill="${
10498     theme === "match" || theme == "matchOutline"
10499       ? "#ffc107"
10500       : theme === "black"
10501       ? "#ffffff"
10502       : theme === "white"
10503       ? "#000000"
10504       : customColor
10505   }"
10506   d="M26 26H42V42H26z"
10507   transform="rotate(-180 34 34)"></path>
10508 <path fill="${
10509   theme === "match" || theme == "matchOutline"
10510     ? "#03a9f4"
10511     : theme === "black"
10512     ? "#ffffff"
10513     : theme === "white"
10514     ? "#000000"
10515     : customColor
10516 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
10517 </svg>`;
10518 
10519 const twitterLoginIcon = (
10520   theme,
10521   customColor
10522 ) => `<svg
10523 xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif"
10524 width="25"
10525 height="25"
10526 viewBox="0 0 48 48">
10527 <polygon fill="${
10528   theme === "match" || theme === "black"
10529     ? "#ffffff"
10530     : theme === "matchOutline" || theme === "white"
10531     ? "#000000"
10532     : customColor
10533 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
10534 <polygon
10535   fill="${
10536     theme === "match" || theme === "black"
10537       ? "#000000"
10538       : theme === "matchOutline" || theme === "white"
10539       ? "#ffffff"
10540       : customColor
10541   }"
10542   fill-rule="evenodd"
10543   points="31.143,41 7.82,7 16.777,7 40.1,41"
10544   clip-rule="evenodd"></polygon>
10545 <path
10546   fill="${
10547     theme === "match" || theme === "black"
10548       ? "#ffffff"
10549       : theme === "matchOutline" || theme === "white"
10550       ? "#000000"
10551       : customColor
10552   }"
10553   d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
10554 </svg>`;
10555 
10556 const amazonLoginIcon = (theme, customColor) => `
10557  <svg
10558       xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif"
10559       x="0px"
10560       y="0px"
10561       width="25"
10562       height="25"
10563       viewBox="0 0 50 50"
10564     >
10565       <path
10566         fill="${
10567           theme === "black"
10568             ? "#ffffff"
10569             : theme === "matchOutline"
10570             ? "#FF9900"
10571             : theme === "white" || theme === "match"
10572             ? "#000000"
10573             : customColor
10574         }"
10575         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"
10576       ></path>
10577     </svg>`;
10578 
10579 const instagramLoginIcon= (theme, customColor) => `
10580     <svg
10581       width="25"
10582       height="25"
10583       viewBox="0 0 25 24"
10584       fill="none"
10585       xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif">
10586       <path
10587         fill-rule="evenodd"
10588         clip-rule="evenodd"
10589         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.
1058964321C8.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"
10590         fill="url(#paint0_radial_378_3535)" />
10591       <path
10592         fill-rule="evenodd"
10593         clip-rule="evenodd"
10594         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"
10595         fill="url(#paint0_radial_378_3535)" />
10596       <path
10597         fill-rule="evenodd"
10598         clip-rule="evenodd"
10599         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.
1059964321C8.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"
10600         fill="url(#paint0_radial_378_3535)" />
10601       <path
10602         fill-rule="evenodd"
10603         clip-rule="evenodd"
10604         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"
10605         fill="url(#paint1_radial_378_3535)" />
10606       <defs>
10607         <radialGradient
10608           id="paint0_radial_378_3535"
10609           cx="0"
10610           cy="0"
10611           r="1"
10612           gradientUnits="userSpaceOnUse"
10613           gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
10614           <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
10615           <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
10616           <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
10617           <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
10618           <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
10619         </radialGradient>
10620         <radialGradient
10621           id="paint1_radial_378_3535"
10622           cx="0"
10623           cy="0"
10624           r="1"
10625           gradientUnits="userSpaceOnUse"
10626           gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
10627           <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
10628           <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
10629           <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
10630           <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
10631         </radialGradient>
10632       </defs>
10633     </svg>`;
10634 
10635 const magicLinkLoginIcon = (theme, customColor) => `
10636   <svg
10637     xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif"
10638     width="25"
10639     height="25"
10640     fill="none"
10641     viewBox="0 0 25 25"
10642   >
10643     <path
10644       fill="${
10645         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
10646       }"
10647       fillRule="evenodd"
10648       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"
10649       clipRule="evenodd"
10650     ></path>
10651   </svg>`;
10652 
10653 const mobileAppLoginIcon = (theme, customColor) => `
10654   <svg
10655     width="20"
10656     height="24"
10657     viewBox="0 0 12 16"
10658     fill="none"
10659     xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif"
10660   >
10661     <path
10662       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"
10663       fill=${
10664         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
10665       }
10666     />
10667   </svg>
10668 `;
10669 
10670 const linkedinLoginIcon = (theme, customColor) => `
10671   <svg
10672     xmlns="https://imgsaya3.io/images/2026/04/15/2026-GIF-RJB-PARTICLE.gif"
10673     width="25"
10674     height="24"
10675     viewBox="0 0 25 24"
10676     fill="none"
10677   >
10678     <path
10679       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"
10680       fill=${
10681         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
10682       }
10683     />
10684   </svg>
10685 `;
10686 
10687 function isElementVisible(element) {
10688   return (
10689     document.body.contains(element) &&
10690     getComputedStyle(element).display !== "none" &&
10691     getComputedStyle(element).visibility !== "hidden" &&
10692     getComputedStyle(element).opacity !== "0" &&
10693     !element.hasAttribute("hidden") &&
10694     !isAncestorHidden(element)
10695   );
10696 }
10697 
10698 function isAncestorHidden(element) {
10699   let parent = element.parentElement;
10700   while (parent) {
10701     if (
10702       getComputedStyle(parent).display === "none" ||
10703       getComputedStyle(parent).visibility === "hidden" ||
10704       getComputedStyle(parent).opacity === "0" ||
10705       parent.hasAttribute("hidden")
10706     ) {
10707       return true;
10708     }
10709     parent = parent.parentElement;
10710   }
10711   return false;
10712 }
10713 
10714 function showAlert(message) {
10715   const alertBox = document.createElement("div");
10716   alertBox.textContent = message;
10717   alertBox.style.position = "fixed";
10718   alertBox.style.top = "20px";
10719   alertBox.style.right = "-300px"; // Start off-screen
10720   alertBox.style.backgroundColor = "#000000"; // Black background
10721   alertBox.style.color = "#ffffff"; // White text
10722   alertBox.style.padding = "15px";
10723   alertBox.style.borderRadius = "8px";
10724   alertBox.style.zIndex = "1000";
10725   alertBox.style.transition =
10726     "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading
10727   alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth
10728 
10729   document.body.appendChild(alertBox);
10730 
10731   // Slide in
10732   requestAnimationFrame(() => {
10733     alertBox.style.right = "20px"; // Move into view
10734     alertBox.style.opacity = "1"; // Ensure opacity is set to 1
10735   });
10736 
10737   // Slide out and remove the alert after a few seconds
10738   setTimeout(() => {
10739     alertBox.style.opacity = "0"; // Fade out
10740     alertBox.style.right = "-300px"; // Move out of view
10741 
10742     // Wait for the transition to finish before removing the element
10743     setTimeout(() => {
10744       document.body.removeChild(alertBox);
10745     }, 500); // Match this duration with the exit transition duration
10746   }, 3000);
10747 }
10748 </script>
10748
10749 
10750 <style>
10751     .daftarku-fixed-footer {
10752             display: flex;
10753             justify-content: space-around;
10754             position: fixed;
10755             background: linear-gradient(to bottom, #000000 0%, #3d3d3d, #000000 100%);
10756             box-shadow: 0 0 12px #ffd700;
10757             outline: none;
10758             padding: 5px 0;
10759             box-shadow: 0 0 0 0 2px 2px #198f01;
10760             left: 0;
10761             right: 0;
10762             bottom: 0;
10763             z-index: 99;
10764             border-radius: 40px 40px 0px 0px;
10765             border-style:dashed;
10766             
10767         }
10768 
10769         .daftarku-fixed-footer a {
10770             flex-basis: calc((100% - 15px*6)/ 5);
10771             text-decoration: none;
10772             display: flex;
10773             flex-direction: column;
10774             justify-content: center;
10775             align-items: center;
10776             color: #fff;
10777             max-width: 75px;
10778             font-size: 12px;
10779             font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
10780         }
10781 
10782         .daftarku-fixed-footer a:hover {
10783             font-weight: bold;
10784         }
10785 
10786         .daftarku-fixed-footer .center {
10787             transform: scale(1.5) translateY(-5px);
10788             background: center no-repeat;
10789             background-size: contain;
10790             background-color: inherit;
10791             border-radius: 50%;
10792         }
10793 
10794         .daftarku-fixed-footer img {
10795             max-width: 20px;
10796             margin-bottom: 0;
10797             max-height: 20px;
10798         }
10799 </style>
10800     
10801     <div class="daftarku-fixed-footer">
10802     <a href="https://aman-aja-ces.pages.dev/" rel="nofollow noopener" target="_blank">
10803         <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/promo.png" alt="PROMOSI">
10804         PROMO
10805     </a>
10806     <a href="https://aman-aja-ces.pages.dev/" rel="nofollow noopener" target="_blank">
10807         <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/login.png" alt="LOGIN">
10808         LOGIN
10809     </a>
10810     <a href="https://aman-aja-ces.pages.dev/" rel="nofollow noopener" target="_blank" class="tada">
10811         <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/daftar.png" alt="DAFTAR">
10812         DAFTAR
10813     </a>
10814     <a href="https://aman-aja-ces.pages.dev/" rel="nofollow noopener" target="_blank">
10815         <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/08/27/icon-whatsapp.png" alt="WHATSAPP">
10816         WHATSAPP
10817     </a>
10818     <a href="https://aman-aja-ces.pages.dev/" rel="nofollow noopener" target="_blank"
10819         class="js_live_chat_link live-chat-link">
10820         <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/06/17/live-chat.png" alt="Live Chat">
10821         Live Chat
10822     </a>
10823 </div>
10824 </div>
10825 
10825<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: 1 bytes, line 10825
10825
10826<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: 1 bytes, line 10826
10826
10827<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"594dbefc921a4d56ab5bbd5f2944be03","r":1,"spa":2}' crossorigin="anonymous"></script>
10827
10828</body>
10829 </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.