PageSourceSearch

https://newjerseyjiujitsu.com/

html newjerseyjiujitsu.com collected 2026-10-07 13:37:01 UTC 684,123 bytes, 12,974 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="img/asepnggasihiconyoweswd.webp">
12      <!-- Title and description -->
13     <title>YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D</title>
14     <meta name="description" content="Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.">
15     <meta name="keywords" content="yoweswd, yowes wd, yoweswd login, yoweswd daftar, yoweswd alternatif" />
16     <link rel="canonical" href="https://newjerseyjiujitsu.com/">
17     <link rel="amphtml" href="https://said.newjerseyjiujitsu.com/"/>
18     <link rel="alternate" href="https://said.newjerseyjiujitsu.com/"> 
19     <link rel="alternate" href="https://said.newjerseyjiujitsu.com/" hreflang="id">
20     <link rel="alternate" href="https://said.newjerseyjiujitsu.com/" hreflang="en">
21     <link rel="alternate" href="https://said.newjerseyjiujitsu.com/" hreflang="en">
22     <link rel="alternate" href="https://said.newjerseyjiujitsu.com/" hreflang="x-default">
23     <link rel="alternate" hreflang="id-ID" href="https://said.newjerseyjiujitsu.com/" />
24     <link rel="alternate" hreflang="en-US" href="https://said.newjerseyjiujitsu.com/" />
25     <link rel="alternate" hreflang="en-SG" href="https://said.newjerseyjiujitsu.com/" />
26     <link rel="alternate" hreflang="x-default" href="https://said.newjerseyjiujitsu.com/" />
27     <!-- /snippets/social-meta-tags.liquid -->
28     <meta property="og:type" content="BANDAR TOGEL ONLINE">
29     <meta property="og:title" content="YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D">
30     <meta property="og:image" content="img/asepnggasihbenneryoweswd.webp">
31     <meta property="og:image:secure_url" content="img/asepnggasihbenneryoweswd.webp">
32     <meta property="og:image" content="img/asepnggasihbenneryoweswd.webp">
33     <meta property="og:image:secure_url" content="img/asepnggasihbenneryoweswd.webp">
34     <meta property="og:image" content="img/asepnggasihbenneryoweswd.webp">
35     <meta property="og:image:secure_url" content="img/asepnggasihbenneryoweswd.webp">
36     <meta property="og:description" content="Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.">
37     <meta property="og:price:amount" content="10,000-,">
38     <meta property="og:price:currency" content="IDR">
39     <meta property="og:url" content="https://said.newjerseyjiujitsu.com/">
40     <meta property="og:site_name" content="YOWESWD ">
41     <meta name="twitter:site" content="@YOWESWD ">
42     <meta name="twitter:card" content="summary">
43     <meta name="twitter:title" content="YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D">
44     <meta name="twitter:description" content="Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.">
45     <meta name="google-site-verification" content="W0E4R8cvKIykm63wvuBYQrY4yFLHf9QuF7IvJMJF0lI" />
46     <meta name="google-site-verification" content="LP6g_0lGm09ARWNGoPc01FpoSeQ9M7ggnu-Apto1yp0" />  
47     <meta name="google-site-verification" content="IA_MLfXjOoc7UD3FBhKWT1wizoMJkoeW2RyosQu-wOM" />
48     <meta name="google-site-verification" content="JRtz55oBe2uRatS2W_uSPLPRlK-TfdQcGhZZvHNHMN8" />
49     <meta name="google-site-verification" content="g7tmAbXdZ2-KS603OS7DVx1hSIWubx8Z1AVkdR_hG0o" />           
50     <meta name="twitter:image" content="img/asepnggasihbenneryoweswd.webp">
51     <meta name="twitter:image:width" content="600">
52     <meta name="twitter:image:height" content="600">
53     <link rel="shortcut icon" href="img/asepnggasihiconyoweswd.webp" type="image/png">
54     <meta name="theme-color" content="#ffffff">
55     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet">
56     <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" />
57     <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
57<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
57
58     
58<script
59       src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"
60       integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q=="
61       crossorigin="anonymous"
62       referrerpolicy="no-referrer"
63       defer
64     ></script>
64
65     
65<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
65
66     
66<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
66<!-- Facebook Pixel Code -->
67     
67<script>
vendor: 471 bytes, lines 67-76
67
68       !function(f,b,e,v,n,t,s)
69       {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
70       n.callMethod.apply(n,arguments):n.queue.push(arguments)};
71       if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
72       n.queue=[];t=b.createElement(e);t.async=!0;
73       t.src=v;s=b.getElementsByTagName(e)[0];
74       s.parentNode.insertBefore(t,s)}(window, document,'script',
75       'https://connect.facebook.net/en_US/fbevents.js');
76       fbq('init', '
76165971065669324
vendor: 44 bytes, lines 76-78
76');
77       fbq('track', 'PageView');
78     
78</script>
78
79     <noscript
80       ><img
81         height="1"
82         width="1"
83         style="display:none"
84         src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1"
85     ></noscript>
86     <!-- End Facebook Pixel Code -->
87 
88     <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking -->
89     <!--
90      Global site tag (gtag.js) - Google Analytics -->
vendor: 76 bytes, lines 90-91
90
91           <script async src="https://www.googletagmanager.com/gtag/js?id=
91G-X26HYP4083
vendor: 24 bytes, lines 91-92
91"></script>
92           
92<script>
93             
vendor: 174 bytes, lines 93-97
93window.dataLayer = window.dataLayer || [];
94             function gtag(){dataLayer.push(arguments);}
95             gtag('js', new Date());
96   
97             gtag('config', '
97G-X26HYP4083
vendor: 16 bytes, lines 97-98
97');
98           
98</script>
98
99       <!-- Global site tag (gtag.js) - Google Analytics -->
100     
101     <div class="button-login-daftar">
102                     <a class="login" href="hhttps://said.newjerseyjiujitsu.com/" rel="nofollow noreferrer" style="color: white;">
103                         LOGIN
104                     </a>
105                     <a class="register" href="https://said.newjerseyjiujitsu.com/" rel="nofollow noreferrer" style="color: white;">
106                         DAFTAR
107                     </a>
108                 </div>
109   
110     
110<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
110
111   
112     <!-- Bing UET -->
113     
113<script>
114       (function(w,d,t,r,u)
115       {
116           var f,n,i;
117           w[u]=w[u]||[],f=function()
118           {
119               var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true};
120               o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
121           },
122           n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function()
123           {
124               var s=this.readyState;
125               s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
126           },
127           i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
128       })
129       (window,document,"script","//bat.bing.com/bat.js","uetq");
130     </script>
130
131     
131<script>
132       window.uetq = window.uetq || [];
133       window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"});
134     </script>
134
135     <!-- End Bing UET -->
136   
137     <!-- Microsoft Clarity -->
138     
138<script type="text/javascript">
139       (function(c,l,a,r,i,t,y){
140           c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
141           t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
142           y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
143       })(window, document, "clarity", "script", "h7rbxqry9k");
144     </script>
144
145     <!-- End Microsoft Clarity -->
146 
147 
148 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" />
149 
150 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" />
151 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css">
152 
153 
153<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
153
154 
154<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
154
155 
155<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
155
156     
156<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
156
157 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog">
158 <link rel="alternate" type="application/json+oembed" href="https://said.newjerseyjiujitsu.com/.oembed">
159 
159<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
159
160 
160<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
160
161 
161<script>var Shopify = Shopify || {};
162 Shopify.shop = "outerbloom1.myshopify.com";
163 Shopify.locale = "en";
164 Shopify.currency = {"active":"IDR","rate":"1.0"};
165 Shopify.country = "ID";
166 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"};
167 Shopify.theme.handle = "null";
168 Shopify.theme.style = {"id":null,"handle":null};
169 Shopify.cdnHost = "outerbloom.com/cdn";
170 Shopify.routes = Shopify.routes || {};
171 Shopify.routes.root = "/";</script>
171
172 
172<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
172
173 
173<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>
173
174 
174<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
174
175 
175<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});
176 "></script>
176
177 
177<script>(function() {
178   var isLoaded = false;
179   function asyncLoad() {
180     if (isLoaded) return;
181     isLoaded = true;
182     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"];
183     for (var i = 0; i < urls.length; i++) {
184       var s = document.createElement('script');
185       s.type = 'text/javascript';
186       s.async = true;
187       s.src = urls[i];
188       var x = document.getElementsByTagName('script')[0];
189       x.parentNode.insertBefore(s, x);
190     }
191   };
192   if(window.attachEvent) {
193     window.attachEvent('onload', asyncLoad);
194   } else {
195     window.addEventListener('load', asyncLoad, false);
196   }
197 })();</script>
197
198 
198<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>
198
199 
199<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
199
200 
200<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>
200
201 
201<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>
201
202 
202<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)}};
203 </script>
203
204 
204<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
205   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);
206 </script>
206
207 
207<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})}}));
208 </script>
208
209 
210 
210<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
210
211     <!-- /snippets/oldIE-js.liquid -->
212 
213 
214 <!--[if lt IE 9]>
215 
215<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
215
216 
216<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
216
217 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
218 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
219 
219<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
219
220 <![endif]-->
221 
222 
223 
224   
225     
226   <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">
227 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
228 
228<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>
228
229 
229<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":"YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D","url":"\/products\/blossom-shine","type":"Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman."},"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\":\"YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D\",\"url\":\"\/products\/blossom-shine\",\"type\":\"Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
229<script>
230   window.ShopifyAnalytics = window.ShopifyAnalytics || {};
231   window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
232   window.ShopifyAnalytics.meta.currency = 'IDR';
233   var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.","variants":[{"id":44083045826775,"price":1000000
234   ,"name":"YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}};
235   for (var attr in meta) {
236     window.ShopifyAnalytics.meta[attr] = meta[attr];
237   }
238 </script>
238
239 
239<script class="analytics">
240   (function () {
241     var customDocumentWrite = function(content) {
242       var jquery = null;
243 
244       if (window.jQuery) {
245         jquery = window.jQuery;
246       } else if (window.Checkout && window.Checkout.$) {
247         jquery = window.Checkout.$;
248       }
249 
250       if (jquery) {
251         jquery('body').append(content);
252       }
253     };
254 
255     var hasLoggedConversion = function(token) {
256       if (token) {
257         return document.cookie.indexOf('loggedConversion=' + token) !== -1;
258       }
259       return false;
260     }
261 
262     var setCookieIfConversion = function(token) {
263       if (token) {
264         var twoMonthsFromNow = new Date(Date.now());
265         twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
266 
267         document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
268       }
269     }
270 
271     var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
272     if (trekkie.integrations) {
273       return;
274     }
275     trekkie.methods = [
276       'identify',
277       'page',
278       'ready',
279       'track',
280       'trackForm',
281       'trackLink'
282     ];
283     trekkie.factory = function(method) {
284       return function() {
285         var args = Array.prototype.slice.call(arguments);
286         args.unshift(method);
287         trekkie.push(args);
288         return trekkie;
289       };
290     };
291     for (var i = 0; i < trekkie.methods.length; i++) {
292       var key = trekkie.methods[i];
293       trekkie[key] = trekkie.factory(key);
294     }
295     trekkie.load = function(config) {
296       trekkie.config = config || {};
297       trekkie.config.initialDocumentCookie = document.cookie;
298       var first = document.getElementsByTagName('script')[0];
299       var script = document.createElement('script');
300       script.type = 'text/javascript';
301       script.onerror = function(e) {
302         var scriptFallback = document.createElement('script');
303         scriptFallback.type = 'text/javascript';
304         scriptFallback.onerror = function(error) {
305                 var Monorail = {
306       produce: function produce(monorailDomain, schemaId, payload) {
307         var currentMs = new Date().getTime();
308         var event = {
309           schema_id: schemaId,
310           payload: payload,
311           metadata: {
312             event_created_at_ms: currentMs,
313             event_sent_at_ms: currentMs
314           }
315         };
316         return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
317       },
318       sendRequest: function sendRequest(endpointUrl, payload) {
319         // Try the sendBeacon API
320         if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
321           var blobData = new window.Blob([payload], {
322             type: 'text/plain'
323           });
324 
325           if (window.navigator.sendBeacon(endpointUrl, blobData)) {
326             return true;
327           } // sendBeacon was not successful
328 
329         } // XHR beacon
330 
331         var xhr = new XMLHttpRequest();
332 
333         try {
334           xhr.open('POST', endpointUrl);
335           xhr.setRequestHeader('Content-Type', 'text/plain');
336           xhr.send(payload);
337         } catch (e) {
338           console.log(e);
339         }
340 
341         return false;
342       },
343       isIos12: function isIos12() {
344         return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
345       }
346     };
347     Monorail.produce('monorail-edge.shopifysvc.com',
348       'trekkie_storefront_load_errors/1.1',
349       {shop_id: 15896833,
350       theme_id: 153139282135,
351       app_name: "storefront",
352       context_url: window.location.href,
353       source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"});
354 
355         };
356         scriptFallback.async = true;
357         scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
358         first.parentNode.insertBefore(scriptFallback, first);
359       };
360       script.async = true;
361       script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
362       first.parentNode.insertBefore(script, first);
363     };
364     trekkie.load(
365       {"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}}
366     );
367 
368     var loaded = false;
369     trekkie.ready(function() {
370       if (loaded) return;
371       loaded = true;
372 
373       window.ShopifyAnalytics.lib = window.trekkie;
374 
375       var originalDocumentWrite = document.write;
376       document.write = customDocumentWrite;
377       try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
378       document.write = originalDocumentWrite;
379 
380       window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true});
381 
382       var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
383       var token = match? match[1]: undefined;
384       if (!hasLoggedConversion(token)) {
385         setCookieIfConversion(token);
386         window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true});
387       window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"});
388       }
389     });
390 
391 
392         var eventsListenerScript = document.createElement('script');
393         eventsListenerScript.async = true;
394         eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js";
395         document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
396 
397 })();</script>
397
398   
398<script>
399   if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
400     window.ga = function ga() {
401       (window.ga.q = window.ga.q || []).push(arguments);
402       if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
403         window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
404       }
405       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.");
406     };
407     if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
408       window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
409     }
410   }
411 </script>
411
412 
412<script
413   defer
414   src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js"
415   data-application="storefront-renderer"
416   data-shop-id="15896833"
417   data-render-region="gcp-asia-southeast1"
418   data-page-type="product"
419   data-theme-instance-id="153139282135"
420   data-theme-name=""
421   data-theme-version=""
422   data-monorail-region="shop_domain"
423   data-resource-timing-sampling-rate="10"
424   data-shs="true"
425   data-shs-beacon="true"
426   data-shs-export-with-fetch="true"
427   data-shs-logs-sample-rate="1"
428 ></script>
428
429 </head><body
430     data-template="product"
431     id="blossom-shine"
432     class="template-product template-product"
433   >
434     <!-- Google Tag Manager (noscript) -->
vendor: 93 bytes, lines 434-437
434
435     <noscript
436       ><iframe
437         src="https://www.googletagmanager.com/ns.html?id=
437GTM-MF9VVZX
vendor: 135 bytes, lines 437-443
437"
438         height="0"
439         width="0"
440         style="display:none;visibility:hidden"
441       ></iframe
442     ></noscript>
443     
443<!-- End Google Tag Manager (noscript) -->
444 
445     
446 
447     <div class="header-wrapper">
448       
449       <div id="shopify-section-NotifBar" class="shopify-section m-0">
450 
451 <style>
452   #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;}
453   #notification.promo-up {top: -48px!important;}
454   .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;}
455   .notification__message p {margin: 0;color: #000000;font-size: 14px!important;}
456   .notification__message p a {text-decoration: underline;color: #ffffff;}
457   @media (max-width: 991px){
458     .notification__message p {font-size: 14px!important;}
459   }
460 </style>         
461 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" />
462 <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">
463   <div class="page-width notification__inner ">
464     
465     
466     <div class="notification__message text-center">
467       <p><a href="https://said.newjerseyjiujitsu.com/" title="YOWESWD ">YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D</a></p>
468     </div>
469   </div>
470 </div>
471 
472 
473 
474 
475 </div>
476       <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"/>
477 
478 
479 <header style="background-image: url(img/asepnggasihbenneryoweswd.webp); background-attachment: fixed;">
480   <div class="container">
481     <div class="header-container row justify-content-between pl-lg-0 pr-lg-0">
482         <a href="https://said.newjerseyjiujitsu.com/">
483         <img src="img/asepnggasihlogoyoweswd.webp" alt="logo-YOWESWD " style="width: 190px;"></a>
484       <link href="img/asepnggasihiconyoweswd.webp" rel="shortcut icon" type="image/x-icon" />
485         <div id="menu-hamburger" class="d-lg-none">
486           <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="16" height="10" viewBox="0 0 16 10" fill="none">
487   <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"/>
488 </svg>
489 
490         <a href="/"><svg xmlns="img/asepnggasihlogoyoweswd.webp" viewBox="0 0 854 78.29">
491   <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>
492 </svg>
493 </a>
494       </div>
495 
496       <div class="header-icon-right header-icons col-3">
497         <div class="icon icon-account-header d-none d-lg-block">
498           <a href="https://said.newjerseyjiujitsu.com/">
499             <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="20" height="21" viewBox="0 0 20 21" fill="none">
500   <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"/>
501   <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"/>
502 </svg>
503 
504           </a>
505         </div>
506         <div class="icon icon-wishlist-header">
507           <a href="https://said.newjerseyjiujitsu.com/">
508             <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
509   <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.
50911233C11.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"/>
510 </svg>
511 
512             <span class="wishlist-count d-none">0</span>
513           </a>
514         </div>
515         <div class="icon icon-cart-header">
516           <a href="https://said.newjerseyjiujitsu.com/">
517             <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="22" height="21" viewBox="0 0 22 21" fill="none">
518   <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"/>
519   <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"/>
520 </svg>
521 
522           </a>
523         </div>
524       </div>
525     </div>
526   </div>
527 </header>
528 
529 <nav class="nav-header" style="background-color: #242424;">
530   <div class="nav-account-mobile row m-0 d-lg-none">
531     <div class="col-6 welcome-cust p-0">
532       
533         <h1 class="logo">
534     <a href="https://said.newjerseyjiujitsu.com/">
535         <img src="img/asepnggasihlogoyoweswd.webp" alt="YOWESWD " style="max-height:60px;">
536     </a>
537 </h1>
538 
539       
540     </div>
541     
542       <div class="col-6 login-register text-right p-0">
543         <a href="hhttps://said.newjerseyjiujitsu.com/">Log In</a> | <a href="https://said.newjerseyjiujitsu.com/">Sign Up</a>
544       </div>
545   </div>
546   <ul class="nav-menu container">
547     
548       <li class="nav-menu container">
549         <a href="https://said.newjerseyjiujitsu.com/">
550           <span style="color: #ffffff;">YOWESWD </span>
551         
552     
553       <li class=" nav-menu container">
554         <a href="https://said.newjerseyjiujitsu.com/">
555           <span style="color: #ffffff;">SITUS TOTO</span>
556           
557     
558       <li class=" nav-menu container">
559         <a href="https://said.newjerseyjiujitsu.com/">
560           <span style="color: #ffffff;">TOTO TOGEL</span>
561     
562       <li class=" nav-menu container">
563         <a href="https://said.newjerseyjiujitsu.com/">
564           <span style="color: #ffffff;">TOGEL ONLINE</span>
565 
566       <li class=" nav-menu container">
567         <a href="https://said.newjerseyjiujitsu.com/">
568           <span style="color: #ffffff;">BANDAR TOGEL</span>
569 
570       <li class=" nav-menu container">
571         <a href="https://said.newjerseyjiujitsu.com/">
572           <span style="color: #ffffff;">LINK TOGEL</span>
573       
574 <div class="overlay-nav">
575   <!-- Mobile Close Button in Overlay -->
576   <button id="nav-close" class="nav-close-btn d-lg-none">
577     <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="img/asepnggasihlogoyoweswd.webp">
578       <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
579     </svg>
580   </button>
581 </div>
582 
583 
583<script>
584   if ($(window).width() < 992) {
585     // Level 1 menu accordion (main menu items)
586     $(".nav-menu .nav-menu container > a").click(function(e){
587       e.preventDefault()
588       const parentLi = $(this).parent()
589       const isCurrentlyOpen = parentLi.hasClass("menu-open")
590       
591       // Close all other open menus (accordion behavior)
592       $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open")
593       $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp()
594       
595       // Toggle current menu
596       if (isCurrentlyOpen) {
597         parentLi.removeClass("menu-open")
598         $(this).next(".megamenu").slideUp()
599       } else {
600         parentLi.addClass("menu-open")
601         $(this).next(".megamenu").slideDown()
602       }
603     })
604 
605     // Level 2 menu accordion (submenu items with grandchildren)
606     $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){
607       e.preventDefault()
608       const parentLi = $(this).parent()
609       const isCurrentlyOpen = parentLi.hasClass("submenu-open")
610       const grandchild = $(this).next(".grandchild")
611       
612       // Close all other open submenus in the same dropdown (accordion behavior)
613       parentLi.siblings('.has-submenu').removeClass("submenu-open")
614       parentLi.siblings('.has-submenu').find('.grandchild').slideUp()
615       parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)')
616       
617       // Toggle current submenu
618       if (isCurrentlyOpen) {
619         parentLi.removeClass("submenu-open")
620         grandchild.slideUp()
621         $(this).find('.chevron-right').css('transform', 'rotate(0deg)')
622       } else {
623         parentLi.addClass("submenu-open")
624         grandchild.slideDown()
625         $(this).find('.chevron-right').css('transform', 'rotate(90deg)')
626       }
627     })
628 
629     $("#menu-hamburger").click(function(e){
630       e.preventDefault()
631       $("body").toggleClass("nav_open")
632     })
633     
634     // Handle close button click
635     $("#nav-close").click(function(e){
636       e.preventDefault()
637       $("body").removeClass("nav_open")
638       // Close all open menus when close button is clicked
639       $(".nav-menu .nav-menu container").removeClass("menu-open")
640       $(".nav-menu .megamenu").slideUp()
641       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
642       $(".dropdown-menu .grandchild").slideUp()
643       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
644     })
645   }
646 
647   $(".overlay-nav").click(function(e){
648       e.preventDefault()
649       $("body").removeClass("nav_open")
650       // Close all open menus when overlay is clicked
651       $(".nav-menu .nav-menu container").removeClass("menu-open")
652       $(".nav-menu .megamenu").slideUp()
653       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
654       $(".dropdown-menu .grandchild").slideUp()
655       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
656   })
657 </script>
657
658 
659 
660 </div>
661 
662       <div id="shopify-section-search-popup" class="shopify-section m-0"><style>
663   #search-trigger {
664     cursor: pointer;
665   }
666   #search-popup {
667     display: none;
668     position: fixed;
669     left: 0;
670     width: 100%;
671     top: 0;
672     height: 100%;
673     justify-content: center;
674     z-index: 9999;
675     background: rgb(196 196 196 / 30%);
676   }
677   #search-input {
678     align-self: center;
679     width: 100%;
680     height: 80px;
681     position: absolute;
682     top: 0;
683     border-bottom: 0.5px solid #A3A3A3;
684     background-color: #fff;
685   }
686   #search-input * {
687     align-self: center;
688   }
689   #search-type {
690     width: 100%;
691     border: none;
692     padding-right: 20px;
693     padding-left: 20px;
694     font-size: 16px;
695     color: #757575;
696   }
697   #search-btn {
698     font-size: 16px;
699     font-weight: 500;
700   }
701   #search-result {
702     min-height: 490px;
703     width: 100%;
704     padding-top: 80px;
705   }
706   #search-result .container {
707     background-color: #fff;
708     padding: 20px 40px;
709   }
710   body.search-popup-open {
711   /* .search-popup-open */
712     overflow: hidden;
713   }
714   .search-popup-open #loc_delivery {
715     display: none
716   }
717   .search-header svg {
718     display: none;
719     cursor: pointer;
720   }
721   .wrapper-search-popup {
722     max-height: calc(100vh - 150px);
723     overflow-y: auto;
724     overflow-x: hidden;
725   }
726 
727   .group-recommend {
728     padding: 20px 40px;
729   }
730 
731   .resultsearch {
732     display: none;
733   }
734   .results { padding: 20px 40px }
735   .resultsearch label {
736     font-weight: 600;
737     padding-bottom: 20px;
738     display: block;
739     margin-bottom: 20px;
740     border-bottom: 1px solid #AAAAAA;
741   }
742 
743   ul.result_product {
744     max-height: 300px;
745     overflow: auto;
746   }
747 
748   .group-promotion ul {
749     margin: 0;
750   }
751   .group-promotion li {
752     list-style: none;
753     margin-bottom: 12px;
754   }
755   .group-promotion li a {
756     color: inherit;
757   }
758 
759   .group-recent {
760     position: relative;
761     padding: 20px 40px;
762   }
763   .group-recent ul {
764     margin: 0;
765   }
766   .group-recent li {
767     list-style: none;
768     display: inline-block;
769     margin-right: 60px;
770   }
771   .group-recent li a {
772     color: inherit;
773   }
774 
775   .last-search svg {
776     width: 20px;
777     vertical-align: middle;
778   }
779   ul.last-search a {
780     vertical-align: middle;
781     padding: 0 10px;
782   }
783   ul.last-search li span {
784     cursor: pointer;
785   }
786   .delete-all-history {
787     position: absolute;
788     top: 25px;
789     right: 40px;
790     text-decoration: underline;
791     color: #e11d1d;
792     cursor: pointer;
793     font-size: 12px;
794   }
795 
796   form.search.search-modal__form {
797     position: relative;
798   }
799 
800   button.search__button svg {
801     width: 25px;
802     color: #495057;
803     fill: #757582;
804   }
805 
806   button.search__button.field__button {
807     position: absolute;
808     top: 50%;
809     margin-top: -12px;
810   }
811 
812   .close-search {
813     display: none;
814     position: absolute;
815     right: 65px;
816     top: 10px;
817     cursor: pointer;
818   }
819 
820   .site-overlay {
821     position: fixed;
822     top: 0;
823     width: 100vw;
824     height: 100vh;
825     z-index: 1000;
826     background: #0000005c;
827     visibility: hidden;
828     opacity: 0;
829     pointer-events: none;
830     transition: all .3s linear;
831     display: block !important;
832   }
833 
834   .search-popup-open .site-overlay {
835     opacity: 1;
836     visibility: visible;
837     pointer-events: all;
838     z-index: -1;
839     cursor: pointer;
840   }
841 
842   @media (min-width: 991px) {
843     .group-recent ul {
844       column-count: 3;
845     }
846     .group-promotion li a {
847       font-size: 12px;
848       font-weight: 400;
849     }
850     .group-recent li a {
851       font-size: 12px;
852       font-weight: 400;
853     }
854   }
855 
856   .moreresult {
857     padding: 10px 40px;
858     border-top: 1px solid #AAAAAA;
859   }
860   .moreresult * {
861     align-self: center;
862   }
863   .moreresult p {
864     margin: 0;
865     font-size: 12px !important;
866   }
867   .moreresult svg {
868     width: 13px;
869   }
870 
871   @media (max-width: 992px) {
872     .icon-key-mobile {
873         height: auto!important;
874         width: 10px!important;
875     }
876     body.grid-view.search-popup-open .products {
877       -ms-flex: 0 0 100%!important;
878       flex: 0 0 100%!important;
879       max-width: 100%!important;
880     }
881     button.search__button svg {
882       width: 20px;
883     }
884     #search-result {
885       padding-left: 0;
886       padding-right: 0;
887     }
888     #search-result {
889       padding-top: 55px;
890     }
891     #search-input {
892       height: 55px;
893     }
894     .group-recommend {
895       padding: 20px;
896     }
897     #search-input .container {
898       padding: 0 20px;
899     }
900     #search-type {
901       font-size: 14px;
902     }
903     #search-btn {
904       font-size: 12px;
905       text-decoration: underline;
906     }
907     .results {
908       padding: 20px;
909     }
910     .group-recommend h3 {
911       font-size: 16px;
912     }
913     .products .card-body {
914       padding: 8px 0px 10px;
915     }
916     .moreresult {
917       padding: 10px 20px;
918     }
919   }
920 </style>        
921  <style type="text/css">
922         div.advertisement-placeholder {
923             text-align: center;
924             padding-bottom: 20px;
925             display: flex;
926             flex-direction: column;
927             justify-content: center;
928         }
929         div.advertisement-text p {
930             margin: 0;
931             font-family: Open Sans;
932             font-style: normal;
933             font-weight: normal;
934             font-size: 10px;
935             line-height: 20px;
936             color: #999999;
937         }
938         div.advertisement-banner {
939             margin: 0px auto;
940         }
941         div#div-gpt-ad-billboard-placeholder {
942             width: 996px;
943             margin: 0 auto;
944             background: #F5F5F5;
945             padding-bottom: unset !important;
946             min-height: 200px;
947         }
948         div#div-gpt-ad-lb-placeholder {
949             background: #F5F5F5;
950             padding-bottom: unset !important;
951             min-height: 280px;
952         }
953         .faq-section{
954             max-width:1200px;
955             margin:50px auto;
956             padding:40px 20px;
957             position:relative;
958             background-color: rgba(0, 0, 0, 0.1);
959             backdrop-filter: blur(25px);
960             border-radius: 20px;
961             }
962         
963         .faq-section::before{
964             content:"";
965             position:absolute;
966             top:0;left:50%;
967             transform:translateX(-50%);
968             width:80%;
969             height:2px;
970             background:linear-gradient(90deg,transparent,#fffb00,transparent)
971             }
972             
973         .faq-section h2{
974             text-align:center;
975             font-size:34px;font-weight:700;
976             margin-bottom:50px;
977             background: linear-gradient(135deg, #fffb00, #fffb00, #fffb00);
978             -webkit-background-clip:text;
979             -webkit-text-fill-color:transparent;
980             background-clip:text;
981             font-family:"Poppins",sans-serif;letter-spacing:1px
982         }
983         
984         .faq-container{
985             display:flex;
986             flex-direction:column;
987             gap:25px
988         }
989         
990         .faq-item{
991             background:linear-gradient(145deg,#0a0a0a,#1a1a1a);
992             border:2px solid #ffbf00;
993             border-radius:20px;overflow:hidden;
994             transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5)
995         }
996         
997         .faq-item:hover{
998             border-color:#ffbf00;
999             transform:translateX(10px);
1000             box-shadow:0 12px 35px rgba(253, 4, 4, 0.25)
1001         }
1002 
1003         .faq-question{width:100%;
1004             padding:28px 35px;background:transparent;
1005             color:#ffffff;
1006             font-size:18px;
1007             font-weight:600;
1008             text-align:left;
1009             border:none;cursor:pointer;
1010             display:flex;
1011             justify-content:space-between;
1012             align-items:center;
1013             font-family:"Poppins",sans-serif;
1014             transition:all .3s ease
1015         }
1016         
1017         .faq-question:hover{
1018             color:#fffb00
1019         }
1020         
1021         .faq-question::after{
1022             content:'+';
1023             font-size:32px;
1024             font-weight:300;
1025             transition:all .4s ease;
1026             color:#fffb00;
1027             width:40px;
1028             height:40px;
1029             display:flex;
1030             align-items:center;
1031             justify-content:center;
1032             border:2px solid #ffbf00;border-radius:50%;
1033             background:rgba(0, 0, 0, 0.1)
1034         }
1035         
1036         .faq-item.active .faq-question::after{
1037             transform:rotate(135deg);
1038             background:linear-gradient(135deg,#ffbf00,#ffbf00);
1039             color:#000;border-color:transparent
1040         }
1041         
1042         .faq-answer{
1043             max-height:0;
1044             overflow:hidden;
1045             transition:max-height .5s ease,padding .5s ease;
1046             background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent);
1047             padding:0 35px
1048         }
1049         
1050         .faq-item.active .faq-answer{
1051             max-height:800px;padding:30px 35px;
1052             border-top:1px solid rgba(253, 4, 4, 0.3)
1053         }
1054         
1055         .faq-answer p{
1056             color:#e0e0e0;
1057             font-size:16px;
1058             line-height:2;
1059             margin:0;
1060             font-family:"Poppins",sans-serif
1061         }
1062 
1063         @media
1064             (max-width:768px)
1065         {
1066         
1067         .faq-section
1068             {padding:30px 15px}
1069         
1070         .faq-section h2
1071             {font-size:26px}
1072         
1073         .faq-question
1074             {font-size:16px;
1075             padding:22px 25px}
1076         
1077         .faq-question::after
1078             {width:35px;
1079             height:35px;
1080             font-size:28px}
1081         
1082         .faq-answer
1083             {padding:0 25px}
1084         
1085         .faq-item.active .faq-answer
1086             {padding:25px}
1087         
1088         .faq-item:hover
1089             {transform:translateX(5px)}
1090             }
1091     </style>
1092         
1093<div id="slide-left">      
1094 <div id="search-popup">
1095   <div id="search-input" class="row">
1096     <div class="container w-100">
1097       <form
1098         action="/search"
1099         method="get"
1100         role="search"
1101         class="search search-modal__form d-flex justify-content-between"
1102       >
1103         <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="20" height="20" viewBox="0 0 20 20" fill="none">
1104   <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"/>
1105 </svg>
1106 
1107         <input type="hidden" name="type" value="product">
1108         <input
1109           type="text"
1110           id="search-type"
1111           name="q"
1112           class="search-popup"
1113           placeholder="Gifts that linger: Uncover treasures for cherished moments."
1114         >
1115         <div class="close-search"><svg xmlns="img/asepnggasihlogoyoweswd.webp" width="18" height="18" viewBox="0 0 18 18" fill="none">
1116   <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"/>
1117 </svg>
1118 </div>
1119         <button id="search-btn">Search</button>
1120       </form>
1121     </div>
1122   </div>
1123   <div id="search-result" class="container m-auto">
1124     <div class="container p-0">
1125       <div class="group-promotion">
1126         <div class="resultsearch">
1127           <div class="row results">
1128             <div class="col-12 col-lg-6 mb-3 mb-lg-0">
1129               <label>SUGGESTIONS</label>
1130               <ul class="result_collection"></ul>
1131             </div>
1132             <div class="col-12 col-lg-6">
1133               <label>PRODUCTS</label>
1134               <ul class="result_product"></ul>
1135             </div>
1136           </div>
1137           <div class="d-flex justify-content-between moreresult m-0">
1138             <p>Search for<span></span></p>
1139             <svg version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="32" height="32" viewBox="0 0 32 32">
1140 <title>icon-arrow-right</title>
1141 <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>
1142 </svg>
1143           </div>
1144         </div>
1145       </div>
1146       <div class="group-recent hide">
1147         <h3>RECENT SEARCH</h3>
1148         <span class="delete-all-history">Hapus riwayat</span>
1149         <ul class="last-search"></ul>
1150       </div>
1151       <div class="group-recommend">
1152         <h3>YOU MAY ALSO LIKE</h3>
1153         
1154         
1155           <div class="row popup-recommend c-products-grid infinite-case product-multi-">
1156             <div class="swiper-wrapper justify-content-between" style="margin-left:1px;">
1157               
1158                 
1159                   <div class="swiper-slide card">
1160                     
1161 
1162 
1163 
1164 <div class="products" data-lazy="false">
1165   <div class="bg-products">
1166     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake">
1167       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1168   <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
11686 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/>
1169 </svg>
1170 
1171     </div>
1172     <a href="/products/mid-autumn-of-love-mooncake">
1173       
1174       <div class="product-card-img-container p-0 position-relative">
1175         
1176         <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">
1177       </div>
1178       <div class="card-body product-card-info">
1179         <h5 class="h5 mb-0">
1180           Mid Autumn of Love Mooncake
1181         </h5>
1182         <div class="product-card-price">
1183           
1184           <div class="product-price-sale">
1185             <s class="product-card-price-before card-money">Rp 588.000</s>
1186             <span class="product-card-discount small">	
1187               (-40%)
1188             </span> 	
1189           </div>
1190           
1191           
1192           
1193           <div class="price-discount">
1194             <h4 class="product-card-price-after card-money">Rp 348.000</h4>
1195           </div>
1196           
1197           
1198           
1199           
1200           
1201         </div>
1202         
1203       </div>
1204     </a>
1205   </div>
1206   
1207 </div>
1208 
1209                   </div>
1210                 
1211               
1212                 
1213                   <div class="swiper-slide card">
1214                     
1215 
1216 
1217 
1218 <div class="products" data-lazy="false">
1219   <div class="bg-products">
1220     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake">
1221       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1222   <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.
122211233C11.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"/>
1223 </svg>
1224 
1225     </div>
1226     <a href="/products/mid-autumn-of-joy-mooncake">
1227       
1228       <div class="product-card-img-container p-0 position-relative">
1229         
1230         <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">
1231       </div>
1232       <div class="card-body product-card-info">
1233         <h5 class="h5 mb-0">
1234           Mid Autumn of Joy Mooncake
1235         </h5>
1236         <div class="product-card-price">
1237           
1238           <div class="product-price-sale">
1239             <s class="product-card-price-before card-money">Rp 888.000</s>
1240             <span class="product-card-discount small">	
1241               (-33%)
1242             </span> 	
1243           </div>
1244           
1245           
1246           
1247           <div class="price-discount">
1248             <h4 class="product-card-price-after card-money">Rp 588.000</h4>
1249           </div>
1250           
1251           
1252           
1253           
1254           
1255         </div>
1256         
1257       </div>
1258     </a>
1259   </div>
1260   
1261 </div>
1262 
1263                   </div>
1264                 
1265               
1266                 
1267                   <div class="swiper-slide card">
1268                     
1269 
1270 
1271 
1272 <div class="products" data-lazy="false">
1273   <div class="bg-products">
1274     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake">
1275       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1276   <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.
127611233C11.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"/>
1277 </svg>
1278 
1279     </div>
1280     <a href="/products/mid-autumn-of-fortune-mooncake">
1281       
1282       <div class="product-card-img-container p-0 position-relative">
1283         
1284         <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">
1285       </div>
1286       <div class="card-body product-card-info">
1287         <h5 class="h5 mb-0">
1288           Mid Autumn of Fortune Mooncake
1289         </h5>
1290         <div class="product-card-price">
1291           
1292           <div class="product-price-sale">
1293             <s class="product-card-price-before card-money">Rp 1.188.000</s>
1294             <span class="product-card-discount small">	
1295               (-33%)
1296             </span> 	
1297           </div>
1298           
1299           
1300           
1301           <div class="price-discount">
1302             <h4 class="product-card-price-after card-money">Rp 788.000</h4>
1303           </div>
1304           
1305           
1306           
1307           
1308           
1309         </div>
1310         
1311       </div>
1312     </a>
1313   </div>
1314   
1315 </div>
1316 
1317                   </div>
1318                 
1319               
1320                 
1321                   <div class="swiper-slide card">
1322                     
1323 
1324 
1325 
1326 <div class="products" data-lazy="false">
1327   <div class="bg-products">
1328     <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake">
1329       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1330   <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.
133011233C11.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"/>
1331 </svg>
1332 
1333     </div>
1334     <a href="/products/mid-autumn-festival-mooncake">
1335       
1336       <div class="product-card-img-container p-0 position-relative">
1337         
1338         <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">
1339       </div>
1340       <div class="card-body product-card-info">
1341         <h5 class="h5 mb-0">
1342           Mid Autumn Festival Mooncake
1343         </h5>
1344         <div class="product-card-price">
1345           
1346           <div class="product-price-sale">
1347             <s class="product-card-price-before card-money">Rp 1.288.000</s>
1348             <span class="product-card-discount small">	
1349               (-23%)
1350             </span> 	
1351           </div>
1352           
1353           
1354           
1355           <div class="price-discount">
1356             <h4 class="product-card-price-after card-money">Rp 988.000</h4>
1357           </div>
1358           
1359           
1360           
1361           
1362           
1363         </div>
1364         
1365       </div>
1366     </a>
1367   </div>
1368   
1369 </div>
1370 
1371                   </div>
1372                 
1373               
1374                 
1375                   <div class="swiper-slide card">
1376                     
1377 
1378 
1379 
1380 <div class="products" data-lazy="false">
1381   <div class="bg-products">
1382     <div class="wishlist-toggle" data-product-handle="the-jade-bouquet">
1383       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1384   <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.
138411233C11.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"/>
1385 </svg>
1386 
1387     </div>
1388     <a href="/products/the-jade-bouquet">
1389       
1390       <div class="product-card-img-container p-0 position-relative">
1391         
1392         <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">
1393       </div>
1394       <div class="card-body product-card-info">
1395         <h5 class="h5 mb-0">
1396           The Jade Bouquet
1397         </h5>
1398         <div class="product-card-price">
1399           
1400           <div class="product-price-sale">
1401             <s class="product-card-price-before card-money">Rp 435.000</s>
1402             <span class="product-card-discount small">	
1403               (-34%)
1404             </span> 	
1405           </div>
1406           
1407           
1408           
1409           <div class="price-discount">
1410             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1411           </div>
1412           
1413           
1414           
1415           
1416           
1417         </div>
1418         
1419       </div>
1420     </a>
1421   </div>
1422   
1423 </div>
1424 
1425                   </div>
1426                 
1427               
1428                 
1429                   <div class="swiper-slide card">
1430                     
1431 
1432 
1433 
1434 <div class="products" data-lazy="false">
1435   <div class="bg-products">
1436     <div class="wishlist-toggle" data-product-handle="the-selena-bouquet">
1437       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1438   <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.
143811233C11.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"/>
1439 </svg>
1440 
1441     </div>
1442     <a href="/products/the-selena-bouquet">
1443       
1444       <div class="product-card-img-container p-0 position-relative">
1445         
1446         <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">
1447       </div>
1448       <div class="card-body product-card-info">
1449         <h5 class="h5 mb-0">
1450           The Selena Bouquet
1451         </h5>
1452         <div class="product-card-price">
1453           
1454           <div class="product-price-sale">
1455             <s class="product-card-price-before card-money">Rp 335.000</s>
1456             <span class="product-card-discount small">	
1457               (-29%)
1458             </span> 	
1459           </div>
1460           
1461           
1462           
1463           <div class="price-discount">
1464             <h4 class="product-card-price-after card-money">Rp 235.000</h4>
1465           </div>
1466           
1467           
1468           
1469           
1470           
1471         </div>
1472         
1473       </div>
1474     </a>
1475   </div>
1476   
1477 </div>
1478 
1479                   </div>
1480                 
1481               
1482                 
1483                   <div class="swiper-slide card">
1484                     
1485 
1486 
1487 
1488 <div class="products" data-lazy="false">
1489   <div class="bg-products">
1490     <div class="wishlist-toggle" data-product-handle="the-viola-bouquet">
1491       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1492   <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.
149211233C11.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"/>
1493 </svg>
1494 
1495     </div>
1496     <a href="/products/the-viola-bouquet">
1497       
1498       <div class="product-card-img-container p-0 position-relative">
1499         
1500         <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">
1501       </div>
1502       <div class="card-body product-card-info">
1503         <h5 class="h5 mb-0">
1504           The Viola Bouquet
1505         </h5>
1506         <div class="product-card-price">
1507           
1508           <div class="product-price-sale">
1509             <s class="product-card-price-before card-money">Rp 385.000</s>
1510             <span class="product-card-discount small">	
1511               (-25%)
1512             </span> 	
1513           </div>
1514           
1515           
1516           
1517           <div class="price-discount">
1518             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1519           </div>
1520           
1521           
1522           
1523           
1524           
1525         </div>
1526         
1527       </div>
1528     </a>
1529   </div>
1530   
1531 </div>
1532 
1533                   </div>
1534                 
1535               
1536                 
1537                   <div class="swiper-slide card">
1538                     
1539 
1540 
1541 
1542 <div class="products" data-lazy="false">
1543   <div class="bg-products">
1544     <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet">
1545       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1546   <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.
154611233C11.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"/>
1547 </svg>
1548 
1549     </div>
1550     <a href="/products/the-minerva-bouquet">
1551       
1552       <div class="product-card-img-container p-0 position-relative">
1553         
1554         <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">
1555       </div>
1556       <div class="card-body product-card-info">
1557         <h5 class="h5 mb-0">
1558           The Minerva Bouquet
1559         </h5>
1560         <div class="product-card-price">
1561           
1562           <div class="product-price-sale">
1563             <s class="product-card-price-before card-money">Rp 385.000</s>
1564             <span class="product-card-discount small">	
1565               (-25%)
1566             </span> 	
1567           </div>
1568           
1569           
1570           
1571           <div class="price-discount">
1572             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1573           </div>
1574           
1575           
1576           
1577           
1578           
1579         </div>
1580         
1581       </div>
1582     </a>
1583   </div>
1584   
1585 </div>
1586 
1587                   </div>
1588                 
1589               
1590                 
1591                   <div class="swiper-slide card">
1592                     
1593 
1594 
1595 
1596 <div class="products" data-lazy="false">
1597   <div class="bg-products">
1598     <div class="wishlist-toggle" data-product-handle="congraduations-bouquet">
1599       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1600   <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.
160011233C11.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"/>
1601 </svg>
1602 
1603     </div>
1604     <a href="/products/congraduations-bouquet">
1605       
1606       <div class="product-card-img-container p-0 position-relative">
1607         
1608         <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">
1609       </div>
1610       <div class="card-body product-card-info">
1611         <h5 class="h5 mb-0">
1612           Congraduations Bouquet
1613         </h5>
1614         <div class="product-card-price">
1615           
1616           <div class="product-price-sale">
1617             <s class="product-card-price-before card-money">Rp 380.000</s>
1618             <span class="product-card-discount small">	
1619               (-25%)
1620             </span> 	
1621           </div>
1622           
1623           
1624           
1625           <div class="price-discount">
1626             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1627           </div>
1628           
1629           
1630           
1631           
1632           
1633         </div>
1634         
1635       </div>
1636     </a>
1637   </div>
1638   
1639 </div>
1640 
1641                   </div>
1642                 
1643               
1644                 
1645                   <div class="swiper-slide card">
1646                     
1647 
1648 
1649 
1650 <div class="products" data-lazy="false">
1651   <div class="bg-products">
1652     <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet">
1653       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="21" viewBox="0 0 24 21" fill="none">
1654   <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.
165411233C11.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"/>
1655 </svg>
1656 
1657     </div>
1658     <a href="/products/grad-gorgeous-bouquet">
1659       
1660       <div class="product-card-img-container p-0 position-relative">
1661         
1662         <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">
1663       </div>
1664       <div class="card-body product-card-info">
1665         <h5 class="h5 mb-0">
1666           Grad & Gorgeous Bouquet
1667         </h5>
1668         <div class="product-card-price">
1669           
1670           <div class="product-price-sale">
1671             <s class="product-card-price-before card-money">Rp 380.000</s>
1672             <span class="product-card-discount small">	
1673               (-25%)
1674             </span> 	
1675           </div>
1676           
1677           
1678           
1679           <div class="price-discount">
1680             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1681           </div>
1682           
1683           
1684           
1685           
1686           
1687         </div>
1688         
1689       </div>
1690     </a>
1691   </div>
1692   
1693 </div>
1694 
1695                   </div>
1696                 
1697               
1698             </div>
1699           </div>
1700         
1701       </div>
1702     </div>
1703   </div>
1704 
1705   <div class="site-overlay" style="display: none"></div>
1706 </div>
1707 
1707<script>
1708   
1709   var swiper = new Swiper('.popup-recommend', {
1710       slidesPerView : 4, 
1711       spaceBetween: 30,
1712       lazy: true ,                            
1713       speed: 300,
1714       breakpoints: {
1715         // when window width is <= 576px
1716         576: {
1717             slidesPerView: 2,
1718               spaceBetween: 10,
1719             freeMode: true,
1720             resistance : true,
1721             resistanceRatio : 0,
1722             freeModeMomentumRatio : 0.45,
1723             freeModeMomentumVelocityRatio : 1.5
1724         },
1725         768: {
1726               slidesPerView: 2,
1727               spaceBetween: 10
1728             },
1729         992: {
1730               slidesPerView: 3,
1731               spaceBetween: 20
1732         }
1733       }
1734   });
1735 
1736   const searchContainer = $("#search-popup")
1737   const searchInput = $(".search-popup")
1738   const result_collection = $('.result_collection')
1739   const result_product = $('.result_product')
1740   const resultsearch = $('.resultsearch')
1741   const resultrecommend = $(".group-recommend")
1742   const moreresult = $(".moreresult")
1743 
1744   searchInput.keyup(function(){
1745     const input = $(this).val()
1746     moreresult.find("p span").text(` “${input}”`)
1747     if(input.length > 2) {
1748       $(".close-search").show()
1749       const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}`
1750       $.ajax({
1751         type: 'GET',
1752         url,
1753         beforeSend: function() {
1754             // setting a timeout
1755             // $(placeholder).addClass('loading');
1756         },
1757         success: function(response) {
1758             resultsearch.show()
1759             resultrecommend.hide()
1760             result_collection.html("")
1761             result_product.html("")
1762             const collections = response.resources.results.collections
1763             const products = response.resources.results.products
1764             let collection_length = collections.length
1765             let product_length = products.length
1766             // if(collections.length > 5) {
1767             //   collection_length = 5
1768             // }
1769             // if(products.length > 5) {
1770             //   product_length = 5
1771             // }
1772             for(let i=0;i<collection_length;i++){
1773               const title = collections[i].title
1774               const url = collections[i].url
1775               let html_collection
1776               if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) {
1777                 html_collection = `
1778                 <li class="item" data-title="${title}">
1779                   <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a>
1780                 </li>
1781                 `
1782               }
1783               result_collection.append(html_collection)
1784             }
1785             for(let i=0;i<product_length;i++){
1786               const title = products[i].title
1787               const url = products[i].url
1788               const image = products[i].featured_image.url
1789               const vendor = products[i].vendor
1790               let html_product
1791               if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){
1792                 html_product = `
1793                 <li class="item" data-vendor="${vendor}">
1794                   <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}">
1795                     <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span>
1796                   </a>
1797                 </li>
1798                 `
1799               }
1800               result_product.append(html_product)
1801             }
1802         },
1803         error: function(xhr) { // if error occured
1804             alert("Error occured.please try again");
1805         },
1806         complete: function(response) {
1807             // $(placeholder).removeClass('loading');
1808         },
1809         dataType: 'JSON'
1810       });
1811     } else {
1812       result_collection.html("")
1813       result_product.html("")
1814       
1815       resultsearch.hide()
1816       resultrecommend.show()
1817     }
1818   })
1819 
1820   moreresult.click(function(){
1821     $("#search-btn").trigger("click");
1822   })
1823 
1824   $(".close-search").click(function(){
1825     $(this).hide()
1826     searchInput.val("")
1827     searchInput.focus()
1828     resultsearch.hide()
1829     resultrecommend.show()
1830   })
1831 
1832   function setCookie(name,value,days) {
1833     var expires = "";
1834     if (days) {
1835       var date = new Date();
1836       date.setTime(date.getTime() + (days*24*60*60*1000));
1837       expires = "; expires=" + date.toUTCString();
1838     }
1839     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
1840   }
1841   function getCookie(name) {
1842     var nameEQ = name + "=";
1843     var ca = document.cookie.split(';');
1844     for(var i=0;i < ca.length;i++) {
1845       var c = ca[i];
1846       while (c.charAt(0)==' ') c = c.substring(1,c.length);
1847       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
1848     }
1849     return null;
1850   }
1851   let last_search_name = []
1852   let last_search_url = []
1853   $(".group-recent").hide()
1854   if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){
1855     if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){
1856       $(".group-recent").show()
1857       last_search_name = getCookie("last_search_name");
1858       last_search_url = getCookie("last_search_url");
1859       const arrName = last_search_name.substring(1).split(',').reverse()
1860       const arrUrl = last_search_url.substring(1).split(',').reverse()
1861       console.log(arrName, 'Array Name')
1862       console.log(arrUrl, 'Array Url')
1863       let length = arrName.length
1864       if(arrName.length > 5) {
1865         length = 5
1866       }
1867       for(let n=0;n<length;n++){
1868         let html2 = `<li><svg viewBox="0 0 24 24" xmlns="img/asepnggasihlogoyoweswd.webp"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">
1868${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>`
1869         $(".group-recent ul").append(html2)
1870       }
1871     }
1872   }
1873   console.log(last_search_name, 'Name')
1874   console.log(last_search_url, 'url')
1875   
1876   resultsearch.delegate(".item a", "click", function(){
1877     let name = [last_search_name]
1878     let url = [last_search_url]
1879     name.push($(this).attr('data-title'))
1880     url.push($(this).attr('data-url'))
1881     setCookie("last_search_name",name,7);
1882     setCookie("last_search_url",url,7);
1883   })
1884   
1885   $(".delete-all-history").click(function() {
1886     setCookie("last_search_name",null,0);
1887     setCookie("last_search_url",null,0);
1888     $(".last-search").hide();
1889     setTimeout(function(){
1890       location.reload();
1891     }, 500);
1892   })
1893   
1894   $("#search-trigger").click(function(){
1895     search_open()
1896   })
1897   $(".icon-search-mobile").click(function(){
1898     search_open()
1899   })
1900   $(".search-header svg").click(function(){
1901     search_close()
1902   })
1903   $(".icon-key-mobile").click(function(){
1904     search_close()
1905   })
1906 
1907   function search_open() {
1908     $("body").addClass("search-popup-open")
1909     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide()
1910     $("#search-popup, .search-header svg, .icon-key-mobile").show()
1911     $(".search-popup").focus()
1912     $('.popup-recommend')[0].swiper.update();
1913   }
1914   function search_close() {
1915     $("body").removeClass("search-popup-open")
1916     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show()
1917     $("#search-popup, .search-header svg, .icon-key-mobile").hide()
1918     searchInput.val("")
1919     resultsearch.hide()
1920     resultrecommend.show()
1921   }
1922 
1923   $(".site-overlay").click(function(){
1924     search_close()
1925   })
1926 </script>
1926
1927 
1928 </div>
1929     </div>
1930 
1931     <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;">
1932       <main class="main-content pt-0" role="main">
1933         
1934           <div id="breadcrumbProduct" class="d-none d-lg-block">
1935             <style>
1936   #breadcrumbProduct {
1937     padding: 20px 0;
1938   }
1939   #breadcrumbProduct ul {
1940       display: flex;
1941       padding: 0;
1942       list-style: none;
1943       margin: 0;
1944       gap: 12px;
1945   }
1946   #breadcrumbProduct ul li {
1947     text-transform: uppercase;
1948     margin: 0;
1949     font-size: 12px;
1950 }
1951   #breadcrumbProduct ul li a {
1952     color: #757575;
1953   }
1954 
1955   #breadcrumbProduct ul li svg {
1956     width: 10px;
1957     height: 10px;
1958     padding: 0;
1959     color: #757575;
1960     vertical-align: middle;
1961   }
1962 </style>
1963             
1964 <div class="container" style="color: #ffffff;">
1965   <ul role="navigation" aria-label="breadcrumbs">
1966     <li><a href="https://said.newjerseyjiujitsu.com/" style="color: #ffffff;">YOWESWD </a></li>
1967     <li><svg xmlns="img/asepnggasihlogoyoweswd.webp" width="7" height="10" viewBox="0 0 7 10" fill="none">
1968     <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"/>
1969 </svg></li>
1970       <li>LINK TOTO</li>
1971     <li><svg xmlns="img/asepnggasihlogoyoweswd.webp" width="7" height="10" viewBox="0 0 7 10" fill="none">
1972     <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"/>
1973 </svg></li>
1974       <li>TOTO TOGEL</li>
1975     <li><svg xmlns="img/asepnggasihlogoyoweswd.webp" width="7" height="10" viewBox="0 0 7 10" fill="none">
1976     <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"/>
1977 </svg>
1978       <li>BANDAR TOGEL</li>
1979     <li><svg xmlns="img/asepnggasihlogoyoweswd.webp" width="7" height="10" viewBox="0 0 7 10" fill="none">
1980     <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"/>
1981 </svg></li>
1982       <li>YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D</li>
1983     
1984   </ul>
1985 </div>
1986 
1987           </div>
1988          
1989 
1989<script type="application/ld+json">
1990 {
1991   "@context": "https://schema.org",
1992   "@type": "Product",
1993   "name": "YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D",
1994   "image": "img/asepnggasihbenneryoweswd.webp",
1995   "description": "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.",
1996   "brand": {
1997     "@type": "Brand",
1998     "name": "YOWESWD "
1999   },
2000   "sku": "YOWESWD ",
2001   "mpn": "YOWESWD ",
2002   "url": "https://said.newjerseyjiujitsu.com/",
2003   "offers": {
2004     "@type": "Offer",
2005     "url": "https://said.newjerseyjiujitsu.com/",
2006     "priceCurrency": "USD",
2007     "price": "10.00",
2008     "priceValidUntil": "2025-12-25",
2009     "itemCondition": "https://schema.org/NewCondition",
2010     "availability": "https://schema.org/InStock",
2011     "seller": {
2012       "@type": "Organization",
2013       "name": "YOWESWD "
2014     }
2015   },
2016   "aggregateRating": {
2017     "@type": "AggregateRating",
2018     "ratingValue": "5.0",
2019     "reviewCount": 858
2020    },
2021  "review": [
2022    {
2023      "@type": "Review",
2024      "reviewRating": {
2025        "@type": "Rating",
2026        "ratingValue": "5",
2027        "bestRating": "5"
2028      },
2029      "author": {
2030        "@type": "Person",
2031        "name": "Hardy S."
2032      },
2033      "reviewBody": "YOWESWD telah membuktikan dirinya sebagai link utama bandar togel online dan situs toto terfavorit 2026. Sistem yang aman, transparan, dan pembayaran cepat membuatnya menjadi pilihan terbaik bagi pemain serius."
2034    },
2035    {
2036      "@type": "Review",
2037      "reviewRating": {
2038        "@type": "Rating",
2039        "ratingValue": "5",
2040        "bestRating": "5"
2041      },
2042      "author": {
2043        "@type": "Person",
2044        "name": "Aneh Jiwi"
2045      },
2046      "reviewBody": "Sebagai pemain lama, saya sangat puas dengan layanan YOWESWD. Pelayanan mereka jelas, profesional, dan terbukti komitmennya sebagai bandar togel terpercaya dengan keamanan tingkat tinggi."
2047    },
2048    {
2049      "@type": "Review",
2050      "reviewRating": {
2051        "@type": "Rating",
2052        "ratingValue": "5",
2053        "bestRating": "5"
2054      },
2055      "author": {
2056        "@type": "Person",
2057        "name": "Wildan Zebua"
2058      },
2059      "reviewBody": "YOWESWD menawarkan pengalaman bermain paling stabil dibandingkan situs togel lainnya. Link resminya cepat, hasil keluaran akurat, dan pelayanan selalu responsif. Layak menjadi pilihan utama para pemain di Asia."
2060    },
2061    {
2062      "@type": "Review",
2063      "reviewRating": {
2064        "@type": "Rating",
2065        "ratingValue": "5",
2066        "bestRating": "5"
2067      },
2068      "author": {
2069        "@type": "Person",
2070        "name": "Jawanto"
2071      },
2072      "reviewBody": "Situs toto ini tidak hanya terpercaya, tapi juga konsisten memberi layanan terbaik. YOWESWD tampil sebagai pusat togel 4D resmi dengan sistem modern yang sangat aman dan nyaman."
2073    },
2074    {
2075      "@type": "Review",
2076      "reviewRating": {
2077        "@type": "Rating",
2078        "ratingValue": "5",
2079        "bestRating": "5"
2080      },
2081      "author": {
2082        "@type": "Person",
2083        "name": "Yudha Merson"
2084      },
2085      "reviewBody": "Kualitas YOWESWD jauh di atas rata-rata. Mulai dari keamanan, kecepatan transaksi, hingga profesionalisme timnya, menunjukkan bahwa situs ini pantas menyandang gelar No.1di dunia togel online."   
2086    }
2087  ]
2088}
2089</script>
2089
2090 </script>
2090<script type="application/ld+json">
2091 {
2092   "@context": "https://schema.org",
2093   "@type": "BreadcrumbList",
2094   "itemListElement": [
2095     {
2096       "@type": "ListItem",
2097       "position": 1,
2098       "name": "YOWESWD ",
2099       "item": "https://said.newjerseyjiujitsu.com/"
2100     },
2101     {
2102       "@type": "ListItem",
2103       "position": 2,
2104       "name": "SITUS TOTO",
2105       "item": "https://said.newjerseyjiujitsu.com/"
2106     },
2107     {
2108       "@type": "ListItem",
2109       "position": 3,
2110       "name": "TOTO TOGEL",
2111       "item": "https://said.newjerseyjiujitsu.com/"
2112     },
2113     {
2114       "@type": "ListItem",
2115       "position": 4,
2116       "name": "TOGEL ONLINE",
2117       "item": "https://said.newjerseyjiujitsu.com/"
2118     },
2119     {
2120       "@type": "ListItem",
2121       "position": 5,
2122       "name": "BANDAR TOGEL",
2123       "item": "https://said.newjerseyjiujitsu.com/"
2124     },
2125     {
2126       "@type": "ListItem",
2127       "position": 6,
2128       "name": "LINK TOGEL",
2129       "item": "https://said.newjerseyjiujitsu.com/"
2130     },
2131     {
2132       "@type": "ListItem",
2133       "position": 7,
2134       "name": "BANDAR TOGEL RESMI",
2135       "item": "https://said.newjerseyjiujitsu.com/"
2136     },
2137     {
2138       "@type": "ListItem",
2139       "position": 8,
2140       "name": "YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D",
2141       "item": "https://said.newjerseyjiujitsu.com/"
2142     }
2143   ]
2144 }
2145 </script>
vendor: 2 bytes, line 2145
2145
2146<script type="application/ld+json">
2147{
2148  "@context": "https://schema.org",
2149  "@type": "FAQPage",
2150  "mainEntity": [
2151    {
2152      "@type": "Question",
2153      "name": "YOWESWD itu sebenarnya tempat apaan sih, bro?",
2154      "acceptedAnswer": {
2155        "@type": "Answer",
2156        "text": "YOWESWD adalah link utama bandar togel online yang beroperasi sebagai situs toto terfavorit 2026. Kami menawarkan layanan togel online resmi dengan sistem yang aman, hasil yang akurat, serta dukungan pasaran lengkap untuk memberikan pengalaman bermain terbaik"
2157      }
2158    },
2159    {
2160      "@type": "Question",
2161      "name": "Mengapa YOWESWD  dipercaya sebagai situs togel No.1 di Asia?",
2162      "acceptedAnswer": {
2163        "@type": "Answer",
2164        "text": "YOWESWD dipercaya sebagai situs toto terfavorit karena mengutamakan keamanan data, kecepatan transaksi, integritas hasil togel, serta komitmen pelayanan profesional 24/7. Reputasi dan konsistensi pelayanan menjadikan YOWESWD pilihan utama para pemain di Asia."
2165      }
2166    },
2167    {
2168      "@type": "Question",
2169      "name": "Kenapa kudu banget cobain konsultasi di YOWESWD?",
2170      "acceptedAnswer": {
2171        "@type": "Answer",
2172        "text": "YOWESWD menawarkan layanan unggulan berupa togel 4D resmi, pilihan pasaran internasional, fitur live result akurat, sistem keamanan berlapis, serta dukungan customer service nonstop. Semua layanan dirancang untuk memberikan pengalaman bermain yang aman, stabil, dan terpercaya."
2173      }
2174    },
2175    {
2176      "@type": "Question",
2177      "name": "Apakah YOWESWD  menyediakan informasi resmi tentang legalitasnya?",
2178      "acceptedAnswer": {
2179        "@type": "Answer",
2180        "text": "Ya.Halaman About Us YOWESWD menampilkan profil, legalitas, dan sistem operasional resmi yang digunakan. Informasi ini menjadi bukti transparansi dan komitmen kami dalam menjaga kepercayaan seluruh pemain."
2181      }
2182    },
2183    {
2184      "@type": "Question",
2185      "name": "Bagaimana cara memastikan bahwa link YOWESWD  resmi dan aman?",
2186      "acceptedAnswer": {
2187        "@type": "Answer",
2188        "text": "Pemain dapat memastikan keaslian link YOWESWD melalui informasi pada halaman About Us, penggunaan protokol keamanan HTTPS, serta akses ke tampilan situs yang konsisten dan stabil. **YOWESWD** tidak pernah meminta data sensitif selain yang dibutuhkan untuk pendaftaran."
2189      }
2190    },
2191    {
2192      "@type": "Question",
2193      "name": "Apakah YOWESWD  menyediakan pasaran togel lengkap dari Asia dan internasional?",
2194      "acceptedAnswer": {
2195        "@type": "Answer",
2196        "text": "YOWESWD menyediakan berbagai pasaran resmi seperti Singapore, Hongkong, Macau, Sydney, Japan, Cambodia, hingga Taiwan. Semua pasaran diperbarui secara real-time dan diambil dari sumber resmi terpercaya."
2197      }
2198    },
2199    {
2200      "@type": "Question",
2201      "name": "Bagaimana pelayanan pelanggan di YOWESWD ?",
2202      "acceptedAnswer": {
2203        "@type": "Answer",
2204        "text": "YOWESWD memiliki customer service profesional yang aktif 24 jam setiap hari. Tim kami siap membantu pemain dalam menangani kendala pendaftaran, transaksi, hingga informasi seputar pasaran togel dengan cepat dan ramah."
2205      }
2206    }
2207  ]
2208}
2209</script>
2209
2210 
2210<script type="application/ld+json">
2211 {
2212   "@context": "https://schema.org",
2213   "@type": "Organization",
2214   "name": "YOWESWD ",
2215   "url": "https://said.newjerseyjiujitsu.com/",
2216   "logo": "img/asepnggasihlogoyoweswd.webp",
2217   "sameAs": [
2218     "https://www.facebook.com/YOWESWD",
2219     "https://twitter.com/YOWESWD",
2220     "https://www.instagram.com/YOWESWD"
2221   ],
2222   "contactPoint": {
2223     "@type": "ContactPoint",
2224     "telephone": "+62-8946-113-4615",
2225     "contactType": "customer support",
2226     "areaServed": "ID",
2227     "availableLanguage": ["Indonesian", "English"]
2228   }
2229 }
2230 </script>
2230
2231 
2232 
2232<script type="application/ld+json">
2233 {
2234   "@context": "https://schema.org",
2235   "@type": "VideoObject",
2236   "name": "YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D",
2237   "description": "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.",
2238   "thumbnailUrl": [
2239     "img/asepnggasihbenneryoweswd.webp",
2240     "img/asepnggasihbenneryoweswd.webp"
2241   ],
2242   "uploadDate": "2025-09-28T04:19:10-04:00",
2243   "duration": "PT168",
2244   "contentUrl": "https://said.newjerseyjiujitsu.com/"
2245 }
2246 </script>
2246
2247 
2248 
2248<script type="application/ld+json">
2249 {
2250   "@context": "https://schema.org",
2251   "@type": "BreadcrumbList",
2252   "itemListElement": [
2253     {
2254       "@type": "ListItem",
2255       "position": 1,
2256       "name": "Home",
2257       "item": "https://said.newjerseyjiujitsu.com/"
2258     }
2259   ]
2260 }
2261 </script>
2261
2262 
2263 
2263<script type="application/ld+json">
2264 {
2265   "@context": "https://schema.org",
2266   "@graph": [
2267     {
2268       "@type": "Organization",
2269       "@id": "https://said.newjerseyjiujitsu.com/#org",
2270       "name": "YOWESWD ",
2271       "url": "https://said.newjerseyjiujitsu.com/",
2272       "logo": "img/asepnggasihbenneryoweswd.webp"
2273     },
2274     {
2275       "@type": "WebSite",
2276       "@id": "https://said.newjerseyjiujitsu.com/#website",
2277       "url": "https://said.newjerseyjiujitsu.com/",
2278       "name": "YOWESWD ",
2279       "publisher": { "@id": "https://said.newjerseyjiujitsu.com/#org" },
2280       "inLanguage": "id-ID",
2281       "potentialAction": {
2282         "@type": "SearchAction",
2283         "target": "https://said.newjerseyjiujitsu.com/?s={search_term_string}",
2284         "query-input": "required name=search_term_string"
2285       }
2286     },
2287     {
2288       "@type": "SoftwareApplication",
2289       "@id": "https://said.newjerseyjiujitsu.com/#app",
2290       "name": "YOWESWD ",
2291       "applicationCategory": "GameApplication",
2292       "operatingSystem": "Android, iOS, Windows",
2293       "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" },
2294       "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 }
2295     }
2296   ]
2297 }
2298 </script>
2298
2299         
2300 <div id="shopify-section-Product" class="shopify-section product-section mt-0"><link href="https://asset-jko.b-cdn.net/footer-warna.css" rel="stylesheet" type="text/css" media="all" />
2301 
2302 
2303 <style>
2304     .bg-card {
2305     background-color: #000000;
2306 }
2307     </style>
2308 
2309 <!-- /templates/product.liquid -->
2310 
2311 
2312 <!-- <div itemscope itemtype="http://schema.org/Product"> -->
2313 
2314 
2315 <div class="product-standing-flower" data-product-type="flowerBoard">
2316   <meta itemprop="url" content="https://said.newjerseyjiujitsu.com/">
2317   <meta itemprop="image" content="img/asepnggasihbenneryoweswd.webp">
2318 
2319   
2320   
2321   <input id="data-sku" type="hidden" value="OBVSTF1086">
2322   <div class="product-single" style="background-image: url(img/asepnggasihbenneryoweswd.webp); background-attachment: fixed;">
2323     <div id="product-top" class="container">
2324       <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;">
2325         <div id="product-image" class="col-lg-7 text-center">
2326           <div class="product-image">
2327             <div class="row no-gutters">
2328   
2329   <div id="product-featured-image" class="row w-100">
2330     
2331       <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block">
2332         
2333         <div class="swiper-container gallery-thumbs" style="min-height: 500px">
2334           <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx">
2335 
2336                   <li class="swiper-slide" data-type="image">
2337                     <a
2338                       href="files/Blossom-Shine-WM.jpg"
2339                       data-standard="img/asepnggasihbenneryoweswd.webp"
2340                       data-image="files/Blossom-Shine-WM.jpg"
2341                       data-position="1"
2342                       class="product-single__thumbnail"
2343                     >
2344                       <img
2345                         class="lazyload w-100"
2346                         src="img/asepnggasihbenneryoweswd.webp"
2347                         alt="YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D"
2348                         width=""
2349                         height=""
2350                       >
2351                     </a>
2352                   </li>
2353                 
2354               
2355             
2356 
2357                   <li class="swiper-slide" data-type="image">
2358                     <a
2359                       href="img/asepnggasihbenneryoweswd.webp"
2360                       data-standard="img/asepnggasihbenneryoweswd.webp"
2361                       data-image="img/asepnggasihbenneryoweswd.webp"
2362                       data-position="2"
2363                       class="product-single__thumbnail"
2364                     >
2365                       <img
2366                         class="lazyload w-100"
2367                         src="img/asepnggasihbenneryoweswd.webp"
2368                         alt="YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D"
2369                         width=""
2370                         height=""
2371                       >
2372                     </a>
2373                   </li>
2374                 
2375               
2376             
2377 
2378                   <li class="swiper-slide" data-type="image">
2379                     <a
2380                       href="files/Blossom-Shine_3-WM.jpg"
2381                       data-standard="img/asepnggasihbenneryoweswd.webp"
2382                       data-image="files/Blossom-Shine_3-WM.jpg"
2383                       data-position="3"
2384                       class="product-single__thumbnail"
2385                     >
2386                       <img
2387                         class="lazyload w-100"
2388                         src="img/asepnggasihbenneryoweswd.webp"
2389                         alt="YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D"
2390                         width=""
2391                         height=""
2392                       >
2393                     </a>
2394                   </li>
2395                 
2396               
2397             
2398 
2399                   <li class="swiper-slide" data-type="image">
2400                     <a
2401                       href="files/Blossom-Shine_4.jpg"
2402                       data-standard="img/asepnggasihbenneryoweswd.webp"
2403                       data-image="files/Blossom-Shine_4.jpg"
2404                       data-position="4"
2405                       class="product-single__thumbnail"
2406                     >
2407                       <img
2408                         class="lazyload w-100"
2409                         src="img/asepnggasihbenneryoweswd.webp"
2410                         alt="YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D"
2411                         width=""
2412                         height=""
2413                       >
2414                     </a>
2415                   </li>
2416                 
2417               
2418             
2419           </ul>
2420         </div>
2421         
2422       </div>
2423     
2424     <div
2425       id="featured-image-product"
2426       class="col-lg-10 col-12 d-none d-lg-block"
2427     >
2428       <div class="swiper-container gallery-top">
2429         <div class="swiper-slide product-single__image">
2430           
2431 <div class="product-single__photos slider slider-for" id="ProductPhoto">
2432   
2433 
2434   <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails">
2435     <a href="img/asepnggasihbenneryoweswd.webp">
2436       <img
2437         src="img/asepnggasihbenneryoweswd.webp"
2438         alt="YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D"
2439         id="ProductPhotoImg"
2440         class="lazyload"
2441       >
2442       
2443     </a>
2444   </div>
2445 </div>
2446 
2447         </div>
2448         <div class="swiper-slide product-single__video" style="display: none">
2449           <video
2450             src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4"
2451             playsinline
2452             loop
2453             muted
2454           ></video>
2455         </div>
2456       </div>
2457     </div>
2458   </div>
2459 
2460   <div id="featured-image-product2" class="col-12 d-lg-none">
2461     <div class="swiper-container gallery-mobile">
2462       <ul class="swiper-wrapper">
2463 <li class="swiper-slide img">
2464               
2465                 <img
2466                   class="swiper-lazy"
2467                   src="img/asepnggasihbenneryoweswd.webp"
2468                   data-src="img/asepnggasihbenneryoweswd.webp"
2469                   alt="YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D"
2470                   width=""
2471                   height=""
2472                 >
2473               
2474             </li>
2475           
2476         
2477 <li class="swiper-slide img">
2478               
2479                 <img
2480                   class="swiper-lazy"
2481                   src="img/asepnggasihbenneryoweswd.webp"
2482                   data-src="img/asepnggasihbenneryoweswd.webp"
2483                   alt="YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D"
2484                   width=""
2485                   height=""
2486                 >
2487               
2488             </li>
2489           
2490         
2491 <li class="swiper-slide img">
2492               
2493                 <img
2494                   class="swiper-lazy"
2495                   src="img/asepnggasihbenneryoweswd.webp"
2496                   data-src="img/asepnggasihbenneryoweswd.webp"
2497                   alt="YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D"
2498                   width=""
2499                   height=""
2500                 >
2501               
2502             </li>
2503           
2504         
2505 <li class="swiper-slide img">
2506               
2507                 <img
2508                   class="swiper-lazy"
2509                   src="img/asepnggasihbenneryoweswd.webp"
2510                   data-src="img/asepnggasihbenneryoweswd.webp"
2511                   alt="YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D"
2512                   width=""
2513                   height=""
2514                 >
2515               
2516             </li>
2517           
2518         
2519       </ul>
2520       
2521         <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="img/asepnggasihlogoyoweswd.webp" width="7" height="12" viewBox="0 0 7 12"> <circle cx="60%" cy="50%" r="12" fill="transparent" /> <path d="M6.35355339,10.6464466 C6.54881554,10.8417088 6.54881554,11.1582912 6.35355339,11.3535534 C6.15829124,11.5488155 5.84170876,11.5488155 5.64644661,11.3535534 L0.646446609,6.35355339 C0.451184464,6.15829124 0.451184464,5.84170876 0.646446609,5.64644661 L5.64644661,0.646446609 C5.84170876,0.451184464 6.15829124,0.451184464 6.35355339,0.646446609 C6.54881554,0.841708755 6.54881554,1.15829124 6.35355339,1.35355339 L1.70710678,6 L6.35355339,10.6464466 Z"/> </svg></div>
2522         <div class="swiper-button-next"><svg xmlns="img/asepnggasihlogoyoweswd.webp" width="7" height="10" viewB
2522ox="0 0 7 10" fill="none">
2523     <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"/>
2524 </svg></div>
2525 
2526         <!-- Add Pagination -->
2527         <div class="swiper-pagination"></div>
2528       
2529     </div>
2530   </div>
2531 
2532   <div class="product-m-pageleb-video col-12 text-center d-lg-none">
2533     <!-- product video -->
2534     <style>
2535       .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;}
2536       .view-video .icon-play{fill:#ffffff;vertical-align: middle;}
2537       .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;}
2538       .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;}
2539       .close-video .icon{width:30px;height:30px;}
2540       /*responsive iframe */
2541       .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);}
2542       .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;}
2543 
2544       .youtube {
2545         background-color: #000;
2546         margin-bottom: 30px;
2547         position: relative;
2548         padding-top: 56.25%;
2549         overflow: hidden;
2550         cursor: pointer;
2551         width: 100%;
2552       }
2553       .swiper-slide .youtube {
2554         max-width: 480px;
2555       }
2556       .youtube img {
2557         width: 100%;
2558         top: -16.82%;
2559         left: 0;
2560         opacity: 0.7;
2561       }
2562       .youtube .play-button {
2563         width: 90px;
2564         height: 60px;
2565         background-color: #333;
2566         box-shadow: 0 0 30px rgba( 0,0,0,0.6 );
2567         z-index: 1;
2568         opacity: 0.8;
2569         border-radius: 6px;
2570       }
2571       .youtube .play-button:before {
2572         content: "";
2573         border-style: solid;
2574         border-width: 15px 0 15px 26.0px;
2575         border-color: transparent transparent transparent #fff;
2576       }
2577       .youtube img,
2578       .youtube .play-button {
2579         cursor: pointer;
2580       }
2581       .youtube img,
2582       .youtube iframe,
2583       .youtube .play-button,
2584       .youtube .play-button:before {
2585         position: absolute;
2586       }
2587       .youtube .play-button,
2588       .youtube .play-button:before {
2589         top: 50%;
2590         left: 50%;
2591         transform: translate3d( -50%, -50%, 0 );
2592       }
2593       .youtube iframe {
2594         height: 100%;
2595         width: 100%;
2596         top: 0;
2597         left: 0;
2598       }
2599     </style>
2600     
2601   </div>
2602 </div>
2603 <div class="product-desc-add position-relative d-none d-lg-block m-0">
2604 
2605 </div>
2606 
2607 
2607<script>
2608   if ($(window).width() < 991) {
2609     var direction = 'horizontal'
2610   } else {
2611     var direction = 'vertical'
2612     $(".gallery-thumbs").height($("#ProductPhotoImg").height())
2613   }
2614   var swiper = new Swiper('.gallery-thumbs', {
2615     
2616     direction,
2617     slidesPerView: 4.5,
2618     spaceBetween: 12,
2619     navigation: {
2620       nextEl: '.swiper-button-next',
2621       prevEl: '.swiper-button-prev',
2622     }
2623   });
2624   
2625   var swiper = new Swiper('.gallery-mobile', {
2626     //loop: true,
2627     lazy: true,
2628     speed: 300,
2629     resistance : true,
2630     resistanceRatio : 0,
2631     freeModeMomentumRatio : 0.45,
2632     freeModeMomentumVelocityRatio : 1.5,
2633     navigation: {
2634       nextEl: '.swiper-button-next',
2635       prevEl: '.swiper-button-prev',
2636     },
2637     pagination: {
2638       el: '.swiper-pagination'
2639     },
2640     useCSS3Transforms: false,
2641     loop: false,
2642     on: {
2643       init: function () {
2644         console.log('swiper initialized');
2645         var currentVideo =  $("[data-swiper-slide-index=" + this.realIndex + "]").find("video");
2646         currentVideo.trigger('play');
2647       },
2648     },
2649   });
2650 
2651   /* GET ALL VIDEOS */
2652   var sliderVideos = $(".swiper-slide video");
2653   
2654   /* SWIPER API - Event will be fired after animation to other slide (next or previous) */
2655   swiper.on('slideChange', function () {
2656     console.log('slide changed');
2657     /* stop all videos  */
2658     sliderVideos.each(function( index ) {
2659       this.currentTime = 0;
2660     });
2661   
2662     /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */
2663     var prevVideo =  $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video");
2664     var currentVideo =  $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video");
2665     prevVideo.trigger('stop');
2666     currentVideo.trigger('play');
2667   });
2668   
2669 
2670   $("[data-video]").click(function(){
2671     const file = $(this).data("video")
2672     $(".product-single__video").show()
2673     $(".product-single__image").hide()
2674     $(".product-single__video").find("video").attr("src", file)
2675     $(".product-single__video").find("video")[0].play();
2676   })
2677   $("[data-image]").click(function(){
2678     $(".product-single__video").hide()
2679     $(".product-single__image").show()
2680     $(".product-single__video").find("video")[0].pause();
2681   })
2682 
2683   $("#product-image .swiper-slide").each(function(){
2684     let width = $(this).width()
2685     $(this).height(width)
2686   })
2687 
2688   $(window).resize(function() {
2689     $("#product-image .swiper-slide").each(function(){
2690       let width = $(this).width()
2691       $(this).height(width)
2692     })
2693   })
2694 </script>
2694
2695 
2696           </div>
2697<style>
2698 .icon-img-footer {
2699     width: 80px; 
2700     padding: 0px 5px;
2701 }
2702 @media (min-width: 768px) {
2703     .icon-img-footer {
2704         width: 120px; 
2705     }
2706 }
2707 @media (min-width: 992px) {
2708     .icon-img-footer {
2709         width: 120px; 
2710     }
2711 }
2712
2713 :root {
2714     --brand: #00fffb;
2715     --brand-mid: #009297;
2716     --brand-dark: #006962;
2717     --border: #e5e7eb;
2718     --bg: #fff;
2719     --shadow: 0 6px 15px rgba(0, 0, 0, .08);
2720 }
2721
2722 .app-card {
2723     max-width: 650px;
2724     margin: 25px auto;
2725     background: var(--bg);
2726     border-radius: 14px;
2727     overflow: hidden;
2728     box-shadow: var(--shadow);
2729     border: 1px solid var(--border);
2730     transition: transform .2s, box-shadow .3s;
2731     font-family: system-ui, Arial, sans-serif;
2732     font-size: .92rem;
2733 }
2734
2735 .app-card:hover {
2736     transform: translateY(-2px);
2737     box-shadow: 0 10px 25px rgba(0, 0, 0, .12);
2738 }
2739
2740 .app-header {
2741     padding: 12px 16px;
2742     text-align: center;
2743     background: linear-gradient(135deg, #000000, #5d5d5d, #000000);
2744     color: #fff;
2745     font-weight: 800;
2746     font-size: 1.15rem;
2747     text-shadow: 0 1px 2px rgba(0, 0, 0, .3);
2748 }
2749
2750 .app-table {
2751     width: 100%;
2752     border-collapse: collapse;
2753 }
2754
2755 .app-table th,
2756 .app-table td {
2757     padding: 8px 12px;
2758     vertical-align: middle;
2759 }
2760
2761 .app-table th {
2762     width: 35%;
2763     background: #e7e7e7;
2764     color: #585858;
2765     font-weight: 700;
2766     letter-spacing: .2px;
2767     text-transform: uppercase;
2768     font-size: .85rem;
2769 }
2770
2771 .app-table td {
2772     border-bottom: 1px solid var(--border);
2773     color: #1f1f1f;
2774     font-size: .9rem;
2775     text-align: center;
2776 }
2777
2778 @media (max-width: 640px) {
2779     .app-table,
2780     .app-table tbody,
2781     .app-table tr,
2782     .app-table th,
2783     .app-table td {
2784         display: block;
2785         width: 100%;
2786     }
2787 }
2788
2789 .review-section {
2790     max-width: 850px;
2791     margin: 30px auto;
2792     display: flex;
2793     flex-direction: column;
2794     gap: 18px;
2795     font-family: system-ui, Arial, sans-serif;
2796 }
2797
2798 .review-card {
2799     background: #000000;
2800     padding: 16px 20px;
2801     border-radius: 10px;
2802     border-left: 5px solid #c60e00;
2803     box-shadow: 0 3px 6px rgba(0, 0, 0, .05);
2804     transition: all .25s ease-in-out;
2805 }
2806
2807 .review-card:hover {
2808     transform: translateY(-3px);
2809     box-shadow: 0 5px 10px rgba(0, 0, 0, .08);
2810 }
2811
2812 .review-author {
2813     font-weight: 700;
2814     color: #ffc61c;
2815     margin-bottom: 4px;
2816     display: flex;
2817     align-items: center;
2818     gap: 6px;
2819     font-size: .92rem;
2820 }
2821
2822 .review-author::before {
2823     content: "👤";
2824     font-size: 1rem;
2825 }
2826
2827 .review-card p {
2828     margin: 0;
2829     color: #d3d3d3;
2830     font-size: .94rem;
2831 }
2832
2833 .review-rating {
2834     margin-left: auto;
2835     font-weight: 700;
2836 }
2837
2838 .stars {
2839     --rating: 5;
2840     --star-size: 1rem;
2841     --star-gap: 2px;
2842     --star-empty: #e5e7eb;
2843     --star-fill: #f4c430;
2844     position: relative;
2845     display: inline-block;
2846     font-size: var(--star-size);
2847     line-height: 1;
2848     letter-spacing: var(--star-gap);
2849 }
2850
2851 .stars::before {
2852     content: "★★★★★";
2853     color: var(--star-empty);
2854 }
2855
2856 .stars::after {
2857     content: "★★★★★";
2858     color: var(--star-fill);
2859     position: absolute;
2860     left: 0;
2861     top: 0;
2862     width: calc((var(--rating) / 5) * 100%);
2863     overflow: hidden;
2864     white-space: nowrap;
2865     pointer-events: none;
2866 }
2867
2868 .stars.lg {
2869     --star-size: 1.1rem;
2870     letter-spacing: 3px;
2871 }
2872
2873 .badge {
2874     display: inline-flex;
2875     align-items: center;
2876     gap: 8px;
2877     flex-wrap: wrap;
2878 }
2879
2880 .badge small {
2881     color: #555;
2882     font-weight: 600;
2883 }
2884.title-testimoni {
2885    background: linear-gradient(90deg, #000ecb, #0039b3, #0012b1);
2886    color: #000;
2887    padding: 12px 25px;
2888    text-align: center;
2889    font-size: 1.3rem;
2890    font-weight: 800;
2891    border-radius: 10px;
2892    box-shadow: 0 0 18px rgba(255, 193, 7, 0.5);
2893    width: fit-content;
2894    margin: 25px auto;
2895    letter-spacing: 1px;
2896}  
2897</style>
2898<h2 class="title-testimoni">TESTIMONI PARA PEMAIN</h2>
2899<div class="grid__item_product-info mb-3">
2900   <div class="c-pdp-product-info">
2901      <ul class="c-pdp-product-info__service c-pdp-product-info__service--active">
2902
2903         <div class="review-section">
2904
2905            <div class="review-card">
2906                <div class="review-author">
2907                    rizky_prediktor99
2908                    <span class="review-rating stars" style="--rating: 5"></span>
2909                </div>
2910                <p>
2911                    Awalnya iseng nyoba konsultasi di YOWESWD, eh ternyata hasil analisanya tembus juga. Prediksinya lumayan presisi, bikin makin pusing!
2912                </p>
2913            </div>
2914
2915            <div class="review-card">
2916                <div class="review-author">
2917                    @devina_maharani21
2918                    <span class="review-rating stars" style="--rating: 4.8"></span>
2919                </div>
2920                <p>
2921                    Layanan CS YOWESWD ramah banget pas gue nanya-nanya. Prosesnya cepet, penjelasannya simpel, dan ramalannya berasa ga asal tebak.
2922                </p>
2923            </div>
2924
2925            <div class="review-card">
2926                <div class="review-author">
2927                    @bayu_putra_22
2928                    <span class="review-rating stars" style="--rating: 4.9"></span>
2929                </div>
2930                <p>
2931                    Gue suka sama tampilan websiteto yang simpel dan ga ribet. Konsultasi Toto 4D di YOWESWD beneran ngebantu banget bro!
2932                </p>
2933            </div>
2934
2935            <div class="review-card">
2936                <div class="review-author">
2937                    @santi_widya88
2938                    <span class="review-rating stars" style="--rating: 4.9"></span>
2939                </div>
2940                <p>
2941                    Bukan kaleng-kaleng sih hitungan angka di YOWESWD ini. Baru pertama gabung udah berasa dapet pencerahan yang racikannya jos!
2942
2943                </p>
2944            </div>
2945            <div class="review-card">
2946                <div class="review-author">
2947                    jar_hidayat07
2948                    <span class="review-rating stars" style="--rating: 4.9"></span>
2949                </div>
2950                <p>
2951Recomended banget buat yang cari saran angka akurat. YOWESWD ngasih analisa rapi, bukan cuma sekadar imajinasi atau hoki semata.
2952
2953                </p>
2954            </div>          
2955
2956         </div>
2957
2958      
2959           
2960           
2961         </ul>
2962       </div>
2963     </div>
2964   
2965 
2966 
2967 
2968 
2969 
2970 
2970<script>
2971   $(document).ready(function(){
2972     if ( $(".c-pdp-product-info__service li").length == 1 ) {
2973       $(".c-pdp-product-info__service").addClass("no-bullet");
2974       $(".c-pdp-product-info__service li").addClass("no-bullets");
2975     }
2976   });
2977 </script>
2977
2978 
2979   
2980 
2981 
2982 
2983   
2984 
2985   
2986 
2987 
2988             
2989           
2990         </div>
2991         <div id="product-meta" class="col-lg-5 p-0">
2992           <div class="product-meta">
2993             <style>
2994   .product-meta--review {margin-top:10px}
2995   .freeship * {font-size: 14px !important;font-style: normal;}
2996 </style>
2997 <h1 itemprop="name" class="mb-2" style="color: rgb(255, 238, 0); font-weight: bold;">YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D</h1>
2998 
2999 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
3000   <meta itemprop="priceCurrency" content="IDR">
3001 
3002   <link itemprop="availability" href="https://schema.org/InStock">
3003   
3003<script
3004     type="text/javascript"
3005     src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons"
3006     async="async"
3007   ></script>
3007
3008   
3009 
3010   
3011 
3012   <span class="visually-hidden">Translation missing: en.products.general.regular_price</span>
3013   
3014     <span class="visually-hidden">Translation missing: en.products.general.sale_price</span>
3015   
3016   <div class="row no-gutters mb-3">
3017     <span
3018       id="ProductPrice"
3019       class="h2 ProductPrice"
3020       itemprop="price"
3021       content="835000" style="color: #ffffff;"
3022     >
3023       Rp 5.000
3024     </span>
3025     <div class="discount-product-detail">
3026       <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0">
3027         Rp 50.000
3028       </p>
3029       <span class=" tag-discount">
3030         
3031           
3032           <span id="newDiscount" class="product-tag persentase-discount hide"> 
3033       (95%)
3034       </span><br>
3035         
3036       </span>
3037     </div>
3038   </div>
3039 
3040   <div class="row no-gutters meta-sds">
3041     <div class="col-12 mb-2 mb-lg-0 stock-info">
3042       
3043       
3044       <span
3045         id="ProductStock-Product"
3046         class="product-single__stock mb-2 hide"
3047       >
3048         
3049           
3050             
3051               
3052               Barang dikirim pada 
3053             
3054           
3055         
3056       </span>
3057 
3058       <style>
3059     .short-desc-desktop {
3060         margin-bottom: 2rem;
3061         color: white;
3062     }
3063     .short-desc ul li:nth-child(n + 4) {
3064         display: none;
3065     }
3066     .short-desc ul li.showList:nth-child(n + 4) {
3067         display: list-item;
3068     }
3069     label.more {
3070         display: none;
3071     }
3072     label.more.showMe {
3073         display: block;
3074         font-size: 12px;
3075         text-transform: uppercase;
3076         font-weight: 700;
3077         cursor: pointer;
3078     }
3079 </style>
3080 
3081     <div class="short-desc-desktop d-none d-lg-block">
3082         <div class="short-desc">
3083            
3084 <p>Dalam era modern saat ini, menemukan panduan kredibel sering menjadi tantangan bagi para penggemar permainan angka. Pemain membutuhkan platform tepercaya yang menyajikan analisis mendalam. Di sinilah <a href="https://newjerseyjiujitsu.com/" class="premium-link" style="color:#FFD700;">YOWESWD</a> hadir sebagai solusi utama yang menyediakan layanan konsultasi togel online berstandar profesional. Pendekatan sistematis berbasis data memastikan setiap pengguna mendapat wawasan benar-benar akurat.
3085</p>
3086<p>
3087 Keunggulan layanan ini terletak pada tim pakar yang khusus meriset pergerakan pasar Toto 4D internasional setiap hari. Setiap rekomendasi dari <a href="https://newjerseyjiujitsu.com/" class="premium-link" style="color:#FFD700;">YOWES WD</a> selalu melewati tahapan kurasi ketat dengan memadukan algoritma probabilitas dan pengalaman ahli. Hasil analisis tersebut bukanlah tebakan kosong, melainkan prediksi terukur untuk memberikan panduan strategis bagi para member aktif. 
3088</P>        
3089         </div>
3090         <label class="more">Show More →</label>
3091     </div><br>
3092 
3093 
3094 
3094<script>
3095     var liCount;
3096     $(document).ready(function () {
3097         $(".short-desc ul").each(function() {
3098             liCount = $(this).children("li").length;
3099             if (liCount > 3) {
3100                 $(this).parent(".short-desc").next(".more").addClass("showMe");
3101             }
3102         });
3103 
3104         $(".more").click(function () {
3105             //$(".short-desc").find("li").addClass("showList");
3106             // $(this).hide();
3107             $("#product-desc").find("ul").show()
3108             $('html, body').animate({
3109                 scrollTop: $("#product-desc").offset().top - 250
3110             }, 2000);
3111             $("#product-desc").css("height","auto");
3112             $("#more_content").remove();
3113             $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>")
3114         });
3115     });
3116 </script>
3116
3117 
3118       
3119     </div>
3120   </div>
3121 
3122   <div id="purchaseProduct">
3123   
3124   
3125 
3126 
3127 <style>
3128   .variant-metafield {
3129     display: block!important;
3130     width: 1px;
3131     padding: 0;
3132     border-color: #fff;
3133   }
3134   .select2-results__option[aria-disabled] {
3135     display: none;
3136   }
3137 
3138   .towel-bordir {
3139     width: 100%;
3140     display: flex;
3141     align-items: center;
3142     justify-content: space-around;
3143   }
3144 </style>
3145 
3146 
3147 
3148 
3149 
3149<script>
3150   
3151   
3152 </script>
3152
3153 
3154 
3155 
3156 
3157 
3158 
3159 <select
3160   name="id[]"
3161   id="productSelect"
3162   class="product-single__variants ignore hide hide"
3163 >
3164   
3165     
3166       
3167       <option
3168         
3169           selected="selected"
3170         
3171         data-sku="OBVSTF1086"
3172         value="44083045826775"
3173       >
3174         Default Title
3175       </option>
3176 
3177     
3178   
3179 </select>
3180 
3181 
3181<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
3181
3182 
3183 
3183<script>
3184   $('.size-chart-open-popup').magnificPopup({
3185     type:'inline',
3186     midClick: true
3187   });
3188 </script>
3188
3189 
3190   
3191   
3192   
3193   <div class="upload-image-preview">
3194     
3195     
3196     
3197     
3198     
3199     <style>
3200   .file-dnd * {
3201     margin: 0;
3202     padding: 0;
3203     box-sizing: border-box;
3204   }
3205   .file-dnd {
3206     width: 100%;
3207     height: 250px;
3208     border: 1px solid #ddd;
3209     border-radius: 10px;
3210     padding: 15px;
3211     display: flex;
3212     flex-direction: column;
3213     gap: 10px;
3214     /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */
3215     margin: auto;
3216   }
3217   .file-dnd input {
3218     display: none;
3219   }
3220   .file-dnd .before-upload {
3221     border: 1px dashed #888;
3222     flex: 1;
3223     border-radius: 5px;
3224     display: flex;
3225     justify-content: center;
3226     align-items: center;
3227     text-align: center;
3228     cursor: pointer;
3229   }
3230   .file-dnd .before-upload > div {
3231     display: flex;
3232     flex-direction: column;
3233     align-items: center;
3234     gap: 8px;
3235   }
3236   .file-dnd .before-upload > div h4 {
3237     width: 150px;
3238   }
3239   .file-dnd .before-upload > div p {
3240     font-size: 12px !important;
3241     color: #555;
3242   }
3243   .file-dnd.active .before-upload {
3244     border: 1px solid #5750d9;
3245     background-color: #f5f5ff;
3246   }
3247   .file-dnd .after-upload {
3248     position: relative;
3249     display: none;
3250   }
3251   .file-dnd .after-upload img {
3252     width: 100%;
3253     border-radius: 5px;
3254     max-height: 180px;
3255     object-fit: contain;
3256     display: block;
3257   }
3258   .file-dnd .after-upload .clear-btn {
3259     position: absolute;
3260     top: 10px;
3261     right: 10px;
3262     background: rgba(0, 0, 0, 0.5);
3263     width: 15px;
3264     height: 15px;
3265     text-align: center;
3266     line-height: 15px;
3267     border-radius: 50%;
3268     color: #fff;
3269     cursor: pointer;
3270     font-size: 14px;
3271   }
3272 </style>    
3273      
3274</div> 
3275     
3276 <div
3277   class="file-dnd mb-3"
3278   
3279     style="display: none"
3280   
3281 >
3282   <label for="upload-photo">Upload your Photo:</label>
3283   <input type="file" id="upload-photo" accept="image/*">
3284   <input type="hidden" data-properties="Photo">
3285   <div class="before-upload">
3286     <div>
3287       <svg id="surface1" xmlns="img/asepnggasihlogoyoweswd.webp" width="33.053" height="41.719" viewBox="0 0 33.053 41.719">
3288   <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>
3289   <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>
3290   <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>
3291 </svg>
3292 
3293       <h4>Drag & Drop Photo file or Browse</h4>
3294       <p>Supports: JPEG, PNG, GIF, TIFF</p>
3295     </div>
3296   </div>
3297   <div class="after-upload">
3298     <div class="clear-btn">&times;</div>
3299     <img src="" width="" height="">
3300   </div>
3301 </div>
3302 
3302<script>
3303   function applyDndFile(el) {
3304     const parent = document.querySelector(".file-dnd")
3305     const beforeUploadEl = el.querySelector(".before-upload")
3306     const afterUploadEl = el.querySelector(".after-upload")
3307     const inputFile = el.querySelector("input[type=file]")
3308     const imagePreview = el.querySelector(".after-upload img")
3309     const clearBtn = el.querySelector(".after-upload .clear-btn")
3310     const inputProps = parent.querySelector("[data-properties]");
3311 
3312     async function upload(name, uri, type) {
3313       try {
3314         const filename = name.split('.')[0]
3315         let formData = new FormData(); 
3316         formData.append("file", uri);
3317         const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, {
3318           method: "POST", 
3319           body: formData
3320         })
3321         if(response) {
3322           const res = await response.json()
3323           return res
3324         }
3325       } catch(err){
3326         console.log(err)
3327       }
3328     }
3329 
3330     function showImagePreview(img) {
3331       if(img){
3332         const blobUrl = URL.createObjectURL(img)
3333         imagePreview.src = blobUrl
3334         afterUploadEl.style.display = "block"
3335         beforeUploadEl.style.display = "none"
3336       }
3337     }
3338 
3339     beforeUploadEl.addEventListener("click", (e) => {
3340       e.preventDefault()
3341       inputFile.click()
3342     })
3343 
3344     inputFile.addEventListener("change", async (e) => {
3345       e.preventDefault()
3346       showImagePreview(e.target.files[0])
3347       var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type)
3348       inputProps.value = uploadData?.url
3349     })
3350 
3351     clearBtn.addEventListener("click", (e) => {
3352       afterUploadEl.style.display = "none"
3353       beforeUploadEl.style.display = "flex"
3354       inputProps.value = ""
3355     })
3356 
3357     beforeUploadEl.addEventListener("dragover", (e) => {
3358       e.preventDefault()
3359       el.classList.add("active")
3360     })
3361 
3362     beforeUploadEl.addEventListener("dragleave", (e) => {
3363       e.preventDefault()
3364       el.classList.remove("active")
3365     })
3366 
3367     beforeUploadEl.addEventListener("drop", async (e) => {
3368       e.preventDefault()
3369       el.classList.remove("active")
3370       showImagePreview(e.dataTransfer.files[0])
3371       var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type)
3372       console.log(uploadData)
3373       inputProps.value = uploadData?.url
3374     })
3375   }
3376 
3377   applyDndFile(document.querySelector(".file-dnd"))
3378 
3379   $(document).ready(function(){
3380     $(".variant-swatch").change(function(){
3381       const v = $(this).val().toLowerCase()
3382       const list = ["photo", "custom one side", "custom two side", "small", "big"]
3383       if(list.some(item => v.includes(item))) return $(".file-dnd").show()
3384       $(".file-dnd").hide()
3385       $(".file-dnd").find("[data-properties]").val("")
3386       $(".after-upload").hide()
3387       $(".before-upload").css("display", "flex")
3388     })
3389   })
3390 </script>
3390
3391 
3392   </div>
3393   
3394     
3395     <div class="delivery-city mb-4">
3396         <a href="https://said.newjerseyjiujitsu.com/">
3397        <center><img src="img/asepnggasihlogoyoweswd.webp" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br>
3398   <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(236, 236, 67);">SEKARANG WAKTUNYA DAFTAR AKUN BARU DI YOWESWD !</h4>
3399   <div class="row justify-content-between m-0">
3400     <select id="cities" class="form-control select-search" required>
3401       <option value="">YOWESWD adalah link utama bandar togel online dan situs toto terfavorit 2026 yang hadir dengan layanan profesional, sistem aman, dan pasaran togel resmi yang lengkap. Sebagai platform terpercaya nomor satu di Asia, kami menawarkan berbagai pilihan game togel dengan peluang menang besar setiap hari. YOWESWD menjadi pilihan utama para pemain karena pengalaman bermain yang menyenangkan, aman, dan menguntungkan.</option>
3402     </select>
3403   </div>
3404 </div>
3405 
3406 <style>
3407   @media (max-width: 768px) {
3408     .select2-search__field {
3409       pointer-events: none !important;
3410     }
3411     
3412     .select2-search {
3413       display: none !important;
3414     }
3415   }
3416 </style>
3417 
3418 
3418<script>
3419   $(document).ready(function() {
3420     // Check if mobile
3421     if (window.innerWidth <= 768) {
3422       // When cities select2 opens on mobile, remove focus from search
3423       $('#cities').on('select2:open', function() {
3424         setTimeout(function() {
3425           $('.select2-search__field').blur();
3426           $('.select2-search__field').prop('readonly', true);
3427         }, 100);
3428       });
3429     }
3430   });
3431 </script>
3431
3432 
3433  <style>
3434 .icon-img-footer {
3435     width: 80px; 
3436     padding: 0px 5px;
3437 }
3438 @media (min-width: 768px) {
3439     .icon-img-footer {
3440         width: 120px; 
3441     }
3442 }
3443 @media (min-width: 992px) {
3444     .icon-img-footer {
3445         width: 120px; 
3446     }
3447 }
3448 
3449 
3450 </style>
3451   <div id="row-delivery-date" class="row m-0 mb-3">
3452     <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 Togel</h4>
3453     <div id="deliveryDate" class="m-0"></div>
3454     <div id="deliveryDateFull">
3455       <div class="">
3456         <input
3457           type="text"
3458           id="full-date"
3459           class="date-full calendarbutton btn steps-btn btn-date-time mb-0"
3460           value="Full Calendar"
3461         >
3462         <label for="full-date"><svg version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="32" height="32" viewBox="0 0 32 32">
3463 <title>icon-arrow-right</title>
3464 <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>
3465 </svg></label>
3466       </div>
3467       <button class="btnChangeDeliveryDate hide">Change Delivery Date</button>
3468     </div>
3469     <div class="form-group p-0">
3470       <input type="text" id="propDeliveryDate" required class="hide">
3471     </div>
3472   </div>
3473   
3474   
3475     <div id="row-delivery-time" class="row m-0 mb-3">
3476       <h4 class="text-center fw-600 text-uppercase col-12 mb-15" style="color:#fff;">
3477     SEO MATHIUS
3478 </h4>
3479       <div id="deliveryTime" class="d-flex w-100 m-0"></div>
3480       <div class="form-group p-0">
3481         <input type="text" id="propDeliveryTime" class="hide" required>
3482       </div>
3483     </div>
3484   
3485 
3486 
3487   
3488   
3489   <div id="personalizeBtn">
3490     
3491     
3492     
3493     
3494     <button
3495       class="btn text-uppercase w-100 fw-400"
3496       
3497       
3498       
3499     >
3500       
3501         customize your flower board
3502       
3503     </button>
3504     <div class="button-share-wishlist d-flex justify-content-around mt-3">
3505       <div class="button-share text-center">
3506         <p id="shareButton" class="d-flex gap-2"><span>YOWESWD </span><svg xmlns="img/asepnggasihlogoyoweswd.webp" width="15" height="13" viewBox="0 0 15 13" fill="none">
3507   <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"/>
3508 </svg>
3509 </p>
3510       </div>
3511       <div class="button-wishlist text-center">
3512         <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="img/asepnggasihlogoyoweswd.webp" width="16" height="15" viewBox="0 0 16 15" fill="none">
3513   <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"/>
3514 </svg>
3515 <!--
3516   <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="34" height="30" viewBox="0 0 34 30" fill="none">
3517   <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158 
351718.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"/>
3518   </svg>
3519 -->
3520 </p>
3521       </div>
3522     </div>
3523   </div>
3524 </div>
3525 <div class="purchasePopup purchasePopupSpotify" style="display: none;">
3526   <div class="purchaseArea">
3527     <div class="sectionPurchase sectionPurchaseSpotify">
3528       <div class="wrapperPurchase">
3529         <div class="headerPurchase">
3530           <h3>personalize spotify photo print</h3>
3531           <a class="close-purchase-popup">
3532             <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="18" height="18" viewBox="0 0 18 18" fill="none">
3533               <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>
3534             </svg>
3535           </a>
3536         </div>
3537         <div class="contentPurchase">
3538           <div class="spotifyAddons"></div>
3539         </div>
3540 
3541         <div class="purchase-button btn-addon row m-0" style="display: none;">
3542           <div class="col-12 col-lg-2 text-left mb-2 p-0">
3543             <button class="back-purchase-button back-addon text-uppercase">
3544               <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="img/asepnggasihlogoyoweswd.webp">
3545                 <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>
3546               </svg>
3547               <span>Back</span>
3548             </button>
3549           </div>
3550           <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;">
3551             <button class="btn next-purchase-button next-addon text-uppercase">
3552               <span>continue without add-ons</span>
3553             </button>
3554           </div>
3555         </div>
3556       </div>
3557     </div>
3558   </div>
3559 </div>
3560 
3561 <style>
3562   #PBarNextFrameWrapper {
3563     display: none;
3564   }
3565   #backgroundPopup {
3566     display: none;
3567     position: fixed;
3568     _position: absolute;
3569     height: 100%;
3570     width: 100%;
3571     top: 0;
3572     left: 0;
3573     background: rgb(117 117 117 / 24%);
3574     z-index: 1;
3575   }
3576   .sectionPurchase {
3577     height: 100%;
3578     position: relative;
3579     max-width: 1344px;
3580     background-color: #fff;
3581     padding: 0;
3582     overflow: hidden; /* Changed from auto to hidden */
3583     display: flex;
3584     flex-direction: column;
3585   }
3586   .sectionPurchase.purchaseAddonSpotify {
3587     max-width: 1070px!important;
3588     max-height: 765px!important;
3589   }
3590   .sectionPurchaseBoard {
3591     max-width: 872px!important;
3592     max-height: 821px!important;
3593   }
3594   .purchaseAddonSpotify .btn-action {
3595     position: absolute;
3596     bottom: 0;
3597     left: 0;
3598     width: 100%;
3599     display: flex;
3600     gap: 10px;
3601   }
3602   .wrapperPurchase {
3603     position: relative;
3604     height: 100%;
3605     display: flex;
3606     flex-direction: column;
3607   }
3608   
3609   /* New styles for scrollable content and sticky button */
3610   .purchase-content {
3611     flex: 1;
3612     overflow-y: auto;
3613     overflow-x: hidden;
3614     padding: 20px;
3615   }
3616   
3617   .purchase-button-wrapper {
3618     position: sticky;
3619     bottom: 0;
3620     background-color: #fff;
3621     border-top: 1px solid #e0e0e0;
3622     padding: 15px 0;
3623     margin-top: auto;
3624     z-index: 10;
3625   }
3626   
3627   .purchasePopup {
3628     display: none;
3629     position: fixed;
3630     background: rgb(117 117 117 / 24%);
3631     z-index: 999;
3632     padding: 40px;
3633     font-size: 13px;
3634     top: 0;
3635     left: 0;
3636     width: 100%;
3637     height: 100%;
3638   }
3639   .popupPurchaseClose{
3640     font-size:14px;
3641     line-height:14px;
3642     right:45px;
3643     top:45px;
3644     position:absolute;
3645     color:#6fa5fd;
3646     font-weight:700;
3647     display:block;
3648     cursor: pointer;
3649   }
3650 
3651   .headerPurchase {
3652     margin-bottom: 30px;
3653     display: flex;
3654     justify-content: space-between;
3655   }
3656 
3657   .headerPurchase h3 {
3658     font-size: 16px;
3659     text-transform: uppercase;
3660   }
3661 
3662   .sectionPurchaseBoard .headerPurchase {
3663     margin-bottom: 15px;
3664   }
3665 
3666   .sectionPurchaseBoard .formAddressPurchase {
3667     padding-top: 0;
3668   }
3669 
3670   .purchaseArea {
3671     position: relative;
3672     height: 100%;
3673   }
3674 
3675   .purchaseArea h4 {
3676     width: 100%;
3677     font-size: 12px;
3678     font-weight: 600;
3679     margin-bottom: 10px;
3680     text-transform: uppercase;
3681   }
3682 
3683   .menuPurchase {
3684     margin-bottom: 30px;
3685   }
3686 
3687   .menuPurchase ul {
3688     list-style-type: none;
3689     margin: 0;
3690   }
3691 
3692   .menuPurchase ul li {
3693     display: inline-block;
3694     border: 1px solid #ffffff;
3695     padding: 5px 20px;
3696     margin-right: 5px;
3697     margin-bottom: 10px;
3698     font-size: 12px;
3699     font-weight: 400;
3700   }
3701 
3702   .menuPurchase ul li:hover, .menuPurchase ul li.selected {
3703     background-color: #ffffff;
3704     color: #ffffff;
3705   }
3706 
3707   .contentPurchase h5 {
3708       font-size: 12px;
3709       margin-bottom: 10px;
3710       font-weight: 400;
3711       overflow: hidden;
3712   }
3713 
3714   /* Card */
3715 
3716   #itemCards {
3717     max-height: 430px;
3718     overflow: auto;
3719   }
3720 
3721   .item-cards {
3722       width: 100%;
3723   }
3724   .item-card.selected {
3725       border: 1px solid #ffffff;
3726   }
3727   .item-card:hover {
3728       border: 1px solid #C4C4C4;
3729   }
3730   .item-cards .item-card {
3731     position: relative;
3732     width: calc(33% - 10px);
3733     max-width: calc(33% - 10px);
3734     flex: 0 0 calc(33% - 10px);
3735     margin-bottom: 20px;
3736   }
3737   .item-cards .item-card label,
3738   .item-addons .item-addon label {
3739       position: absolute;
3740       left: 0;
3741       width: 100%;
3742       height: 100%;
3743   }
3744   .item-cards .item-card .card-image img,
3745   .item-addons .item-addon .card-image img {
3746       display: block;
3747       width: 100%;
3748   }
3749   .item-card .card-meta,
3750   .item-addon .card-meta {
3751       padding: 10px 5px 5px;
3752   }
3753   .item-card.selected .card-meta,
3754   .item-addon.selected .card-meta,
3755   .item-card.selected .card-qty {
3756       background-color: #ffffff;
3757       color: #fff;
3758       visibility: visible!important;
3759   }
3760   .item-card:hover .card-meta,
3761   .item-addon:hover .card-meta,
3762   .item-card:hover .card-qty {
3763       background-color: #C4C4C4;
3764       color: #fff;
3765       visibility: visible!important;
3766   }
3767   .item-cards .item-card p,
3768   .item-addons .item-addon p {
3769     font-size: 12px !important;
3770     margin: 0;
3771     font-weight: 600;
3772   }
3773   .item-card .card-meta input,
3774   .item-addon .card-meta input {
3775       display: none;
3776   }
3777   .item-cards .item-card h5,
3778   .item-addons .item-addon h5 {
3779     text-transform: uppercase;
3780     max-height: 35px;
3781   }
3782 
3783   @media (max-width: 768px) {
3784     .item-cards .item-card {
3785         width: calc(50% - 10px);
3786         max-width: calc(50% - 10px);
3787         flex: 0 0 calc(50% - 10px);
3788         margin-bottom: 0;
3789     }
3790   }
3791 
3792   .card-qty {
3793     display: flex;
3794     padding: 5px;
3795     visibility: hidden;
3796     background-color: #fff !important;
3797     z-index: 999;
3798   }
3799   .card-qty a {
3800     border-width: 1px;
3801     width: 30%;
3802     cursor: pointer;
3803     text-align: center;
3804     align-self: center;
3805     height: 28px;
3806     display: block;
3807     position: relative;
3808   }
3809   .card-qty a svg {
3810     position: absolute;
3811     top: 50%;
3812     left: 50%;
3813     transform: translate(-50%, -50%);
3814     text-align: center;
3815   }
3816   input.btn-qty {
3817     border-width: 0px;
3818     border-radius: 0;
3819     background-color: #fff;
3820     -webkit-appearance: none;
3821     box-shadow: none !important;
3822     -webkit-box-shadow: none !important;
3823     -moz-box-shadow: none!important;
3824     width: 40%;
3825     border-left: 1px solid #c4c4c4;
3826     border-right: 1px solid #c4c4c4;
3827     padding: 0;
3828   }
3829 
3830   .sectionPurchaseBoard #itemAddons .item-card {
3831     width: calc(20% - 15px);
3832     max-width: calc(20% - 15px);
3833     flex: 0 0 calc(20% - 15px);
3834   }
3835 
3836   .purchase-button {
3837     width: 100%;
3838     padding: 0; /* Reset padding as it's now handled by wrapper */
3839     margin: 0;
3840   }
3841 
3842   .sectionPurchaseBoard .purchase-button {
3843     margin-top: 0 !important; /* Reset margin */
3844   }
3845 
3846   .back-purchase-button, .back-spotify {
3847       width: 139px;
3848       border: 1px solid;
3849       height: 43px;
3850   }
3851   .purchase-button .btn {
3852     width: 297px;
3853     height: 43px;
3854     background-color: #ffffff;
3855     color: #ffffff;
3856   }
3857   .purchase-button .btn[disabled] {
3858     background-color: #EEEEEE;
3859   }
3860   .back-purchase-button svg, .back-spotify svg {
3861     align-self: center;
3862     vertical-align: middle;
3863     margin-right: 10px;
3864   }
3865 
3866   #purchaseProduct .row .error {
3867     font-size: 12px !important;
3868     color: orange;
3869     margin-top: 5px;
3870   }
3871 
3872   .reviewCardPurchase {
3873     max-width: 448px;
3874     float: right;
3875   }
3876 
3877   .addonsPurchase .addon-item {display: flex;justify-content: space-between;}
3878   .addon-item * {align-self: center;font-size: 12px;}
3879   .addon-itm-title {width: 360px;}
3880   .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;}
3881 
3882   .propsAddonSpotify p {
3883     margin: 0;
3884     display: flex;
3885     font-size: 12px !important;
3886     margin-bottom: 5px;
3887   }
3888   .propsAddonSpotify p span:first-child {
3889     text-transform: uppercase;
3890     font-weight: 600;
3891     -ms-flex: 0 0 150px;
3892     flex: 0 0 150px;
3893     max-width: 150px;
3894   }
3895 
3896   .addonsPurchase .addons {
3897     max-height: 250px;
3898     overflow: auto;
3899   }
3900 
3901   .btn .loading:after {
3902     content: "";
3903     display: inline-block;
3904     width: 20px;
3905     height: 20px;
3906     padding: 3px;
3907     aspect-ratio: 1;
3908     border-radius: 50%;
3909     background: #FFFFFF;
3910     --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box;
3911     -webkit-mask: var(--_m);
3912     mask: var(--_m);
3913     -webkit-mask-composite: source-out;
3914     mask-composite: subtract;
3915     animation: l3 1s infinite linear;
3916     margin: auto;
3917     vertical-align: middle;
3918     margin-left: 10px;
3919   }
3920 
3921   #qrcode img, #qrcode canvas {
3922     width: 50px;
3923     position: absolute;
3924     top: 12px;
3925     left: 16px;
3926   }
3927 
3928   .t-preview {
3929     position: absolute;
3930     top: 17px;
3931     left: 75px;
3932   }
3933   .t-preview p {
3934     margin: 0;
3935     font-size: 12px !important;
3936   }
3937   .t-preview .h3 {
3938     font-size: 16px !important;
3939     margin-bottom: 5px;
3940     font-weight: 600;
3941   }
3942   .scanCard {
3943     width: 100%;
3944     border: 1px solid;
3945     height: 76px;
3946     background-color: #fff;
3947   }
3948   .scanCard > div > img {
3949     position: absolute;
3950     right: 0;
3951     width: 55px;
3952   }
3953 
3954   @keyframes l3 {
3955     100% {
3956       transform: rotate(1turn);
3957     }
3958   }
3959 
3960   @media (min-width: 991px) {
3961     .sectionPurchase {
3962       height: 100%;
3963       position: relative;
3964       max-width: 1344px;
3965       background-color: #fff;
3966       top: 50%;
3967       left: 50%;
3968       transform: translate(-50%, -50%);
3969     }
3970     .headerPurchase h3 {
3971       font-size: 20px;
3972     }
3973     .purchaseArea h4 {
3974       font-size: 16px;
3975     }
3976 
3977     .menuPurchase ul li {
3978         font-size: 16px;
3979     }
3980     
3981     .contentPurchase {
3982       margin-bottom: 30px;
3983     }
3984     .contentPurchase h5 {
3985       font-size: 16px;
3986     }
3987 
3988     .item-cards .item-card p,
3989     .item-addons .item-addon p {
3990       font-size: 16px !important;
3991     }
3992 
3993     .cards {
3994       float: right;
3995       width: 400px;
3996     }
3997 
3998     .item-cards .item-card {
3999       width: calc(25% - 30px);
4000       max-width: calc(25% - 30px);
4001       flex: 0 0 calc(25% - 30px);
4002     }
4003 
4004       #itemAddons .item-card {
4005         position: relative;
4006         width: calc(16% - 40px);
4007         max-width: calc(16% - 40px);
4008         flex: 0 0 calc(16% - 40px);
4009       }
4010       
4011     .purchase-button-wrapper {
4012         padding: 10px 20px;
4013     }
4014   }
4015 
4016   @media (max-width: 1200px) {
4017     .item-cards .item-card {
4018       width: calc(33% - 30px);
4019       max-width: calc(33% - 30px);
4020       flex: 0 0 calc(33% - 30px);
4021     }
4022   }
4023 
4024   @media (max-width: 992px) {
4025     .purchasePopup {
4026       padding: 0;
4027     }
4028     .item-cards .item-card h5,
4029     .item-addons .item-addon h5 {
4030       max-height: 30px;
4031     }
4032 
4033     .back-purchase-button, .back-spotify, .next-purchase-button {
4034         width: 100%;
4035     }
4036     .addon-itm-title {
4037       width: 300px;
4038     }
4039     .addon-itm-line-price {
4040       margin-right: 10px;
4041     }
4042     .t-preview {
4043       top: 10px;
4044     }
4045 
4046     .card-qty a {
4047       height: 15px;
4048     }
4049     
4050     .purchase-button-wrapper {
4051       padding: 15px;
4052     }
4053   }
4054 
4055   @media (max-width: 576px) {
4056     .purchase-button .btn {
4057         width: 100%!important;
4058     }
4059     .purchase-button > .col-12 {
4060       padding-left: 0;
4061       padding-right: 0;
4062     }
4063   }
4064 </style>
4065 
4066 
4067 <div class="purchasePopup">
4068   <div class="purchaseArea">
4069     
4070       <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard">
4071         <div class="wrapperPurchase">
4072           <div class="purchase-content">
4073             <div class="headerPurchase">
4074   <h3 class="text-uppercase">
4075     
4076       customize your flower board
4077     
4078   </h3>
4079   <a class="close-purchase-popup">
4080   <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="18" height="18" viewBox="0 0 18 18" fill="none">
4081     <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"/>
4082   </svg>
4083 </a>
4084 
4085 </div>
4086 <div class="contentPurchase">
4087   <div class="row">
4088     
4089       <div class="col-12">
4090         
4091 
4092 <style>
4093   
4094   
4095   .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;}
4096   .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;}
4097   
4098   .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;}
4099   .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;}
4100   .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;}
4101   .svgLogoPapan p {color: #8E8E93; margin: 0;}
4102   .svgLogoPapan p span {font-size: 12px;color: #FF0E00;}
4103   .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;}
4104   #suggest-messages {position: absolute;bottom: 5px;left: 5px;}
4105   #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;}
4106   .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;}
4107   .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;}
4108   .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;}
4109 
4110   @media (min-width: 991px) {
4111     .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);}
4112     .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);}
4113   }
4114 </style>
4115 
4116 <input type="hidden" data-properties="penerima" value="-">
4117 <div class="customize-papan">
4118   <div class="container">
4119     <div class="field-papan group-field-1 form-group">
4120       <div class="input-field">
4121         <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.
4122 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea>
4123         <p class="limit">0/100</p>
4124         <div id="suggest-messages">
4125           <a id="show_note_papan1" href="#">
4126             <div class="suggest-message" id="note_btn_div1">
4127               <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span>
4128             </div>
4129           </a>
4130           <a id="show_note_papan2" href="#">
4131             <div class="suggest-message" id="note_btn_div2">
4132               <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span>
4133             </div>
4134           </a>
4135           <a id="show_note_papan3" href="#">
4136             <div class="suggest-message" id="note_btn_div3">
4137               <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span>
4138             </div>
4139           </a>
4140         </div>
4141       </div>
4142     </div>
4143     <div class="hide">
4144       <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;">
4145       <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1">
4146     </div>
4147     <div class="hide">
4148       <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;">
4149       <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2">
4150     </div>
4151     <div class="hide">
4152       <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;">
4153       <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3">
4154     </div>
4155     <div class="field-papan group-field-2 form-group">
4156       
4157       <label for="logoPapan" onclick="" class="input-field field-logo">
4158         
4159         
4160         
4161         <div class="btn-upload-papan w-100">
4162           <?xml version="1.0" encoding="UTF-8"?>
4163           <img src="" style="display:none">
4164           <div class="svgLogoPapan">
4165             <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="22" height="26" viewBox="0 0 22 26" fill="none">
4166               <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/>
4167             </svg>
4168             <p>Upload Logo <span>*optional</span></p>
4169           </div>
4170         </div>
4171         
4172       </label>
4173       
4174       <input
4175         type="hidden"
4176         data-properties="papan-logo"
4177         value=""
4178       >
4179       <input
4180         type="file"
4181         id="logoPapan"
4182         accept="image/*"
4183         style="position: absolute;width: 1px;height: 1px;padding: 0"
4184       >
4185       
4186       <div class="input-field">
4187         <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/>
4188         <p class="limit">0/35</p>
4189       </div>
4190       
4191     </div>
4192     
4193   </div>
4194 </div>
4195       </div>
4196     
4197   </div>
4198 </div>
4199 
4200           </div>
4201           <div class="purchase-button-wrapper">
4202             <div class="purchase-button btn-card row m-0">
4203   <div class="col-12 col-lg-2 text-left mb-2 p-0">
4204     
4205   </div>
4206   <div class="btn-next-card col-12 col-lg-10 text-right">
4207     
4208     
4209     <button
4210       
4211         
4212       
4213       class="btn next-purchase-button text-uppercase"
4214       
4215         disabled
4216       
4217     >
4218       <span>save your flower board</span>
4219     </button>
4220   </div>
4221 </div>
4222 
4223           </div>
4224         </div>
4225       </div>
4226     
4227     
4228     
4229       <div
4230         class="sectionPurchase sectionPurchaseBoard hide"
4231         data-section="address"
4232       >
4233         <div class="wrapperPurchase">
4234           <div class="purchase-content">
4235             <div class="headerPurchase">
4236   <h3>
4237     Complete Your Order
4238   </h3>
4239   <a class="close-purchase-popup">
4240   <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="18" height="18" viewBox="0 0 18 18" fill="none">
4241     <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"/>
4242   </svg>
4243 </a>
4244 
4245 </div>
4246 <div class="contentPurchase">
4247   <div class="row">
4248     <div class="col-12 position-relative">
4249       <div class="addressPurchase">
4250         
4251           <h4 class="text-uppercase">recipient delivery address</h4>
4252           <p>Share the delivery address to send your heartfelt blooms straight to their door.</p>
4253         
4254         <div class="formAddressPurchase row">
4255           <div class="col-12">
4256             <form>
4257               <div class="form-group row mb-2 mb-lg-4">
4258                 <div class="col-6 position-relative">
4259                   <input id="first_name" type="text" class="form-control input__field" placeholder="" required>
4260                   <label for="first_name" class="input__label">First Name<span>*</span></label>
4261                 </div>
4262                 <div class="col-6 position-relative">
4263                   <input id="last_name" type="text" class="form-control input__field" placeholder="" required>
4264                   <label for="last_name" class="input__label">Last Name<span>*</span></label>
4265                 </div>
4266                 <input type="hidden" data-properties="nama-penerima">
4267               </div>
4268               
4269                 <h4 class="text-uppercase">how you want to input your address</h4>
4270                 <div class="form-group row mb-2 mb-lg-4 form-address-upload">
4271                   <div class="col-6 position-relative">
4272                     <label class="address-manualy">
4273                       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="18" height="17" viewBox="0 0 18 17" fill="none">
4274   <path d="M3.37484 1.83329C2.79984 1.83329 2.33317 2.29996 2.33317 2.87496V5.16663C2.33317 5.38764 2.24537 5.5996 2.08909 5.75588C1.93281 5.91216 1.72085 5.99996 1.49984 5.99996C1.27882 5.99996 1.06686 5.9
42741216 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
42745 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"/>
4275 </svg>
4276 <span>Input Address Manually</span>
4277                     </label>
4278                   </div>
4279                   <div class="col-6 position-relative">
4280                     <label for="address-upload" class="address-upload">
4281                       <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="12" height="13" viewBox="0 0 12 13" fill="none">
4282   <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"/>
4283 </svg>
4284 <span>Upload Address Picture</span>
4285                     </label>
4286                     <input
4287                       id="address-upload"
4288                       type="file"
4289                       accept="image/png, image/jpeg"
4290                       style="position: absolute; padding: 0;width: 1px;height: 1px"
4291                     >
4292                     <input type="hidden" class="props-address-upload" data-properties="foto-alamat">
4293                   </div>
4294                 </div>
4295                 <img width="150" height="" src="" class="photo-address" style="display: none;">
4296               
4297               <div class="form-group row position-relative mb-2 mb-lg-4 form-address">
4298                 <div class="col-12">
4299                   <textarea
4300                     id="delivery_address"
4301                     data-properties="alamat-penerima"
4302                     class="form-control input__field col-12"
4303                     placeholder=""
4304                     required
4305                   ></textarea>
4306                   <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label>
4307                   
4308                 </div>
4309               </div>
4310               <div class="form-group row mb-2 mb-lg-4 form-address">
4311                 <div class="col-6 position-relative">
4312                   <input
4313                     id="recipient_number"
4314                     type="text"
4315                     data-properties="telepon-penerima"
4316                     class="form-control input__field"
4317                     placeholder=""
4318                     required
4319                   >
4320                   <label for="recipient_number" class="input__label">Recipient number<span>*</span></label>
4321                 </div>
4322                 <div class="col-6 position-relative">
4323                   <input
4324                     id="company"
4325                     type="text"
4326                     data-properties="company"
4327                     class="form-control input__field"
4328                     placeholder=""
4329                   >
4330                   <label for="company" class="input__label">Company (Optional)</label>
4331                 </div>
4332               </div>
4333               <div class="form-group row mb-2 mb-lg-4 form-address">
4334                 <div class="col-6 position-relative">
4335                   <input
4336                     id="province"
4337                     type="text"
4338                     class="form-control input__field"
4339                     placeholder=""
4340                     value="Jakarta"
4341                     data-properties="province"
4342                   >
4343                   <label for="province" class="input__label">Province</label>
4344                 </div>
4345                 <div class="col-6 position-relative">
4346                   <select id="zip" class="form-control select-search" required></select>
4347                 </div>
4348               </div>
4349             </form>
4350           </div>
4351         </div>
4352       </div>
4353       <div class="addonsPurchase">
4354         <h4 class="text-uppercase">add-ons</h4>
4355         <div class="addons">
4356           <p>No Add-Ons</p>
4357           <!--
4358             <button class="add-addon">
4359               <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="12" height="12" viewBox="0 0 12 12" fill="none">
4360                 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/>
4361               </svg>
4362               <span>Enhance my moment with Add-ons</span>
4363             </button>
4364           -->
4365         </div>
4366       </div>
4367     </div>
4368     
4369   </div>
4370 </div>
4371 
4372 
4372<script>
4373 document.addEventListener('DOMContentLoaded', function() {
4374   // Detect iOS
4375   var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
4376   
4377   if (isIOS) {
4378     document.querySelector('.formAddressPurchase').classList.add('ios');
4379     
4380     // iOS specific fixes
4381     var inputs = document.querySelectorAll('.formAddressPurchase .input__field');
4382     
4383     inputs.forEach(function(input) {
4384       // Force enable touch events on iOS
4385       input.style.webkitUserSelect = 'text';
4386       input.style.webkitTouchCallout = 'default';
4387       input.style.pointerEvents = 'auto';
4388       input.style.touchAction = 'manipulation';
4389       
4390       // Add explicit touch event listeners for iOS
4391       input.addEventListener('touchstart', function(e) {
4392         e.stopPropagation();
4393         this.focus();
4394       }, { passive: false });
4395       
4396       input.addEventListener('touchend', function(e) {
4397         e.preventDefault();
4398         e.stopPropagation();
4399         this.focus();
4400         this.click();
4401       }, { passive: false });
4402       
4403       // Force focus on tap for iOS
4404       input.addEventListener('click', function(e) {
4405         e.stopPropagation();
4406         if (document.activeElement !== this) {
4407           this.focus();
4408         }
4409       });
4410     });
4411     
4412     // Fix for label overlapping on iOS
4413     var labels = document.querySelectorAll('.formAddressPurchase .input__label');
4414     labels.forEach(function(label) {
4415       label.style.pointerEvents = 'none';
4416       label.addEventListener('touchstart', function(e) {
4417         e.preventDefault();
4418         var input = this.parentNode.querySelector('.input__field');
4419         if (input) {
4420           input.focus();
4421         }
4422       });
4423     });
4424   }
4425   
4426   // Handle input state for all browsers, especially iOS
4427   var inputs = document.querySelectorAll('.input__field');
4428   
4429   inputs.forEach(function(input) {
4430     // Handle input events
4431     input.addEventListener('input', function() {
4432       if (this.value.trim() !== '') {
4433         this.classList.add('has-value');
4434       } else {
4435         this.classList.remove('has-value');
4436       }
4437     });
4438     
4439     // Handle focus
4440     input.addEventListener('focus', function() {
4441       this.classList.add('focused');
4442       // iOS specific: ensure input is visible
4443       if (isIOS) {
4444         setTimeout(function() {
4445           input.scrollIntoView({ behavior: 'smooth', block: 'center' });
4446         }, 300);
4447       }
4448     });
4449     
4450     // Handle blur
4451     input.addEventListener('blur', function() {
4452       this.classList.remove('focused');
4453       if (this.value.trim() !== '') {
4454         this.classList.add('has-value');
4455       } else {
4456         this.classList.remove('has-value');
4457       }
4458     });
4459     
4460     // Initial check for pre-filled values
4461     if (input.value.trim() !== '') {
4462       input.classList.add('has-value');
4463     }
4464   });
4465   
4466   // Additional iOS fixes
4467   if (isIOS) {
4468     // Prevent iOS Safari from adding default styling
4469     document.addEventListener('touchstart', function() {}, { passive: true });
4470     
4471     // Fix viewport issues on iOS
4472     var viewport = document.querySelector('meta[name=viewport]');
4473     if (viewport) {
4474       viewport.setAttribute('content', 
4475         'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
4476       );
4477     }
4478   }
4479 });
4480 </script>
4480
4481           </div>
4482           <div class="purchase-button-wrapper">
4483             <div class="purchase-button btn-address row m-0">
4484   <div class="col-12 col-lg-2 text-left mb-2 p-0">
4485     
4486       <button class="back-purchase-button back-address text-uppercase">
4487         <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="img/asepnggasihlogoyoweswd.webp">
4488           <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"/>
4489         </svg>
4490         <span>Back</span>
4491       </button>
4492     
4493   </div>
4494   <div class="btn-next-card col-12 col-lg-10 text-right">
4495     
4496       <!--
4497         <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0">
4498           <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="img/asepnggasihlogoyoweswd.webp">
4499             <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"/>
4500           </svg>
4501           <span>Back</span>
4502         </button>
4503       -->
4504     
4505     
4506     <button
4507       
4508         id="addtocart-card"
4509       
4510       class="btn  next-address text-uppercase"
4511       
4512     >
4513       <span>add to cart</span>
4514     </button>
4515   </div>
4516 </div>
4517 
4518           </div>
4519         </div>
4520       </div>
4521     
4522   </div>
4523 </div>
4524 <div id="backgroundPopup"></div>
4525 
4526 
4527 
4528 <input
4529   data-index="1"
4530   type="hidden"
4531   id="properties-delivery-date"
4532   name="properties[Delivery Date]"
4533   value="-"
4534 >
4535 <input
4536   data-index="2"
4537   type="hidden"
4538   id="properties-delivery-time"
4539   name="properties[Delivery Time]"
4540   value="-"
4541 >
4542 <input
4543   data-index="4"
4544   type="hidden"
4545   id="properties-nama-penerima"
4546   name="properties[Nama Penerima]"
4547   value="-"
4548 >
4549 <input
4550   data-index="5"
4551   type="hidden"
4552   id="properties-alamat-penerima"
4553   name="properties[Alamat Penerima]"
4554   value="-"
4555 >
4556 <input
4557   data-index="6"
4558   type="hidden"
4559   id="properties-kodepos"
4560   name="properties[Kodepos]"
4561   value="-"
4562 >
4563 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]">
4564 
4565   
4566     <input
4567       data-index="8"
4568       type="hidden"
4569       id="properties-kartu-nama-penerima"
4570       name="properties[Kartu Nama Penerima]"
4571       value="-"
4572     >
4573   
4574   <textarea
4575     data-index="9"
4576     type="hidden"
4577     id="properties-kartu-pesan"
4578     name="properties[Kartu Pesan]"
4579     style="display: none"
4580   >-</textarea>
4581 
4582 
4583 
4584   <input
4585     data-index="10"
4586     type="hidden"
4587     id="properties-kartu-nama-pengirim"
4588     name="properties[Kartu Nama Pengirim]"
4589     value="-"
4590   >
4591 
4592 
4593 
4594   
4595   
4596 
4597 
4598 
4599 
4600 
4601 
4602 
4603 
4604 
4605 
4606 
4607 
4608 
4609 <!-- Additional Shipping -->
4610 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]">
4611 <input
4612   type="hidden"
4613   id="properties-kota-pengiriman-country"
4614   name="properties[Country]"
4615   value="Indonesia"
4616 >
4617 <input type="hidden" id="properties-shipping" name="properties[Shipping]">
4618 
4619 <input type="hidden" id="properties-time" name="properties[Time]">
4620 <input type="hidden" id="properties-card" name="properties[Card]">
4621 <input type="hidden" id="properties-addons" name="properties[Addons]">
4622 
4623 <input
4624   type="hidden"
4625   id="properties-company"
4626   name="properties[Company]"
4627   value=""
4628 >
4629 
4629<script>
4630   
4631   $(document).ready(function(){
4632     
4633     var text_max_papan1=150;
4634     var msg_text_papan1="";
4635     $('#kartu-ucapan-ucapan').keyup(function(){
4636       var text_length_papan1=$('#kartu-ucapan-ucapan').val().length;
4637       var msg_text_papan1=$('#kartu-ucapan-ucapan').val();
4638     });
4639 
4640     var notes_papan1 = [
4641       
4642       [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."]
4643       
4644     ];
4645     $('#show_note_papan1').click(function(event){
4646       event.preventDefault();
4647       var idx_papan1=parseInt($('#note_id_papan1').val());
4648       if(isNaN(idx_papan1)){
4649         idx_papan1=0;
4650       }else{
4651         idx_papan1++;
4652         idx_papan1=idx_papan1%notes_papan1.length;
4653       }
4654       var note_papan1=notes_papan1[idx_papan1][1];
4655       $('#note_id_papan1').val(idx_papan1);
4656       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1);
4657       $('#msgDelivery').val(note_papan1);
4658 
4659       var text_length_papan1=$('#kartu-ucapan-papan').val().length;
4660       var idx_2_papan1=parseInt($('#note_btn_id_papan1').val());
4661       if(isNaN(idx_2_papan1)){
4662         idx_2_papan1=0;
4663       }else{
4664         idx_2_papan1++;
4665         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4666       }
4667       $('#note_btn_id_papan1').val(idx_2_papan1);
4668       //var note_btn=note_btn_text[idx_2][1];
4669       //$('#note_btn').text(note_btn);
4670     });
4671 
4672     var text_max_papan2=150;
4673     var msg_text_papan2="";
4674     $('#kartu-ucapan-ucapan').keyup(function(){
4675       var text_length_papan2=$('#kartu-ucapan-ucapan').val().length;
4676       var msg_text_papan2=$('#kartu-ucapan-ucapan').val();
4677     });
4678 
4679     var notes_papan2 = [
4680       
4681       [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)."]
4682       
4683     ];
4684     $('#show_note_papan2').click(function(event){
4685       event.preventDefault();
4686       var idx_papan2=parseInt($('#note_id_papan2').val());
4687       if(isNaN(idx_papan2)){
4688         idx_papan2=0;
4689       }else{
4690         idx_papan2++;
4691         idx_papan2=idx_papan2%notes_papan2.length;
4692       }
4693       var note_papan2=notes_papan2[idx_papan2][1];
4694       $('#note_id_papan2').val(idx_papan2);
4695       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2);
4696       $('#msgDelivery').val(note_papan2);
4697       var text_length_papan2=$('#kartu-ucapan-papan').val().length;
4698       var idx_2_papan2=parseInt($('#note_btn_id_papan2').val());
4699       if(isNaN(idx_2_papan2)){
4700         idx_2_papan2=0;
4701       }else{
4702         idx_2_papan2++;
4703         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4704       }
4705       $('#note_btn_id_papan2').val(idx_2_papan2);
4706       //var note_btn=note_btn_text[idx_2][1];
4707       //$('#note_btn').text(note_btn);
4708     });
4709 
4710     var text_max_papan3=150;
4711     var msg_text_papan3="";
4712     $('#kartu-ucapan-ucapan').keyup(function(){
4713       var text_length_papan3=$('#kartu-ucapan-ucapan').val().length;
4714       var msg_text_papan3=$('#kartu-ucapan-ucapan').val();
4715     });
4716 
4717     var notes_papan3 = [
4718       
4719       [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)."]
4720       
4721     ];
4722     $('#show_note_papan3').click(function(event){
4723       event.preventDefault();
4724       var idx_papan3=parseInt($('#note_id_papan3').val());
4725       if(isNaN(idx_papan3)){
4726         idx_papan3=0;
4727       }else{
4728         idx_papan3++;
4729         idx_papan3=idx_papan3%notes_papan3.length;
4730       }
4731       var note_papan3=notes_papan3[idx_papan3][1];
4732       $('#note_id_papan3').val(idx_papan3);
4733       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3);
4734       $('#msgDelivery').val(note_papan3);
4735       var text_length_papan3=$('#kartu-ucapan-papan').val().length;
4736       var idx_2_papan3=parseInt($('#note_btn_id_papan3').val());
4737       if(isNaN(idx_2_papan3)){
4738         idx_2_papan3=0;
4739       }else{
4740         idx_2_papan3++;
4741         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4742       }
4743       $('#note_btn_id_papan3').val(idx_2_papan3);
4744       //var note_btn=note_btn_text[idx_2][1];
4745       //$('#note_btn').text(note_btn);
4746     });
4747 
4748     var text_max_papan4=150;
4749     var msg_text_papan4="";
4750     $('#kartu-ucapan-ucapan').keyup(function(){
4751       var text_length_papan4=$('#kartu-ucapan-ucapan').val().length;
4752       var msg_text_papan4=$('#kartu-ucapan-ucapan').val();
4753     });
4754 
4755     $('#show_note_papan4').click(function(event){
4756       var notes_papan4 = [
4757         [0,"Here’s to you—steadier, stronger and better every day."],
4758         [1,"Warmest wishes for a speedy recovery!"],
4759         [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."],
4760         [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."]
4761       ];
4762       event.preventDefault();
4763       var idx_papan4=parseInt($('#note_id_papan4').val());
4764       console.log(idx_papan4, 'idx_papan4')
4765       if(isNaN(idx_papan4)){
4766         idx_papan4=0;
4767       }else{
4768         idx_papan4++;
4769         idx_papan4=idx_papan4%notes_papan4.length;
4770       }
4771       var note_papan4=notes_papan4[idx_papan4][1];
4772       $('#note_id_papan4').val(idx_papan4);
4773       $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4);
4774       console.log(note_papan4, 'note_papan4')
4775       var text_length_papan4=$('#kartu-ucapan-papan').val().length;
4776       var idx_2_papan4=parseInt($('#note_btn_id_papan4').val());
4777       if(isNaN(idx_2_papan4)){
4778         idx_2_papan4=0;
4779       }else{
4780         idx_2_papan4++;
4781         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4782       }
4783       $('#note_btn_id_papan4').val(idx_2_papan4);
4784     });
4785 
4786     /*
4787     $("#jenisPapan").change(function(){
4788       $( "select option:selected").each(function(){
4789         if($(this).attr("value")=="Happy Wedding"){
4790           $("#suggest-messages a").hide();
4791           $("#show_note_papan1").show();
4792           $("#kartu-ucapan-papan").val("");
4793         }
4794         if($(this).attr("value")=="Congratulations"){
4795           $("#suggest-messages a").hide();
4796           $("#show_note_papan2").show();
4797           $("#kartu-ucapan-papan").val("");
4798         }
4799         if($(this).attr("value")=="Duka Cita"){
4800           $("#suggest-messages a").hide();
4801           $("#show_note_papan3").show();
4802           $("#kartu-ucapan-papan").val("");
4803         }
4804       });
4805     }).change();
4806     */
4807 
4808     
4809 
4810     
4811 
4812     $(".variant-metafield").each(function(){
4813       const t = $(this)
4814       const id = t.attr("id")
4815       const target = $(`[data-select=${id}]`)
4816       t.on('select2:selecting', function(e) {
4817         const data = e.params.args.data
4818         target.val(data.text)
4819       });
4820     })
4821   })
4822 </script>
4822
4823 
4824 <div id="popupCart">
4825   <div class="container">
4826     <div class="wrapperPopupCart">
4827       <div class="headerPopupCart">
4828         <div class="d-flex pl-5 pr-5 p-4">
4829           <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="16" height="12" viewBox="0 0 16 12" fill="none">
4830             <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"/>
4831           </svg>
4832           <span>item added to your cart</span>
4833         </div>
4834         <a class="close-purchase-popup">
4835   <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="18" height="18" viewBox="0 0 18 18" fill="none">
4836     <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"/>
4837   </svg>
4838 </a>
4839 
4840       </div>
4841       <div class="contentPopupCart">
4842         <div class="pl-5 pr-5 p-4">
4843           <div class="itemContent row m-0 justify-content-between">
4844             <div class="col-2 align-self-center">
4845               
4846               <img
4847                 class="d-block"
4848                 width="80"
4849                 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426"
4850               >
4851             </div>
4852             <div class="col-10 align-self-center">
4853               <div class="row pl-3">
4854                 <div class="col-12 col-lg-7">
4855                   <span class="titleCartPopup text-uppercase">YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D</span>
4856                 </div>
4857                 <div class="d-flex justify-content-end col-12 col-lg-5">
4858                   <span class="deleteCartPopup hide">Delete</span>
4859                   <span class="lineCartPrice align-self-center">Rp 5.000</span>
4860                 </div>
4861               </div>
4862             </div>
4863           </div>
4864           <div class="itemProperties">
4865             
4866               <div class="propDeliver">
4867                 <h4>delivery option detail</h4>
4868                 <p>
4869                   <span>delivery city</span>
4870                   <span class="propDeliveryCity">jakarta</span>
4871                 </p>
4872                 <p>
4873                   <span>delivery date</span>
4874                   <span class="propDeliveryDate">24/03/2025</span>
4875                 </p>
4876                 <p>
4877                   <span>delivery time</span>
4878                   <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span>
4879                 </p>
4880               </div>
4881               <div class="propAddress">
4882                 <h4>delivery option detail</h4>
4883                 <p>
4884                   <span>RECIPIENT NAME</span>
4885                   <span class="propDeliveryName">jane doe</span>
4886                 </p>
4887                 <p>
4888                   <span>delivery address</span>
4889                   <span class="propDeliveryAddress"
4890                     >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta
4891                     Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span
4892                   >
4893                 </p>
4894                 <p>
4895                   <span>recipient phone number</span>
4896                   <span class="propDeliveryPhone">(+62) 812-3456-7890</span>
4897                 </p>
4898                 <p>
4899                   <span>PROVINCE</span>
4900                   <span class="propDeliveryProv">Jakarta</span>
4901                 </p>
4902                 <p>
4903                   <span>postal code</span>
4904                   <span class="propDeliveryZip">12710</span>
4905                 </p>
4906                 
4907                 
4908               </div>
4909             
4910           </div>
4911           <div class="itemAddonCart">
4912             <div class="toggleAddonCart d-flex justify-content-between">
4913               <h4>add-ons (0)</h4>
4914               <svg xmlns="img/asepnggasihlogoyoweswd.webp" width="5" height="9" viewBox="0 0 5 9" fill="none">
4915                 <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"/>
4916               </svg>
4917             </div>
4918             <div class="wrapperItemAddonCart"></div>
4919           </div>
4920           
4921         </div>
4922       </div>
4923       <div class="footerPopupCart">
4924         <div class="row m-0 pl-5 pr-5 p-4">
4925           <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a>
4926           <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a>
4927           <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a>
4928         </div>
4929       </div>
4930     </div>
4931   </div>
4932 </div>
4933 
4934 
4935 
4935<script>
4936   const shareButton = document.getElementById('shareButton');
4937 
4938   shareButton.addEventListener('click', () => {
4939     if (navigator.share) {
4940       navigator.share({
4941         title: "YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D",
4942         url: "/products/blossom-shine",
4943         text: 'Check out this page!'
4944       })
4945       .then(() => console.log('Successful share'))
4946       .catch((error) => console.log('Error sharing', error));
4947     } else {
4948       alert('Web Share API is not supported in this browser.');
4949     }
4950   });
4951 
4952   // Inventory validation function
4953   function checkInventoryStatus() {
4954     const productSelect = document.getElementById('productSelect');
4955     const purchaseButton = document.querySelector('#personalizeBtn button');
4956     
4957     if (!productSelect || !purchaseButton) return;
4958 
4959     const selectedVariantId = productSelect.value;
4960     
4961     // Get variant data from Shopify
4962     fetch(`/products/blossom-shine.js`)
4963       .then(response => response.json())
4964       .then(product => {
4965         const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId);
4966         
4967         if (selectedVariant) {
4968           const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 
4969                                selectedVariant.inventory_management === 'shopify' && 
4970                                selectedVariant.inventory_policy !== 'continue';
4971           
4972           if (isOutOfStock) {
4973             purchaseButton.disabled = true;
4974             purchaseButton.textContent = 'Out of Stock';
4975             purchaseButton.setAttribute('data-out-of-stock', 'true');
4976             purchaseButton.style.backgroundColor = '#cccccc';
4977             purchaseButton.style.cursor = 'not-allowed';
4978           } else {
4979             // Check if button was disabled due to other conditions
4980             
4981             
4982             
4983             
4984             
4985             
4986             
4987             
4988             const isOtherDisabled = false || true || false;
4989             
4990             if (!isOtherDisabled) {
4991               purchaseButton.disabled = false;
4992               purchaseButton.textContent = 'customize your flower board';
4993               purchaseButton.removeAttribute('data-out-of-stock');
4994               purchaseButton.style.backgroundColor = '';
4995               purchaseButton.style.cursor = '';
4996             }
4997           }
4998         }
4999       })
5000       .catch(error => {
5001         console.error('Error checking inventory:', error);
5002       });
5003   }
5004 
5005   // Check inventory on page load
5006   document.addEventListener('DOMContentLoaded', function() {
5007     checkInventoryStatus();
5008     
5009     // Listen for variant changes
5010     const productSelect = document.getElementById('productSelect');
5011     if (productSelect) {
5012       productSelect.addEventListener('change', checkInventoryStatus);
5013     }
5014   });
5015 
5016   // Prevent form submission if out of stock
5017   document.addEventListener('click', function(e) {
5018     if (e.target.matches('button[data-out-of-stock="true"]')) {
5019       e.preventDefault();
5020       e.stopPropagation();
5021       alert('This product is currently out of stock and cannot be purchased.');
5022       return false;
5023     }
5024   });
5025 </script>
5025
5026 
5027 
5028   
5029 </div>
5030 
5031           </div>
5032         </div>
5033       </div>
5034     </div>
5035     <div id="product-bottom">
5036       
5037         <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description">
5038           <div class="container">
5039             
5040 
5041 
5042 
5043 
5044     <div class="short-desc-mobile d-block d-lg-none mb-3">
5045         <div class="short-desc">
5046             <ul>
5047 <li><strong>Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.</strong></li>
5048         </div>
5049         <label class="more-mobile">Show More →</label>
5050     </div>
5051 
5052 <style>
5053 .animated-title {
5054     text-align: center;
5055     font-weight: bold;
5056     color: #079c02;
5057     font-size: 28px;
5058     position: relative;
5059     animation: glow 2s infinite alternate, moveUpDown 3s infinite;
5060 }
5061 
5062 /* Efek glow / bercahaya hijau */
5063 @keyframes glow {
5064     0% { text-shadow: 0 0 5px #079c02; color: #079c02; }
5065     50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; }
5066     100% { text-shadow: 0 0 10px #1bff00; color: #079c02; }
5067 }
5068 
5069 /* Efek gerakan naik turun */
5070 @keyframes moveUpDown {
5071     0% { transform: translateY(0px); }
5072     50% { transform: translateY(-5px); }
5073     100% { transform: translateY(0px); }
5074 }
5075 </style>
5076 
5077 
5077<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
5077
5078 
5078<script>
5079   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});
5080 
5081   const productType = $("[data-product-type]").data("product-type")
5082   const productDate = Date.parse(new Date())
5083   
5084   const shop = 'outerbloom1.myshopify.com'
5085   const host = 'https://app.asmaraku.com'
5086   // const host = 'http://localhost:5001'
5087 
5088   const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec"
5089   
5090   const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ')
5091 
5092   $("#properties-time").val(new Date().getTime())
5093 
5094   const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
5095 
5096   if(!isIOS) {
5097     $("#full-date").attr("type", "button")
5098   }
5099 
5100   let dateTime = new Date();
5101   let today = dateTime.getDate();
5102   let day = dateTime.getDay();
5103   let hour = dateTime.getHours();
5104   let min = dateTime.getMinutes();
5105   let timeOfDay = hour + (min / 100);
5106 
5107   async function getFetch(url) {
5108     const response = await fetch(url);
5109     let status = false
5110     let result
5111     if(response.ok) {
5112       status = true
5113       result = await response.json();
5114     }
5115     return {
5116       status,
5117       data: result
5118     }
5119   }
5120 
5121   
5122 
5123   function setCookie(cname, cvalue, exMins) {
5124     var d = new Date();
5125     d.setTime(d.getTime() + (exMins*60*1000));
5126     var expires = "expires="+d.toUTCString();  
5127     document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
5128   }
5129 
5130   function getCookie(cname) {
5131     let name = cname + "=";
5132     let decodedCookie = decodeURIComponent(document.cookie);
5133     let ca = decodedCookie.split(';');
5134     for(let i = 0; i <ca.length; i++) {
5135       let c = ca[i];
5136       while (c.charAt(0) == ' ') {
5137         c = c.substring(1);
5138       }
5139       if (c.indexOf(name) == 0) {
5140         return c.substring(name.length, c.length);
5141       }
5142     }
5143     return "";
5144   }
5145 
5146   async function renderDate() {
5147     let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`);
5148     console.log(dataDate, 'renderDate')
5149     const data = dataDate?.data
5150     const date = data.date
5151     const time = data.time
5152 
5153     console.log(date, 'DATE')
5154 
5155     const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
5156     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
5157     const htmlDate = []
5158     for(let i = 0;i < date.length;i++) {
5159       const full = date[i].date
5160       const d = new Date(date[i].date);
5161       const day = weekday[d.getDay()];
5162       const dt = d.getDate();
5163       const mt = monthly[d.getMonth()];
5164       const yr = d.getFullYear();
5165       const isDate = Boolean(date[i].isEnabled)
5166       const cutoffpagi = date[i].cutoff?.pagi
5167       const cutoffsiang = date[i].cutoff?.siang
5168       const cutoffMalam = date[i].cutoff?.Malam
5169       var html = `
5170         <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'}>
5171           ${dt === today ?
5172             `Today<span>${dt < 10 ? '0' + dt : dt}</span>` :
5173             `${day}<span>${dt < 10 ? '0' + dt : dt}</span>`
5174           }
5175         </button>
5176       `
5177       htmlDate.push(html)
5178     }
5179     const htmlTime = []
5180     for(var i = 0;i < time.length;i++) {
5181       const timeText = time[i].text
5182       const timeTime = time[i].time
5183       const timeEnabled = time[i].isEnabled
5184       var html = `
5185           <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button>
5186         `
5187       htmlTime.push(html)
5188     }
5189     const deliveryDate = document.getElementById("deliveryDate");
5190     if(deliveryDate) {
5191       deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join(''))
5192       $("#deliveryTime").html(htmlTime)
5193       if(productType !== '') {
5194         console.log("clarity event " + productType + ' calendaring')
5195         window.clarity("event", `${productType} calendaringSchedule`)
5196         // window.clarity("set", productType, `calendaringSchedule - ${productDate}`)
5197       }
5198     }
5199   }
5200 
5201   async function getProvince(city) {
5202     let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`);
5203     console.log(province, 'province')
5204     $("#province").val(province)
5205   }
5206 
5207   async function renderAddress() {
5208     let current
5209     if(getCookie("location_delivery")){
5210       current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1)
5211     }
5212     let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`);
5213     console.log(address)
5214     const data = address?.data?.city
5215     const htmlAddress = []
5216     const grouping = []
5217     for(let i = 0;i < data?.length;i++) {
5218       if(data[i]){
5219         if(data[i]?.group) {
5220           grouping.push(data[i].group)
5221         }
5222         const price = rupiah.format(data[i]?.rate)
5223         let promo = '(Promo Free Delivery)'
5224         if(data[i]?.name === 'Jakarta - PickUp ASHTA'){
5225           promo = '(at SCBD, Ashta)'
5226         } else if(data[i]?.name === 'Jakarta - PickUp ITC'){
5227           promo = '(at Kuningan, ITC Kuningan)'
5228         } else if(data[i]?.name === 'BSD - PickUp'){
5229           promo = '(at Goldfinch Gading Serpong)'
5230         } else if(data[i]?.name === 'Kota Lainnya'){
5231           promo = ''
5232         }
5233         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>`)
5234       }
5235     }
5236     
5237     const deliveryCity = document.getElementById("cities");
5238     if(deliveryCity) {
5239       deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join(''))
5240       if(!isIOS) {
5241         $(deliveryCity).select2();
5242       }
5243     }
5244   }
5245 
5246   async function renderZip(v, v2, v3) {
5247     const deliveryZip = document.getElementById("zip");
5248     if(v === '') {
5249       return
5250     }
5251     let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`);
5252     let zip = dataZip?.data?.zip
5253     console.log(zip)
5254     let htmlZip = []
5255     for(let i = 0; i < zip?.length;i++) {
5256       htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`)
5257     }
5258     deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join(''))
5259   }
5260 
5261   renderDate()
5262   renderAddress()
5263 
5264   let rupiah = new Intl.NumberFormat('id-ID', {
5265     style: 'currency',
5266     currency: 'IDR',
5267     maximumFractionDigits: 0, 
5268     minimumFractionDigits: 0
5269   });
5270 
5271   async function insertCard(data) {
5272     const response = await fetch(`${host}/api/card/new`, {
5273         method: "POST",
5274         headers: {
5275           'Content-Type': 'application/json',
5276         },
5277         body: data
5278     })
5279     const result = await response.json()
5280     let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1]
5281     $("#greetingCard").attr("data-index", rowIndex)
5282     return result
5283   }
5284     
5285   async function updateCard(data){
5286     const rowIndex = $("#greetingCard").data("index")
5287     const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, {
5288         method: "PUT",
5289         headers: {
5290           'Content-Type': 'application/json',
5291         },
5292         body: data
5293     })
5294     return response
5295   }
5296     
5297   function bytesToSize(bytes) {
5298     var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p'];
5299     for (var i = 0; i < sizes.length; i++) {
5300       if (bytes <= 1024) {
5301         return bytes + ' ' + sizes[i];
5302       } else {
5303         bytes = parseFloat(bytes / 1024).toFixed(2)
5304       }
5305     }
5306     return bytes + ' P';
5307   }
5308 
5309   async function uploadMedia(uri, type) {
5310     nameq = $("#properties-nama-penerima").val()
5311     dear = $("#properties-kartu-nama-penerima").val()
5312     card = $("[data-properties=ucapan]").val()
5313     sender = $("#properties-kartu-nama-pengirim").val()
5314     photo = $("#properties-photo").val()
5315     video = $("#properties-video").val()
5316     status = "Product"
5317         
5318     const name = qrID
5319     let formData = new FormData(); 
5320     formData.append("file", uri);
5321     const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5322       method: "POST", 
5323       body: formData
5324     })
5325     const result = await response.json();
5326     if(result) {
5327       const url = result.url
5328       if(type === 'image/jpeg') {
5329         $("#properties-photo").val(url)
5330         $(".preview-image").show()
5331         $(".remove-image").show()
5332         photo = url
5333       } else {
5334         $("#properties-video").val(url)
5335         $("#label-input-video span").text("Change File")
5336         $(".case-qrcode-preview p").text("Scan here for a secret message")
5337         $(".remove-media").show()
5338         $("#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>`)
5339         $("[for=input-video]").hide()
5340         video = url
5341       }
5342       $(".case-video-preview").show()
5343       $(".steps-card-preview").removeClass("loading")
5344       // updateCard(nameq, dear, card, sender, photo, video, status)
5345 
5346       $(".nextBtn").attr("disabled", false)
5347     }
5348   }
5349 
5350   function randomString(length, chars) {
5351     var result = '';
5352     for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
5353     return result;
5354   }
5355 
5356   function getNoteCity(fulldate) {
5357     const h_1 = new Date(new Date().setDate(new Date().getDate() + 1))
5358     const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"];
5359     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
5360     const d = new Date(h_1);
5361     const day = weekday[d.getDay()];
5362     const dt = d.getDate();
5363     const mt = monthly[d.getMonth()];
5364     const yr = d.getFullYear();
5365     const p = $("#cities").parent(".form-group")
5366   }
5367 
5368   function disabledSameDay() {
5369     let btnFirst = $("#deliveryDate").find("button:first-child")
5370     let getDay = new Date().getDay();
5371 
5372     
5373       
5374       if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){
5375         if(hour >= 14.00){
5376           btnFirst.attr("disabled", true)
5377         }
5378       } else if(getDay == 6){
5379         if(hour >= 16.00){
5380           btnFirst.attr("disabled", true)
5381         }
5382       } else if(getDay == 0){
5383         if(hour >= 16.00){
5384           btnFirst.attr("disabled", true)
5385         }
5386       }
5387       
5388     
5389   }
5390 
5391   function disabledays(date) {
5392     let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
5393     //if u have to disable a list of day
5394     let removeDays
5395     
5396     
5397     
5398         removeDays = ["2025-2-13", "2025-2-14"];
5399     
5400     if ($.inArray(ymd, removeDays) >= 0) {
5401       return [false];
5402     } else {
5403       let day = date.getDay();
5404       if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){
5405           return [(day == 0),  ''];
5406       }
5407       
5408       if(day == 0){
5409         return [(day == 0),  ''];
5410       }
5411       
5412       
5413       return [(day != 0),  ''];
5414     }
5415   }
5416 
5417   /* Indonesian initialisation for the jQuery UI date picker plugin. */
5418   /* Written by Deden Fathurahman ([email protected]). */
5419   ( function( factory ) {
5420     if ( typeof define === "function" && define.amd ) {
5421 
5422       // AMD. Register as an anonymous module.
5423       define( [ "../widgets/datepicker" ], factory );
5424     } else {
5425 
5426       // Browser globals
5427       factory( jQuery.datepicker );
5428     }
5429   }( function( datepicker ) {
5430 
5431   datepicker.regional.id = {
5432     closeText: "Tutup",
5433     prevText: "&#x3C;mundur",
5434     nextText: "maju&#x3E;",
5435     currentText: "Today",
5436     monthNames: [ "January","February","March","April","May","Juny",
5437                   "July","August","September","October","November","December" ],
5438     monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun",
5439                       "Jul","Agu","Sep","Oct","Nov","Dec" ],
5440     dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ],
5441     dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ],
5442     dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ],
5443     weekHeader: "Mg",
5444     dateFormat: "D, dd M",
5445     firstDay: 0,
5446     isRTL: false,
5447     showMonthAfterYear: false,
5448     yearSuffix: "" };
5449   datepicker.setDefaults( datepicker.regional.id );
5450 
5451   return datepicker.regional.id;
5452 
5453 } ) );
5454 
5455   function loadPopup() {
5456     $("#backgroundPopup").fadeIn("slow");
5457     $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow");
5458     const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first()
5459     if(firstSection.hasClass("purchasePersonalize")) {
5460       if(productType !== '') {
5461         console.log("clarity event " + productType + ' personalize')
5462         window.clarity("event", `${productType} cardPersonalization`)
5463         // window.clarity("set", productType, `cardPersonalization - ${productDate}`)
5464       }
5465     } else if (firstSection.hasClass("sectionPurchaseBoard")) {
5466         console.log("clarity event " + productType + ' personalizeBoard')
5467         window.clarity("event", `${productType} personalizeBoard`)
5468         // window.clarity("set", productType, `personalizeBoard - ${productDate}`)
5469     }
5470     firstSection.removeClass("hide")
5471     
5472     // Auto-trigger addon loading when addon section becomes visible
5473     setTimeout(function() {
5474       const addonSection = $(".purchaseAddon")
5475       if(addonSection.length > 0 && !addonSection.hasClass("hide")) {
5476         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
5477           $("[data-addon=upsell-all]").trigger("click")
5478         }
5479       }
5480     }, 200)
5481   }
5482 
5483   function disablePopup() {
5484     $("#backgroundPopup").fadeOut("slow");
5485     $(".purchasePopup").fadeOut("slow");
5486     $("#popupCart").fadeOut("slow");
5487   }
5488 
5489     function scrollTo(parent, div, dur) {
5490       $(parent).animate({
5491         scrollTop: $(div).offset().top
5492       }, dur);
5493     }
5494 
5495   function loadPopupPersonalize() {
5496     const div = "#purchaseProduct"
5497     const p = "html, body, .product-meta"
5498     $("p.error").remove()
5499     loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all")
5500     const isCity = $("#cities[required]")
5501     const isDate = $("#propDeliveryDate[required]")
5502     const isTime = $("#propDeliveryTime[required]")
5503     // loadPopup()
5504     if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') {
5505       loadPopup()
5506     }
5507     if(isCity.val() == '') {
5508       isCity.parent(".row").append("<p class='error'>Choose delivery city</p>")
5509       scrollTo(p, div, 500)
5510     }
5511     if(isDate.val() == '') {
5512       isDate.parents(".row").append("<p class='error'>Choose delivery date</p>")
5513       scrollTo(p, div, 500)
5514     }
5515     if(isTime.val() == '') {
5516       isTime.parents(".row").append("<p class='error'>Choose delivery time</p>")
5517       scrollTo(p, div, 500)
5518     }
5519   }
5520 
5521   function quantityCounter() {
5522     $(document).on("click", ".item-card.selected .q_up", function () {
5523       var C = $(this).attr("data-id"),
5524           S =
5525               parseInt(
5526                   $(this)
5527                       .siblings(".quantity-cart-" + C)
5528                       .val()
5529               ) + 1;
5530       $(this).attr("data-quantity", S),
5531           $(this)
5532               .siblings(".quantity-cart-" + C)
5533               .val(S);
5534     }),
5535     $(document).on("click", ".item-card.selected .q_down", function () {
5536         var C = $(this).attr("data-id"),
5537             S = parseInt(
5538                 $(this)
5539                     .siblings(".quantity-cart-" + C)
5540                     .val()
5541             );
5542         0 < S && $(this).attr("data-quantity", S - 1),
5543             0 < S &&
5544                 $(this)
5545                     .siblings(".quantity-cart-" + C)
5546                     .val(S - 1);
5547     });
5548   }
5549 
5550   quantityCounter()
5551 
5552   const itemAddon = $(".item-card").length
5553   const nofree = $(".nofree").length
5554 
5555   const upsell = ''
5556   
5557   if(nofree === itemAddon) {
5558       // $("#itemAddons").html("<p>No Items available</p>")
5559   }
5560 
5561   $("#itemAddons .item-card").each(function(e){
5562       $("#itemAddons").attr("data-length", e)
5563   })
5564 
5565   $("[data-addon]").click(function(){
5566       
5567       
5568       
5569       const t = $(this)
5570       
5571       const data = t.data("addon")
5572       
5573       $("[data-addon]").removeClass("selected")
5574       t.addClass("selected")
5575       $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){
5576           const products = data.products
5577           const html = []
5578           for(let i = 0; i < products.length; i++) {
5579               const id = products[i].id
5580               const variantId = products[i].variants[0].id
5581               const img = products[i].images[0].src
5582               let img2 = img.split('.jpg')[0]
5583               const title = products[i].title
5584               const price = products[i].variants[0].price
5585               const tags = products[i].tags
5586               const qty = products[i].variants[0].available
5587               let type_upsell = ''
5588               if(tags.includes('upsell-item-standing')) {
5589                   type_upsell = 'standing'
5590               }
5591               console.log(type_upsell)
5592               if(type_upsell !== '') {
5593                   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}">
5594                       
5595                           <div class="card-image">
5596                               <img src="${img2}_150x.jpg" alt="${title}" width="" height="" />
5597                           </div>
5598                           <div class="card-meta">
5599                               <h5>${title}</h5>
5600                               <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
5601                               <input id="card-${variantId}" type="hidden" name="" value="${variantId}">
5602                           </div>
5603                           <div class="card-qty">
5604                               <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="img/asepnggasihlogoyoweswd.webp" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a>  
5605                               <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5605" value="0" data-price=${price} name="quantity">
5606                               <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="img/asepnggasihlogoyoweswd.webp" width="12" height="13" viewBox="0 0 12 13" fill="none">
5607 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/>
5608 </svg></a>   
5609                           </div>
5610                       </div>`
5611                   html.push(body)
5612               }
5613           }
5614           $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html)
5615           $("#itemAddons").attr("data-length", products.length)
5616           // $('#itemAddons')[0].swiper.update();
5617       });
5618   })
5619 
5620   async function isAddon(){
5621     let ids = []
5622     $("#itemAddons .item-card.selected").each(function(i, e){
5623       const id = $(this).data("id")
5624       ids.push(id)
5625     })
5626     console.log(ids)
5627     return ids
5628   }
5629   
5630   $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){
5631     const t = $(this).parent()
5632     const id = t.data("id")
5633     const btn =  t.parents(".purchaseAddon").find(".next-purchase-button")
5634     t.toggleClass("selected");
5635     //$(this).next("input").toggleAttr('name', 'id[]');
5636     if (t.hasClass('selected')) {
5637         t.find("input").val(1)
5638         t.find("input").attr('name', 'id[]');
5639     } else {
5640         t.find("input").val(0)
5641         t.find("input").removeAttr('name');
5642     }
5643     $("#properties-addons").val(addons)
5644     const is = await isAddon()
5645     if(is.length === 0) {
5646       btn.text("continue without add-ons")
5647       return
5648     }
5649     if(is.includes(8835692069079)) {
5650       btn.text("personalize acrylic frame")
5651     } else {
5652       btn.text("Continue")
5653     }
5654       
5655   })
5656 
5657   async function myAddon(data) {
5658     const c = $(".addonsPurchase .addons")
5659     let items = []
5660     
5661     const spotifyAddons = $(".spotifyAddons").find("[data-index]")
5662     // if(spotifyAddons.length > 0) {
5663     //   $(spotifyAddons).each(function(i, e){
5664     //     const spotifyLink = $(this).find(".spotifyLink").val()
5665     //     const spotifySong = $(this).find(".spotifySong").val()
5666     //     const spotifyArtist = $(this).find(".spotifyArtist").val()
5667     //     const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val()
5668     //     if(spotifyLink !== '') {
5669     //       spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1">
5670     //         <div class="addon-itm-img">
5671     //           <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"/>
5672     //         </div>
5673     //         <div class="addon-itm-title">
5674     //           <span>[US] Outerbloom Acrylic Frame 4R</span>
5675     //         </div>
5676     //         <div class="addon-itm-line-total">
5677     //           <span>Rp 99.000</span>
5678     //         </div>
5679     //       </div>
5680     //       <div class="propsAddonSpotify row m-0">
5681     //         <div class="col-12 col-lg-2"></div>
5682     //           <div class="col-12 col-lg-10">
5683     //             <p>
5684     //               <span>spotify link</span>
5685     //               <span class="spotifyLinkAddon">${spotifyLink}</span>
5686     //             </p>
5687     //             <p>
5688     //               <span>uploaded photo</span>
5689     //               <span class="spotifyFotoAddon">${spotifyFotoAddon}</span>
5690     //             </p>
5691     //             <p>
5692     //               <span>song / playlist name</span>
5693     //               <span class="spotifySongAddon">${spotifySong}</span>
5694     //             </p>
5695     //             <p>
5696     //               <span>artist name</span>
5697     //               <span class="spotifyArtistAddon">${spotifyArtist}</span>
5698     //             </p>
5699     //           </div>
5700     //       </div>`
5701     //       items.push(spotifyAddon)
5702     //     }
5703     //   })
5704     // }
5705     for(let i = 0; i < data.length; i++) {
5706       if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) {
5707         const img = data[i].image
5708         const title = data[i].title
5709         const qty = data[i].qty
5710         const price = data[i].price
5711         const total = Number(qty) * Number(price)
5712         let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}">
5713               <div class="addon-itm-img">
5714                 <img src="${img}" alt="" width="70"/>
5715               </div>
5716               <div class="addon-itm-title">
5717                 <span>${title}</span>
5718               </div>
5719               <div class="addon-itm-line-price">
5720                 <span>${rupiah.format(price)}</span>
5721                 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`}
5722               </div>
5723               <div class="addon-itm-line-total">
5724                 <span>${rupiah.format(total)}</span>
5725               </div>
5726             </div>`
5727           items.push(addons)
5728       }
5729     }
5730     c.html(items)
5731     const parent = $(".purchaseAddon")
5732     const next = parent.next(".sectionPurchase")
5733     parent.addClass("hide")
5734     next.removeClass("hide")
5735     // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart")
5736     // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`)
5737   }
5738 
5739   async function listAddon() {
5740     const data = $("#itemAddons").find(".selected")
5741     let ids = []
5742     $(data).each(function(){
5743       const id = $(this).data("variant")
5744       const image = $(this).find(".card-image img").attr("src")
5745       const title = $(this).find(".card-meta h5").text()
5746       const qty = $(this).find(".card-qty input").val()
5747       const price = $(this).find(".card-qty input").data("price")
5748       ids.push({
5749         id: Number(id),
5750         image,
5751         title,
5752         qty,
5753         price
5754       })
5755     })
5756     myAddon(ids)
5757   }
5758 
5759   async function customSpotify(idx, length, type){
5760     let isCard = false
5761     
5762     let p = $(".purchasePopupSpotify")
5763     const preLink = $(".spotifyLinkFirst").val()
5764     $("[data-index]").hide()
5765     p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`)
5766     p.find(".regulerAddons, .purchase-button").hide()
5767     p.find(".spotifyAddons").show()
5768     
5769     const data = await trackUrl(preLink)
5770     
5771     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="img/asepnggasihlogoyoweswd.webp" width="13" height="11" viewB
5771ox="0 0 13 11" fill="none">
5772 <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"/>
5773 </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=img/asepnggasihlogoyoweswd.webp><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="img/asepnggasihlogoyoweswd.webp" width="13" height="11" viewB
5773ox="0 0 13 11" fill="none">
5774 <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"/>
5775 </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>`
5776     // console.log(html)
5777     
5778     $(".spotifyAddons").append(html)
5779     
5780     $(`[data-index=${idx}]`).show()
5781     
5782     if (preLink !== '') {
5783       $(".btn-action .btn").attr("disabled", false)
5784     } else {
5785       $(".btn-action .btn").attr("disabled", true)
5786     }
5787 
5788     return html
5789     
5790   }
5791 
5792   $(".spotifyLinkFirst").keyup(async function(){
5793     const v = $(this).val()
5794     if(v.includes('spotify:user:spotify')) {
5795       const correct = v.split('user:spotify:')[1]
5796       console.log(correct, 'BNER')
5797       $(this).val(correct)
5798       return
5799     }
5800     if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){
5801       const data = await trackUrl(v)
5802       if(!data || !data.status) {
5803         $(this).parent().addClass("error")
5804         // $(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>`)
5805         $("#personalizeBtnSpotify .btn").attr("disabled", true)
5806         return
5807       }
5808       $(this).parent().removeClass("error")
5809       // $(this).parent().remove("txt-error")
5810       $("#personalizeBtnSpotify .btn").attr("disabled", false)
5811     } else {
5812       $("#personalizeBtnSpotify .btn").attr("disabled", true)
5813     }
5814   })
5815 
5816   $(".purchaseAddon").delegate(".next-addon", "click", function(){
5817     const parent = $(this).parents(".purchaseAddon")
5818     const next = parent.next(".sectionPurchase")
5819     if(next.hasClass("purchaseAddress")) {
5820       if(productType !== '') {
5821         console.log("clarity event " + productType + ' purchaseDelivery')
5822         window.clarity("event", `${productType} purchaseDelivery`)
5823         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5824       }
5825     }
5826     const data = $("#itemAddons").find(".selected")
5827     const length = $(".quantity-cart-46067682607319").val()
5828     const checked = data.length;
5829     if(checked > 0) {
5830       if(length > 0) {
5831         $(".purchaseAddon").addClass("purchaseAddonSpotify")
5832         customSpotify(1, length, 'addon')
5833       } else {
5834         listAddon()
5835       }
5836     } else {
5837       parent.addClass("hide")
5838       next.removeClass("hide")
5839     }
5840   })
5841 
5842   $("#personalizeBtnSpotify .btn").click(async function(){
5843     const isCity = $("#cities[required]")
5844     const isDate = $("#propDeliveryDate[required]")
5845     if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) {
5846       alert('Please choose Delivery City & Delivery Date')
5847       return
5848     }
5849     const data = await customSpotify(1, 1, 'product')
5850     if(data) {
5851       $("#backgroundPopup").fadeIn("slow");
5852       $(".purchasePopupSpotify").fadeIn("slow");
5853 
5854       if(productType !== '') {
5855         console.log("clarity event " + productType + ' spotify')
5856         window.clarity("event", `${productType} spotify`)
5857         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5858       }
5859     }
5860   })
5861 
5862   function formatBytes(bytes, decimals = 2) {
5863     if (!+bytes) return '0 Bytes'
5864 
5865     const k = 1024
5866     const dm = decimals < 0 ? 0 : decimals
5867     const sizes = ['B', 'KB', 'MB']
5868 
5869     const i = Math.floor(Math.log(bytes) / Math.log(k))
5870 
5871     return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
5872   }
5873 
5874   async function trackUrl(link){
5875     try {
5876       let trackId = link.split('/').pop().split('?')[0];
5877       let type = ''
5878       if(link.includes("spotify:")) {
5879         const uri = link.split('spotify:')[1]
5880         trackId = uri.split(':')[1]
5881         type = uri.split(':')[0] + 's'
5882       } else {
5883         if(link.match('track')){
5884           type = 'tracks'
5885         } else if(link.match('playlist')) {
5886           type = 'playlists'
5887         } else if(link.match('artist')) {
5888           type = 'artists'
5889         } else if(link.match('album')) {
5890           type = 'albums'
5891         }
5892       }
5893       console.log(`${host}/api/spotify/${type}/${trackId}`)
5894       const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`)
5895       console.log(data, 'DATA')
5896       const song = data?.data?.name
5897       const artist = data?.data?.artist
5898       return {
5899         song, artist, type, trackId, status: data.status
5900       }
5901     } catch(err) {
5902       console.log(err)
5903     }
5904   }
5905 
5906   $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){
5907     const parent = $(this).parents("[data-index]")
5908     const preview = parent.find(".previewImage")
5909     const file = $(this)[0].files[0];
5910     if (file) {
5911         const reader = new FileReader();
5912         reader.onload = async function(e) {
5913           parent.find(".uploadResult label").hide()
5914           parent.find(".uploadedResult").remove()
5915           parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between">
5916           <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>
5917           <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;">
5917<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="img/asepnggasihlogoyoweswd.webp">
5918   <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 />
5919 </svg>
5920 </span></div></div>`)
5921           parent.find(".frameImageUploaded svg").hide()
5922           parent.find(".frameImage").addClass("uploaded")
5923           preview.attr("src", e.target.result);
5924           preview.show();
5925           let formData = new FormData(); 
5926           formData.append("file", file);
5927           const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, {
5928             method: "POST", 
5929             body: formData
5930           })
5931           const result = await response.json();
5932           if(result){
5933             parent.find(".resultPhotoSpotify").val(result.url)
5934           }
5935         }
5936         
5937         reader.readAsDataURL(file);
5938     } else {
5939         preview.hide();
5940     }
5941   });
5942 
5943   $(".spotifyAddons").delegate(".uploadResult", "click", function(){
5944     $(this).next("input[type=file]").trigger("click")
5945   })
5946 
5947   $(".spotifyAddons").delegate(".changeUpload", "click", function(){
5948     $(this).parents("input[type=file]").trigger("click")
5949   })
5950 
5951   $(".spotifyAddons").delegate(".removeUpload", "click", function(){
5952     const parent = $(this).parents("[data-index]")
5953     parent.find(".uploadPhotoSpotify").val("")
5954     parent.find(".uploadResult label").show()
5955     parent.find(".uploadedResult").remove()
5956     parent.find(".frameImageUploaded svg").show()
5957     parent.find(".previewImage").hide()
5958     parent.find(".frameImage").removeClass("uploaded")
5959   })
5960 
5961   $(".spotifyAddons").delegate("label.checkbox", "click", function(){
5962     const parent = $(this).parents("[data-index]")
5963     parent.toggleClass("checked")
5964   })
5965 
5966   $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){
5967     const parent = $(this).parents("[data-index]")
5968     const link = $(this).val()
5969     const data = await trackUrl(link)
5970 
5971     console.log(data)
5972 
5973     if(data.song) {
5974       parent.find(".spotifySong").val(data.song)
5975       parent.find(".spotifyData").find("h3").text(data.song)
5976     }
5977     if(data.artist) {
5978       parent.find(".spotifyArtist").val(data.artist)
5979       parent.find(".spotifyData").find("p").text(data.artist)
5980     }
5981     parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`)
5982     // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M
5983     if (data.status === true) {
5984       parent.find(".btn-action .btn").attr("disabled", false)
5985     } else {
5986       parent.find(".btn-action .btn").attr("disabled", true)
5987     }
5988   })
5989   
5990   $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){
5991     const parent = $(this).parents("[data-index]")
5992     const v = $(this).val()
5993     parent.find(".spotifyData h3").text(v)
5994   })
5995 
5996   $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){
5997     const parent = $(this).parents("[data-index]")
5998     const v = $(this).val()
5999     parent.find(".spotifyData p").text(v)
6000   })
6001 
6002   $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){
6003     const parent = $(this).parents("[data-index]")
6004     const length = parent.data("length")
6005     const index = parent.data("index")
6006     const indexNext = Number(index) + 1
6007     customSpotify(indexNext, length, 'addon')
6008   })
6009 
6010   
6011   $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){
6012     const parent = $(this).parents(".purchaseAddon")
6013     const next = parent.next(".sectionPurchase")
6014     parent.addClass("hide")
6015     next.removeClass("hide")
6016     next.find(".purchase-button").show()
6017     listAddon()
6018   })
6019 
6020   $(".spotifyAddons").delegate(".back-spotify", "click", async function(){
6021     const t = $(this).parents("[data-index]")
6022     const parent = $(this).parents(".sectionPurchase")
6023     const current = t.data("index")
6024     const prevCurrent = Number(current) - 1
6025     if(current == 1) {
6026       parent.removeClass("purchaseAddonSpotify")
6027       parent.find(".purchase-button").show()
6028       parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!")
6029       $(".spotifyAddons").empty()
6030       $(".regulerAddons").show()
6031       return
6032     }
6033     t.hide()
6034     t.prev("[data-index]").show()
6035     t.remove()
6036     parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`)
6037   })
6038 
6039   $("#personalizeBtn .btn").click(async function() {
6040     loadPopupPersonalize()
6041   });
6042 
6043   $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){
6044     $(".sectionPurchaseSpotify").hide()
6045     loadPopupPersonalize()
6046   })
6047 
6048   $(".close-purchase-popup").click(function() {
6049       disablePopup();
6050   });
6051   $("#backgroundPopup").click(function() {
6052       // disablePopup();
6053   });
6054 
6055   $("#popupCart .close-purchase-popup").click(function() {
6056       location.reload()
6057   });
6058 
6059   $('#popupCart').on('hide.bs.modal', function (e) {
6060     location.reload()
6061   })
6062 
6063   $(".next-card").click(function(){
6064     const parent = $(this).parents(".sectionPurchase")
6065     const next = parent.next(".sectionPurchase")
6066     parent.addClass("hide")
6067     next.removeClass("hide")
6068   })
6069 
6070   $(".back-purchase-button").click(function(){
6071     const parent = $(this).parents(".sectionPurchase")
6072     const prev = parent.prev(".sectionPurchase")
6073     parent.addClass("hide")
6074     prev.removeClass("hide")
6075   })
6076   
6077   $(document).keypress(function(e) {
6078       if (e.keyCode == 27 && popupStatus == 1) {
6079           disablePopup();
6080       }
6081   });
6082   
6083   const parentImg = $(".case-img-preview")
6084   const parentVid = $(".case-video-preview")
6085   
6086   function readURL(input) {
6087     if (input.files && input.files[0]) {
6088       let reader = new FileReader();
6089 
6090       let type = 'image/jpeg'
6091       const size = input.files[0].size
6092       if(input.files[0].type.match('video/')){
6093         type = 'video/mp4'
6094         if(size > 15728640) {
6095           alert('File size exceeds maximum limit 15 MB')
6096           return
6097         }
6098       } else {
6099         if(size > 5242880) {
6100           alert('File size exceeds maximum limit 5 MB')
6101           return
6102         }
6103       }
6104 
6105       reader.onload = function (e) {
6106         $(".nextBtn").attr("disabled", true)
6107         if(type === 'image/jpeg') {
6108           
6109             $('.placeholder-image').hide();
6110             $('.preview-image').show()
6111             $('.preview-image').attr('src', e.target.result);
6112           
6113         } else {
6114           // parentVid.find(".ajax-loader").show();
6115           $(".steps-card-preview").addClass("loading")
6116         }
6117       }
6118 
6119       
6120 
6121       reader.readAsDataURL(input.files[0]);
6122     }
6123   }
6124 
6125   async function readURLPapan(input) {
6126     if (input.files && input.files[0]) {
6127       let reader = new FileReader();
6128 
6129       reader.onload = function (e) {
6130         $('.btn-upload-papan').siblings('label').hide();
6131         $('.btn-upload-papan img').attr('src', e.target.result);
6132         $('.btn-upload-papan img').show();
6133         $('.svgLogoPapan').hide();
6134       }
6135       
6136       const type = 'image/jpeg'
6137       const name = `logo-8144957800663-${Date.parse(new Date())}`
6138 
6139       let formData = new FormData(); 
6140       formData.append("file", input.files[0]);
6141       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
6142         method: "POST", 
6143         body: formData
6144       })
6145       const result = await response.json();
6146       if(result) {
6147         const url = result.url
6148         $("[data-properties=papan-logo]").val(url)
6149       }
6150 
6151       reader.readAsDataURL(input.files[0]);
6152     }
6153   }
6154 
6155   async function readURLAddress(input) {
6156     console.log(input, 'readURLAddress')
6157     if (input.files && input.files[0]) {
6158       let reader = new FileReader();
6159 
6160       reader.onload = function (e) {
6161         $('.photo-address').attr('src', e.target.result);
6162         $('.photo-address').show();
6163       }
6164       
6165       const type = 'image/jpeg'
6166       const name = input.files[0].name?.split('.')[0]
6167 
6168       let formData = new FormData(); 
6169       formData.append("file", input.files[0]);
6170       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
6171         method: "POST", 
6172         body: formData
6173       })
6174       const result = await response.json();
6175 
6176       reader.readAsDataURL(input.files[0]);
6177 
6178       return result
6179     }
6180   }
6181 
6182   
6183 
6184   
6185   async function addToCartUang() {
6186     var productAddOnId1 = 42122101162199;
6187     var productAddOnId2 = 42122101194967;
6188     var product_id = 8144957800663
6189     const data = {
6190       items: [
6191           {
6192               quantity: $("#Quantity-" + productAddOnId1).val(),
6193               id: productAddOnId1,
6194               "properties": { "Time": $("#properties-time").val() }
6195           },
6196           {
6197               quantity: $("#Quantity-" + productAddOnId2).val(),
6198               id: productAddOnId2,
6199               "properties": { "Time": $("#properties-time").val() }
6200           }
6201       ]
6202     }
6203     await fetch(window.Shopify.routes.root + 'cart/add.js', {
6204       method: 'POST',
6205       headers: {
6206         'Content-Type': 'application/json'
6207       },
6208       body: JSON.stringify(data)
6209     })
6210     .then(response => {
6211       console.error('Sukses Buket Uang:', response);
6212       $(".form-flower").submit()
6213     })
6214     .catch((error) => {
6215       console.error('Error Buket Uang:', error);
6216       $(".form-flower").submit()
6217     });
6218   }
6219   
6220   async function saveCard(){
6221     let isCard = true
6222     const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : ''
6223     const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : ''
6224     const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : ''
6225     const foto = $("#properties-photo").val()
6226     const video = $("#properties-video").val()
6227     const data = JSON.stringify({
6228       "id": qrID, 
6229       "penerima": $("#properties-nama-penerima").val(), 
6230       "kartu_penerima": kartu_penerima, 
6231       "kartu_ucapan": kartu_ucapan, 
6232       "kartu_pengirim": kartu_pengirim, 
6233       "foto": foto,
6234       "video": video, 
6235       "productId": "8144957800663", 
6236       "order_name": "", 
6237       "status": "Cart"
6238     })
6239 
6240     
6241   }
6242 
6243   async function additem(items){
6244     try {
6245       let formData = items
6246       if(items?.length) {
6247         formData = {
6248            'items': items
6249         };
6250       }
6251   
6252       const add = await fetch(window.Shopify.routes.root + 'cart/add.js', {
6253         method: 'POST',
6254         headers: {
6255           'Content-Type': 'application/json',
6256           'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */
6257         },
6258         body: JSON.stringify(formData)
6259       })
6260   
6261       const data = await add.json();
6262       return data
6263     } catch(err){
6264       console.log('Error additem', err)
6265     }
6266   }
6267 
6268   async function addons(){
6269     let items = []
6270     $(".addon-item").each(function(){
6271       const p = $(this)
6272       const props = p.next(".propsAddonSpotify")
6273       const id = $(this).data("id")
6274       const quantity = $(this).data("qty")
6275       const propId = $("#properties-time").val()
6276       let properties = {}
6277       if(id === 46067682607319) {
6278         const link = props.find(".spotifyLinkAddon").text()
6279         const photo = props.find(".spotifyFotoAddon").text()
6280         const song = props.find(".spotifySongAddon").text()
6281         const artist = props.find(".spotifyArtistAddon").text()
6282         properties = {
6283           id: propId,
6284           "Spotify Link": link !== '' ? link : '-',
6285           "Spotify Photo": photo !== '' ? photo : '-',
6286           "Spotify Song": song !== '' ? song : '-',
6287           "Spotify Artist": artist !== '' ? artist : '-',
6288           type: 'addon'
6289         }
6290       } else {
6291         properties = { 
6292           "id": propId, 
6293           "type": "addon"
6294         }
6295       }
6296       items.push({
6297         id, 
6298         quantity, 
6299         properties
6300       })
6301     })
6302     return items
6303   }
6304 
6305   async function propItems() {
6306     let props = {}
6307     $("[data-properties]").each(function(e){
6308       let elementType = this.tagName;
6309       const k = $(this).data("properties")
6310       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') {
6311         const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val();
6312         if(v !== '') {
6313           props[k] = v?.replace(/[\s\n]/g, '');
6314         }
6315       }
6316     })
6317     return props
6318   }
6319 
6320   async function showPopupCart(items){
6321     if(productType !== '') {
6322       console.log("clarity event " + productType + ' completeOrder')
6323       window.clarity("event", `${productType} completeOrder`)
6324       // window.clarity("set", productType, `completeOrder - ${productDate}`)
6325     }
6326     $("#popupCart").show()
6327     
6328       $(".propDeliveryCity").text($("#cities").val())
6329       $(".propDeliveryDate").text($("#propDeliveryDate").val())
6330       $(".propDeliveryTime").text($("#propDeliveryTime").val())
6331       $(".propDeliveryName").text($("[data-properties=nama-penerima]").val())
6332       $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val())
6333       $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val())
6334       $(".propDeliveryProv").text($("#province").val())
6335       $(".propDeliveryZip").text($("#zip").val())
6336       
6337     
6338 
6339     const addons = []
6340     if(items && items.length > 0) {
6341       for(let i = 1; i < items.length; i++) {
6342         const spotifyLink = items[i].properties['Spotify Link']
6343         const spotifyPhoto = items[i].properties['Spotify Photo']
6344         const spotifySong = items[i].properties['Spotify Song']
6345         const spotifyArtist = items[i].properties['Spotify Artist']
6346         const price = items[i].price / 100
6347         const props = spotifyLink ? `<div class="propsAddonCart row m-0">
6348                   <div class="col-12 col-lg-2"></div>
6349                   <div class="col-12 col-lg-10">
6350                     <p>
6351                       <span>spotify link</span>
6352                       <span>${spotifyLink}</span>
6353                     </p>
6354                     <p>
6355                       <span>Upload Photo</span>
6356                       <span>${spotifyPhoto}</span>
6357                     </p>
6358                     <p>
6359                       <span>song / playlist name</span>
6360                       <span>${spotifySong}</span>
6361                     </p>
6362                     <p>
6363                       <span>artist name</span>
6364                       <span>${spotifyArtist}</span>
6365                     </p>
6366                   </div>
6367                 </div>` : '';
6368         addons.push(`<div class="row m-0">
6369                   <div class="imgAddonCart col-2">
6370                     <img
6371                       width="43"
6372                       src="${items[i].image}"
6373                       alt=""
6374                     >
6375                   </div>
6376                   <div class="imgAddonTitlePrice col-10 align-self-center">
6377                     <div class="row justify-content-between m-0">
6378                       <div class="col-12 col-lg-8">
6379                         <h5>${items[i].title}</h5>
6380                       </div>
6381                       <div class="col-12 col-lg-4 text-lg-right">
6382                         <span>${rupiah.format(price)}</span>
6383                       </div>
6384                     </div>
6385                   </div>
6386                 </div>${props}`)
6387       }
6388     }
6389     // console.log(addons)
6390     if(addons.length === 0) {
6391       $(".itemAddonCart").hide()
6392       return
6393     }
6394     $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`)
6395     $(".wrapperItemAddonCart").html(addons)
6396   }
6397 
6398   const money = (money) => {
6399       return new Intl.NumberFormat('id-ID',
6400           { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
6401       ).format(money);
6402   }
6403 
6404   async function showNoteMoney() {
6405     let qty50k = $("[data-properties='Uang 50k']").val()
6406     let qty100k = $("[data-properties='Uang 100k']").val()
6407     const total50k = Number(qty50k) * 50000
6408     const total100k = Number(qty100k) * 100000
6409     const total_all = total50k + total100k
6410     $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`)
6411     $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`)
6412     $(".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://said.newjerseyjiujitsu.com/" target="_blank" style="text-decoration: underline;
6412 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`)
6413   }
6414 
6415   async function removeImage() {
6416     const data = JSON.stringify({
6417       "ID": $("#properties-properties-qrId").val(), 
6418       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6419       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6420       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6421       "Nama Penerima": $("#properties-nama-penerima").val(), 
6422       "Order Number":"",
6423       "Status":"Product", 
6424       "Foto": "", 
6425       "Media": $("#properties-video").val(), 
6426       "Image": "8144957800663"
6427     })
6428     const remove = updateCard(data)
6429     if(remove) {
6430       $(this).hide()
6431       $("#properties-photo").val("-")
6432       $(".placeholder-image").show()
6433       $(".preview-image").attr("src", "")
6434     }
6435   }
6436 
6437   async function removeVideo() {
6438     const data = JSON.stringify({
6439       "ID": $("#properties-properties-qrId").val(), 
6440       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6441       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6442       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6443       "Nama Penerima": $("#properties-nama-penerima").val(), 
6444       "Order Number":"",
6445       "Status":"Product", 
6446       "Foto": $("#properties-photo").val(), 
6447       "Media": "", 
6448       "Image": "8144957800663"
6449     })
6450     const remove = updateCard(data)
6451     if(remove) {
6452       $("#properties-video").val("-")
6453       $(this).find("img").hide()
6454       $(this).hide()
6455       $(this).prev("p").text("Add video to make it more special (optional)")
6456       $("#label-input-video").show()
6457       $("#label-input-video span").text("Upload Video")
6458       $(".case-video-preview p span").remove()
6459     }
6460   }
6461 
6462   async function loadItemOccasion(t, occasion) {
6463     const name = occasion?.replace('greeting-card-', '')
6464     $("#kartu-ucapan").val("")
6465     $("[data-occassion]").removeClass("selected")
6466     $("[data-properties=ucapan]").val("")
6467     $("#save-card").attr("disabled", true)
6468     t.addClass("selected")
6469     $("#show_note").attr("data-card-occassion", name)
6470     $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){
6471         const products = data.products
6472         const html = []
6473         for(let i = 0; i < products.length; i++) {
6474             const id = products[i].id
6475             const variantId = products[i].variants[0].id
6476             const img = products[i].images[0].src
6477             const title = products[i].title
6478             const price = products[i].variants[0].price
6479             const qty = products[i].variants[0].inventory_quantity
6480             const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}>
6481                 <label for="card-${variantId}"></label>
6482                     <div class="card-image">
6483                         <img src="${img}" alt="${title}" width="" height="" />
6484                     </div>
6485                     <div class="card-meta text-center">
6486                         <h5>${title}</h5>
6487                         <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
6488                         <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}">
6489                     </div>
6490                 </div>`
6491             html.push(body)
6492         }
6493         const withoutCard = `<div class="item-card item-without-card">
6494                 <label for="card-0"></label>
6495                     <div class="card-image">
6496                         <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" />
6497                     </div>
6498                     <div class="card-meta text-center">
6499                         <h5>
6499Send without a greeting card</h5>
6500                         <input id="card-0" type="radio" name="id" value="" data-price="">
6501                     </div>
6502                 </div>`
6503         $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join(""))
6504     });
6505   }
6506         
6507   $(document).ready(function(){
6508 
6509     // Observer to auto-trigger addon loading when addon section becomes visible
6510     const addonObserver = new MutationObserver(function(mutations) {
6511       mutations.forEach(function(mutation) {
6512         const target = $(mutation.target)
6513         if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') {
6514           if(!target.hasClass('hide')) {
6515             // Addon section just became visible, ensure items are loaded
6516             setTimeout(function() {
6517               if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6518                 console.log("Auto-triggering addon load...")
6519                 $("[data-addon=upsell-all]").trigger("click")
6520               }
6521             }, 150)
6522           }
6523         }
6524       })
6525     })
6526     
6527     // Start observing addon section
6528     const addonSection = document.querySelector('.purchaseAddon')
6529     if(addonSection) {
6530       addonObserver.observe(addonSection, { 
6531         attributes: true, 
6532         attributeFilter: ['class'] 
6533       })
6534     }
6535 
6536     $(".purchasePopup").delegate("#addtocart-card", "click", async function(){
6537     
6538     $(this).find("span").addClass("loading")
6539     let isValid = true
6540     $(".formAddressPurchase [required]").each(function(){
6541       const t = $(this)
6542       const input = t.val()
6543       const p = t.parent()
6544       if(input === '') {
6545         p.addClass("error")
6546         isValid = false
6547       }
6548     })
6549 
6550     if(!isValid) {
6551       $(this).find("span").removeClass("loading")
6552       return
6553     }
6554     
6555     let items = []
6556     const mainProps = {
6557       
6558         "Delivery Date": $("#propDeliveryDate").val(),
6559         "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' ,
6560         "Kota Pengiriman": $("#cities").val(),
6561         "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' ,
6562         "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' ,
6563         "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' ,
6564         "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' ,
6565       
6566       
6567         "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' ,
6568         "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' ,
6569         "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' ,
6570         "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' ,
6571         "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' ,
6572       
6573       
6574       "Province": $("#province").val() !== '' ? $("#province").val() : '-' ,
6575       "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' ,
6576       "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' ,
6577       "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' ,
6578       "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
6579       "type": 'product'
6580     }
6581     const props = await propItems()
6582     properties = {...mainProps, ...props };
6583     const id = $("#productSelect").find('option:selected').val()
6584     console.log(id, 'main ID')
6585     const mainItem = {
6586       id: Number(id),
6587       quantity: 1,
6588       properties
6589     }
6590     items.push(mainItem)
6591     const cardId = $("#itemCards").find(".selected input").val()
6592     const cardItem = {
6593       id: Number(cardId),
6594       quantity: 1,
6595       properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' }
6596     }
6597     console.log(cardId, 'cardId')
6598     if(cardId) {
6599       items.push(cardItem)
6600     }
6601     const addon = await addons()
6602     if(addon) {
6603       for(let i = 0;
6603 i < addon.length; i++){
6604         items.push({
6605           id: addon[i].id,
6606           quantity: addon[i].quantity,
6607           properties: addon[i].properties
6608         })
6609       }
6610     }
6611     const addItems = await additem(items)
6612     console.log(addItems.items, 'add items')
6613     if(addItems) {
6614       $(this).find("span").removeClass("loading")
6615       disablePopup()
6616       showPopupCart(addItems.items)
6617       
6618       localStorage.setItem("items", JSON.stringify(addItems.items))
6619     }
6620   })
6621   
6622   $("#addtocart-cart .btn").click(async function(){
6623     const id = $("#productSelect").find('option:selected').val()
6624     const mainProps = {
6625       id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 
6626       type: 'product'
6627     }
6628     const props = await propItems()
6629     const properties = { ...mainProps, ...props };
6630     const items = {
6631       id: Number(id),
6632       quantity: 1,
6633       properties
6634     }
6635     const addItems = await additem(items)
6636     if(addItems) {
6637       showPopupCart(addItems.items)
6638       localStorage.setItem("items", JSON.stringify(addItems))
6639     }
6640   })
6641 
6642   $(".formAddressPurchase [required]").change(function(){
6643     const t = $(this)
6644     const p = t.parent()
6645     const v = t.val()
6646     if(v !== '') {
6647       p.removeClass("error")
6648     }
6649   })
6650 
6651   $("#save-card").click(async function(){
6652     const parent = $(this).parents(".sectionPurchase")
6653     const next = parent.next(".sectionPurchase")
6654     $(this).find("span").addClass("loading")
6655     const card = await saveCard()
6656     console.log(card, 'ssaveCCC')
6657     if(card?.status === 200 || card?.status === 201) {
6658       $(".scanCard").removeClass("hide")
6659       $(this).find("span").removeClass("loading")
6660       parent.addClass("hide")
6661       next.removeClass("hide")
6662       if(next.hasClass("purchaseAddon")) {
6663         $("[data-addon=upsell-all]").click()
6664         console.log("clarity event addons")
6665         window.clarity("event", `${productType} add-ons`)
6666         // Ensure addon items are loaded when entering addon popup
6667         setTimeout(function() {
6668           if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6669             $("[data-addon=upsell-all]").trigger("click")
6670           }
6671         }, 100)
6672       }
6673       if(next.hasClass("purchaseAddress")) {
6674         $("#zip").select2()
6675       }
6676     }
6677   })
6678 
6679   $("#skip-card").click(async function(){
6680     $("#greetingCard [data-properties]").val("")
6681     $("#properties-photo").val("")
6682     $("#properties-video").val("")
6683     const parent = $(this).parents(".sectionPurchase")
6684     const next = parent.next(".sectionPurchase")
6685     parent.addClass("hide")
6686     next.removeClass("hide")
6687     // $("#itemCards").html("")
6688     removeImage()
6689     removeVideo()
6690     if(next.hasClass("purchaseAddon")) {
6691       $("[data-addon='upsell-all']").click()
6692       console.log("clarity event addons")
6693       window.clarity("event", `${productType} add-ons`)
6694       // Ensure addon items are loaded when entering addon popup
6695       setTimeout(function() {
6696         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6697           $("[data-addon='upsell-all']").trigger("click")
6698         }
6699       }, 100)
6700     }
6701     if(next.hasClass("purchaseAddress")) {
6702       $("#zip").select2()
6703     }
6704   })
6705 
6706   $("#msgCard").click(async function(){
6707       $(this).parent().addClass("loading")
6708       let occasion = $(".selected[data-occassion]").data("occassion")
6709       occasion = occasion?.replace("greeting-card-", "")
6710       const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`);
6711       const d = data?.data
6712       for(let i = 0; i < d.length; i++) {
6713         const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1);
6714         const greeting = d[num]?.Greeting
6715         $(".greetingCard textarea").val(greeting)
6716         $(this).parent().removeClass("loading")
6717       }
6718       $("#save-card").attr("disabled", false)
6719     })
6720 
6721   $(".sectionPurchaseBoard .next-purchase-button").click(function(){
6722     const parent = $(this).parents(".sectionPurchase")
6723     const next = parent.next(".sectionPurchase")
6724     parent.addClass("hide")
6725     next.removeClass("hide")
6726   })
6727 
6728   $("#editCard").click(function(){
6729     $(".custom-card").show()
6730     $(".preview-card").hide()
6731   })
6732 
6733   $("#first_name, #last_name").change(function(){
6734     const v = $(this).val()
6735     const first_name = $("#first_name").val()
6736     const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : ''
6737     $("[data-properties=nama-penerima]").val(first_name+last_name)
6738   })
6739 
6740   $("[data-occassion]").click(function(){
6741       const t = $(this)
6742       const p = t.parents(".sectionPurchase")
6743       // $(".greetingCard").addClass("disabled")
6744       const occasion = t.data("occassion")
6745       loadItemOccasion(t, occasion)
6746   })
6747 
6748   $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){
6749       const id = $(this).parent(".item-card").data("id")
6750       const t = $(this).parent(".item-card")
6751       const target = t.find("input")
6752       const v = $('.item-card input[type="radio"]:checked').val();
6753       $("#itemCards .item-card").removeClass("selected")
6754       t.addClass("selected")
6755       $("#itemCards .item-card").find("input").attr("name", "")
6756       if(target.length > 0) {
6757           target.attr("name", "id[]")
6758           $("#properties-card").val(id)
6759           $(".greetingCard").removeClass("disabled")
6760           $("#skip-card").attr("disabled", false)
6761       } else {
6762           $("#properties-card").val("")
6763       }
6764   })
6765 
6766   $("#itemCards").delegate(".item-without-card label", "click", function(){
6767     const parent = $(this).parents(".sectionPurchase")
6768     const next = parent.next(".sectionPurchase")
6769     $(".greetingCard").addClass("disabled")
6770     parent.addClass("hide")
6771     next.removeClass("hide")
6772     $("[data-addon=upsell-all]").click()
6773     $("#zip").select2()
6774   })
6775 
6776   $("[data-properties=ucapan]").keyup(function(){
6777     const v = $(this).val()
6778     const p = $(this).parents(".sectionPurchase")
6779     $(".purchaseAddress").find(".greetingCard textarea").val(v)
6780     if(v.length > 3) {
6781       p.find(".next-purchase-button").attr("disabled", false)
6782     } else {
6783       p.find(".next-purchase-button").attr("disabled", true)
6784     }
6785   })
6786 
6787   $("[data-properties=penerima]").keyup(function(){
6788     const v = $(this).val()
6789     $(".purchaseAddress").find("[data-properties=penerima]").val(v)
6790   })
6791 
6792   $("[data-properties=pengirim]").keyup(function(){
6793     const v = $(this).val()
6794     $(".purchaseAddress").find("[data-properties=pengirim]").val(v)
6795   })
6796 
6797   $(document).click(function(e){
6798 
6799      if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6800      // $('#popupCart').fadeOut('slow');
6801     // location.reload()
6802   });
6803 
6804   $(".toggleAddonCart").click(function(){
6805     const p = $(this).parent(".itemAddonCart")
6806     p.toggleClass("open")
6807   })
6808 
6809   $(".btnViewCart").click(function(){
6810     window.location.href = "https://outerbloom.com/cart";
6811   })
6812 
6813   $(".btnViewCheckout").click(async function(){
6814     $(this).find("span").addClass("loading")
6815     let zip = $("#zip").val()
6816     const first_name = $("#first_name").val()
6817     const last_name = $("#last_name").val()
6818     const company = $("#company").val() !== '' ? $("#company").val() : ''
6819     const address1 = $("#delivery_address").val()
6820     const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : ''
6821     zip = zip && zip !== '' ? zip?.split(' - ')[0] : ''
6822     const phone = $("#recipient_number").val()
6823     const city = $("#cities").val()
6824     const province = $("#province").val()
6825     const country = 'Indonesia'
6826     const ver = Date.parse(new Date())
6827     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}`
6828 
6829     const clear = await fetch(`/cart/clear.js`, {method: 'POST'})
6830     if(clear.status === 200) {
6831       const savedItem = window.localStorage.getItem("items");
6832       const items = JSON.parse(savedItem)
6833       const addItems = await additem(items)
6834       console.log(addItems, 'new addItems')
6835       if(addItems) {
6836         window.location.href = `https://outerbloom.com/checkout?${params}`;
6837       }
6838     }
6839   })
6840 
6841   $(".btnContinueShopping").click(function(){
6842     window.location.href = "https://outerbloom.com/";
6843   })
6844 
6845     if (isIOS) {
6846       $(".empty-state-card").click(function(){
6847         $("#input-foto").trigger("click")
6848       })
6849       $(".btn-upload-image").click(function(){
6850         $("#input-foto").trigger("click")
6851       })
6852       $("[for=input-video]").click(function(){
6853         $("#input-video").trigger("click")
6854       })
6855       $(".btn-upload-papan").click(function(){
6856         $("#logoPapan").trigger("click")
6857       })
6858     }
6859   
6860     $("[data-properties]").each(function(){
6861       const select = $(this).parents(".form-group").find("select")
6862       $(this).change(function(){
6863         const name = $(this).data("properties")
6864         const v = $(this).val()
6865         if (name == 'telepon-penerima') {
6866           let phone = v.replace(/[^0-9]/g, '')
6867           $(this).val(phone);
6868           $("#properties-telepon-penerima").val(phone)
6869           $('.iti__search-input').val('-') 
6870         } else {
6871           $("#properties-" + name).val(v)
6872         }
6873       })
6874       select.on("change", function(){
6875         const name = $(this).data("properties")
6876         const v = $(this).val()
6877         $("#properties-" + name).val(v)
6878       })
6879     })
6880 
6881     $("#show_note").click(function(){
6882       nameq = $("#properties-nama-penerima").val()
6883       dear = $("#properties-kartu-nama-penerima").val()
6884       card = $("[data-properties=ucapan]").val()
6885       sender = $("#properties-kartu-nama-pengirim").val()
6886       photo = $("#properties-photo").val()
6887       video = $("#properties-video").val()
6888       updateCard(nameq, dear, card, sender, photo, video, status)
6889     })
6890 
6891     $(".remove-image").click(function(e){
6892       e.preventDefault()
6893       $(this).find("img").show()
6894       removeImage()
6895     })
6896 
6897     $(".remove-media").click(function(e){
6898       e.preventDefault()
6899       $(this).find("img").show()
6900       removeVideo()
6901     })
6902 
6903     
6904 
6905     $("[data-delivery_method]").click(function(e){
6906       e.preventDefault()
6907       const t = $(this)
6908       const data = t.data("delivery_method")
6909       $("[data-delivery_method]").removeClass("selected")
6910       t.addClass("selected")
6911       $("#cities").val("")
6912       $("#properties-delivery-date").val("-")
6913       $("#deliveryDate button").removeClass("selected")
6914       $("#full-date").val("Full Calendar →")
6915       $("#propDeliveryDate").val("")
6916       const step3 = $("#step-3")
6917       if(data.match('PickUp')) {
6918         $(".selfpickup-point").show()
6919         step3.find("[data-finished=false]").hide()
6920         $("#panel-4").hide()
6921         step3.find("[data-finished=true]").show()
6922         $("#cities").attr("required", false)
6923         $("#form-group-city").hide()
6924         $("#row-delivery-time").hide()
6925         $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-")
6926         $("#propDeliveryTime").attr("required", false)
6927         // $("#deliveryDate").find("button:first-child").addClass("stop")
6928         $(".form-selfpickup").show()
6929         $(".form-delivery").hide()
6930         $(".form-delivery").find("input, textarea, select").val("")
6931         $(".form-delivery").find("input, textarea, select").attr("required", false)
6932         $("#properties-shipping").val("0")
6933         $("#noteDeliveryDate").hide()
6934         $(".form-delivery .form-control").attr("required", false)
6935         $("#stepNav4").hide()
6936         
6937         $("#deliveryDate").find("button:nth-child(1)").addClass("stop")
6938         
6939         
6940         
6941         if(timeOfDay >= 16.01){
6942           $("#deliveryDate").find("button:nth-child(2)").addClass("stop")
6943         }
6944       } else {
6945         
6946         
6947         $("#deliveryDate").find("button:nth-child(1)").removeClass("stop")
6948         step3.find("[data-finished=false]").show()
6949         $("#panel-4").show()
6950         step3.find("[data-finished=true]").hide()
6951         $("#cities").attr("required", true)
6952         $(".selfpickup-point").hide()
6953         $("#form-group-city").show()
6954         $("#cities").val('').trigger('change');
6955         $("#properties-kota-pengiriman").val("-")
6956         
6957         $("#row-delivery-date, #row-delivery-time").show()
6958         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6959         $("#deliveryDate").find("button").removeClass("stop")
6960         $(".form-selfpickup").hide()
6961         $(".form-delivery").show()
6962         $(".form-delivery").find("input, textarea, select").attr("required", true)
6963         $(".form-delivery [data-properties]").attr("readonly", false)
6964         $("#properties-kodepos").val("-")
6965         $("#properties-alamat-penerima").val("-")
6966         $(".form-delivery .form-control").attr("required", true)
6967         $(this).parents(".setup-content").attr("id", "step-1")
6968         
6969         $("#stepNav4").show()
6970       }
6971     })
6972 
6973     $("[name=selfpickup]").click(function(){
6974         const p = $(this).parents(".row-pickup")
6975         const pickupCity = $("input[name='selfpickup']:checked").val();
6976         const pickupAddress = $("input[name='selfpickup']:checked").data("address");
6977         const pickupZip = $("input[name='selfpickup']:checked").data("zip");
6978 
6979         $(".row-pickup").removeClass("selected")
6980         p.addClass("selected")
6981         
6982         $("#properties-kota-pengiriman").val(pickupCity)
6983         $("#province").val("Jakarta")
6984         $("#properties-alamat-penerima").val(pickupAddress)
6985         $("#properties-kodepos").val(pickupZip)
6986     })
6987 
6988     $("#cities").change(function(e){
6989       e.preventDefault()
6990       $(this).parent(".row").find("p.error").remove()
6991       $("#full-date").val("Full Calendar")
6992       $("#deliveryDate, #deliveryDateFull label ").show()
6993       $("#deliveryDateFull").removeClass("filled")
6994       $(".btnChangeDeliveryDate").addClass("hide")
6995       $("#full-date").prop('disabled', false);
6996       $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success")
6997       $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true)
6998       const step3 = $("#step-3")
6999       $("#cityNote").remove()
7000       $("#noteDeliveryDate").hide()
7001       $("#noteDeliveryDate").empty()
7002       let v = $(this).val()
7003       let v2 = $('option:selected', this).attr('data-city');
7004       let v3 = $('option:selected', this).attr('data-province');
7005       let price = $('option:selected', this).attr('data-price');
7006       $("#country").val(v)
7007       $("#properties-kota-pengiriman").val(v)
7008       $("#properties-shipping").val(price)
7009       $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected")
7010       $("#properties-delivery-date, #properties-delivery-time").val("-")
7011       $("#propDeliveryDate, #propDeliveryTime").val("")
7012       let note = $('option:selected', this).attr('data-note');
7013       if(v === 'Kota Lainnya') {
7014         $("#noteDeliveryDate").show()
7015         $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.")
7016         $("#zip").attr("required", false)
7017         $("#zip").hide()
7018         $("#propDeliveryDate, #propDeliveryTime").attr("required", false)
7019         $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-")
7020         $("#row-delivery-date, #row-delivery-time").hide()
7021         $("#properties-shipping").val("")
7022         // $(this).parents(".setup-content").attr("id", "step-2")
7023         
7024       } else {
7025         $("#noteDeliveryDate").hide()
7026         $("#zip").attr("required", true)
7027         $("#zip").show()
7028         $("#row-delivery-date, #row-delivery-time").show()
7029         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
7030         $("#deliveryDate").find("button").removeClass("stop")
7031         // $(this).parents(".setup-content").attr("id", "step-1")
7032         
7033       }
7034       
7035       
7036       
7037       // if(v !== 'Jakarta') {
7038       //   $("[data-type=upsell]").hide()
7039       // } else {
7040       //   $("[data-type=upsell]").show()
7041       // }
7042       // $('.collection-addons')[0].swiper.update();
7043       
7044       
7045       getProvince(v)
7046       $("#zip").html(`<option value="">Choose Postal Code</option>`)
7047       renderZip(v, v2, v3)
7048       
7049       disabledSameDay()
7050       
7051 
7052       if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') {
7053         
7054         $("#cardOccasion, #navAddon, .collection-addons").hide()
7055         
7056         $("[data-addon=giftcard]").show()
7057         $("[data-addon=giftcard]").click()
7058         $("#itemAddons").show()
7059         $("#flower-step").addClass("nonjadetabek")
7060       } else {
7061         $("#cardOccasion, #navAddon, .collection-addons").show()
7062         $("[data-addon=all]").click()
7063         $("#flower-step").removeClass("nonjadetabek")
7064       }
7065       
7066         if(v !== '') {
7067           $("#personalizeBtn .btn").attr("disabled", false)
7068         } else {
7069           $("#personalizeBtn .btn").attr("disabled", true)
7070         }
7071       
7072     })
7073 
7074     $("#zip").change(function(e){
7075       let v = $(this).val()
7076       var city = $("#cities").find('option:selected');
7077       $("#properties-kodepos").val(v)
7078       if(city === 'Kota Lainnya') {
7079         $(this).attr("required", true)
7080         $("#recipient-address").val("")
7081       }
7082     })
7083 
7084     
7085       var minDate = +7
7086       
7087     
7088 
7089     $("#full-date").datepicker({
7090       minDate,
7091       dateFormat: 'Mdd_yy', //Nop22_2021,
7092       
7093       beforeShowDay: disabledays,
7094       
7095       onSelect: function (date) {
7096         $("#deliveryDate, #deliveryDateFull label ").hide()
7097         $("#deliveryDateFull").addClass("filled")
7098         $(".btnChangeDeliveryDate").removeClass("hide")
7099         $("#full-date").prop('disabled', true);
7100         $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date);
7101         $(".date-full").addClass("selected")
7102         $(".date-single, .calendar-group").removeClass("selected")
7103         $("#propDeliveryTime").val('')
7104         $("#properties-delivery-time").val('-')
7105         $(".time-single").removeClass("selected")
7106         
7107         
7108       }
7109     });
7110 
7111     $(".btnChangeDeliveryDate").click(function(){
7112         $("#deliveryDate, #deliveryDateFull label ").show()
7113         $("#deliveryDateFull").removeClass("filled")
7114         $(".btnChangeDeliveryDate").addClass("hide")
7115         $("#full-date").prop('disabled', false);
7116     })
7117   
7118     $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){
7119       e.preventDefault()
7120       $(this).parents("#row-delivery-date").find("p.error").remove()
7121       const fulldate = $(this).data("fulldate")
7122       const day = $(this).data("day")
7123       const date = $(this).data("date")
7124       const month = $(this).data("month")
7125       const year = $(this).data("year")
7126       const off_pagi = $(this).data("offpagi")
7127       const off_siang = $(this).data("offsiang")
7128       const off_Malam = $(this).data("offMalam")
7129       $(".calendarbutton").removeClass("selected")
7130       $(this).addClass("selected")
7131       $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`)
7132       $("#propDeliveryTime").val('')
7133       $("#properties-delivery-time").val('-')
7134       $(".calendarbutton2").removeClass("selected")
7135       $("#full-date").val("Full Calendar")
7136 
7137       
7138       if(off_pagi && timeOfDay > off_pagi) {
7139         $("[data-time=Morning]").attr("disabled", true)
7140       } else {
7141         $("[data-time=Morning]").attr("disabled", false)
7142       }
7143       if(off_siang && timeOfDay > off_siang) {
7144         $("[data-time=Afternoon]").attr("disabled", true)
7145       } else {
7146         $("[data-time=Afternoon]").attr("disabled", false)
7147       }
7148       
7149 
7150       
7151     })
7152     
7153     if(today === 14 && timeOfDay > 17.00) {
7154       $("#deliveryDate button:first-child").attr("disabled", true)
7155     }
7156   
7157     $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){
7158       e.preventDefault()
7159       const time = $(this).data("time")
7160       const date = $("#propDeliveryDate").val()
7161       if(date == '') {
7162         return alert('Silakan pilih tanggal terlebih dahulu')
7163       }
7164       $(".calendarbutton2").removeClass("selected")
7165       $(this).addClass("selected")
7166       $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`)
7167     })
7168       
7169     $('textarea.has-limit, input.has-limit').keyup(function () {
7170       max = this.getAttribute("maxlength");
7171       let len = $(this).val().length;
7172       let limit = $(this).siblings(".limit");
7173       if (len > max) {
7174         alert('you have reached the limit');
7175       } else {
7176         limit.text(`${len}/${max}`);
7177       }
7178     });
7179     
7180     $("#button-action-step .btn").click(function(){
7181       $(this).find("span").text("Processing...");
7182     });
7183 
7184     $(".finishBtn").on('click', function() {
7185       $(this).addClass("is-adding");
7186       // $(this).click();
7187     });
7188 
7189     $('.setup-panel .nav-item a.btn-success').trigger('click');
7190 
7191     $("#button-action .btn").click(function(){
7192       $("#flower-step").addClass("block");
7193       $("#button-action").hide();
7194     });
7195         
7196     $(".close-how-order").click(function(){
7197       $("#flower-step").removeClass("block");
7198       $("#button-action").show();
7199     });
7200 
7201     $("#input-foto, #input-video").change(function(e){
7202       readURL(this);
7203     });
7204 
7205     $("#logoPapan").change(function(){
7206       readURLPapan(this);
7207     });
7208 
7209     $("#address-upload").change(async function(){
7210       const upload_address = await readURLAddress(this)
7211       if(upload_address) {
7212         const url = upload_address.url
7213         $(".props-address-upload").val(url)
7214         $(".form-address").addClass("address-uploaded")
7215         $(".form-address-upload").addClass("uploaded")
7216 
7217         $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false)
7218       }
7219     })
7220 
7221     $(".address-manualy").click(function(){
7222       $(".form-address-upload").removeClass("uploaded");
7223       $(".photo-address").hide();
7224       $(".form-address").removeClass("address-uploaded")
7225       $("#formAddressPurchase").find(".form-control").attr("required", true)
7226     });
7227 
7228     $(".case-video-preview").delegate(".replace-video", "click", function(){
7229       $("#input-video").trigger("click")
7230     })
7231 
7232     $('.date-single').click(function(e) {
7233       e.preventDefault();
7234       $('.date-single').removeClass('selected');
7235       $('#full-date').removeClass('selected');
7236       $(this).addClass('selected');
7237       $('#full-date').html('Full' + '<br/>' + 'Calendar');
7238     });
7239     $('#full-date').click(function(e){
7240       e.preventDefault();
7241       $('.date-single').removeClass('selected');
7242       $(this).addClass('selected');
7243     });
7244     
7245     // $("tr").each(function(){
7246     //   if($(this).text().match('SKU')) {
7247     //     $(".sku-product").html($(this).parents("table").html())
7248     //   }
7249     // })
7250     
7251     $("#product-image").scroll(function(){
7252       $(".desc-add").each(function(){
7253         const img = $(this).find("img")
7254         const src = img.data("src")
7255         img.attr("src", src)
7256       })
7257     })
7258 
7259     $(".product-fixed").hide()
7260     
7261     let target = $("#personalizeBtn")
7262     
7263 
7264     $(".product-meta").scroll(function() {
7265         if ($(window).scrollTop() >= target.offset().top ) {
7266             $(".product-fixed").addClass("show")
7267         } else {
7268           $(".product-fixed").removeClass("show")
7269         }
7270     });
7271 
7272     $(window).scroll(function() {
7273         if ($(window).scrollTop() >= target.offset().top ) {
7274             $(".product-fixed").addClass("show")
7275         } else {
7276           $(".product-fixed").removeClass("show")
7277         }
7278     });
7279   });
7280 </script>
7280
7281 
7282   
7282<script>
7283     //
7284   </script>
7284
7285 
7286 
7286<script>
7287   $(document).ready(function(){
7288     $('table tr td').each(function(){
7289       var texto = $(this).text();
7290       var nextto = $(this).next("td");
7291       var sku = $("#data-sku").val()
7292       if(texto == 'SKU'){
7293         nextto.text(sku)
7294       }
7295     });
7296     
7297     $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan");
7298     $(".stamped-summary-actions-newreview").text("Tulis Review");
7299     $("#tab-questions").text("Pertanyaan");
7300     
7301     $(".freeship .icon").click(function(){
7302       $(".fs-content").slideToggle();
7303       $(this).parents(".freeship").toggleClass("expand");
7304     });
7305     
7306     var $easyzoom = $('.easyzoom').easyZoom();
7307     // Setup thumbnails example
7308     var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom');
7309     $('.thumbnails').on('click', 'a', function(e) {
7310       var $this = $(this);
7311       e.preventDefault();
7312       // Use EasyZoom's `swap` method
7313       api1.swap($this.data('standard'), $this.attr('href'));
7314     });
7315 
7316     $('#playerID').click(function(){
7317       var videoURL = $('#VdoID').attr('src'),
7318           dataplay = $('#VdoID').attr('data-play');
7319 
7320       //for check autoplay
7321       //if not set autoplay=1
7322       if(dataplay == 0 ){
7323         $('#VdoID').attr('src',videoURL+'?autoplay=1');
7324         $('#VdoID').attr('data-play',1);
7325       }
7326       else{
7327         var videoURL = $('#VdoID').attr('src');
7328         videoURL = videoURL.replace("?autoplay=1", "");
7329         $('#VdoID').prop('src','');
7330         $('#VdoID').prop('src',videoURL);
7331 
7332         $('#VdoID').attr('data-play',0);
7333       }
7334 
7335     });
7336     
7337     $(".product-photo-thumb-video").click(function(e){
7338       e.preventDefault();
7339 
7340       var newEmbed = $(this).attr('href');
7341       $("#featured-image-product").addClass("img-video");
7342       $("#ProductPhotoImg").hide();
7343       $("#featured-image-product .video").show();
7344       $("#featured-image-product iframe").attr('src', newEmbed);
7345       $("#VdoID")[0].src += "&autoplay=1";
7346     });
7347     $(".product-single__thumbnail").click(function(evt){
7348       evt.preventDefault();
7349       $("#featured-image-product").removeClass("img-video");
7350       $("#ProductPhotoImg").show();
7351       $("#featured-image-product .video").hide();
7352       $("#featured-image-product iframe").attr('src', '');
7353     });
7354     
7355     if($('#product-meta .short-desc > div').length >= 1){
7356       //console.log('div detected')
7357       var replacer = $('#product-meta .short-desc > div').contents();
7358       $('#product-meta .short-desc > div').replaceWith(replacer);
7359 
7360       var cAssured =  $('.c-assured').detach();
7361       cAssured.insertAfter('.meta-sds .stock-info');
7362     }
7363 
7364     
7365     
7366     $(".heading-toggle").click(function(){
7367       $(this).parent().toggleClass("open")
7368       
7369     });
7370   });
7371 </script>
7371
7372 
7373 
7374   
7374<script type="application/json" id="ProductJson-Product">
7375         
7376         {"id":8144957800663,"title":"YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSitus resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman."}
7377   </script>
7377
7378   
7379     
7379<script type="application/json" id="VariantJson-Product">
7380       [
7381         
7382           {
7383              "incoming": false,
7384              "next_incoming_date": null
7385           }
7386         
7387       ]
7388     </script>
7388
7389   
7390 
7391 
7392 
7393 </div>
7394 
7395 
7396 
7396<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7396
7397 <style>
7398     .stamped-review-header-title,
7399     .stamped-review-header .author,
7400     .stamped-review-content-body,
7401     .stamped-sort-select,
7402     .stamped-review-header .verified-badge[data-type=buyer]:after,
7403     .stamped-review-header-byline,
7404     .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;}
7405     .stamped-review {margin-bottom: 0;}
7406     .stamped-review-body {padding-left: 65px;}
7407     .stamped-review:first-child {padding-top: 25px;}
7408     .stamped-review-content {clear: none;}
7409     .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;}
7410     .stamped-review-reply-body {padding-left: 65px;}
7411     .stamped-review-header .author {text-transform: capitalize;}
7412     .stamped-questions .stamped-review-content {padding-left: 65px;}
7413 
7414     .stamped-pagination {margin: 20px 0 0;}
7415     .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;}
7416     .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;}
7417     .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;}
7418     .stamped-pagination li:hover a {background: #ddd;}
7419     .stamped-pagination .next {border-right: 1px solid #ccc;}
7420     .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;}
7421     .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;}
7422 
7423     #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;}
7424     #stamped-pagination-question span {font-size: 14px;}
7425     #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;}
7426     #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;}
7427     .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;}
7428     .stamped-pagination-prev, .stamped-pagination-next {position: inherit;}
7429     .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;}
7430 
7431     @media (max-width: 480px){
7432       .stamped-review-reply {margin-left: 0!important;}
7433       select.stamped-sort-select {font-size: 13px!important;}
7434     }
7435 
7436   #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content {
7437       display: block !important;
7438   }
7439 </style>
7440 
7440<script>
7441     var selectCallback = function(variant, selector) {
7442       timber.productPage({
7443         money_format: "Rp {{amount_no_decimals}}",
7444         variant: variant,
7445         selector: selector
7446       });
7447     };
7448 
7449     jQuery(function($) {
7450       new Shopify.OptionSelectors('productSelect', {
7451         product:
7452 
7453 
7454 
7455 
7456 
7457 {"id":8144957800663,"title":"YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSitus resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman."},
7458         onVariantSelected: selectCallback,
7459         enableHistoryState: true
7460       });
7461 
7462       // Add label if only one product option and it isn't 'Title'. Could be 'Size'.
7463       
7464 
7465       // Hide selectors if we only have 1 variant and its title contains 'Default'.
7466       
7467         $('.selector-wrapper').hide();
7468       
7469     });
7470 </script>
7470
7471 
7472 
7473 
7474   
7474<script type="application/ld+json">
7475     {
7476     "@context": "http://schema.org",
7477     "@type": "Product",
7478 "offers": {
7479 "@type": "Offer",
7480 "availability":"https://schema.org/InStock",
7481 "price": 835000,
7482 "priceValidUntil": "05-10-2025",
7483 "priceCurrency": "IDR",
7484 "url": "https://said.newjerseyjiujitsu.com/"
7485 },
7486 "brand": {
7487 "@type": "Brand",
7488 "name": "Outerbloom Florist"
7489 },
7490 "sku": "8144957800663",
7491 "gtin13": "Jawa",
7492 "name": "YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D",
7493 "description": "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.",
7494 "category": "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.",
7495 "url": "https://said.newjerseyjiujitsu.com/",
7496 "image": {
7497 "@type": "ImageObject",
7498 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7499 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7500 "name": "YOWESWD > Newjerseyjiujitsu Situs Layanan Konsultasi Togel Online dan Toto 4D",
7501 "width": 1024,
7502 "height": 1024
7503 }
7504     }
7505   </script>
7505
7506 
7507 
7508 
7509 
7510         
7511 
7511<script id="bss-ltap-hide-price" type="text/javascript" >
7512 !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)}))}
7512)),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)}
7512)),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()}
7512if("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)}
7512if(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");
7512c&&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
7512-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");
7512i&&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
7512--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
7512opify.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");
7512e.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=
7512o.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");
7512if(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();
7512let 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()}]);
7513 </script>
7513
7514 
7515       </main>
7516       
7517       <div id="shopify-section-newsletter" class="shopify-section"><br>
7518   <style>
7519     #shopify-section-newsletter {
7520       background: url(img/asepnggasihbenneryoweswd.webp);
7521       background-attachment: fixed;
7522       margin-bottom: 0;
7523     }
7524     input:-webkit-autofill,
7525     input:-webkit-autofill:hover,
7526     input:-webkit-autofill:active,
7527     input:-webkit-autofill:focus {
7528       -webkit-box-shadow:0 0 0 50px white inset;
7529       -webkit-text-fill-color: #ffffff;
7530     }
7531     .section-newsletter {
7532       max-width: 800px;
7533       margin: auto;
7534       padding: 50px 0;
7535     }
7536     .section-newsletter h2 {
7537       font-weight: 700;
7538       font-size: 24px;
7539     }
7540     .section-newsletter input[type="email"] {
7541       width: 100%;
7542       text-align: center;
7543       border: none;
7544       border-bottom: 1px solid #ffffff;
7545       font-size: 16px;
7546       color: #757575;
7547       background-color: #eeeeee;
7548     }
7549     .section-newsletter .row label {
7550       font-size: 14px;
7551       cursor: pointer;
7552     }
7553     .section-newsletter .radio-inline input {
7554       width: auto;
7555     }
7556     .section-newsletter .btn {
7557       width: 130px;
7558       border: 1px solid #ffffff;
7559       box-shadow: none;
7560       font-size: 16px;
7561       font-weight: 500;
7562       text-transform: uppercase;
7563     }
7564     .section-newsletter form {
7565       margin: 30px 0 60px;
7566     }
7567     .section-newsletter input[type="radio"] {
7568       position: absolute;
7569       width: 1px;
7570       height: 1px;
7571     }
7572     .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label {
7573       position: relative;
7574       padding-left: 28px;
7575       cursor: pointer;
7576       line-height: 20px;
7577       display: inline-block;
7578       color: #666;
7579     }
7580     .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before {
7581       content: '';
7582       position: absolute;
7583       left: 0;
7584       top: 0;
7585       width: 18px;
7586       height: 18px;
7587       border: 1px solid #ddd;
7588       border-radius: 100%;
7589       background: #fff;
7590     }
7591     .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after {
7592       content: '';
7593       width: 12px;
7594       height: 12px;
7595       background: #ffffff;
7596       position: absolute;
7597       top: 3px;
7598       left: 3px;
7599       border-radius: 100%;
7600       -webkit-transition: all 0.2s ease;
7601       transition: all 0.2s ease;
7602     }
7603     .section-newsletter [type="radio"]:not(:checked) + label:after {
7604       opacity: 0;
7605       -webkit-transform: scale(0);
7606       transform: scale(0);
7607     }
7608     .opt-newsletter {display:none;}
7609     .footer-newsletter p, .footer-newsletter p a {
7610       color: #757575;
7611     }
7612     @media (max-width:991px){
7613       .section-newsletter h2 {
7614         font-size: 32px;
7615       }
7616       .section-newsletter input {
7617         width: 300px;
7618         font-size: 14px;
7619       }
7620       .section-newsletter {
7621         padding: 50px 20px;
7622       }
7623     }
7624     @media (max-width: 480px){
7625       .section-newsletter input[type="email"] {font-size: 16px;}
7626     }
7627   </style>
7628  <style>
7629 .icon-img-footer {
7630     width: 80px; 
7631     padding: 0px 5px;
7632 }
7633 @media (min-width: 768px) {
7634     .icon-img-footer {
7635         width: 120px; 
7636     }
7637 }
7638 @media (min-width: 992px) {
7639     .icon-img-footer {
7640         width: 120px; 
7641     }
7642 }
7643 
7644   .button-login-daftar {
7645                         display: grid;
7646                         grid-template-columns: repeat(2, 1fr);
7647                         font-weight: 700;
7648                     }
7649                     .button-login-daftar a {
7650                         text-align: center;
7651                     }
7652                     .login,
7653                     .register {
7654                         color: #000;
7655                         padding: 15px 10px;
7656                         font-size: 23px;
7657                     }
7658                     .login,
7659                     .login-button {
7660                         background: linear-gradient(to bottom, #0003c3 0, #0003b9 100%);
7661                         border: 2px solid #ffffff;
7662                     }
7663                     .register,
7664                     .register-button {
7665                         background: linear-gradient(to bottom, #0003c3 0, #0003b9 100%);
7666                         border: 2px solid #ffffff;
7667                     }
7668 
7669 
7670 
7671 </style>
7672 
7673 <!-- wp:html -->
7674  
7674<script>
7675         document.addEventListener('DOMContentLoaded',
7676             function(){const faqItems=document.querySelectorAll('.faq-item');
7677             faqItems.forEach(item=>{const question=item.querySelector('.faq-question');
7678             question.addEventListener('click',
7679             ()=>{const isActive=item.classList.contains('active');
7680             faqItems.forEach(otherItem=>{otherItem.classList.remove('active')});
7681             if(!isActive){item.classList.add('active')}})})});
7682         </script>
7682
7683 
7684 
7685             <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1">
7686             </div>
7687 <div class="faq-section">
7688         <h2>FAQ TENTANG YOWESWD </h2>
7689             <div class="faq-container">
7690                 <div class="faq-item">
7691                     <button class="faq-question">YOWESWD itu sebenarnya tempat apaan sih, bro?<span></span></button>
7692                     <div class="faq-answer"><p>Ini tuh platform konsultasi Toto 4D dan togel paling kece buat bantu tebak angka akurat!</p></div>
7693                 </div>
7694                 <div class="faq-item">
7695                     <button class="faq-question">Kenapa kudu banget cobain konsultasi di YOWESWD?<span></span></button>
7696                     <div class="faq-answer"><p>Soalnya analisisnya dibikin langsung sama pakar pro, bikin peluang menang kamu makin melesat tinggi!</p></div>
7697                 </div>
7698                 <div class="faq-item">
7699                     <button class="faq-question">Aman gak sih data gua kalau gabung?<span></span></button>
7700                     <div class="faq-answer"><p>Tenang aja, YOWESWD punya sistem keamanan super canggih yang siap menjaga privasi kamu 100%!</p></div>
7701                 </div>
7702                  <div class="faq-item">
7703                     <button class="faq-question">Cara daftarnya ribet atau gampang banget, gengs?<span></span></button>
7704                     <div class="faq-answer"><p>Gampang parah, tinggal klik tombol daftar terus isi data singkat, langsung beres dalam sekejap!</p></div>
7705                 </div>
7706                  <div class="faq-item">
7707                     <button class="faq-question">Beneran bisa dapat bocoran angka Toto 4D?<span></span></button>
7708                     <div class="faq-answer"><p>Bukan bocoran kaleng-kaleng, YOWESWD ngasih prediksi berbasis data terukur yang pastinya joss banget!</p></div>
7709                 </div>
7710 
7711             </div>
7712 
7713         </div>
7714 
7715     </div>
7716 
7717 
7718 <div class="overlay overlay-cart"></div>
7719 <div id="CartDrawer" class="drawer drawer--right">
7720   <div class="drawer__header pl-2 pr-2">
7721     <div class="drawer__icon-cart display-table-cell">
7722       <a href="/cart" class="">
7723         <svg class="icon icon-cart" version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="32" height="32" viewBox="0 0 32 32"> <path fill="#fff" d="M13.638 23.203c0 0 3.5-2.113 3.502-4.11 0.002-2.304-2.689-3.537-3.497-1.76-0.916-1.778-3.493-1.714-3.497 0.59-0.003 1.999 3.491 5.28 3.491 5.28z"></path> <path fill="#fff" d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.573zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z"></path> <path fill="#fff" d="M23.7 10.046l-3.275 0.146-0.388 0.897v17.656l3.664-2.174v-16.526zM24.346 27.214l-4.526 2.685c-0.287 0.17-0.646-0.043-0.646-0.385v-18.519l0.037-0.181 0.534-1.235c0.067-0.154 0.212-0.256 0.375-0.263l3.991-0.178c0.245-0.011 0.45 0.191 0.45 0.444v17.247c0 0.159-0.082 0.306-0.216 0.385z"></path> <path fill="#000" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M11.336 8.354l-0.257-0.333c-0.243-0.315 0.012-0.774 0.398-0.717l12.51 1.838c0.236 0.035 0.399 0.26 0.366 0.503s-0.252 0.412-0.487 0.377l-11.436-1.68 0.056 0.073c0.209 0.27 0.052 0.672-0.281 0.718l-4.467 0.607c-0.236 0.032-0.452-0.139-0.484-0.383s0.135-0.467 0.371-0.499l3.711-0.504z"></path> <path fill="#fff" d="M17.152 11.344c0.026-0.003 0.053-0.005 0.079-0.005 0.357 0 0.645 0.297 0.645 0.665s-0.288 0.665-0.645 0.665c-0.322 0-0.59-0.245-0.637-0.565-0.383-0.45-0.515-1.321-0.521-2.536-0.003-0.556 0.026-1.149 0.076-1.739 0.028-0.339 0.057-0.603 0.074-0.735 0.195-2.391-2.008-3.379-3.568-1.658-0.64 0.707-1.041 1.855-1.266 3.412-0.092 0.634-0.137 1.111-0.194 2.024 0.107 0.119 0.172 0.278 0.172 0.453 0 0.342-0.251 0.624-0.573 0.661-0.031 0.005-0.064 0.007-0.097 0.005-0.015-0.001-0.029-0.003-0.044-0.
7723005-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>
7724       </a>
7725     </div>
7726     <div class="drawer__title h4">Keranjang Belanja</div>
7727     <div class="drawer__close js-drawer-close">
7728       <button type="button">
7729         <svg class="icon icon-close" version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="32" height="32" viewBox="0 0 32 32">
7730 <title>icon-close</title>
7731 <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>
7732 </svg>
7733       </button>
7734     </div>
7735   </div>
7736   <div id="CartContainer" class="p-2"></div>
7737 </div>
7738 
7739 
7739<script>
7740       
7741     </script>
7741
7742       
7742<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7742
7743       <!-- /snippets/ajax-cart-template.liquid -->
7744 
7745   
7745<script id="CartTemplate" type="text/template">
7746   
7747     <form action="/cart" method="post" novalidate class="cart ajaxcart">
7748       <div class="ajaxcart__inner" {{ cart.item_count }}>
7749         {{#items}}
7750         <div class="ajaxcart__product">
7751           <div class="ajaxcart__row" data-line="{{line}}">
7752             <div class="grid">
7753               <div class="grid__item one-quarter">
7754                 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
7755               </div>
7756               <div class="grid__item three-quarters">
7757                 <p class="d-block mb-3">
7758                   <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a>
7759                   {{#if variation}}
7760                     <span class="ajaxcart__product-meta p">{{variation}}</span>
7761                   {{/if}}
7762                   {{#properties}}
7763                     {{#each this}}
7764                       {{#if this}}
7765                         <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span>
7766                       {{/if}}
7767                     {{/each}}
7768                   {{/properties}}
7769                   
7770                 </p>
7771                 <div class="grid--full display-table">
7772                   <div class="grid__item display-table-cell one-half">
7773                     <div class="ajaxcart__qty">
7774                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
7775                         <svg version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
7776                         <span class="visually-hidden">Kurangi jumlah barang</span>
7777                       </button>
7778                       <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]*">
7779                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
7780                         <svg version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7781                         <span class="visually-hidden">Tambahkan jumlah barang</span>
7782                       </button>
7783                     </div>
7784                   </div>
7785                   <div class="grid__item display-table-cell one-half text-right">
7786                     {{#if discountsApplied}}
7787                       <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small>
7788                       <br><span class="h4">{{{linePrice}}}</span>
7789                     {{else}}
7790                       <span class="h4">{{{linePrice}}}</span>
7791                     {{/if}}
7792                     </div>
7793                   </div>
7794                   {{#if discountsApplied}}
7795                     <div class="grid--full display-table">
7796                       <div class="grid__item text-right">
7797                         {{#each discounts}}
7798                           <small class="ajaxcart-item__discount">{{ this.title }}</small><br>
7799                         {{/each}}
7800                       </div>
7801                     </div>
7802                   {{/if}}
7803                   </div>
7804                 </div>
7805               </div>
7806             </div>
7807           </div>
7808         </div>
7809         {{/items}}
7810       </div>
7811       <div class="ajaxcart__footer">
7812         <div class="grid--full cart-subtotal py-2">
7813             <p>Subtotal</p>
7814             <h3 class="primary">{{{totalPrice}}}</h3>
7815           {{#if totalCartDiscount}}
7816             <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p>
7817           {{/if}}
7818         </div>
7819         
7820         <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a>
7821         
7822         <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p>
7823       </div>
7824     </form>
7825   
7826   </script>
7826
7827   
7827<script id="AjaxQty" type="text/template">
7828   
7829     <div class="ajaxcart__qty">
7830       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7831         <svg version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="24" viewBox="0 0 32 32">
7832             <title>icon-minus</title>
7833             <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>
7834         </svg>
7835         <span class="visually-hidden">Kurangi jumlah barang</span>
7836           </button>
7837               <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
7838           <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7839         <svg version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7840         <span class="visually-hidden">Tambahkan jumlah barang</span>
7841       </button>
7842     </div>
7843   
7844   </script>
7844
7845   
7845<script id="JsQty" type="text/template">
7846   
7847     <div class="js-qty mx-auto mt-2">
7848       <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7849         <svg version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
7850         <span class="visually-hidden">Kurangi jumlah barang</span>
7851       </button>
7852       <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
7853       <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7854         <svg version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7855         <span class="visually-hidden">Tambahkan jumlah barang</span>
7856       </button>
7857     </div>
7858   
7859   </script>
7859
7860 
7861 <style>
7862   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button,
7863   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button,
7864   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;}
7865   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7866   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7867   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;}
7868   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7869   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7870   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;}
7871 </style>
7872       
7872<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7872
7873       
7873<script>
7874         jQuery(function($) {
7875           ajaxCart.init({
7876             formSelector: '#AddToCartForm',
7877             cartContainer: '#CartContainer',
7878             addToCartSelector: '#AddToCartXX',
7879             cartCountSelector: '#CartCount, #CartCount2',
7880             cartCostSelector: '#CartCost',
7881             moneyFormat: "Rp {{amount_no_decimals}}"
7882           });
7883           });
7884 
7885           jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) {
7886             // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM
7887             timber.RightDrawer.open();
7888           });
7889       </script>
7889
7890     
7891 
7892 
7893 
7894 <style>
7895   /** Search AutoComplete **/
7896   .resultsearch .ui-menu-item[data-cat="Collection"],
7897   .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;}
7898   .resultsearch .ui-widget.ui-widget-content {
7899     width: 100%;
7900     top: 48px;
7901     border: none;
7902     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
7903   }
7904   .resultsearch .ui-menu-item {text-align: left;}
7905   .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;}
7906   .ui-state-active {
7907     border: none!important;
7908     background-color: #fafafa!important;
7909     color: #000!important;
7910   }
7911   .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;}
7912   .ui-menu .ui-menu-item {line-height: normal;}
7913 </style>
7914 
7914<script>
7915 $(window).load(function(){
7916 
7917   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;}
7918 
7919   $.widget("custom.catcomplete", $.ui.autocomplete, {
7920     _renderMenu: function (ul, items) {
7921       // have search reults split up in categories
7922       var that = this,
7923           currentCategory = "";
7924       $.each(items, function (index, item) {
7925         if (item.category != currentCategory) {
7926           ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>");
7927           currentCategory = item.category;
7928         }
7929         that._renderItemData(ul, item);
7930       });
7931     }
7932   });
7933 
7934   // higlight searched for term
7935   $.ui.autocomplete.prototype._renderItem = function( ul, item ) {
7936     var term = this.element.val(),
7937         html = item.label.replace( term, "<b>$&</b>" );
7938     return $( "<li>" )
7939     .append(format(item))
7940     .appendTo( ul );
7941   };
7942 
7943 
7944   var data = [
7945       { label: "< Rp 500.000", category: "Collection", url: "/collections/rp-500-000", images: " ", price: " " },{ label: "> Rp 1.000.000", category: "Collection", url: "/collections/rp-1-000-000", images: " ", price: " " },{ label: "Acrylic Jewelry Box", category: "Collection", url: "/collections/acrylic-jewelry-box", images: " ", price: " " },{ label: "Ajmal", category: "Collection", url: "/collections/ajmal", images: " ", price: " " },{ label: "Alamat Rumah Duka", category: "Collection", url: "/collections/rumah-duka", images: " ", price: " " },{ label: "Anggrek Bulan", category: "Collection", url: "/collections/anggrek-bulan", images: " ", price: " " },{ label: "Anniversary Gift", category: "Collection", url: "/collections/kado-anniversary", images: " ", price: " " },{ label: "Aquarius ♒️ 20Jan - 18Feb", category: "Collection", url: "/collections/kado-untuk-zodiak-aquarius", images: " ", price: " " },{ label: "Aries ♈️ 21March - 19April", category: "Collection", url: "/collections/kado-untuk-zodiak-aries", images: " ", price: " " },{ label: "Armaf", category: "Collection", url: "/collections/armaf", images: " ", price: " " },{ label: "Aromatherapy Diffuser", category: "Collection", url: "/collections/aromatherapy-diffuser", images: " ", price: " " },{ label: "Artisan Soap", category: "Collection", url: "/collections/artisan-soap", images: " ", price: " " },{ label: "Artisan Tea", category: "Collection", url: "/collections/artisan-tea", images: " ", price: " " },{ label: "AsmaraKu", category: "Collection", url: "/collections/asmaraku", images: " ", price: " " },{ label: "Atkinsons", category: "Collection", url: "/collections/atkinsons", images: " ", price: " " },{ label: "Autumn by Outerbloom", category: "Collection", url: "/collections/autumn-by-outerbloom", images: " ", price: " " },{ label: "Autumn by Outerbloom Chinese New Year", category: "Collection", url: "/collections/autumn-by-outerbloom-chinese-new-year", images: " ", price: " " },{ label: "Autumn by Outerbloom Christmas", category: "Collection", url: "/collections/autumn-by-outerbloom-christmas", images: " ", price: " " },{ label: "Autumn by Outerbloom Luar Jadetabek", category: "Collection", url: "/collections/autumn-by-outerbloom-luar-jadetabek", images: " ", price: " " },{ label: "Autumn by Outerbloom Ramadan", category: "Collection", url: "/collections/autumn-by-outerbloom-ramadan", images: " ", price: " " },{ label: "Autumn Pop", category: "Collection", url: "/collections/autumn-pop", images: " ", price: " " },{ label: "Bachelorette", category: "Collection", url: "/collections/bachelorette", images: " ", price: " " },{ label: "Bag Newborn Hampers", category: "Collection", url: "/collections/bag-newborn-hampers", images: " ", price: " " },{ label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " },{ label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " },{ label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " },{ label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " },{ label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " },{ label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " },{ label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " },{ label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " },{ label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " },{ label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " },{ label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " },{ label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " },{ label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " },{ label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " },{ label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " },{ label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " },{ label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " },{ label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " },{ label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " },{ label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " },{ label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " },{ label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " },{ label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " },{ label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " },{ label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " },{ label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " },{ label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " },{ label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " },{ label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " },{ label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " },{ label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " },{ label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " },{ label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " },{ label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " },{ label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " },{ label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " },{ label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " },{ label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " },{ label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " },{ label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " },{ label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " },{ label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " },{ label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " },{ label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " },{ label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " },{ label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " },{ label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " },{ label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " },{ label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " },{ label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " },{ label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " },{ label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " },{ label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " },{ label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " },{ label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " },{ label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " },{ label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " },{ label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " },{ label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " },{ label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " },{ label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " },{ label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " },{ label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " },{ label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " },{ label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " },{ label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " },{ label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " },{ label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " },{ label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " },{ label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " },{ label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " },{ label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " },{ label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " },{ label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " },{ label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " },{ label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " },{ label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " },{ label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " },{ label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " },{ label: "Cancer ♋️ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " },{ label: "Capricorn ♑️ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " },{ label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " },{ label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " },{ label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " },{ label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " },{ label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " },{ label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " },{ label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " },{ label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " },{ label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " },{ label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " },{ label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " },{ label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " },{ label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " },{ label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " },{ label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " },{ label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " },{ label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " },{ label: "Craft S
7945weetbox Newborn", category: "Collection", url: "/collections/craft-sweetbox-newborn", images: " ", price: " " },{ label: "Crystal Florarium", category: "Collection", url: "/collections/crystal-florarium", images: " ", price: " " },{ label: "Cuddlemate Doll", category: "Collection", url: "/collections/boneka-lucu", images: " ", price: " " },{ label: "Cufflinks", category: "Collection", url: "/collections/cufflinks", images: " ", price: " " },{ label: "Cupcakes", category: "Collection", url: "/collections/cupcakes", images: " ", price: " " },{ label: "Custom Alat Tulis", category: "Collection", url: "/collections/alat-tulis", images: " ", price: " " },{ label: "Custom Cake", category: "Collection", url: "/collections/custom-cake", images: " ", price: " " },{ label: "Custom Card Holder", category: "Collection", url: "/collections/custom-card-holder", images: " ", price: " " },{ label: "Custom Coaster", category: "Collection", url: "/collections/custom-coaster", images: " ", price: " " },{ label: "Custom Cutlery", category: "Collection", url: "/collections/custom-cutlery", images: " ", price: " " },{ label: "Custom E-Money", category: "Collection", url: "/collections/custom-e-money", images: " ", price: " " },{ label: "Custom Earpod", category: "Collection", url: "/collections/custom-earpod", images: " ", price: " " },{ label: "Custom Fan", category: "Collection", url: "/collections/custom-fan", images: " ", price: " " },{ label: "Custom Jewelry", category: "Collection", url: "/collections/custom-jewelry", images: " ", price: " " },{ label: "Custom Keychain", category: "Collection", url: "/collections/custom-keychain", images: " ", price: " " },{ label: "Custom Medallion", category: "Collection", url: "/collections/custom-medallion", images: " ", price: " " },{ label: "Custom Mirror", category: "Collection", url: "/collections/custom-mirror", images: " ", price: " " },{ label: "Custom Mug", category: "Collection", url: "/collections/custom-mug", images: " ", price: " " },{ label: "Custom Necklace", category: "Collection", url: "/collections/custom-necklace", images: " ", price: " " },{ label: "Custom Notebook", category: "Collection", url: "/collections/custom-notebook", images: " ", price: " " },{ label: "Custom Pen & Pencil", category: "Collection", url: "/collections/custom-pen-pencil", images: " ", price: " " },{ label: "Custom Photo Frame", category: "Collection", url: "/collections/photo-frame", images: " ", price: " " },{ label: "Custom Pillow", category: "Collection", url: "/collections/bantal-custom", images: " ", price: " " },{ label: "Custom Powerbank", category: "Collection", url: "/collections/custom-powerbank", images: " ", price: " " },{ label: "Custom Scarf", category: "Collection", url: "/collections/custom-scarf", images: " ", price: " " },{ label: "Custom Speaker", category: "Collection", url: "/collections/custom-speaker", images: " ", price: " " },{ label: "Custom T-Shirt", category: "Collection", url: "/collections/custom-t-shirt", images: " ", price: " " },{ label: "Custom Tote Bag", category: "Collection", url: "/collections/custom-tote-bag", images: " ", price: " " },{ label: "Custom Tumbler Minuman", category: "Collection", url: "/collections/custom-tumbler-minuman", images: " ", price: " " },{ label: "D'paris", category: "Collection", url: "/collections/dparis", images: " ", price: " " },{ label: "Daisy", category: "Collection", url: "/collections/bunga-aster", images: " ", price: " " },{ label: "Dekorasi", category: "Collection", url: "/collections/dekorasi", images: " ", price: " " },{ label: "Dekorasi Duka Cita", category: "Collection", url: "/collections/dekorasi-bunga-duka-cita", images: " ", price: " " },{ label: "Dekorasi Pemakaman", category: "Collection", url: "/collections/dekorasi-pemakaman", images: " ", price: " " },{ label: "Dekorasi Pernikahan", category: "Collection", url: "/collections/dekorasi-bunga-pernikahan", images: " ", price: " " },{ label: "Dekorasi Ulang Tahun", category: "Collection", url: "/collections/dekorasi-bunga-ulang-tahun", images: " ", price: " " },{ label: "Delivery", category: "Collection", url: "/collections/delivery", images: " ", price: " " },{ label: "Deluxe Newborn Hampers Collection", category: "Collection", url: "/collections/deluxe-newborn-hampers-collection", images: " ", price: " " },{ label: "Digital Gift", category: "Collection", url: "/collections/digital-gift", images: " ", price: " " },{ label: "Donasi", category: "Collection", url: "/collections/donasi", images: " ", price: " " },{ label: "E-Card", category: "Collection", url: "/collections/ecard", images: " ", price: " " },{ label: "E-Gift Card", category: "Collection", url: "/collections/e-gift-card", images: " ", price: " " },{ label: "Earrings", category: "Collection", url: "/collections/anting", images: " ", price: " " },{ label: "Edible Gift", category: "Collection", url: "/collections/edible-gift", images: " ", price: " " },{ label: "Enchanted Grande Love Pirouette", category: "Collection", url: "/collections/enchanted-grande-love-pirouette", images: " ", price: " " },{ label: "Enchanted Love Pirouette", category: "Collection", url: "/collections/enchanted-love-pirouette", images: " ", price: " " },{ label: "Engagement", category: "Collection", url: "/collections/rangkaian-bunga-lamaran", images: " ", price: " " },{ label: "Expression", category: "Collection", url: "/collections/expression", images: " ", price: " " }
7945,{ 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: " " }
7945,{ 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: " " }
7945,{ 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
7945dal", 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-yowes-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-
7945hampers", 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/yowes-elly", images: " ", price: " " },{ label: "Oma Elly Gelato", category: "Collection", url: "/collections/yowes-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
7945o-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: " " }
7945,{ 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: " " }
7945,{ 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: " " }
7945,{ 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: " " }
7945,{ 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: " " }
7945,{ 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: " " }
7945,{ 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: " " }
7945,{ 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: "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "Situs resmi YOWESWD menghadirkan layanan konsultasi togel online dan Toto 4D tepercaya bersama para pakar analisis berpengalaman. 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: " " }
7945,{ 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: " " }
7945,{ 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
7945dal", 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: " " },
7946       { 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" }
7946,{ 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" }
7946,{ 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" }
7947   ];
7948 
7949              
7950         $( ".header-input-search" ).catcomplete({
7951          appendTo: ".searchResult",source: function(request, response) {
7952             var results = $.ui.autocomplete.filter(data, request.term);
7953             var predicate = function () {
7954                 var counter = { Collection: 0, Produk: 0 };
7955             var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);}
7956             return fn
7957             }();
7958             response(results.filter(predicate));
7959           },
7960           minLength:1,
7961            //results are clickable
7962           select: function( event, ui ) {window.location = ui.item.url;}
7963 });
7964 $( ".header-input-search2" ).catcomplete({
7965         appendTo: ".searchResult2",
7966                    source: function(request, response) {
7967                     var results = $.ui.autocomplete.filter(data, request.term);
7968                     var predicate = function () {
7969                         var counter = { Collection: 0, Produk: 0 };
7970               var fn = function(item) {
7971               counter[item.category] += 1;
7972   return (counter[item.category] <= 5);
7973 }
7974                return fn
7975                }();
7976 response(results.filter(predicate));
7977 },
7978   minLength:1,
7979         //results are clickable
7980         select: function( event, ui ) {
7981           window.location = ui.item.url;
7982         }
7983 });
7984 });
7985 </script>
7985
7986 
7987     
7987<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7987
7988 
7988<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7988
7989 
7990 
7990<script>
7991   ( function() {
7992     var youtube = document.querySelectorAll( ".youtube" );
7993     for (var i = 0; i < youtube.length; i++) {
7994       var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg";
7995       var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg";
7996       var image = new Image();
7997       image.src = source;
7998       image.setAttribute("data-src", datasource);
7999       image.classList.add("swiper-lazy");
8000       image.addEventListener( "load", function() {
8001         youtube[ i ].appendChild( image );
8002       }( i ) );
8003       youtube[i].addEventListener( "click", function() {
8004         var iframe = document.createElement( "iframe" );
8005         iframe.setAttribute( "width", "480" );
8006         iframe.setAttribute( "height", "480" );
8007         iframe.setAttribute( "frameborder", "0" );
8008         iframe.setAttribute( "allowfullscreen", "" );
8009         iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" );
8010         this.innerHTML = "";
8011         this.appendChild( iframe );
8012       } );
8013     };
8014 
8015   } )();
8016 
8017   /* Lazy Load */
8018   const mainLazyLoad = new LazyLoad({threshold:400});
8019   $(document).ready(function(){
8020 
8021     $("selectxxx").addClass("needsclick");
8022     FastClick.attach(document.body);
8023     
8024     var $customSelects = $('.select-search');
8025     $customSelects.select2({
8026       templateResult: function(result, container) {
8027         if (!result.id) {
8028           return result.text;
8029         }
8030         container.className += ' needsclick';
8031         return result.text;
8032       }
8033     });
8034     $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');});
8035     $(document).on('select2:open', () => {
8036       document.querySelector('.select2-search__field').focus();
8037     });
8038     
8039 
8040     $(".overlay").click(function(){
8041       $(".js-drawer-close").click();
8042     });
8043     $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){
8044       $("html").toggleClass("nav_open");
8045     });
8046     
8047     $('.swatch-element label').on('click', function(){
8048       var srcImg = $(this).data('src');
8049       $('#thumb-image-product .product-single__thumbnail').each(function(){
8050         if ($(this).attr("href") == srcImg) {
8051           $(this).trigger('click');
8052         }
8053       });
8054     });
8055     var defaultValue = $(".swatch input:checked").val()
8056     
8057     $('#purchaseProduct .swatch [type=radio]').change(function() {
8058       var optionIndex = $(this).closest('.swatch').attr('data-option-index');
8059       var optionValue = $(this).val();
8060       console.log(optionIndex, optionValue)
8061       var value = parseInt(optionValue.split(' ')[0])
8062       $(this)
8063       .closest('#purchaseProduct')
8064       .find('.single-option-selector')
8065       .eq(optionIndex)
8066       .val(optionValue)
8067       .trigger('change');
8068       
8069     });
8070     
8071   });
8072   $(document).ready(function(){
8073     $(".nav-search a").click(function(e){
8074       e.preventDefault();
8075       $(".icon-navsearch").toggle();
8076       $(".icon-navclose").toggle();
8077       $(".site-nav__item > .site-nav__link").toggle();
8078       $(".open-search").toggle();
8079       $(".open-search input").focus();
8080     });
8081     $(".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'>");
8082     if ($(window).width() < 768) {
8083       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
8084       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
8085       $(".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'>");
8086     } else {
8087       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
8088       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
8089       $(".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'>");
8090     }
8091     $(".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'>");
8092     $(".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'>");
8093   });
8094 </script>
8094
8095 
8096 
8097     
8098     
8099     
8100     
8101 
8102     
8102<script type="text/javascript">
8103       var wishlistpage = 0;
8104        
8105        var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>";
8106     </script>
8106
8107     
8108       <!-- Remove duplicate wishlist.js reference -->
8109       <style>
8110   .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)}}
8111 </style>
8112 
8113 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog">
8114   <div class="modal-dialog" role="document">
8115     <div class="modal-content">        
8116       <div class="modal-body">Your Wishlist is empty!</div>
8117       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>          
8118     </div>
8119   </div>
8120 </div> 
8121 
8122 <div class="wishlist-model">
8123   <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true">
8124     <div class="modal-dialog white-modal">
8125       <div class="modal-content">
8126         <div class="modal-header">
8127           <button type="button" class="close" data-dismiss="modal" aria-label="Close">
8128             <svg class="icon icon-close" version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="32" height="32" viewBox="0 0 32 32">
8129 <title>icon-close</title>
8130 <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>
8131 </svg>
8132           </button>
8133         </div>
8134         <div class="modal-body">
8135           <div class="wishlist-left">
8136             <div class="wishlist-note">
8137               <span class="cirle"><svg version="1.1" xmlns="img/asepnggasihlogoyoweswd.webp" width="32" height="32" viewBox="0 0 32 32">
8138 <title>icon-check</title>
8139 <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>
8140 </svg></span>
8141               Product added to <a href="/pages/wish-list">Wishlist</a>
8142             </div>
8143             <div class="wishlist-product">
8144               <div class="product-left">
8145                 <div class="wishlist-image"></div>
8146               </div>
8147               <div class="product-right">
8148                 <div class="wishlist-name"></div>
8149                 <div class="wishlist-price"></div>
8150               </div>
8151             </div>
8152           </div>
8153           <div class="wishlist-right">
8154             <div class="wishlist-cart">
8155               <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data">                  
8156                 <div class="others-bottom">
8157                   <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a>
8158                   <button type="submit" name="add" id="AddToCart" class="btn btn-cta">
8159                     <span id="AddToCartText" class="">Beli Sekarang</span>
8160                   </button>
8161                 </div>
8162                 <div id="wishlist-variants-container" class="variants-wrapper"></div> 
8163                 <div class="quantity-content">
8164                   <label>QTY</label>
8165                   <input type="number" size="5" class="" name="quantity" value="1" />
8166                 </div>
8167               </form> 
8168             </div>
8169           </div>
8170         </div>
8171       </div>
8172     </div>
8173   </div>
8174 </div>
8175 
8176     
8177     <style>
8178        .stamped-badge[data-rating="0.0"]{display: none !Important;}
8179        
8180         div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a {
8181           border-radius: 0px;
8182       }
8183           .stamped-review-body {
8184           padding-left: 0px !important;
8185       }
8186           #product-reviews .stamped-header:after {
8187             display:none !Important;
8188           }
8189       #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget {
8190           font-family:inherit !important;
8191       }
8192     </style>
8193 
8194     
8195 
8196 <div id='stamped-rewards-init' class='stamped-rewards-init'
8197   data-key-public=''
8198 
8199 ></div>
8200 
8201     
8201<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
8201
8202     <!-- Remove duplicate jQuery reference and load wishlist script properly -->
8203     
8203<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
8203
8204 
8205     
8205<script>
8206       function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); }
8207     </script>
8207
8208     
8208<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
8208<style>
8209   .jss59 {
8210     background-color: rgba(0, 0, 0, 0.6);
8211   }
8212   .MuiBackdrop-root {
8213     top: 0;
8214     left: 0;
8215     right: 0;
8216     bottom: 0;
8217     display: flex;
8218     z-index: -1;
8219     position: fixed;
8220     align-items: center;
8221     justify-content: center;
8222     background-color: rgba(0, 0, 0, 0.5);
8223     -webkit-tap-highlight-color: transparent;
8224   }
8225   .MuiDialog-scrollPaper {
8226     display: flex;
8227     align-items: center;
8228     justify-content: center;
8229   }
8230   .MuiDialog-container {
8231     height: 100%;
8232     outline: 0;
8233   }
8234   .MuiPaper-elevation24 {
8235     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);
8236   }
8237   .MuiDialog-paper {
8238     margin: 32px;
8239     position: relative;
8240     overflow-y: auto;
8241   }
8242   .MuiDialog-paperScrollPaper {
8243     display: flex;
8244     max-height: calc(100% - 64px);
8245     flex-direction: column;
8246   }
8247   .MuiDialog-paperWidthSm {
8248     max-width: 600px;
8249   }
8250   #location-lock-dialog {
8251     top: 20%;
8252     left: 0;
8253     right: 0;
8254     width: 30%;
8255     margin: 0px auto;
8256     display: block;
8257     padding: 30px;
8258     z-index: 99999;
8259     position: fixed;
8260     font-size: 14px;
8261     background: rgb(0, 0, 0);
8262     box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px;
8263     text-align: center;
8264     font-family: Roboto, Arial, sans-serif;
8265     line-height: 1;
8266     border-radius: 8px;
8267     -webkit-font-smoothing: subpixel-antialiased;
8268   }
8269   .MuiButtonBase-root {
8270     color: inherit;
8271     border: 0;
8272     cursor: pointer;
8273     margin: 0;
8274     display: inline-flex;
8275     outline: 0;
8276     padding: 0;
8277     position: relative;
8278     align-items: center;
8279     user-select: none;
8280     border-radius: 0;
8281     vertical-align: middle;
8282     -moz-appearance: none;
8283     justify-content: center;
8284     text-decoration: none;
8285     background-color: transparent;
8286     -webkit-appearance: none;
8287     -webkit-tap-highlight-color: transparent;
8288   }
8289   .MuiIconButton-root {
8290     flex: 0 0 auto;
8291     color: rgba(0, 0, 0, 0.54);
8292     padding: 12px;
8293     overflow: visible;
8294     font-size: 1.5rem;
8295     text-align: center;
8296     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8297     border-radius: 50%;
8298   }
8299   .MuiIconButton-label {
8300     width: 100%;
8301     display: flex;
8302     align-items: inherit;
8303     justify-content: inherit;
8304   }
8305   .MuiSvgIcon-root {
8306     fill: currentColor;
8307     width: 1em;
8308     height: 1em;
8309     display: inline-block;
8310     font-size: 1.5rem;
8311     transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8312     flex-shrink: 0;
8313     user-select: none;
8314   }
8315   .MuiTouchRipple-root {
8316     top: 0;
8317     left: 0;
8318     right: 0;
8319     bottom: 0;
8320     z-index: 0;
8321     overflow: hidden;
8322     position: absolute;
8323     border-radius: inherit;
8324     pointer-events: none;
8325   }
8326   .jss36 {
8327     color: #222222;
8328     font-size: 24px;
8329     font-family: Roboto, Arial, sans-serif;
8330     font-weight: 500;
8331   }
8332   .jss37 {
8333     color: #555555;
8334     padding: 10px 0px 0px;
8335     font-size: 14px;
8336   }
8337   .MuiFormGroup-root {
8338     display: flex;
8339     flex-wrap: wrap;
8340     flex-direction: column;
8341   }
8342   .MuiFormGroup-row {
8343     flex-direction: row;
8344   }
8345   .jss63 {
8346     width: 85%;
8347     margin: 15px auto;
8348     display: flex;
8349     padding: 11px 0px 0px;
8350     justify-content: space-evenly;
8351   }
8352   .MuiFormControlLabel-root {
8353     cursor: pointer;
8354     display: inline-flex;
8355     align-items: center;
8356     margin-left: -11px;
8357     margin-right: 16px;
8358     vertical-align: middle;
8359     -webkit-tap-highlight-color: transparent;
8360   }
8361   .jss70 {
8362     margin: 0;
8363   }
8364   .MuiButtonBase-root {
8365     color: inherit;
8366     border: 0;
8367     cursor: pointer;
8368     margin: 0;
8369     display: inline-flex;
8370     outline: 0;
8371     padding: 0;
8372     position: relative;
8373     align-items: center;
8374     user-select: none;
8375     border-radius: 0;
8376     vertical-align: middle;
8377     -moz-appearance: none;
8378     justify-content: center;
8379     text-decoration: none;
8380     background-color: transparent;
8381     -webkit-appearance: none;
8382     -webkit-tap-highlight-color: transparent;
8383   }
8384   .MuiIconButton-root {
8385     flex: 0 0 auto;
8386     color: rgba(0, 0, 0, 0.54);
8387     padding: 12px;
8388     overflow: visible;
8389     font-size: 1.5rem;
8390     text-align: center;
8391     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8392     border-radius: 50%;
8393   }
8394   .MuiIconButton-colorSecondary {
8395     color: #f50057;
8396   }
8397   .jss71 {
8398     padding: 9px;
8399   }
8400   .MuiRadio-root {
8401     color: rgba(0, 0, 0, 0.54);
8402   }
8403   .jss64 {
8404     padding: 2px;
8405   }
8406   .MuiRadio-colorSecondary.Mui-checked {
8407     color: #f50057;
8408   }
8409   .MuiIconButton-label {
8410     width: 100%;
8411     display: flex;
8412     align-items: inherit;
8413     justify-content: inherit;
8414   }
8415   .MuiTypography-root {
8416     margin: 0;
8417   }
8418   .MuiTypography-body1 {
8419     font-size: 18px;
8420     font-family: Roboto,sans-serif;
8421     font-weight: 400;
8422     line-height: 1.5;
8423   }
8424   .location-popup_area-block__sp9Ws {
8425     display: -moz-box;
8426     display: flex;
8427     -moz-box-orient: vertical;
8428     -moz-box-direction: normal;
8429     flex-direction: column;
8430     -moz-box-pack: center;
8431     justify-content: center;
8432     position: relative;
8433     margin: 10px 10% 0;
8434   }
8435   .location-popup_pin-search-box__3l5mJ {
8436     width: 100%;
8437     display: -moz-box;
8438     display: flex;
8439     -moz-box-align: center;
8440     align-items: center;
8441   }
8442   .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q {
8443     position: absolute;
8444     z-index: 999;
8445   }
8446   .location-popup_place-icon__jSG0Q {
8447     color: #ffffff;
8448     padding-left: 8px;
8449   }
8450   .location-popup_place-icon__jSG0Q svg {
8451     width: 18px;
8452     height: 18px;
8453   }
8454   .location-popup_cancel-icon__FHujU {
8455     color: #fff;
8456     right: 10px;
8457     width: 16px;
8458     cursor: pointer;
8459     height: 16px;
8460     display: none;
8461     padding: 5px;
8462     position: absolute;
8463     background: #999;
8464     text-align: center;
8465     border-radius: 50%;
8466   }
8467   .location-popup_pin-search-box__3l5mJ>div>select {
8468 /*     -webkit-box-shadow: 0 0 10px #ffffff;
8469     box-shadow: 0 0 10px #ffffff; */
8470     text-transform: capitalize;
8471     border: 1px solid #ffffff;
8472     color: #ffffff;
8473     width: 100%;
8474     margin: 0;
8475     display: -moz-box;
8476     display: flex;
8477     padding: 0 30px;
8478     -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8479     -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8480     animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8481     font-size: 16px;
8482     border-radius: 4px;
8483     height: 44px;
8484     moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8485     webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8486   }
8487   .MuiButtonBase-root {
8488     color: inherit;
8489     border: 0;
8490     cursor: pointer;
8491     margin: 0;
8492     display: inline-flex;
8493     outline: 0;
8494     padding: 0;
8495     position: relative;
8496     align-items: center;
8497     user-select: none;
8498     border-radius: 0;
8499     vertical-align: middle;
8500     -moz-appearance: none;
8501     justify-content: center;
8502     text-decoration: none;
8503     background-color: transparent;
8504     -webkit-appearance: none;
8505     -webkit-tap-highlight-color: transparent;
8506   }
8507   .MuiButton-root {
8508     color: rgba(0, 0, 0, 0.87);
8509     padding: 6px 16px;
8510     font-size: 0.875rem;
8511     min-width: 64px;
8512     box-sizing: border-box;
8513     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;
8514     font-family: Roboto,sans-serif;
8515     font-weight: 500;
8516     line-height: 1.75;
8517     border-radius: 4px;
8518     text-transform: uppercase;
8519   }
8520   .MuiButton-contained {
8521     color: rgba(0, 0, 0, 0.87);
8522     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);
8523     background-color: #e0e0e0;
8524   }
8525   .MuiButtonBase-root.Mui-disabled {
8526     cursor: default;
8527     pointer-events: none;
8528   }
8529   .MuiButton-label {
8530     width: 100%;
8531     display: inherit;
8532     align-items: inherit;
8533     justify-content: inherit;
8534   }
8535   .cartButton_login_content__2j1f7 {
8536     display: -moz-box;
8537     display: flex;
8538     text-align: center;
8539     z-index: 9;
8540     font-size: 18px;
8541     font-weight: 500;
8542     color: #fff;
8543   }
8544   
8545   .jss35 {
8546     top: 5px;
8547     right: 5px;
8548     padding: 4px;
8549     position: absolute;
8550     border-radius: 50%;
8551   }
8552   .jss67 {
8553     cursor: pointer;
8554     font-size: 15px;
8555     line-height: 1.3;
8556     padding-left: 5px;
8557   }
8558   .jss69 {
8559     color: #222222;
8560   }
8561   .jss80 {
8562     color: #fff;
8563     width: 100%;
8564     height: 52px;
8565     padding: 11px 16px;
8566     font-size: 18px;
8567     min-width: 88px;
8568     min-height: 36px;
8569     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;
8570     font-weight: 500;
8571     line-weight: 1em;
8572     border-radius: 4px;
8573     text-transform: uppercase;
8574     background-color: #E87325;
8575   }
8576   @media (min-width: 991px){
8577     .cartButton_login_content__2j1f7 {
8578         font-weight: 500;
8579     }
8580   }
8581 
8582   @media (max-width: 992px) {
8583     #location-lock-dialog {
8584       width: 100%;
8585       top: auto;
8586       bottom: 0;
8587       padding-left: 0;
8588       padding-right: 0;
8589     }
8590     .MuiFormGroup-row {
8591       display: block
8592     }
8593     .MuiIconButton-label input {
8594       margin: 0;
8595     }
8596   }
8597 </style>
8598 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;">
8599   <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div>
8600   <div tabindex="0" data-test="sentinelStart"></div>
8601   <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;">
8602     <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog">
8603       <div class="jss31 undefined" id="location-lock-dialog">
8604         <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8605           <span class="MuiIconButton-label">
8606             <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
8607               <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>
8608             </svg>
8609           </span>
8610           <span class="MuiTouchRipple-root"></span>
8611         </button>
8612         <div>
8613           <div class="jss36">Select Delivery Location</div>
8614           <div class="jss37">Select a delivery location to see product availability</div>
8615         </div>
8616         <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup">
8617           <label for="jabodetabek" class="MuiFormControlLabel-root jss45">
8618             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false">
8619               <span class="MuiIconButton-label">
8620                 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location">
8621                 <span class="jss41"></span>
8622               </span>
8623               <span class="MuiTouchRipple-root"></span>
8624             </span>
8625             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8626               <span class="jss67 jss69">Jabodetabek</span>
8627             </span>
8628           </label>
8629           <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45">
8630             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false">
8631               <span class="MuiIconButton-label">
8632                 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location">
8633                 <span class="jss40"></span>
8634               </span>
8635               <span class="MuiTouchRipple-root"></span>
8636             </span>
8637             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8638               <span class="jss67 jss68">Outside Jabodetabek</span>
8639             </span>
8640           </label>
8641         </div>
8642         <div>
8643           <div class="MuiGrid-root location-popup_area-block__sp9Ws">
8644             <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false">
8645               <div class="MuiGrid-root location-popup_place-icon__jSG0Q">
8646                 <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>
8647               </div>
8648               <div class="MuiGrid-root location-popup_cancel-icon__FHujU false">
8649                 <i class="material-icons location-popup_clear-pin__s1dRc">close</i>
8650               </div>
8651               <div style="width: 100%;">
8652                 <select id="choose-location" class="form-control">
8653                   <option value="">Choose Location</option>
8654                   <option value="jakarta">Jakarta</option>
8655                   <option value="bogor">Bogor</option>
8656                   <option value="depok">Depok</option>
8657                   <option value="tangerang">Tangerang</option>
8658                   <option value="bekasi">Bekasi</option>
8659                 </select>
8660               </div>
8661             </div>
8662           </div>
8663         </div>
8664         <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="">
8665           <span class="MuiButton-label">
8666             <span class=""></span>
8667             <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span>
8668           </span>
8669         </button>
8670       </div>
8671     </div>
8672   </div>
8673   <div tabindex="0" data-test="sentinelEnd"></div>
8674 </div>
8675 
8676 
8676<script>
8677   const jabodetabek = [
8678     {
8679       "code": "jakarta",
8680       "city": "jakarta",
8681       "zip": []
8682     },
8683     {
8684       "code": "bogor",
8685       "city": "bogor",
8686       "zip": []
8687     },
8688     {
8689       "code": "depok",
8690       "city": "depok",
8691       "zip": []
8692     },
8693     {
8694       "code": "tangerang",
8695       "city": "tangerang",
8696       "zip": []
8697     },
8698     {
8699       "code": "bekasi",
8700       "city": "bekasi",
8701       "zip": []
8702     }
8703   ]
8704   let cityNonJabodetabek = [
8705     
8706     
8707     
8708     
8709     
8710     
8711     
8712     
8713     
8714     
8715     
8716     
8717     
8718     
8719     
8720     
8721     
8722     
8723     
8724     
8725     
8726     
8727     
8728     
8729     
8730     
8731     
8732     
8733     
8734     
8735     
8736     
8737     
8738     
8739     
8740     
8741     
8742     
8743     
8744     
8745     
8746     
8747     
8748     
8749     
8750     
8751     
8752     
8753     
8754     
8755     
8756     
8757     
8758     
8759     
8760     
8761     
8762     
8763     
8764     
8765     
8766     
8767     
8768     
8769     
8770     
8771     
8772     
8773     
8774     
8775     
8776     
8777     
8778     
8779     
8780     
8781     
8782     
8783     
8784     
8785     
8786     
8787     
8788     
8789     
8790     
8791     
8792     
8793     
8794     
8795     
8796     
8797     
8798     
8799     
8800     
8801     
8802     
8803     
8804     
8805     
8806     
8807     
8808     
8809     
8810     
8811     
8812     
8813     
8814     
8815     
8816     
8817     
8818     
8819     
8820     
8821     
8822     
8823     
8824     
8825     
8826     
8827     
8828     
8829     
8830     
8831     
8832     
8833     
8834     
8835     
8836     
8837     
8838     
8839     
8840     
8841     
8842     
8843     
8844     
8845     
8846     
8847     
8848     
8849     
8850     
8851     
8852     
8853     
8854     
8855     
8856     
8857     
8858     
8859     
8860     
8861     
8862     
8863     
8864     
8865     
8866     
8867     
8868     
8869     
8870     
8871     
8872     
8873     
8874     
8875     
8876     
8877     
8878     
8879     
8880     
8881     
8882     
8883     
8884     
8885     
8886     
8887     
8888     
8889     
8890     
8891     
8892     
8893     
8894     
8895     
8896     
8897     
8898     
8899     
8900     
8901     
8902     
8903     
8904     
8905     
8906     
8907     
8908     
8909     
8910     
8911     
8912     
8913     
8914     
8915     
8916     
8917     
8918     
8919     
8920     
8921     
8922     
8923     
8924     
8925     
8926     
8927     
8928     
8929     
8930     
8931     
8932     
8933     
8934     
8935     
8936     
8937     
8938     
8939     
8940     
8941     
8942     
8943     
8944     
8945     
8946     
8947     
8948     
8949     
8950     
8951     
8952     
8953     
8954     
8955     
8956     
8957     
8958     
8959     
8960     
8961     
8962     
8963     
8964     
8965     
8966     
8967     
8968     
8969     
8970     
8971     
8972     
8973     
8974     
8975     
8976     
8977     
8978     
8979     
8980     
8981     
8982     
8983     
8984     
8985     
8986     
8987     
8988     
8989     
8990     
8991     
8992     
8993     
8994     
8995     
8996     
8997     
8998     
8999     
9000     
9001     
9002     
9003     
9004     
9005     
9006     
9007     
9008     
9009     
9010     
9011     
9012     
9013     
9014     
9015     
9016     
9017     
9018     
9019     
9020     
9021     
9022     
9023     
9024     
9025     
9026     
9027     
9028     
9029     
9030     
9031     
9032     
9033     
9034     
9035     
9036     
9037     
9038     
9039     
9040     
9041     
9042     
9043     
9044     
9045     
9046     
9047     
9048     
9049     
9050     
9051     
9052     
9053     
9054     
9055     
9056     
9057     
9058     
9059     
9060     
9061     
9062     
9063     
9064     
9065     
9066     
9067     
9068     
9069     
9070     
9071     
9072     
9073     
9074     
9075     
9076     
9077     
9078     
9079     
9080     
9081     
9082     
9083     
9084     
9085     
9086     
9087     
9088     
9089     
9090     
9091     
9092     
9093     
9094     
9095     
9096     
9097     
9098     
9099     
9100     
9101     
9102     
9103     
9104     
9105     
9106     
9107     
9108     
9109     
9110     
9111     
9112     
9113     
9114     
9115     
9116     
9117     
9118     
9119     
9120     
9121     
9122     
9123     
9124     
9125     
9126     
9127     
9128     
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     
9176     
9177     
9178     
9179     
9180     
9181     
9182     
9183     
9184     
9185     
9186     
9187     
9188     
9189     
9190     
9191     
9192     
9193     
9194     
9195     
9196     
9197     
9198     
9199     
9200     
9201     
9202     
9203     
9204     
9205     
9206     
9207     
9208     
9209     
9210     
9211     
9212     
9213     
9214     
9215     
9216     
9217     
9218     
9219     
9220     
9221     
9222     
9223     
9224     
9225     
9226     
9227     
9228     
9229     
9230     
9231     
9232     
9233     
9234     
9235     
9236     
9237     
9238     
9239     
9240     
9241     
9242     
9243     
9244     
9245     
9246     
9247     
9248     
9249     
9250     
9251     
9252     
9253     
9254     
9255     
9256     
9257     
9258     
9259     
9260     
9261     
9262     
9263     
9264     
9265     
9266     
9267     
9268     
9269     
9270     
9271     
9272     
9273     
9274     
9275     
9276     
9277     
9278     
9279     
9280     
9281     
9282     
9283     
9284     
9285     
9286     
9287     
9288     
9289     
9290     
9291     
9292     
9293     
9294     
9295     
9296     
9297     
9298     
9299     
9300     
9301     
9302     
9303     
9304     
9305     
9306     
9307     
9308     
9309     
9310     
9311     
9312     
9313     
9314     
9315     
9316     
9317     
9318     
9319     
9320     
9321     
9322     
9323     
9324     
9325     
9326     
9327     
9328     
9329     
9330     
9331     
9332     
9333     
9334     
9335     
9336     
9337     
9338     
9339     
9340     
9341     
9342     
9343     
9344     
9345     
9346     
9347     
9348     
9349     
9350     
9351     
9352     
9353     
9354     
9355     
9356     
9357     
9358     
9359     
9360     
9361     
9362     
9363     
9364     
9365     
9366     
9367     
9368     
9369     
9370     
9371     
9372     
9373     
9374     
9375     
9376     
9377     
9378     
9379     
9380     
9381     
9382     
9383     
9384     
9385     
9386     
9387     
9388     
9389     
9390     
9391     
9392     
9393     
9394     
9395     
9396     
9397     
9398     
9399     
9400     
9401     
9402     
9403     
9404     
9405     
9406     
9407     
9408     
9409     
9410     
9411     
9412     
9413     
9414     
9415     
9416     
9417     
9418     
9419     
9420     
9421     
9422     
9423     
9424     
9425     
9426     
9427     
9428     
9429     
9430     
9431     
9432     
9433     
9434     
9435     
9436     
9437     
9438     
9439     
9440     
9441     
9442     
9443     
9444     
9445     
9446     
9447     
9448     
9449     
9450     
9451     
9452     
9453     
9454     
9455     
9456     
9457     
9458     
9459     
9460     
9461     
9462     
9463     
9464     
9465     
9466     
9467     
9468     
9469     
9470     
9471     
9472     
9473     
9474     
9475     
9476     
9477     
9478     
9479     
9480     
9481     
9482     
9483     
9484     
9485     
9486     
9487     
9488     
9489     
9490     
9491     
9492     
9493     
9494     
9495     
9496     
9497     
9498     
9499     
9500     
9501     
9502     
9503     
9504     
9505     
9506     
9507     
9508     
9509     
9510     
9511     
9512     
9513     
9514     
9515     
9516     
9517     
9518     
9519     
9520     
9521     
9522     
9523     
9524     
9525     
9526     
9527     
9528     
9529     
9530     
9531     
9532     
9533     
9534     
9535     
9536     
9537     
9538     
9539     
9540     
9541     
9542     
9543     
9544     
9545     
9546     
9547     
9548     
9549     
9550     
9551     
9552     
9553     
9554     
9555     
9556     
9557     
9558     
9559     
9560     
9561     
9562     
9563     
9564     
9565     
9566     
9567     
9568     
9569     
9570     
9571     
9572     
9573     
9574     
9575     
9576     
9577     
9578     
9579     
9580     
9581     
9582     
9583     
9584     
9585     
9586     
9587     
9588     
9589     
9590     
9591     
9592     
9593     
9594     
9595     
9596     
9597     
9598     
9599     
9600     
9601     
9602     
9603     
9604     
9605     
9606     
9607     
9608     
9609     
9610     
9611     
9612     
9613     
9614     
9615     
9616     
9617     
9618     
9619     
9620     
9621     
9622     
9623     
9624     
9625     
9626     
9627     
9628     
9629     
9630     
9631     
9632     
9633     
9634     
9635     
9636     
9637     
9638     
9639     
9640     
9641     
9642     
9643     
9644     
9645     
9646     
9647     
9648     
9649     
9650     
9651     
9652     
9653     
9654     
9655     
9656     
9657     
9658     
9659     
9660     
9661     
9662     
9663     
9664     
9665     
9666     
9667     
9668     
9669     
9670     
9671     
9672     
9673     
9674     
9675     
9676     
9677     
9678     
9679     
9680     
9681     
9682     
9683     
9684     
9685     
9686     
9687     
9688     
9689     
9690     
9691     
9692     
9693     
9694     
9695     
9696     
9697     
9698     
9699     
9700     
9701     
9702     
9703     
9704     
9705     
9706     
9707     
9708     
9709     
9710     
9711     
9712     
9713     
9714     
9715     
9716     
9717     
9718     
9719     
9720     
9721     
9722     
9723     
9724     
9725     
9726     
9727     
9728     
9729     
9730     
9731     
9732     
9733     
9734     
9735     
9736     
9737     
9738     
9739     
9740     
9741     
9742     
9743     
9744     
9745     
9746     
9747     
9748     
9749     
9750     
9751     
9752     
9753     
9754     
9755     
9756     
9757     
9758     
9759     
9760     
9761     
9762     
9763     
9764     
9765     
9766     
9767     
9768     
9769     
9770     
9771     
9772     
9773     
9774     
9775     
9776     
9777     
9778     
9779     
9780     
9781     
9782     
9783     
9784     
9785     
9786     
9787     
9788     
9789     
9790     
9791     
9792     
9793     
9794     
9795     
9796     
9797     
9798     
9799     
9800     
9801     
9802     
9803     
9804     
9805     
9806     
9807     
9808     
9809     
9810     
9811     
9812     
9813     
9814     
9815     
9816     
9817     
9818     
9819     
9820     
9821     
9822     
9823     
9824     
9825     
9826     
9827     
9828     
9829     
9830     
9831     
9832     
9833     
9834     
9835     
9836     
9837     
9838     
9839     
9840     
9841     
9842     
9843     
9844     
9845     
9846     
9847     
9848     
9849     
9850     
9851     
9852     
9853     
9854     
9855     
9856     
9857     
9858     
9859     
9860     
9861     
9862     
9863     
9864     
9865     
9866     
9867     
9868     
9869     
9870     
9871     
9872     
9873     
9874     
9875     
9876     
9877     
9878     "pengiriman_aceh",
9879     
9880     
9881     
9882     
9883     
9884     "pengiriman_ambon",
9885     
9886     
9887     
9888     
9889     
9890     "pengiriman_atambua",
9891     
9892     
9893     
9894     
9895     
9896     "pengiriman_badung",
9897     
9898     
9899     
9900     
9901     
9902     "pengiriman_bali",
9903     
9904     
9905     
9906     
9907     
9908     "pengiriman_balikpapan",
9909     
9910     
9911     
9912     
9913     
9914     "pengiriman_bandar lampung",
9915     
9916     
9917     
9918     
9919     
9920     "pengiriman_bandung",
9921     
9922     
9923     
9924     
9925     
9926     "pengiriman_bandung barat",
9927     
9928     
9929     
9930     
9931     
9932     "pengiriman_banjarmasin",
9933     
9934     
9935     
9936     
9937     
9938     "pengiriman_banyumas",
9939     
9940     
9941     
9942     
9943     
9944     "pengiriman_banyuwangi",
9945     
9946     
9947     
9948     
9949     
9950     "pengiriman_batam",
9951     
9952     
9953     
9954     
9955     
9956     
9957     
9958     
9959     
9960     "pengiriman_biak",
9961     
9962     
9963     
9964     
9965     
9966     "pengiriman_binjai",
9967     
9968     
9969     
9970     
9971     
9972     "pengiriman_blitar",
9973     
9974     
9975     
9976     
9977     
9978     "pengiriman_blora",
9979     
9980     
9981     
9982     
9983     
9984     
9985     
9986     
9987     
9988     "pengiriman_bojonegoro",
9989     
9990     
9991     
9992     
9993     
9994     "pengiriman_boyolali",
9995     
9996     
9997     
9998     
9999     
10000     "pengiriman_bukittinggi",
10001     
10002     
10003     
10004     
10005     
10006     "pengiriman_buleleng",
10007     
10008     
10009     
10010     
10011     
10012     "pengiriman_ciamis",
10013     
10014     
10015     
10016     
10017     
10018     "pengiriman_cianjur",
10019     
10020     
10021     
10022     
10023     
10024     "pengiriman_cibinong",
10025     
10026     
10027     
10028     
10029     
10030     "pengiriman_cikarang",
10031     
10032     
10033     
10034     
10035     
10036     "pengiriman_cikupa",
10037     
10038     
10039     
10040     
10041     
10042     "pengiriman_cilacap",
10043     
10044     
10045     
10046     
10047     
10048     "pengiriman_cileunyi",
10049     
10050     
10051     
10052     
10053     
10054     "pengiriman_cimahi",
10055     
10056     
10057     
10058     
10059     
10060     "pengiriman_cirebon",
10061     
10062     
10063     
10064     
10065     
10066     "pengiriman_ciwidey",
10067     
10068     
10069     
10070     
10071     
10072     "pengiriman_deli serdang",
10073     
10074     
10075     
10076     
10077     
10078     "pengiriman_demak",
10079     
10080     
10081     
10082     
10083     
10084     "pengiriman_denpasar",
10085     
10086     
10087     
10088     
10089     
10090     
10091     
10092     
10093     
10094     "pengiriman_garut",
10095     
10096     
10097     
10098     
10099     
10100     "pengiriman_gianyar",
10101     
10102     
10103     
10104     
10105     
10106     "pengiriman_gresik",
10107     
10108     
10109     
10110     
10111     
10112     "pengiriman_gunung kidul",
10113     
10114     
10115     
10116     
10117     
10118     
10119     
10120     
10121     
10122     "pengiriman_jambi",
10123     
10124     
10125     
10126     
10127     
10128     "pengiriman_jayapura",
10129     
10130     
10131     
10132     
10133     
10134     "pengiriman_jember",
10135     
10136     
10137     
10138     
10139     
10140     "pengiriman_jepara",
10141     
10142     
10143     
10144     
10145     
10146     "pengiriman_jombang",
10147     
10148     
10149     
10150     
10151     
10152     "pengiriman_karanganyar",
10153     
10154     
10155     
10156     
10157     
10158     "pengiriman_karawang",
10159     
10160     
10161     
10162     
10163     
10164     "pengiriman_karo",
10165     
10166     
10167     
10168     
10169     
10170     "pengiriman_kebumen",
10171     
10172     
10173     
10174     
10175     
10176     "pengiriman_kediri",
10177     
10178     
10179     
10180     
10181     
10182     "pengiriman_keerom",
10183     
10184     
10185     
10186     
10187     
10188     "pengiriman_kendal",
10189     
10190     
10191     
10192     
10193     
10194     "pengiriman_klaten",
10195     
10196     
10197     
10198     
10199     
10200     
10201     
10202     
10203     
10204     "pengiriman_kudus",
10205     
10206     
10207     
10208     
10209     
10210     "pengiriman_kupang",
10211     
10212     
10213     
10214     
10215     
10216     "pengiriman_lainnya",
10217     
10218     
10219     
10220     
10221     
10222     "pengiriman_lamongan",
10223     
10224     
10225     
10226     
10227     
10228     "pengiriman_lampung",
10229     
10230     
10231     
10232     
10233     
10234     "pengiriman_lampung barat",
10235     
10236     
10237     
10238     
10239     
10240     "pengiriman_lembang",
10241     
10242     
10243     
10244     
10245     
10246     "pengiriman_lombok",
10247     
10248     
10249     
10250     
10251     
10252     "pengiriman_lumajang",
10253     
10254     
10255     
10256     
10257     
10258     "pengiriman_madiun",
10259     
10260     
10261     
10262     
10263     
10264     "pengiriman_magelang",
10265     
10266     
10267     
10268     
10269     
10270     "pengiriman_majalengka",
10271     
10272     
10273     
10274     
10275     
10276     "pengiriman_makassar",
10277     
10278     
10279     
10280     
10281     
10282     "pengiriman_malang",
10283     
10284     
10285     
10286     
10287     
10288     "pengiriman_manado",
10289     
10290     
10291     
10292     
10293     
10294     "pengiriman_medan",
10295     
10296     
10297     
10298     
10299     
10300     "pengiriman_mengwi",
10301     
10302     
10303     
10304     
10305     
10306     "pengiriman_mojokerto",
10307     
10308     
10309     
10310     
10311     
10312     "pengiriman_nganjuk",
10313     
10314     
10315     
10316     
10317     
10318     "pengiriman_ngawi",
10319     
10320     
10321     
10322     
10323     
10324     "pengiriman_padang",
10325     
10326     
10327     
10328     
10329     
10330     "pengiriman_palembang",
10331     
10332     
10333     
10334     
10335     
10336     "pengiriman_pasuruan",
10337     
10338     
10339     
10340     
10341     
10342     "pengiriman_pati",
10343     
10344     
10345     
10346     
10347     
10348     "pengiriman_pekalongan",
10349     
10350     
10351     
10352     
10353     
10354     "pengiriman_pekanbaru",
10355     
10356     
10357     
10358     
10359     
10360     "pengiriman_pemalang",
10361     
10362     
10363     
10364     
10365     
10366     "pengiriman_ponorogo",
10367     
10368     
10369     
10370     
10371     
10372     "pengiriman_pontianak",
10373     
10374     
10375     
10376     
10377     
10378     "pengiriman_probolinggo",
10379     
10380     
10381     
10382     
10383     
10384     "pengiriman_purbalingga",
10385     
10386     
10387     
10388     
10389     
10390     "pengiriman_purwakarta",
10391     
10392     
10393     
10394     
10395     
10396     "pengiriman_purwokerto",
10397     
10398     
10399     
10400     
10401     
10402     "pengiriman_rembang",
10403     
10404     
10405     
10406     
10407     
10408     "pengiriman_riau",
10409     
10410     
10411     
10412     
10413     
10414     "pengiriman_salatiga",
10415     
10416     
10417     
10418     
10419     
10420     "pengiriman_samarinda",
10421     
10422     
10423     
10424     
10425     
10426     "pengiriman_semarang",
10427     
10428     
10429     
10430     
10431     
10432     "pengiriman_sentani",
10433     
10434     
10435     
10436     
10437     
10438     "pengiriman_serang",
10439     
10440     
10441     
10442     
10443     
10444     "pengiriman_sidoarjo",
10445     
10446     
10447     
10448     
10449     
10450     "pengiriman_singkawang",
10451     
10452     
10453     
10454     
10455     
10456     "pengiriman_sragen",
10457     
10458     
10459     
10460     
10461     
10462     "pengiriman_subang",
10463     
10464     
10465     
10466     
10467     
10468     "pengiriman_sukabumi",
10469     
10470     
10471     
10472     
10473     
10474     "pengiriman_sumbawa",
10475     
10476     
10477     
10478     
10479     
10480     "pengiriman_surabaya",
10481     
10482     
10483     
10484     
10485     
10486     "pengiriman_surakarta solo",
10487     
10488     
10489     
10490     
10491     
10492     
10493     
10494     
10495     
10496     "pengiriman_tasikmalaya",
10497     
10498     
10499     
10500     
10501     
10502     "pengiriman_tegal",
10503     
10504     
10505     
10506     
10507     
10508     "pengiriman_timika",
10509     
10510     
10511     
10512     
10513     
10514     "pengiriman_wamena",
10515     
10516     
10517     
10518     
10519     
10520     "pengiriman_wiyung",
10521     
10522     
10523     
10524     
10525     
10526     "pengiriman_wonokromo",
10527     
10528     
10529     
10530     
10531     
10532     "pengiriman_yogyakarta",
10533     
10534     
10535     
10536     
10537     
10538     
10539     
10540     
10541     
10542     
10543     
10544     
10545     
10546     
10547     
10548     
10549     
10550     
10551     
10552     
10553     
10554     
10555     
10556     
10557     
10558     
10559     
10560     
10561     
10562     
10563     
10564     
10565     
10566     
10567     
10568     
10569     
10570     
10571     
10572     
10573     
10574     
10575     
10576     
10577     
10578     
10579     
10580     
10581     
10582     
10583     
10584     
10585     
10586     
10587     
10588     
10589     
10590     
10591     
10592     
10593     
10594     
10595     
10596     
10597     
10598     
10599     
10600     
10601     
10602     
10603     
10604     
10605     
10606     
10607     
10608     
10609     
10610     
10611     
10612     
10613     
10614     
10615     
10616     
10617     
10618     
10619     
10620     
10621     
10622     
10623     
10624     
10625     
10626     
10627     
10628     
10629     
10630     
10631     
10632     
10633     
10634     
10635     
10636     
10637     
10638     
10639     
10640     
10641     
10642     
10643     
10644     
10645     
10646     
10647     
10648     
10649     
10650     
10651     
10652     
10653     
10654     
10655     
10656     
10657     
10658     
10659     
10660     
10661     
10662     
10663     
10664     
10665     
10666     
10667     
10668     
10669     
10670     
10671     
10672     
10673     
10674     
10675     
10676     
10677     
10678     
10679     
10680     
10681     
10682     
10683     
10684     
10685     
10686     
10687     
10688     
10689     
10690     
10691     
10692     
10693     
10694     
10695     
10696     
10697     
10698     
10699     
10700     
10701     
10702     
10703     
10704     
10705     
10706     
10707     
10708     
10709     
10710     
10711     
10712     
10713     
10714     
10715     
10716     
10717     
10718     
10719     
10720     
10721     
10722     
10723     
10724     
10725     
10726     
10727     
10728     
10729     
10730     
10731     
10732     
10733     
10734     
10735     
10736     
10737     
10738     
10739     
10740     
10741     
10742     
10743     
10744     
10745     
10746     
10747     
10748     
10749     
10750     
10751     
10752     
10753     
10754     
10755     
10756     
10757     
10758     
10759     
10760     
10761     
10762     
10763     
10764     
10765     
10766     
10767     
10768     
10769     
10770     
10771     
10772     
10773     
10774     
10775     
10776     
10777     
10778     
10779     
10780     
10781     
10782     
10783     
10784     
10785     
10786     
10787     
10788     
10789     
10790     
10791     
10792     
10793     
10794     
10795     
10796     
10797     
10798     
10799     
10800     
10801     
10802     
10803     
10804     
10805     
10806     
10807     
10808     
10809     
10810     
10811     
10812     
10813     
10814     
10815     
10816     
10817     
10818     
10819     
10820     
10821     
10822     
10823     
10824     
10825     
10826     
10827     
10828     
10829     
10830     
10831     
10832     
10833     
10834     
10835     
10836     
10837     
10838     
10839     
10840     
10841     
10842     
10843     
10844     
10845     
10846     
10847     
10848     
10849     
10850     
10851     
10852     
10853     
10854     
10855     
10856     
10857     
10858     
10859     
10860     
10861     
10862     
10863     
10864     
10865     
10866     
10867     
10868     
10869     
10870     
10871     
10872     
10873     
10874     
10875     
10876     
10877     
10878     
10879     
10880     
10881     
10882     
10883     
10884     
10885     
10886     
10887     
10888     
10889     
10890     
10891     
10892     
10893     
10894     
10895     
10896     
10897     
10898     
10899     
10900     
10901     
10902     
10903     
10904     
10905     
10906     
10907     
10908     
10909     
10910     
10911     
10912     
10913     
10914     
10915     
10916     
10917     
10918     
10919     
10920     
10921     
10922     
10923     
10924     
10925     
10926     
10927     
10928     
10929     
10930     
10931     
10932     
10933     
10934     
10935     
10936     
10937     
10938     
10939     
10940     
10941     
10942     
10943     
10944     
10945     
10946     
10947     
10948     
10949     
10950     
10951     
10952     
10953     
10954     
10955     
10956     
10957     
10958     
10959     
10960     
10961     
10962     
10963     
10964     
10965     
10966     
10967     
10968     
10969     
10970     
10971     
10972     
10973     
10974     
10975     
10976     
10977     
10978     
10979     
10980     
10981     
10982     
10983     
10984     
10985     
10986     
10987     
10988     
10989     
10990     
10991     
10992     
10993     
10994     
10995     
10996     
10997     
10998     
10999     
11000     
11001     
11002     
11003     
11004     
11005     
11006     
11007     
11008     
11009     
11010     
11011     
11012     
11013     
11014     
11015     
11016     
11017     
11018     
11019     
11020     
11021     
11022     
11023     
11024     
11025     
11026     
11027     
11028     
11029     
11030     
11031     
11032     
11033     
11034     
11035     
11036     
11037     
11038     
11039     
11040     
11041     
11042     
11043     
11044     
11045     
11046     
11047     
11048     
11049     
11050     
11051     
11052     
11053     
11054     
11055     
11056     
11057     
11058     
11059     
11060     
11061     
11062     
11063     
11064     
11065     
11066     
11067     
11068     
11069     
11070     
11071     
11072     
11073     
11074     
11075     
11076     
11077     
11078     
11079     
11080     
11081     
11082     
11083     
11084     
11085     
11086     
11087     
11088     
11089     
11090     
11091     
11092     
11093     
11094     
11095     
11096     
11097     
11098     
11099     
11100     
11101     
11102     
11103     
11104     
11105     
11106     
11107     
11108     
11109     
11110     
11111     
11112     
11113     
11114     
11115     
11116     
11117     
11118     
11119     
11120     
11121     
11122     
11123     
11124     
11125     
11126     
11127     
11128     
11129     
11130     
11131     
11132     
11133     
11134     
11135     
11136     
11137     
11138     
11139     
11140     
11141     
11142   ]
11143   console.log(cityNonJabodetabek)
11144   let non_jabodetabek = []
11145   for(var i=0;i<cityNonJabodetabek.length;i++) {
11146     const obj = {
11147       "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'),
11148       "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'),
11149       "zip": []
11150     }
11151     non_jabodetabek.push(obj)
11152   }
11153   let current_location = getCookie("location_delivery")
11154   $("[name=location]").change(function(){
11155     let v = $(this).val()
11156     let option = []
11157     if(v == 'Jabodetabek') {
11158       for(var i=0;i<jabodetabek.length;i++) {
11159         const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>`
11160         option.push(jabodetabekHtml)
11161       }
11162       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
11163     } else {
11164       for(var i=0;i<non_jabodetabek.length;i++) {
11165         const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>`
11166         option.push(nonjabodetabekHtml)
11167       }
11168       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
11169     }
11170   })
11171 
11172   $("#location-lock-submit").click(function(e){
11173     let select = $("#choose-location")
11174     let value = select.val().toLowerCase()
11175     console.log(value)
11176     if(select.val() == "") {
11177       return alert("Choose Your Location")
11178       e.preventDefault()
11179     }
11180     setCookie("location_delivery",value,1000000);
11181     
11182     location.reload();
11183     
11184   })
11185 
11186   $("#close-popup-delivery").click(function(){
11187     $(".MuiDialog-root").hide()
11188     if(!current_location){
11189       setCookie("location_delivery","jakarta",1000000);
11190       $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta")
11191     }
11192   })
11193   $("#loc_delivery, #loc_delivery_mobile").click(function(){
11194     $(".MuiDialog-root").show()
11195   })
11196 
11197   
11198   if(!current_location){
11199     
11200   } else {
11201     $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location)
11202     console.log(current_location)
11203     $("#choose-location").each(function(){
11204       if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){
11205         $("#jabodetabek").trigger("click")
11206       } else {
11207         $("#non-jabodetabek").trigger("click")
11208       }
11209       $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected")
11210     })
11211   }
11212 
11213   // 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'){
11214   //   $("#timeMalam").attr("disabled", false)
11215   // } else {
11216   //   $("#timeMalam").attr("disabled", true)
11217   // }
11218 
11219   if(current_location && current_location != 'jakarta') {
11220     $("#self-pickup").attr("disabled", true)
11221   }
11222 
11223   function setCookie(name,value,days) {
11224     var expires = "";
11225     if (days) {
11226       var date = new Date();
11227       date.setTime(date.getTime() + (days*24*60*60*1000));
11228       expires = "; expires=" + date.toUTCString();
11229     }
11230     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
11231   }
11232   function getCookie(name) {
11233     var nameEQ = name + "=";
11234     var ca = document.cookie.split(';');
11235     for(var i=0;i < ca.length;i++) {
11236       var c = ca[i];
11237       while (c.charAt(0)==' ') c = c.substring(1,c.length);
11238       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
11239     }
11240     return null;
11241   }
11242 </script>
11242
11243 <!-- One Tap -->
11244     
11244<script>
11245       console.log("Outerbloom...");
11246     </script>
11246
11247   <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block">
11248 
11249 
11250 
11251 
11252 
11253 
11254 
11255 
11256 
11257 
11258 
11259 
11260 
11261 
11262 
11263 
11264 
11265 
11266 
11267 
11268 
11269 
11270 
11271 
11272 
11273 
11274 
11275 
11276 
11277 
11278 
11279 
11280 
11281 
11282 
11283 
11284 
11285 
11286 
11287 
11288 
11289 
11290 
11291 
11292 
11293 
11294 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
11295 
11295<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
11295
11296 
11296<script>
11297   const widgetConfig = {
11298     id: "clz7897za002cz7otleaz0d3d",
11299     showQuickResponse: false,
11300     quickResponsesData: [],
11301     themeColor: "#ffffff",
11302     widgetText: "",
11303     radiusType: "circle",
11304     widgetIconType: "whatsapp",
11305     position: "right",
11306     storeLogo: "",
11307     storeName: "Outerbloom",
11308     storeDescription: "",
11309     size: "small",
11310     showCard: false,
11311     widgetColorType: "solid",
11312     widgetColor1: "#008069",
11313     widgetColor2: "#008069",
11314     social: {
11315       socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"],
11316       values: {
11317         instagram: {
11318           enabled: false,
11319           value: "",
11320         },
11321         facebook: {
11322           enabled: false,
11323           value: "",
11324         },
11325         email: {
11326           enabled: false,
11327           value: "",
11328         },
11329         x: {
11330           enabled: false,
11331           value: "",
11332         },
11333         tiktok: {
11334           enabled: false,
11335           value: "",
11336         },
11337         linkedin: {
11338           enabled: false,
11339           value: "",
11340         },
11341         youtube: {
11342           enabled: false,
11343           value: "",
11344         },
11345       },
11346     },
11347   };
11348 
11349   function initializeWidget() {
11350     if (typeof BBBWidget !== 'undefined') {
11351       BBBWidget.init(widgetConfig);
11352     } else {
11353       setTimeout(initializeWidget, 100);
11354     }
11355   }
11356 
11357   initializeWidget();</script>
11357
11358 
11359 
11360 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
11361 
11362 
11363 <div style="position: fixed; bottom: 0; right: 0"></div>
11364 
11365 
11365<script>
11366 console.info("bitlogin extension version: v2.5.7");
11367 
11368 const googleScript = document.createElement("script");
11369 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
11370 document.head.append(googleScript);
11371 
11372 const bitLoginBaseUrl = "https://api.bitbybit.studio";
11373 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
11374 
11375 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"}};
11376 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
11376n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}];
11377 const redirectUrl = appearance.redirectLink;
11378 
11379 let locationCacheSet = false;
11380 let errorLocation = false;
11381 let oneTapSet = false;
11382 
11383 let bitloginCache = {
11384   appearance: appearance,
11385   config: config
11386 };
11387 
11388 let isInitializing = false;
11389 const queue = [];
11390 
11391 // Add CSS for the popup
11392 const popupStyles = document.createElement('style');
11393 popupStyles.textContent = `
11394   /* Styles for login popup */
11395   .bitlogin-popup-overlay {
11396     position: fixed;
11397     top: 0;
11398     left: 0;
11399     width: 100%;
11400     height: 100%;
11401     background: rgba(0, 0, 0, 0.45);
11402     backdrop-filter: blur(4px);
11403     display: flex;
11404     align-items: center;
11405     justify-content: center;
11406     opacity: 0;
11407     transition: opacity 0.3s ease-in-out;
11408     z-index: 999999;
11409   }
11410   
11411   .bitlogin-popup-overlay.visible {
11412     opacity: 1;
11413   }
11414   
11415   .bitlogin-popup {
11416     background: #FFFFFF;
11417     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
11418     border-radius: 16px;
11419     width: 100%;
11420     max-width: 560px;
11421     display: flex;
11422     overflow: hidden;
11423     position: relative;
11424     opacity: 0;
11425     transform: translateY(20px) scale(0.98);
11426     transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
11427   }
11428   
11429   .bitlogin-popup.visible {
11430     opacity: 1;
11431     transform: translateY(0) scale(1);
11432   }
11433   
11434   .bitlogin-popup-with-image {
11435     max-width: 640px;
11436   }
11437   
11438   .bitlogin-popup-right-image {
11439     flex-direction: row-reverse;
11440   }
11441   
11442   .bitlogin-popup-image {
11443     object-fit: cover;
11444     width: 50%;
11445     height: auto;
11446   }
11447   
11448   .bitlogin-popup-content {
11449     padding: 32px;
11450     position: relative;
11451     width: 50%;
11452   }
11453   
11454   .bitlogin-popup-close {
11455     position: absolute;
11456     top: 16px;
11457     right: 16px;
11458     background: white;
11459     border: none;
11460     width: 30px;
11461     height: 30px;
11462     display: flex;
11463     align-items: center;
11464     justify-content: center;
11465     cursor: pointer;
11466     transition: background-color 0.2s;
11467     color: inherit;
11468     padding: 0;
11469   }
11470   
11471   .bitlogin-popup-close:hover {
11472     background-color: #e5e5e5;
11473   }
11474   
11475   .bitlogin-popup-buttons {
11476     display: flex;
11477     flex-direction: column;
11478     gap: 12px;
11479     margin-top: 24px;
11480   }
11481   
11482   /* Button styles within popup - override width for popup buttons */
11483   .bitlogin-popup-buttons #google-login,
11484   .bitlogin-popup-buttons #facebook-login,
11485   .bitlogin-popup-buttons #apple-login,
11486   .bitlogin-popup-buttons #whatsapp-login,
11487   .bitlogin-popup-buttons #microsoft-login,
11488   .bitlogin-popup-buttons #twitter-login,
11489   .bitlogin-popup-buttons #amazon-login,
11490   .bitlogin-popup-buttons #instagram-login,
11491   .bitlogin-popup-buttons #magic-link-login,
11492   .bitlogin-popup-buttons #mobile-app-login {
11493     width: 100% !important;
11494     font-family: inherit !important;
11495   }
11496   
11497   .bitlogin-popup-footer {
11498     margin-top: 32px;
11499     text-align: center;
11500     font-size: 14px;
11501     opacity: 0.6;
11502   }
11503   
11504   /* Modern Typography */
11505   .bitlogin-popup h2 {
11506     margin-top: 12px;
11507     font-size: 21px !important;
11508     line-height: 1.2 !important;
11509     font-weight: 700 !important;
11510     letter-spacing: -0.02em !important;
11511     margin-bottom: 16px !important;
11512   }
11513   
11514   .bitlogin-popup-header {
11515     position: relative;
11516     margin-bottom: 24px;
11517   }
11518   
11519   /* Modern gradient accent */
11520   .bitlogin-popup-content > div {
11521     font-size: 16px !important;
11522     line-height: 1.2 !important;
11523     opacity: 0.85 !important;
11524   }
11525   
11526   /* Enhanced button interactions */
11527   .bitlogin-popup-buttons button {
11528     position: relative;
11529     overflow: hidden;
11530   }
11531   
11532   @keyframes ripple {
11533     0% {
11534       transform: scale(0, 0);
11535       opacity: 0.5;
11536     }
11537     100% {
11538       transform: scale(100, 100);
11539       opacity: 0;
11540     }
11541   }
11542   
11543   /* Responsive adjustments */
11544   @media (max-width: 640px) {
11545     .bitlogin-popup {
11546       max-width: 90%;
11547       width: 90%;
11548       margin: 0 16px;
11549     }
11550     
11551     .bitlogin-popup-with-image {
11552       flex-direction: column !important;
11553     }
11554     
11555     .bitlogin-popup-image {
11556       width: 100%;
11557       height: 180px;
11558     }
11559     
11560     .bitlogin-popup-content {
11561       padding: 24px;
11562     }
11563     
11564     .bitlogin-popup h2 {
11565       font-size: 24px !important;
11566     }
11567   }
11568 `;
11569 
11570 document.head.appendChild(popupStyles);
11571 
11572 // Add fonts link for different font options
11573 const fontsLink = document.createElement('link');
11574 fontsLink.rel = 'stylesheet';
11575 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';
11576 document.head.appendChild(fontsLink);
11577 
11578 (async () => {
11579   try {
11580     let host = window.location.host;
11581     if (host === "admin.shopify.com") {
11582       host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
11583     }
11584 
11585     const urlSearchParams = new URLSearchParams(window.location.search);
11586     const checkoutUrl = urlSearchParams.get("checkout_url");
11587 
11588     async function init({ inputRef, index }) {
11589       if (isInitializing) {
11590         queue.push(() => init({ inputRef, index }));
11591         return;
11592       }
11593 
11594       isInitializing = true;
11595 
11596       try {
11597         let bitLoginSectionRoot = document.querySelector(
11598           `.bitlogin-root[data-index="${index}"]`
11599         );
11600 
11601         const formRef = inputRef?.closest(
11602           "form:not([action='/account/recover'])"
11603         );
11604 
11605         if (formRef && !bitLoginSectionRoot) {
11606           await getLocation();
11607 
11608           bitLoginSectionRoot = document.createElement(`div`);
11609 
11610           bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
11611           bitLoginSectionRoot.setAttribute("data-index", `${index}`);
11612 
11613           updateAppearance({
11614             formRef,
11615             rootRef: bitLoginSectionRoot,
11616             host,
11617           });
11618         }
11619       } catch (err) {
11620         console.error(`error while initiating bitlogin extensions`, err);
11621       } finally {
11622         // Release the lock
11623         isInitializing = false;
11624 
11625         // Check if there are pending items in the queue
11626         if (queue.length > 0) {
11627           // Process the next function in the queue
11628           const nextFunction = queue.shift();
11629           nextFunction();
11630         }
11631       }
11632     }
11633 
11634     function initAll() {
11635       return new Promise((resolve, reject) => {
11636         setTimeout(async () => {
11637           const inputRefs = document.querySelectorAll(
11638             'input[name="customer[email]"]'
11639           );
11640 
11641           for (let i = 0; i < inputRefs.length; i++) {
11642             const currentInputRef = inputRefs[i];
11643             const isVisible = isElementVisible(currentInputRef);
11644 
11645             if (isVisible) {
11646               await init({ inputRef: currentInputRef, index: i });
11647             }
11648           }
11649 
11650           resolve("ok");
11651         }, 100);
11652       });
11653     }
11654 
11655     const observer = new MutationObserver((mutationsList) => {
11656       for (let mutation of mutationsList) {
11657         initAll();
11658       }
11659     });
11660 
11661     observer.observe(document.body, {
11662       childList: true,
11663       subtree: true,
11664       attributes: true,
11665     });
11666 
11667     initAll();
11668 
11669     if (appearance.googleOneTap) {
11670       setupOneTap({ host, checkoutUrl });
11671     }
11672 
11673     // Initialize popup
11674     await initPopup(host);
11675   } catch (error) {
11676     console.error("Error initializing BitLogin:", error);
11677   }
11678 })();
11679 
11680 async function initPopup(host) {
11681   // Check if user is already logged in using Liquid checks properly
11682   const isLoggedIn = false || 
11683                     document.querySelector('.customer-logout-link') || 
11684                     document.querySelector('.account-link') || 
11685                     window.location.pathname.includes('/account');
11686   
11687   if (isLoggedIn) {
11688     return; // User is logged in, don't show popup
11689   }
11690 
11691   try {
11692     // Fetch the popup configuration
11693     const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
11694       .then(res => res.json())
11695       .catch(err => {
11696         console.error('Error fetching popup configuration:', err);
11697         return null;
11698       });
11699 
11700     if (!popupConfig || !popupConfig.enabled) {
11701       return;
11701 // Don't show popup if disabled or config not found
11702     }
11703 
11704     // Create popup after 10 seconds
11705     setTimeout(() => {
11706       // Check if user is still on the page and still not logged in
11707       if (document.visibilityState === 'visible') {
11708         // Additional check in case user logged in during the 10 second wait
11709         const currentlyLoggedIn = false || 
11710                               document.querySelector('.customer-logout-link') || 
11711                               document.querySelector('.account-link');
11712         
11713         if (!currentlyLoggedIn) {
11714           createLoginPopup(popupConfig, host);
11715         }
11716       }
11717     }, 10000);
11718   } catch (error) {
11719     console.error('Error initializing popup:', error);
11720   }
11721 }
11722 
11723 function createLoginPopup(popupConfig, host) {
11724   // Font mapping
11725   const fontFamilyMap = {
11726     system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
11727     montserrat: 'Montserrat, sans-serif',
11728     roboto: 'Roboto, sans-serif',
11729     open_sans: 'Open Sans, sans-serif',
11730     noto_sans: 'Noto Sans, sans-serif',
11731     lato: 'Lato, sans-serif',
11732     poppins: 'Poppins, sans-serif',
11733     quicksand: 'Quicksand, sans-serif',
11734     raleway: 'Raleway, sans-serif',
11735     pt_sans: 'PT Sans, sans-serif',
11736     oswald: 'Oswald, sans-serif',
11737   };
11738 
11739   // Create overlay
11740   const overlay = document.createElement('div');
11741   overlay.className = 'bitlogin-popup-overlay';
11742   
11743   // Create popup container with appropriate styling
11744   const popup = document.createElement('div');
11745   popup.className = 'bitlogin-popup';
11746 
11747   if (popupConfig.layout === 'default') {
11748     popup.style.maxWidth = '400px';
11749   }
11750   
11751   // Function to close the popup
11752   const closePopup = () => {
11753     overlay.classList.remove('visible');
11754     popup.classList.remove('visible');
11755     setTimeout(() => {
11756       if (document.body.contains(overlay)) {
11757         document.body.removeChild(overlay);
11758       }
11759     }, 300);
11760   };
11761   
11762   // Add click handler to the overlay to close when clicking outside
11763   overlay.addEventListener('click', (event) => {
11764     // Close only if clicking directly on the overlay, not its children
11765     if (event.target === overlay) {
11766       closePopup();
11767     }
11768   });
11769   
11770   // Add escape key handler to close popup
11771   document.addEventListener('keydown', (event) => {
11772     if (event.key === 'Escape' && document.body.contains(overlay)) {
11773       closePopup();
11774     }
11775   });
11776 
11777   // Create layout with image if specified
11778   let contentWrapper;
11779   if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
11780     popup.classList.add('bitlogin-popup-with-image');
11781     
11782     if (popupConfig.layout === 'right') {
11783       popup.classList.add('bitlogin-popup-right-image');
11784     }
11785     
11786     // Add image
11787     const image = document.createElement('img');
11788     image.className = 'bitlogin-popup-image';
11789     image.src = popupConfig.popupImage;
11790     image.alt = 'Login';
11791     image.loading = 'lazy';
11792     popup.appendChild(image);
11793     
11794     // Create content container
11795     contentWrapper = document.createElement('div');
11796     contentWrapper.className = 'bitlogin-popup-content';
11797 
11798     if (popupConfig.layout === 'right') {
11799       const closeButton = document.createElement('button');
11800       closeButton.className = 'bitlogin-popup-close';
11801       closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="img/asepnggasihlogoyoweswd.webp">
11802         <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
11803       </svg>`;
11804       closeButton.setAttribute('aria-label', 'Close');
11805       closeButton.onclick = closePopup;
11806   
11807       popup.appendChild(closeButton);
11808     }
11809   } else {
11810     contentWrapper = document.createElement('div');
11811     contentWrapper.className = 'bitlogin-popup-content';
11812     contentWrapper.style.width = '100%';
11813   }
11814 
11815   // Set background style
11816   if (popupConfig.backgroundTheme === 'gradient') {
11817     contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
11818   } else {
11819     contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
11820   }
11821 
11822   // Apply font family
11823   contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
11824 
11825   if (popupConfig.layout !== 'right') {
11826     const closeButton = document.createElement('button');
11827     closeButton.className = 'bitlogin-popup-close';
11828     closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="img/asepnggasihlogoyoweswd.webp">
11829       <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
11830     </svg>`;
11831     closeButton.setAttribute('aria-label', 'Close');
11832     closeButton.onclick = closePopup;
11833   
11834     contentWrapper.appendChild(closeButton);
11835   }
11836 
11837   // Add heading with subtle animation effect
11838   const header = document.createElement('div');
11839   header.className = 'bitlogin-popup-header';
11840   
11841   const heading = document.createElement('h2');
11842   heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
11842its';
11843   heading.style.color = popupConfig.fontColor;
11844   header.appendChild(heading);
11845 
11846   // Add body text with improved formatting
11847   const bodyText = document.createElement('div');
11848   bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
11849   bodyText.style.color = popupConfig.fontColor;
11850   header.appendChild(bodyText);
11851   
11852   contentWrapper.appendChild(header);
11853 
11854   // Create buttons container with modern styling
11855   const buttonsContainer = document.createElement('div');
11856   buttonsContainer.className = 'bitlogin-popup-buttons';
11857   
11858   // Add social buttons
11859   const providerLabels = {
11860     'GOOGLE': 'Continue with Google',
11861     'FACEBOOK': 'Continue with Facebook',
11862     'APPLE': 'Continue with Apple',
11863     'WHATSAPP': 'Continue with WhatsApp',
11864     'MAGIC_LINK': 'Continue with Email',
11865   };
11866 
11867   // Add first login provider button
11868   if (popupConfig.loginProvider1 !== 'NONE') {
11869     const buttonConfig = {
11870       theme: popupConfig.colorScheme || 'match',
11871       customColor: popupConfig.textColor,
11872       format: 'contentFlex',
11873       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
11874       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
11875       style: popupConfig.style || 'rounded',
11876       size: popupConfig.size || 'medium',
11877       colorScheme: popupConfig.colorScheme || 'match',
11878       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
11879       textColor: popupConfig.textColor || '#FFFFFF',
11880       outlineColor: popupConfig.outlineColor || '#3B82F6',
11881       host: host
11882     };
11883     
11884     const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
11885     
11886     // Handle click event - this overrides the default click handler in createSocialLoginButton
11887     button1.onclick = () => {
11888       onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
11889       closePopup();
11890     };
11891     
11892     buttonsContainer.appendChild(button1);
11893   }
11894 
11895   // Add second login provider button if enabled
11896   if (popupConfig.loginProvider2 !== 'NONE') {
11897     const buttonConfig = {
11898       theme: popupConfig.colorScheme || 'match',
11899       customColor: popupConfig.textColor,
11900       format: 'contentFlex',
11901       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
11902       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
11903       style: popupConfig.style || 'rounded',
11904       size: popupConfig.size || 'medium',
11905       colorScheme: popupConfig.colorScheme || 'match',
11906       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
11907       textColor: popupConfig.textColor || '#FFFFFF',
11908       outlineColor: popupConfig.outlineColor || '#3B82F6',
11909       host: host
11910     };
11911     
11912     const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
11913     
11914     // Handle click event - this overrides the default click handler in createSocialLoginButton
11915     button2.onclick = () => {
11916       onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
11917       closePopup();
11918     };
11919     
11920     buttonsContainer.appendChild(button2);
11921   }
11922 
11923   contentWrapper.appendChild(buttonsContainer);
11924 
11925   // Append content to popup
11926   popup.appendChild(contentWrapper);
11927   
11928   // Append popup to overlay
11929   overlay.appendChild(popup);
11930   
11931   // Append overlay to body
11932   document.body.appendChild(overlay);
11933   
11934   // Trigger animation with slight delay for better perceived performance
11935   setTimeout(() => {
11936     overlay.classList.add('visible');
11937     setTimeout(() => {
11938       popup.classList.add('visible');
11939     }, 50);
11940   }, 10);
11941 }
11942 
11943 window.addEventListener("load", () => {
11944   window.addEventListener("message", (event) => {
11945     const receivedData = event.data;
11946 
11947     if (receivedData.type === "authorize") {
11948       post(
11949         JSON.parse(
11950           JSON.stringify({
11951             "customer[email]": receivedData.email,
11952             "customer[password]": receivedData.password,
11953             form_type: "customer_login",
11954             utf8: "✓",
11955             return_url: redirectUrl,
11956           })
11957         )
11958       );
11959     } else if (receivedData.type === "rejected") {
11960       if (receivedData.reason === "customer_account_disabled") {
11961         showAlert(
11962           "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
11963         );
11964       } else if (receivedData.reason === "customer_entry_created_email_not_set") {
11965         showAlert(
11966           "A new account was created but requires an email address. Please update your account with a valid email address to continue."
11967         );
11968       } else if (receivedData.reason === "customer_exist_email_not_set") {
11969         showAlert(
11970           "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
11971         );
11972       }
11973     }
11974 
11975     if (receivedData.type === "customer_authenticated") {
11976       // Dispatch a custom event that merchants can listen for to implement their custom logic
11977       const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
11978         detail: {
11979           provider: receivedData.provider,
11980           customer: receivedData.customer,
11981           shopifyCustomerCreated: receivedData.shopifyCustomerCreated
11982         }
11983       });
11984       
11985       // Dispatch the event on the window object so merchants can listen for it
11986       window.dispatchEvent(customerAuthEvent);
11987       
11988     }
11989   });
11990 });
11991 
11992 // Reusable functions for social login buttons
11993 function createSocialLoginButton(provider, config = {}) {
11994   const {
11995     theme = 'match',
11996     customColor = null,
11997     format = 'contentFlex',
11998     buttonText = null,
11999     hasShadow = true,
12000     style = 'rounded',
12001     size = 'medium',
12002     colorScheme = 'match',
12003     backgroundColor = '#3B82F6',
12004     textColor = '#FFFFFF',
12005     outlineColor = '#3B82F6',
12006     rootRef = null,
12007     host = null
12008   } = config;
12009   
12010   // Create button element with appropriate ID and attributes
12011   const button = document.createElement('button');
12012   button.id = `${provider.toLowerCase()}-login`;
12013   button.type = 'button';
12014   
12015   // Set the inner SVG based on provider
12016   switch (provider.toUpperCase()) {
12017     case 'GOOGLE':
12018       button.innerHTML = googleLoginIcon(theme, customColor);
12019       break;
12020     case 'FACEBOOK':
12021       button.innerHTML = facebookLoginIcon(theme, customColor);
12022       break;
12023     case 'APPLE':
12024       button.innerHTML = appleLoginIcon(theme, customColor);
12025       break;
12026     case 'WHATSAPP':
12027       button.innerHTML = whatsappLoginIcon(theme, customColor);
12028       break;
12029     case 'MICROSOFT':
12030       button.innerHTML = microsoftLoginIcon(theme, customColor);
12031       break;
12032     case 'TWITTER':
12033       button.innerHTML = twitterLoginIcon(theme, customColor);
12034       break;
12035     case 'AMAZON':
12036       button.innerHTML = amazonLoginIcon(theme, customColor);
12037       break;
12038     case 'INSTAGRAM':
12039       button.innerHTML = instagramLoginIcon(theme, customColor);
12040       break;
12041     case 'MAGIC_LINK':
12042       button.innerHTML = magicLinkLoginIcon(theme, customColor);
12043       break;
12044     case 'MOBILE_APP':
12045       button.innerHTML = mobileAppLoginIcon(theme, customColor);
12046       break;
12047     case 'LINKEDIN':
12048       button.innerHTML = linkedinLoginIcon(theme, customColor);
12049       break;
12050   }
12051   
12052   // Add text if format isn't icon-only and buttonText is provided
12053   if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
12054     button.innerHTML += `<p>${buttonText}</p>`;
12055   }
12056   
12057   // Apply styling
12058   // Shadow
12059   if (hasShadow) {
12060     const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
12061     button.style["box-shadow"] = shadowProperties;
12062   }
12063   
12064   // Border radius
12065   const radiusProperties =
12066     style === "rounded"
12067       ? "8px"
12068       : style === "square"
12069       ? "0px"
12070       : style === "fullRounded"
12071       ? format === "wrapperFlexContainerOnlyLogo"
12072         ? "50%"
12073         : "50px"
12074       : undefined;
12075   button.style["border-radius"] = radiusProperties;
12076   
12077   // Size
12078   const sizeProperties =
12079     size === "medium"
12080       ? "12px"
12081       : size === "small"
12082       ? "8px"
12083       : size === "large"
12084       ? "16px"
12085       : "8px";
12086 
12087   button.style["padding-block"] = sizeProperties;
12088 
12089   // Format styling
12090   if (format) {
12091     if (
12092       format === "contentFlexReverse" ||
12093       format === "contentFlexCenterReverse"
12094     ) {
12095       const flexDir = `row-reverse`;
12096       button.style["flex-direction"] = flexDir;
12097     }
12098     
12099     if (
12100       format === "contentFlexCenter" ||
12101       format === "contentFlexCenterReverse"
12102     ) {
12103       const justifyContent = `center`;
12104       button.style["justify-content"] = justifyContent;
12105     } else if (
12106       format === "contentFlex" ||
12107       format === "contentFlexReverse"
12108     ) {
12109       const buttonTextElement = button.querySelector("p");
12110       if (buttonTextElement) {
12111         buttonTextElement.style["flex-grow"] = 1;
12112         buttonTextElement.style["text-align"] = "center";
12113       }
12114     }
12115 
12116     if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
12117       rootRef.style["flex-direction"] = "row";
12118       rootRef.style["gap"] = "8px";
12119       rootRef.style["display"] = "flex";
12120       rootRef.style["flex-wrap"] = "wrap";
12121 
12122       const sizeMapping = {
12123         small: "52px",
12124         medium: "62px",
12125         large: "72px",
12126       };
12127       const buttonSize = sizeMapping[size] || "52px";
12128 
12129       button.style["margin"] = 0;
12130       button.style["width"] = buttonSize;
12131       button.style["height"] = buttonSize;
12132       button.style["display"] = "flex";
12133       button.style["align-items"] = "center";
12134       button.style["justify-content"] = "center";
12135 
12136       const svgElement = button.querySelector("svg");
12137       if (svgElement) {
12138         svgElement.style["flex"] = "none";
12139       }
12140     }
12141   }
12142 
12143   // Color scheme styling
12144   if (colorScheme === "black") {
12145     button.classList.add("scheme-black");
12146   } else if (colorScheme === "white") {
12147     button.classList.add("scheme-white");
12148   } else if (colorScheme === "custom") {
12149     button.style["background-color"] = backgroundColor;
12150     button.style["color"] = textColor;
12151     button.style["border-color"] = outlineColor;
12152 
12153     const darkenColor = (color, percentage) => {
12154       const value = parseInt(color.slice(1), 16);
12155       const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
12156       const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
12157       const b = Math.max(0, (value & 0xff) - (0xff * percentage));
12158       return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
12159     };
12160 
12161     button.addEventListener("mouseover", () => {
12162       button.style["background-color"] = darkenColor(backgroundColor, 0.2);
12163     });
12164     button.addEventListener("mouseout", () => {
12165       button.style["background-color"] = backgroundColor;
12166     });
12167   } else if (colorScheme === "match") {
12168     button.classList.add("scheme-match");
12169   } else if (colorScheme === "matchOutline") {
12170     button.classList.add("scheme-match-outline");
12171   }
12172   
12173   // Add click event listener if host is provided
12174   if (host) {
12175     button.addEventListener("click", () => 
12176       onClickSocialLogin({ provider: provider.toLowerCase(), host })
12177     );
12178   }
12179   
12180   return button;
12181 }
12182 
12183 function setupSocialLoginButtons(config, rootRef, data, host) {
12184   // Clear any existing content
12185   rootRef.innerHTML = '';
12186 
12187   const sortedEnabledProviders = config
12188     .filter(c => c.enabledWeb)
12189     .sort((a, b) => a.position - b.position);
12190 
12191   sortedEnabledProviders.forEach(provider => {
12192     const key = provider.provider;
12193     const lowerKey = key.toLowerCase();
12194 
12195     const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
12196       ? (lowerKey === 'twitter'
12197           ? data.buttonList.twitter.replace('Twitter', 'X')
12198           : data.buttonList[lowerKey])
12199       : null;
12200 
12201     const button = createSocialLoginButton(key, {
12202       theme: data.colorScheme || 'match',
12203       customColor: data.textColor,
12204       format: data.format,
12205       buttonText: buttonText,
12206       hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
12207       style: data.style,
12208       size: data.size,
12209       colorScheme: data.colorScheme,
12210       backgroundColor: data.backgroundColor,
12211       textColor: data.textColor,
12212       outlineColor: data.outlineColor,
12213       rootRef: rootRef,
12214       host: host
12215     });
12216 
12217     rootRef.appendChild(button);
12218   });
12219 
12220   return rootRef;
12221 }
12222 
12223 function updateAppearance({ formRef, rootRef, host }) {
12224   if (!formRef) return;
12225 
12226   const data = bitloginCache.appearance || {
12227     style: "square",
12228     hasShadow: false,
12229     colorScheme: "match",
12230     backgroundColor: "#FFFFFF",
12231     outlineColor: "#000000",
12232     textColor: "#000000",
12233     position: "bottom",
12234     hideDivider: "false",
12235     dividerText: "OR",
12236     size: "small",
12237     format: "contentFlex",
12238     language: "en",
12239     buttonText: "Continue with",
12240     redirectLink: "/account",
12241     googleOneTap: true,
12242     googleOneTapBanner: true,
12243     customerTag: "bitLogin",
12244     redirectOneTapDesktop: null,
12245     redirectOneTapMobile: null,
12246     buttonList: {
12247       google: "Continue with Google",
12248       facebook: "Continue with Facebook",
12249       apple: "Continue with Apple",
12250       whatsapp: "Continue with WhatsApp",
12251       microsoft: "Continue with Microsoft",
12252       twitter: "Continue with X",
12253       amazon: "Continue with Amazon",
12254       instagram: "Continue with Instagram",
12255       magic_link: "Continue with Magic Link",
12256       mobile_app: "Continue with Mobile App",
12257       linkedin: "Continue with LinkedIn",
12258     },
12259   };
12260 
12261   // Use the new setupSocialLoginButtons function to create and configure all buttons
12262   setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
12263 
12264   let divider;
12265 
12266   if (!data.hideDivider) {
12267     divider = document.createElement("div");
12268     const dividerStyle = "text-align:center;margin-block:16px";
12269     divider.setAttribute("style", dividerStyle);
12270     divider.innerHTML = data.dividerText;
12271   }
12272 
12273   if (data.position === "bottom") {
12274     if (divider) {
12275       formRef.appendChild(divider);
12276     }
12277     formRef.appendChild(rootRef);
12278   } else if (data.position === "top") {
12279     if (divider) {
12280       formRef.prepend(divider);
12281     }
12282     formRef.prepend(rootRef);
12283   }
12284 }
12285 
12286 
12287 async function onClickSocialLogin({ provider, host }) {
12288   const rand = Math.random().toString();
12289 
12290   const locationQueryString = bitloginCache.location
12291     ? `&${objectToQueryString(bitloginCache.location)}`
12292     : "";
12293 
12294   const width = 800;
12295   const height = 600;
12296   const left = (window.screen.width / 2) - (width / 2);
12297   const top = (window.screen.height / 2) - (height / 2) - 50;
12298 
12299   if(provider === 'whatsapp') {
12300     window.open(
12301       `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
12302       "mywindow",
12303       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
12304     );
12305   } else {
12306     window.open(
12307       `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
12308       "mywindow",
12309       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
12310     );
12311   }
12312 }
12313 
12314 function objectToQueryString(obj) {
12315   return Object.keys(obj)
12316     .map((key) => {
12317       return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
12318     })
12319     .join("&");
12320 }
12321 
12322 async function getLocation() {
12323   if (locationCacheSet) return;
12324 
12325   try {
12326     const response = await fetch("https://ipapi.co/json/");
12327 
12328     if (!response.ok) {
12329       console.error(`error retrieving location...`, response.status);
12330       errorLocation = true;
12331     } else {
12332       const data = await response.json();
12333 
12334       const { city, region, country_name, country_code } = data;
12335 
12336       const formattedLocationData = {
12337         city,
12338         region,
12339         country_name,
12340         country_code,
12341       };
12342 
12343       bitloginCache.location = formattedLocationData;
12344       locationCacheSet = true;
12345       errorLocation = false;
12346     }
12347   } catch (err) {
12348     console.error(`error fetching location`, err);
12349     errorLocation = true;
12350   }
12351 }
12352 
12353 function post(params) {
12354   // The rest of this code assumes you are not using a library.
12355   // It can be made less verbose if you use one.
12356   const form = document.createElement("form");
12357   form.method = "post";
12358   form.action = `/account/login`;
12359   form.acceptCharset = "UTF-8";
12360   form.setAttribute("data-login-with-shop-sign-in", "true");
12361   form.setAttribute("novalidate", "novalidate");
12362 
12363   for (const key in params) {
12364     if (params.hasOwnProperty(key)) {
12365       const hiddenField = document.createElement("input");
12366       hiddenField.type = "hidden";
12367       hiddenField.name = key;
12368       hiddenField.value = params[key];
12369 
12370       form.appendChild(hiddenField);
12371     }
12372   }
12373 
12374   document.body.appendChild(form);
12375   form.submit();
12376 }
12377 
12378 async function setupOneTap({ host, checkoutUrl }) {
12379   if (oneTapSet) return;
12380 
12381   const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
12382   const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
12383 
12384   const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
12385   const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
12386 
12387   const currentPath = window.location.pathname.toLowerCase();
12388   const currentUrl = window.location.href.toLowerCase();
12389 
12390   const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
12391     switch (value) {
12392       case 'home':
12393         return currentPath === '/';
12394       case 'product':
12395         return currentPath.startsWith('/products/');
12396       case 'collections':
12397         return currentPath.startsWith('/collections');
12398       case 'cart':
12399         return currentPath === '/cart';
12400       case 'checkout':
12401         return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
12402       case 'thank_you':
12403         return currentPath.includes('/thank_you');
12404       case 'account':
12405         return currentPath.startsWith('/account');
12406       case 'pages':
12407         return currentPath.startsWith('/pages');
12408       case 'blogs':
12409         return currentPath === '/blogs' || currentPath === '/blogs/news';
12410       case 'blog_post':
12411         return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
12412       default:
12413         return false;
12414     }
12415   });
12416 
12417   if (shouldHideGoogleOneTap) return;
12418 
12419   const oneTapClientId = bitloginCache.config.find(
12420     (config) => config.provider === "GOOGLE"
12421   )?.clientId;
12422 
12423   const isLoggedIn = false;
12424 
12425   if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
12426     const googleOneTapButton = document.createElement("div");
12427     googleOneTapButton.setAttribute("id", "g_id_onload");
12428     googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
12429     googleOneTapButton.setAttribute("data-context", "signin");
12430     googleOneTapButton.setAttribute(
12431       "data-callback",
12432       "handleGoogleOneTapResponse"
12433     );
12434     googleOneTapButton.setAttribute("data-itp_support", "true");
12435 
12436     const googleOneTapScript = document.createElement("script");
12437 
12438     googleOneTapScript.innerHTML += `
12439           function handleGoogleOneTapResponse(response) {
12440               if (response.credential) {
12441                   const idToken = response.credential;
12442                   fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
12443                       method: 'POST',
12444                       headers: { 'Content-Type': 'application/json' },
12445                       body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
12446                   }).then(response => {
12447                       response.json().then((data) => {
12448                         post(
12449                           JSON.parse(
12450                             JSON.stringify({
12451                               "customer[email]": data.email,
12452                               "customer[password]": data.password,
12453                               form_type: "customer_login",
12454                               utf8: "✓",
12455                               return_url: redirectUrl,
12456                             })
12457                           )
12458                         );
12459                       });  
12460                   }).catch(error => {
12461                       console.error('Error occurred:', error);
12462                   });
12463               } else {
12464                   console.error('No credential available');
12465               }
12466           }
12467        `;
12468 
12469     document.body.append(googleOneTapButton);
12470     document.body.append(googleOneTapScript);
12471   }
12472 
12473   oneTapSet = true;
12474 }
12475 
12476 const googleLoginIcon = (
12477   theme,
12478   customColor
12479 ) => `
12480 ${
12481   theme === "match" || theme === "matchOutline" || theme === "custom"
12482     ? `<svg
12483     xmlns='img/asepnggasihlogoyoweswd.webp'
12484     xmlns:v='https://vecta.io/nano'
12485     width='24'
12486     height='24'
12487     viewBox='0 0 186.69 190.5'
12488   >
12489     <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="${
12490       theme === "custom" ? customColor : "#4285f4"
12491     }"/><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="${
12492         theme === "custom" ? customColor : "#34a853"
12493       }"/><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="${
12494         theme === "custom" ? customColor : "#fbbc05"
12495       }"/><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="${
12496         theme === "custom" ? customColor : "#ea4335"
12497       }" clip-path="none" mask="none"/></g>
12498   </svg>`
12499     : `<svg xmlns="img/asepnggasihlogoyoweswd.webp" width="25" height="25" viewBox="0 0 25 25" fill="none">
12500 <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="${
12501         theme !== "black" ? "black" : "white"
12502       }"/>
12503 <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="${
12504         theme !== "black" ? "black" : "white"
12505       }"/>
12506 <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="${
12507         theme !== "black" ? "black" : "white"
12508       }"/>
12509 <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="${
12510         theme !== "black" ? "black" : "white"
12511       }"/>
12512 </svg>`
12513 }`;
12514 
12515 const appleLoginIcon = (
12516   theme,
12517   customColor
12518 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="img/asepnggasihlogoyoweswd.webp">
12519 <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="${
12520   theme === "custom"
12521     ? customColor
12522     : theme === "match" || theme === "black"
12523     ? "white"
12524     : "black"
12525 }"/>
12526 </svg>`;
12527 
12528 const facebookLoginIcon = (
12529   theme,
12530   customColor
12531 ) => `
12532 ${
12533   theme === "match" || theme === "matchOutline" || theme === "custom"
12534     ? `<svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="25" viewBox="0 0 24 25" fill="none">
12535     <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="${
12536       theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3"
12537     }"/>
12538     <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="${
12539       theme === "match" ? "#1778f2" : "transparent"
12540     }"/>
12541     </svg>`
12542     : `<svg xmlns="img/asepnggasihlogoyoweswd.webp" width="24" height="25" viewB
12542ox="0 0 24 25" fill="none">
12543 <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="${
12544         theme === "black" ? "white" : "black"
12545       }"/>
12546 <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="${
12547         theme === "black" ? "black" : "white"
12548       }"/>
12549 </svg>`
12550 }`;
12551 
12552 const whatsappLoginIcon = (
12553   theme,
12554   customColor
12555 ) => `<svg
12556   viewBox="0 0 24 24"
12557   fill="none"
12558   width="24"
12559   height="25"
12560   xmlns="img/asepnggasihlogoyoweswd.webp"
12561 >
12562   <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
12563   <g
12564     id="SVGRepo_tracerCarrier"
12565     stroke-linecap="round"
12566     stroke-linejoin="round"
12567   ></g>
12568   <g id="SVGRepo_iconCarrier">
12569     <path
12570       fill-rule="evenodd"
12571       clip-rule="evenodd"
12572       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"
12573       fill="${
12574         theme === "match" || theme === "black"
12575           ? "#ffffff"
12576           : theme === "white"
12577           ? "#000000"
12578           : theme === "matchOutline"
12579           ? "#25d366"
12580           : customColor
12581       }"
12582     ></path>
12583   </g>
12584 </svg>`;
12585 
12586 const microsoftLoginIcon = (
12587   theme,
12588   customColor
12589 ) => `<svg
12590 xmlns="img/asepnggasihlogoyoweswd.webp"
12591 width="25"
12592 height="25"
12593 viewBox="0 0 48 48">
12594 <path fill="${
12595   theme === "match" || theme == "matchOutline"
12596     ? "#ff5722"
12597     : theme === "black"
12598     ? "#ffffff"
12599     : theme === "white"
12600     ? "#000000"
12601     : customColor
12602 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
12603 <path
12604   fill="${
12605     theme === "match" || theme == "matchOutline"
12606       ? "#4caf50"
12607       : theme === "black"
12608       ? "#ffffff"
12609       : theme === "white"
12610       ? "#000000"
12611       : customColor
12612   }"
12613   d="M26 6H42V22H26z"
12614   transform="rotate(-180 34 14)"></path>
12615 <path
12616   fill="${
12617     theme === "match" || theme == "matchOutline"
12618       ? "#ffc107"
12619       : theme === "black"
12620       ? "#ffffff"
12621       : theme === "white"
12622       ? "#000000"
12623       : customColor
12624   }"
12625   d="M26 26H42V42H26z"
12626   transform="rotate(-180 34 34)"></path>
12627 <path fill="${
12628   theme === "match" || theme == "matchOutline"
12629     ? "#03a9f4"
12630     : theme === "black"
12631     ? "#ffffff"
12632     : theme === "white"
12633     ? "#000000"
12634     : customColor
12635 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
12636 </svg>`;
12637 
12638 const twitterLoginIcon = (
12639   theme,
12640   customColor
12641 ) => `<svg
12642 xmlns="img/asepnggasihlogoyoweswd.webp"
12643 width="25"
12644 height="25"
12645 viewBox="0 0 48 48">
12646 <polygon fill="${
12647   theme === "match" || theme === "black"
12648     ? "#ffffff"
12649     : theme === "matchOutline" || theme === "white"
12650     ? "#000000"
12651     : customColor
12652 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
12653 <polygon
12654   fill="${
12655     theme === "match" || theme === "black"
12656       ? "#000000"
12657       : theme === "matchOutline" || theme === "white"
12658       ? "#ffffff"
12659       : customColor
12660   }"
12661   fill-rule="evenodd"
12662   points="31.143,41 7.82,7 16.777,7 40.1,41"
12663   clip-rule="evenodd"></polygon>
12664 <path
12665   fill="${
12666     theme === "match" || theme === "black"
12667       ? "#ffffff"
12668       : theme === "matchOutline" || theme === "white"
12669       ? "#000000"
12670       : customColor
12671   }"
12672   d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
12673 </svg>`;
12674 
12675 const amazonLoginIcon = (theme, customColor) => `
12676  <svg
12677       xmlns="img/asepnggasihlogoyoweswd.webp"
12678       x="0px"
12679       y="0px"
12680       width="25"
12681       height="25"
12682       viewBox="0 0 50 50"
12683     >
12684       <path
12685         fill="${
12686           theme === "black"
12687             ? "#ffffff"
12688             : theme === "matchOutline"
12689             ? "#FF9900"
12690             : theme === "white" || theme === "match"
12691             ? "#000000"
12692             : customColor
12693         }"
12694         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"
12695       ></path>
12696     </svg>`;
12697 
12698 const instagramLoginIcon= (theme, customColor) => `
12699     <svg
12700       width="25"
12701       height="25"
12702       viewBox="0 0 25 24"
12703       fill="none"
12704       xmlns="img/asepnggasihlogoyoweswd.webp">
12705       <path
12706         fill-rule="evenodd"
12707         clip-rule="evenodd"
12708         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.
1270864321C8.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"
12709         fill="url(#paint0_radial_378_3535)" />
12710       <path
12711         fill-rule="evenodd"
12712         clip-rule="evenodd"
12713         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"
12714         fill="url(#paint0_radial_378_3535)" />
12715       <path
12716         fill-rule="evenodd"
12717         clip-rule="evenodd"
12718         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.
1271864321C8.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"
12719         fill="url(#paint0_radial_378_3535)" />
12720       <path
12721         fill-rule="evenodd"
12722         clip-rule="evenodd"
12723         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"
12724         fill="url(#paint1_radial_378_3535)" />
12725       <defs>
12726         <radialGradient
12727           id="paint0_radial_378_3535"
12728           cx="0"
12729           cy="0"
12730           r="1"
12731           gradientUnits="userSpaceOnUse"
12732           gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
12733           <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
12734           <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
12735           <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
12736           <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
12737           <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
12738         </radialGradient>
12739         <radialGradient
12740           id="paint1_radial_378_3535"
12741           cx="0"
12742           cy="0"
12743           r="1"
12744           gradientUnits="userSpaceOnUse"
12745           gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
12746           <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
12747           <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
12748           <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
12749           <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
12750         </radialGradient>
12751       </defs>
12752     </svg>`;
12753 
12754 const magicLinkLoginIcon = (theme, customColor) => `
12755   <svg
12756     xmlns="img/asepnggasihlogoyoweswd.webp"
12757     width="25"
12758     height="25"
12759     fill="none"
12760     viewBox="0 0 25 25"
12761   >
12762     <path
12763       fill="${
12764         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
12765       }"
12766       fillRule="evenodd"
12767       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"
12768       clipRule="evenodd"
12769     ></path>
12770   </svg>`;
12771 
12772 const mobileAppLoginIcon = (theme, customColor) => `
12773   <svg
12774     width="20"
12775     height="24"
12776     viewBox="0 0 12 16"
12777     fill="none"
12778     xmlns="img/asepnggasihlogoyoweswd.webp"
12779   >
12780     <path
12781       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"
12782       fill=${
12783         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
12784       }
12785     />
12786   </svg>
12787 `;
12788 
12789 const linkedinLoginIcon = (theme, customColor) => `
12790   <svg
12791     xmlns="img/asepnggasihlogoyoweswd.webp"
12792     width="25"
12793     height="24"
12794     viewBox="0 0 25 24"
12795     fill="none"
12796   >
12797     <path
12798       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"
12799       fill=${
12800         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
12801       }
12802     />
12803   </svg>
12804 `;
12805 
12806 function isElementVisible(element) {
12807   return (
12808     document.body.contains(element) &&
12809     getComputedStyle(element).display !== "none" &&
12810     getComputedStyle(element).visibility !== "hidden" &&
12811     getComputedStyle(element).opacity !== "0" &&
12812     !element.hasAttribute("hidden") &&
12813     !isAncestorHidden(element)
12814   );
12815 }
12816 
12817 function isAncestorHidden(element) {
12818   let parent = element.parentElement;
12819   while (parent) {
12820     if (
12821       getComputedStyle(parent).display === "none" ||
12822       getComputedStyle(parent).visibility === "hidden" ||
12823       getComputedStyle(parent).opacity === "0" ||
12824       parent.hasAttribute("hidden")
12825     ) {
12826       return true;
12827     }
12828     parent = parent.parentElement;
12829   }
12830   return false;
12831 }
12832 
12833 function showAlert(message) {
12834   const alertBox = document.createElement("div");
12835   alertBox.textContent = message;
12836   alertBox.style.position = "fixed";
12837   alertBox.style.top = "20px";
12838   alertBox.style.right = "-300px"; // Start off-screen
12839   alertBox.style.backgroundColor = "#000000"; // Black background
12840   alertBox.style.color = "#ffffff"; // White text
12841   alertBox.style.padding = "15px";
12842   alertBox.style.borderRadius = "8px";
12843   alertBox.style.zIndex = "1000";
12844   alertBox.style.transition =
12845     "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading
12846   alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth
12847 
12848   document.body.appendChild(alertBox);
12849 
12850   // Slide in
12851   requestAnimationFrame(() => {
12852     alertBox.style.right = "20px"; // Move into view
12853     alertBox.style.opacity = "1"; // Ensure opacity is set to 1
12854   });
12855 
12856   // Slide out and remove the alert after a few seconds
12857   setTimeout(() => {
12858     alertBox.style.opacity = "0"; // Fade out
12859     alertBox.style.right = "-300px"; // Move out of view
12860 
12861     // Wait for the transition to finish before removing the element
12862     setTimeout(() => {
12863       document.body.removeChild(alertBox);
12864     }, 500); // Match this duration with the exit transition duration
12865   }, 3000);
12866 }
12867 </script>
12867
12868 
12869 <style>
12870     .daftarku-fixed-footer {
12871             display: flex;
12872             justify-content: space-around;
12873             position: fixed;
12874             background: linear-gradient(to bottom, #075ad6 0%, #0431c6, #002eac 100%);
12875             box-shadow: 0 0 12px #ffbf00;
12876             outline: none;
12877             padding: 5px 0;
12878             box-shadow: 0 0 0 0 2px 2px #198f01;
12879             left: 0;
12880             right: 0;
12881             bottom: 0;
12882             z-index: 99;
12883             border-radius: 40px 40px 0px 0px;
12884             border-style:dashed;
12885             
12886         }
12887 
12888         .daftarku-fixed-footer a {
12889             flex-basis: calc((100% - 15px*6)/ 5);
12890             text-decoration: none;
12891             display: flex;
12892             flex-direction: column;
12893             justify-content: center;
12894             align-items: center;
12895             color: #fff;
12896             max-width: 75px;
12897             font-size: 12px;
12898             font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
12899         }
12900 
12901         .daftarku-fixed-footer a:hover {
12902             font-weight: bold;
12903         }
12904 
12905         .daftarku-fixed-footer .center {
12906             transform: scale(1.5) translateY(-5px);
12907             background: center no-repeat;
12908             background-size: contain;
12909             background-color: inherit;
12910             border-radius: 50%;
12911         }
12912 
12913         .daftarku-fixed-footer img {
12914             max-width: 20px;
12915             margin-bottom: 0;
12916             max-height: 20px;
12917         }
12918 </style>
12919     
12920     <div class="daftarku-fixed-footer">
12921     <a href="https://said.newjerseyjiujitsu.com/" rel="nofollow noopener" target="_blank">
12922         <img layout="intrinsic" height="20px" width="20px" src="img/asepnggasihiconyoweswd.webp" alt="PROMOSI">
12923         PROMO
12924     </a>
12925     <a href="hhttps://said.newjerseyjiujitsu.com/" rel="nofollow noopener" target="_blank">
12926         <img layout="intrinsic" height="20px" width="20px" src="img/asepnggasihiconyoweswd.webp" alt="LOGIN">
12927         LOGIN
12928     </a>
12929     <a href="https://said.newjerseyjiujitsu.com/" rel="nofollow noopener" target="_blank" class="tada">
12930         <img layout="intrinsic" height="20px" width="20px" src="img/asepnggasihiconyoweswd.webp" alt="DAFTAR">
12931         DAFTAR
12932     </a>
12933     <a href="https://said.newjerseyjiujitsu.com/" rel="nofollow noopener" target="_blank">
12934         <img layout="intrinsic" height="20px" width="20px" src="img/asepnggasihiconyoweswd.webp" alt="WHATSAPP">
12935         WHATSAPP
12936     </a>
12937     <a href="https://said.newjerseyjiujitsu.com/" rel="nofollow noopener" target="_blank"
12938         class="js_live_chat_link live-chat-link">
12939         <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px" src="img/asepnggasihiconyoweswd.webp" alt="Live Chat">
12940         Live Chat
12941     </a>
12942 </div>
12943 </div>
12944
12945
12946 
12947      
12948 
12948<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"1496c6c168314d5ba25fec5ffebcba92","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
12948
12949 
12949<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"35c0090c7d544a5ebd6cb76e1773c81a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12949
12949
12950<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"276768321f134ec5a0581a2bbb719892","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12950
12950
12951<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"91480f037f964eddbd40f079dc51bf94","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12951
12951
12952<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"75e2a5a381c14c4091aa1858d1af0b07","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12952
12952
12953<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"bd5a85375a814d78a8e6cd392b250ce6","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12953
12953
12954<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"a4aefd443543430f8798f8c29912cef0","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12954
12954
12955<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"a4aefd443543430f8798f8c29912cef0","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12955
12955
12956<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"a4aefd443543430f8798f8c29912cef0","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12956
12956
12957<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"rayId":"9a38fdd2a8a9fd8c","version":"2025.9.1","r":1,"token":"a4aefd443543430f8798f8c29912cef0","serverTiming":{"name":{"cfExtPri":true,"cfEdge":true,"cfOrigin":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12957
12957
12958<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"27e31e63db8b4eda8f3788a1b3053137","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12958
12958
12959<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"27e31e63db8b4eda8f3788a1b3053137","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12959
12959
12960<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"27e31e63db8b4eda8f3788a1b3053137","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12960
12960
12961<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"27e31e63db8b4eda8f3788a1b3053137","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12961
12961
12962<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"595abfd51c3d41918d00bbf72ddc8258","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12962
12962
12963<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"595abfd51c3d41918d00bbf72ddc8258","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12963
12963
12964<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"595abfd51c3d41918d00bbf72ddc8258","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12964
12964
12965<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"595abfd51c3d41918d00bbf72ddc8258","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12965
12965
12966<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"595abfd51c3d41918d00bbf72ddc8258","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12966
12966
12967<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"595abfd51c3d41918d00bbf72ddc8258","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12967
12967
12968<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"595abfd51c3d41918d00bbf72ddc8258","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12968
12968
12969<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"595abfd51c3d41918d00bbf72ddc8258","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12969
12969
12970<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"595abfd51c3d41918d00bbf72ddc8258","r":1}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12970
12970
12971<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"595abfd51c3d41918d00bbf72ddc8258","r":1}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12971
12971
12972<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":"36518ec9b78042f8a2809b967e6ef742","r":1,"spa":2}' crossorigin="anonymous"></script>
12972
12973</body>
12974 </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.